From 485633d811fa1ddae84e7367a694ae6604f73557 Mon Sep 17 00:00:00 2001 From: Thomas Sojka Date: Fri, 23 Sep 2022 18:14:03 +0200 Subject: [PATCH] Switch to shadow-cljs --- .github/workflows/main.yml | 12 +- .gitignore | 4 + deps.edn | 11 - dev.cljs.edn | 2 - package-lock.json | 4879 ++++++++++++++++- package.json | 8 +- .../public => public}/data/faust_kurz.txt | 0 .../data/pride_and_prejudice.txt | 0 .../public => public}/fonts/miso-bold.ttf | Bin {resources/public => public}/images/00.svg | 0 {resources/public => public}/images/01.svg | 0 {resources/public => public}/images/02.svg | 0 {resources/public => public}/images/03.svg | 0 {resources/public => public}/images/04.svg | 0 {resources/public => public}/images/05.svg | 0 {resources/public => public}/images/06.svg | 0 {resources/public => public}/images/07.svg | 0 {resources/public => public}/images/08.svg | 0 {resources/public => public}/images/09.svg | 0 {resources/public => public}/images/10.svg | 0 {resources/public => public}/images/11.svg | 0 {resources/public => public}/images/12.svg | 0 {resources/public => public}/images/13.svg | 0 {resources/public => public}/images/14.svg | 0 {resources/public => public}/images/15.svg | 0 {resources/public => public}/images/comma.svg | 0 .../images/dynamic-brush.svg | 0 {resources/public => public}/images/emacs.png | Bin .../images/exclamationmark.svg | 0 {resources/public => public}/images/fcb.jpg | Bin .../public => public}/images/period.svg | 0 .../public => public}/images/questionmark.svg | 0 .../public => public}/images/return.svg | 0 {resources/public => public}/images/shape.jpg | Bin {resources/public => public}/images/sojka.jpg | Bin {resources/public => public}/images/space.svg | 0 .../public => public}/images/space2.svg | 0 .../images/texture-white.png | Bin .../public => public}/images/texture.png | Bin {resources/public => public}/index.html | 2 +- public/js/main.js | 1856 +++++++ public/js/manifest.edn | 1 + shadow-cljs.edn | 20 + src/sketches/core.clj | 2 - .../generative_desgin/P_03/P_3_1_4_01.cljs | 6 +- .../physics_library/box_shapes.cljs | 5 +- .../physics_library/circular_shapes.cljs | 7 +- .../physics_library/matter.cljs | 21 +- src/sketches/rac_sketches/core.cljs | 5 +- src/sketches/rac_sketches/text_snake.cljs | 3 + webpack.config.js | 6 - 51 files changed, 6624 insertions(+), 226 deletions(-) delete mode 100644 deps.edn delete mode 100644 dev.cljs.edn rename {resources/public => public}/data/faust_kurz.txt (100%) rename {resources/public => public}/data/pride_and_prejudice.txt (100%) rename {resources/public => public}/fonts/miso-bold.ttf (100%) rename {resources/public => public}/images/00.svg (100%) rename {resources/public => public}/images/01.svg (100%) rename {resources/public => public}/images/02.svg (100%) rename {resources/public => public}/images/03.svg (100%) rename {resources/public => public}/images/04.svg (100%) rename {resources/public => public}/images/05.svg (100%) rename {resources/public => public}/images/06.svg (100%) rename {resources/public => public}/images/07.svg (100%) rename {resources/public => public}/images/08.svg (100%) rename {resources/public => public}/images/09.svg (100%) rename {resources/public => public}/images/10.svg (100%) rename {resources/public => public}/images/11.svg (100%) rename {resources/public => public}/images/12.svg (100%) rename {resources/public => public}/images/13.svg (100%) rename {resources/public => public}/images/14.svg (100%) rename {resources/public => public}/images/15.svg (100%) rename {resources/public => public}/images/comma.svg (100%) rename {resources/public => public}/images/dynamic-brush.svg (100%) rename {resources/public => public}/images/emacs.png (100%) rename {resources/public => public}/images/exclamationmark.svg (100%) rename {resources/public => public}/images/fcb.jpg (100%) rename {resources/public => public}/images/period.svg (100%) rename {resources/public => public}/images/questionmark.svg (100%) rename {resources/public => public}/images/return.svg (100%) rename {resources/public => public}/images/shape.jpg (100%) rename {resources/public => public}/images/sojka.jpg (100%) rename {resources/public => public}/images/space.svg (100%) rename {resources/public => public}/images/space2.svg (100%) rename {resources/public => public}/images/texture-white.png (100%) rename {resources/public => public}/images/texture.png (100%) rename {resources/public => public}/index.html (97%) create mode 100644 public/js/main.js create mode 100644 public/js/manifest.edn create mode 100644 shadow-cljs.edn create mode 100644 src/sketches/rac_sketches/text_snake.cljs delete mode 100644 webpack.config.js diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6824316..3a02a6e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,7 +6,7 @@ jobs: build: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v1 - name: Clojure install @@ -18,14 +18,10 @@ jobs: uses: actions/setup-node@v1 - name: npm install run: npm install - - name: Build js - run: npx webpack - - name: Build - run: | - clojure -m figwheel.main -O advanced -bo dev - cp -r resources/public/* target/public/ + - name: Build JS + run: npx shadow-cljs release app - name: Deploy uses: maxheld83/ghpages@v0.2.1 env: GH_PAT: ${{ secrets.GH_PAT }} - BUILD_DIR: "target/public" + BUILD_DIR: "public" diff --git a/.gitignore b/.gitignore index 6fb6d9b..355a85c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ target/ node_modules/ dist/ +/.clj-kondo/ +/.lsp/ +/.shadow-cljs/ +/public/js/cljs-runtime diff --git a/deps.edn b/deps.edn deleted file mode 100644 index 7a97257..0000000 --- a/deps.edn +++ /dev/null @@ -1,11 +0,0 @@ -{:deps {com.bhauman/figwheel-main {:mvn/version "0.2.3"} - reagent {:mvn/version "0.10.0"} - quil {:mvn/version "3.1.0" - :exclusions [com.lowagie/itext]} - binaryage/oops {:mvn/version "0.7.0"} - rollacaster/clj-axidraw {:git/url "https://github.com/rollacaster/clj-axidraw" - :sha "e31824cf8def9dd01d9b3aa5a5f2e5eddf70f900"} - thi.ng/geom {:mvn/version "1.0.0-RC4"} - thi.ng/math {:mvn/version "0.3.0"} - thi.ng/color {:mvn/version "1.4.0"}} - :paths ["src" "target" "resources"]} diff --git a/dev.cljs.edn b/dev.cljs.edn deleted file mode 100644 index 2a5f989..0000000 --- a/dev.cljs.edn +++ /dev/null @@ -1,2 +0,0 @@ -^{:npm {:bundles {"dist/index.bundle.js" "src/js/index.js"}}} -{:main sketches.core} diff --git a/package-lock.json b/package-lock.json index 9e01a87..384fba7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,4557 @@ { "name": "sketches", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "sketches", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "bezier-easing": "^2.1.0", + "matter-js": "^0.14.2", + "nice-color-palettes": "^3.0.0", + "p5": "^1.4.2", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "react": "^18.2.0", + "shadow-cljs": "^2.20.2", + "webpack": "^4.39.3", + "webpack-cli": "^3.3.12" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "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.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "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/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": 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/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/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY=" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "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": "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/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/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.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/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "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/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "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/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/chalk/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/chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/chokidar/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, + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/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, + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/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, + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/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, + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "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/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "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/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/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/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "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/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/defer-to-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", + "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + }, + "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/des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "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/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "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/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "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/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-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "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/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/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "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/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/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "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.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.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-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "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/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.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-modules/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "dev": true + }, + "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-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/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/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "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/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "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-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-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-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": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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": "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/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/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/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": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "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/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.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/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "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-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "dependencies": { + "once": "~1.3.0" + } + }, + "node_modules/map-limit/node_modules/once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dependencies": { + "wrappy": "1" + } + }, + "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/matter-js": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.14.2.tgz", + "integrity": "sha512-3ttVT8cJlQnGRjBa8MyVrGyvGmnmOkZ3YsyemIw+KwEEdVi70mo32FH1Eta2b3GfdDJFbMDRqyMQt4heNKBUEA==" + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "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/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "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==" + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "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/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "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/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": 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/neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "node_modules/new-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/new-array/-/new-array-1.0.0.tgz", + "integrity": "sha1-XbxjnZYerH8an7wacUbsEvKST78=" + }, + "node_modules/nice-color-palettes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/nice-color-palettes/-/nice-color-palettes-3.0.0.tgz", + "integrity": "sha512-lL4AjabAAFi313tjrtmgm/bxCRzp4l3vCshojfV/ij3IPdtnRqv6Chcw+SqJUhbe7g3o3BecaqCJYUNLswGBhQ==", + "dependencies": { + "got": "^9.2.2", + "map-limit": "0.0.1", + "minimist": "^1.2.0", + "new-array": "^1.0.0" + }, + "bin": { + "nice-color-palettes": "bin/index.js" + } + }, + "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-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "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, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", + "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-J5zqZ/l1NIbJSuNr/FH9nDYgBRg7/NubStNPnx1fQCMSAgxI6peKDHs9i5iaG9EuwbJzjuG6/5bX/D0lqqrP9A==" + }, + "node_modules/pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "optional": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "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/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readline-sync": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", + "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/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, + "optional": 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/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir/node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "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/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "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": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "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/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "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/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shadow-cljs": { + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.2.tgz", + "integrity": "sha512-2kzWnV1QM6KBetziCAkCf8BJdnDX2CwiAr4yhvOsiQpaNJcMzwMsJTX/gTHz58yQg0dV5uwPsIyBlvyIfl30rg==", + "dev": true, + "dependencies": { + "node-libs-browser": "^2.2.1", + "readline-sync": "^1.4.7", + "shadow-cljs-jar": "1.3.2", + "source-map-support": "^0.4.15", + "which": "^1.3.1", + "ws": "^7.4.6" + }, + "bin": { + "shadow-cljs": "cli/runner.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/shadow-cljs-jar": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz", + "integrity": "sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==", + "dev": true + }, + "node_modules/shadow-cljs/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.1", + "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-support/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-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "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/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "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/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/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/terser/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/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "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-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "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": "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/tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "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/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "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/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "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/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "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/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "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/vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/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, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/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, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack": { + "version": "4.39.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.3.tgz", + "integrity": "sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-cli": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "4.x.x" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/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/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/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "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/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.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": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + }, "dependencies": { "@sindresorhus/is": { "version": "0.14.0", @@ -227,18 +4776,20 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "dev": true, + "requires": {} }, "ajv-keywords": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true + "dev": true, + "requires": {} }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "ansi-styles": { @@ -1015,7 +5566,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decode-uri-component": { @@ -1158,9 +5709,9 @@ "dev": true }, "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "end-of-stream": { @@ -1172,14 +5723,26 @@ } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } } }, "errno": { @@ -1238,21 +5801,6 @@ "safe-buffer": "^5.1.1" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "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" - } - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1772,15 +6320,9 @@ "dev": true }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "is-accessor-descriptor": { @@ -1873,7 +6415,7 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "is-glob": { @@ -1914,12 +6456,6 @@ "isobject": "^3.0.1" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -1950,6 +6486,11 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", @@ -1990,15 +6531,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -2006,13 +6538,13 @@ "dev": true }, "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { "big.js": "^5.2.2", - "emojis-list": "^2.0.0", + "emojis-list": "^3.0.0", "json5": "^1.0.1" } }, @@ -2026,6 +6558,14 @@ "path-exists": "^3.0.0" } }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -2056,15 +6596,6 @@ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", "dev": true }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -2114,17 +6645,6 @@ "safe-buffer": "^5.1.2" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -2166,12 +6686,6 @@ "brorand": "^1.0.1" } }, - "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 - }, "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -2376,15 +6890,6 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==" }, - "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, - "requires": { - "path-key": "^2.0.0" - } - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2454,40 +6959,11 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -2512,6 +6988,11 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "p5": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.2.tgz", + "integrity": "sha512-J5zqZ/l1NIbJSuNr/FH9nDYgBRg7/NubStNPnx1fQCMSAgxI6peKDHs9i5iaG9EuwbJzjuG6/5bX/D0lqqrP9A==" + }, "pako": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", @@ -2583,7 +7064,7 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true }, "pbkdf2": { @@ -2739,6 +7220,23 @@ "safe-buffer": "^5.1.0" } }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", @@ -2764,6 +7262,12 @@ "picomatch": "^2.2.1" } }, + "readline-sync": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", + "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", + "dev": true + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -2796,7 +7300,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { @@ -2906,6 +7410,14 @@ "ret": "~0.1.10" } }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -2935,7 +7447,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "set-value": { @@ -2977,10 +7489,41 @@ "safe-buffer": "^5.0.1" } }, + "shadow-cljs": { + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.2.tgz", + "integrity": "sha512-2kzWnV1QM6KBetziCAkCf8BJdnDX2CwiAr4yhvOsiQpaNJcMzwMsJTX/gTHz58yQg0dV5uwPsIyBlvyIfl30rg==", + "dev": true, + "requires": { + "node-libs-browser": "^2.2.1", + "readline-sync": "^1.4.7", + "shadow-cljs-jar": "1.3.2", + "source-map-support": "^0.4.15", + "which": "^1.3.1", + "ws": "^7.4.6" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "shadow-cljs-jar": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz", + "integrity": "sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -2989,13 +7532,7 @@ "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 - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true }, "snapdragon": { @@ -3232,6 +7769,15 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -3243,15 +7789,6 @@ "strip-ansi": "^5.1.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -3261,12 +7798,6 @@ "ansi-regex": "^4.1.0" } }, - "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 - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -3564,9 +8095,9 @@ "dev": true }, "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "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 }, "vm-browserify": { @@ -3738,22 +8269,22 @@ } }, "webpack-cli": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", - "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", + "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", "dev": true, "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.1", + "findup-sync": "^3.0.0", + "global-modules": "^2.0.0", + "import-local": "^2.0.0", + "interpret": "^1.4.0", + "loader-utils": "^1.4.0", + "supports-color": "^6.1.0", + "v8-compile-cache": "^2.1.1", + "yargs": "^13.3.2" } }, "webpack-sources": { @@ -3786,7 +8317,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, "worker-farm": { @@ -3814,6 +8345,13 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -3833,22 +8371,21 @@ "dev": true }, "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "yargs-parser": "^13.1.2" } }, "yargs-parser": { diff --git a/package.json b/package.json index af88d00..0272965 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,14 @@ "dependencies": { "bezier-easing": "^2.1.0", "matter-js": "^0.14.2", - "nice-color-palettes": "^3.0.0" + "nice-color-palettes": "^3.0.0", + "p5": "^1.4.2", + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "devDependencies": { + "shadow-cljs": "^2.20.2", "webpack": "^4.39.3", - "webpack-cli": "^3.3.11" + "webpack-cli": "^3.3.12" } } diff --git a/resources/public/data/faust_kurz.txt b/public/data/faust_kurz.txt similarity index 100% rename from resources/public/data/faust_kurz.txt rename to public/data/faust_kurz.txt diff --git a/resources/public/data/pride_and_prejudice.txt b/public/data/pride_and_prejudice.txt similarity index 100% rename from resources/public/data/pride_and_prejudice.txt rename to public/data/pride_and_prejudice.txt diff --git a/resources/public/fonts/miso-bold.ttf b/public/fonts/miso-bold.ttf similarity index 100% rename from resources/public/fonts/miso-bold.ttf rename to public/fonts/miso-bold.ttf diff --git a/resources/public/images/00.svg b/public/images/00.svg similarity index 100% rename from resources/public/images/00.svg rename to public/images/00.svg diff --git a/resources/public/images/01.svg b/public/images/01.svg similarity index 100% rename from resources/public/images/01.svg rename to public/images/01.svg diff --git a/resources/public/images/02.svg b/public/images/02.svg similarity index 100% rename from resources/public/images/02.svg rename to public/images/02.svg diff --git a/resources/public/images/03.svg b/public/images/03.svg similarity index 100% rename from resources/public/images/03.svg rename to public/images/03.svg diff --git a/resources/public/images/04.svg b/public/images/04.svg similarity index 100% rename from resources/public/images/04.svg rename to public/images/04.svg diff --git a/resources/public/images/05.svg b/public/images/05.svg similarity index 100% rename from resources/public/images/05.svg rename to public/images/05.svg diff --git a/resources/public/images/06.svg b/public/images/06.svg similarity index 100% rename from resources/public/images/06.svg rename to public/images/06.svg diff --git a/resources/public/images/07.svg b/public/images/07.svg similarity index 100% rename from resources/public/images/07.svg rename to public/images/07.svg diff --git a/resources/public/images/08.svg b/public/images/08.svg similarity index 100% rename from resources/public/images/08.svg rename to public/images/08.svg diff --git a/resources/public/images/09.svg b/public/images/09.svg similarity index 100% rename from resources/public/images/09.svg rename to public/images/09.svg diff --git a/resources/public/images/10.svg b/public/images/10.svg similarity index 100% rename from resources/public/images/10.svg rename to public/images/10.svg diff --git a/resources/public/images/11.svg b/public/images/11.svg similarity index 100% rename from resources/public/images/11.svg rename to public/images/11.svg diff --git a/resources/public/images/12.svg b/public/images/12.svg similarity index 100% rename from resources/public/images/12.svg rename to public/images/12.svg diff --git a/resources/public/images/13.svg b/public/images/13.svg similarity index 100% rename from resources/public/images/13.svg rename to public/images/13.svg diff --git a/resources/public/images/14.svg b/public/images/14.svg similarity index 100% rename from resources/public/images/14.svg rename to public/images/14.svg diff --git a/resources/public/images/15.svg b/public/images/15.svg similarity index 100% rename from resources/public/images/15.svg rename to public/images/15.svg diff --git a/resources/public/images/comma.svg b/public/images/comma.svg similarity index 100% rename from resources/public/images/comma.svg rename to public/images/comma.svg diff --git a/resources/public/images/dynamic-brush.svg b/public/images/dynamic-brush.svg similarity index 100% rename from resources/public/images/dynamic-brush.svg rename to public/images/dynamic-brush.svg diff --git a/resources/public/images/emacs.png b/public/images/emacs.png similarity index 100% rename from resources/public/images/emacs.png rename to public/images/emacs.png diff --git a/resources/public/images/exclamationmark.svg b/public/images/exclamationmark.svg similarity index 100% rename from resources/public/images/exclamationmark.svg rename to public/images/exclamationmark.svg diff --git a/resources/public/images/fcb.jpg b/public/images/fcb.jpg similarity index 100% rename from resources/public/images/fcb.jpg rename to public/images/fcb.jpg diff --git a/resources/public/images/period.svg b/public/images/period.svg similarity index 100% rename from resources/public/images/period.svg rename to public/images/period.svg diff --git a/resources/public/images/questionmark.svg b/public/images/questionmark.svg similarity index 100% rename from resources/public/images/questionmark.svg rename to public/images/questionmark.svg diff --git a/resources/public/images/return.svg b/public/images/return.svg similarity index 100% rename from resources/public/images/return.svg rename to public/images/return.svg diff --git a/resources/public/images/shape.jpg b/public/images/shape.jpg similarity index 100% rename from resources/public/images/shape.jpg rename to public/images/shape.jpg diff --git a/resources/public/images/sojka.jpg b/public/images/sojka.jpg similarity index 100% rename from resources/public/images/sojka.jpg rename to public/images/sojka.jpg diff --git a/resources/public/images/space.svg b/public/images/space.svg similarity index 100% rename from resources/public/images/space.svg rename to public/images/space.svg diff --git a/resources/public/images/space2.svg b/public/images/space2.svg similarity index 100% rename from resources/public/images/space2.svg rename to public/images/space2.svg diff --git a/resources/public/images/texture-white.png b/public/images/texture-white.png similarity index 100% rename from resources/public/images/texture-white.png rename to public/images/texture-white.png diff --git a/resources/public/images/texture.png b/public/images/texture.png similarity index 100% rename from resources/public/images/texture.png rename to public/images/texture.png diff --git a/resources/public/index.html b/public/index.html similarity index 97% rename from resources/public/index.html rename to public/index.html index 9a706ed..918f0e8 100644 --- a/resources/public/index.html +++ b/public/index.html @@ -90,6 +90,6 @@ async src="https://cdn.jsdelivr.net/gh/generative-design/Code-Package-p5.js@master/libraries/gg-dep-bundle/gg-dep-bundle.js" > - + diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..f5268f2 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,1856 @@ +var shadow$provide = {}; +var CLOSURE_NO_DEPS = true; +var CLOSURE_BASE_PATH = '/js/cljs-runtime/'; +var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":false,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"65aab3c4-373c-44da-8f3d-485d87c4170a","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9632,"shadow.cljs.devtools.client.env.server_token":"a0d9ea75-015c-4b11-b9be-04380a4f8a9e","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"app","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"}; +var COMPILED = false; +var goog = goog || {}; +goog.global = this || self; +goog.global.CLOSURE_UNCOMPILED_DEFINES; +goog.global.CLOSURE_DEFINES; +goog.exportPath_ = function(name, object, overwriteImplicit, objectToExportTo) { + var parts = name.split("."); + var cur = objectToExportTo || goog.global; + if (!(parts[0] in cur) && typeof cur.execScript != "undefined") { + cur.execScript("var " + parts[0]); + } + for (var part; parts.length && (part = parts.shift());) { + if (!parts.length && object !== undefined) { + if (!overwriteImplicit && goog.isObject(object) && goog.isObject(cur[part])) { + for (var prop in object) { + if (object.hasOwnProperty(prop)) { + cur[part][prop] = object[prop]; + } + } + } else { + cur[part] = object; + } + } else if (cur[part] && cur[part] !== Object.prototype[part]) { + cur = cur[part]; + } else { + cur = cur[part] = {}; + } + } +}; +goog.define = function(name, defaultValue) { + var value = defaultValue; + if (!COMPILED) { + var uncompiledDefines = goog.global.CLOSURE_UNCOMPILED_DEFINES; + var defines = goog.global.CLOSURE_DEFINES; + if (uncompiledDefines && uncompiledDefines.nodeType === undefined && Object.prototype.hasOwnProperty.call(uncompiledDefines, name)) { + value = uncompiledDefines[name]; + } else if (defines && defines.nodeType === undefined && Object.prototype.hasOwnProperty.call(defines, name)) { + value = defines[name]; + } + } + return value; +}; +goog.FEATURESET_YEAR = goog.define("goog.FEATURESET_YEAR", 2012); +goog.DEBUG = goog.define("goog.DEBUG", true); +goog.LOCALE = goog.define("goog.LOCALE", "en"); +goog.getLocale = function() { + return goog.LOCALE; +}; +goog.TRUSTED_SITE = goog.define("goog.TRUSTED_SITE", true); +goog.DISALLOW_TEST_ONLY_CODE = goog.define("goog.DISALLOW_TEST_ONLY_CODE", COMPILED && !goog.DEBUG); +goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = goog.define("goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING", false); +goog.provide = function(name) { + if (goog.isInModuleLoader_()) { + throw new Error("goog.provide cannot be used within a module."); + } + if (!COMPILED) { + if (goog.isProvided_(name)) { + throw new Error('Namespace "' + name + '" already declared.'); + } + } + goog.constructNamespace_(name); +}; +goog.constructNamespace_ = function(name, object, overwriteImplicit) { + if (!COMPILED) { + delete goog.implicitNamespaces_[name]; + var namespace = name; + while (namespace = namespace.substring(0, namespace.lastIndexOf("."))) { + if (goog.getObjectByName(namespace)) { + break; + } + goog.implicitNamespaces_[namespace] = true; + } + } + goog.exportPath_(name, object, overwriteImplicit); +}; +goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/; +goog.getScriptNonce_ = function(opt_window) { + var doc = (opt_window || goog.global).document; + var script = doc.querySelector && doc.querySelector("script[nonce]"); + if (script) { + var nonce = script["nonce"] || script.getAttribute("nonce"); + if (nonce && goog.NONCE_PATTERN_.test(nonce)) { + return nonce; + } + } + return ""; +}; +goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; +goog.module = function(name) { + if (typeof name !== "string" || !name || name.search(goog.VALID_MODULE_RE_) == -1) { + throw new Error("Invalid module identifier"); + } + if (!goog.isInGoogModuleLoader_()) { + throw new Error("Module " + name + " has been loaded incorrectly. Note, " + "modules cannot be loaded as normal scripts. They require some kind of " + "pre-processing step. You're likely trying to load a module via a " + "script tag or as a part of a concatenated bundle without rewriting the " + "module. For more info see: " + "https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."); + } + if (goog.moduleLoaderState_.moduleName) { + throw new Error("goog.module may only be called once per module."); + } + goog.moduleLoaderState_.moduleName = name; + if (!COMPILED) { + if (goog.isProvided_(name)) { + throw new Error('Namespace "' + name + '" already declared.'); + } + delete goog.implicitNamespaces_[name]; + } +}; +goog.module.get = function(name) { + return goog.module.getInternal_(name); +}; +goog.module.getInternal_ = function(name) { + if (!COMPILED) { + if (name in goog.loadedModules_) { + return goog.loadedModules_[name].exports; + } else if (!goog.implicitNamespaces_[name]) { + var ns = goog.getObjectByName(name); + return ns != null ? ns : null; + } + } + return null; +}; +goog.ModuleType = {ES6:"es6", GOOG:"goog"}; +goog.moduleLoaderState_ = null; +goog.isInModuleLoader_ = function() { + return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_(); +}; +goog.isInGoogModuleLoader_ = function() { + return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG; +}; +goog.isInEs6ModuleLoader_ = function() { + var inLoader = !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6; + if (inLoader) { + return true; + } + var jscomp = goog.global["$jscomp"]; + if (jscomp) { + if (typeof jscomp.getCurrentModulePath != "function") { + return false; + } + return !!jscomp.getCurrentModulePath(); + } + return false; +}; +goog.module.declareLegacyNamespace = function() { + if (!COMPILED && !goog.isInGoogModuleLoader_()) { + throw new Error("goog.module.declareLegacyNamespace must be called from " + "within a goog.module"); + } + if (!COMPILED && !goog.moduleLoaderState_.moduleName) { + throw new Error("goog.module must be called prior to " + "goog.module.declareLegacyNamespace."); + } + goog.moduleLoaderState_.declareLegacyNamespace = true; +}; +goog.declareModuleId = function(namespace) { + if (!COMPILED) { + if (!goog.isInEs6ModuleLoader_()) { + throw new Error("goog.declareModuleId may only be called from " + "within an ES6 module"); + } + if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) { + throw new Error("goog.declareModuleId may only be called once per module."); + } + if (namespace in goog.loadedModules_) { + throw new Error('Module with namespace "' + namespace + '" already exists.'); + } + } + if (goog.moduleLoaderState_) { + goog.moduleLoaderState_.moduleName = namespace; + } else { + var jscomp = goog.global["$jscomp"]; + if (!jscomp || typeof jscomp.getCurrentModulePath != "function") { + throw new Error('Module with namespace "' + namespace + '" has been loaded incorrectly.'); + } + var exports = jscomp.require(jscomp.getCurrentModulePath()); + goog.loadedModules_[namespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:namespace}; + } +}; +goog.setTestOnly = function(opt_message) { + if (goog.DISALLOW_TEST_ONLY_CODE) { + opt_message = opt_message || ""; + throw new Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : ".")); + } +}; +goog.forwardDeclare = function(name) { +}; +goog.forwardDeclare("Document"); +goog.forwardDeclare("HTMLScriptElement"); +goog.forwardDeclare("XMLHttpRequest"); +if (!COMPILED) { + goog.isProvided_ = function(name) { + return name in goog.loadedModules_ || !goog.implicitNamespaces_[name] && goog.getObjectByName(name) != null; + }; + goog.implicitNamespaces_ = {"goog.module":true}; +} +goog.getObjectByName = function(name, opt_obj) { + var parts = name.split("."); + var cur = opt_obj || goog.global; + for (var i = 0; i < parts.length; i++) { + cur = cur[parts[i]]; + if (cur == null) { + return null; + } + } + return cur; +}; +goog.addDependency = function(relPath, provides, requires, opt_loadFlags) { + if (!COMPILED && goog.DEPENDENCIES_ENABLED) { + goog.debugLoader_.addDependency(relPath, provides, requires, opt_loadFlags); + } +}; +goog.ENABLE_DEBUG_LOADER = goog.define("goog.ENABLE_DEBUG_LOADER", true); +goog.logToConsole_ = function(msg) { + if (goog.global.console) { + goog.global.console["error"](msg); + } +}; +goog.require = function(namespace) { + if (!COMPILED) { + if (goog.ENABLE_DEBUG_LOADER) { + goog.debugLoader_.requested(namespace); + } + if (goog.isProvided_(namespace)) { + if (goog.isInModuleLoader_()) { + return goog.module.getInternal_(namespace); + } + } else if (goog.ENABLE_DEBUG_LOADER) { + var moduleLoaderState = goog.moduleLoaderState_; + goog.moduleLoaderState_ = null; + try { + goog.debugLoader_.load_(namespace); + } finally { + goog.moduleLoaderState_ = moduleLoaderState; + } + } + return null; + } +}; +goog.requireType = function(namespace) { + return {}; +}; +goog.basePath = ""; +goog.global.CLOSURE_BASE_PATH; +goog.global.CLOSURE_NO_DEPS; +goog.global.CLOSURE_IMPORT_SCRIPT; +goog.nullFunction = function() { +}; +goog.abstractMethod = function() { + throw new Error("unimplemented abstract method"); +}; +goog.addSingletonGetter = function(ctor) { + ctor.instance_ = undefined; + ctor.getInstance = function() { + if (ctor.instance_) { + return ctor.instance_; + } + if (goog.DEBUG) { + goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor; + } + return ctor.instance_ = new ctor(); + }; +}; +goog.instantiatedSingletons_ = []; +goog.LOAD_MODULE_USING_EVAL = goog.define("goog.LOAD_MODULE_USING_EVAL", true); +goog.SEAL_MODULE_EXPORTS = goog.define("goog.SEAL_MODULE_EXPORTS", goog.DEBUG); +goog.loadedModules_ = {}; +goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER; +goog.TRANSPILE = goog.define("goog.TRANSPILE", "detect"); +goog.ASSUME_ES_MODULES_TRANSPILED = goog.define("goog.ASSUME_ES_MODULES_TRANSPILED", false); +goog.TRANSPILE_TO_LANGUAGE = goog.define("goog.TRANSPILE_TO_LANGUAGE", ""); +goog.TRANSPILER = goog.define("goog.TRANSPILER", "transpile.js"); +goog.TRUSTED_TYPES_POLICY_NAME = goog.define("goog.TRUSTED_TYPES_POLICY_NAME", "goog"); +goog.hasBadLetScoping = null; +goog.loadModule = function(moduleDef) { + var previousState = goog.moduleLoaderState_; + try { + goog.moduleLoaderState_ = {moduleName:"", declareLegacyNamespace:false, type:goog.ModuleType.GOOG}; + var origExports = {}; + var exports = origExports; + if (typeof moduleDef === "function") { + exports = moduleDef.call(undefined, exports); + } else if (typeof moduleDef === "string") { + exports = goog.loadModuleFromSource_.call(undefined, exports, moduleDef); + } else { + throw new Error("Invalid module definition"); + } + var moduleName = goog.moduleLoaderState_.moduleName; + if (typeof moduleName === "string" && moduleName) { + if (goog.moduleLoaderState_.declareLegacyNamespace) { + var isDefaultExport = origExports !== exports; + goog.constructNamespace_(moduleName, exports, isDefaultExport); + } else if (goog.SEAL_MODULE_EXPORTS && Object.seal && typeof exports == "object" && exports != null) { + Object.seal(exports); + } + var data = {exports:exports, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName}; + goog.loadedModules_[moduleName] = data; + } else { + throw new Error('Invalid module name "' + moduleName + '"'); + } + } finally { + goog.moduleLoaderState_ = previousState; + } +}; +goog.loadModuleFromSource_ = function(exports) { + eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(arguments[1])); + return exports; +}; +goog.normalizePath_ = function(path) { + var components = path.split("/"); + var i = 0; + while (i < components.length) { + if (components[i] == ".") { + components.splice(i, 1); + } else if (i && components[i] == ".." && components[i - 1] && components[i - 1] != "..") { + components.splice(--i, 2); + } else { + i++; + } + } + return components.join("/"); +}; +goog.global.CLOSURE_LOAD_FILE_SYNC; +goog.loadFileSync_ = function(src) { + if (goog.global.CLOSURE_LOAD_FILE_SYNC) { + return goog.global.CLOSURE_LOAD_FILE_SYNC(src); + } else { + try { + var xhr = new goog.global["XMLHttpRequest"](); + xhr.open("get", src, false); + xhr.send(); + return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null; + } catch (err) { + return null; + } + } +}; +goog.transpile_ = function(code, path, target) { + var jscomp = goog.global["$jscomp"]; + if (!jscomp) { + goog.global["$jscomp"] = jscomp = {}; + } + var transpile = jscomp.transpile; + if (!transpile) { + var transpilerPath = goog.basePath + goog.TRANSPILER; + var transpilerCode = goog.loadFileSync_(transpilerPath); + if (transpilerCode) { + (function() { + (0,eval)(transpilerCode + "\n//# sourceURL\x3d" + transpilerPath); + }).call(goog.global); + if (goog.global["$gwtExport"] && goog.global["$gwtExport"]["$jscomp"] && !goog.global["$gwtExport"]["$jscomp"]["transpile"]) { + throw new Error('The transpiler did not properly export the "transpile" ' + "method. $gwtExport: " + JSON.stringify(goog.global["$gwtExport"])); + } + goog.global["$jscomp"].transpile = goog.global["$gwtExport"]["$jscomp"]["transpile"]; + jscomp = goog.global["$jscomp"]; + transpile = jscomp.transpile; + } + } + if (!transpile) { + var suffix = " requires transpilation but no transpiler was found."; + transpile = jscomp.transpile = function(code, path) { + goog.logToConsole_(path + suffix); + return code; + }; + } + return transpile(code, path, target); +}; +goog.typeOf = function(value) { + var s = typeof value; + if (s != "object") { + return s; + } + if (!value) { + return "null"; + } + if (Array.isArray(value)) { + return "array"; + } + return s; +}; +goog.isArrayLike = function(val) { + var type = goog.typeOf(val); + return type == "array" || type == "object" && typeof val.length == "number"; +}; +goog.isDateLike = function(val) { + return goog.isObject(val) && typeof val.getFullYear == "function"; +}; +goog.isObject = function(val) { + var type = typeof val; + return type == "object" && val != null || type == "function"; +}; +goog.getUid = function(obj) { + return Object.prototype.hasOwnProperty.call(obj, goog.UID_PROPERTY_) && obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_); +}; +goog.hasUid = function(obj) { + return !!obj[goog.UID_PROPERTY_]; +}; +goog.removeUid = function(obj) { + if (obj !== null && "removeAttribute" in obj) { + obj.removeAttribute(goog.UID_PROPERTY_); + } + try { + delete obj[goog.UID_PROPERTY_]; + } catch (ex) { + } +}; +goog.UID_PROPERTY_ = "closure_uid_" + (Math.random() * 1e9 >>> 0); +goog.uidCounter_ = 0; +goog.cloneObject = function(obj) { + var type = goog.typeOf(obj); + if (type == "object" || type == "array") { + if (typeof obj.clone === "function") { + return obj.clone(); + } + if (typeof Map !== "undefined" && obj instanceof Map) { + return new Map(obj); + } else if (typeof Set !== "undefined" && obj instanceof Set) { + return new Set(obj); + } + var clone = type == "array" ? [] : {}; + for (var key in obj) { + clone[key] = goog.cloneObject(obj[key]); + } + return clone; + } + return obj; +}; +goog.bindNative_ = function(fn, selfObj, var_args) { + return fn.call.apply(fn.bind, arguments); +}; +goog.bindJs_ = function(fn, selfObj, var_args) { + if (!fn) { + throw new Error(); + } + if (arguments.length > 2) { + var boundArgs = Array.prototype.slice.call(arguments, 2); + return function() { + var newArgs = Array.prototype.slice.call(arguments); + Array.prototype.unshift.apply(newArgs, boundArgs); + return fn.apply(selfObj, newArgs); + }; + } else { + return function() { + return fn.apply(selfObj, arguments); + }; + } +}; +goog.bind = function(fn, selfObj, var_args) { + if (Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1) { + goog.bind = goog.bindNative_; + } else { + goog.bind = goog.bindJs_; + } + return goog.bind.apply(null, arguments); +}; +goog.partial = function(fn, var_args) { + var args = Array.prototype.slice.call(arguments, 1); + return function() { + var newArgs = args.slice(); + newArgs.push.apply(newArgs, arguments); + return fn.apply(this, newArgs); + }; +}; +goog.mixin = function(target, source) { + for (var x in source) { + target[x] = source[x]; + } +}; +goog.now = function() { + return Date.now(); +}; +goog.globalEval = function(script) { + (0,eval)(script); +}; +goog.cssNameMapping_; +goog.cssNameMappingStyle_; +goog.global.CLOSURE_CSS_NAME_MAP_FN; +goog.getCssName = function(className, opt_modifier) { + if (String(className).charAt(0) == ".") { + throw new Error('className passed in goog.getCssName must not start with ".".' + " You passed: " + className); + } + var getMapping = function(cssName) { + return goog.cssNameMapping_[cssName] || cssName; + }; + var renameByParts = function(cssName) { + var parts = cssName.split("-"); + var mapped = []; + for (var i = 0; i < parts.length; i++) { + mapped.push(getMapping(parts[i])); + } + return mapped.join("-"); + }; + var rename; + if (goog.cssNameMapping_) { + rename = goog.cssNameMappingStyle_ == "BY_WHOLE" ? getMapping : renameByParts; + } else { + rename = function(a) { + return a; + }; + } + var result = opt_modifier ? className + "-" + rename(opt_modifier) : rename(className); + if (goog.global.CLOSURE_CSS_NAME_MAP_FN) { + return goog.global.CLOSURE_CSS_NAME_MAP_FN(result); + } + return result; +}; +goog.setCssNameMapping = function(mapping, opt_style) { + goog.cssNameMapping_ = mapping; + goog.cssNameMappingStyle_ = opt_style; +}; +goog.global.CLOSURE_CSS_NAME_MAPPING; +if (!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING) { + goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING; +} +goog.getMsg = function(str, opt_values, opt_options) { + if (opt_options && opt_options.html) { + str = str.replace(/= 0; --i) { + var script = scripts[i]; + var src = script.src; + var qmark = src.lastIndexOf("?"); + var l = qmark == -1 ? src.length : qmark; + if (src.substr(l - 7, 7) == "base.js") { + goog.basePath = src.substr(0, l - 7); + return; + } + } + }; + goog.findBasePath_(); + goog.Transpiler = function() { + this.requiresTranspilation_ = null; + this.transpilationTarget_ = goog.TRANSPILE_TO_LANGUAGE; + }; + goog.Transpiler.prototype.createRequiresTranspilation_ = function() { + var transpilationTarget = "es3"; + var requiresTranspilation = {"es3":false}; + var transpilationRequiredForAllLaterModes = false; + function addNewerLanguageTranspilationCheck(modeName, isSupported) { + if (transpilationRequiredForAllLaterModes) { + requiresTranspilation[modeName] = true; + } else if (isSupported()) { + transpilationTarget = modeName; + requiresTranspilation[modeName] = false; + } else { + requiresTranspilation[modeName] = true; + transpilationRequiredForAllLaterModes = true; + } + } + function evalCheck(code) { + try { + return !!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(code)); + } catch (ignored) { + return false; + } + } + addNewerLanguageTranspilationCheck("es5", function() { + return evalCheck("[1,].length\x3d\x3d1"); + }); + addNewerLanguageTranspilationCheck("es6", function() { + if (goog.isEdge_()) { + return false; + } + var es6fullTest = "class X{constructor(){if(new.target!\x3dString)throw 1;this.x\x3d42}}" + "let q\x3dReflect.construct(X,[],String);if(q.x!\x3d42||!(q instanceof " + "String))throw 1;for(const a of[2,3]){if(a\x3d\x3d2)continue;function " + "f(z\x3d{a}){let a\x3d0;return z.a}{function f(){return 0;}}return f()" + "\x3d\x3d3}"; + return evalCheck('(()\x3d\x3e{"use strict";' + es6fullTest + "})()"); + }); + addNewerLanguageTranspilationCheck("es7", function() { + return evalCheck("2**3\x3d\x3d8"); + }); + addNewerLanguageTranspilationCheck("es8", function() { + return evalCheck("async()\x3d\x3e1,1"); + }); + addNewerLanguageTranspilationCheck("es9", function() { + return evalCheck("({...rest}\x3d{}),1"); + }); + addNewerLanguageTranspilationCheck("es_2019", function() { + return evalCheck('let r;try{r\x3d"
"}catch{};r'); + }); + addNewerLanguageTranspilationCheck("es_2020", function() { + return evalCheck("null?.x??1"); + }); + addNewerLanguageTranspilationCheck("es_next", function() { + return false; + }); + return {target:transpilationTarget, map:requiresTranspilation}; + }; + goog.Transpiler.prototype.needsTranspile = function(lang, module) { + if (goog.TRANSPILE == "always") { + return true; + } else if (goog.TRANSPILE == "never") { + return false; + } else if (!this.requiresTranspilation_) { + var obj = this.createRequiresTranspilation_(); + this.requiresTranspilation_ = obj.map; + this.transpilationTarget_ = this.transpilationTarget_ || obj.target; + } + if (lang in this.requiresTranspilation_) { + if (this.requiresTranspilation_[lang]) { + return true; + } else if (goog.inHtmlDocument_() && module == "es6" && !("noModule" in goog.global.document.createElement("script"))) { + return true; + } else { + return false; + } + } else { + throw new Error("Unknown language mode: " + lang); + } + }; + goog.Transpiler.prototype.transpile = function(code, path) { + return goog.transpile_(code, path, this.transpilationTarget_); + }; + goog.transpiler_ = new goog.Transpiler(); + goog.protectScriptTag_ = function(str) { + return str.replace(/<\/(SCRIPT)/ig, "\\x3c/$1"); + }; + goog.DebugLoader_ = function() { + this.dependencies_ = {}; + this.idToPath_ = {}; + this.written_ = {}; + this.loadingDeps_ = []; + this.depsToLoad_ = []; + this.paused_ = false; + this.factory_ = new goog.DependencyFactory(goog.transpiler_); + this.deferredCallbacks_ = {}; + this.deferredQueue_ = []; + }; + goog.DebugLoader_.prototype.bootstrap = function(namespaces, callback) { + var cb = callback; + function resolve() { + if (cb) { + goog.global.setTimeout(cb, 0); + cb = null; + } + } + if (!namespaces.length) { + resolve(); + return; + } + var deps = []; + for (var i = 0; i < namespaces.length; i++) { + var path = this.getPathFromDeps_(namespaces[i]); + if (!path) { + throw new Error("Unregonized namespace: " + namespaces[i]); + } + deps.push(this.dependencies_[path]); + } + var require = goog.require; + var loaded = 0; + for (var i = 0; i < namespaces.length; i++) { + require(namespaces[i]); + deps[i].onLoad(function() { + if (++loaded == namespaces.length) { + resolve(); + } + }); + } + }; + goog.DebugLoader_.prototype.loadClosureDeps = function() { + var relPath = "deps.js"; + this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + relPath), relPath, [], [], {}, false)); + this.loadDeps_(); + }; + goog.DebugLoader_.prototype.requested = function(absPathOrId, opt_force) { + var path = this.getPathFromDeps_(absPathOrId); + if (path && (opt_force || this.areDepsLoaded_(this.dependencies_[path].requires))) { + var callback = this.deferredCallbacks_[path]; + if (callback) { + delete this.deferredCallbacks_[path]; + callback(); + } + } + }; + goog.DebugLoader_.prototype.setDependencyFactory = function(factory) { + this.factory_ = factory; + }; + goog.DebugLoader_.prototype.load_ = function(namespace) { + if (!this.getPathFromDeps_(namespace)) { + var errorMessage = "goog.require could not find: " + namespace; + goog.logToConsole_(errorMessage); + } else { + var loader = this; + var deps = []; + var visit = function(namespace) { + var path = loader.getPathFromDeps_(namespace); + if (!path) { + throw new Error("Bad dependency path or symbol: " + namespace); + } + if (loader.written_[path]) { + return; + } + loader.written_[path] = true; + var dep = loader.dependencies_[path]; + for (var i = 0; i < dep.requires.length; i++) { + if (!goog.isProvided_(dep.requires[i])) { + visit(dep.requires[i]); + } + } + deps.push(dep); + }; + visit(namespace); + var wasLoading = !!this.depsToLoad_.length; + this.depsToLoad_ = this.depsToLoad_.concat(deps); + if (!this.paused_ && !wasLoading) { + this.loadDeps_(); + } + } + }; + goog.DebugLoader_.prototype.loadDeps_ = function() { + var loader = this; + var paused = this.paused_; + while (this.depsToLoad_.length && !paused) { + (function() { + var loadCallDone = false; + var dep = loader.depsToLoad_.shift(); + var loaded = false; + loader.loading_(dep); + var controller = {pause:function() { + if (loadCallDone) { + throw new Error("Cannot call pause after the call to load."); + } else { + paused = true; + } + }, resume:function() { + if (loadCallDone) { + loader.resume_(); + } else { + paused = false; + } + }, loaded:function() { + if (loaded) { + throw new Error("Double call to loaded."); + } + loaded = true; + loader.loaded_(dep); + }, pending:function() { + var pending = []; + for (var i = 0; i < loader.loadingDeps_.length; i++) { + pending.push(loader.loadingDeps_[i]); + } + return pending; + }, setModuleState:function(type) { + goog.moduleLoaderState_ = {type:type, moduleName:"", declareLegacyNamespace:false}; + }, registerEs6ModuleExports:function(path, exports, opt_closureNamespace) { + if (opt_closureNamespace) { + goog.loadedModules_[opt_closureNamespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:opt_closureNamespace || ""}; + } + }, registerGoogModuleExports:function(moduleId, exports) { + goog.loadedModules_[moduleId] = {exports:exports, type:goog.ModuleType.GOOG, moduleId:moduleId}; + }, clearModuleState:function() { + goog.moduleLoaderState_ = null; + }, defer:function(callback) { + if (loadCallDone) { + throw new Error("Cannot register with defer after the call to load."); + } + loader.defer_(dep, callback); + }, areDepsLoaded:function() { + return loader.areDepsLoaded_(dep.requires); + }}; + try { + dep.load(controller); + } finally { + loadCallDone = true; + } + })(); + } + if (paused) { + this.pause_(); + } + }; + goog.DebugLoader_.prototype.pause_ = function() { + this.paused_ = true; + }; + goog.DebugLoader_.prototype.resume_ = function() { + if (this.paused_) { + this.paused_ = false; + this.loadDeps_(); + } + }; + goog.DebugLoader_.prototype.loading_ = function(dep) { + this.loadingDeps_.push(dep); + }; + goog.DebugLoader_.prototype.loaded_ = function(dep) { + for (var i = 0; i < this.loadingDeps_.length; i++) { + if (this.loadingDeps_[i] == dep) { + this.loadingDeps_.splice(i, 1); + break; + } + } + for (var i = 0; i < this.deferredQueue_.length; i++) { + if (this.deferredQueue_[i] == dep.path) { + this.deferredQueue_.splice(i, 1); + break; + } + } + if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) { + while (this.deferredQueue_.length) { + this.requested(this.deferredQueue_.shift(), true); + } + } + dep.loaded(); + }; + goog.DebugLoader_.prototype.areDepsLoaded_ = function(pathsOrIds) { + for (var i = 0; i < pathsOrIds.length; i++) { + var path = this.getPathFromDeps_(pathsOrIds[i]); + if (!path || !(path in this.deferredCallbacks_) && !goog.isProvided_(pathsOrIds[i])) { + return false; + } + } + return true; + }; + goog.DebugLoader_.prototype.getPathFromDeps_ = function(absPathOrId) { + if (absPathOrId in this.idToPath_) { + return this.idToPath_[absPathOrId]; + } else if (absPathOrId in this.dependencies_) { + return absPathOrId; + } else { + return null; + } + }; + goog.DebugLoader_.prototype.defer_ = function(dependency, callback) { + this.deferredCallbacks_[dependency.path] = callback; + this.deferredQueue_.push(dependency.path); + }; + goog.LoadController = function() { + }; + goog.LoadController.prototype.pause = function() { + }; + goog.LoadController.prototype.resume = function() { + }; + goog.LoadController.prototype.loaded = function() { + }; + goog.LoadController.prototype.pending = function() { + }; + goog.LoadController.prototype.registerEs6ModuleExports = function(path, exports, opt_closureNamespace) { + }; + goog.LoadController.prototype.setModuleState = function(type) { + }; + goog.LoadController.prototype.clearModuleState = function() { + }; + goog.LoadController.prototype.defer = function(callback) { + }; + goog.LoadController.prototype.areDepsLoaded = function() { + }; + goog.Dependency = function(path, relativePath, provides, requires, loadFlags) { + this.path = path; + this.relativePath = relativePath; + this.provides = provides; + this.requires = requires; + this.loadFlags = loadFlags; + this.loaded_ = false; + this.loadCallbacks_ = []; + }; + goog.Dependency.prototype.getPathName = function() { + var pathName = this.path; + var protocolIndex = pathName.indexOf("://"); + if (protocolIndex >= 0) { + pathName = pathName.substring(protocolIndex + 3); + var slashIndex = pathName.indexOf("/"); + if (slashIndex >= 0) { + pathName = pathName.substring(slashIndex + 1); + } + } + return pathName; + }; + goog.Dependency.prototype.onLoad = function(callback) { + if (this.loaded_) { + callback(); + } else { + this.loadCallbacks_.push(callback); + } + }; + goog.Dependency.prototype.loaded = function() { + this.loaded_ = true; + var callbacks = this.loadCallbacks_; + this.loadCallbacks_ = []; + for (var i = 0; i < callbacks.length; i++) { + callbacks[i](); + } + }; + goog.Dependency.defer_ = false; + goog.Dependency.callbackMap_ = {}; + goog.Dependency.registerCallback_ = function(callback) { + var key = Math.random().toString(32); + goog.Dependency.callbackMap_[key] = callback; + return key; + }; + goog.Dependency.unregisterCallback_ = function(key) { + delete goog.Dependency.callbackMap_[key]; + }; + goog.Dependency.callback_ = function(key, var_args) { + if (key in goog.Dependency.callbackMap_) { + var callback = goog.Dependency.callbackMap_[key]; + var args = []; + for (var i = 1; i < arguments.length; i++) { + args.push(arguments[i]); + } + callback.apply(undefined, args); + } else { + var errorMessage = "Callback key " + key + " does not exist (was base.js loaded more than once?)."; + throw Error(errorMessage); + } + }; + goog.Dependency.prototype.load = function(controller) { + if (goog.global.CLOSURE_IMPORT_SCRIPT) { + if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) { + controller.loaded(); + } else { + controller.pause(); + } + return; + } + if (!goog.inHtmlDocument_()) { + goog.logToConsole_("Cannot use default debug loader outside of HTML documents."); + if (this.relativePath == "deps.js") { + goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, " + "or setting CLOSURE_NO_DEPS to true."); + controller.loaded(); + } else { + controller.pause(); + } + return; + } + var doc = goog.global.document; + if (doc.readyState == "complete" && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) { + var isDeps = /\bdeps.js$/.test(this.path); + if (isDeps) { + controller.loaded(); + return; + } else { + throw Error('Cannot write "' + this.path + '" after document load'); + } + } + var nonce = goog.getScriptNonce_(); + if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) { + var key; + var callback = function(script) { + if (script.readyState && script.readyState != "complete") { + script.onload = callback; + return; + } + goog.Dependency.unregisterCallback_(key); + controller.loaded(); + }; + key = goog.Dependency.registerCallback_(callback); + var defer = goog.Dependency.defer_ ? " defer" : ""; + var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : ""; + var script = '\x3cscript src\x3d"' + this.path + '"' + nonceAttr + defer + ' id\x3d"script-' + key + '"\x3e\x3c/script\x3e'; + script += "\x3cscript" + nonceAttr + "\x3e"; + if (goog.Dependency.defer_) { + script += "document.getElementById('script-" + key + "').onload \x3d function() {\n" + " goog.Dependency.callback_('" + key + "', this);\n" + "};\n"; + } else { + script += "goog.Dependency.callback_('" + key + "', document.getElementById('script-" + key + "'));"; + } + script += "\x3c/script\x3e"; + doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script); + } else { + var scriptEl = doc.createElement("script"); + scriptEl.defer = goog.Dependency.defer_; + scriptEl.async = false; + if (nonce) { + scriptEl.nonce = nonce; + } + if (goog.DebugLoader_.IS_OLD_IE_) { + controller.pause(); + scriptEl.onreadystatechange = function() { + if (scriptEl.readyState == "loaded" || scriptEl.readyState == "complete") { + controller.loaded(); + controller.resume(); + } + }; + } else { + scriptEl.onload = function() { + scriptEl.onload = null; + controller.loaded(); + }; + } + scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this.path; + doc.head.appendChild(scriptEl); + } + }; + goog.Es6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) { + goog.Es6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags); + }; + goog.inherits(goog.Es6ModuleDependency, goog.Dependency); + goog.Es6ModuleDependency.prototype.load = function(controller) { + if (goog.global.CLOSURE_IMPORT_SCRIPT) { + if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) { + controller.loaded(); + } else { + controller.pause(); + } + return; + } + if (!goog.inHtmlDocument_()) { + goog.logToConsole_("Cannot use default debug loader outside of HTML documents."); + controller.pause(); + return; + } + var doc = goog.global.document; + var dep = this; + function write(src, contents) { + var nonceAttr = ""; + var nonce = goog.getScriptNonce_(); + if (nonce) { + nonceAttr = ' nonce\x3d"' + nonce + '"'; + } + if (contents) { + var script = '\x3cscript type\x3d"module" crossorigin' + nonceAttr + "\x3e" + contents + "\x3c/" + "script\x3e"; + doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script); + } else { + var script = '\x3cscript type\x3d"module" crossorigin src\x3d"' + src + '"' + nonceAttr + "\x3e\x3c/" + "script\x3e"; + doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script); + } + } + function append(src, contents) { + var scriptEl = doc.createElement("script"); + scriptEl.defer = true; + scriptEl.async = false; + scriptEl.type = "module"; + scriptEl.setAttribute("crossorigin", true); + var nonce = goog.getScriptNonce_(); + if (nonce) { + scriptEl.nonce = nonce; + } + if (contents) { + scriptEl.text = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScript(contents) : contents; + } else { + scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(src) : src; + } + doc.head.appendChild(scriptEl); + } + var create; + if (goog.isDocumentLoading_()) { + create = write; + goog.Dependency.defer_ = true; + } else { + create = append; + } + var beforeKey = goog.Dependency.registerCallback_(function() { + goog.Dependency.unregisterCallback_(beforeKey); + controller.setModuleState(goog.ModuleType.ES6); + }); + create(undefined, 'goog.Dependency.callback_("' + beforeKey + '")'); + create(this.path, undefined); + var registerKey = goog.Dependency.registerCallback_(function(exports) { + goog.Dependency.unregisterCallback_(registerKey); + controller.registerEs6ModuleExports(dep.path, exports, goog.moduleLoaderState_.moduleName); + }); + create(undefined, 'import * as m from "' + this.path + '"; goog.Dependency.callback_("' + registerKey + '", m)'); + var afterKey = goog.Dependency.registerCallback_(function() { + goog.Dependency.unregisterCallback_(afterKey); + controller.clearModuleState(); + controller.loaded(); + }); + create(undefined, 'goog.Dependency.callback_("' + afterKey + '")'); + }; + goog.TransformedDependency = function(path, relativePath, provides, requires, loadFlags) { + goog.TransformedDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags); + this.contents_ = null; + this.lazyFetch_ = !goog.inHtmlDocument_() || !("noModule" in goog.global.document.createElement("script")); + }; + goog.inherits(goog.TransformedDependency, goog.Dependency); + goog.TransformedDependency.prototype.load = function(controller) { + var dep = this; + function fetch() { + dep.contents_ = goog.loadFileSync_(dep.path); + if (dep.contents_) { + dep.contents_ = dep.transform(dep.contents_); + if (dep.contents_) { + dep.contents_ += "\n//# sourceURL\x3d" + dep.path; + } + } + } + if (goog.global.CLOSURE_IMPORT_SCRIPT) { + fetch(); + if (this.contents_ && goog.global.CLOSURE_IMPORT_SCRIPT("", this.contents_)) { + this.contents_ = null; + controller.loaded(); + } else { + controller.pause(); + } + return; + } + var isEs6 = this.loadFlags["module"] == goog.ModuleType.ES6; + if (!this.lazyFetch_) { + fetch(); + } + function load() { + if (dep.lazyFetch_) { + fetch(); + } + if (!dep.contents_) { + return; + } + if (isEs6) { + controller.setModuleState(goog.ModuleType.ES6); + } + var namespace; + try { + var contents = dep.contents_; + dep.contents_ = null; + goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(contents)); + if (isEs6) { + namespace = goog.moduleLoaderState_.moduleName; + } + } finally { + if (isEs6) { + controller.clearModuleState(); + } + } + if (isEs6) { + goog.global["$jscomp"]["require"]["ensure"]([dep.getPathName()], function() { + controller.registerEs6ModuleExports(dep.path, goog.global["$jscomp"]["require"](dep.getPathName()), namespace); + }); + } + controller.loaded(); + } + function fetchInOwnScriptThenLoad() { + var doc = goog.global.document; + var key = goog.Dependency.registerCallback_(function() { + goog.Dependency.unregisterCallback_(key); + load(); + }); + var nonce = goog.getScriptNonce_(); + var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : ""; + var script = "\x3cscript" + nonceAttr + "\x3e" + goog.protectScriptTag_('goog.Dependency.callback_("' + key + '");') + "\x3c/" + "script\x3e"; + doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script); + } + var anythingElsePending = controller.pending().length > 1; + var useOldIeWorkAround = anythingElsePending && goog.DebugLoader_.IS_OLD_IE_; + var needsAsyncLoading = goog.Dependency.defer_ && (anythingElsePending || goog.isDocumentLoading_()); + if (useOldIeWorkAround || needsAsyncLoading) { + controller.defer(function() { + load(); + }); + return; + } + var doc = goog.global.document; + var isInternetExplorerOrEdge = goog.inHtmlDocument_() && ("ActiveXObject" in goog.global || goog.isEdge_()); + if (isEs6 && goog.inHtmlDocument_() && goog.isDocumentLoading_() && !isInternetExplorerOrEdge) { + goog.Dependency.defer_ = true; + controller.pause(); + var oldCallback = doc.onreadystatechange; + doc.onreadystatechange = function() { + if (doc.readyState == "interactive") { + doc.onreadystatechange = oldCallback; + load(); + controller.resume(); + } + if (typeof oldCallback === "function") { + oldCallback.apply(undefined, arguments); + } + }; + } else { + if (goog.DebugLoader_.IS_OLD_IE_ || !goog.inHtmlDocument_() || !goog.isDocumentLoading_()) { + load(); + } else { + fetchInOwnScriptThenLoad(); + } + } + }; + goog.TransformedDependency.prototype.transform = function(contents) { + }; + goog.TranspiledDependency = function(path, relativePath, provides, requires, loadFlags, transpiler) { + goog.TranspiledDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags); + this.transpiler = transpiler; + }; + goog.inherits(goog.TranspiledDependency, goog.TransformedDependency); + goog.TranspiledDependency.prototype.transform = function(contents) { + return this.transpiler.transpile(contents, this.getPathName()); + }; + goog.PreTranspiledEs6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) { + goog.PreTranspiledEs6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags); + }; + goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog.TransformedDependency); + goog.PreTranspiledEs6ModuleDependency.prototype.transform = function(contents) { + return contents; + }; + goog.GoogModuleDependency = function(path, relativePath, provides, requires, loadFlags, needsTranspile, transpiler) { + goog.GoogModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags); + this.needsTranspile_ = needsTranspile; + this.transpiler_ = transpiler; + }; + goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency); + goog.GoogModuleDependency.prototype.transform = function(contents) { + if (this.needsTranspile_) { + contents = this.transpiler_.transpile(contents, this.getPathName()); + } + if (!goog.LOAD_MODULE_USING_EVAL || goog.global.JSON === undefined) { + return "" + "goog.loadModule(function(exports) {" + '"use strict";' + contents + "\n" + ";return exports" + "});" + "\n//# sourceURL\x3d" + this.path + "\n"; + } else { + return "" + "goog.loadModule(" + goog.global.JSON.stringify(contents + "\n//# sourceURL\x3d" + this.path + "\n") + ");"; + } + }; + goog.DebugLoader_.IS_OLD_IE_ = !!(!goog.global.atob && goog.global.document && goog.global.document["all"]); + goog.DebugLoader_.prototype.addDependency = function(relPath, provides, requires, opt_loadFlags) { + provides = provides || []; + relPath = relPath.replace(/\\/g, "/"); + var path = goog.normalizePath_(goog.basePath + relPath); + if (!opt_loadFlags || typeof opt_loadFlags === "boolean") { + opt_loadFlags = opt_loadFlags ? {"module":goog.ModuleType.GOOG} : {}; + } + var dep = this.factory_.createDependency(path, relPath, provides, requires, opt_loadFlags, goog.transpiler_.needsTranspile(opt_loadFlags["lang"] || "es3", opt_loadFlags["module"])); + this.dependencies_[path] = dep; + for (var i = 0; i < provides.length; i++) { + this.idToPath_[provides[i]] = path; + } + this.idToPath_[relPath] = path; + }; + goog.DependencyFactory = function(transpiler) { + this.transpiler = transpiler; + }; + goog.DependencyFactory.prototype.createDependency = function(path, relativePath, provides, requires, loadFlags, needsTranspile) { + if (loadFlags["module"] == goog.ModuleType.GOOG) { + return new goog.GoogModuleDependency(path, relativePath, provides, requires, loadFlags, needsTranspile, this.transpiler); + } else if (needsTranspile) { + return new goog.TranspiledDependency(path, relativePath, provides, requires, loadFlags, this.transpiler); + } else { + if (loadFlags["module"] == goog.ModuleType.ES6) { + if (goog.TRANSPILE == "never" && goog.ASSUME_ES_MODULES_TRANSPILED) { + return new goog.PreTranspiledEs6ModuleDependency(path, relativePath, provides, requires, loadFlags); + } else { + return new goog.Es6ModuleDependency(path, relativePath, provides, requires, loadFlags); + } + } else { + return new goog.Dependency(path, relativePath, provides, requires, loadFlags); + } + } + }; + goog.debugLoader_ = new goog.DebugLoader_(); + goog.loadClosureDeps = function() { + goog.debugLoader_.loadClosureDeps(); + }; + goog.setDependencyFactory = function(factory) { + goog.debugLoader_.setDependencyFactory(factory); + }; + goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + "#base") : null; + if (!goog.global.CLOSURE_NO_DEPS) { + goog.debugLoader_.loadClosureDeps(); + } + goog.bootstrap = function(namespaces, callback) { + goog.debugLoader_.bootstrap(namespaces, callback); + }; +} +if (!COMPILED) { + var isChrome87 = false; + try { + isChrome87 = eval(goog.global.trustedTypes.emptyScript) !== goog.global.trustedTypes.emptyScript; + } catch (err) { + } + goog.CLOSURE_EVAL_PREFILTER_ = goog.global.trustedTypes && isChrome87 && goog.createTrustedTypesPolicy("goog#base#devonly#eval") || {createScript:goog.identity_}; +} + +var SHADOW_ENV = function() { + var loadedFiles = {}; + + var env = {}; + + var doc = goog.global.document; + + if (!doc) { + throw new Error("browser bootstrap used in incorrect target"); + } + + var scriptBase = goog.global.window.location.origin; + if (CLOSURE_BASE_PATH[0] == '/') { + scriptBase = scriptBase + CLOSURE_BASE_PATH; + } else { + // FIXME: need to handle relative paths + scriptBase = CLOSURE_BASE_PATH; + } + + + env.scriptBase = scriptBase; + + var wentAsync = false; + + var canDocumentWrite = function() { + return !wentAsync && doc.readyState == "loading"; + }; + + var reportError = function(path, e) { + // chrome displays e.stack in a usable way while firefox is just a garbled mess + if (e.constructor.toString().indexOf("function cljs$core$ExceptionInfo") === 0 && navigator.appVersion.indexOf("Chrome") != -1) { + console.error(e); + console.error(e.stack); + } else { + console.error(e); + } + console.warn("The above error occurred when loading \"" + path + "\". Any additional errors after that one may be the result of that failure. In general your code cannot be trusted to execute properly after such a failure. Make sure to fix the first one before looking at others."); + }; + + var asyncLoad = (function() { + var loadOrder = []; + var loadState = {}; + + function loadPending() { + for (var i = 0, len = loadOrder.length; i < len; i++) { + var uri = loadOrder[i]; + var state = loadState[uri]; + + if (typeof state === "string") { + loadState[uri] = true; + if (state != "") { + var code = state + "\n//# sourceURL=" + uri + "\n"; + try { + goog.globalEval(code); + } catch (e) { + reportError(uri, e); + } + } + } else if (state === true) { + continue; + } else { + break; + } + } + } + + // ie11 doesn't have fetch, use xhr instead + // FIXME: not sure if fetch provides any benefit over xhr + if (typeof window.fetch === "undefined") { + return function asyncXhr(uri) { + loadOrder.push(uri); + loadState[uri] = false; + var req = new XMLHttpRequest(); + req.onload = function(e) { + loadState[uri] = req.responseText; + loadPending(); + }; + req.open("GET", uri); + req.send(); + } + } else { + function responseText(response) { + // FIXME: check status + return response.text(); + } + + function evalFetch(uri) { + return function(code) { + loadState[uri] = code; + loadPending(); + }; + } + + return function asyncFetch(uri) { + if (loadState[uri] == undefined) { + loadState[uri] = false; + loadOrder.push(uri); + fetch(uri) + .then(responseText) + .then(evalFetch(uri)); + } + }; + } + })(); + + env.load = function(opts, paths) { + var docWrite = opts.forceAsync ? false : canDocumentWrite(); + + paths.forEach(function(path) { + if (!loadedFiles[path]) { + loadedFiles[path] = true; + + var uri = scriptBase + path; + + if (docWrite) { + document.write( + "" + ); + } else { + // once async always async + wentAsync = true; + asyncLoad(uri); + } + } + }); + }; + + env.isLoaded = function(path) { + return loadedFiles[path] || false; // false is better than undefined + }; + + env.setLoaded = function(path) { + loadedFiles[path] = true; + }; + + env.evalLoad = function(path, sourceMap, code) { + loadedFiles[path] = true; + code += ("\n//# sourceURL=" + scriptBase + path); + if (sourceMap) { + code += ("\n//# sourceMappingURL=" + path + ".map"); + } + try { + goog.globalEval(code); + } catch (e) { + reportError(path, e); + } + } + + return env; +}.call(this); + + +goog.global["$CLJS"] = goog.global; + + + +SHADOW_ENV.evalLoad("goog.debug.error.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.debug.Error\x22);\n goog.module.declareLegacyNamespace();\n function DebugError(msg \x3d undefined, cause \x3d undefined) {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DebugError);\n } else {\n const stack \x3d (new Error()).stack;\n if (stack) {\n this.stack \x3d stack;\n }\n }\n if (msg) {\n this.message \x3d String(msg);\n }\n if (cause !\x3d\x3d undefined) {\n this.cause \x3d cause;\n }\n this.reportErrorToServer \x3d true;\n }\n goog.inherits(DebugError, Error);\n DebugError.prototype.name \x3d \x22CustomError\x22;\n exports \x3d DebugError;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.dom.nodetype.js", true , "goog.provide(\x22goog.dom.NodeType\x22);\ngoog.dom.NodeType \x3d {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};\n"); +SHADOW_ENV.evalLoad("goog.asserts.asserts.js", true , "goog.provide(\x22goog.asserts\x22);\ngoog.provide(\x22goog.asserts.AssertionError\x22);\ngoog.require(\x22goog.debug.Error\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.asserts.ENABLE_ASSERTS \x3d goog.define(\x22goog.asserts.ENABLE_ASSERTS\x22, goog.DEBUG);\ngoog.asserts.AssertionError \x3d function(messagePattern, messageArgs) {\n goog.debug.Error.call(this, goog.asserts.subs_(messagePattern, messageArgs));\n this.messagePattern \x3d messagePattern;\n};\ngoog.inherits(goog.asserts.AssertionError, goog.debug.Error);\ngoog.asserts.AssertionError.prototype.name \x3d \x22AssertionError\x22;\ngoog.asserts.DEFAULT_ERROR_HANDLER \x3d function(e) {\n throw e;\n};\ngoog.asserts.errorHandler_ \x3d goog.asserts.DEFAULT_ERROR_HANDLER;\ngoog.asserts.subs_ \x3d function(pattern, subs) {\n var splitParts \x3d pattern.split(\x22%s\x22);\n var returnString \x3d \x22\x22;\n var subLast \x3d splitParts.length - 1;\n for (var i \x3d 0; i \x3c subLast; i++) {\n var sub \x3d i \x3c subs.length ? subs[i] : \x22%s\x22;\n returnString +\x3d splitParts[i] + sub;\n }\n return returnString + splitParts[subLast];\n};\ngoog.asserts.doAssertFailure_ \x3d function(defaultMessage, defaultArgs, givenMessage, givenArgs) {\n var message \x3d \x22Assertion failed\x22;\n if (givenMessage) {\n message +\x3d \x22: \x22 + givenMessage;\n var args \x3d givenArgs;\n } else if (defaultMessage) {\n message +\x3d \x22: \x22 + defaultMessage;\n args \x3d defaultArgs;\n }\n var e \x3d new goog.asserts.AssertionError(\x22\x22 + message, args || []);\n goog.asserts.errorHandler_(e);\n};\ngoog.asserts.setErrorHandler \x3d function(errorHandler) {\n if (goog.asserts.ENABLE_ASSERTS) {\n goog.asserts.errorHandler_ \x3d errorHandler;\n }\n};\ngoog.asserts.assert \x3d function(condition, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 !condition) {\n goog.asserts.doAssertFailure_(\x22\x22, null, opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return condition;\n};\ngoog.asserts.assertExists \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 value \x3d\x3d null) {\n goog.asserts.doAssertFailure_(\x22Expected to exist: %s.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.fail \x3d function(opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS) {\n goog.asserts.errorHandler_(new goog.asserts.AssertionError(\x22Failure\x22 + (opt_message ? \x22: \x22 + opt_message : \x22\x22), Array.prototype.slice.call(arguments, 1)));\n }\n};\ngoog.asserts.assertNumber \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22number\x22) {\n goog.asserts.doAssertFailure_(\x22Expected number but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertString \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22string\x22) {\n goog.asserts.doAssertFailure_(\x22Expected string but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertFunction \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22function\x22) {\n goog.asserts.doAssertFailure_(\x22Expected function but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertObject \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 !goog.isObject(value)) {\n goog.asserts.doAssertFailure_(\x22Expected object but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertArray \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 !Array.isArray(value)) {\n goog.asserts.doAssertFailure_(\x22Expected array but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertBoolean \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22boolean\x22) {\n goog.asserts.doAssertFailure_(\x22Expected boolean but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertElement \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 (!goog.isObject(value) || value.nodeType !\x3d goog.dom.NodeType.ELEMENT)) {\n goog.asserts.doAssertFailure_(\x22Expected Element but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.assertInstanceof \x3d function(value, type, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 !(value instanceof type)) {\n goog.asserts.doAssertFailure_(\x22Expected instanceof %s but got %s.\x22, [goog.asserts.getType_(type), goog.asserts.getType_(value)], opt_message, Array.prototype.slice.call(arguments, 3));\n }\n return value;\n};\ngoog.asserts.assertFinite \x3d function(value, opt_message, var_args) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 (typeof value !\x3d \x22number\x22 || !isFinite(value))) {\n goog.asserts.doAssertFailure_(\x22Expected %s to be a finite number but it is not.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n};\ngoog.asserts.getType_ \x3d function(value) {\n if (value instanceof Function) {\n return value.displayName || value.name || \x22unknown type name\x22;\n } else if (value instanceof Object) {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } else {\n return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n};\n"); +SHADOW_ENV.evalLoad("goog.reflect.reflect.js", true , "goog.provide(\x22goog.reflect\x22);\ngoog.reflect.object \x3d function(type, object) {\n return object;\n};\ngoog.reflect.objectProperty \x3d function(prop, object) {\n return prop;\n};\ngoog.reflect.sinkValue \x3d function(x) {\n goog.reflect.sinkValue[\x22 \x22](x);\n return x;\n};\ngoog.reflect.sinkValue[\x22 \x22] \x3d goog.nullFunction;\ngoog.reflect.canAccessProperty \x3d function(obj, prop) {\n try {\n goog.reflect.sinkValue(obj[prop]);\n return true;\n } catch (e) {\n }\n return false;\n};\ngoog.reflect.cache \x3d function(cacheObj, key, valueFn, opt_keyFn) {\n const storedKey \x3d opt_keyFn ? opt_keyFn(key) : key;\n if (Object.prototype.hasOwnProperty.call(cacheObj, storedKey)) {\n return cacheObj[storedKey];\n }\n return cacheObj[storedKey] \x3d valueFn(key);\n};\n"); +SHADOW_ENV.evalLoad("goog.math.long.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.math.Long\x22);\n goog.module.declareLegacyNamespace();\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n const reflect \x3d goog.require(\x22goog.reflect\x22);\n class Long {\n constructor(low, high) {\n this.low_ \x3d low | 0;\n this.high_ \x3d high | 0;\n }\n toInt() {\n return this.low_;\n }\n toNumber() {\n return this.high_ * TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();\n }\n isSafeInteger() {\n var top11Bits \x3d this.high_ \x3e\x3e 21;\n return top11Bits \x3d\x3d 0 || top11Bits \x3d\x3d -1 \x26\x26 !(this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d (4292870144 | 0));\n }\n toString(opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (this.isSafeInteger()) {\n var asNumber \x3d this.toNumber();\n return radix \x3d\x3d 10 ? \x22\x22 + asNumber : asNumber.toString(radix);\n }\n var safeDigits \x3d 14 - (radix \x3e\x3e 2);\n var radixPowSafeDigits \x3d Math.pow(radix, safeDigits);\n var radixToPower \x3d Long.fromBits(radixPowSafeDigits, radixPowSafeDigits / TWO_PWR_32_DBL_);\n var remDiv \x3d this.div(radixToPower);\n var val \x3d Math.abs(this.subtract(remDiv.multiply(radixToPower)).toNumber());\n var digits \x3d radix \x3d\x3d 10 ? \x22\x22 + val : val.toString(radix);\n if (digits.length \x3c safeDigits) {\n digits \x3d \x220000000000000\x22.substr(digits.length - safeDigits) + digits;\n }\n val \x3d remDiv.toNumber();\n return (radix \x3d\x3d 10 ? val : val.toString(radix)) + digits;\n }\n getHighBits() {\n return this.high_;\n }\n getLowBits() {\n return this.low_;\n }\n getLowBitsUnsigned() {\n return this.low_ \x3e\x3e\x3e 0;\n }\n getNumBitsAbs() {\n if (this.isNegative()) {\n if (this.equals(Long.getMinValue())) {\n return 64;\n } else {\n return this.negate().getNumBitsAbs();\n }\n } else {\n var val \x3d this.high_ !\x3d 0 ? this.high_ : this.low_;\n for (var bit \x3d 31; bit \x3e 0; bit--) {\n if ((val \x26 1 \x3c\x3c bit) !\x3d 0) {\n break;\n }\n }\n return this.high_ !\x3d 0 ? bit + 33 : bit + 1;\n }\n }\n isZero() {\n return this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d 0;\n }\n isNegative() {\n return this.high_ \x3c 0;\n }\n isOdd() {\n return (this.low_ \x26 1) \x3d\x3d 1;\n }\n hashCode() {\n return this.getLowBits() ^ this.getHighBits();\n }\n equals(other) {\n return this.low_ \x3d\x3d other.low_ \x26\x26 this.high_ \x3d\x3d other.high_;\n }\n notEquals(other) {\n return !this.equals(other);\n }\n lessThan(other) {\n return this.compare(other) \x3c 0;\n }\n lessThanOrEqual(other) {\n return this.compare(other) \x3c\x3d 0;\n }\n greaterThan(other) {\n return this.compare(other) \x3e 0;\n }\n greaterThanOrEqual(other) {\n return this.compare(other) \x3e\x3d 0;\n }\n compare(other) {\n if (this.high_ \x3d\x3d other.high_) {\n if (this.low_ \x3d\x3d other.low_) {\n return 0;\n }\n return this.getLowBitsUnsigned() \x3e other.getLowBitsUnsigned() ? 1 : -1;\n }\n return this.high_ \x3e other.high_ ? 1 : -1;\n }\n negate() {\n var negLow \x3d ~this.low_ + 1 | 0;\n var overflowFromLow \x3d !negLow;\n var negHigh \x3d ~this.high_ + overflowFromLow | 0;\n return Long.fromBits(negLow, negHigh);\n }\n add(other) {\n var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n var a32 \x3d this.high_ \x26 65535;\n var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n var a00 \x3d this.low_ \x26 65535;\n var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n var b32 \x3d other.high_ \x26 65535;\n var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n var b00 \x3d other.low_ \x26 65535;\n var c48 \x3d 0, c32 \x3d 0, c16 \x3d 0, c00 \x3d 0;\n c00 +\x3d a00 + b00;\n c16 +\x3d c00 \x3e\x3e\x3e 16;\n c00 \x26\x3d 65535;\n c16 +\x3d a16 + b16;\n c32 +\x3d c16 \x3e\x3e\x3e 16;\n c16 \x26\x3d 65535;\n c32 +\x3d a32 + b32;\n c48 +\x3d c32 \x3e\x3e\x3e 16;\n c32 \x26\x3d 65535;\n c48 +\x3d a48 + b48;\n c48 \x26\x3d 65535;\n return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiply(other) {\n if (this.isZero()) {\n return this;\n }\n if (other.isZero()) {\n return other;\n }\n var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n var a32 \x3d this.high_ \x26 65535;\n var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n var a00 \x3d this.low_ \x26 65535;\n var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n var b32 \x3d other.high_ \x26 65535;\n var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n var b00 \x3d other.low_ \x26 65535;\n var c48 \x3d 0, c32 \x3d 0, c16 \x3d 0, c00 \x3d 0;\n c00 +\x3d a00 * b00;\n c16 +\x3d c00 \x3e\x3e\x3e 16;\n c00 \x26\x3d 65535;\n c16 +\x3d a16 * b00;\n c32 +\x3d c16 \x3e\x3e\x3e 16;\n c16 \x26\x3d 65535;\n c16 +\x3d a00 * b16;\n c32 +\x3d c16 \x3e\x3e\x3e 16;\n c16 \x26\x3d 65535;\n c32 +\x3d a32 * b00;\n c48 +\x3d c32 \x3e\x3e\x3e 16;\n c32 \x26\x3d 65535;\n c32 +\x3d a16 * b16;\n c48 +\x3d c32 \x3e\x3e\x3e 16;\n c32 \x26\x3d 65535;\n c32 +\x3d a00 * b32;\n c48 +\x3d c32 \x3e\x3e\x3e 16;\n c32 \x26\x3d 65535;\n c48 +\x3d a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n c48 \x26\x3d 65535;\n return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n }\n div(other) {\n if (other.isZero()) {\n throw new Error(\x22division by zero\x22);\n }\n if (this.isNegative()) {\n if (this.equals(Long.getMinValue())) {\n if (other.equals(Long.getOne()) || other.equals(Long.getNegOne())) {\n return Long.getMinValue();\n }\n if (other.equals(Long.getMinValue())) {\n return Long.getOne();\n }\n var halfThis \x3d this.shiftRight(1);\n var approx \x3d halfThis.div(other).shiftLeft(1);\n if (approx.equals(Long.getZero())) {\n return other.isNegative() ? Long.getOne() : Long.getNegOne();\n }\n var rem \x3d this.subtract(other.multiply(approx));\n var result \x3d approx.add(rem.div(other));\n return result;\n }\n if (other.isNegative()) {\n return this.negate().div(other.negate());\n }\n return this.negate().div(other).negate();\n }\n if (this.isZero()) {\n return Long.getZero();\n }\n if (other.isNegative()) {\n if (other.equals(Long.getMinValue())) {\n return Long.getZero();\n }\n return this.div(other.negate()).negate();\n }\n var res \x3d Long.getZero();\n var rem \x3d this;\n while (rem.greaterThanOrEqual(other)) {\n var approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n var approxRes \x3d Long.fromNumber(approx);\n var approxRem \x3d approxRes.multiply(other);\n while (approxRem.isNegative() || approxRem.greaterThan(rem)) {\n approx -\x3d delta;\n approxRes \x3d Long.fromNumber(approx);\n approxRem \x3d approxRes.multiply(other);\n }\n if (approxRes.isZero()) {\n approxRes \x3d Long.getOne();\n }\n res \x3d res.add(approxRes);\n rem \x3d rem.subtract(approxRem);\n }\n return res;\n }\n modulo(other) {\n return this.subtract(this.div(other).multiply(other));\n }\n not() {\n return Long.fromBits(~this.low_, ~this.high_);\n }\n and(other) {\n return Long.fromBits(this.low_ \x26 other.low_, this.high_ \x26 other.high_);\n }\n or(other) {\n return Long.fromBits(this.low_ | other.low_, this.high_ | other.high_);\n }\n xor(other) {\n return Long.fromBits(this.low_ ^ other.low_, this.high_ ^ other.high_);\n }\n shiftLeft(numBits) {\n numBits \x26\x3d 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var low \x3d this.low_;\n if (numBits \x3c 32) {\n var high \x3d this.high_;\n return Long.fromBits(low \x3c\x3c numBits, high \x3c\x3c numBits | low \x3e\x3e\x3e 32 - numBits);\n } else {\n return Long.fromBits(0, low \x3c\x3c numBits - 32);\n }\n }\n }\n shiftRight(numBits) {\n numBits \x26\x3d 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var high \x3d this.high_;\n if (numBits \x3c 32) {\n var low \x3d this.low_;\n return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e numBits);\n } else {\n return Long.fromBits(high \x3e\x3e numBits - 32, high \x3e\x3d 0 ? 0 : -1);\n }\n }\n }\n shiftRightUnsigned(numBits) {\n numBits \x26\x3d 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var high \x3d this.high_;\n if (numBits \x3c 32) {\n var low \x3d this.low_;\n return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e\x3e numBits);\n } else if (numBits \x3d\x3d 32) {\n return Long.fromBits(high, 0);\n } else {\n return Long.fromBits(high \x3e\x3e\x3e numBits - 32, 0);\n }\n }\n }\n static fromInt(value) {\n var intValue \x3d value | 0;\n asserts.assert(value \x3d\x3d\x3d intValue, \x22value should be a 32-bit integer\x22);\n if (-128 \x3c\x3d intValue \x26\x26 intValue \x3c 128) {\n return getCachedIntValue_(intValue);\n } else {\n return new Long(intValue, intValue \x3c 0 ? -1 : 0);\n }\n }\n static fromNumber(value) {\n if (value \x3e 0) {\n if (value \x3e\x3d TWO_PWR_63_DBL_) {\n return Long.getMaxValue();\n }\n return new Long(value, value / TWO_PWR_32_DBL_);\n } else if (value \x3c 0) {\n if (value \x3c\x3d -TWO_PWR_63_DBL_) {\n return Long.getMinValue();\n }\n return (new Long(-value, -value / TWO_PWR_32_DBL_)).negate();\n } else {\n return Long.getZero();\n }\n }\n static fromBits(lowBits, highBits) {\n return new Long(lowBits, highBits);\n }\n static fromString(str, opt_radix) {\n if (str.charAt(0) \x3d\x3d \x22-\x22) {\n return Long.fromString(str.substring(1), opt_radix).negate();\n }\n var numberValue \x3d parseInt(str, opt_radix || 10);\n if (numberValue \x3c\x3d MAX_SAFE_INTEGER_) {\n return new Long(numberValue % TWO_PWR_32_DBL_ | 0, numberValue / TWO_PWR_32_DBL_ | 0);\n }\n if (str.length \x3d\x3d 0) {\n throw new Error(\x22number format error: empty string\x22);\n }\n if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n throw new Error(\x27number format error: interior \x22-\x22 character: \x27 + str);\n }\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n var radixToPower \x3d Long.fromNumber(Math.pow(radix, 8));\n var result \x3d Long.getZero();\n for (var i \x3d 0; i \x3c str.length; i +\x3d 8) {\n var size \x3d Math.min(8, str.length - i);\n var value \x3d parseInt(str.substring(i, i + size), radix);\n if (size \x3c 8) {\n var power \x3d Long.fromNumber(Math.pow(radix, size));\n result \x3d result.multiply(power).add(Long.fromNumber(value));\n } else {\n result \x3d result.multiply(radixToPower);\n result \x3d result.add(Long.fromNumber(value));\n }\n }\n return result;\n }\n static isStringInRange(str, opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n var extremeValue \x3d str.charAt(0) \x3d\x3d \x22-\x22 ? MIN_VALUE_FOR_RADIX_[radix] : MAX_VALUE_FOR_RADIX_[radix];\n if (str.length \x3c extremeValue.length) {\n return true;\n } else if (str.length \x3d\x3d extremeValue.length \x26\x26 str \x3c\x3d extremeValue) {\n return true;\n } else {\n return false;\n }\n }\n static getZero() {\n return ZERO_;\n }\n static getOne() {\n return ONE_;\n }\n static getNegOne() {\n return NEG_ONE_;\n }\n static getMaxValue() {\n return MAX_VALUE_;\n }\n static getMinValue() {\n return MIN_VALUE_;\n }\n static getTwoPwr24() {\n return TWO_PWR_24_;\n }\n }\n exports \x3d Long;\n const IntCache_ \x3d {};\n function getCachedIntValue_(value) {\n return reflect.cache(IntCache_, value, function(val) {\n return new Long(val, val \x3c 0 ? -1 : 0);\n });\n }\n const MAX_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22111111111111111111111111111111111111111111111111111111111111111\x22, \x222021110011022210012102010021220101220221\x22, \x2213333333333333333333333333333333\x22, \x221104332401304422434310311212\x22, \x221540241003031030222122211\x22, \x2222341010611245052052300\x22, \x22777777777777777777777\x22, \x2267404283172107811827\x22, \x229223372036854775807\x22, \x221728002635214590697\x22, \x2241a792678515120367\x22, \x2210b269549075433c37\x22, \x224340724c6c71dc7a7\x22, \x22160e2ad3246366807\x22, \x227fffffffffffffff\x22, \x2233d3d8307b214008\x22, \x2216agh595df825fa7\x22, \n \x22ba643dci0ffeehh\x22, \x225cbfjia3fh26ja7\x22, \x222heiciiie82dh97\x22, \x221adaibb21dckfa7\x22, \x22i6k448cf4192c2\x22, \x22acd772jnc9l0l7\x22, \x2264ie1focnn5g77\x22, \x223igoecjbmca687\x22, \x2227c48l5b37oaop\x22, \x221bk39f3ah3dmq7\x22, \x22q1se8f0m04isb\x22, \x22hajppbc1fc207\x22, \x22bm03i95hia437\x22, \x227vvvvvvvvvvvv\x22, \x225hg4ck9jd4u37\x22, \x223tdtk1v8j6tpp\x22, \x222pijmikexrxp7\x22, \x221y2p0ij32e8e7\x22];\n const MIN_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22-1000000000000000000000000000000000000000000000000000000000000000\x22, \x22-2021110011022210012102010021220101220222\x22, \x22-20000000000000000000000000000000\x22, \x22-1104332401304422434310311213\x22, \x22-1540241003031030222122212\x22, \x22-22341010611245052052301\x22, \x22-1000000000000000000000\x22, \x22-67404283172107811828\x22, \x22-9223372036854775808\x22, \x22-1728002635214590698\x22, \x22-41a792678515120368\x22, \x22-10b269549075433c38\x22, \x22-4340724c6c71dc7a8\x22, \x22-160e2ad3246366808\x22, \x22-8000000000000000\x22, \x22-33d3d8307b214009\x22, \n \x22-16agh595df825fa8\x22, \x22-ba643dci0ffeehi\x22, \x22-5cbfjia3fh26ja8\x22, \x22-2heiciiie82dh98\x22, \x22-1adaibb21dckfa8\x22, \x22-i6k448cf4192c3\x22, \x22-acd772jnc9l0l8\x22, \x22-64ie1focnn5g78\x22, \x22-3igoecjbmca688\x22, \x22-27c48l5b37oaoq\x22, \x22-1bk39f3ah3dmq8\x22, \x22-q1se8f0m04isc\x22, \x22-hajppbc1fc208\x22, \x22-bm03i95hia438\x22, \x22-8000000000000\x22, \x22-5hg4ck9jd4u38\x22, \x22-3tdtk1v8j6tpq\x22, \x22-2pijmikexrxp8\x22, \x22-1y2p0ij32e8e8\x22];\n const MAX_SAFE_INTEGER_ \x3d 9007199254740991;\n const TWO_PWR_32_DBL_ \x3d 4294967296;\n const TWO_PWR_63_DBL_ \x3d 0x7fffffffffffffff;\n const ZERO_ \x3d Long.fromBits(0, 0);\n const ONE_ \x3d Long.fromBits(1, 0);\n const NEG_ONE_ \x3d Long.fromBits(-1, -1);\n const MAX_VALUE_ \x3d Long.fromBits(4294967295, 2147483647);\n const MIN_VALUE_ \x3d Long.fromBits(0, 2147483648);\n const TWO_PWR_24_ \x3d Long.fromBits(1 \x3c\x3c 24, 0);\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.math.integer.js", true , "goog.provide(\x22goog.math.Integer\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.math.Integer \x3d function(bits, sign) {\n this.sign_ \x3d sign;\n var localBits \x3d [];\n var top \x3d true;\n for (var i \x3d bits.length - 1; i \x3e\x3d 0; i--) {\n var val \x3d bits[i] | 0;\n if (!top || val !\x3d sign) {\n localBits[i] \x3d val;\n top \x3d false;\n }\n }\n this.bits_ \x3d localBits;\n};\ngoog.math.Integer.IntCache_ \x3d {};\ngoog.math.Integer.fromInt \x3d function(value) {\n if (-128 \x3c\x3d value \x26\x26 value \x3c 128) {\n return goog.reflect.cache(goog.math.Integer.IntCache_, value, function(val) {\n return new goog.math.Integer([val | 0], val \x3c 0 ? -1 : 0);\n });\n }\n return new goog.math.Integer([value | 0], value \x3c 0 ? -1 : 0);\n};\ngoog.math.Integer.fromNumber \x3d function(value) {\n if (isNaN(value) || !isFinite(value)) {\n return goog.math.Integer.ZERO;\n } else if (value \x3c 0) {\n return goog.math.Integer.fromNumber(-value).negate();\n } else {\n var bits \x3d [];\n var pow \x3d 1;\n for (var i \x3d 0; value \x3e\x3d pow; i++) {\n bits[i] \x3d value / pow | 0;\n pow *\x3d goog.math.Integer.TWO_PWR_32_DBL_;\n }\n return new goog.math.Integer(bits, 0);\n }\n};\ngoog.math.Integer.fromBits \x3d function(bits) {\n var high \x3d bits[bits.length - 1];\n return new goog.math.Integer(bits, high \x26 1 \x3c\x3c 31 ? -1 : 0);\n};\ngoog.math.Integer.fromString \x3d function(str, opt_radix) {\n if (str.length \x3d\x3d 0) {\n throw new Error(\x22number format error: empty string\x22);\n }\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (str.charAt(0) \x3d\x3d \x22-\x22) {\n return goog.math.Integer.fromString(str.substring(1), radix).negate();\n } else if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n throw new Error(\x27number format error: interior \x22-\x22 character\x27);\n }\n var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 8));\n var result \x3d goog.math.Integer.ZERO;\n for (var i \x3d 0; i \x3c str.length; i +\x3d 8) {\n var size \x3d Math.min(8, str.length - i);\n var value \x3d parseInt(str.substring(i, i + size), radix);\n if (size \x3c 8) {\n var power \x3d goog.math.Integer.fromNumber(Math.pow(radix, size));\n result \x3d result.multiply(power).add(goog.math.Integer.fromNumber(value));\n } else {\n result \x3d result.multiply(radixToPower);\n result \x3d result.add(goog.math.Integer.fromNumber(value));\n }\n }\n return result;\n};\ngoog.math.Integer.TWO_PWR_32_DBL_ \x3d (1 \x3c\x3c 16) * (1 \x3c\x3c 16);\ngoog.math.Integer.ZERO \x3d goog.math.Integer.fromInt(0);\ngoog.math.Integer.ONE \x3d goog.math.Integer.fromInt(1);\ngoog.math.Integer.TWO_PWR_24_ \x3d goog.math.Integer.fromInt(1 \x3c\x3c 24);\ngoog.math.Integer.prototype.toInt \x3d function() {\n return this.bits_.length \x3e 0 ? this.bits_[0] : this.sign_;\n};\ngoog.math.Integer.prototype.toNumber \x3d function() {\n if (this.isNegative()) {\n return -this.negate().toNumber();\n } else {\n var val \x3d 0;\n var pow \x3d 1;\n for (var i \x3d 0; i \x3c this.bits_.length; i++) {\n val +\x3d this.getBitsUnsigned(i) * pow;\n pow *\x3d goog.math.Integer.TWO_PWR_32_DBL_;\n }\n return val;\n }\n};\ngoog.math.Integer.prototype.toString \x3d function(opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (this.isZero()) {\n return \x220\x22;\n } else if (this.isNegative()) {\n return \x22-\x22 + this.negate().toString(radix);\n }\n var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 6));\n var rem \x3d this;\n var result \x3d \x22\x22;\n while (true) {\n var remDiv \x3d rem.divide(radixToPower);\n var intval \x3d rem.subtract(remDiv.multiply(radixToPower)).toInt() \x3e\x3e\x3e 0;\n var digits \x3d intval.toString(radix);\n rem \x3d remDiv;\n if (rem.isZero()) {\n return digits + result;\n } else {\n while (digits.length \x3c 6) {\n digits \x3d \x220\x22 + digits;\n }\n result \x3d \x22\x22 + digits + result;\n }\n }\n};\ngoog.math.Integer.prototype.getBits \x3d function(index) {\n if (index \x3c 0) {\n return 0;\n } else if (index \x3c this.bits_.length) {\n return this.bits_[index];\n } else {\n return this.sign_;\n }\n};\ngoog.math.Integer.prototype.getBitsUnsigned \x3d function(index) {\n var val \x3d this.getBits(index);\n return val \x3e\x3d 0 ? val : goog.math.Integer.TWO_PWR_32_DBL_ + val;\n};\ngoog.math.Integer.prototype.getSign \x3d function() {\n return this.sign_;\n};\ngoog.math.Integer.prototype.isZero \x3d function() {\n if (this.sign_ !\x3d 0) {\n return false;\n }\n for (var i \x3d 0; i \x3c this.bits_.length; i++) {\n if (this.bits_[i] !\x3d 0) {\n return false;\n }\n }\n return true;\n};\ngoog.math.Integer.prototype.isNegative \x3d function() {\n return this.sign_ \x3d\x3d -1;\n};\ngoog.math.Integer.prototype.isOdd \x3d function() {\n return this.bits_.length \x3d\x3d 0 \x26\x26 this.sign_ \x3d\x3d -1 || this.bits_.length \x3e 0 \x26\x26 (this.bits_[0] \x26 1) !\x3d 0;\n};\ngoog.math.Integer.prototype.equals \x3d function(other) {\n if (this.sign_ !\x3d other.sign_) {\n return false;\n }\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n for (var i \x3d 0; i \x3c len; i++) {\n if (this.getBits(i) !\x3d other.getBits(i)) {\n return false;\n }\n }\n return true;\n};\ngoog.math.Integer.prototype.notEquals \x3d function(other) {\n return !this.equals(other);\n};\ngoog.math.Integer.prototype.greaterThan \x3d function(other) {\n return this.compare(other) \x3e 0;\n};\ngoog.math.Integer.prototype.greaterThanOrEqual \x3d function(other) {\n return this.compare(other) \x3e\x3d 0;\n};\ngoog.math.Integer.prototype.lessThan \x3d function(other) {\n return this.compare(other) \x3c 0;\n};\ngoog.math.Integer.prototype.lessThanOrEqual \x3d function(other) {\n return this.compare(other) \x3c\x3d 0;\n};\ngoog.math.Integer.prototype.compare \x3d function(other) {\n var diff \x3d this.subtract(other);\n if (diff.isNegative()) {\n return -1;\n } else if (diff.isZero()) {\n return 0;\n } else {\n return +1;\n }\n};\ngoog.math.Integer.prototype.shorten \x3d function(numBits) {\n var arr_index \x3d numBits - 1 \x3e\x3e 5;\n var bit_index \x3d (numBits - 1) % 32;\n var bits \x3d [];\n for (var i \x3d 0; i \x3c arr_index; i++) {\n bits[i] \x3d this.getBits(i);\n }\n var sigBits \x3d bit_index \x3d\x3d 31 ? 4294967295 : (1 \x3c\x3c bit_index + 1) - 1;\n var val \x3d this.getBits(arr_index) \x26 sigBits;\n if (val \x26 1 \x3c\x3c bit_index) {\n val |\x3d 4294967295 - sigBits;\n bits[arr_index] \x3d val;\n return new goog.math.Integer(bits, -1);\n } else {\n bits[arr_index] \x3d val;\n return new goog.math.Integer(bits, 0);\n }\n};\ngoog.math.Integer.prototype.negate \x3d function() {\n return this.not().add(goog.math.Integer.ONE);\n};\ngoog.math.Integer.prototype.abs \x3d function() {\n return this.isNegative() ? this.negate() : this;\n};\ngoog.math.Integer.prototype.add \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n var carry \x3d 0;\n for (var i \x3d 0; i \x3c\x3d len; i++) {\n var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n var a0 \x3d this.getBits(i) \x26 65535;\n var b1 \x3d other.getBits(i) \x3e\x3e\x3e 16;\n var b0 \x3d other.getBits(i) \x26 65535;\n var c0 \x3d carry + a0 + b0;\n var c1 \x3d (c0 \x3e\x3e\x3e 16) + a1 + b1;\n carry \x3d c1 \x3e\x3e\x3e 16;\n c0 \x26\x3d 65535;\n c1 \x26\x3d 65535;\n arr[i] \x3d c1 \x3c\x3c 16 | c0;\n }\n return goog.math.Integer.fromBits(arr);\n};\ngoog.math.Integer.prototype.subtract \x3d function(other) {\n return this.add(other.negate());\n};\ngoog.math.Integer.prototype.multiply \x3d function(other) {\n if (this.isZero()) {\n return goog.math.Integer.ZERO;\n } else if (other.isZero()) {\n return goog.math.Integer.ZERO;\n }\n if (this.isNegative()) {\n if (other.isNegative()) {\n return this.negate().multiply(other.negate());\n } else {\n return this.negate().multiply(other).negate();\n }\n } else if (other.isNegative()) {\n return this.multiply(other.negate()).negate();\n }\n if (this.lessThan(goog.math.Integer.TWO_PWR_24_) \x26\x26 other.lessThan(goog.math.Integer.TWO_PWR_24_)) {\n return goog.math.Integer.fromNumber(this.toNumber() * other.toNumber());\n }\n var len \x3d this.bits_.length + other.bits_.length;\n var arr \x3d [];\n for (var i \x3d 0; i \x3c 2 * len; i++) {\n arr[i] \x3d 0;\n }\n for (var i \x3d 0; i \x3c this.bits_.length; i++) {\n for (var j \x3d 0; j \x3c other.bits_.length; j++) {\n var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n var a0 \x3d this.getBits(i) \x26 65535;\n var b1 \x3d other.getBits(j) \x3e\x3e\x3e 16;\n var b0 \x3d other.getBits(j) \x26 65535;\n arr[2 * i + 2 * j] +\x3d a0 * b0;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j);\n arr[2 * i + 2 * j + 1] +\x3d a1 * b0;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n arr[2 * i + 2 * j + 1] +\x3d a0 * b1;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n arr[2 * i + 2 * j + 2] +\x3d a1 * b1;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 2);\n }\n }\n for (var i \x3d 0; i \x3c len; i++) {\n arr[i] \x3d arr[2 * i + 1] \x3c\x3c 16 | arr[2 * i];\n }\n for (var i \x3d len; i \x3c 2 * len; i++) {\n arr[i] \x3d 0;\n }\n return new goog.math.Integer(arr, 0);\n};\ngoog.math.Integer.carry16_ \x3d function(bits, index) {\n while ((bits[index] \x26 65535) !\x3d bits[index]) {\n bits[index + 1] +\x3d bits[index] \x3e\x3e\x3e 16;\n bits[index] \x26\x3d 65535;\n index++;\n }\n};\ngoog.math.Integer.prototype.slowDivide_ \x3d function(other) {\n if (this.isNegative() || other.isNegative()) {\n throw new Error(\x22slowDivide_ only works with positive integers.\x22);\n }\n var twoPower \x3d goog.math.Integer.ONE;\n var multiple \x3d other;\n while (multiple.lessThanOrEqual(this)) {\n twoPower \x3d twoPower.shiftLeft(1);\n multiple \x3d multiple.shiftLeft(1);\n }\n var res \x3d twoPower.shiftRight(1);\n var total \x3d multiple.shiftRight(1);\n var total2;\n multiple \x3d multiple.shiftRight(2);\n twoPower \x3d twoPower.shiftRight(2);\n while (!multiple.isZero()) {\n total2 \x3d total.add(multiple);\n if (total2.lessThanOrEqual(this)) {\n res \x3d res.add(twoPower);\n total \x3d total2;\n }\n multiple \x3d multiple.shiftRight(1);\n twoPower \x3d twoPower.shiftRight(1);\n }\n var remainder \x3d this.subtract(res.multiply(other));\n return new goog.math.Integer.DivisionResult(res, remainder);\n};\ngoog.math.Integer.prototype.divide \x3d function(other) {\n return this.divideAndRemainder(other).quotient;\n};\ngoog.math.Integer.DivisionResult \x3d function(quotient, remainder) {\n this.quotient \x3d quotient;\n this.remainder \x3d remainder;\n};\ngoog.math.Integer.prototype.divideAndRemainder \x3d function(other) {\n if (other.isZero()) {\n throw new Error(\x22division by zero\x22);\n } else if (this.isZero()) {\n return new goog.math.Integer.DivisionResult(goog.math.Integer.ZERO, goog.math.Integer.ZERO);\n }\n if (this.isNegative()) {\n var result \x3d this.negate().divideAndRemainder(other);\n return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder.negate());\n } else if (other.isNegative()) {\n var result \x3d this.divideAndRemainder(other.negate());\n return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder);\n }\n if (this.bits_.length \x3e 30) {\n return this.slowDivide_(other);\n }\n var res \x3d goog.math.Integer.ZERO;\n var rem \x3d this;\n while (rem.greaterThanOrEqual(other)) {\n var approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n var approxRes \x3d goog.math.Integer.fromNumber(approx);\n var approxRem \x3d approxRes.multiply(other);\n while (approxRem.isNegative() || approxRem.greaterThan(rem)) {\n approx -\x3d delta;\n approxRes \x3d goog.math.Integer.fromNumber(approx);\n approxRem \x3d approxRes.multiply(other);\n }\n if (approxRes.isZero()) {\n approxRes \x3d goog.math.Integer.ONE;\n }\n res \x3d res.add(approxRes);\n rem \x3d rem.subtract(approxRem);\n }\n return new goog.math.Integer.DivisionResult(res, rem);\n};\ngoog.math.Integer.prototype.modulo \x3d function(other) {\n return this.divideAndRemainder(other).remainder;\n};\ngoog.math.Integer.prototype.not \x3d function() {\n var len \x3d this.bits_.length;\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n arr[i] \x3d ~this.bits_[i];\n }\n return new goog.math.Integer(arr, ~this.sign_);\n};\ngoog.math.Integer.prototype.and \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) \x26 other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ \x26 other.sign_);\n};\ngoog.math.Integer.prototype.or \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) | other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ | other.sign_);\n};\ngoog.math.Integer.prototype.xor \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) ^ other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ ^ other.sign_);\n};\ngoog.math.Integer.prototype.shiftLeft \x3d function(numBits) {\n var arr_delta \x3d numBits \x3e\x3e 5;\n var bit_delta \x3d numBits % 32;\n var len \x3d this.bits_.length + arr_delta + (bit_delta \x3e 0 ? 1 : 0);\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n if (bit_delta \x3e 0) {\n arr[i] \x3d this.getBits(i - arr_delta) \x3c\x3c bit_delta | this.getBits(i - arr_delta - 1) \x3e\x3e\x3e 32 - bit_delta;\n } else {\n arr[i] \x3d this.getBits(i - arr_delta);\n }\n }\n return new goog.math.Integer(arr, this.sign_);\n};\ngoog.math.Integer.prototype.shiftRight \x3d function(numBits) {\n var arr_delta \x3d numBits \x3e\x3e 5;\n var bit_delta \x3d numBits % 32;\n var len \x3d this.bits_.length - arr_delta;\n var arr \x3d [];\n for (var i \x3d 0; i \x3c len; i++) {\n if (bit_delta \x3e 0) {\n arr[i] \x3d this.getBits(i + arr_delta) \x3e\x3e\x3e bit_delta | this.getBits(i + arr_delta + 1) \x3c\x3c 32 - bit_delta;\n } else {\n arr[i] \x3d this.getBits(i + arr_delta);\n }\n }\n return new goog.math.Integer(arr, this.sign_);\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.asserts.js", true , "goog.provide(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.dom.asserts.assertIsLocation \x3d function(o) {\n if (goog.asserts.ENABLE_ASSERTS) {\n var win \x3d goog.dom.asserts.getWindow_(o);\n if (win) {\n if (!o || !(o instanceof win.Location) \x26\x26 o instanceof win.Element) {\n goog.asserts.fail(\x22Argument is not a Location (or a non-Element mock); got: %s\x22, goog.dom.asserts.debugStringForType_(o));\n }\n }\n }\n return o;\n};\ngoog.dom.asserts.assertIsElementType_ \x3d function(o, typename) {\n if (goog.asserts.ENABLE_ASSERTS) {\n var win \x3d goog.dom.asserts.getWindow_(o);\n if (win \x26\x26 typeof win[typename] !\x3d \x22undefined\x22) {\n if (!o || !(o instanceof win[typename]) \x26\x26 (o instanceof win.Location || o instanceof win.Element)) {\n goog.asserts.fail(\x22Argument is not a %s (or a non-Element, non-Location mock); \x22 + \x22got: %s\x22, typename, goog.dom.asserts.debugStringForType_(o));\n }\n }\n }\n return o;\n};\ngoog.dom.asserts.assertIsHTMLAnchorElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLAnchorElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLButtonElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLButtonElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLLinkElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLLinkElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLImageElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLImageElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLAudioElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLAudioElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLVideoElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLVideoElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLInputElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLInputElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLTextAreaElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLTextAreaElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLCanvasElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLCanvasElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLEmbedElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLEmbedElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLFormElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLFormElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLFrameElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLFrameElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLIFrameElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLIFrameElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLObjectElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLObjectElement\x22);\n};\ngoog.dom.asserts.assertIsHTMLScriptElement \x3d function(o) {\n return goog.dom.asserts.assertIsElementType_(o, \x22HTMLScriptElement\x22);\n};\ngoog.dom.asserts.debugStringForType_ \x3d function(value) {\n if (goog.isObject(value)) {\n try {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } catch (e) {\n return \x22\\x3cobject could not be stringified\\x3e\x22;\n }\n } else {\n return value \x3d\x3d\x3d undefined ? \x22undefined\x22 : value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n};\ngoog.dom.asserts.getWindow_ \x3d function(o) {\n try {\n var doc \x3d o \x26\x26 o.ownerDocument;\n var win \x3d doc \x26\x26 (doc.defaultView || doc.parentWindow);\n win \x3d win || goog.global;\n if (win.Element \x26\x26 win.Location) {\n return win;\n }\n } catch (ex) {\n }\n return null;\n};\n"); +SHADOW_ENV.evalLoad("goog.functions.functions.js", true , "goog.provide(\x22goog.functions\x22);\ngoog.functions.constant \x3d function(retValue) {\n return function() {\n return retValue;\n };\n};\ngoog.functions.FALSE \x3d function() {\n return false;\n};\ngoog.functions.TRUE \x3d function() {\n return true;\n};\ngoog.functions.NULL \x3d function() {\n return null;\n};\ngoog.functions.UNDEFINED \x3d function() {\n return undefined;\n};\ngoog.functions.EMPTY \x3d goog.functions.UNDEFINED;\ngoog.functions.identity \x3d function(opt_returnValue, var_args) {\n return opt_returnValue;\n};\ngoog.functions.error \x3d function(message) {\n return function() {\n throw new Error(message);\n };\n};\ngoog.functions.fail \x3d function(err) {\n return function() {\n throw err;\n };\n};\ngoog.functions.lock \x3d function(f, opt_numArgs) {\n opt_numArgs \x3d opt_numArgs || 0;\n return function() {\n const self \x3d this;\n return f.apply(self, Array.prototype.slice.call(arguments, 0, opt_numArgs));\n };\n};\ngoog.functions.nth \x3d function(n) {\n return function() {\n return arguments[n];\n };\n};\ngoog.functions.partialRight \x3d function(fn, var_args) {\n const rightArgs \x3d Array.prototype.slice.call(arguments, 1);\n return function() {\n let self \x3d this;\n if (self \x3d\x3d\x3d goog.global) {\n self \x3d undefined;\n }\n const newArgs \x3d Array.prototype.slice.call(arguments);\n newArgs.push.apply(newArgs, rightArgs);\n return fn.apply(self, newArgs);\n };\n};\ngoog.functions.withReturnValue \x3d function(f, retValue) {\n return goog.functions.sequence(f, goog.functions.constant(retValue));\n};\ngoog.functions.equalTo \x3d function(value, opt_useLooseComparison) {\n return function(other) {\n return opt_useLooseComparison ? value \x3d\x3d other : value \x3d\x3d\x3d other;\n };\n};\ngoog.functions.compose \x3d function(fn, var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n let result;\n if (length) {\n result \x3d functions[length - 1].apply(self, arguments);\n }\n for (let i \x3d length - 2; i \x3e\x3d 0; i--) {\n result \x3d functions[i].call(self, result);\n }\n return result;\n };\n};\ngoog.functions.sequence \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n let result;\n for (let i \x3d 0; i \x3c length; i++) {\n result \x3d functions[i].apply(self, arguments);\n }\n return result;\n };\n};\ngoog.functions.and \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n for (let i \x3d 0; i \x3c length; i++) {\n if (!functions[i].apply(self, arguments)) {\n return false;\n }\n }\n return true;\n };\n};\ngoog.functions.or \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n for (let i \x3d 0; i \x3c length; i++) {\n if (functions[i].apply(self, arguments)) {\n return true;\n }\n }\n return false;\n };\n};\ngoog.functions.not \x3d function(f) {\n return function() {\n const self \x3d this;\n return !f.apply(self, arguments);\n };\n};\ngoog.functions.create \x3d function(constructor, var_args) {\n const temp \x3d function() {\n };\n temp.prototype \x3d constructor.prototype;\n const obj \x3d new temp();\n constructor.apply(obj, Array.prototype.slice.call(arguments, 1));\n return obj;\n};\ngoog.functions.CACHE_RETURN_VALUE \x3d goog.define(\x22goog.functions.CACHE_RETURN_VALUE\x22, true);\ngoog.functions.cacheReturnValue \x3d function(fn) {\n let called \x3d false;\n let value;\n return function() {\n if (!goog.functions.CACHE_RETURN_VALUE) {\n return fn();\n }\n if (!called) {\n value \x3d fn();\n called \x3d true;\n }\n return value;\n };\n};\ngoog.functions.once \x3d function(f) {\n let inner \x3d f;\n return function() {\n if (inner) {\n const tmp \x3d inner;\n inner \x3d null;\n tmp();\n }\n };\n};\ngoog.functions.debounce \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n return function(var_args) {\n goog.global.clearTimeout(timeout);\n const args \x3d arguments;\n timeout \x3d goog.global.setTimeout(function() {\n f.apply(opt_scope, args);\n }, interval);\n };\n};\ngoog.functions.throttle \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n let shouldFire \x3d false;\n let storedArgs \x3d [];\n const handleTimeout \x3d function() {\n timeout \x3d 0;\n if (shouldFire) {\n shouldFire \x3d false;\n fire();\n }\n };\n const fire \x3d function() {\n timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n let args \x3d storedArgs;\n storedArgs \x3d [];\n f.apply(opt_scope, args);\n };\n return function(var_args) {\n storedArgs \x3d arguments;\n if (!timeout) {\n fire();\n } else {\n shouldFire \x3d true;\n }\n };\n};\ngoog.functions.rateLimit \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n const handleTimeout \x3d function() {\n timeout \x3d 0;\n };\n return function(var_args) {\n if (!timeout) {\n timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n f.apply(opt_scope, arguments);\n }\n };\n};\ngoog.functions.isFunction \x3d val \x3d\x3e {\n return typeof val \x3d\x3d\x3d \x22function\x22;\n};\n"); +SHADOW_ENV.evalLoad("goog.string.typedstring.js", true , "goog.provide(\x22goog.string.TypedString\x22);\ngoog.string.TypedString \x3d function() {\n};\ngoog.string.TypedString.prototype.implementsGoogStringTypedString;\ngoog.string.TypedString.prototype.getTypedStringValue;\n"); +SHADOW_ENV.evalLoad("goog.string.const.js", true , "goog.provide(\x22goog.string.Const\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.string.Const \x3d function(opt_token, opt_content) {\n this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ \x3d opt_token \x3d\x3d\x3d goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x26\x26 opt_content || \x22\x22;\n this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d goog.string.Const.TYPE_MARKER_;\n};\ngoog.string.Const.prototype.implementsGoogStringTypedString \x3d true;\ngoog.string.Const.prototype.getTypedStringValue \x3d function() {\n return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n};\nif (goog.DEBUG) {\n goog.string.Const.prototype.toString \x3d function() {\n return \x22Const{\x22 + this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ + \x22}\x22;\n };\n}\ngoog.string.Const.unwrap \x3d function(stringConst) {\n if (stringConst instanceof goog.string.Const \x26\x26 stringConst.constructor \x3d\x3d\x3d goog.string.Const \x26\x26 stringConst.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d\x3d\x3d goog.string.Const.TYPE_MARKER_) {\n return stringConst.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n } else {\n goog.asserts.fail(\x22expected object of type Const, got \x27\x22 + stringConst + \x22\x27\x22);\n return \x22type_error:Const\x22;\n }\n};\ngoog.string.Const.from \x3d function(s) {\n return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_, s);\n};\ngoog.string.Const.TYPE_MARKER_ \x3d {};\ngoog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.string.Const.EMPTY \x3d goog.string.Const.from(\x22\x22);\n"); +SHADOW_ENV.evalLoad("goog.i18n.bidi.js", true , "goog.provide(\x22goog.i18n.bidi\x22);\ngoog.provide(\x22goog.i18n.bidi.Dir\x22);\ngoog.provide(\x22goog.i18n.bidi.DirectionalString\x22);\ngoog.provide(\x22goog.i18n.bidi.Format\x22);\ngoog.i18n.bidi.FORCE_RTL \x3d goog.define(\x22goog.i18n.bidi.FORCE_RTL\x22, false);\ngoog.i18n.bidi.IS_RTL \x3d goog.i18n.bidi.FORCE_RTL || (goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22ar\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22fa\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22he\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22iw\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22ps\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22sd\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22ug\x22 || goog.LOCALE.substring(0, 2).toLowerCase() \x3d\x3d \x22ur\x22 || goog.LOCALE.substring(0, \n2).toLowerCase() \x3d\x3d \x22yi\x22) \x26\x26 (goog.LOCALE.length \x3d\x3d 2 || goog.LOCALE.substring(2, 3) \x3d\x3d \x22-\x22 || goog.LOCALE.substring(2, 3) \x3d\x3d \x22_\x22) || goog.LOCALE.length \x3e\x3d 3 \x26\x26 goog.LOCALE.substring(0, 3).toLowerCase() \x3d\x3d \x22ckb\x22 \x26\x26 (goog.LOCALE.length \x3d\x3d 3 || goog.LOCALE.substring(3, 4) \x3d\x3d \x22-\x22 || goog.LOCALE.substring(3, 4) \x3d\x3d \x22_\x22) || goog.LOCALE.length \x3e\x3d 7 \x26\x26 ((goog.LOCALE.substring(2, 3) \x3d\x3d \x22-\x22 || goog.LOCALE.substring(2, 3) \x3d\x3d \x22_\x22) \x26\x26 (goog.LOCALE.substring(3, 7).toLowerCase() \x3d\x3d \x22adlm\x22 || goog.LOCALE.substring(3, \n7).toLowerCase() \x3d\x3d \x22arab\x22 || goog.LOCALE.substring(3, 7).toLowerCase() \x3d\x3d \x22hebr\x22 || goog.LOCALE.substring(3, 7).toLowerCase() \x3d\x3d \x22nkoo\x22 || goog.LOCALE.substring(3, 7).toLowerCase() \x3d\x3d \x22rohg\x22 || goog.LOCALE.substring(3, 7).toLowerCase() \x3d\x3d \x22thaa\x22)) || goog.LOCALE.length \x3e\x3d 8 \x26\x26 ((goog.LOCALE.substring(3, 4) \x3d\x3d \x22-\x22 || goog.LOCALE.substring(3, 4) \x3d\x3d \x22_\x22) \x26\x26 (goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \x22adlm\x22 || goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \x22arab\x22 || goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \n\x22hebr\x22 || goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \x22nkoo\x22 || goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \x22rohg\x22 || goog.LOCALE.substring(4, 8).toLowerCase() \x3d\x3d \x22thaa\x22));\ngoog.i18n.bidi.Format \x3d {LRE:\x22\u202a\x22, RLE:\x22\u202b\x22, PDF:\x22\u202c\x22, LRM:\x22\u200e\x22, RLM:\x22\u200f\x22};\ngoog.i18n.bidi.Dir \x3d {LTR:1, RTL:-1, NEUTRAL:0};\ngoog.i18n.bidi.RIGHT \x3d \x22right\x22;\ngoog.i18n.bidi.LEFT \x3d \x22left\x22;\ngoog.i18n.bidi.I18N_RIGHT \x3d goog.i18n.bidi.IS_RTL ? goog.i18n.bidi.LEFT : goog.i18n.bidi.RIGHT;\ngoog.i18n.bidi.I18N_LEFT \x3d goog.i18n.bidi.IS_RTL ? goog.i18n.bidi.RIGHT : goog.i18n.bidi.LEFT;\ngoog.i18n.bidi.toDir \x3d function(givenDir, opt_noNeutral) {\n if (typeof givenDir \x3d\x3d \x22number\x22) {\n return givenDir \x3e 0 ? goog.i18n.bidi.Dir.LTR : givenDir \x3c 0 ? goog.i18n.bidi.Dir.RTL : opt_noNeutral ? null : goog.i18n.bidi.Dir.NEUTRAL;\n } else if (givenDir \x3d\x3d null) {\n return null;\n } else {\n return givenDir ? goog.i18n.bidi.Dir.RTL : goog.i18n.bidi.Dir.LTR;\n }\n};\ngoog.i18n.bidi.ltrChars_ \x3d \x22A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02b8\u0300-\u0590\u0900-\u1fff\x22 + \x22\u200e\u2c00-\\ud801\\ud804-\\ud839\\ud83c-\\udbff\x22 + \x22\uf900-\ufb1c\ufe00-\ufe6f\ufefd-\uffff\x22;\ngoog.i18n.bidi.rtlChars_ \x3d \x22\u0591-\u06ef\u06fa-\u08ff\u200f\\ud802-\\ud803\\ud83a-\\ud83b\x22 + \x22\ufb1d-\ufdff\ufe70-\ufefc\x22;\ngoog.i18n.bidi.htmlSkipReg_ \x3d /\x3c[^\x3e]*\x3e|\x26[^;]+;/g;\ngoog.i18n.bidi.stripHtmlIfNeeded_ \x3d function(str, opt_isStripNeeded) {\n return opt_isStripNeeded ? str.replace(goog.i18n.bidi.htmlSkipReg_, \x22\x22) : str;\n};\ngoog.i18n.bidi.rtlCharReg_ \x3d new RegExp(\x22[\x22 + goog.i18n.bidi.rtlChars_ + \x22]\x22);\ngoog.i18n.bidi.ltrCharReg_ \x3d new RegExp(\x22[\x22 + goog.i18n.bidi.ltrChars_ + \x22]\x22);\ngoog.i18n.bidi.hasAnyRtl \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.hasRtlChar \x3d goog.i18n.bidi.hasAnyRtl;\ngoog.i18n.bidi.hasAnyLtr \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.ltrRe_ \x3d new RegExp(\x22^[\x22 + goog.i18n.bidi.ltrChars_ + \x22]\x22);\ngoog.i18n.bidi.rtlRe_ \x3d new RegExp(\x22^[\x22 + goog.i18n.bidi.rtlChars_ + \x22]\x22);\ngoog.i18n.bidi.isRtlChar \x3d function(str) {\n return goog.i18n.bidi.rtlRe_.test(str);\n};\ngoog.i18n.bidi.isLtrChar \x3d function(str) {\n return goog.i18n.bidi.ltrRe_.test(str);\n};\ngoog.i18n.bidi.isNeutralChar \x3d function(str) {\n return !goog.i18n.bidi.isLtrChar(str) \x26\x26 !goog.i18n.bidi.isRtlChar(str);\n};\ngoog.i18n.bidi.ltrDirCheckRe_ \x3d new RegExp(\x22^[^\x22 + goog.i18n.bidi.rtlChars_ + \x22]*[\x22 + goog.i18n.bidi.ltrChars_ + \x22]\x22);\ngoog.i18n.bidi.rtlDirCheckRe_ \x3d new RegExp(\x22^[^\x22 + goog.i18n.bidi.ltrChars_ + \x22]*[\x22 + goog.i18n.bidi.rtlChars_ + \x22]\x22);\ngoog.i18n.bidi.startsWithRtl \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.isRtlText \x3d goog.i18n.bidi.startsWithRtl;\ngoog.i18n.bidi.startsWithLtr \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.isLtrText \x3d goog.i18n.bidi.startsWithLtr;\ngoog.i18n.bidi.isRequiredLtrRe_ \x3d /^http:\\/\\/.*/;\ngoog.i18n.bidi.isNeutralText \x3d function(str, opt_isHtml) {\n str \x3d goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml);\n return goog.i18n.bidi.isRequiredLtrRe_.test(str) || !goog.i18n.bidi.hasAnyLtr(str) \x26\x26 !goog.i18n.bidi.hasAnyRtl(str);\n};\ngoog.i18n.bidi.ltrExitDirCheckRe_ \x3d new RegExp(\x22[\x22 + goog.i18n.bidi.ltrChars_ + \x22]\x22 + \x22[^\x22 + goog.i18n.bidi.rtlChars_ + \x22]*$\x22);\ngoog.i18n.bidi.rtlExitDirCheckRe_ \x3d new RegExp(\x22[\x22 + goog.i18n.bidi.rtlChars_ + \x22]\x22 + \x22[^\x22 + goog.i18n.bidi.ltrChars_ + \x22]*$\x22);\ngoog.i18n.bidi.endsWithLtr \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.isLtrExitText \x3d goog.i18n.bidi.endsWithLtr;\ngoog.i18n.bidi.endsWithRtl \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml));\n};\ngoog.i18n.bidi.isRtlExitText \x3d goog.i18n.bidi.endsWithRtl;\ngoog.i18n.bidi.rtlLocalesRe_ \x3d new RegExp(\x22^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|\x22 + \x22.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))\x22 + \x22(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)\x22, \x22i\x22);\ngoog.i18n.bidi.isRtlLanguage \x3d function(lang) {\n return goog.i18n.bidi.rtlLocalesRe_.test(lang);\n};\ngoog.i18n.bidi.bracketGuardTextRe_ \x3d /(\\(.*?\\)+)|(\\[.*?\\]+)|(\\{.*?\\}+)|(\x3c.*?\x3e+)/g;\ngoog.i18n.bidi.guardBracketInText \x3d function(s, opt_isRtlContext) {\n const useRtl \x3d opt_isRtlContext \x3d\x3d\x3d undefined ? goog.i18n.bidi.hasAnyRtl(s) : opt_isRtlContext;\n const mark \x3d useRtl ? goog.i18n.bidi.Format.RLM : goog.i18n.bidi.Format.LRM;\n return s.replace(goog.i18n.bidi.bracketGuardTextRe_, mark + \x22$\\x26\x22 + mark);\n};\ngoog.i18n.bidi.enforceRtlInHtml \x3d function(html) {\n if (html.charAt(0) \x3d\x3d \x22\\x3c\x22) {\n return html.replace(/\x3c\\w+/, \x22$\\x26 dir\\x3drtl\x22);\n }\n return \x22\\n\\x3cspan dir\\x3drtl\\x3e\x22 + html + \x22\\x3c/span\\x3e\x22;\n};\ngoog.i18n.bidi.enforceRtlInText \x3d function(text) {\n return goog.i18n.bidi.Format.RLE + text + goog.i18n.bidi.Format.PDF;\n};\ngoog.i18n.bidi.enforceLtrInHtml \x3d function(html) {\n if (html.charAt(0) \x3d\x3d \x22\\x3c\x22) {\n return html.replace(/\x3c\\w+/, \x22$\\x26 dir\\x3dltr\x22);\n }\n return \x22\\n\\x3cspan dir\\x3dltr\\x3e\x22 + html + \x22\\x3c/span\\x3e\x22;\n};\ngoog.i18n.bidi.enforceLtrInText \x3d function(text) {\n return goog.i18n.bidi.Format.LRE + text + goog.i18n.bidi.Format.PDF;\n};\ngoog.i18n.bidi.dimensionsRe_ \x3d /:\\s*([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)/g;\ngoog.i18n.bidi.leftRe_ \x3d /left/gi;\ngoog.i18n.bidi.rightRe_ \x3d /right/gi;\ngoog.i18n.bidi.tempRe_ \x3d /%%%%/g;\ngoog.i18n.bidi.mirrorCSS \x3d function(cssStr) {\n return cssStr.replace(goog.i18n.bidi.dimensionsRe_, \x22:$1 $4 $3 $2\x22).replace(goog.i18n.bidi.leftRe_, \x22%%%%\x22).replace(goog.i18n.bidi.rightRe_, goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_, goog.i18n.bidi.RIGHT);\n};\ngoog.i18n.bidi.doubleQuoteSubstituteRe_ \x3d /([\\u0591-\\u05f2])\x22/g;\ngoog.i18n.bidi.singleQuoteSubstituteRe_ \x3d /([\\u0591-\\u05f2])\x27/g;\ngoog.i18n.bidi.normalizeHebrewQuote \x3d function(str) {\n return str.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_, \x22$1\u05f4\x22).replace(goog.i18n.bidi.singleQuoteSubstituteRe_, \x22$1\u05f3\x22);\n};\ngoog.i18n.bidi.wordSeparatorRe_ \x3d /\\s+/;\ngoog.i18n.bidi.hasNumeralsRe_ \x3d /[\\d\\u06f0-\\u06f9]/;\ngoog.i18n.bidi.rtlDetectionThreshold_ \x3d 0.40;\ngoog.i18n.bidi.estimateDirection \x3d function(str, opt_isHtml) {\n let rtlCount \x3d 0;\n let totalCount \x3d 0;\n let hasWeaklyLtr \x3d false;\n const tokens \x3d goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml).split(goog.i18n.bidi.wordSeparatorRe_);\n for (let i \x3d 0; i \x3c tokens.length; i++) {\n const token \x3d tokens[i];\n if (goog.i18n.bidi.startsWithRtl(token)) {\n rtlCount++;\n totalCount++;\n } else if (goog.i18n.bidi.isRequiredLtrRe_.test(token)) {\n hasWeaklyLtr \x3d true;\n } else if (goog.i18n.bidi.hasAnyLtr(token)) {\n totalCount++;\n } else if (goog.i18n.bidi.hasNumeralsRe_.test(token)) {\n hasWeaklyLtr \x3d true;\n }\n }\n return totalCount \x3d\x3d 0 ? hasWeaklyLtr ? goog.i18n.bidi.Dir.LTR : goog.i18n.bidi.Dir.NEUTRAL : rtlCount / totalCount \x3e goog.i18n.bidi.rtlDetectionThreshold_ ? goog.i18n.bidi.Dir.RTL : goog.i18n.bidi.Dir.LTR;\n};\ngoog.i18n.bidi.detectRtlDirectionality \x3d function(str, opt_isHtml) {\n return goog.i18n.bidi.estimateDirection(str, opt_isHtml) \x3d\x3d goog.i18n.bidi.Dir.RTL;\n};\ngoog.i18n.bidi.setElementDirAndAlign \x3d function(element, dir) {\n if (element) {\n const htmlElement \x3d element;\n dir \x3d goog.i18n.bidi.toDir(dir);\n if (dir) {\n htmlElement.style.textAlign \x3d dir \x3d\x3d goog.i18n.bidi.Dir.RTL ? goog.i18n.bidi.RIGHT : goog.i18n.bidi.LEFT;\n htmlElement.dir \x3d dir \x3d\x3d goog.i18n.bidi.Dir.RTL ? \x22rtl\x22 : \x22ltr\x22;\n }\n }\n};\ngoog.i18n.bidi.setElementDirByTextDirectionality \x3d function(element, text) {\n const htmlElement \x3d element;\n switch(goog.i18n.bidi.estimateDirection(text)) {\n case goog.i18n.bidi.Dir.LTR:\n if (htmlElement.dir !\x3d\x3d \x22ltr\x22) {\n htmlElement.dir \x3d \x22ltr\x22;\n }\n break;\n case goog.i18n.bidi.Dir.RTL:\n if (htmlElement.dir !\x3d\x3d \x22rtl\x22) {\n htmlElement.dir \x3d \x22rtl\x22;\n }\n break;\n default:\n htmlElement.removeAttribute(\x22dir\x22);\n }\n};\ngoog.i18n.bidi.DirectionalString \x3d function() {\n};\ngoog.i18n.bidi.DirectionalString.prototype.implementsGoogI18nBidiDirectionalString;\ngoog.i18n.bidi.DirectionalString.prototype.getDirection;\n"); +SHADOW_ENV.evalLoad("goog.html.trustedtypes.js", true , "goog.provide(\x22goog.html.trustedtypes\x22);\ngoog.html.trustedtypes.cachedPolicy_;\ngoog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse \x3d function() {\n if (!goog.TRUSTED_TYPES_POLICY_NAME) {\n return null;\n }\n if (goog.html.trustedtypes.cachedPolicy_ \x3d\x3d\x3d undefined) {\n goog.html.trustedtypes.cachedPolicy_ \x3d goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + \x22#html\x22);\n }\n return goog.html.trustedtypes.cachedPolicy_;\n};\n"); +SHADOW_ENV.evalLoad("goog.html.safescript.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeScript\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n const {fail} \x3d goog.require(\x22goog.asserts\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeScript {\n constructor(value, token) {\n this.privateDoNotAccessOrElseSafeScriptWrappedValue_ \x3d token \x3d\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE ? value : \x22\x22;\n this.implementsGoogStringTypedString \x3d true;\n }\n static fromConstant(script) {\n const scriptString \x3d Const.unwrap(script);\n if (scriptString.length \x3d\x3d\x3d 0) {\n return SafeScript.EMPTY;\n }\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(scriptString);\n }\n static fromJson(val) {\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(SafeScript.stringify_(val));\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n }\n static unwrap(safeScript) {\n return SafeScript.unwrapTrustedScript(safeScript).toString();\n }\n static unwrapTrustedScript(safeScript) {\n if (safeScript instanceof SafeScript \x26\x26 safeScript.constructor \x3d\x3d\x3d SafeScript) {\n return safeScript.privateDoNotAccessOrElseSafeScriptWrappedValue_;\n } else {\n fail(\x22expected object of type SafeScript, got \x27\x22 + safeScript + \x22\x27 of type \x22 + goog.typeOf(safeScript));\n return \x22type_error:SafeScript\x22;\n }\n }\n static stringify_(val) {\n const json \x3d JSON.stringify(val);\n return json.replace(/\x3c/g, \x22\\\\x3c\x22);\n }\n static createSafeScriptSecurityPrivateDoNotAccessOrElse(script) {\n const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n const trustedScript \x3d policy ? policy.createScript(script) : script;\n return new SafeScript(trustedScript, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n }\n SafeScript.prototype.toString \x3d function() {\n return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n };\n SafeScript.EMPTY \x3d {valueOf:function() {\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(\x22\x22);\n },}.valueOf();\n exports \x3d SafeScript;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.fs.url.js", true , "goog.provide(\x22goog.fs.url\x22);\ngoog.fs.url.createObjectUrl \x3d function(obj) {\n return goog.fs.url.getUrlObject_().createObjectURL(obj);\n};\ngoog.fs.url.revokeObjectUrl \x3d function(url) {\n goog.fs.url.getUrlObject_().revokeObjectURL(url);\n};\ngoog.fs.url.UrlObject_ \x3d function() {\n};\ngoog.fs.url.UrlObject_.prototype.createObjectURL \x3d function(arg) {\n};\ngoog.fs.url.UrlObject_.prototype.revokeObjectURL \x3d function(s) {\n};\ngoog.fs.url.getUrlObject_ \x3d function() {\n const urlObject \x3d goog.fs.url.findUrlObject_();\n if (urlObject !\x3d null) {\n return urlObject;\n } else {\n throw new Error(\x22This browser doesn\x27t seem to support blob URLs\x22);\n }\n};\ngoog.fs.url.findUrlObject_ \x3d function() {\n if (goog.global.URL !\x3d\x3d undefined \x26\x26 goog.global.URL.createObjectURL !\x3d\x3d undefined) {\n return goog.global.URL;\n } else if (goog.global.createObjectURL !\x3d\x3d undefined) {\n return goog.global;\n } else {\n return null;\n }\n};\ngoog.fs.url.browserSupportsObjectUrls \x3d function() {\n return goog.fs.url.findUrlObject_() !\x3d null;\n};\n"); +SHADOW_ENV.evalLoad("goog.fs.blob.js", true , "goog.provide(\x22goog.fs.blob\x22);\ngoog.fs.blob.getBlob \x3d function(var_args) {\n const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n if (BlobBuilder !\x3d\x3d undefined) {\n const bb \x3d new BlobBuilder();\n for (let i \x3d 0; i \x3c arguments.length; i++) {\n bb.append(arguments[i]);\n }\n return bb.getBlob();\n } else {\n return goog.fs.blob.getBlobWithProperties(Array.prototype.slice.call(arguments));\n }\n};\ngoog.fs.blob.getBlobWithProperties \x3d function(parts, opt_type, opt_endings) {\n const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n if (BlobBuilder !\x3d\x3d undefined) {\n const bb \x3d new BlobBuilder();\n for (let i \x3d 0; i \x3c parts.length; i++) {\n bb.append(parts[i], opt_endings);\n }\n return bb.getBlob(opt_type);\n } else if (goog.global.Blob !\x3d\x3d undefined) {\n const properties \x3d {};\n if (opt_type) {\n properties[\x22type\x22] \x3d opt_type;\n }\n if (opt_endings) {\n properties[\x22endings\x22] \x3d opt_endings;\n }\n return new Blob(parts, properties);\n } else {\n throw new Error(\x22This browser doesn\x27t seem to support creating Blobs\x22);\n }\n};\n"); +SHADOW_ENV.evalLoad("goog.html.trustedresourceurl.js", true , "goog.provide(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.blob\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.trustedtypes\x22);\ngoog.require(\x22goog.i18n.bidi.Dir\x22);\ngoog.require(\x22goog.i18n.bidi.DirectionalString\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.html.TrustedResourceUrl \x3d class {\n constructor(value, token) {\n this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ \x3d token \x3d\x3d\x3d goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ ? value : \x22\x22;\n }\n};\ngoog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.TrustedResourceUrl.prototype.getTypedStringValue \x3d function() {\n return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString();\n};\ngoog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString \x3d true;\ngoog.html.TrustedResourceUrl.prototype.getDirection \x3d function() {\n return goog.i18n.bidi.Dir.LTR;\n};\ngoog.html.TrustedResourceUrl.prototype.cloneWithParams \x3d function(searchParams, opt_hashParams) {\n var url \x3d goog.html.TrustedResourceUrl.unwrap(this);\n var parts \x3d goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(url);\n var urlBase \x3d parts[1];\n var urlSearch \x3d parts[2] || \x22\x22;\n var urlHash \x3d parts[3] || \x22\x22;\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(urlBase + goog.html.TrustedResourceUrl.stringifyParams_(\x22?\x22, urlSearch, searchParams) + goog.html.TrustedResourceUrl.stringifyParams_(\x22#\x22, urlHash, opt_hashParams));\n};\ngoog.html.TrustedResourceUrl.prototype.toString \x3d function() {\n return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ + \x22\x22;\n};\ngoog.html.TrustedResourceUrl.unwrap \x3d function(trustedResourceUrl) {\n return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(trustedResourceUrl).toString();\n};\ngoog.html.TrustedResourceUrl.unwrapTrustedScriptURL \x3d function(trustedResourceUrl) {\n if (trustedResourceUrl instanceof goog.html.TrustedResourceUrl \x26\x26 trustedResourceUrl.constructor \x3d\x3d\x3d goog.html.TrustedResourceUrl) {\n return trustedResourceUrl.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;\n } else {\n goog.asserts.fail(\x22expected object of type TrustedResourceUrl, got \x27\x22 + trustedResourceUrl + \x22\x27 of type \x22 + goog.typeOf(trustedResourceUrl));\n return \x22type_error:TrustedResourceUrl\x22;\n }\n};\ngoog.html.TrustedResourceUrl.format \x3d function(format, args) {\n var formatStr \x3d goog.string.Const.unwrap(format);\n if (!goog.html.TrustedResourceUrl.BASE_URL_.test(formatStr)) {\n throw new Error(\x22Invalid TrustedResourceUrl format: \x22 + formatStr);\n }\n var result \x3d formatStr.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_, function(match, id) {\n if (!Object.prototype.hasOwnProperty.call(args, id)) {\n throw new Error(\x27Found marker, \x22\x27 + id + \x27\x22, in format string, \x22\x27 + formatStr + \x27\x22, but no valid label mapping found \x27 + \x22in args: \x22 + JSON.stringify(args));\n }\n var arg \x3d args[id];\n if (arg instanceof goog.string.Const) {\n return goog.string.Const.unwrap(arg);\n } else {\n return encodeURIComponent(String(arg));\n }\n });\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(result);\n};\ngoog.html.TrustedResourceUrl.FORMAT_MARKER_ \x3d /%{(\\w+)}/g;\ngoog.html.TrustedResourceUrl.BASE_URL_ \x3d new RegExp(\x22^((https:)?//[0-9a-z.:[\\\\]-]+/\x22 + \x22|/[^/\\\\\\\\]\x22 + \x22|[^:/\\\\\\\\%]+/\x22 + \x22|[^:/\\\\\\\\%]*[?#]\x22 + \x22|about:blank#\x22 + \x22)\x22, \x22i\x22);\ngoog.html.TrustedResourceUrl.URL_PARAM_PARSER_ \x3d /^([^?#]*)(\\?[^#]*)?(#[\\s\\S]*)?/;\ngoog.html.TrustedResourceUrl.formatWithParams \x3d function(format, args, searchParams, opt_hashParams) {\n var url \x3d goog.html.TrustedResourceUrl.format(format, args);\n return url.cloneWithParams(searchParams, opt_hashParams);\n};\ngoog.html.TrustedResourceUrl.fromConstant \x3d function(url) {\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(url));\n};\ngoog.html.TrustedResourceUrl.fromConstants \x3d function(parts) {\n var unwrapped \x3d \x22\x22;\n for (var i \x3d 0; i \x3c parts.length; i++) {\n unwrapped +\x3d goog.string.Const.unwrap(parts[i]);\n }\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(unwrapped);\n};\ngoog.html.TrustedResourceUrl.fromSafeScript \x3d function(safeScript) {\n var blob \x3d goog.fs.blob.getBlobWithProperties([goog.html.SafeScript.unwrap(safeScript)], \x22text/javascript\x22);\n var url \x3d goog.fs.url.createObjectUrl(blob);\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n const policy \x3d goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n var value \x3d policy ? policy.createScriptURL(url) : url;\n return new goog.html.TrustedResourceUrl(value, goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.TrustedResourceUrl.stringifyParams_ \x3d function(prefix, currentString, params) {\n if (params \x3d\x3d null) {\n return currentString;\n }\n if (typeof params \x3d\x3d\x3d \x22string\x22) {\n return params ? prefix + encodeURIComponent(params) : \x22\x22;\n }\n for (var key in params) {\n if (Object.prototype.hasOwnProperty.call(params, key)) {\n var value \x3d params[key];\n var outputValues \x3d Array.isArray(value) ? value : [value];\n for (var i \x3d 0; i \x3c outputValues.length; i++) {\n var outputValue \x3d outputValues[i];\n if (outputValue !\x3d null) {\n if (!currentString) {\n currentString \x3d prefix;\n }\n currentString +\x3d (currentString.length \x3e prefix.length ? \x22\\x26\x22 : \x22\x22) + encodeURIComponent(key) + \x22\\x3d\x22 + encodeURIComponent(String(outputValue));\n }\n }\n }\n }\n return currentString;\n};\n"); +SHADOW_ENV.evalLoad("goog.string.internal.js", true , "goog.provide(\x22goog.string.internal\x22);\ngoog.string.internal.startsWith \x3d function(str, prefix) {\n return str.lastIndexOf(prefix, 0) \x3d\x3d 0;\n};\ngoog.string.internal.endsWith \x3d function(str, suffix) {\n const l \x3d str.length - suffix.length;\n return l \x3e\x3d 0 \x26\x26 str.indexOf(suffix, l) \x3d\x3d l;\n};\ngoog.string.internal.caseInsensitiveStartsWith \x3d function(str, prefix) {\n return goog.string.internal.caseInsensitiveCompare(prefix, str.substr(0, prefix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEndsWith \x3d function(str, suffix) {\n return goog.string.internal.caseInsensitiveCompare(suffix, str.substr(str.length - suffix.length, suffix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEquals \x3d function(str1, str2) {\n return str1.toLowerCase() \x3d\x3d str2.toLowerCase();\n};\ngoog.string.internal.isEmptyOrWhitespace \x3d function(str) {\n return /^[\\s\\xa0]*$/.test(str);\n};\ngoog.string.internal.trim \x3d goog.TRUSTED_SITE \x26\x26 String.prototype.trim ? function(str) {\n return str.trim();\n} : function(str) {\n return /^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(str)[1];\n};\ngoog.string.internal.caseInsensitiveCompare \x3d function(str1, str2) {\n const test1 \x3d String(str1).toLowerCase();\n const test2 \x3d String(str2).toLowerCase();\n if (test1 \x3c test2) {\n return -1;\n } else if (test1 \x3d\x3d test2) {\n return 0;\n } else {\n return 1;\n }\n};\ngoog.string.internal.newLineToBr \x3d function(str, opt_xml) {\n return str.replace(/(\\r\\n|\\r|\\n)/g, opt_xml ? \x22\\x3cbr /\\x3e\x22 : \x22\\x3cbr\\x3e\x22);\n};\ngoog.string.internal.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n if (opt_isLikelyToContainHtmlChars) {\n str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22).replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22).replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22).replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22).replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22).replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n return str;\n } else {\n if (!goog.string.internal.ALL_RE_.test(str)) {\n return str;\n }\n if (str.indexOf(\x22\\x26\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22);\n }\n if (str.indexOf(\x22\\x3c\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22);\n }\n if (str.indexOf(\x22\\x3e\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22);\n }\n if (str.indexOf(\x27\x22\x27) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22);\n }\n if (str.indexOf(\x22\x27\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22);\n }\n if (str.indexOf(\x22\\x00\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n }\n return str;\n }\n};\ngoog.string.internal.AMP_RE_ \x3d /\x26/g;\ngoog.string.internal.LT_RE_ \x3d /\x3c/g;\ngoog.string.internal.GT_RE_ \x3d /\x3e/g;\ngoog.string.internal.QUOT_RE_ \x3d /\x22/g;\ngoog.string.internal.SINGLE_QUOTE_RE_ \x3d /\x27/g;\ngoog.string.internal.NULL_RE_ \x3d /\\x00/g;\ngoog.string.internal.ALL_RE_ \x3d /[\\x00\x26\x3c\x3e\x22\x27]/;\ngoog.string.internal.whitespaceEscape \x3d function(str, opt_xml) {\n return goog.string.internal.newLineToBr(str.replace(/ /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.internal.contains \x3d function(str, subString) {\n return str.indexOf(subString) !\x3d -1;\n};\ngoog.string.internal.caseInsensitiveContains \x3d function(str, subString) {\n return goog.string.internal.contains(str.toLowerCase(), subString.toLowerCase());\n};\ngoog.string.internal.compareVersions \x3d function(version1, version2) {\n let order \x3d 0;\n const v1Subs \x3d goog.string.internal.trim(String(version1)).split(\x22.\x22);\n const v2Subs \x3d goog.string.internal.trim(String(version2)).split(\x22.\x22);\n const subCount \x3d Math.max(v1Subs.length, v2Subs.length);\n for (let subIdx \x3d 0; order \x3d\x3d 0 \x26\x26 subIdx \x3c subCount; subIdx++) {\n let v1Sub \x3d v1Subs[subIdx] || \x22\x22;\n let v2Sub \x3d v2Subs[subIdx] || \x22\x22;\n do {\n const v1Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v1Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n const v2Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v2Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n if (v1Comp[0].length \x3d\x3d 0 \x26\x26 v2Comp[0].length \x3d\x3d 0) {\n break;\n }\n const v1CompNum \x3d v1Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v1Comp[1], 10);\n const v2CompNum \x3d v2Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v2Comp[1], 10);\n order \x3d goog.string.internal.compareElements_(v1CompNum, v2CompNum) || goog.string.internal.compareElements_(v1Comp[2].length \x3d\x3d 0, v2Comp[2].length \x3d\x3d 0) || goog.string.internal.compareElements_(v1Comp[2], v2Comp[2]);\n v1Sub \x3d v1Comp[3];\n v2Sub \x3d v2Comp[3];\n } while (order \x3d\x3d 0);\n }\n return order;\n};\ngoog.string.internal.compareElements_ \x3d function(left, right) {\n if (left \x3c right) {\n return -1;\n } else if (left \x3e right) {\n return 1;\n }\n return 0;\n};\n"); +SHADOW_ENV.evalLoad("goog.html.safeurl.js", true , "goog.provide(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.i18n.bidi.Dir\x22);\ngoog.require(\x22goog.i18n.bidi.DirectionalString\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.html.SafeUrl \x3d class {\n constructor(value, token) {\n this.privateDoNotAccessOrElseSafeUrlWrappedValue_ \x3d token \x3d\x3d\x3d goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_ ? value : \x22\x22;\n }\n};\ngoog.html.SafeUrl.INNOCUOUS_STRING \x3d \x22about:invalid#zClosurez\x22;\ngoog.html.SafeUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.SafeUrl.prototype.getTypedStringValue \x3d function() {\n return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n};\ngoog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString \x3d true;\ngoog.html.SafeUrl.prototype.getDirection \x3d function() {\n return goog.i18n.bidi.Dir.LTR;\n};\ngoog.html.SafeUrl.prototype.toString \x3d function() {\n return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n};\ngoog.html.SafeUrl.unwrap \x3d function(safeUrl) {\n if (safeUrl instanceof goog.html.SafeUrl \x26\x26 safeUrl.constructor \x3d\x3d\x3d goog.html.SafeUrl) {\n return safeUrl.privateDoNotAccessOrElseSafeUrlWrappedValue_;\n } else {\n goog.asserts.fail(\x22expected object of type SafeUrl, got \x27\x22 + safeUrl + \x22\x27 of type \x22 + goog.typeOf(safeUrl));\n return \x22type_error:SafeUrl\x22;\n }\n};\ngoog.html.SafeUrl.fromConstant \x3d function(url) {\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(url));\n};\ngoog.html.SAFE_MIME_TYPE_PATTERN_ \x3d new RegExp(\x22^(?:audio/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|\x22 + \x22font/\\\\w+|\x22 + \x22image/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|\x22 + \x22video/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))\x22 + \x27(?:;\\\\w+\\x3d(?:\\\\w+|\x22[\\\\w;,\\x3d ]+\x22))*$\x27, \x22i\x22);\ngoog.html.SafeUrl.isSafeMimeType \x3d function(mimeType) {\n return goog.html.SAFE_MIME_TYPE_PATTERN_.test(mimeType);\n};\ngoog.html.SafeUrl.fromBlob \x3d function(blob) {\n var url \x3d goog.html.SafeUrl.isSafeMimeType(blob.type) ? goog.fs.url.createObjectUrl(blob) : goog.html.SafeUrl.INNOCUOUS_STRING;\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.revokeObjectUrl \x3d function(safeUrl) {\n var url \x3d safeUrl.getTypedStringValue();\n if (url !\x3d\x3d goog.html.SafeUrl.INNOCUOUS_STRING) {\n goog.fs.url.revokeObjectUrl(url);\n }\n};\ngoog.html.SafeUrl.fromMediaSource \x3d function(mediaSource) {\n goog.asserts.assert(\x22MediaSource\x22 in goog.global, \x22No support for MediaSource\x22);\n const url \x3d mediaSource instanceof MediaSource ? goog.fs.url.createObjectUrl(mediaSource) : goog.html.SafeUrl.INNOCUOUS_STRING;\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.DATA_URL_PATTERN_ \x3d /^data:(.*);base64,[a-z0-9+\\/]+\x3d*$/i;\ngoog.html.SafeUrl.tryFromDataUrl \x3d function(dataUrl) {\n dataUrl \x3d String(dataUrl);\n var filteredDataUrl \x3d dataUrl.replace(/(%0A|%0D)/g, \x22\x22);\n var match \x3d filteredDataUrl.match(goog.html.DATA_URL_PATTERN_);\n var valid \x3d match \x26\x26 goog.html.SafeUrl.isSafeMimeType(match[1]);\n if (valid) {\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(filteredDataUrl);\n }\n return null;\n};\ngoog.html.SafeUrl.fromDataUrl \x3d function(dataUrl) {\n return goog.html.SafeUrl.tryFromDataUrl(dataUrl) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.fromTelUrl \x3d function(telUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(telUrl, \x22tel:\x22)) {\n telUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(telUrl);\n};\ngoog.html.SIP_URL_PATTERN_ \x3d new RegExp(\x22^sip[s]?:[+a-z0-9_.!$%\\x26\x27*\\\\/\\x3d^`{|}~-]+@([a-z0-9-]+\\\\.)+[a-z0-9]{2,63}$\x22, \x22i\x22);\ngoog.html.SafeUrl.fromSipUrl \x3d function(sipUrl) {\n if (!goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(sipUrl))) {\n sipUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sipUrl);\n};\ngoog.html.SafeUrl.fromFacebookMessengerUrl \x3d function(facebookMessengerUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(facebookMessengerUrl, \x22fb-messenger://share\x22)) {\n facebookMessengerUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(facebookMessengerUrl);\n};\ngoog.html.SafeUrl.fromWhatsAppUrl \x3d function(whatsAppUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(whatsAppUrl, \x22whatsapp://send\x22)) {\n whatsAppUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(whatsAppUrl);\n};\ngoog.html.SafeUrl.fromSmsUrl \x3d function(smsUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(smsUrl, \x22sms:\x22) || !goog.html.SafeUrl.isSmsUrlBodyValid_(smsUrl)) {\n smsUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(smsUrl);\n};\ngoog.html.SafeUrl.isSmsUrlBodyValid_ \x3d function(smsUrl) {\n var hash \x3d smsUrl.indexOf(\x22#\x22);\n if (hash \x3e 0) {\n smsUrl \x3d smsUrl.substring(0, hash);\n }\n var bodyParams \x3d smsUrl.match(/[?\x26]body\x3d/gi);\n if (!bodyParams) {\n return true;\n }\n if (bodyParams.length \x3e 1) {\n return false;\n }\n var bodyValue \x3d smsUrl.match(/[?\x26]body\x3d([^\x26]*)/)[1];\n if (!bodyValue) {\n return true;\n }\n try {\n decodeURIComponent(bodyValue);\n } catch (error) {\n return false;\n }\n return /^(?:[a-z0-9\\-_.~]|%[0-9a-f]{2})+$/i.test(bodyValue);\n};\ngoog.html.SafeUrl.fromSshUrl \x3d function(sshUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(sshUrl, \x22ssh://\x22)) {\n sshUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sshUrl);\n};\ngoog.html.SafeUrl.sanitizeChromeExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeFirefoxExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeEdgeExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeExtensionUrl_ \x3d function(scheme, url, extensionId) {\n var matches \x3d scheme.exec(url);\n if (!matches) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n } else {\n var extractedExtensionId \x3d matches[1];\n var acceptedExtensionIds;\n if (extensionId instanceof goog.string.Const) {\n acceptedExtensionIds \x3d [goog.string.Const.unwrap(extensionId)];\n } else {\n acceptedExtensionIds \x3d extensionId.map(function unwrap(x) {\n return goog.string.Const.unwrap(x);\n });\n }\n if (acceptedExtensionIds.indexOf(extractedExtensionId) \x3d\x3d -1) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.fromTrustedResourceUrl \x3d function(trustedResourceUrl) {\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(trustedResourceUrl));\n};\ngoog.html.SAFE_URL_PATTERN_ \x3d /^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;\ngoog.html.SafeUrl.SAFE_URL_PATTERN \x3d goog.html.SAFE_URL_PATTERN_;\ngoog.html.SafeUrl.trySanitize \x3d function(url) {\n if (url instanceof goog.html.SafeUrl) {\n return url;\n }\n if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n url \x3d url.getTypedStringValue();\n } else {\n url \x3d String(url);\n }\n if (!goog.html.SAFE_URL_PATTERN_.test(url)) {\n return goog.html.SafeUrl.tryFromDataUrl(url);\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.sanitize \x3d function(url) {\n return goog.html.SafeUrl.trySanitize(url) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.sanitizeAssertUnchanged \x3d function(url, opt_allowDataUrl) {\n if (url instanceof goog.html.SafeUrl) {\n return url;\n } else if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n url \x3d url.getTypedStringValue();\n } else {\n url \x3d String(url);\n }\n if (opt_allowDataUrl \x26\x26 /^data:/i.test(url)) {\n var safeUrl \x3d goog.html.SafeUrl.fromDataUrl(url);\n if (safeUrl.getTypedStringValue() \x3d\x3d url) {\n return safeUrl;\n }\n }\n if (!goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(url), \x22%s does not match the safe URL pattern\x22, url)) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n return new goog.html.SafeUrl(url, goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.SafeUrl.INNOCUOUS_URL \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.SafeUrl.INNOCUOUS_STRING);\ngoog.html.SafeUrl.ABOUT_BLANK \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(\x22about:blank\x22);\n"); +SHADOW_ENV.evalLoad("goog.html.safestyle.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeStyle\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const {AssertionError, assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n const {contains, endsWith} \x3d goog.require(\x22goog.string.internal\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeStyle {\n constructor(value, token) {\n this.privateDoNotAccessOrElseSafeStyleWrappedValue_ \x3d token \x3d\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE ? value : \x22\x22;\n this.implementsGoogStringTypedString \x3d true;\n }\n static fromConstant(style) {\n const styleString \x3d Const.unwrap(style);\n if (styleString.length \x3d\x3d\x3d 0) {\n return SafeStyle.EMPTY;\n }\n assert(endsWith(styleString, \x22;\x22), `Last character of style string is not \x27;\x27: ${styleString}`);\n assert(contains(styleString, \x22:\x22), \x22Style string must contain at least one \x27:\x27, to \x22 + \x27specify a \x22name: value\x22 pair: \x27 + styleString);\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(styleString);\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeStyleWrappedValue_.toString();\n }\n static unwrap(safeStyle) {\n if (safeStyle instanceof SafeStyle \x26\x26 safeStyle.constructor \x3d\x3d\x3d SafeStyle) {\n return safeStyle.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n } else {\n fail(`expected object of type SafeStyle, got \x27${safeStyle}` + \x22\x27 of type \x22 + goog.typeOf(safeStyle));\n return \x22type_error:SafeStyle\x22;\n }\n }\n static createSafeStyleSecurityPrivateDoNotAccessOrElse(style) {\n return new SafeStyle(style, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n static create(map) {\n let style \x3d \x22\x22;\n for (let name in map) {\n if (Object.prototype.hasOwnProperty.call(map, name)) {\n if (!/^[-_a-zA-Z0-9]+$/.test(name)) {\n throw new Error(`Name allows only [-_a-zA-Z0-9], got: ${name}`);\n }\n let value \x3d map[name];\n if (value \x3d\x3d null) {\n continue;\n }\n if (Array.isArray(value)) {\n value \x3d value.map(sanitizePropertyValue).join(\x22 \x22);\n } else {\n value \x3d sanitizePropertyValue(value);\n }\n style +\x3d `${name}:${value};`;\n }\n }\n if (!style) {\n return SafeStyle.EMPTY;\n }\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n }\n static concat(var_args) {\n let style \x3d \x22\x22;\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n style +\x3d SafeStyle.unwrap(argument);\n }\n };\n Array.prototype.forEach.call(arguments, addArgument);\n if (!style) {\n return SafeStyle.EMPTY;\n }\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n }\n }\n SafeStyle.EMPTY \x3d SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(\x22\x22);\n SafeStyle.INNOCUOUS_STRING \x3d \x22zClosurez\x22;\n SafeStyle.PropertyValue;\n SafeStyle.PropertyMap;\n function sanitizePropertyValue(value) {\n if (value instanceof SafeUrl) {\n const url \x3d SafeUrl.unwrap(value);\n return \x27url(\x22\x27 + url.replace(/\x3c/g, \x22%3c\x22).replace(/[\\\\\x22]/g, \x22\\\\$\\x26\x22) + \x27\x22)\x27;\n }\n const result \x3d value instanceof Const ? Const.unwrap(value) : sanitizePropertyValueString(String(value));\n if (/[{;}]/.test(result)) {\n throw new AssertionError(\x22Value does not allow [{;}], got: %s.\x22, [result]);\n }\n return result;\n }\n function sanitizePropertyValueString(value) {\n const valueWithoutFunctions \x3d value.replace(FUNCTIONS_RE, \x22$1\x22).replace(FUNCTIONS_RE, \x22$1\x22).replace(URL_RE, \x22url\x22);\n if (!VALUE_RE.test(valueWithoutFunctions)) {\n fail(`String value allows only ${VALUE_ALLOWED_CHARS}` + \x22 and simple functions, got: \x22 + value);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (COMMENT_RE.test(value)) {\n fail(`String value disallows comments, got: ${value}`);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (!hasBalancedQuotes(value)) {\n fail(`String value requires balanced quotes, got: ${value}`);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (!hasBalancedSquareBrackets(value)) {\n fail(\x22String value requires balanced square brackets and one\x22 + \x22 identifier per pair of brackets, got: \x22 + value);\n return SafeStyle.INNOCUOUS_STRING;\n }\n return sanitizeUrl(value);\n }\n function hasBalancedQuotes(value) {\n let outsideSingle \x3d true;\n let outsideDouble \x3d true;\n for (let i \x3d 0; i \x3c value.length; i++) {\n const c \x3d value.charAt(i);\n if (c \x3d\x3d \x22\x27\x22 \x26\x26 outsideDouble) {\n outsideSingle \x3d !outsideSingle;\n } else if (c \x3d\x3d \x27\x22\x27 \x26\x26 outsideSingle) {\n outsideDouble \x3d !outsideDouble;\n }\n }\n return outsideSingle \x26\x26 outsideDouble;\n }\n function hasBalancedSquareBrackets(value) {\n let outside \x3d true;\n const tokenRe \x3d /^[-_a-zA-Z0-9]$/;\n for (let i \x3d 0; i \x3c value.length; i++) {\n const c \x3d value.charAt(i);\n if (c \x3d\x3d \x22]\x22) {\n if (outside) {\n return false;\n }\n outside \x3d true;\n } else if (c \x3d\x3d \x22[\x22) {\n if (!outside) {\n return false;\n }\n outside \x3d false;\n } else if (!outside \x26\x26 !tokenRe.test(c)) {\n return false;\n }\n }\n return outside;\n }\n const VALUE_ALLOWED_CHARS \x3d \x22[-,.\\\x22\x27%_!# a-zA-Z0-9\\\\[\\\\]]\x22;\n const VALUE_RE \x3d new RegExp(`^${VALUE_ALLOWED_CHARS}+\\$`);\n const URL_RE \x3d new RegExp(\x22\\\\b(url\\\\([ \\t\\n]*)(\x22 + \x22\x27[ -\\x26(-\\\\[\\\\]-~]*\x27\x22 + \x27|\x22[ !#-\\\\[\\\\]-~]*\x22\x27 + \x22|[!#-\\x26*-\\\\[\\\\]-~]*\x22 + \x22)([ \\t\\n]*\\\\))\x22, \x22g\x22);\n const ALLOWED_FUNCTIONS \x3d [\x22calc\x22, \x22cubic-bezier\x22, \x22fit-content\x22, \x22hsl\x22, \x22hsla\x22, \x22linear-gradient\x22, \x22matrix\x22, \x22minmax\x22, \x22repeat\x22, \x22rgb\x22, \x22rgba\x22, \x22(rotate|scale|translate)(X|Y|Z|3d)?\x22, \x22var\x22,];\n const FUNCTIONS_RE \x3d new RegExp(\x22\\\\b(\x22 + ALLOWED_FUNCTIONS.join(\x22|\x22) + \x22)\x22 + \x22\\\\([-+*/0-9a-z.%#\\\\[\\\\], ]+\\\\)\x22, \x22g\x22);\n const COMMENT_RE \x3d /\\/\\*/;\n function sanitizeUrl(value) {\n return value.replace(URL_RE, (match, before, url, after) \x3d\x3e {\n let quote \x3d \x22\x22;\n url \x3d url.replace(/^([\x27\x22])(.*)\\1$/, (match, start, inside) \x3d\x3e {\n quote \x3d start;\n return inside;\n });\n const sanitized \x3d SafeUrl.sanitize(url).getTypedStringValue();\n return before + quote + sanitized + quote + after;\n });\n }\n exports \x3d SafeStyle;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.object.object.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.object\x22);\n goog.module.declareLegacyNamespace();\n function forEach(obj, f, opt_obj) {\n for (const key in obj) {\n f.call(opt_obj, obj[key], key, obj);\n }\n }\n function filter(obj, f, opt_obj) {\n const res \x3d {};\n for (const key in obj) {\n if (f.call(opt_obj, obj[key], key, obj)) {\n res[key] \x3d obj[key];\n }\n }\n return res;\n }\n function map(obj, f, opt_obj) {\n const res \x3d {};\n for (const key in obj) {\n res[key] \x3d f.call(opt_obj, obj[key], key, obj);\n }\n return res;\n }\n function some(obj, f, opt_obj) {\n for (const key in obj) {\n if (f.call(opt_obj, obj[key], key, obj)) {\n return true;\n }\n }\n return false;\n }\n function every(obj, f, opt_obj) {\n for (const key in obj) {\n if (!f.call(opt_obj, obj[key], key, obj)) {\n return false;\n }\n }\n return true;\n }\n function getCount(obj) {\n let rv \x3d 0;\n for (const key in obj) {\n rv++;\n }\n return rv;\n }\n function getAnyKey(obj) {\n for (const key in obj) {\n return key;\n }\n }\n function getAnyValue(obj) {\n for (const key in obj) {\n return obj[key];\n }\n }\n function contains(obj, val) {\n return containsValue(obj, val);\n }\n function getValues(obj) {\n const res \x3d [];\n let i \x3d 0;\n for (const key in obj) {\n res[i++] \x3d obj[key];\n }\n return res;\n }\n function getKeys(obj) {\n const res \x3d [];\n let i \x3d 0;\n for (const key in obj) {\n res[i++] \x3d key;\n }\n return res;\n }\n function getValueByKeys(obj, var_args) {\n const isArrayLike \x3d goog.isArrayLike(var_args);\n const keys \x3d isArrayLike ? var_args : arguments;\n for (let i \x3d isArrayLike ? 0 : 1; i \x3c keys.length; i++) {\n if (obj \x3d\x3d null) {\n return undefined;\n }\n obj \x3d obj[keys[i]];\n }\n return obj;\n }\n function containsKey(obj, key) {\n return obj !\x3d\x3d null \x26\x26 key in obj;\n }\n function containsValue(obj, val) {\n for (const key in obj) {\n if (obj[key] \x3d\x3d val) {\n return true;\n }\n }\n return false;\n }\n function findKey(obj, f, thisObj \x3d undefined) {\n for (const key in obj) {\n if (f.call(thisObj, obj[key], key, obj)) {\n return key;\n }\n }\n return undefined;\n }\n function findValue(obj, f, thisObj \x3d undefined) {\n const key \x3d findKey(obj, f, thisObj);\n return key \x26\x26 obj[key];\n }\n function isEmpty(obj) {\n for (const key in obj) {\n return false;\n }\n return true;\n }\n function clear(obj) {\n for (const i in obj) {\n delete obj[i];\n }\n }\n function remove(obj, key) {\n let rv;\n if (rv \x3d key in obj) {\n delete obj[key];\n }\n return rv;\n }\n function add(obj, key, val) {\n if (obj !\x3d\x3d null \x26\x26 key in obj) {\n throw new Error(`The object already contains the key \x22${key}\x22`);\n }\n set(obj, key, val);\n }\n function get(obj, key, val \x3d undefined) {\n if (obj !\x3d\x3d null \x26\x26 key in obj) {\n return obj[key];\n }\n return val;\n }\n function set(obj, key, value) {\n obj[key] \x3d value;\n }\n function setIfUndefined(obj, key, value) {\n return key in obj ? obj[key] : obj[key] \x3d value;\n }\n function setWithReturnValueIfNotSet(obj, key, f) {\n if (key in obj) {\n return obj[key];\n }\n const val \x3d f();\n obj[key] \x3d val;\n return val;\n }\n function equals(a, b) {\n for (const k in a) {\n if (!(k in b) || a[k] !\x3d\x3d b[k]) {\n return false;\n }\n }\n for (const k in b) {\n if (!(k in a)) {\n return false;\n }\n }\n return true;\n }\n function clone(obj) {\n const res \x3d {};\n for (const key in obj) {\n res[key] \x3d obj[key];\n }\n return res;\n }\n function unsafeClone(obj) {\n if (!obj || typeof obj !\x3d\x3d \x22object\x22) {\n return obj;\n }\n if (typeof obj.clone \x3d\x3d\x3d \x22function\x22) {\n return obj.clone();\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Map) {\n return new Map(obj);\n } else if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Set) {\n return new Set(obj);\n }\n const clone \x3d Array.isArray(obj) ? [] : typeof ArrayBuffer \x3d\x3d\x3d \x22function\x22 \x26\x26 typeof ArrayBuffer.isView \x3d\x3d\x3d \x22function\x22 \x26\x26 ArrayBuffer.isView(obj) \x26\x26 !(obj instanceof DataView) ? new obj.constructor(obj.length) : {};\n for (const key in obj) {\n clone[key] \x3d unsafeClone(obj[key]);\n }\n return clone;\n }\n function transpose(obj) {\n const transposed \x3d {};\n for (const key in obj) {\n transposed[obj[key]] \x3d key;\n }\n return transposed;\n }\n const PROTOTYPE_FIELDS \x3d [\x22constructor\x22, \x22hasOwnProperty\x22, \x22isPrototypeOf\x22, \x22propertyIsEnumerable\x22, \x22toLocaleString\x22, \x22toString\x22, \x22valueOf\x22,];\n function extend(target, var_args) {\n let key;\n let source;\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n source \x3d arguments[i];\n for (key in source) {\n target[key] \x3d source[key];\n }\n for (let j \x3d 0; j \x3c PROTOTYPE_FIELDS.length; j++) {\n key \x3d PROTOTYPE_FIELDS[j];\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] \x3d source[key];\n }\n }\n }\n }\n function create(var_args) {\n const argLength \x3d arguments.length;\n if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n return create.apply(null, arguments[0]);\n }\n if (argLength % 2) {\n throw new Error(\x22Uneven number of arguments\x22);\n }\n const rv \x3d {};\n for (let i \x3d 0; i \x3c argLength; i +\x3d 2) {\n rv[arguments[i]] \x3d arguments[i + 1];\n }\n return rv;\n }\n function createSet(var_args) {\n const argLength \x3d arguments.length;\n if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n return createSet.apply(null, arguments[0]);\n }\n const rv \x3d {};\n for (let i \x3d 0; i \x3c argLength; i++) {\n rv[arguments[i]] \x3d true;\n }\n return rv;\n }\n function createImmutableView(obj) {\n let result \x3d obj;\n if (Object.isFrozen \x26\x26 !Object.isFrozen(obj)) {\n result \x3d Object.create(obj);\n Object.freeze(result);\n }\n return result;\n }\n function isImmutableView(obj) {\n return !!Object.isFrozen \x26\x26 Object.isFrozen(obj);\n }\n function getAllPropertyNames(obj, includeObjectPrototype \x3d undefined, includeFunctionPrototype \x3d undefined) {\n if (!obj) {\n return [];\n }\n if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n return getKeys(obj);\n }\n const visitedSet \x3d {};\n let proto \x3d obj;\n while (proto \x26\x26 (proto !\x3d\x3d Object.prototype || !!includeObjectPrototype) \x26\x26 (proto !\x3d\x3d Function.prototype || !!includeFunctionPrototype)) {\n const names \x3d Object.getOwnPropertyNames(proto);\n for (let i \x3d 0; i \x3c names.length; i++) {\n visitedSet[names[i]] \x3d true;\n }\n proto \x3d Object.getPrototypeOf(proto);\n }\n return getKeys(visitedSet);\n }\n function getSuperClass(constructor) {\n const proto \x3d Object.getPrototypeOf(constructor.prototype);\n return proto \x26\x26 proto.constructor;\n }\n exports \x3d {add, clear, clone, contains, containsKey, containsValue, create, createImmutableView, createSet, equals, every, extend, filter, findKey, findValue, forEach, get, getAllPropertyNames, getAnyKey, getAnyValue, getCount, getKeys, getSuperClass, getValueByKeys, getValues, isEmpty, isImmutableView, map, remove, set, setIfUndefined, setWithReturnValueIfNotSet, some, transpose, unsafeClone,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.html.safestylesheet.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeStyleSheet\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const googObject \x3d goog.require(\x22goog.object\x22);\n const {assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n const {contains} \x3d goog.require(\x22goog.string.internal\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeStyleSheet {\n constructor(value, token) {\n this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ \x3d token \x3d\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE ? value : \x22\x22;\n this.implementsGoogStringTypedString \x3d true;\n }\n static createRule(selector, style) {\n if (contains(selector, \x22\\x3c\x22)) {\n throw new Error(`Selector does not allow \x27\x3c\x27, got: ${selector}`);\n }\n const selectorToCheck \x3d selector.replace(/(\x27|\x22)((?!\\1)[^\\r\\n\\f\\\\]|\\\\[\\s\\S])*\\1/g, \x22\x22);\n if (!/^[-_a-zA-Z0-9#.:* ,\x3e+~[\\]()\x3d^$|]+$/.test(selectorToCheck)) {\n throw new Error(\x22Selector allows only [-_a-zA-Z0-9#.:* ,\\x3e+~[\\\\]()\\x3d^$|] and \x22 + \x22strings, got: \x22 + selector);\n }\n if (!SafeStyleSheet.hasBalancedBrackets_(selectorToCheck)) {\n throw new Error(\x22() and [] in selector must be balanced, got: \x22 + selector);\n }\n if (!(style instanceof SafeStyle)) {\n style \x3d SafeStyle.create(style);\n }\n const styleSheet \x3d `${selector}{` + SafeStyle.unwrap(style).replace(/\x3c/g, \x22\\\\3C \x22) + \x22}\x22;\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n }\n static hasBalancedBrackets_(s) {\n const brackets \x3d {\x22(\x22:\x22)\x22, \x22[\x22:\x22]\x22};\n const expectedBrackets \x3d [];\n for (let i \x3d 0; i \x3c s.length; i++) {\n const ch \x3d s[i];\n if (brackets[ch]) {\n expectedBrackets.push(brackets[ch]);\n } else if (googObject.contains(brackets, ch)) {\n if (expectedBrackets.pop() !\x3d ch) {\n return false;\n }\n }\n }\n return expectedBrackets.length \x3d\x3d 0;\n }\n static concat(var_args) {\n let result \x3d \x22\x22;\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n result +\x3d SafeStyleSheet.unwrap(argument);\n }\n };\n Array.prototype.forEach.call(arguments, addArgument);\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(result);\n }\n static fromConstant(styleSheet) {\n const styleSheetString \x3d Const.unwrap(styleSheet);\n if (styleSheetString.length \x3d\x3d\x3d 0) {\n return SafeStyleSheet.EMPTY;\n }\n assert(!contains(styleSheetString, \x22\\x3c\x22), `Forbidden \x27\x3c\x27 character in style sheet string: ${styleSheetString}`);\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheetString);\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n }\n static unwrap(safeStyleSheet) {\n if (safeStyleSheet instanceof SafeStyleSheet \x26\x26 safeStyleSheet.constructor \x3d\x3d\x3d SafeStyleSheet) {\n return safeStyleSheet.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n } else {\n fail(\x22expected object of type SafeStyleSheet, got \x27\x22 + safeStyleSheet + \x22\x27 of type \x22 + goog.typeOf(safeStyleSheet));\n return \x22type_error:SafeStyleSheet\x22;\n }\n }\n static createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet) {\n return new SafeStyleSheet(styleSheet, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n }\n SafeStyleSheet.prototype.toString \x3d function() {\n return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_.toString();\n };\n SafeStyleSheet.EMPTY \x3d SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(\x22\x22);\n exports \x3d SafeStyleSheet;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.dom.htmlelement.js", true , "goog.provide(\x22goog.dom.HtmlElement\x22);\ngoog.dom.HtmlElement \x3d function() {\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.tagname.js", true , "goog.provide(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.HtmlElement\x22);\ngoog.dom.TagName \x3d class {\n static cast(name, type) {\n return name;\n }\n constructor() {\n this.googDomTagName_doNotImplementThisTypeOrElse_;\n this.ensureTypeScriptRemembersTypeT_;\n }\n toString() {\n }\n};\ngoog.dom.TagName.A \x3d \x22A\x22;\ngoog.dom.TagName.ABBR \x3d \x22ABBR\x22;\ngoog.dom.TagName.ACRONYM \x3d \x22ACRONYM\x22;\ngoog.dom.TagName.ADDRESS \x3d \x22ADDRESS\x22;\ngoog.dom.TagName.APPLET \x3d \x22APPLET\x22;\ngoog.dom.TagName.AREA \x3d \x22AREA\x22;\ngoog.dom.TagName.ARTICLE \x3d \x22ARTICLE\x22;\ngoog.dom.TagName.ASIDE \x3d \x22ASIDE\x22;\ngoog.dom.TagName.AUDIO \x3d \x22AUDIO\x22;\ngoog.dom.TagName.B \x3d \x22B\x22;\ngoog.dom.TagName.BASE \x3d \x22BASE\x22;\ngoog.dom.TagName.BASEFONT \x3d \x22BASEFONT\x22;\ngoog.dom.TagName.BDI \x3d \x22BDI\x22;\ngoog.dom.TagName.BDO \x3d \x22BDO\x22;\ngoog.dom.TagName.BIG \x3d \x22BIG\x22;\ngoog.dom.TagName.BLOCKQUOTE \x3d \x22BLOCKQUOTE\x22;\ngoog.dom.TagName.BODY \x3d \x22BODY\x22;\ngoog.dom.TagName.BR \x3d \x22BR\x22;\ngoog.dom.TagName.BUTTON \x3d \x22BUTTON\x22;\ngoog.dom.TagName.CANVAS \x3d \x22CANVAS\x22;\ngoog.dom.TagName.CAPTION \x3d \x22CAPTION\x22;\ngoog.dom.TagName.CENTER \x3d \x22CENTER\x22;\ngoog.dom.TagName.CITE \x3d \x22CITE\x22;\ngoog.dom.TagName.CODE \x3d \x22CODE\x22;\ngoog.dom.TagName.COL \x3d \x22COL\x22;\ngoog.dom.TagName.COLGROUP \x3d \x22COLGROUP\x22;\ngoog.dom.TagName.COMMAND \x3d \x22COMMAND\x22;\ngoog.dom.TagName.DATA \x3d \x22DATA\x22;\ngoog.dom.TagName.DATALIST \x3d \x22DATALIST\x22;\ngoog.dom.TagName.DD \x3d \x22DD\x22;\ngoog.dom.TagName.DEL \x3d \x22DEL\x22;\ngoog.dom.TagName.DETAILS \x3d \x22DETAILS\x22;\ngoog.dom.TagName.DFN \x3d \x22DFN\x22;\ngoog.dom.TagName.DIALOG \x3d \x22DIALOG\x22;\ngoog.dom.TagName.DIR \x3d \x22DIR\x22;\ngoog.dom.TagName.DIV \x3d \x22DIV\x22;\ngoog.dom.TagName.DL \x3d \x22DL\x22;\ngoog.dom.TagName.DT \x3d \x22DT\x22;\ngoog.dom.TagName.EM \x3d \x22EM\x22;\ngoog.dom.TagName.EMBED \x3d \x22EMBED\x22;\ngoog.dom.TagName.FIELDSET \x3d \x22FIELDSET\x22;\ngoog.dom.TagName.FIGCAPTION \x3d \x22FIGCAPTION\x22;\ngoog.dom.TagName.FIGURE \x3d \x22FIGURE\x22;\ngoog.dom.TagName.FONT \x3d \x22FONT\x22;\ngoog.dom.TagName.FOOTER \x3d \x22FOOTER\x22;\ngoog.dom.TagName.FORM \x3d \x22FORM\x22;\ngoog.dom.TagName.FRAME \x3d \x22FRAME\x22;\ngoog.dom.TagName.FRAMESET \x3d \x22FRAMESET\x22;\ngoog.dom.TagName.H1 \x3d \x22H1\x22;\ngoog.dom.TagName.H2 \x3d \x22H2\x22;\ngoog.dom.TagName.H3 \x3d \x22H3\x22;\ngoog.dom.TagName.H4 \x3d \x22H4\x22;\ngoog.dom.TagName.H5 \x3d \x22H5\x22;\ngoog.dom.TagName.H6 \x3d \x22H6\x22;\ngoog.dom.TagName.HEAD \x3d \x22HEAD\x22;\ngoog.dom.TagName.HEADER \x3d \x22HEADER\x22;\ngoog.dom.TagName.HGROUP \x3d \x22HGROUP\x22;\ngoog.dom.TagName.HR \x3d \x22HR\x22;\ngoog.dom.TagName.HTML \x3d \x22HTML\x22;\ngoog.dom.TagName.I \x3d \x22I\x22;\ngoog.dom.TagName.IFRAME \x3d \x22IFRAME\x22;\ngoog.dom.TagName.IMG \x3d \x22IMG\x22;\ngoog.dom.TagName.INPUT \x3d \x22INPUT\x22;\ngoog.dom.TagName.INS \x3d \x22INS\x22;\ngoog.dom.TagName.ISINDEX \x3d \x22ISINDEX\x22;\ngoog.dom.TagName.KBD \x3d \x22KBD\x22;\ngoog.dom.TagName.KEYGEN \x3d \x22KEYGEN\x22;\ngoog.dom.TagName.LABEL \x3d \x22LABEL\x22;\ngoog.dom.TagName.LEGEND \x3d \x22LEGEND\x22;\ngoog.dom.TagName.LI \x3d \x22LI\x22;\ngoog.dom.TagName.LINK \x3d \x22LINK\x22;\ngoog.dom.TagName.MAIN \x3d \x22MAIN\x22;\ngoog.dom.TagName.MAP \x3d \x22MAP\x22;\ngoog.dom.TagName.MARK \x3d \x22MARK\x22;\ngoog.dom.TagName.MATH \x3d \x22MATH\x22;\ngoog.dom.TagName.MENU \x3d \x22MENU\x22;\ngoog.dom.TagName.MENUITEM \x3d \x22MENUITEM\x22;\ngoog.dom.TagName.META \x3d \x22META\x22;\ngoog.dom.TagName.METER \x3d \x22METER\x22;\ngoog.dom.TagName.NAV \x3d \x22NAV\x22;\ngoog.dom.TagName.NOFRAMES \x3d \x22NOFRAMES\x22;\ngoog.dom.TagName.NOSCRIPT \x3d \x22NOSCRIPT\x22;\ngoog.dom.TagName.OBJECT \x3d \x22OBJECT\x22;\ngoog.dom.TagName.OL \x3d \x22OL\x22;\ngoog.dom.TagName.OPTGROUP \x3d \x22OPTGROUP\x22;\ngoog.dom.TagName.OPTION \x3d \x22OPTION\x22;\ngoog.dom.TagName.OUTPUT \x3d \x22OUTPUT\x22;\ngoog.dom.TagName.P \x3d \x22P\x22;\ngoog.dom.TagName.PARAM \x3d \x22PARAM\x22;\ngoog.dom.TagName.PICTURE \x3d \x22PICTURE\x22;\ngoog.dom.TagName.PRE \x3d \x22PRE\x22;\ngoog.dom.TagName.PROGRESS \x3d \x22PROGRESS\x22;\ngoog.dom.TagName.Q \x3d \x22Q\x22;\ngoog.dom.TagName.RP \x3d \x22RP\x22;\ngoog.dom.TagName.RT \x3d \x22RT\x22;\ngoog.dom.TagName.RTC \x3d \x22RTC\x22;\ngoog.dom.TagName.RUBY \x3d \x22RUBY\x22;\ngoog.dom.TagName.S \x3d \x22S\x22;\ngoog.dom.TagName.SAMP \x3d \x22SAMP\x22;\ngoog.dom.TagName.SCRIPT \x3d \x22SCRIPT\x22;\ngoog.dom.TagName.SECTION \x3d \x22SECTION\x22;\ngoog.dom.TagName.SELECT \x3d \x22SELECT\x22;\ngoog.dom.TagName.SMALL \x3d \x22SMALL\x22;\ngoog.dom.TagName.SOURCE \x3d \x22SOURCE\x22;\ngoog.dom.TagName.SPAN \x3d \x22SPAN\x22;\ngoog.dom.TagName.STRIKE \x3d \x22STRIKE\x22;\ngoog.dom.TagName.STRONG \x3d \x22STRONG\x22;\ngoog.dom.TagName.STYLE \x3d \x22STYLE\x22;\ngoog.dom.TagName.SUB \x3d \x22SUB\x22;\ngoog.dom.TagName.SUMMARY \x3d \x22SUMMARY\x22;\ngoog.dom.TagName.SUP \x3d \x22SUP\x22;\ngoog.dom.TagName.SVG \x3d \x22SVG\x22;\ngoog.dom.TagName.TABLE \x3d \x22TABLE\x22;\ngoog.dom.TagName.TBODY \x3d \x22TBODY\x22;\ngoog.dom.TagName.TD \x3d \x22TD\x22;\ngoog.dom.TagName.TEMPLATE \x3d \x22TEMPLATE\x22;\ngoog.dom.TagName.TEXTAREA \x3d \x22TEXTAREA\x22;\ngoog.dom.TagName.TFOOT \x3d \x22TFOOT\x22;\ngoog.dom.TagName.TH \x3d \x22TH\x22;\ngoog.dom.TagName.THEAD \x3d \x22THEAD\x22;\ngoog.dom.TagName.TIME \x3d \x22TIME\x22;\ngoog.dom.TagName.TITLE \x3d \x22TITLE\x22;\ngoog.dom.TagName.TR \x3d \x22TR\x22;\ngoog.dom.TagName.TRACK \x3d \x22TRACK\x22;\ngoog.dom.TagName.TT \x3d \x22TT\x22;\ngoog.dom.TagName.U \x3d \x22U\x22;\ngoog.dom.TagName.UL \x3d \x22UL\x22;\ngoog.dom.TagName.VAR \x3d \x22VAR\x22;\ngoog.dom.TagName.VIDEO \x3d \x22VIDEO\x22;\ngoog.dom.TagName.WBR \x3d \x22WBR\x22;\n"); +SHADOW_ENV.evalLoad("goog.array.array.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.array\x22);\n goog.module.declareLegacyNamespace();\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n goog.NATIVE_ARRAY_PROTOTYPES \x3d goog.define(\x22goog.NATIVE_ARRAY_PROTOTYPES\x22, goog.TRUSTED_SITE);\n const ASSUME_NATIVE_FUNCTIONS \x3d goog.define(\x22goog.array.ASSUME_NATIVE_FUNCTIONS\x22, goog.FEATURESET_YEAR \x3e 2012);\n exports.ASSUME_NATIVE_FUNCTIONS \x3d ASSUME_NATIVE_FUNCTIONS;\n function peek(array) {\n return array[array.length - 1];\n }\n exports.peek \x3d peek;\n exports.last \x3d peek;\n const indexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.indexOf) ? function(arr, obj, opt_fromIndex) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.indexOf.call(arr, obj, opt_fromIndex);\n } : function(arr, obj, opt_fromIndex) {\n const fromIndex \x3d opt_fromIndex \x3d\x3d null ? 0 : opt_fromIndex \x3c 0 ? Math.max(0, arr.length + opt_fromIndex) : opt_fromIndex;\n if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n return -1;\n }\n return arr.indexOf(obj, fromIndex);\n }\n for (let i \x3d fromIndex; i \x3c arr.length; i++) {\n if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n return i;\n }\n }\n return -1;\n };\n exports.indexOf \x3d indexOf;\n const lastIndexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(arr, obj, opt_fromIndex) {\n asserts.assert(arr.length !\x3d null);\n const fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n return Array.prototype.lastIndexOf.call(arr, obj, fromIndex);\n } : function(arr, obj, opt_fromIndex) {\n let fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n if (fromIndex \x3c 0) {\n fromIndex \x3d Math.max(0, arr.length + fromIndex);\n }\n if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n return -1;\n }\n return arr.lastIndexOf(obj, fromIndex);\n }\n for (let i \x3d fromIndex; i \x3e\x3d 0; i--) {\n if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n return i;\n }\n }\n return -1;\n };\n exports.lastIndexOf \x3d lastIndexOf;\n const forEach \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n Array.prototype.forEach.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n f.call(opt_obj, arr2[i], i, arr);\n }\n }\n };\n exports.forEach \x3d forEach;\n function forEachRight(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d l - 1; i \x3e\x3d 0; --i) {\n if (i in arr2) {\n f.call(opt_obj, arr2[i], i, arr);\n }\n }\n }\n exports.forEachRight \x3d forEachRight;\n const filter \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.filter.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const res \x3d [];\n let resLength \x3d 0;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n const val \x3d arr2[i];\n if (f.call(opt_obj, val, i, arr)) {\n res[resLength++] \x3d val;\n }\n }\n }\n return res;\n };\n exports.filter \x3d filter;\n const map \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.map.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const res \x3d new Array(l);\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n res[i] \x3d f.call(opt_obj, arr2[i], i, arr);\n }\n }\n return res;\n };\n exports.map \x3d map;\n const reduce \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(arr, f, val, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n if (opt_obj) {\n f \x3d goog.bind(f, opt_obj);\n }\n return Array.prototype.reduce.call(arr, f, val);\n } : function(arr, f, val, opt_obj) {\n let rval \x3d val;\n forEach(arr, function(val, index) {\n rval \x3d f.call(opt_obj, rval, val, index, arr);\n });\n return rval;\n };\n exports.reduce \x3d reduce;\n const reduceRight \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(arr, f, val, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n asserts.assert(f !\x3d null);\n if (opt_obj) {\n f \x3d goog.bind(f, opt_obj);\n }\n return Array.prototype.reduceRight.call(arr, f, val);\n } : function(arr, f, val, opt_obj) {\n let rval \x3d val;\n forEachRight(arr, function(val, index) {\n rval \x3d f.call(opt_obj, rval, val, index, arr);\n });\n return rval;\n };\n exports.reduceRight \x3d reduceRight;\n const some \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.some.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return true;\n }\n }\n return false;\n };\n exports.some \x3d some;\n const every \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.every.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 !f.call(opt_obj, arr2[i], i, arr)) {\n return false;\n }\n }\n return true;\n };\n exports.every \x3d every;\n function count(arr, f, opt_obj) {\n let count \x3d 0;\n forEach(arr, function(element, index, arr) {\n if (f.call(opt_obj, element, index, arr)) {\n ++count;\n }\n }, opt_obj);\n return count;\n }\n exports.count \x3d count;\n function find(arr, f, opt_obj) {\n const i \x3d findIndex(arr, f, opt_obj);\n return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n }\n exports.find \x3d find;\n function findIndex(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return i;\n }\n }\n return -1;\n }\n exports.findIndex \x3d findIndex;\n function findRight(arr, f, opt_obj) {\n const i \x3d findIndexRight(arr, f, opt_obj);\n return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n }\n exports.findRight \x3d findRight;\n function findIndexRight(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d l - 1; i \x3e\x3d 0; i--) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return i;\n }\n }\n return -1;\n }\n exports.findIndexRight \x3d findIndexRight;\n function contains(arr, obj) {\n return indexOf(arr, obj) \x3e\x3d 0;\n }\n exports.contains \x3d contains;\n function isEmpty(arr) {\n return arr.length \x3d\x3d 0;\n }\n exports.isEmpty \x3d isEmpty;\n function clear(arr) {\n if (!Array.isArray(arr)) {\n for (let i \x3d arr.length - 1; i \x3e\x3d 0; i--) {\n delete arr[i];\n }\n }\n arr.length \x3d 0;\n }\n exports.clear \x3d clear;\n function insert(arr, obj) {\n if (!contains(arr, obj)) {\n arr.push(obj);\n }\n }\n exports.insert \x3d insert;\n function insertAt(arr, obj, opt_i) {\n splice(arr, opt_i, 0, obj);\n }\n exports.insertAt \x3d insertAt;\n function insertArrayAt(arr, elementsToAdd, opt_i) {\n goog.partial(splice, arr, opt_i, 0).apply(null, elementsToAdd);\n }\n exports.insertArrayAt \x3d insertArrayAt;\n function insertBefore(arr, obj, opt_obj2) {\n let i;\n if (arguments.length \x3d\x3d 2 || (i \x3d indexOf(arr, opt_obj2)) \x3c 0) {\n arr.push(obj);\n } else {\n insertAt(arr, obj, i);\n }\n }\n exports.insertBefore \x3d insertBefore;\n function remove(arr, obj) {\n const i \x3d indexOf(arr, obj);\n let rv;\n if (rv \x3d i \x3e\x3d 0) {\n removeAt(arr, i);\n }\n return rv;\n }\n exports.remove \x3d remove;\n function removeLast(arr, obj) {\n const i \x3d lastIndexOf(arr, obj);\n if (i \x3e\x3d 0) {\n removeAt(arr, i);\n return true;\n }\n return false;\n }\n exports.removeLast \x3d removeLast;\n function removeAt(arr, i) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.splice.call(arr, i, 1).length \x3d\x3d 1;\n }\n exports.removeAt \x3d removeAt;\n function removeIf(arr, f, opt_obj) {\n const i \x3d findIndex(arr, f, opt_obj);\n if (i \x3e\x3d 0) {\n removeAt(arr, i);\n return true;\n }\n return false;\n }\n exports.removeIf \x3d removeIf;\n function removeAllIf(arr, f, opt_obj) {\n let removedCount \x3d 0;\n forEachRight(arr, function(val, index) {\n if (f.call(opt_obj, val, index, arr)) {\n if (removeAt(arr, index)) {\n removedCount++;\n }\n }\n });\n return removedCount;\n }\n exports.removeAllIf \x3d removeAllIf;\n function concat(var_args) {\n return Array.prototype.concat.apply([], arguments);\n }\n exports.concat \x3d concat;\n function join(var_args) {\n return Array.prototype.concat.apply([], arguments);\n }\n exports.join \x3d join;\n function toArray(object) {\n const length \x3d object.length;\n if (length \x3e 0) {\n const rv \x3d new Array(length);\n for (let i \x3d 0; i \x3c length; i++) {\n rv[i] \x3d object[i];\n }\n return rv;\n }\n return [];\n }\n exports.toArray \x3d toArray;\n const clone \x3d toArray;\n exports.clone \x3d clone;\n function extend(arr1, var_args) {\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n const arr2 \x3d arguments[i];\n if (goog.isArrayLike(arr2)) {\n const len1 \x3d arr1.length || 0;\n const len2 \x3d arr2.length || 0;\n arr1.length \x3d len1 + len2;\n for (let j \x3d 0; j \x3c len2; j++) {\n arr1[len1 + j] \x3d arr2[j];\n }\n } else {\n arr1.push(arr2);\n }\n }\n }\n exports.extend \x3d extend;\n function splice(arr, index, howMany, var_args) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.splice.apply(arr, slice(arguments, 1));\n }\n exports.splice \x3d splice;\n function slice(arr, start, opt_end) {\n asserts.assert(arr.length !\x3d null);\n if (arguments.length \x3c\x3d 2) {\n return Array.prototype.slice.call(arr, start);\n } else {\n return Array.prototype.slice.call(arr, start, opt_end);\n }\n }\n exports.slice \x3d slice;\n function removeDuplicates(arr, opt_rv, opt_hashFn) {\n const returnArray \x3d opt_rv || arr;\n const defaultHashFn \x3d function(item) {\n return goog.isObject(item) ? \x22o\x22 + goog.getUid(item) : (typeof item).charAt(0) + item;\n };\n const hashFn \x3d opt_hashFn || defaultHashFn;\n let cursorInsert \x3d 0;\n let cursorRead \x3d 0;\n const seen \x3d {};\n while (cursorRead \x3c arr.length) {\n const current \x3d arr[cursorRead++];\n const key \x3d hashFn(current);\n if (!Object.prototype.hasOwnProperty.call(seen, key)) {\n seen[key] \x3d true;\n returnArray[cursorInsert++] \x3d current;\n }\n }\n returnArray.length \x3d cursorInsert;\n }\n exports.removeDuplicates \x3d removeDuplicates;\n function binarySearch(arr, target, opt_compareFn) {\n return binarySearch_(arr, opt_compareFn || defaultCompare, false, target);\n }\n exports.binarySearch \x3d binarySearch;\n function binarySelect(arr, evaluator, opt_obj) {\n return binarySearch_(arr, evaluator, true, undefined, opt_obj);\n }\n exports.binarySelect \x3d binarySelect;\n function binarySearch_(arr, compareFn, isEvaluator, opt_target, opt_selfObj) {\n let left \x3d 0;\n let right \x3d arr.length;\n let found;\n while (left \x3c right) {\n const middle \x3d left + (right - left \x3e\x3e\x3e 1);\n let compareResult;\n if (isEvaluator) {\n compareResult \x3d compareFn.call(opt_selfObj, arr[middle], middle, arr);\n } else {\n compareResult \x3d compareFn(opt_target, arr[middle]);\n }\n if (compareResult \x3e 0) {\n left \x3d middle + 1;\n } else {\n right \x3d middle;\n found \x3d !compareResult;\n }\n }\n return found ? left : -left - 1;\n }\n function sort(arr, opt_compareFn) {\n arr.sort(opt_compareFn || defaultCompare);\n }\n exports.sort \x3d sort;\n function stableSort(arr, opt_compareFn) {\n const compArr \x3d new Array(arr.length);\n for (let i \x3d 0; i \x3c arr.length; i++) {\n compArr[i] \x3d {index:i, value:arr[i]};\n }\n const valueCompareFn \x3d opt_compareFn || defaultCompare;\n function stableCompareFn(obj1, obj2) {\n return valueCompareFn(obj1.value, obj2.value) || obj1.index - obj2.index;\n }\n sort(compArr, stableCompareFn);\n for (let i \x3d 0; i \x3c arr.length; i++) {\n arr[i] \x3d compArr[i].value;\n }\n }\n exports.stableSort \x3d stableSort;\n function sortByKey(arr, keyFn, opt_compareFn) {\n const keyCompareFn \x3d opt_compareFn || defaultCompare;\n sort(arr, function(a, b) {\n return keyCompareFn(keyFn(a), keyFn(b));\n });\n }\n exports.sortByKey \x3d sortByKey;\n function sortObjectsByKey(arr, key, opt_compareFn) {\n sortByKey(arr, function(obj) {\n return obj[key];\n }, opt_compareFn);\n }\n exports.sortObjectsByKey \x3d sortObjectsByKey;\n function isSorted(arr, opt_compareFn, opt_strict) {\n const compare \x3d opt_compareFn || defaultCompare;\n for (let i \x3d 1; i \x3c arr.length; i++) {\n const compareResult \x3d compare(arr[i - 1], arr[i]);\n if (compareResult \x3e 0 || compareResult \x3d\x3d 0 \x26\x26 opt_strict) {\n return false;\n }\n }\n return true;\n }\n exports.isSorted \x3d isSorted;\n function equals(arr1, arr2, opt_equalsFn) {\n if (!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length !\x3d arr2.length) {\n return false;\n }\n const l \x3d arr1.length;\n const equalsFn \x3d opt_equalsFn || defaultCompareEquality;\n for (let i \x3d 0; i \x3c l; i++) {\n if (!equalsFn(arr1[i], arr2[i])) {\n return false;\n }\n }\n return true;\n }\n exports.equals \x3d equals;\n function compare3(arr1, arr2, opt_compareFn) {\n const compare \x3d opt_compareFn || defaultCompare;\n const l \x3d Math.min(arr1.length, arr2.length);\n for (let i \x3d 0; i \x3c l; i++) {\n const result \x3d compare(arr1[i], arr2[i]);\n if (result !\x3d 0) {\n return result;\n }\n }\n return defaultCompare(arr1.length, arr2.length);\n }\n exports.compare3 \x3d compare3;\n function defaultCompare(a, b) {\n return a \x3e b ? 1 : a \x3c b ? -1 : 0;\n }\n exports.defaultCompare \x3d defaultCompare;\n function inverseDefaultCompare(a, b) {\n return -defaultCompare(a, b);\n }\n exports.inverseDefaultCompare \x3d inverseDefaultCompare;\n function defaultCompareEquality(a, b) {\n return a \x3d\x3d\x3d b;\n }\n exports.defaultCompareEquality \x3d defaultCompareEquality;\n function binaryInsert(array, value, opt_compareFn) {\n const index \x3d binarySearch(array, value, opt_compareFn);\n if (index \x3c 0) {\n insertAt(array, value, -(index + 1));\n return true;\n }\n return false;\n }\n exports.binaryInsert \x3d binaryInsert;\n function binaryRemove(array, value, opt_compareFn) {\n const index \x3d binarySearch(array, value, opt_compareFn);\n return index \x3e\x3d 0 ? removeAt(array, index) : false;\n }\n exports.binaryRemove \x3d binaryRemove;\n function bucket(array, sorter, opt_obj) {\n const buckets \x3d {};\n for (let i \x3d 0; i \x3c array.length; i++) {\n const value \x3d array[i];\n const key \x3d sorter.call(opt_obj, value, i, array);\n if (key !\x3d\x3d undefined) {\n const bucket \x3d buckets[key] || (buckets[key] \x3d []);\n bucket.push(value);\n }\n }\n return buckets;\n }\n exports.bucket \x3d bucket;\n function bucketToMap(array, sorter) {\n const buckets \x3d new Map();\n for (let i \x3d 0; i \x3c array.length; i++) {\n const value \x3d array[i];\n const key \x3d sorter(value, i, array);\n if (key !\x3d\x3d undefined) {\n let bucket \x3d buckets.get(key);\n if (!bucket) {\n bucket \x3d [];\n buckets.set(key, bucket);\n }\n bucket.push(value);\n }\n }\n return buckets;\n }\n exports.bucketToMap \x3d bucketToMap;\n function toObject(arr, keyFunc, opt_obj) {\n const ret \x3d {};\n forEach(arr, function(element, index) {\n ret[keyFunc.call(opt_obj, element, index, arr)] \x3d element;\n });\n return ret;\n }\n exports.toObject \x3d toObject;\n function toMap(arr, keyFunc) {\n const map \x3d new Map();\n for (let i \x3d 0; i \x3c arr.length; i++) {\n const element \x3d arr[i];\n map.set(keyFunc(element, i, arr), element);\n }\n return map;\n }\n exports.toMap \x3d toMap;\n function range(startOrEnd, opt_end, opt_step) {\n const array \x3d [];\n let start \x3d 0;\n let end \x3d startOrEnd;\n const step \x3d opt_step || 1;\n if (opt_end !\x3d\x3d undefined) {\n start \x3d startOrEnd;\n end \x3d opt_end;\n }\n if (step * (end - start) \x3c 0) {\n return [];\n }\n if (step \x3e 0) {\n for (let i \x3d start; i \x3c end; i +\x3d step) {\n array.push(i);\n }\n } else {\n for (let i \x3d start; i \x3e end; i +\x3d step) {\n array.push(i);\n }\n }\n return array;\n }\n exports.range \x3d range;\n function repeat(value, n) {\n const array \x3d [];\n for (let i \x3d 0; i \x3c n; i++) {\n array[i] \x3d value;\n }\n return array;\n }\n exports.repeat \x3d repeat;\n function flatten(var_args) {\n const CHUNK_SIZE \x3d 8192;\n const result \x3d [];\n for (let i \x3d 0; i \x3c arguments.length; i++) {\n const element \x3d arguments[i];\n if (Array.isArray(element)) {\n for (let c \x3d 0; c \x3c element.length; c +\x3d CHUNK_SIZE) {\n const chunk \x3d slice(element, c, c + CHUNK_SIZE);\n const recurseResult \x3d flatten.apply(null, chunk);\n for (let r \x3d 0; r \x3c recurseResult.length; r++) {\n result.push(recurseResult[r]);\n }\n }\n } else {\n result.push(element);\n }\n }\n return result;\n }\n exports.flatten \x3d flatten;\n function rotate(array, n) {\n asserts.assert(array.length !\x3d null);\n if (array.length) {\n n %\x3d array.length;\n if (n \x3e 0) {\n Array.prototype.unshift.apply(array, array.splice(-n, n));\n } else if (n \x3c 0) {\n Array.prototype.push.apply(array, array.splice(0, -n));\n }\n }\n return array;\n }\n exports.rotate \x3d rotate;\n function moveItem(arr, fromIndex, toIndex) {\n asserts.assert(fromIndex \x3e\x3d 0 \x26\x26 fromIndex \x3c arr.length);\n asserts.assert(toIndex \x3e\x3d 0 \x26\x26 toIndex \x3c arr.length);\n const removedItems \x3d Array.prototype.splice.call(arr, fromIndex, 1);\n Array.prototype.splice.call(arr, toIndex, 0, removedItems[0]);\n }\n exports.moveItem \x3d moveItem;\n function zip(var_args) {\n if (!arguments.length) {\n return [];\n }\n const result \x3d [];\n let minLen \x3d arguments[0].length;\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n if (arguments[i].length \x3c minLen) {\n minLen \x3d arguments[i].length;\n }\n }\n for (let i \x3d 0; i \x3c minLen; i++) {\n const value \x3d [];\n for (let j \x3d 0; j \x3c arguments.length; j++) {\n value.push(arguments[j][i]);\n }\n result.push(value);\n }\n return result;\n }\n exports.zip \x3d zip;\n function shuffle(arr, opt_randFn) {\n const randFn \x3d opt_randFn || Math.random;\n for (let i \x3d arr.length - 1; i \x3e 0; i--) {\n const j \x3d Math.floor(randFn() * (i + 1));\n const tmp \x3d arr[i];\n arr[i] \x3d arr[j];\n arr[j] \x3d tmp;\n }\n }\n exports.shuffle \x3d shuffle;\n function copyByIndex(arr, index_arr) {\n const result \x3d [];\n forEach(index_arr, function(index) {\n result.push(arr[index]);\n });\n return result;\n }\n exports.copyByIndex \x3d copyByIndex;\n function concatMap(arr, f, opt_obj) {\n return concat.apply([], map(arr, f, opt_obj));\n }\n exports.concatMap \x3d concatMap;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.labs.useragent.useragent.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent\x22);\n const USE_CLIENT_HINTS_OVERRIDE \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS_OVERRIDE\x22, \x22\x22);\n const USE_CLIENT_HINTS \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS\x22, false);\n exports.USE_CLIENT_HINTS \x3d (() \x3d\x3e {\n const override \x3d USE_CLIENT_HINTS_OVERRIDE ? goog.getObjectByName(USE_CLIENT_HINTS_OVERRIDE) : null;\n return override !\x3d null ? override : USE_CLIENT_HINTS;\n })();\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.labs.useragent.util.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.util\x22);\n goog.module.declareLegacyNamespace();\n const {USE_CLIENT_HINTS} \x3d goog.require(\x22goog.labs.userAgent\x22);\n const {caseInsensitiveContains, contains} \x3d goog.require(\x22goog.string.internal\x22);\n const ASSUME_CLIENT_HINTS_SUPPORT \x3d false;\n function getNativeUserAgentString() {\n const navigator \x3d getNavigator();\n if (navigator) {\n const userAgent \x3d navigator.userAgent;\n if (userAgent) {\n return userAgent;\n }\n }\n return \x22\x22;\n }\n function getNativeUserAgentData() {\n if (!USE_CLIENT_HINTS) {\n return null;\n }\n const navigator \x3d getNavigator();\n if (navigator) {\n return navigator.userAgentData || null;\n }\n return null;\n }\n function getNavigator() {\n return goog.global.navigator;\n }\n let userAgentInternal \x3d getNativeUserAgentString();\n let userAgentDataInternal \x3d getNativeUserAgentData();\n function setUserAgent(userAgent \x3d undefined) {\n userAgentInternal \x3d typeof userAgent \x3d\x3d\x3d \x22string\x22 ? userAgent : getNativeUserAgentString();\n }\n function getUserAgent() {\n return userAgentInternal;\n }\n function setUserAgentData(userAgentData) {\n userAgentDataInternal \x3d userAgentData;\n }\n function resetUserAgentData() {\n userAgentDataInternal \x3d getNativeUserAgentData();\n }\n function getUserAgentData() {\n return userAgentDataInternal;\n }\n function matchUserAgentDataBrand(str) {\n const data \x3d getUserAgentData();\n if (!data) {\n return false;\n }\n return data.brands.some(({brand}) \x3d\x3e brand \x26\x26 contains(brand, str));\n }\n function matchUserAgent(str) {\n const userAgent \x3d getUserAgent();\n return contains(userAgent, str);\n }\n function matchUserAgentIgnoreCase(str) {\n const userAgent \x3d getUserAgent();\n return caseInsensitiveContains(userAgent, str);\n }\n function extractVersionTuples(userAgent) {\n const versionRegExp \x3d new RegExp(\x22(\\\\w[\\\\w ]+)\x22 + \x22/\x22 + \x22([^\\\\s]+)\x22 + \x22\\\\s*\x22 + \x22(?:\\\\((.*?)\\\\))?\x22, \x22g\x22);\n const data \x3d [];\n let match;\n while (match \x3d versionRegExp.exec(userAgent)) {\n data.push([match[1], match[2], match[3] || undefined]);\n }\n return data;\n }\n exports \x3d {ASSUME_CLIENT_HINTS_SUPPORT, extractVersionTuples, getNativeUserAgentString, getUserAgent, getUserAgentData, matchUserAgent, matchUserAgentDataBrand, matchUserAgentIgnoreCase, resetUserAgentData, setUserAgent, setUserAgentData,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.labs.useragent.browser.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.browser\x22);\n goog.module.declareLegacyNamespace();\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googObject \x3d goog.require(\x22goog.object\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n const {compareVersions} \x3d goog.require(\x22goog.string.internal\x22);\n function useUserAgentBrand() {\n const userAgentData \x3d util.getUserAgentData();\n return !!userAgentData \x26\x26 userAgentData.brands.length \x3e 0;\n }\n function matchOpera() {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT || util.getUserAgentData()) {\n return false;\n }\n return util.matchUserAgent(\x22Opera\x22);\n }\n function matchIE() {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT || util.getUserAgentData()) {\n return false;\n }\n return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n }\n function matchEdgeHtml() {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT || util.getUserAgentData()) {\n return false;\n }\n return util.matchUserAgent(\x22Edge\x22);\n }\n function matchEdgeChromium() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Edge\x22);\n }\n return util.matchUserAgent(\x22Edg/\x22);\n }\n function matchOperaChromium() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Opera\x22);\n }\n return util.matchUserAgent(\x22OPR\x22);\n }\n function matchFirefox() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Firefox\x22);\n }\n return util.matchUserAgent(\x22Firefox\x22) || util.matchUserAgent(\x22FxiOS\x22);\n }\n function matchSafari() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Safari\x22);\n }\n return util.matchUserAgent(\x22Safari\x22) \x26\x26 !(matchChrome() || matchCoast() || matchOpera() || matchEdgeHtml() || matchEdgeChromium() || matchOperaChromium() || matchFirefox() || isSilk() || util.matchUserAgent(\x22Android\x22));\n }\n function matchCoast() {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT || util.getUserAgentData()) {\n return false;\n }\n return util.matchUserAgent(\x22Coast\x22);\n }\n function matchIosWebview() {\n return (util.matchUserAgent(\x22iPad\x22) || util.matchUserAgent(\x22iPhone\x22)) \x26\x26 !matchSafari() \x26\x26 !matchChrome() \x26\x26 !matchCoast() \x26\x26 !matchFirefox() \x26\x26 util.matchUserAgent(\x22AppleWebKit\x22);\n }\n function matchChrome() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Chromium\x22);\n }\n return (util.matchUserAgent(\x22Chrome\x22) || util.matchUserAgent(\x22CriOS\x22)) \x26\x26 !matchEdgeHtml();\n }\n function matchAndroidBrowser() {\n return util.matchUserAgent(\x22Android\x22) \x26\x26 !(isChrome() || isFirefox() || isOpera() || isSilk());\n }\n const isOpera \x3d matchOpera;\n const isIE \x3d matchIE;\n const isEdge \x3d matchEdgeHtml;\n const isEdgeChromium \x3d matchEdgeChromium;\n const isOperaChromium \x3d matchOperaChromium;\n const isFirefox \x3d matchFirefox;\n const isSafari \x3d matchSafari;\n const isCoast \x3d matchCoast;\n const isIosWebview \x3d matchIosWebview;\n const isChrome \x3d matchChrome;\n const isAndroidBrowser \x3d matchAndroidBrowser;\n function isSilk() {\n if (useUserAgentBrand()) {\n return util.matchUserAgentDataBrand(\x22Silk\x22);\n }\n return util.matchUserAgent(\x22Silk\x22);\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n if (isIE()) {\n return getIEVersion(userAgentString);\n }\n const versionTuples \x3d util.extractVersionTuples(userAgentString);\n const versionMap \x3d {};\n versionTuples.forEach(tuple \x3d\x3e {\n const key \x3d tuple[0];\n const value \x3d tuple[1];\n versionMap[key] \x3d value;\n });\n const versionMapHasKey \x3d goog.partial(googObject.containsKey, versionMap);\n function lookUpValueWithKeys(keys) {\n const key \x3d googArray.find(keys, versionMapHasKey);\n return versionMap[key] || \x22\x22;\n }\n if (isOpera()) {\n return lookUpValueWithKeys([\x22Version\x22, \x22Opera\x22]);\n }\n if (isEdge()) {\n return lookUpValueWithKeys([\x22Edge\x22]);\n }\n if (isEdgeChromium()) {\n return lookUpValueWithKeys([\x22Edg\x22]);\n }\n if (isChrome()) {\n return lookUpValueWithKeys([\x22Chrome\x22, \x22CriOS\x22, \x22HeadlessChrome\x22]);\n }\n const tuple \x3d versionTuples[2];\n return tuple \x26\x26 tuple[1] || \x22\x22;\n }\n function isVersionOrHigher(version) {\n return compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n function getIEVersion(userAgent) {\n const rv \x3d /rv: *([\\d\\.]*)/.exec(userAgent);\n if (rv \x26\x26 rv[1]) {\n return rv[1];\n }\n let version \x3d \x22\x22;\n const msie \x3d /MSIE +([\\d\\.]+)/.exec(userAgent);\n if (msie \x26\x26 msie[1]) {\n const tridentVersion \x3d /Trident\\/(\\d.\\d)/.exec(userAgent);\n if (msie[1] \x3d\x3d \x227.0\x22) {\n if (tridentVersion \x26\x26 tridentVersion[1]) {\n switch(tridentVersion[1]) {\n case \x224.0\x22:\n version \x3d \x228.0\x22;\n break;\n case \x225.0\x22:\n version \x3d \x229.0\x22;\n break;\n case \x226.0\x22:\n version \x3d \x2210.0\x22;\n break;\n case \x227.0\x22:\n version \x3d \x2211.0\x22;\n break;\n }\n } else {\n version \x3d \x227.0\x22;\n }\n } else {\n version \x3d msie[1];\n }\n }\n return version;\n }\n exports \x3d {getVersion, isAndroidBrowser, isChrome, isCoast, isEdge, isEdgeChromium, isFirefox, isIE, isIosWebview, isOpera, isOperaChromium, isSafari, isSilk, isVersionOrHigher,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.dom.tags.js", true , "goog.provide(\x22goog.dom.tags\x22);\ngoog.require(\x22goog.object\x22);\ngoog.dom.tags.VOID_TAGS_ \x3d goog.object.createSet(\x22area\x22, \x22base\x22, \x22br\x22, \x22col\x22, \x22command\x22, \x22embed\x22, \x22hr\x22, \x22img\x22, \x22input\x22, \x22keygen\x22, \x22link\x22, \x22meta\x22, \x22param\x22, \x22source\x22, \x22track\x22, \x22wbr\x22);\ngoog.dom.tags.isVoidTag \x3d function(tagName) {\n return goog.dom.tags.VOID_TAGS_[tagName] \x3d\x3d\x3d true;\n};\n"); +SHADOW_ENV.evalLoad("goog.html.safehtml.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeHtml\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const Dir \x3d goog.require(\x22goog.i18n.bidi.Dir\x22);\n const DirectionalString \x3d goog.require(\x22goog.i18n.bidi.DirectionalString\x22);\n const SafeScript \x3d goog.require(\x22goog.html.SafeScript\x22);\n const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n const SafeStyleSheet \x3d goog.require(\x22goog.html.SafeStyleSheet\x22);\n const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n const TrustedResourceUrl \x3d goog.require(\x22goog.html.TrustedResourceUrl\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n const browser \x3d goog.require(\x22goog.labs.userAgent.browser\x22);\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googObject \x3d goog.require(\x22goog.object\x22);\n const internal \x3d goog.require(\x22goog.string.internal\x22);\n const tags \x3d goog.require(\x22goog.dom.tags\x22);\n const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeHtml {\n constructor(value, dir, token) {\n this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ \x3d token \x3d\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE ? value : \x22\x22;\n this.dir_ \x3d dir;\n this.implementsGoogI18nBidiDirectionalString \x3d true;\n this.implementsGoogStringTypedString \x3d true;\n }\n getDirection() {\n return this.dir_;\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n }\n static unwrap(safeHtml) {\n return SafeHtml.unwrapTrustedHTML(safeHtml).toString();\n }\n static unwrapTrustedHTML(safeHtml) {\n if (safeHtml instanceof SafeHtml \x26\x26 safeHtml.constructor \x3d\x3d\x3d SafeHtml) {\n return safeHtml.privateDoNotAccessOrElseSafeHtmlWrappedValue_;\n } else {\n asserts.fail(`expected object of type SafeHtml, got \x27${safeHtml}\x27 of type ` + goog.typeOf(safeHtml));\n return \x22type_error:SafeHtml\x22;\n }\n }\n static htmlEscape(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const textIsObject \x3d typeof textOrHtml \x3d\x3d \x22object\x22;\n let dir \x3d null;\n if (textIsObject \x26\x26 textOrHtml.implementsGoogI18nBidiDirectionalString) {\n dir \x3d textOrHtml.getDirection();\n }\n let textAsString;\n if (textIsObject \x26\x26 textOrHtml.implementsGoogStringTypedString) {\n textAsString \x3d textOrHtml.getTypedStringValue();\n } else {\n textAsString \x3d String(textOrHtml);\n }\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.htmlEscape(textAsString), dir);\n }\n static htmlEscapePreservingNewlines(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const html \x3d SafeHtml.htmlEscape(textOrHtml);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.newLineToBr(SafeHtml.unwrap(html)), html.getDirection());\n }\n static htmlEscapePreservingNewlinesAndSpaces(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const html \x3d SafeHtml.htmlEscape(textOrHtml);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.whitespaceEscape(SafeHtml.unwrap(html)), html.getDirection());\n }\n static comment(text) {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!--\x22 + internal.htmlEscape(text) + \x22--\\x3e\x22, null);\n }\n static create(tagName, attributes \x3d undefined, content \x3d undefined) {\n SafeHtml.verifyTagName(String(tagName));\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(tagName), attributes, content);\n }\n static verifyTagName(tagName) {\n if (!VALID_NAMES_IN_TAG.test(tagName)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid tag name \x3c${tagName}\x3e.` : \x22\x22);\n }\n if (tagName.toUpperCase() in NOT_ALLOWED_TAG_NAMES) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Tag name \x3c${tagName}\x3e is not allowed for SafeHtml.` : \x22\x22);\n }\n }\n static createIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n if (src) {\n TrustedResourceUrl.unwrap(src);\n }\n const fixedAttributes \x3d {};\n fixedAttributes[\x22src\x22] \x3d src || null;\n fixedAttributes[\x22srcdoc\x22] \x3d srcdoc \x26\x26 SafeHtml.unwrap(srcdoc);\n const defaultAttributes \x3d {\x22sandbox\x22:\x22\x22};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n }\n static createSandboxIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n if (!SafeHtml.canUseSandboxIframe()) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x22The browser does not support sandboxed iframes.\x22 : \x22\x22);\n }\n const fixedAttributes \x3d {};\n if (src) {\n fixedAttributes[\x22src\x22] \x3d SafeUrl.unwrap(SafeUrl.sanitize(src));\n } else {\n fixedAttributes[\x22src\x22] \x3d null;\n }\n fixedAttributes[\x22srcdoc\x22] \x3d srcdoc || null;\n fixedAttributes[\x22sandbox\x22] \x3d \x22\x22;\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, {}, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n }\n static canUseSandboxIframe() {\n return goog.global[\x22HTMLIFrameElement\x22] \x26\x26 \x22sandbox\x22 in goog.global[\x22HTMLIFrameElement\x22].prototype;\n }\n static createScriptSrc(src, attributes \x3d undefined) {\n TrustedResourceUrl.unwrap(src);\n const fixedAttributes \x3d {\x22src\x22:src};\n const defaultAttributes \x3d {};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, combinedAttrs);\n }\n static createScript(script, attributes \x3d undefined) {\n for (let attr in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, attr)) {\n const attrLower \x3d attr.toLowerCase();\n if (attrLower \x3d\x3d \x22language\x22 || attrLower \x3d\x3d \x22src\x22 || attrLower \x3d\x3d \x22text\x22 || attrLower \x3d\x3d \x22type\x22) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot set \x22${attrLower}\x22 attribute` : \x22\x22);\n }\n }\n }\n let content \x3d \x22\x22;\n script \x3d googArray.concat(script);\n for (let i \x3d 0; i \x3c script.length; i++) {\n content +\x3d SafeScript.unwrap(script[i]);\n }\n const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content, Dir.NEUTRAL);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, attributes, htmlContent);\n }\n static createStyle(styleSheet, attributes \x3d undefined) {\n const fixedAttributes \x3d {\x22type\x22:\x22text/css\x22};\n const defaultAttributes \x3d {};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n let content \x3d \x22\x22;\n styleSheet \x3d googArray.concat(styleSheet);\n for (let i \x3d 0; i \x3c styleSheet.length; i++) {\n content +\x3d SafeStyleSheet.unwrap(styleSheet[i]);\n }\n const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content, Dir.NEUTRAL);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22style\x22, combinedAttrs, htmlContent);\n }\n static createMetaRefresh(url, secs \x3d undefined) {\n let unwrappedUrl \x3d SafeUrl.unwrap(SafeUrl.sanitize(url));\n if (browser.isIE() || browser.isEdge()) {\n if (internal.contains(unwrappedUrl, \x22;\x22)) {\n unwrappedUrl \x3d \x22\x27\x22 + unwrappedUrl.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n }\n }\n const attributes \x3d {\x22http-equiv\x22:\x22refresh\x22, \x22content\x22:(secs || 0) + \x22; url\\x3d\x22 + unwrappedUrl,};\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22meta\x22, attributes);\n }\n static createWithDir(dir, tagName, attributes \x3d undefined, content \x3d undefined) {\n const html \x3d SafeHtml.create(tagName, attributes, content);\n html.dir_ \x3d dir;\n return html;\n }\n static join(separator, parts) {\n const separatorHtml \x3d SafeHtml.htmlEscape(separator);\n let dir \x3d separatorHtml.getDirection();\n const content \x3d [];\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n const html \x3d SafeHtml.htmlEscape(argument);\n content.push(SafeHtml.unwrap(html));\n const htmlDir \x3d html.getDirection();\n if (dir \x3d\x3d Dir.NEUTRAL) {\n dir \x3d htmlDir;\n } else if (htmlDir !\x3d Dir.NEUTRAL \x26\x26 dir !\x3d htmlDir) {\n dir \x3d null;\n }\n }\n };\n parts.forEach(addArgument);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content.join(SafeHtml.unwrap(separatorHtml)), dir);\n }\n static concat(var_args) {\n return SafeHtml.join(SafeHtml.EMPTY, Array.prototype.slice.call(arguments));\n }\n static concatWithDir(dir, var_args) {\n const html \x3d SafeHtml.concat(Array.prototype.slice.call(arguments, 1));\n html.dir_ \x3d dir;\n return html;\n }\n static createSafeHtmlSecurityPrivateDoNotAccessOrElse(html, dir) {\n const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n const trustedHtml \x3d policy ? policy.createHTML(html) : html;\n return new SafeHtml(trustedHtml, dir, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n static createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(tagName, attributes \x3d undefined, content \x3d undefined) {\n let dir \x3d null;\n let result \x3d `\x3c${tagName}`;\n result +\x3d SafeHtml.stringifyAttributes(tagName, attributes);\n if (content \x3d\x3d null) {\n content \x3d [];\n } else if (!Array.isArray(content)) {\n content \x3d [content];\n }\n if (tags.isVoidTag(tagName.toLowerCase())) {\n asserts.assert(!content.length, `Void tag \x3c${tagName}\x3e does not allow content.`);\n result +\x3d \x22\\x3e\x22;\n } else {\n const html \x3d SafeHtml.concat(content);\n result +\x3d \x22\\x3e\x22 + SafeHtml.unwrap(html) + \x22\\x3c/\x22 + tagName + \x22\\x3e\x22;\n dir \x3d html.getDirection();\n }\n const dirAttribute \x3d attributes \x26\x26 attributes[\x22dir\x22];\n if (dirAttribute) {\n if (/^(ltr|rtl|auto)$/i.test(dirAttribute)) {\n dir \x3d Dir.NEUTRAL;\n } else {\n dir \x3d null;\n }\n }\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(result, dir);\n }\n static stringifyAttributes(tagName, attributes \x3d undefined) {\n let result \x3d \x22\x22;\n if (attributes) {\n for (let name in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n if (!VALID_NAMES_IN_TAG.test(name)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid attribute name \x22${name}\x22.` : \x22\x22);\n }\n const value \x3d attributes[name];\n if (value \x3d\x3d null) {\n continue;\n }\n result +\x3d \x22 \x22 + getAttrNameAndValue(tagName, name, value);\n }\n }\n }\n return result;\n }\n static combineAttributes(fixedAttributes, defaultAttributes, attributes \x3d undefined) {\n const combinedAttributes \x3d {};\n for (const name in fixedAttributes) {\n if (Object.prototype.hasOwnProperty.call(fixedAttributes, name)) {\n asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n combinedAttributes[name] \x3d fixedAttributes[name];\n }\n }\n for (const name in defaultAttributes) {\n if (Object.prototype.hasOwnProperty.call(defaultAttributes, name)) {\n asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n combinedAttributes[name] \x3d defaultAttributes[name];\n }\n }\n if (attributes) {\n for (const name in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n const nameLower \x3d name.toLowerCase();\n if (nameLower in fixedAttributes) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot override \x22${nameLower}\x22 attribute, got \x22` + name + \x27\x22 with value \x22\x27 + attributes[name] + \x27\x22\x27 : \x22\x22);\n }\n if (nameLower in defaultAttributes) {\n delete combinedAttributes[nameLower];\n }\n combinedAttributes[name] \x3d attributes[name];\n }\n }\n }\n return combinedAttributes;\n }\n }\n SafeHtml.ENABLE_ERROR_MESSAGES \x3d goog.define(\x22goog.html.SafeHtml.ENABLE_ERROR_MESSAGES\x22, goog.DEBUG);\n SafeHtml.SUPPORT_STYLE_ATTRIBUTE \x3d goog.define(\x22goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE\x22, true);\n SafeHtml.TextOrHtml_;\n SafeHtml.from \x3d SafeHtml.htmlEscape;\n const VALID_NAMES_IN_TAG \x3d /^[a-zA-Z0-9-]+$/;\n const URL_ATTRIBUTES \x3d googObject.createSet(\x22action\x22, \x22cite\x22, \x22data\x22, \x22formaction\x22, \x22href\x22, \x22manifest\x22, \x22poster\x22, \x22src\x22);\n const NOT_ALLOWED_TAG_NAMES \x3d googObject.createSet(TagName.APPLET, TagName.BASE, TagName.EMBED, TagName.IFRAME, TagName.LINK, TagName.MATH, TagName.META, TagName.OBJECT, TagName.SCRIPT, TagName.STYLE, TagName.SVG, TagName.TEMPLATE);\n SafeHtml.AttributeValue;\n function getAttrNameAndValue(tagName, name, value) {\n if (value instanceof Const) {\n value \x3d Const.unwrap(value);\n } else if (name.toLowerCase() \x3d\x3d \x22style\x22) {\n if (SafeHtml.SUPPORT_STYLE_ATTRIBUTE) {\n value \x3d getStyleValue(value);\n } else {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27Attribute \x22style\x22 not supported.\x27 : \x22\x22);\n }\n } else if (/^on/i.test(name)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}` + \x27\x22 requires goog.string.Const value, \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n } else if (name.toLowerCase() in URL_ATTRIBUTES) {\n if (value instanceof TrustedResourceUrl) {\n value \x3d TrustedResourceUrl.unwrap(value);\n } else if (value instanceof SafeUrl) {\n value \x3d SafeUrl.unwrap(value);\n } else if (typeof value \x3d\x3d\x3d \x22string\x22) {\n value \x3d SafeUrl.sanitize(value).getTypedStringValue();\n } else {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}\x22 on tag \x22${tagName}` + \x27\x22 requires goog.html.SafeUrl, goog.string.Const, or\x27 + \x27 string, value \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n }\n }\n if (value.implementsGoogStringTypedString) {\n value \x3d value.getTypedStringValue();\n }\n asserts.assert(typeof value \x3d\x3d\x3d \x22string\x22 || typeof value \x3d\x3d\x3d \x22number\x22, \x22String or number value expected, got \x22 + typeof value + \x22 with value: \x22 + value);\n return `${name}\x3d\x22` + internal.htmlEscape(String(value)) + \x27\x22\x27;\n }\n function getStyleValue(value) {\n if (!goog.isObject(value)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27The \x22style\x22 attribute requires goog.html.SafeStyle or map \x27 + \x22of style properties, \x22 + typeof value + \x22 given: \x22 + value : \x22\x22);\n }\n if (!(value instanceof SafeStyle)) {\n value \x3d SafeStyle.create(value);\n }\n return SafeStyle.unwrap(value);\n }\n SafeHtml.DOCTYPE_HTML \x3d {valueOf:function() {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!DOCTYPE html\\x3e\x22, Dir.NEUTRAL);\n },}.valueOf();\n SafeHtml.EMPTY \x3d new SafeHtml(goog.global.trustedTypes \x26\x26 goog.global.trustedTypes.emptyHTML || \x22\x22, Dir.NEUTRAL, CONSTRUCTOR_TOKEN_PRIVATE);\n SafeHtml.BR \x3d {valueOf:function() {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3cbr\\x3e\x22, Dir.NEUTRAL);\n },}.valueOf();\n exports \x3d SafeHtml;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.html.uncheckedconversions.js", true , "goog.provide(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.requireType(\x22goog.i18n.bidi.Dir\x22);\ngoog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract \x3d function(justification, html, opt_dir) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(html, opt_dir || null);\n};\ngoog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract \x3d function(justification, script) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(script);\n};\ngoog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract \x3d function(justification, style) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n};\ngoog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract \x3d function(justification, styleSheet) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n};\ngoog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.safe.js", true , "goog.provide(\x22goog.dom.safe\x22);\ngoog.provide(\x22goog.dom.safe.InsertAdjacentHtmlPosition\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.dom.safe.InsertAdjacentHtmlPosition \x3d {AFTERBEGIN:\x22afterbegin\x22, AFTEREND:\x22afterend\x22, BEFOREBEGIN:\x22beforebegin\x22, BEFOREEND:\x22beforeend\x22};\ngoog.dom.safe.insertAdjacentHtml \x3d function(node, position, html) {\n node.insertAdjacentHTML(position, goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_ \x3d {\x22MATH\x22:true, \x22SCRIPT\x22:true, \x22STYLE\x22:true, \x22SVG\x22:true, \x22TEMPLATE\x22:true};\ngoog.dom.safe.isInnerHtmlCleanupRecursive_ \x3d goog.functions.cacheReturnValue(function() {\n if (goog.DEBUG \x26\x26 typeof document \x3d\x3d\x3d \x22undefined\x22) {\n return false;\n }\n var div \x3d document.createElement(\x22div\x22);\n var childDiv \x3d document.createElement(\x22div\x22);\n childDiv.appendChild(document.createElement(\x22div\x22));\n div.appendChild(childDiv);\n if (goog.DEBUG \x26\x26 !div.firstChild) {\n return false;\n }\n var innerChild \x3d div.firstChild.firstChild;\n div.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY);\n return !innerChild.parentElement;\n});\ngoog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse \x3d function(elem, html) {\n if (goog.dom.safe.isInnerHtmlCleanupRecursive_()) {\n while (elem.lastChild) {\n elem.removeChild(elem.lastChild);\n }\n }\n elem.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setInnerHtml \x3d function(elem, html) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 elem.tagName) {\n var tagName \x3d elem.tagName.toUpperCase();\n if (goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[tagName]) {\n throw new Error(\x22goog.dom.safe.setInnerHtml cannot be used to set content of \x22 + elem.tagName + \x22.\x22);\n }\n }\n goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(elem, html);\n};\ngoog.dom.safe.setInnerHtmlFromConstant \x3d function(element, constHtml) {\n goog.dom.safe.setInnerHtml(element, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML to be immediatelly used.\x22), goog.string.Const.unwrap(constHtml)));\n};\ngoog.dom.safe.setOuterHtml \x3d function(elem, html) {\n elem.outerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setFormElementAction \x3d function(form, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n goog.dom.asserts.assertIsHTMLFormElement(form).action \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setButtonFormAction \x3d function(button, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n goog.dom.asserts.assertIsHTMLButtonElement(button).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setInputFormAction \x3d function(input, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n goog.dom.asserts.assertIsHTMLInputElement(input).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setStyle \x3d function(elem, style) {\n elem.style.cssText \x3d goog.html.SafeStyle.unwrap(style);\n};\ngoog.dom.safe.documentWrite \x3d function(doc, html) {\n doc.write(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.setAnchorHref \x3d function(anchor, url) {\n goog.dom.asserts.assertIsHTMLAnchorElement(anchor);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n anchor.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setImageSrc \x3d function(imageElement, url) {\n goog.dom.asserts.assertIsHTMLImageElement(imageElement);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n var allowDataUrl \x3d /^data:image\\//i.test(url);\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url, allowDataUrl);\n }\n imageElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setAudioSrc \x3d function(audioElement, url) {\n goog.dom.asserts.assertIsHTMLAudioElement(audioElement);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n var allowDataUrl \x3d /^data:audio\\//i.test(url);\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url, allowDataUrl);\n }\n audioElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setVideoSrc \x3d function(videoElement, url) {\n goog.dom.asserts.assertIsHTMLVideoElement(videoElement);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n var allowDataUrl \x3d /^data:video\\//i.test(url);\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url, allowDataUrl);\n }\n videoElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setEmbedSrc \x3d function(embed, url) {\n goog.dom.asserts.assertIsHTMLEmbedElement(embed);\n embed.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setFrameSrc \x3d function(frame, url) {\n goog.dom.asserts.assertIsHTMLFrameElement(frame);\n frame.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrc \x3d function(iframe, url) {\n goog.dom.asserts.assertIsHTMLIFrameElement(iframe);\n iframe.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrcdoc \x3d function(iframe, html) {\n goog.dom.asserts.assertIsHTMLIFrameElement(iframe);\n iframe.srcdoc \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setLinkHrefAndRel \x3d function(link, url, rel) {\n goog.dom.asserts.assertIsHTMLLinkElement(link);\n link.rel \x3d rel;\n if (goog.string.internal.caseInsensitiveContains(rel, \x22stylesheet\x22)) {\n goog.asserts.assert(url instanceof goog.html.TrustedResourceUrl, \x27URL must be TrustedResourceUrl because \x22rel\x22 contains \x22stylesheet\x22\x27);\n link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n const win \x3d link.ownerDocument \x26\x26 link.ownerDocument.defaultView;\n const nonce \x3d goog.dom.safe.getStyleNonce(win);\n if (nonce) {\n link.setAttribute(\x22nonce\x22, nonce);\n }\n } else if (url instanceof goog.html.TrustedResourceUrl) {\n link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n } else if (url instanceof goog.html.SafeUrl) {\n link.href \x3d goog.html.SafeUrl.unwrap(url);\n } else {\n link.href \x3d goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeAssertUnchanged(url));\n }\n};\ngoog.dom.safe.setObjectData \x3d function(object, url) {\n goog.dom.asserts.assertIsHTMLObjectElement(object);\n object.data \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setScriptSrc \x3d function(script, url) {\n goog.dom.asserts.assertIsHTMLScriptElement(script);\n script.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n goog.dom.safe.setNonceForScriptElement_(script);\n};\ngoog.dom.safe.setScriptContent \x3d function(script, content) {\n goog.dom.asserts.assertIsHTMLScriptElement(script);\n script.textContent \x3d goog.html.SafeScript.unwrapTrustedScript(content);\n goog.dom.safe.setNonceForScriptElement_(script);\n};\ngoog.dom.safe.setNonceForScriptElement_ \x3d function(script) {\n var win \x3d script.ownerDocument \x26\x26 script.ownerDocument.defaultView;\n const nonce \x3d goog.dom.safe.getScriptNonce(win);\n if (nonce) {\n script.setAttribute(\x22nonce\x22, nonce);\n }\n};\ngoog.dom.safe.setLocationHref \x3d function(loc, url) {\n goog.dom.asserts.assertIsLocation(loc);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n loc.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.assignLocation \x3d function(loc, url) {\n goog.dom.asserts.assertIsLocation(loc);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n loc.assign(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.replaceLocation \x3d function(loc, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n loc.replace(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.openInWindow \x3d function(url, opt_openerWin, opt_name, opt_specs) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeAssertUnchanged(url);\n }\n var win \x3d opt_openerWin || goog.global;\n var name \x3d opt_name instanceof goog.string.Const ? goog.string.Const.unwrap(opt_name) : opt_name || \x22\x22;\n if (opt_specs !\x3d\x3d undefined) {\n return win.open(goog.html.SafeUrl.unwrap(safeUrl), name, opt_specs);\n } else {\n return win.open(goog.html.SafeUrl.unwrap(safeUrl), name);\n }\n};\ngoog.dom.safe.parseFromStringHtml \x3d function(parser, html) {\n return goog.dom.safe.parseFromString(parser, html, \x22text/html\x22);\n};\ngoog.dom.safe.parseFromString \x3d function(parser, content, type) {\n return parser.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(content), type);\n};\ngoog.dom.safe.createImageFromBlob \x3d function(blob) {\n if (!/^image\\/.*/g.test(blob.type)) {\n throw new Error(\x22goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.\x22);\n }\n var objectUrl \x3d goog.global.URL.createObjectURL(blob);\n var image \x3d new goog.global.Image();\n image.onload \x3d function() {\n goog.global.URL.revokeObjectURL(objectUrl);\n };\n goog.dom.safe.setImageSrc(image, goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Image blob URL.\x22), objectUrl));\n return image;\n};\ngoog.dom.safe.createContextualFragment \x3d function(range, html) {\n return range.createContextualFragment(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.getScriptNonce \x3d function(opt_window) {\n return goog.dom.safe.getNonce_(\x22script[nonce]\x22, opt_window);\n};\ngoog.dom.safe.getStyleNonce \x3d function(opt_window) {\n return goog.dom.safe.getNonce_(\x27style[nonce],link[rel\\x3d\x22stylesheet\x22][nonce]\x27, opt_window);\n};\ngoog.dom.safe.NONCE_PATTERN_ \x3d /^[\\w+/_-]+[\x3d]{0,2}$/;\ngoog.dom.safe.getNonce_ \x3d function(selector, win) {\n const doc \x3d (win || goog.global).document;\n if (!doc.querySelector) {\n return \x22\x22;\n }\n let el \x3d doc.querySelector(selector);\n if (el) {\n const nonce \x3d el[\x22nonce\x22] || el.getAttribute(\x22nonce\x22);\n if (nonce \x26\x26 goog.dom.safe.NONCE_PATTERN_.test(nonce)) {\n return nonce;\n }\n }\n return \x22\x22;\n};\n"); +SHADOW_ENV.evalLoad("goog.string.string.js", true , "goog.provide(\x22goog.string\x22);\ngoog.provide(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.string.DETECT_DOUBLE_ESCAPING \x3d goog.define(\x22goog.string.DETECT_DOUBLE_ESCAPING\x22, false);\ngoog.string.FORCE_NON_DOM_HTML_UNESCAPING \x3d goog.define(\x22goog.string.FORCE_NON_DOM_HTML_UNESCAPING\x22, false);\ngoog.string.Unicode \x3d {NBSP:\x22\xa0\x22};\ngoog.string.startsWith \x3d goog.string.internal.startsWith;\ngoog.string.endsWith \x3d goog.string.internal.endsWith;\ngoog.string.caseInsensitiveStartsWith \x3d goog.string.internal.caseInsensitiveStartsWith;\ngoog.string.caseInsensitiveEndsWith \x3d goog.string.internal.caseInsensitiveEndsWith;\ngoog.string.caseInsensitiveEquals \x3d goog.string.internal.caseInsensitiveEquals;\ngoog.string.subs \x3d function(str, var_args) {\n const splitParts \x3d str.split(\x22%s\x22);\n let returnString \x3d \x22\x22;\n const subsArguments \x3d Array.prototype.slice.call(arguments, 1);\n while (subsArguments.length \x26\x26 splitParts.length \x3e 1) {\n returnString +\x3d splitParts.shift() + subsArguments.shift();\n }\n return returnString + splitParts.join(\x22%s\x22);\n};\ngoog.string.collapseWhitespace \x3d function(str) {\n return str.replace(/[\\s\\xa0]+/g, \x22 \x22).replace(/^\\s+|\\s+$/g, \x22\x22);\n};\ngoog.string.isEmptyOrWhitespace \x3d goog.string.internal.isEmptyOrWhitespace;\ngoog.string.isEmptyString \x3d function(str) {\n return str.length \x3d\x3d 0;\n};\ngoog.string.isEmpty \x3d goog.string.isEmptyOrWhitespace;\ngoog.string.isEmptyOrWhitespaceSafe \x3d function(str) {\n return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(str));\n};\ngoog.string.isEmptySafe \x3d goog.string.isEmptyOrWhitespaceSafe;\ngoog.string.isBreakingWhitespace \x3d function(str) {\n return !/[^\\t\\n\\r ]/.test(str);\n};\ngoog.string.isAlpha \x3d function(str) {\n return !/[^a-zA-Z]/.test(str);\n};\ngoog.string.isNumeric \x3d function(str) {\n return !/[^0-9]/.test(str);\n};\ngoog.string.isAlphaNumeric \x3d function(str) {\n return !/[^a-zA-Z0-9]/.test(str);\n};\ngoog.string.isSpace \x3d function(ch) {\n return ch \x3d\x3d \x22 \x22;\n};\ngoog.string.isUnicodeChar \x3d function(ch) {\n return ch.length \x3d\x3d 1 \x26\x26 ch \x3e\x3d \x22 \x22 \x26\x26 ch \x3c\x3d \x22~\x22 || ch \x3e\x3d \x22\x80\x22 \x26\x26 ch \x3c\x3d \x22\ufffd\x22;\n};\ngoog.string.stripNewlines \x3d function(str) {\n return str.replace(/(\\r\\n|\\r|\\n)+/g, \x22 \x22);\n};\ngoog.string.canonicalizeNewlines \x3d function(str) {\n return str.replace(/(\\r\\n|\\r|\\n)/g, \x22\\n\x22);\n};\ngoog.string.normalizeWhitespace \x3d function(str) {\n return str.replace(/\\xa0|\\s/g, \x22 \x22);\n};\ngoog.string.normalizeSpaces \x3d function(str) {\n return str.replace(/\\xa0|[ \\t]+/g, \x22 \x22);\n};\ngoog.string.collapseBreakingSpaces \x3d function(str) {\n return str.replace(/[\\t\\r\\n ]+/g, \x22 \x22).replace(/^[\\t\\r\\n ]+|[\\t\\r\\n ]+$/g, \x22\x22);\n};\ngoog.string.trim \x3d goog.string.internal.trim;\ngoog.string.trimLeft \x3d function(str) {\n return str.replace(/^[\\s\\xa0]+/, \x22\x22);\n};\ngoog.string.trimRight \x3d function(str) {\n return str.replace(/[\\s\\xa0]+$/, \x22\x22);\n};\ngoog.string.caseInsensitiveCompare \x3d goog.string.internal.caseInsensitiveCompare;\ngoog.string.numberAwareCompare_ \x3d function(str1, str2, tokenizerRegExp) {\n if (str1 \x3d\x3d str2) {\n return 0;\n }\n if (!str1) {\n return -1;\n }\n if (!str2) {\n return 1;\n }\n const tokens1 \x3d str1.toLowerCase().match(tokenizerRegExp);\n const tokens2 \x3d str2.toLowerCase().match(tokenizerRegExp);\n const count \x3d Math.min(tokens1.length, tokens2.length);\n for (let i \x3d 0; i \x3c count; i++) {\n const a \x3d tokens1[i];\n const b \x3d tokens2[i];\n if (a !\x3d b) {\n const num1 \x3d parseInt(a, 10);\n if (!isNaN(num1)) {\n const num2 \x3d parseInt(b, 10);\n if (!isNaN(num2) \x26\x26 num1 - num2) {\n return num1 - num2;\n }\n }\n return a \x3c b ? -1 : 1;\n }\n }\n if (tokens1.length !\x3d tokens2.length) {\n return tokens1.length - tokens2.length;\n }\n return str1 \x3c str2 ? -1 : 1;\n};\ngoog.string.intAwareCompare \x3d function(str1, str2) {\n return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\D+/g);\n};\ngoog.string.floatAwareCompare \x3d function(str1, str2) {\n return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\.\\d+|\\D+/g);\n};\ngoog.string.numerateCompare \x3d goog.string.floatAwareCompare;\ngoog.string.urlEncode \x3d function(str) {\n return encodeURIComponent(String(str));\n};\ngoog.string.urlDecode \x3d function(str) {\n return decodeURIComponent(str.replace(/\\+/g, \x22 \x22));\n};\ngoog.string.newLineToBr \x3d goog.string.internal.newLineToBr;\ngoog.string.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n str \x3d goog.string.internal.htmlEscape(str, opt_isLikelyToContainHtmlChars);\n if (goog.string.DETECT_DOUBLE_ESCAPING) {\n str \x3d str.replace(goog.string.E_RE_, \x22\\x26#101;\x22);\n }\n return str;\n};\ngoog.string.E_RE_ \x3d /e/g;\ngoog.string.unescapeEntities \x3d function(str) {\n if (goog.string.contains(str, \x22\\x26\x22)) {\n if (!goog.string.FORCE_NON_DOM_HTML_UNESCAPING \x26\x26 \x22document\x22 in goog.global) {\n return goog.string.unescapeEntitiesUsingDom_(str);\n } else {\n return goog.string.unescapePureXmlEntities_(str);\n }\n }\n return str;\n};\ngoog.string.unescapeEntitiesWithDocument \x3d function(str, document) {\n if (goog.string.contains(str, \x22\\x26\x22)) {\n return goog.string.unescapeEntitiesUsingDom_(str, document);\n }\n return str;\n};\ngoog.string.unescapeEntitiesUsingDom_ \x3d function(str, opt_document) {\n const seen \x3d {\x22\\x26amp;\x22:\x22\\x26\x22, \x22\\x26lt;\x22:\x22\\x3c\x22, \x22\\x26gt;\x22:\x22\\x3e\x22, \x22\\x26quot;\x22:\x27\x22\x27};\n let div;\n if (opt_document) {\n div \x3d opt_document.createElement(\x22div\x22);\n } else {\n div \x3d goog.global.document.createElement(\x22div\x22);\n }\n return str.replace(goog.string.HTML_ENTITY_PATTERN_, function(s, entity) {\n let value \x3d seen[s];\n if (value) {\n return value;\n }\n if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n const n \x3d Number(\x220\x22 + entity.substr(1));\n if (!isNaN(n)) {\n value \x3d String.fromCharCode(n);\n }\n }\n if (!value) {\n goog.dom.safe.setInnerHtml(div, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Single HTML entity.\x22), s + \x22 \x22));\n value \x3d div.firstChild.nodeValue.slice(0, -1);\n }\n return seen[s] \x3d value;\n });\n};\ngoog.string.unescapePureXmlEntities_ \x3d function(str) {\n return str.replace(/\x26([^;]+);/g, function(s, entity) {\n switch(entity) {\n case \x22amp\x22:\n return \x22\\x26\x22;\n case \x22lt\x22:\n return \x22\\x3c\x22;\n case \x22gt\x22:\n return \x22\\x3e\x22;\n case \x22quot\x22:\n return \x27\x22\x27;\n default:\n if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n const n \x3d Number(\x220\x22 + entity.substr(1));\n if (!isNaN(n)) {\n return String.fromCharCode(n);\n }\n }\n return s;\n }\n });\n};\ngoog.string.HTML_ENTITY_PATTERN_ \x3d /\x26([^;\\s\x3c\x26]+);?/g;\ngoog.string.whitespaceEscape \x3d function(str, opt_xml) {\n return goog.string.newLineToBr(str.replace(/ /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.preserveSpaces \x3d function(str) {\n return str.replace(/(^|[\\n ]) /g, \x22$1\x22 + goog.string.Unicode.NBSP);\n};\ngoog.string.stripQuotes \x3d function(str, quoteChars) {\n const length \x3d quoteChars.length;\n for (let i \x3d 0; i \x3c length; i++) {\n const quoteChar \x3d length \x3d\x3d 1 ? quoteChars : quoteChars.charAt(i);\n if (str.charAt(0) \x3d\x3d quoteChar \x26\x26 str.charAt(str.length - 1) \x3d\x3d quoteChar) {\n return str.substring(1, str.length - 1);\n }\n }\n return str;\n};\ngoog.string.truncate \x3d function(str, chars, opt_protectEscapedCharacters) {\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.unescapeEntities(str);\n }\n if (str.length \x3e chars) {\n str \x3d str.substring(0, chars - 3) + \x22...\x22;\n }\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.htmlEscape(str);\n }\n return str;\n};\ngoog.string.truncateMiddle \x3d function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) {\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.unescapeEntities(str);\n }\n if (opt_trailingChars \x26\x26 str.length \x3e chars) {\n if (opt_trailingChars \x3e chars) {\n opt_trailingChars \x3d chars;\n }\n const endPoint \x3d str.length - opt_trailingChars;\n const startPoint \x3d chars - opt_trailingChars;\n str \x3d str.substring(0, startPoint) + \x22...\x22 + str.substring(endPoint);\n } else if (str.length \x3e chars) {\n let half \x3d Math.floor(chars / 2);\n const endPos \x3d str.length - half;\n half +\x3d chars % 2;\n str \x3d str.substring(0, half) + \x22...\x22 + str.substring(endPos);\n }\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.htmlEscape(str);\n }\n return str;\n};\ngoog.string.specialEscapeChars_ \x3d {\x22\\x00\x22:\x22\\\\0\x22, \x22\\b\x22:\x22\\\\b\x22, \x22\\f\x22:\x22\\\\f\x22, \x22\\n\x22:\x22\\\\n\x22, \x22\\r\x22:\x22\\\\r\x22, \x22\\t\x22:\x22\\\\t\x22, \x22\\v\x22:\x22\\\\x0B\x22, \x27\x22\x27:\x27\\\\\x22\x27, \x22\\\\\x22:\x22\\\\\\\\\x22, \x22\\x3c\x22:\x22\\\\u003C\x22};\ngoog.string.jsEscapeCache_ \x3d {\x22\x27\x22:\x22\\\\\x27\x22};\ngoog.string.quote \x3d function(s) {\n s \x3d String(s);\n const sb \x3d [\x27\x22\x27];\n for (let i \x3d 0; i \x3c s.length; i++) {\n const ch \x3d s.charAt(i);\n const cc \x3d ch.charCodeAt(0);\n sb[i + 1] \x3d goog.string.specialEscapeChars_[ch] || (cc \x3e 31 \x26\x26 cc \x3c 127 ? ch : goog.string.escapeChar(ch));\n }\n sb.push(\x27\x22\x27);\n return sb.join(\x22\x22);\n};\ngoog.string.escapeString \x3d function(str) {\n const sb \x3d [];\n for (let i \x3d 0; i \x3c str.length; i++) {\n sb[i] \x3d goog.string.escapeChar(str.charAt(i));\n }\n return sb.join(\x22\x22);\n};\ngoog.string.escapeChar \x3d function(c) {\n if (c in goog.string.jsEscapeCache_) {\n return goog.string.jsEscapeCache_[c];\n }\n if (c in goog.string.specialEscapeChars_) {\n return goog.string.jsEscapeCache_[c] \x3d goog.string.specialEscapeChars_[c];\n }\n let rv \x3d c;\n const cc \x3d c.charCodeAt(0);\n if (cc \x3e 31 \x26\x26 cc \x3c 127) {\n rv \x3d c;\n } else {\n if (cc \x3c 256) {\n rv \x3d \x22\\\\x\x22;\n if (cc \x3c 16 || cc \x3e 256) {\n rv +\x3d \x220\x22;\n }\n } else {\n rv \x3d \x22\\\\u\x22;\n if (cc \x3c 4096) {\n rv +\x3d \x220\x22;\n }\n }\n rv +\x3d cc.toString(16).toUpperCase();\n }\n return goog.string.jsEscapeCache_[c] \x3d rv;\n};\ngoog.string.contains \x3d goog.string.internal.contains;\ngoog.string.caseInsensitiveContains \x3d goog.string.internal.caseInsensitiveContains;\ngoog.string.countOf \x3d function(s, ss) {\n return s \x26\x26 ss ? s.split(ss).length - 1 : 0;\n};\ngoog.string.removeAt \x3d function(s, index, stringLength) {\n let resultStr \x3d s;\n if (index \x3e\x3d 0 \x26\x26 index \x3c s.length \x26\x26 stringLength \x3e 0) {\n resultStr \x3d s.substr(0, index) + s.substr(index + stringLength, s.length - index - stringLength);\n }\n return resultStr;\n};\ngoog.string.remove \x3d function(str, substr) {\n return str.replace(substr, \x22\x22);\n};\ngoog.string.removeAll \x3d function(s, ss) {\n const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n return s.replace(re, \x22\x22);\n};\ngoog.string.replaceAll \x3d function(s, ss, replacement) {\n const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n return s.replace(re, replacement.replace(/\\$/g, \x22$$$$\x22));\n};\ngoog.string.regExpEscape \x3d function(s) {\n return String(s).replace(/([-()\\[\\]{}+?*.$\\^|,:#\x3c!\\\\])/g, \x22\\\\$1\x22).replace(/\\x08/g, \x22\\\\x08\x22);\n};\ngoog.string.repeat \x3d String.prototype.repeat ? function(string, length) {\n return string.repeat(length);\n} : function(string, length) {\n return (new Array(length + 1)).join(string);\n};\ngoog.string.padNumber \x3d function(num, length, opt_precision) {\n let s \x3d opt_precision !\x3d\x3d undefined ? num.toFixed(opt_precision) : String(num);\n let index \x3d s.indexOf(\x22.\x22);\n if (index \x3d\x3d\x3d -1) {\n index \x3d s.length;\n }\n const sign \x3d s[0] \x3d\x3d\x3d \x22-\x22 ? \x22-\x22 : \x22\x22;\n if (sign) {\n s \x3d s.substring(1);\n }\n return sign + goog.string.repeat(\x220\x22, Math.max(0, length - index)) + s;\n};\ngoog.string.makeSafe \x3d function(obj) {\n return obj \x3d\x3d null ? \x22\x22 : String(obj);\n};\ngoog.string.buildString \x3d function(var_args) {\n return Array.prototype.join.call(arguments, \x22\x22);\n};\ngoog.string.getRandomString \x3d function() {\n const x \x3d 2147483648;\n return Math.floor(Math.random() * x).toString(36) + Math.abs(Math.floor(Math.random() * x) ^ goog.now()).toString(36);\n};\ngoog.string.compareVersions \x3d goog.string.internal.compareVersions;\ngoog.string.hashCode \x3d function(str) {\n let result \x3d 0;\n for (let i \x3d 0; i \x3c str.length; ++i) {\n result \x3d 31 * result + str.charCodeAt(i) \x3e\x3e\x3e 0;\n }\n return result;\n};\ngoog.string.uniqueStringCounter_ \x3d Math.random() * 2147483648 | 0;\ngoog.string.createUniqueString \x3d function() {\n return \x22goog_\x22 + goog.string.uniqueStringCounter_++;\n};\ngoog.string.toNumber \x3d function(str) {\n const num \x3d Number(str);\n if (num \x3d\x3d 0 \x26\x26 goog.string.isEmptyOrWhitespace(str)) {\n return NaN;\n }\n return num;\n};\ngoog.string.isLowerCamelCase \x3d function(str) {\n return /^[a-z]+([A-Z][a-z]*)*$/.test(str);\n};\ngoog.string.isUpperCamelCase \x3d function(str) {\n return /^([A-Z][a-z]*)+$/.test(str);\n};\ngoog.string.toCamelCase \x3d function(str) {\n return String(str).replace(/\\-([a-z])/g, function(all, match) {\n return match.toUpperCase();\n });\n};\ngoog.string.toSelectorCase \x3d function(str) {\n return String(str).replace(/([A-Z])/g, \x22-$1\x22).toLowerCase();\n};\ngoog.string.toTitleCase \x3d function(str, opt_delimiters) {\n let delimiters \x3d typeof opt_delimiters \x3d\x3d\x3d \x22string\x22 ? goog.string.regExpEscape(opt_delimiters) : \x22\\\\s\x22;\n delimiters \x3d delimiters ? \x22|[\x22 + delimiters + \x22]+\x22 : \x22\x22;\n const regexp \x3d new RegExp(\x22(^\x22 + delimiters + \x22)([a-z])\x22, \x22g\x22);\n return str.replace(regexp, function(all, p1, p2) {\n return p1 + p2.toUpperCase();\n });\n};\ngoog.string.capitalize \x3d function(str) {\n return String(str.charAt(0)).toUpperCase() + String(str.substr(1)).toLowerCase();\n};\ngoog.string.parseInt \x3d function(value) {\n if (isFinite(value)) {\n value \x3d String(value);\n }\n if (typeof value \x3d\x3d\x3d \x22string\x22) {\n return /^\\s*-?0x/i.test(value) ? parseInt(value, 16) : parseInt(value, 10);\n }\n return NaN;\n};\ngoog.string.splitLimit \x3d function(str, separator, limit) {\n const parts \x3d str.split(separator);\n const returnVal \x3d [];\n while (limit \x3e 0 \x26\x26 parts.length) {\n returnVal.push(parts.shift());\n limit--;\n }\n if (parts.length) {\n returnVal.push(parts.join(separator));\n }\n return returnVal;\n};\ngoog.string.lastComponent \x3d function(str, separators) {\n if (!separators) {\n return str;\n } else if (typeof separators \x3d\x3d \x22string\x22) {\n separators \x3d [separators];\n }\n let lastSeparatorIndex \x3d -1;\n for (let i \x3d 0; i \x3c separators.length; i++) {\n if (separators[i] \x3d\x3d \x22\x22) {\n continue;\n }\n const currentSeparatorIndex \x3d str.lastIndexOf(separators[i]);\n if (currentSeparatorIndex \x3e lastSeparatorIndex) {\n lastSeparatorIndex \x3d currentSeparatorIndex;\n }\n }\n if (lastSeparatorIndex \x3d\x3d -1) {\n return str;\n }\n return str.slice(lastSeparatorIndex + 1);\n};\ngoog.string.editDistance \x3d function(a, b) {\n const v0 \x3d [];\n const v1 \x3d [];\n if (a \x3d\x3d b) {\n return 0;\n }\n if (!a.length || !b.length) {\n return Math.max(a.length, b.length);\n }\n for (let i \x3d 0; i \x3c b.length + 1; i++) {\n v0[i] \x3d i;\n }\n for (let i \x3d 0; i \x3c a.length; i++) {\n v1[0] \x3d i + 1;\n for (let j \x3d 0; j \x3c b.length; j++) {\n const cost \x3d Number(a[i] !\x3d b[j]);\n v1[j + 1] \x3d Math.min(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost);\n }\n for (let j \x3d 0; j \x3c v0.length; j++) {\n v0[j] \x3d v1[j];\n }\n }\n return v1[b.length];\n};\n"); +SHADOW_ENV.evalLoad("goog.collections.maps.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.collections.maps\x22);\n goog.module.declareLegacyNamespace();\n class MapLike {\n constructor() {\n this.size;\n }\n set(key, val) {\n }\n get(key) {\n }\n keys() {\n }\n values() {\n }\n has(key) {\n }\n }\n exports.MapLike \x3d MapLike;\n function setAll(map, entries) {\n if (!entries) {\n return;\n }\n for (const [k, v] of entries) {\n map.set(k, v);\n }\n }\n exports.setAll \x3d setAll;\n function hasValue(map, val, valueEqualityFn \x3d defaultEqualityFn) {\n for (const v of map.values()) {\n if (valueEqualityFn(v, val)) {\n return true;\n }\n }\n return false;\n }\n exports.hasValue \x3d hasValue;\n const defaultEqualityFn \x3d (a, b) \x3d\x3e a \x3d\x3d\x3d b;\n function equals(map, otherMap, valueEqualityFn \x3d defaultEqualityFn) {\n if (map \x3d\x3d\x3d otherMap) {\n return true;\n }\n if (map.size !\x3d\x3d otherMap.size) {\n return false;\n }\n for (const key of map.keys()) {\n if (!otherMap.has(key)) {\n return false;\n }\n if (!valueEqualityFn(map.get(key), otherMap.get(key))) {\n return false;\n }\n }\n return true;\n }\n exports.equals \x3d equals;\n function transpose(map) {\n const transposed \x3d new Map();\n for (const key of map.keys()) {\n const val \x3d map.get(key);\n transposed.set(val, key);\n }\n return transposed;\n }\n exports.transpose \x3d transpose;\n function toObject(map) {\n const obj \x3d {};\n for (const key of map.keys()) {\n obj[key] \x3d map.get(key);\n }\n return obj;\n }\n exports.toObject \x3d toObject;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.structs.structs.js", true , "goog.provide(\x22goog.structs\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.object\x22);\ngoog.structs.getCount \x3d function(col) {\n if (col.getCount \x26\x26 typeof col.getCount \x3d\x3d \x22function\x22) {\n return col.getCount();\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.length;\n }\n return goog.object.getCount(col);\n};\ngoog.structs.getValues \x3d function(col) {\n if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n return col.getValues();\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map || typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n return Array.from(col.values());\n }\n if (typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.split(\x22\x22);\n }\n if (goog.isArrayLike(col)) {\n var rv \x3d [];\n var l \x3d col.length;\n for (var i \x3d 0; i \x3c l; i++) {\n rv.push(col[i]);\n }\n return rv;\n }\n return goog.object.getValues(col);\n};\ngoog.structs.getKeys \x3d function(col) {\n if (col.getKeys \x26\x26 typeof col.getKeys \x3d\x3d \x22function\x22) {\n return col.getKeys();\n }\n if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n return undefined;\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map) {\n return Array.from(col.keys());\n }\n if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n return undefined;\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n var rv \x3d [];\n var l \x3d col.length;\n for (var i \x3d 0; i \x3c l; i++) {\n rv.push(i);\n }\n return rv;\n }\n return goog.object.getKeys(col);\n};\ngoog.structs.contains \x3d function(col, val) {\n if (col.contains \x26\x26 typeof col.contains \x3d\x3d \x22function\x22) {\n return col.contains(val);\n }\n if (col.containsValue \x26\x26 typeof col.containsValue \x3d\x3d \x22function\x22) {\n return col.containsValue(val);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return goog.array.contains(col, val);\n }\n return goog.object.containsValue(col, val);\n};\ngoog.structs.isEmpty \x3d function(col) {\n if (col.isEmpty \x26\x26 typeof col.isEmpty \x3d\x3d \x22function\x22) {\n return col.isEmpty();\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.length \x3d\x3d\x3d 0;\n }\n return goog.object.isEmpty(col);\n};\ngoog.structs.clear \x3d function(col) {\n if (col.clear \x26\x26 typeof col.clear \x3d\x3d \x22function\x22) {\n col.clear();\n } else if (goog.isArrayLike(col)) {\n goog.array.clear(col);\n } else {\n goog.object.clear(col);\n }\n};\ngoog.structs.forEach \x3d function(col, f, opt_obj) {\n if (col.forEach \x26\x26 typeof col.forEach \x3d\x3d \x22function\x22) {\n col.forEach(f, opt_obj);\n } else if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n Array.prototype.forEach.call(col, f, opt_obj);\n } else {\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n for (var i \x3d 0; i \x3c l; i++) {\n f.call(opt_obj, values[i], keys \x26\x26 keys[i], col);\n }\n }\n};\ngoog.structs.filter \x3d function(col, f, opt_obj) {\n if (typeof col.filter \x3d\x3d \x22function\x22) {\n return col.filter(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.filter.call(col, f, opt_obj);\n }\n var rv;\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n if (keys) {\n rv \x3d {};\n for (var i \x3d 0; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], keys[i], col)) {\n rv[keys[i]] \x3d values[i];\n }\n }\n } else {\n rv \x3d [];\n for (var i \x3d 0; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], undefined, col)) {\n rv.push(values[i]);\n }\n }\n }\n return rv;\n};\ngoog.structs.map \x3d function(col, f, opt_obj) {\n if (typeof col.map \x3d\x3d \x22function\x22) {\n return col.map(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.map.call(col, f, opt_obj);\n }\n var rv;\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n if (keys) {\n rv \x3d {};\n for (var i \x3d 0; i \x3c l; i++) {\n rv[keys[i]] \x3d f.call(opt_obj, values[i], keys[i], col);\n }\n } else {\n rv \x3d [];\n for (var i \x3d 0; i \x3c l; i++) {\n rv[i] \x3d f.call(opt_obj, values[i], undefined, col);\n }\n }\n return rv;\n};\ngoog.structs.some \x3d function(col, f, opt_obj) {\n if (typeof col.some \x3d\x3d \x22function\x22) {\n return col.some(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.some.call(col, f, opt_obj);\n }\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n for (var i \x3d 0; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n return true;\n }\n }\n return false;\n};\ngoog.structs.every \x3d function(col, f, opt_obj) {\n if (typeof col.every \x3d\x3d \x22function\x22) {\n return col.every(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.every.call(col, f, opt_obj);\n }\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n for (var i \x3d 0; i \x3c l; i++) {\n if (!f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n return false;\n }\n }\n return true;\n};\n"); +SHADOW_ENV.evalLoad("goog.uri.utils.js", true , "goog.provide(\x22goog.uri.utils\x22);\ngoog.provide(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.provide(\x22goog.uri.utils.QueryArray\x22);\ngoog.provide(\x22goog.uri.utils.QueryValue\x22);\ngoog.provide(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string\x22);\ngoog.uri.utils.CharCode_ \x3d {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};\ngoog.uri.utils.buildFromEncodedParts \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {\n var out \x3d \x22\x22;\n if (opt_scheme) {\n out +\x3d opt_scheme + \x22:\x22;\n }\n if (opt_domain) {\n out +\x3d \x22//\x22;\n if (opt_userInfo) {\n out +\x3d opt_userInfo + \x22@\x22;\n }\n out +\x3d opt_domain;\n if (opt_port) {\n out +\x3d \x22:\x22 + opt_port;\n }\n }\n if (opt_path) {\n out +\x3d opt_path;\n }\n if (opt_queryData) {\n out +\x3d \x22?\x22 + opt_queryData;\n }\n if (opt_fragment) {\n out +\x3d \x22#\x22 + opt_fragment;\n }\n return out;\n};\ngoog.uri.utils.splitRe_ \x3d new RegExp(\x22^\x22 + \x22(?:\x22 + \x22([^:/?#.]+)\x22 + \x22:)?\x22 + \x22(?://\x22 + \x22(?:([^\\\\\\\\/?#]*)@)?\x22 + \x22([^\\\\\\\\/?#]*?)\x22 + \x22(?::([0-9]+))?\x22 + \x22(?\\x3d[\\\\\\\\/?#]|$)\x22 + \x22)?\x22 + \x22([^?#]+)?\x22 + \x22(?:\\\\?([^#]*))?\x22 + \x22(?:#([\\\\s\\\\S]*))?\x22 + \x22$\x22);\ngoog.uri.utils.ComponentIndex \x3d {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};\ngoog.uri.utils.urlPackageSupportLoggingHandler_ \x3d null;\ngoog.uri.utils.setUrlPackageSupportLoggingHandler \x3d function(handler) {\n goog.uri.utils.urlPackageSupportLoggingHandler_ \x3d handler;\n};\ngoog.uri.utils.split \x3d function(uri) {\n var result \x3d uri.match(goog.uri.utils.splitRe_);\n if (goog.uri.utils.urlPackageSupportLoggingHandler_ \x26\x26 [\x22http\x22, \x22https\x22, \x22ws\x22, \x22wss\x22, \x22ftp\x22].indexOf(result[goog.uri.utils.ComponentIndex.SCHEME]) \x3e\x3d 0) {\n goog.uri.utils.urlPackageSupportLoggingHandler_(uri);\n }\n return result;\n};\ngoog.uri.utils.decodeIfPossible_ \x3d function(uri, opt_preserveReserved) {\n if (!uri) {\n return uri;\n }\n return opt_preserveReserved ? decodeURI(uri) : decodeURIComponent(uri);\n};\ngoog.uri.utils.getComponentByIndex_ \x3d function(componentIndex, uri) {\n return goog.uri.utils.split(uri)[componentIndex] || null;\n};\ngoog.uri.utils.getScheme \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, uri);\n};\ngoog.uri.utils.getEffectiveScheme \x3d function(uri) {\n var scheme \x3d goog.uri.utils.getScheme(uri);\n if (!scheme \x26\x26 goog.global.self \x26\x26 goog.global.self.location) {\n var protocol \x3d goog.global.self.location.protocol;\n scheme \x3d protocol.substr(0, protocol.length - 1);\n }\n return scheme ? scheme.toLowerCase() : \x22\x22;\n};\ngoog.uri.utils.getUserInfoEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, uri);\n};\ngoog.uri.utils.getUserInfo \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(uri));\n};\ngoog.uri.utils.getDomainEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, uri);\n};\ngoog.uri.utils.getDomain \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(uri), true);\n};\ngoog.uri.utils.getPort \x3d function(uri) {\n return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, uri)) || null;\n};\ngoog.uri.utils.getPathEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, uri);\n};\ngoog.uri.utils.getPath \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(uri), true);\n};\ngoog.uri.utils.getQueryData \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, uri);\n};\ngoog.uri.utils.getFragmentEncoded \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? null : uri.substr(hashIndex + 1);\n};\ngoog.uri.utils.setFragmentEncoded \x3d function(uri, fragment) {\n return goog.uri.utils.removeFragment(uri) + (fragment ? \x22#\x22 + fragment : \x22\x22);\n};\ngoog.uri.utils.getFragment \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(uri));\n};\ngoog.uri.utils.getHost \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], pieces[goog.uri.utils.ComponentIndex.USER_INFO], pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getOrigin \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], null, pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getPathAndAfter \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(null, null, null, null, pieces[goog.uri.utils.ComponentIndex.PATH], pieces[goog.uri.utils.ComponentIndex.QUERY_DATA], pieces[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.removeFragment \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? uri : uri.substr(0, hashIndex);\n};\ngoog.uri.utils.haveSameDomain \x3d function(uri1, uri2) {\n var pieces1 \x3d goog.uri.utils.split(uri1);\n var pieces2 \x3d goog.uri.utils.split(uri2);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.SCHEME] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.SCHEME] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.uri.utils.assertNoFragmentsOrQueries_ \x3d function(uri) {\n goog.asserts.assert(uri.indexOf(\x22#\x22) \x3c 0 \x26\x26 uri.indexOf(\x22?\x22) \x3c 0, \x22goog.uri.utils: Fragment or query identifiers are not supported: [%s]\x22, uri);\n};\ngoog.uri.utils.QueryValue;\ngoog.uri.utils.QueryArray;\ngoog.uri.utils.parseQueryData \x3d function(encodedQuery, callback) {\n if (!encodedQuery) {\n return;\n }\n var pairs \x3d encodedQuery.split(\x22\\x26\x22);\n for (var i \x3d 0; i \x3c pairs.length; i++) {\n var indexOfEquals \x3d pairs[i].indexOf(\x22\\x3d\x22);\n var name \x3d null;\n var value \x3d null;\n if (indexOfEquals \x3e\x3d 0) {\n name \x3d pairs[i].substring(0, indexOfEquals);\n value \x3d pairs[i].substring(indexOfEquals + 1);\n } else {\n name \x3d pairs[i];\n }\n callback(name, value ? goog.string.urlDecode(value) : \x22\x22);\n }\n};\ngoog.uri.utils.splitQueryData_ \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n if (hashIndex \x3c 0) {\n hashIndex \x3d uri.length;\n }\n var questionIndex \x3d uri.indexOf(\x22?\x22);\n var queryData;\n if (questionIndex \x3c 0 || questionIndex \x3e hashIndex) {\n questionIndex \x3d hashIndex;\n queryData \x3d \x22\x22;\n } else {\n queryData \x3d uri.substring(questionIndex + 1, hashIndex);\n }\n return [uri.substr(0, questionIndex), queryData, uri.substr(hashIndex)];\n};\ngoog.uri.utils.joinQueryData_ \x3d function(parts) {\n return parts[0] + (parts[1] ? \x22?\x22 + parts[1] : \x22\x22) + parts[2];\n};\ngoog.uri.utils.appendQueryData_ \x3d function(queryData, newData) {\n if (!newData) {\n return queryData;\n }\n return queryData ? queryData + \x22\\x26\x22 + newData : newData;\n};\ngoog.uri.utils.appendQueryDataToUri_ \x3d function(uri, queryData) {\n if (!queryData) {\n return uri;\n }\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n parts[1] \x3d goog.uri.utils.appendQueryData_(parts[1], queryData);\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendKeyValuePairs_ \x3d function(key, value, pairs) {\n goog.asserts.assertString(key);\n if (Array.isArray(value)) {\n goog.asserts.assertArray(value);\n for (var j \x3d 0; j \x3c value.length; j++) {\n goog.uri.utils.appendKeyValuePairs_(key, String(value[j]), pairs);\n }\n } else if (value !\x3d null) {\n pairs.push(key + (value \x3d\x3d\x3d \x22\x22 ? \x22\x22 : \x22\\x3d\x22 + goog.string.urlEncode(value)));\n }\n};\ngoog.uri.utils.buildQueryData \x3d function(keysAndValues, opt_startIndex) {\n goog.asserts.assert(Math.max(keysAndValues.length - (opt_startIndex || 0), 0) % 2 \x3d\x3d 0, \x22goog.uri.utils: Key/value lists must be even in length.\x22);\n var params \x3d [];\n for (var i \x3d opt_startIndex || 0; i \x3c keysAndValues.length; i +\x3d 2) {\n var key \x3d keysAndValues[i];\n goog.uri.utils.appendKeyValuePairs_(key, keysAndValues[i + 1], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.buildQueryDataFromMap \x3d function(map) {\n var params \x3d [];\n for (var key in map) {\n goog.uri.utils.appendKeyValuePairs_(key, map[key], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.appendParams \x3d function(uri, var_args) {\n var queryData \x3d arguments.length \x3d\x3d 2 ? goog.uri.utils.buildQueryData(arguments[1], 0) : goog.uri.utils.buildQueryData(arguments, 1);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParamsFromMap \x3d function(uri, map) {\n var queryData \x3d goog.uri.utils.buildQueryDataFromMap(map);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParam \x3d function(uri, key, opt_value) {\n var value \x3d opt_value !\x3d null ? \x22\\x3d\x22 + goog.string.urlEncode(opt_value) : \x22\x22;\n return goog.uri.utils.appendQueryDataToUri_(uri, key + value);\n};\ngoog.uri.utils.findParam_ \x3d function(uri, startIndex, keyEncoded, hashOrEndIndex) {\n var index \x3d startIndex;\n var keyLength \x3d keyEncoded.length;\n while ((index \x3d uri.indexOf(keyEncoded, index)) \x3e\x3d 0 \x26\x26 index \x3c hashOrEndIndex) {\n var precedingChar \x3d uri.charCodeAt(index - 1);\n if (precedingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || precedingChar \x3d\x3d goog.uri.utils.CharCode_.QUESTION) {\n var followingChar \x3d uri.charCodeAt(index + keyLength);\n if (!followingChar || followingChar \x3d\x3d goog.uri.utils.CharCode_.EQUAL || followingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || followingChar \x3d\x3d goog.uri.utils.CharCode_.HASH) {\n return index;\n }\n }\n index +\x3d keyLength + 1;\n }\n return -1;\n};\ngoog.uri.utils.hashOrEndRe_ \x3d /#|$/;\ngoog.uri.utils.hasParam \x3d function(uri, keyEncoded) {\n return goog.uri.utils.findParam_(uri, 0, keyEncoded, uri.search(goog.uri.utils.hashOrEndRe_)) \x3e\x3d 0;\n};\ngoog.uri.utils.getParamValue \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var foundIndex \x3d goog.uri.utils.findParam_(uri, 0, keyEncoded, hashOrEndIndex);\n if (foundIndex \x3c 0) {\n return null;\n } else {\n var endPosition \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (endPosition \x3c 0 || endPosition \x3e hashOrEndIndex) {\n endPosition \x3d hashOrEndIndex;\n }\n foundIndex +\x3d keyEncoded.length + 1;\n return goog.string.urlDecode(uri.substr(foundIndex, endPosition - foundIndex));\n }\n};\ngoog.uri.utils.getParamValues \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var result \x3d [];\n while ((foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0) {\n position \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (position \x3c 0 || position \x3e hashOrEndIndex) {\n position \x3d hashOrEndIndex;\n }\n foundIndex +\x3d keyEncoded.length + 1;\n result.push(goog.string.urlDecode(uri.substr(foundIndex, position - foundIndex)));\n }\n return result;\n};\ngoog.uri.utils.trailingQueryPunctuationRe_ \x3d /[?\x26]($|#)/;\ngoog.uri.utils.removeParam \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var buffer \x3d [];\n while ((foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0) {\n buffer.push(uri.substring(position, foundIndex));\n position \x3d Math.min(uri.indexOf(\x22\\x26\x22, foundIndex) + 1 || hashOrEndIndex, hashOrEndIndex);\n }\n buffer.push(uri.substr(position));\n return buffer.join(\x22\x22).replace(goog.uri.utils.trailingQueryPunctuationRe_, \x22$1\x22);\n};\ngoog.uri.utils.setParam \x3d function(uri, keyEncoded, value) {\n return goog.uri.utils.appendParam(goog.uri.utils.removeParam(uri, keyEncoded), keyEncoded, value);\n};\ngoog.uri.utils.setParamsFromMap \x3d function(uri, params) {\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n var queryData \x3d parts[1];\n var buffer \x3d [];\n if (queryData) {\n queryData.split(\x22\\x26\x22).forEach(function(pair) {\n var indexOfEquals \x3d pair.indexOf(\x22\\x3d\x22);\n var name \x3d indexOfEquals \x3e\x3d 0 ? pair.substr(0, indexOfEquals) : pair;\n if (!params.hasOwnProperty(name)) {\n buffer.push(pair);\n }\n });\n }\n parts[1] \x3d goog.uri.utils.appendQueryData_(buffer.join(\x22\\x26\x22), goog.uri.utils.buildQueryDataFromMap(params));\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendPath \x3d function(baseUri, path) {\n goog.uri.utils.assertNoFragmentsOrQueries_(baseUri);\n if (goog.string.endsWith(baseUri, \x22/\x22)) {\n baseUri \x3d baseUri.substr(0, baseUri.length - 1);\n }\n if (goog.string.startsWith(path, \x22/\x22)) {\n path \x3d path.substr(1);\n }\n return \x22\x22 + baseUri + \x22/\x22 + path;\n};\ngoog.uri.utils.setPath \x3d function(uri, path) {\n if (!goog.string.startsWith(path, \x22/\x22)) {\n path \x3d \x22/\x22 + path;\n }\n var parts \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(parts[goog.uri.utils.ComponentIndex.SCHEME], parts[goog.uri.utils.ComponentIndex.USER_INFO], parts[goog.uri.utils.ComponentIndex.DOMAIN], parts[goog.uri.utils.ComponentIndex.PORT], path, parts[goog.uri.utils.ComponentIndex.QUERY_DATA], parts[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.StandardQueryParam \x3d {RANDOM:\x22zx\x22};\ngoog.uri.utils.makeUnique \x3d function(uri) {\n return goog.uri.utils.setParam(uri, goog.uri.utils.StandardQueryParam.RANDOM, goog.string.getRandomString());\n};\n"); +SHADOW_ENV.evalLoad("goog.uri.uri.js", true , "goog.provide(\x22goog.Uri\x22);\ngoog.provide(\x22goog.Uri.QueryData\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.collections.maps\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.structs\x22);\ngoog.require(\x22goog.uri.utils\x22);\ngoog.require(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.require(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.Uri \x3d function(opt_uri, opt_ignoreCase) {\n this.scheme_ \x3d \x22\x22;\n this.userInfo_ \x3d \x22\x22;\n this.domain_ \x3d \x22\x22;\n this.port_ \x3d null;\n this.path_ \x3d \x22\x22;\n this.fragment_ \x3d \x22\x22;\n this.isReadOnly_ \x3d false;\n this.ignoreCase_ \x3d false;\n this.queryData_;\n var m;\n if (opt_uri instanceof goog.Uri) {\n this.ignoreCase_ \x3d opt_ignoreCase !\x3d\x3d undefined ? opt_ignoreCase : opt_uri.getIgnoreCase();\n this.setScheme(opt_uri.getScheme());\n this.setUserInfo(opt_uri.getUserInfo());\n this.setDomain(opt_uri.getDomain());\n this.setPort(opt_uri.getPort());\n this.setPath(opt_uri.getPath());\n this.setQueryData(opt_uri.getQueryData().clone());\n this.setFragment(opt_uri.getFragment());\n } else if (opt_uri \x26\x26 (m \x3d goog.uri.utils.split(String(opt_uri)))) {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.setScheme(m[goog.uri.utils.ComponentIndex.SCHEME] || \x22\x22, true);\n this.setUserInfo(m[goog.uri.utils.ComponentIndex.USER_INFO] || \x22\x22, true);\n this.setDomain(m[goog.uri.utils.ComponentIndex.DOMAIN] || \x22\x22, true);\n this.setPort(m[goog.uri.utils.ComponentIndex.PORT]);\n this.setPath(m[goog.uri.utils.ComponentIndex.PATH] || \x22\x22, true);\n this.setQueryData(m[goog.uri.utils.ComponentIndex.QUERY_DATA] || \x22\x22, true);\n this.setFragment(m[goog.uri.utils.ComponentIndex.FRAGMENT] || \x22\x22, true);\n } else {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.queryData_ \x3d new goog.Uri.QueryData(null, this.ignoreCase_);\n }\n};\ngoog.Uri.RANDOM_PARAM \x3d goog.uri.utils.StandardQueryParam.RANDOM;\ngoog.Uri.prototype.toString \x3d function() {\n var out \x3d [];\n var scheme \x3d this.getScheme();\n if (scheme) {\n out.push(goog.Uri.encodeSpecialChars_(scheme, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22:\x22);\n }\n var domain \x3d this.getDomain();\n if (domain || scheme \x3d\x3d \x22file\x22) {\n out.push(\x22//\x22);\n var userInfo \x3d this.getUserInfo();\n if (userInfo) {\n out.push(goog.Uri.encodeSpecialChars_(userInfo, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22@\x22);\n }\n out.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(domain)));\n var port \x3d this.getPort();\n if (port !\x3d null) {\n out.push(\x22:\x22, String(port));\n }\n }\n var path \x3d this.getPath();\n if (path) {\n if (this.hasDomain() \x26\x26 path.charAt(0) !\x3d \x22/\x22) {\n out.push(\x22/\x22);\n }\n out.push(goog.Uri.encodeSpecialChars_(path, path.charAt(0) \x3d\x3d \x22/\x22 ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, true));\n }\n var query \x3d this.getEncodedQuery();\n if (query) {\n out.push(\x22?\x22, query);\n }\n var fragment \x3d this.getFragment();\n if (fragment) {\n out.push(\x22#\x22, goog.Uri.encodeSpecialChars_(fragment, goog.Uri.reDisallowedInFragment_));\n }\n return out.join(\x22\x22);\n};\ngoog.Uri.prototype.resolve \x3d function(relativeUri) {\n var absoluteUri \x3d this.clone();\n var overridden \x3d relativeUri.hasScheme();\n if (overridden) {\n absoluteUri.setScheme(relativeUri.getScheme());\n } else {\n overridden \x3d relativeUri.hasUserInfo();\n }\n if (overridden) {\n absoluteUri.setUserInfo(relativeUri.getUserInfo());\n } else {\n overridden \x3d relativeUri.hasDomain();\n }\n if (overridden) {\n absoluteUri.setDomain(relativeUri.getDomain());\n } else {\n overridden \x3d relativeUri.hasPort();\n }\n var path \x3d relativeUri.getPath();\n if (overridden) {\n absoluteUri.setPort(relativeUri.getPort());\n } else {\n overridden \x3d relativeUri.hasPath();\n if (overridden) {\n if (path.charAt(0) !\x3d \x22/\x22) {\n if (this.hasDomain() \x26\x26 !this.hasPath()) {\n path \x3d \x22/\x22 + path;\n } else {\n var lastSlashIndex \x3d absoluteUri.getPath().lastIndexOf(\x22/\x22);\n if (lastSlashIndex !\x3d -1) {\n path \x3d absoluteUri.getPath().substr(0, lastSlashIndex + 1) + path;\n }\n }\n }\n path \x3d goog.Uri.removeDotSegments(path);\n }\n }\n if (overridden) {\n absoluteUri.setPath(path);\n } else {\n overridden \x3d relativeUri.hasQuery();\n }\n if (overridden) {\n absoluteUri.setQueryData(relativeUri.getQueryData().clone());\n } else {\n overridden \x3d relativeUri.hasFragment();\n }\n if (overridden) {\n absoluteUri.setFragment(relativeUri.getFragment());\n }\n return absoluteUri;\n};\ngoog.Uri.prototype.clone \x3d function() {\n return new goog.Uri(this);\n};\ngoog.Uri.prototype.getScheme \x3d function() {\n return this.scheme_;\n};\ngoog.Uri.prototype.setScheme \x3d function(newScheme, opt_decode) {\n this.enforceReadOnly();\n this.scheme_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newScheme, true) : newScheme;\n if (this.scheme_) {\n this.scheme_ \x3d this.scheme_.replace(/:$/, \x22\x22);\n }\n return this;\n};\ngoog.Uri.prototype.hasScheme \x3d function() {\n return !!this.scheme_;\n};\ngoog.Uri.prototype.getUserInfo \x3d function() {\n return this.userInfo_;\n};\ngoog.Uri.prototype.setUserInfo \x3d function(newUserInfo, opt_decode) {\n this.enforceReadOnly();\n this.userInfo_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newUserInfo) : newUserInfo;\n return this;\n};\ngoog.Uri.prototype.hasUserInfo \x3d function() {\n return !!this.userInfo_;\n};\ngoog.Uri.prototype.getDomain \x3d function() {\n return this.domain_;\n};\ngoog.Uri.prototype.setDomain \x3d function(newDomain, opt_decode) {\n this.enforceReadOnly();\n this.domain_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newDomain, true) : newDomain;\n return this;\n};\ngoog.Uri.prototype.hasDomain \x3d function() {\n return !!this.domain_;\n};\ngoog.Uri.prototype.getPort \x3d function() {\n return this.port_;\n};\ngoog.Uri.prototype.setPort \x3d function(newPort) {\n this.enforceReadOnly();\n if (newPort) {\n newPort \x3d Number(newPort);\n if (isNaN(newPort) || newPort \x3c 0) {\n throw new Error(\x22Bad port number \x22 + newPort);\n }\n this.port_ \x3d newPort;\n } else {\n this.port_ \x3d null;\n }\n return this;\n};\ngoog.Uri.prototype.hasPort \x3d function() {\n return this.port_ !\x3d null;\n};\ngoog.Uri.prototype.getPath \x3d function() {\n return this.path_;\n};\ngoog.Uri.prototype.setPath \x3d function(newPath, opt_decode) {\n this.enforceReadOnly();\n this.path_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newPath, true) : newPath;\n return this;\n};\ngoog.Uri.prototype.hasPath \x3d function() {\n return !!this.path_;\n};\ngoog.Uri.prototype.hasQuery \x3d function() {\n return this.queryData_.toString() !\x3d\x3d \x22\x22;\n};\ngoog.Uri.prototype.setQueryData \x3d function(queryData, opt_decode) {\n this.enforceReadOnly();\n if (queryData instanceof goog.Uri.QueryData) {\n this.queryData_ \x3d queryData;\n this.queryData_.setIgnoreCase(this.ignoreCase_);\n } else {\n if (!opt_decode) {\n queryData \x3d goog.Uri.encodeSpecialChars_(queryData, goog.Uri.reDisallowedInQuery_);\n }\n this.queryData_ \x3d new goog.Uri.QueryData(queryData, this.ignoreCase_);\n }\n return this;\n};\ngoog.Uri.prototype.setQuery \x3d function(newQuery, opt_decode) {\n return this.setQueryData(newQuery, opt_decode);\n};\ngoog.Uri.prototype.getEncodedQuery \x3d function() {\n return this.queryData_.toString();\n};\ngoog.Uri.prototype.getDecodedQuery \x3d function() {\n return this.queryData_.toDecodedString();\n};\ngoog.Uri.prototype.getQueryData \x3d function() {\n return this.queryData_;\n};\ngoog.Uri.prototype.getQuery \x3d function() {\n return this.getEncodedQuery();\n};\ngoog.Uri.prototype.setParameterValue \x3d function(key, value) {\n this.enforceReadOnly();\n this.queryData_.set(key, value);\n return this;\n};\ngoog.Uri.prototype.setParameterValues \x3d function(key, values) {\n this.enforceReadOnly();\n if (!Array.isArray(values)) {\n values \x3d [String(values)];\n }\n this.queryData_.setValues(key, values);\n return this;\n};\ngoog.Uri.prototype.getParameterValues \x3d function(name) {\n return this.queryData_.getValues(name);\n};\ngoog.Uri.prototype.getParameterValue \x3d function(paramName) {\n return this.queryData_.get(paramName);\n};\ngoog.Uri.prototype.getFragment \x3d function() {\n return this.fragment_;\n};\ngoog.Uri.prototype.setFragment \x3d function(newFragment, opt_decode) {\n this.enforceReadOnly();\n this.fragment_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newFragment) : newFragment;\n return this;\n};\ngoog.Uri.prototype.hasFragment \x3d function() {\n return !!this.fragment_;\n};\ngoog.Uri.prototype.hasSameDomainAs \x3d function(uri2) {\n return (!this.hasDomain() \x26\x26 !uri2.hasDomain() || this.getDomain() \x3d\x3d uri2.getDomain()) \x26\x26 (!this.hasPort() \x26\x26 !uri2.hasPort() || this.getPort() \x3d\x3d uri2.getPort());\n};\ngoog.Uri.prototype.makeUnique \x3d function() {\n this.enforceReadOnly();\n this.setParameterValue(goog.Uri.RANDOM_PARAM, goog.string.getRandomString());\n return this;\n};\ngoog.Uri.prototype.removeParameter \x3d function(key) {\n this.enforceReadOnly();\n this.queryData_.remove(key);\n return this;\n};\ngoog.Uri.prototype.setReadOnly \x3d function(isReadOnly) {\n this.isReadOnly_ \x3d isReadOnly;\n return this;\n};\ngoog.Uri.prototype.isReadOnly \x3d function() {\n return this.isReadOnly_;\n};\ngoog.Uri.prototype.enforceReadOnly \x3d function() {\n if (this.isReadOnly_) {\n throw new Error(\x22Tried to modify a read-only Uri\x22);\n }\n};\ngoog.Uri.prototype.setIgnoreCase \x3d function(ignoreCase) {\n this.ignoreCase_ \x3d ignoreCase;\n if (this.queryData_) {\n this.queryData_.setIgnoreCase(ignoreCase);\n }\n return this;\n};\ngoog.Uri.prototype.getIgnoreCase \x3d function() {\n return this.ignoreCase_;\n};\ngoog.Uri.parse \x3d function(uri, opt_ignoreCase) {\n return uri instanceof goog.Uri ? uri.clone() : new goog.Uri(uri, opt_ignoreCase);\n};\ngoog.Uri.create \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_query, opt_fragment, opt_ignoreCase) {\n var uri \x3d new goog.Uri(null, opt_ignoreCase);\n opt_scheme \x26\x26 uri.setScheme(opt_scheme);\n opt_userInfo \x26\x26 uri.setUserInfo(opt_userInfo);\n opt_domain \x26\x26 uri.setDomain(opt_domain);\n opt_port \x26\x26 uri.setPort(opt_port);\n opt_path \x26\x26 uri.setPath(opt_path);\n opt_query \x26\x26 uri.setQueryData(opt_query);\n opt_fragment \x26\x26 uri.setFragment(opt_fragment);\n return uri;\n};\ngoog.Uri.resolve \x3d function(base, rel) {\n if (!(base instanceof goog.Uri)) {\n base \x3d goog.Uri.parse(base);\n }\n if (!(rel instanceof goog.Uri)) {\n rel \x3d goog.Uri.parse(rel);\n }\n return base.resolve(rel);\n};\ngoog.Uri.removeDotSegments \x3d function(path) {\n if (path \x3d\x3d \x22..\x22 || path \x3d\x3d \x22.\x22) {\n return \x22\x22;\n } else if (!goog.string.contains(path, \x22./\x22) \x26\x26 !goog.string.contains(path, \x22/.\x22)) {\n return path;\n } else {\n var leadingSlash \x3d goog.string.startsWith(path, \x22/\x22);\n var segments \x3d path.split(\x22/\x22);\n var out \x3d [];\n for (var pos \x3d 0; pos \x3c segments.length;) {\n var segment \x3d segments[pos++];\n if (segment \x3d\x3d \x22.\x22) {\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else if (segment \x3d\x3d \x22..\x22) {\n if (out.length \x3e 1 || out.length \x3d\x3d 1 \x26\x26 out[0] !\x3d \x22\x22) {\n out.pop();\n }\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else {\n out.push(segment);\n leadingSlash \x3d true;\n }\n }\n return out.join(\x22/\x22);\n }\n};\ngoog.Uri.decodeOrEmpty_ \x3d function(val, opt_preserveReserved) {\n if (!val) {\n return \x22\x22;\n }\n return opt_preserveReserved ? decodeURI(val.replace(/%25/g, \x22%2525\x22)) : decodeURIComponent(val);\n};\ngoog.Uri.encodeSpecialChars_ \x3d function(unescapedPart, extra, opt_removeDoubleEncoding) {\n if (typeof unescapedPart \x3d\x3d\x3d \x22string\x22) {\n var encoded \x3d encodeURI(unescapedPart).replace(extra, goog.Uri.encodeChar_);\n if (opt_removeDoubleEncoding) {\n encoded \x3d goog.Uri.removeDoubleEncoding_(encoded);\n }\n return encoded;\n }\n return null;\n};\ngoog.Uri.encodeChar_ \x3d function(ch) {\n var n \x3d ch.charCodeAt(0);\n return \x22%\x22 + (n \x3e\x3e 4 \x26 15).toString(16) + (n \x26 15).toString(16);\n};\ngoog.Uri.removeDoubleEncoding_ \x3d function(doubleEncodedString) {\n return doubleEncodedString.replace(/%25([0-9a-fA-F]{2})/g, \x22%$1\x22);\n};\ngoog.Uri.reDisallowedInSchemeOrUserInfo_ \x3d /[#\\/\\?@]/g;\ngoog.Uri.reDisallowedInRelativePath_ \x3d /[#\\?:]/g;\ngoog.Uri.reDisallowedInAbsolutePath_ \x3d /[#\\?]/g;\ngoog.Uri.reDisallowedInQuery_ \x3d /[#\\?@]/g;\ngoog.Uri.reDisallowedInFragment_ \x3d /#/g;\ngoog.Uri.haveSameDomain \x3d function(uri1String, uri2String) {\n var pieces1 \x3d goog.uri.utils.split(uri1String);\n var pieces2 \x3d goog.uri.utils.split(uri2String);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.Uri.QueryData \x3d function(opt_query, opt_ignoreCase) {\n this.keyMap_ \x3d null;\n this.count_ \x3d null;\n this.encodedQuery_ \x3d opt_query || null;\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n};\ngoog.Uri.QueryData.prototype.ensureKeyMapInitialized_ \x3d function() {\n if (!this.keyMap_) {\n this.keyMap_ \x3d new Map();\n this.count_ \x3d 0;\n if (this.encodedQuery_) {\n var self \x3d this;\n goog.uri.utils.parseQueryData(this.encodedQuery_, function(name, value) {\n self.add(goog.string.urlDecode(name), value);\n });\n }\n }\n};\ngoog.Uri.QueryData.createFromMap \x3d function(map, opt_ignoreCase) {\n var keys \x3d goog.structs.getKeys(map);\n if (typeof keys \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22Keys are undefined\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n var values \x3d goog.structs.getValues(map);\n for (var i \x3d 0; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var value \x3d values[i];\n if (!Array.isArray(value)) {\n queryData.add(key, value);\n } else {\n queryData.setValues(key, value);\n }\n }\n return queryData;\n};\ngoog.Uri.QueryData.createFromKeysValues \x3d function(keys, values, opt_ignoreCase) {\n if (keys.length !\x3d values.length) {\n throw new Error(\x22Mismatched lengths for keys/values\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n for (var i \x3d 0; i \x3c keys.length; i++) {\n queryData.add(keys[i], values[i]);\n }\n return queryData;\n};\ngoog.Uri.QueryData.prototype.getCount \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_;\n};\ngoog.Uri.QueryData.prototype.add \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n var values \x3d this.keyMap_.get(key);\n if (!values) {\n this.keyMap_.set(key, values \x3d []);\n }\n values.push(value);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.remove \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n if (this.keyMap_.has(key)) {\n this.invalidateCache_();\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n return this.keyMap_.delete(key);\n }\n return false;\n};\ngoog.Uri.QueryData.prototype.clear \x3d function() {\n this.invalidateCache_();\n this.keyMap_ \x3d null;\n this.count_ \x3d 0;\n};\ngoog.Uri.QueryData.prototype.isEmpty \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_ \x3d\x3d 0;\n};\ngoog.Uri.QueryData.prototype.containsKey \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n return this.keyMap_.has(key);\n};\ngoog.Uri.QueryData.prototype.containsValue \x3d function(value) {\n var vals \x3d this.getValues();\n return goog.array.contains(vals, value);\n};\ngoog.Uri.QueryData.prototype.forEach \x3d function(f, opt_scope) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(values, key) {\n values.forEach(function(value) {\n f.call(opt_scope, value, key, this);\n }, this);\n }, this);\n};\ngoog.Uri.QueryData.prototype.getKeys \x3d function() {\n this.ensureKeyMapInitialized_();\n const vals \x3d Array.from(this.keyMap_.values());\n const keys \x3d Array.from(this.keyMap_.keys());\n const rv \x3d [];\n for (let i \x3d 0; i \x3c keys.length; i++) {\n const val \x3d vals[i];\n for (let j \x3d 0; j \x3c val.length; j++) {\n rv.push(keys[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getValues \x3d function(opt_key) {\n this.ensureKeyMapInitialized_();\n let rv \x3d [];\n if (typeof opt_key \x3d\x3d\x3d \x22string\x22) {\n if (this.containsKey(opt_key)) {\n rv \x3d rv.concat(this.keyMap_.get(this.getKeyName_(opt_key)));\n }\n } else {\n const values \x3d Array.from(this.keyMap_.values());\n for (let i \x3d 0; i \x3c values.length; i++) {\n rv \x3d rv.concat(values[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.set \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n if (this.containsKey(key)) {\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n }\n this.keyMap_.set(key, [value]);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.get \x3d function(key, opt_default) {\n if (!key) {\n return opt_default;\n }\n var values \x3d this.getValues(key);\n return values.length \x3e 0 ? String(values[0]) : opt_default;\n};\ngoog.Uri.QueryData.prototype.setValues \x3d function(key, values) {\n this.remove(key);\n if (values.length \x3e 0) {\n this.invalidateCache_();\n this.keyMap_.set(this.getKeyName_(key), goog.array.clone(values));\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + values.length;\n }\n};\ngoog.Uri.QueryData.prototype.toString \x3d function() {\n if (this.encodedQuery_) {\n return this.encodedQuery_;\n }\n if (!this.keyMap_) {\n return \x22\x22;\n }\n const sb \x3d [];\n const keys \x3d Array.from(this.keyMap_.keys());\n for (var i \x3d 0; i \x3c keys.length; i++) {\n const key \x3d keys[i];\n const encodedKey \x3d goog.string.urlEncode(key);\n const val \x3d this.getValues(key);\n for (var j \x3d 0; j \x3c val.length; j++) {\n var param \x3d encodedKey;\n if (val[j] !\x3d\x3d \x22\x22) {\n param +\x3d \x22\\x3d\x22 + goog.string.urlEncode(val[j]);\n }\n sb.push(param);\n }\n }\n return this.encodedQuery_ \x3d sb.join(\x22\\x26\x22);\n};\ngoog.Uri.QueryData.prototype.toDecodedString \x3d function() {\n return goog.Uri.decodeOrEmpty_(this.toString());\n};\ngoog.Uri.QueryData.prototype.invalidateCache_ \x3d function() {\n this.encodedQuery_ \x3d null;\n};\ngoog.Uri.QueryData.prototype.filterKeys \x3d function(keys) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(value, key) {\n if (!goog.array.contains(keys, key)) {\n this.remove(key);\n }\n }, this);\n return this;\n};\ngoog.Uri.QueryData.prototype.clone \x3d function() {\n var rv \x3d new goog.Uri.QueryData();\n rv.encodedQuery_ \x3d this.encodedQuery_;\n if (this.keyMap_) {\n rv.keyMap_ \x3d new Map(this.keyMap_);\n rv.count_ \x3d this.count_;\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getKeyName_ \x3d function(arg) {\n var keyName \x3d String(arg);\n if (this.ignoreCase_) {\n keyName \x3d keyName.toLowerCase();\n }\n return keyName;\n};\ngoog.Uri.QueryData.prototype.setIgnoreCase \x3d function(ignoreCase) {\n var resetKeys \x3d ignoreCase \x26\x26 !this.ignoreCase_;\n if (resetKeys) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n this.keyMap_.forEach(function(value, key) {\n var lowerCase \x3d key.toLowerCase();\n if (key !\x3d lowerCase) {\n this.remove(key);\n this.setValues(lowerCase, value);\n }\n }, this);\n }\n this.ignoreCase_ \x3d ignoreCase;\n};\ngoog.Uri.QueryData.prototype.extend \x3d function(var_args) {\n for (var i \x3d 0; i \x3c arguments.length; i++) {\n var data \x3d arguments[i];\n goog.structs.forEach(data, function(value, key) {\n this.add(key, value);\n }, this);\n }\n};\n"); +SHADOW_ENV.evalLoad("goog.string.stringbuffer.js", true , "goog.provide(\x22goog.string.StringBuffer\x22);\ngoog.string.StringBuffer \x3d function(opt_a1, var_args) {\n if (opt_a1 !\x3d null) {\n this.append.apply(this, arguments);\n }\n};\ngoog.string.StringBuffer.prototype.buffer_ \x3d \x22\x22;\ngoog.string.StringBuffer.prototype.set \x3d function(s) {\n this.buffer_ \x3d \x22\x22 + s;\n};\ngoog.string.StringBuffer.prototype.append \x3d function(a1, opt_a2, var_args) {\n this.buffer_ +\x3d String(a1);\n if (opt_a2 !\x3d null) {\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n this.buffer_ +\x3d arguments[i];\n }\n }\n return this;\n};\ngoog.string.StringBuffer.prototype.clear \x3d function() {\n this.buffer_ \x3d \x22\x22;\n};\ngoog.string.StringBuffer.prototype.getLength \x3d function() {\n return this.buffer_.length;\n};\ngoog.string.StringBuffer.prototype.toString \x3d function() {\n return this.buffer_;\n};\n"); +SHADOW_ENV.evalLoad("cljs.core.js", true , "goog.provide(\x27cljs.core\x27);\ngoog.scope(function(){\n cljs.core.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n cljs.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cljs.core.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core._STAR_clojurescript_version_STAR_ \x3d \x221.11.60\x22;\ncljs.core._STAR_unchecked_if_STAR_ \x3d false;\ncljs.core._STAR_unchecked_arrays_STAR_ \x3d false;\ncljs.core._STAR_warn_on_infer_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.PROTOCOL_SENTINEL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.PROTOCOL_SENTINEL \x3d ({});\n}\ncljs.core.MODULE_URIS \x3d null;\ncljs.core.MODULE_INFOS \x3d null;\n/**\n * Var bound to the name value of the compiler build :target option.\n * For example, if the compiler build :target is :nodejs, *target* will be bound\n * to \x22nodejs\x22. *target* is a Google Closure define and can be set by compiler\n * :closure-defines option.\n * @define {string}\n */\ncljs.core._STAR_target_STAR_ \x3d goog.define(\x22cljs.core._STAR_target_STAR_\x22,\x22default\x22);\n/**\n * Manually set the JavaScript global context. Only \x22window\x22, \x22self\x22\n * , and \x22global\x22 supported. \n * @define {string}\n */\ncljs.core._STAR_global_STAR_ \x3d goog.define(\x22cljs.core._STAR_global_STAR_\x22,\x22default\x22);\n/**\n * Var bound to the current namespace. Only used for bootstrapping.\n * @type {*}\n */\ncljs.core._STAR_ns_STAR_ \x3d null;\n/**\n * @type {*}\n */\ncljs.core._STAR_out_STAR_ \x3d null;\ncljs.core._STAR_assert_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print output.\n * Whatever function *print-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_fn_STAR_ \x3d null;\n}\n/**\n * Arranges to have tap functions executed via the supplied f, a\n * function of no arguments. Returns true if successful, false otherwise.\n */\ncljs.core._STAR_exec_tap_fn_STAR_ \x3d (function cljs$core$_STAR_exec_tap_fn_STAR_(f){\nvar and__5043__auto__ \x3d (typeof setTimeout !\x3d\x3d \x27undefined\x27);\nif(and__5043__auto__){\nvar G__9706 \x3d setTimeout(f,(0));\nreturn (cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1 ? cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1(G__9706) : cljs.core.boolean$.call(null,G__9706));\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_err_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print error output.\n * Whatever function *print-err-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_err_fn_STAR_ \x3d null;\n}\n/**\n * Set *print-fn* to f.\n */\ncljs.core.set_print_fn_BANG_ \x3d (function cljs$core$set_print_fn_BANG_(f){\nreturn (cljs.core._STAR_print_fn_STAR_ \x3d f);\n});\n/**\n * Set *print-err-fn* to f.\n */\ncljs.core.set_print_err_fn_BANG_ \x3d (function cljs$core$set_print_err_fn_BANG_(f){\nreturn (cljs.core._STAR_print_err_fn_STAR_ \x3d f);\n});\n/**\n * When set to true, output will be flushed whenever a newline is printed.\n * \n * Defaults to true.\n */\ncljs.core._STAR_flush_on_newline_STAR_ \x3d true;\n/**\n * When set to logical false will drop newlines from printing calls.\n * This is to work around the implicit newlines emitted by standard JavaScript\n * console objects.\n */\ncljs.core._STAR_print_newline_STAR_ \x3d true;\n/**\n * When set to logical false, strings and characters will be printed with\n * non-alphanumeric characters converted to the appropriate escape sequences.\n * \n * Defaults to true\n */\ncljs.core._STAR_print_readably_STAR_ \x3d true;\n/**\n * If set to logical true, when printing an object, its metadata will also\n * be printed in a form that can be read back by the reader.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_meta_STAR_ \x3d false;\n/**\n * When set to logical true, objects will be printed in a way that preserves\n * their type when read in later.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_dup_STAR_ \x3d false;\n/**\n * *print-namespace-maps* controls whether the printer will print\n * namespace map literal syntax.\n * \n * Defaults to false, but the REPL binds it to true.\n */\ncljs.core._STAR_print_namespace_maps_STAR_ \x3d false;\n/**\n * *print-length* controls how many items of each collection the\n * printer will print. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * number of items of each collection to print. If a collection contains\n * more items, the printer will print items up to the limit followed by\n * \x27...\x27 to represent the remaining items. The root binding is nil\n * indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_length_STAR_ \x3d null;\n/**\n * *print-level* controls how many levels deep the printer will\n * print nested objects. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * level to print. Each argument to print is at level 0; if an argument is a\n * collection, its items are at level 1; and so on. If an object is a\n * collection and is at a level greater than or equal to the value bound to\n * *print-level*, the printer prints \x27#\x27 to represent it. The root binding\n * is nil indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_level_STAR_ \x3d null;\n/**\n * *print-fns-bodies* controls whether functions print their source or\n * only their names.\n */\ncljs.core._STAR_print_fn_bodies_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_loaded_libs_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core._STAR_loaded_libs_STAR_ \x3d null;\n}\ncljs.core.pr_opts \x3d (function cljs$core$pr_opts(){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,\x22dup\x22,\x22dup\x22,556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),cljs.core._STAR_print_length_STAR_], null);\n});\n/**\n * Set *print-fn* to console.log\n */\ncljs.core.enable_console_print_BANG_ \x3d (function cljs$core$enable_console_print_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.log.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\ncljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.error.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\nreturn null;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.truth_ \x3d (function cljs$core$truth_(x){\nreturn (x !\x3d null \x26\x26 x !\x3d\x3d false);\n});\ncljs.core.not_native \x3d null;\n\n/**\n * Tests if 2 arguments are the same object\n */\ncljs.core.identical_QMARK_ \x3d (function cljs$core$identical_QMARK_(x,y){\nreturn (x \x3d\x3d\x3d y);\n});\n/**\n * Returns true if x is nil, false otherwise.\n */\ncljs.core.nil_QMARK_ \x3d (function cljs$core$nil_QMARK_(x){\nreturn (x \x3d\x3d null);\n});\n/**\n * Returns true if x is a JavaScript array.\n */\ncljs.core.array_QMARK_ \x3d (function cljs$core$array_QMARK_(x){\nif((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nodejs\x22)){\nreturn Array.isArray(x);\n} else {\nreturn (x instanceof Array);\n}\n});\n/**\n * Returns true if x is a JavaScript number.\n */\ncljs.core.number_QMARK_ \x3d (function cljs$core$number_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true if x is logical false, false otherwise.\n */\ncljs.core.not \x3d (function cljs$core$not(x){\nif((x \x3d\x3d null)){\nreturn true;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Returns true if x is not nil, false otherwise.\n */\ncljs.core.some_QMARK_ \x3d (function cljs$core$some_QMARK_(x){\nreturn (!((x \x3d\x3d null)));\n});\n/**\n * Returns true if x\x27s constructor is Object\n */\ncljs.core.object_QMARK_ \x3d (function cljs$core$object_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nreturn (x.constructor \x3d\x3d\x3d Object);\n} else {\nreturn false;\n}\n});\n/**\n * Returns true if x is a JavaScript string.\n */\ncljs.core.string_QMARK_ \x3d (function cljs$core$string_QMARK_(x){\nreturn (\x22string\x22 \x3d\x3d\x3d goog.typeOf(x));\n});\n/**\n * Returns true if x is a JavaScript string of length one.\n */\ncljs.core.char_QMARK_ \x3d (function cljs$core$char_QMARK_(x){\nreturn ((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 (((1) \x3d\x3d\x3d x.length)));\n});\n/**\n * Returns true if given any argument.\n */\ncljs.core.any_QMARK_ \x3d (function cljs$core$any_QMARK_(x){\nreturn true;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.native_satisfies_QMARK_ \x3d (function cljs$core$native_satisfies_QMARK_(p,x){\nvar x__$1 \x3d (((x \x3d\x3d null))?null:x);\nif((p[goog.typeOf(x__$1)])){\nreturn true;\n} else {\nif((p[\x22_\x22])){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\ncljs.core.is_proto_ \x3d (function cljs$core$is_proto_(x){\nreturn (x.constructor.prototype \x3d\x3d\x3d x);\n});\n/**\n * When compiled for a command-line target, whatever function\n * *main-cli-fn* is set to will be called with the command-line\n * argv as arguments\n */\ncljs.core._STAR_main_cli_fn_STAR_ \x3d null;\n/**\n * A sequence of the supplied command line arguments, or nil if\n * none were supplied\n */\ncljs.core._STAR_command_line_args_STAR_ \x3d null;\n/**\n * Return x\x27s constructor.\n */\ncljs.core.type \x3d (function cljs$core$type(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn x.constructor;\n}\n});\ncljs.core.missing_protocol \x3d (function cljs$core$missing_protocol(proto,obj){\nvar ty \x3d cljs.core.type(obj);\nvar ty__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d ty;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ty.cljs$lang$type;\n} else {\nreturn and__5043__auto__;\n}\n})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));\nreturn (new Error([\x22No protocol method \x22,proto,\x22 defined for type \x22,ty__$1,\x22: \x22,obj].join(\x22\x22)));\n});\ncljs.core.type__GT_str \x3d (function cljs$core$type__GT_str(ty){\nvar temp__5802__auto__ \x3d ty.cljs$lang$ctorStr;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nreturn s;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty);\n}\n});\ncljs.core.load_file \x3d (function cljs$core$load_file(file){\nif(cljs.core.truth_(COMPILED)){\nreturn null;\n} else {\nreturn goog.nodeGlobalRequire(file);\n}\n});\nif((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((goog.typeOf(Symbol) \x3d\x3d\x3d \x22function\x22)))){\ncljs.core.ITER_SYMBOL \x3d Symbol.iterator;\n} else {\ncljs.core.ITER_SYMBOL \x3d \x22@@iterator\x22;\n}\n/**\n * @enum {string}\n */\ncljs.core.CHAR_MAP \x3d ({\x22]\x22: \x22_RBRACK_\x22, \x22\x27\x22: \x22_SINGLEQUOTE_\x22, \x22\x3d\x22: \x22_EQ_\x22, \x22\\\x22\x22: \x22_DOUBLEQUOTE_\x22, \x22!\x22: \x22_BANG_\x22, \x22*\x22: \x22_STAR_\x22, \x22%\x22: \x22_PERCENT_\x22, \x22|\x22: \x22_BAR_\x22, \x22~\x22: \x22_TILDE_\x22, \x22/\x22: \x22_SLASH_\x22, \x22\\\\\x22: \x22_BSLASH_\x22, \x22-\x22: \x22_\x22, \x22?\x22: \x22_QMARK_\x22, \x22\x26\x22: \x22_AMPERSAND_\x22, \x22:\x22: \x22_COLON_\x22, \x22\x3c\x22: \x22_LT_\x22, \x22{\x22: \x22_LBRACE_\x22, \x22}\x22: \x22_RBRACE_\x22, \x22[\x22: \x22_LBRACK_\x22, \x22#\x22: \x22_SHARP_\x22, \x22^\x22: \x22_CARET_\x22, \x22+\x22: \x22_PLUS_\x22, \x22@\x22: \x22_CIRCA_\x22, \x22\x3e\x22: \x22_GT_\x22});\n/**\n * @enum {string}\n */\ncljs.core.DEMUNGE_MAP \x3d ({\x22_RBRACE_\x22: \x22}\x22, \x22_COLON_\x22: \x22:\x22, \x22_BANG_\x22: \x22!\x22, \x22_QMARK_\x22: \x22?\x22, \x22_BSLASH_\x22: \x22\\\\\\\\\x22, \x22_SLASH_\x22: \x22/\x22, \x22_PERCENT_\x22: \x22%\x22, \x22_PLUS_\x22: \x22+\x22, \x22_SHARP_\x22: \x22#\x22, \x22_LBRACE_\x22: \x22{\x22, \x22_BAR_\x22: \x22|\x22, \x22_LBRACK_\x22: \x22[\x22, \x22_EQ_\x22: \x22\x3d\x22, \x22_\x22: \x22-\x22, \x22_TILDE_\x22: \x22~\x22, \x22_RBRACK_\x22: \x22]\x22, \x22_GT_\x22: \x22\x3e\x22, \x22_SINGLEQUOTE_\x22: \x22\x27\x22, \x22_CIRCA_\x22: \x22@\x22, \x22_AMPERSAND_\x22: \x22\x26\x22, \x22_DOUBLEQUOTE_\x22: \x22\\\\\\\x22\x22, \x22_CARET_\x22: \x22^\x22, \x22_LT_\x22: \x22\x3c\x22, \x22_STAR_\x22: \x22*\x22});\ncljs.core.DEMUNGE_PATTERN \x3d null;\n/**\n * Returns highest resolution time offered by host in milliseconds.\n */\ncljs.core.system_time \x3d (function cljs$core$system_time(){\nif((((typeof performance !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((performance.now \x3d\x3d null)))))){\nreturn performance.now();\n} else {\nif((((typeof process !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((process.hrtime \x3d\x3d null)))))){\nvar t \x3d process.hrtime();\nreturn ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);\n} else {\nreturn (new Date()).getTime();\n\n}\n}\n});\n/**\n * Construct a JavaScript array of the specified dimensions. Accepts ignored\n * type argument for compatibility with Clojure. Note that there is no efficient\n * way to allocate multi-dimensional arrays in JavaScript; as such, this function\n * will run in polynomial time when called with 3 or more arguments.\n */\ncljs.core.make_array \x3d (function cljs$core$make_array(var_args){\nvar G__9711 \x3d arguments.length;\nswitch (G__9711) {\ncase 1:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11263 \x3d arguments.length;\nvar i__5770__auto___11264 \x3d (0);\nwhile(true){\nif((i__5770__auto___11264 \x3c len__5769__auto___11263)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11264]));\n\nvar G__11265 \x3d (i__5770__auto___11264 + (1));\ni__5770__auto___11264 \x3d G__11265;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,size,more_sizes){\nvar dims \x3d more_sizes;\nvar dimarray \x3d (new Array(size));\nvar n__5636__auto___11277 \x3d dimarray.length;\nvar i_11278 \x3d (0);\nwhile(true){\nif((i_11278 \x3c n__5636__auto___11277)){\n(dimarray[i_11278] \x3d (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims) : cljs.core.apply.call(null,cljs.core.make_array,null,dims)));\n\nvar G__11285 \x3d (i_11278 + (1));\ni_11278 \x3d G__11285;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn dimarray;\n}));\n\n/** @this {Function} */\n(cljs.core.make_array.cljs$lang$applyTo \x3d (function (seq9708){\nvar G__9709 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9708) : cljs.core.first.call(null,seq9708));\nvar seq9708__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9708) : cljs.core.next.call(null,seq9708));\nvar G__9710 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9708__$1) : cljs.core.first.call(null,seq9708__$1));\nvar seq9708__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9708__$1) : cljs.core.next.call(null,seq9708__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9709,G__9710,seq9708__$2);\n}));\n\n(cljs.core.make_array.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a javascript array, cloned from the passed in array\n */\ncljs.core.aclone \x3d (function cljs$core$aclone(arr){\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(len));\nvar n__5636__auto___11294 \x3d len;\nvar i_11295 \x3d (0);\nwhile(true){\nif((i_11295 \x3c n__5636__auto___11294)){\n(new_arr[i_11295] \x3d (arr[i_11295]));\n\nvar G__11304 \x3d (i_11295 + (1));\ni_11295 \x3d G__11304;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_arr;\n});\n/**\n * Creates a new javascript array.\n * @param {...*} var_args\n */\ncljs.core.array \x3d (function cljs$core$array(var_args){\nvar a \x3d (new Array(arguments.length));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c a.length)){\n(a[i] \x3d (arguments[i]));\n\nvar G__11307 \x3d (i + (1));\ni \x3d G__11307;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n});\ncljs.core.maybe_warn \x3d (function cljs$core$maybe_warn(e){\nif(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){\nreturn cljs.core._STAR_print_err_fn_STAR_.call(null,e);\n} else {\nreturn null;\n}\n});\ncljs.core.checked_aget \x3d (function cljs$core$checked_aget(var_args){\nvar G__9716 \x3d arguments.length;\nswitch (G__9716) {\ncase 2:\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11310 \x3d arguments.length;\nvar i__5770__auto___11311 \x3d (0);\nwhile(true){\nif((i__5770__auto___11311 \x3c len__5769__auto___11310)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11311]));\n\nvar G__11312 \x3d (i__5770__auto___11311 + (1));\ni__5770__auto___11311 \x3d G__11312;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e9717){var e_11317 \x3d e9717;\ncljs.core.maybe_warn(e_11317);\n}\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__9718 \x3d cljs.core.checked_aget;\nvar G__9719 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__9720 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__9718,G__9719,G__9720) : cljs.core.apply.call(null,G__9718,G__9719,G__9720));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget.cljs$lang$applyTo \x3d (function (seq9713){\nvar G__9714 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9713) : cljs.core.first.call(null,seq9713));\nvar seq9713__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9713) : cljs.core.next.call(null,seq9713));\nvar G__9715 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9713__$1) : cljs.core.first.call(null,seq9713__$1));\nvar seq9713__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9713__$1) : cljs.core.next.call(null,seq9713__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9714,G__9715,seq9713__$2);\n}));\n\n(cljs.core.checked_aget.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset \x3d (function cljs$core$checked_aset(var_args){\nvar G__9726 \x3d arguments.length;\nswitch (G__9726) {\ncase 3:\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11321 \x3d arguments.length;\nvar i__5770__auto___11322 \x3d (0);\nwhile(true){\nif((i__5770__auto___11322 \x3c len__5769__auto___11321)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11322]));\n\nvar G__11323 \x3d (i__5770__auto___11322 + (1));\ni__5770__auto___11322 \x3d G__11323;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e9727){var e_11328 \x3d e9727;\ncljs.core.maybe_warn(e_11328);\n}\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__9728 \x3d cljs.core.checked_aset;\nvar G__9729 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__9730 \x3d idx2;\nvar G__9731 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__9728,G__9729,G__9730,G__9731) : cljs.core.apply.call(null,G__9728,G__9729,G__9730,G__9731));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset.cljs$lang$applyTo \x3d (function (seq9722){\nvar G__9723 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9722) : cljs.core.first.call(null,seq9722));\nvar seq9722__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9722) : cljs.core.next.call(null,seq9722));\nvar G__9724 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9722__$1) : cljs.core.first.call(null,seq9722__$1));\nvar seq9722__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9722__$1) : cljs.core.next.call(null,seq9722__$1));\nvar G__9725 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9722__$2) : cljs.core.first.call(null,seq9722__$2));\nvar seq9722__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9722__$2) : cljs.core.next.call(null,seq9722__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9723,G__9724,G__9725,seq9722__$3);\n}));\n\n(cljs.core.checked_aset.cljs$lang$maxFixedArity \x3d (3));\n\ncljs.core.checked_aget_SINGLEQUOTE_ \x3d (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){\nvar G__9736 \x3d arguments.length;\nswitch (G__9736) {\ncase 2:\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11335 \x3d arguments.length;\nvar i__5770__auto___11336 \x3d (0);\nwhile(true){\nif((i__5770__auto___11336 \x3c len__5769__auto___11335)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11336]));\n\nvar G__11337 \x3d (i__5770__auto___11336 + (1));\ni__5770__auto___11336 \x3d G__11337;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__9737 \x3d cljs.core.checked_aget_SINGLEQUOTE_;\nvar G__9738 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__9739 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__9737,G__9738,G__9739) : cljs.core.apply.call(null,G__9737,G__9738,G__9739));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq9733){\nvar G__9734 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9733) : cljs.core.first.call(null,seq9733));\nvar seq9733__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9733) : cljs.core.next.call(null,seq9733));\nvar G__9735 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9733__$1) : cljs.core.first.call(null,seq9733__$1));\nvar seq9733__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9733__$1) : cljs.core.next.call(null,seq9733__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9734,G__9735,seq9733__$2);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset_SINGLEQUOTE_ \x3d (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){\nvar G__9745 \x3d arguments.length;\nswitch (G__9745) {\ncase 3:\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11343 \x3d arguments.length;\nvar i__5770__auto___11344 \x3d (0);\nwhile(true){\nif((i__5770__auto___11344 \x3c len__5769__auto___11343)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11344]));\n\nvar G__11345 \x3d (i__5770__auto___11344 + (1));\ni__5770__auto___11344 \x3d G__11345;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__9746 \x3d cljs.core.checked_aset_SINGLEQUOTE_;\nvar G__9747 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__9748 \x3d idx2;\nvar G__9749 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__9746,G__9747,G__9748,G__9749) : cljs.core.apply.call(null,G__9746,G__9747,G__9748,G__9749));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq9741){\nvar G__9742 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9741) : cljs.core.first.call(null,seq9741));\nvar seq9741__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9741) : cljs.core.next.call(null,seq9741));\nvar G__9743 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9741__$1) : cljs.core.first.call(null,seq9741__$1));\nvar seq9741__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9741__$1) : cljs.core.next.call(null,seq9741__$1));\nvar G__9744 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9741__$2) : cljs.core.first.call(null,seq9741__$2));\nvar seq9741__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9741__$2) : cljs.core.next.call(null,seq9741__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9742,G__9743,G__9744,seq9741__$3);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the value at the index/indices. Works on JavaScript arrays.\n */\ncljs.core.aget \x3d (function cljs$core$aget(var_args){\nvar G__9754 \x3d arguments.length;\nswitch (G__9754) {\ncase 2:\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11354 \x3d arguments.length;\nvar i__5770__auto___11355 \x3d (0);\nwhile(true){\nif((i__5770__auto___11355 \x3c len__5769__auto___11354)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11355]));\n\nvar G__11356 \x3d (i__5770__auto___11355 + (1));\ni__5770__auto___11355 \x3d G__11356;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nreturn (array[idx]);\n}));\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__9755 \x3d cljs.core.aget;\nvar G__9756 \x3d (array[idx]);\nvar G__9757 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__9755,G__9756,G__9757) : cljs.core.apply.call(null,G__9755,G__9756,G__9757));\n}));\n\n/** @this {Function} */\n(cljs.core.aget.cljs$lang$applyTo \x3d (function (seq9751){\nvar G__9752 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9751) : cljs.core.first.call(null,seq9751));\nvar seq9751__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9751) : cljs.core.next.call(null,seq9751));\nvar G__9753 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9751__$1) : cljs.core.first.call(null,seq9751__$1));\nvar seq9751__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9751__$1) : cljs.core.next.call(null,seq9751__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9752,G__9753,seq9751__$2);\n}));\n\n(cljs.core.aget.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Sets the value at the index/indices. Works on JavaScript arrays.\n * Returns val.\n */\ncljs.core.aset \x3d (function cljs$core$aset(var_args){\nvar G__9763 \x3d arguments.length;\nswitch (G__9763) {\ncase 3:\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11364 \x3d arguments.length;\nvar i__5770__auto___11366 \x3d (0);\nwhile(true){\nif((i__5770__auto___11366 \x3c len__5769__auto___11364)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11366]));\n\nvar G__11367 \x3d (i__5770__auto___11366 + (1));\ni__5770__auto___11366 \x3d G__11367;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__9764 \x3d cljs.core.aset;\nvar G__9765 \x3d (array[idx]);\nvar G__9766 \x3d idx2;\nvar G__9767 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__9764,G__9765,G__9766,G__9767) : cljs.core.apply.call(null,G__9764,G__9765,G__9766,G__9767));\n}));\n\n/** @this {Function} */\n(cljs.core.aset.cljs$lang$applyTo \x3d (function (seq9759){\nvar G__9760 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9759) : cljs.core.first.call(null,seq9759));\nvar seq9759__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9759) : cljs.core.next.call(null,seq9759));\nvar G__9761 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9759__$1) : cljs.core.first.call(null,seq9759__$1));\nvar seq9759__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9759__$1) : cljs.core.next.call(null,seq9759__$1));\nvar G__9762 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9759__$2) : cljs.core.first.call(null,seq9759__$2));\nvar seq9759__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9759__$2) : cljs.core.next.call(null,seq9759__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9760,G__9761,G__9762,seq9759__$3);\n}));\n\n(cljs.core.aset.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the length of the array. Works on arrays of all types.\n */\ncljs.core.alength \x3d (function cljs$core$alength(array){\nreturn array.length;\n});\n/**\n * Returns an array with components set to the values in aseq. Optional type\n * argument accepted for compatibility with Clojure.\n */\ncljs.core.into_array \x3d (function cljs$core$into_array(var_args){\nvar G__9769 \x3d arguments.length;\nswitch (G__9769) {\ncase 1:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (aseq){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);\n}));\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,aseq){\nvar G__9770 \x3d (function (a,x){\na.push(x);\n\nreturn a;\n});\nvar G__9771 \x3d [];\nvar G__9772 \x3d aseq;\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__9770,G__9771,G__9772) : cljs.core.reduce.call(null,G__9770,G__9771,G__9772));\n}));\n\n(cljs.core.into_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Invoke JavaScript object method via string. Needed when the\n * string is not a valid unquoted property name.\n */\ncljs.core.js_invoke \x3d (function cljs$core$js_invoke(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___11389 \x3d arguments.length;\nvar i__5770__auto___11390 \x3d (0);\nwhile(true){\nif((i__5770__auto___11390 \x3c len__5769__auto___11389)){\nargs__5775__auto__.push((arguments[i__5770__auto___11390]));\n\nvar G__11391 \x3d (i__5770__auto___11390 + (1));\ni__5770__auto___11390 \x3d G__11391;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,s,args){\nreturn (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));\n}));\n\n(cljs.core.js_invoke.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.js_invoke.cljs$lang$applyTo \x3d (function (seq9773){\nvar G__9774 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9773) : cljs.core.first.call(null,seq9773));\nvar seq9773__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9773) : cljs.core.next.call(null,seq9773));\nvar G__9775 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq9773__$1) : cljs.core.first.call(null,seq9773__$1));\nvar seq9773__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq9773__$1) : cljs.core.next.call(null,seq9773__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9774,G__9775,seq9773__$2);\n}));\n\n/**\n * Returns true if x is an instance of Symbol\n */\ncljs.core.js_symbol_QMARK_ \x3d (function cljs$core$js_symbol_QMARK_(x){\nreturn (((goog.typeOf(x) \x3d\x3d\x3d \x22symbol\x22)) || ((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((x instanceof Symbol)))));\n});\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.Fn \x3d function(){};\n\n\n/**\n * Protocol for adding the ability to invoke an object as a function.\n * For example, a vector can also be used to look up a value:\n * ([1 2 3 4] 1) \x3d\x3e 2\n * @interface\n */\ncljs.core.IFn \x3d function(){};\n\nvar cljs$core$IFn$_invoke$dyn_11412 \x3d (function() {\nvar G__11413 \x3d null;\nvar G__11413__1 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__2 \x3d (function (this$,a){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5394__auto__.call(null,this$,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5392__auto__.call(null,this$,a));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__3 \x3d (function (this$,a,b){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5394__auto__.call(null,this$,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5392__auto__.call(null,this$,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__4 \x3d (function (this$,a,b,c){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5394__auto__.call(null,this$,a,b,c));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5392__auto__.call(null,this$,a,b,c));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__5 \x3d (function (this$,a,b,c,d){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5394__auto__.call(null,this$,a,b,c,d));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5392__auto__.call(null,this$,a,b,c,d));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__6 \x3d (function (this$,a,b,c,d,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5394__auto__.call(null,this$,a,b,c,d,e));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5392__auto__.call(null,this$,a,b,c,d,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__7 \x3d (function (this$,a,b,c,d,e,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5394__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5392__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__8 \x3d (function (this$,a,b,c,d,e,f,g){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__11413__22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nG__11413 \x3d function(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nswitch(arguments.length){\ncase 1:\nreturn G__11413__1.call(this,this$);\ncase 2:\nreturn G__11413__2.call(this,this$,a);\ncase 3:\nreturn G__11413__3.call(this,this$,a,b);\ncase 4:\nreturn G__11413__4.call(this,this$,a,b,c);\ncase 5:\nreturn G__11413__5.call(this,this$,a,b,c,d);\ncase 6:\nreturn G__11413__6.call(this,this$,a,b,c,d,e);\ncase 7:\nreturn G__11413__7.call(this,this$,a,b,c,d,e,f);\ncase 8:\nreturn G__11413__8.call(this,this$,a,b,c,d,e,f,g);\ncase 9:\nreturn G__11413__9.call(this,this$,a,b,c,d,e,f,g,h);\ncase 10:\nreturn G__11413__10.call(this,this$,a,b,c,d,e,f,g,h,i);\ncase 11:\nreturn G__11413__11.call(this,this$,a,b,c,d,e,f,g,h,i,j);\ncase 12:\nreturn G__11413__12.call(this,this$,a,b,c,d,e,f,g,h,i,j,k);\ncase 13:\nreturn G__11413__13.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l);\ncase 14:\nreturn G__11413__14.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\ncase 15:\nreturn G__11413__15.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\ncase 16:\nreturn G__11413__16.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\ncase 17:\nreturn G__11413__17.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\ncase 18:\nreturn G__11413__18.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\ncase 19:\nreturn G__11413__19.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\ncase 20:\nreturn G__11413__20.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\ncase 21:\nreturn G__11413__21.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\ncase 22:\nreturn G__11413__22.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11413.cljs$core$IFn$_invoke$arity$1 \x3d G__11413__1;\nG__11413.cljs$core$IFn$_invoke$arity$2 \x3d G__11413__2;\nG__11413.cljs$core$IFn$_invoke$arity$3 \x3d G__11413__3;\nG__11413.cljs$core$IFn$_invoke$arity$4 \x3d G__11413__4;\nG__11413.cljs$core$IFn$_invoke$arity$5 \x3d G__11413__5;\nG__11413.cljs$core$IFn$_invoke$arity$6 \x3d G__11413__6;\nG__11413.cljs$core$IFn$_invoke$arity$7 \x3d G__11413__7;\nG__11413.cljs$core$IFn$_invoke$arity$8 \x3d G__11413__8;\nG__11413.cljs$core$IFn$_invoke$arity$9 \x3d G__11413__9;\nG__11413.cljs$core$IFn$_invoke$arity$10 \x3d G__11413__10;\nG__11413.cljs$core$IFn$_invoke$arity$11 \x3d G__11413__11;\nG__11413.cljs$core$IFn$_invoke$arity$12 \x3d G__11413__12;\nG__11413.cljs$core$IFn$_invoke$arity$13 \x3d G__11413__13;\nG__11413.cljs$core$IFn$_invoke$arity$14 \x3d G__11413__14;\nG__11413.cljs$core$IFn$_invoke$arity$15 \x3d G__11413__15;\nG__11413.cljs$core$IFn$_invoke$arity$16 \x3d G__11413__16;\nG__11413.cljs$core$IFn$_invoke$arity$17 \x3d G__11413__17;\nG__11413.cljs$core$IFn$_invoke$arity$18 \x3d G__11413__18;\nG__11413.cljs$core$IFn$_invoke$arity$19 \x3d G__11413__19;\nG__11413.cljs$core$IFn$_invoke$arity$20 \x3d G__11413__20;\nG__11413.cljs$core$IFn$_invoke$arity$21 \x3d G__11413__21;\nG__11413.cljs$core$IFn$_invoke$arity$22 \x3d G__11413__22;\nreturn G__11413;\n})()\n;\ncljs.core._invoke \x3d (function cljs$core$_invoke(var_args){\nvar G__9777 \x3d arguments.length;\nswitch (G__9777) {\ncase 1:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase 8:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 9:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase 10:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase 11:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase 12:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase 13:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$13((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase 14:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$14((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase 15:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$15((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase 16:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$16((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase 17:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$17((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase 18:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$18((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase 19:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$19((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase 20:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$20((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase 21:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$21((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase 22:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$22((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$1(this$);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,a){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$2(this$,a);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 \x3d (function (this$,a,b){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 \x3d (function (this$,a,b,c){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$4 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 \x3d (function (this$,a,b,c,d){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 \x3d (function (this$,a,b,c,d,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$6 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 \x3d (function (this$,a,b,c,d,e,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$7 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 \x3d (function (this$,a,b,c,d,e,f,g){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$8 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$9 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$10 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$11 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$12 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$13 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$14 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$15 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$16 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$17 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$18 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$19 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$20 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$21 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$22 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_11412(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\n}));\n\n(cljs.core._invoke.cljs$lang$maxFixedArity \x3d 22);\n\n\n\n/**\n * Protocol for cloning a value.\n * @interface\n */\ncljs.core.ICloneable \x3d function(){};\n\nvar cljs$core$ICloneable$_clone$dyn_11481 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (cljs.core._clone[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clone[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22ICloneable.-clone\x22,value);\n}\n}\n});\n/**\n * Creates a clone of value.\n */\ncljs.core._clone \x3d (function cljs$core$_clone(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.cljs$core$ICloneable$_clone$arity$1 \x3d\x3d null)))))){\nreturn value.cljs$core$ICloneable$_clone$arity$1(value);\n} else {\nreturn cljs$core$ICloneable$_clone$dyn_11481(value);\n}\n});\n\n\n/**\n * Protocol for adding the ability to count a collection in constant time.\n * @interface\n */\ncljs.core.ICounted \x3d function(){};\n\nvar cljs$core$ICounted$_count$dyn_11486 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._count[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._count[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ICounted.-count\x22,coll);\n}\n}\n});\n/**\n * Calculates the count of coll in constant time. Used by cljs.core/count.\n */\ncljs.core._count \x3d (function cljs$core$_count(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICounted$_count$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICounted$_count$arity$1(coll);\n} else {\nreturn cljs$core$ICounted$_count$dyn_11486(coll);\n}\n});\n\n\n/**\n * Protocol for creating an empty collection.\n * @interface\n */\ncljs.core.IEmptyableCollection \x3d function(){};\n\nvar cljs$core$IEmptyableCollection$_empty$dyn_11487 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._empty[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._empty[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEmptyableCollection.-empty\x22,coll);\n}\n}\n});\n/**\n * Returns an empty collection of the same category as coll. Used\n * by cljs.core/empty.\n */\ncljs.core._empty \x3d (function cljs$core$_empty(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);\n} else {\nreturn cljs$core$IEmptyableCollection$_empty$dyn_11487(coll);\n}\n});\n\n\n/**\n * Protocol for adding to a collection.\n * @interface\n */\ncljs.core.ICollection \x3d function(){};\n\nvar cljs$core$ICollection$_conj$dyn_11489 \x3d (function (coll,o){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._conj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5394__auto__.call(null,coll,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5392__auto__.call(null,coll,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ICollection.-conj\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with o added to it. The new item\n * should be added to the most efficient place, e.g.\n * (conj [1 2 3 4] 5) \x3d\x3e [1 2 3 4 5]\n * (conj \x27(2 3 4 5) 1) \x3d\x3e \x27(1 2 3 4 5)\n */\ncljs.core._conj \x3d (function cljs$core$_conj(coll,o){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICollection$_conj$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICollection$_conj$arity$2(coll,o);\n} else {\nreturn cljs$core$ICollection$_conj$dyn_11489(coll,o);\n}\n});\n\n\n/**\n * Protocol for collections to provide indexed-based access to their items.\n * @interface\n */\ncljs.core.IIndexed \x3d function(){};\n\nvar cljs$core$IIndexed$_nth$dyn_11492 \x3d (function() {\nvar G__11493 \x3d null;\nvar G__11493__2 \x3d (function (coll,n){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5394__auto__.call(null,coll,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5392__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nvar G__11493__3 \x3d (function (coll,n,not_found){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5394__auto__.call(null,coll,n,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5392__auto__.call(null,coll,n,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nG__11493 \x3d function(coll,n,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__11493__2.call(this,coll,n);\ncase 3:\nreturn G__11493__3.call(this,coll,n,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11493.cljs$core$IFn$_invoke$arity$2 \x3d G__11493__2;\nG__11493.cljs$core$IFn$_invoke$arity$3 \x3d G__11493__3;\nreturn G__11493;\n})()\n;\n/**\n * Returns the value at the index n in the collection coll.\n * Returns not-found if index n is out of bounds and not-found is supplied.\n */\ncljs.core._nth \x3d (function cljs$core$_nth(var_args){\nvar G__9779 \x3d arguments.length;\nswitch (G__9779) {\ncase 2:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(coll,n);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_11492(coll,n);\n}\n}));\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_11492(coll,n,not_found);\n}\n}));\n\n(cljs.core._nth.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Marker protocol indicating an array sequence.\n * @interface\n */\ncljs.core.ASeq \x3d function(){};\n\n\n/**\n * Protocol for collections to provide access to their items as sequences.\n * @interface\n */\ncljs.core.ISeq \x3d function(){};\n\nvar cljs$core$ISeq$_first$dyn_11496 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first item in the collection coll. Used by cljs.core/first.\n */\ncljs.core._first \x3d (function cljs$core$_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_first$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_first$dyn_11496(coll);\n}\n});\n\nvar cljs$core$ISeq$_rest$dyn_11497 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-rest\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. It should\n * always return a seq, e.g.\n * (rest []) \x3d\x3e ()\n * (rest nil) \x3d\x3e ()\n */\ncljs.core._rest \x3d (function cljs$core$_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_rest$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_rest$dyn_11497(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the next items of a collection.\n * @interface\n */\ncljs.core.INext \x3d function(){};\n\nvar cljs$core$INext$_next$dyn_11498 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22INext.-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. In contrast to\n * rest, it should return nil if there are no more items, e.g.\n * (next []) \x3d\x3e nil\n * (next nil) \x3d\x3e nil\n */\ncljs.core._next \x3d (function cljs$core$_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$INext$_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$INext$_next$arity$1(coll);\n} else {\nreturn cljs$core$INext$_next$dyn_11498(coll);\n}\n});\n\n\n/**\n * Protocol for looking up a value in a data structure.\n * @interface\n */\ncljs.core.ILookup \x3d function(){};\n\nvar cljs$core$ILookup$_lookup$dyn_11499 \x3d (function() {\nvar G__11500 \x3d null;\nvar G__11500__2 \x3d (function (o,k){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5394__auto__.call(null,o,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5392__auto__.call(null,o,k));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nvar G__11500__3 \x3d (function (o,k,not_found){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5394__auto__.call(null,o,k,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5392__auto__.call(null,o,k,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nG__11500 \x3d function(o,k,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__11500__2.call(this,o,k);\ncase 3:\nreturn G__11500__3.call(this,o,k,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11500.cljs$core$IFn$_invoke$arity$2 \x3d G__11500__2;\nG__11500.cljs$core$IFn$_invoke$arity$3 \x3d G__11500__3;\nreturn G__11500;\n})()\n;\n/**\n * Use k to look up a value in o. If not-found is supplied and k is not\n * a valid value that can be used for look up, not-found is returned.\n */\ncljs.core._lookup \x3d (function cljs$core$_lookup(var_args){\nvar G__9781 \x3d arguments.length;\nswitch (G__9781) {\ncase 2:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$2(o,k);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_11499(o,k);\n}\n}));\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_11499(o,k,not_found);\n}\n}));\n\n(cljs.core._lookup.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for adding associativity to collections.\n * @interface\n */\ncljs.core.IAssociative \x3d function(){};\n\nvar cljs$core$IAssociative$_contains_key_QMARK_$dyn_11507 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._contains_key_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._contains_key_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-contains-key?\x22,coll);\n}\n}\n});\n/**\n * Returns true if k is a key in coll.\n */\ncljs.core._contains_key_QMARK_ \x3d (function cljs$core$_contains_key_QMARK_(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);\n} else {\nreturn cljs$core$IAssociative$_contains_key_QMARK_$dyn_11507(coll,k);\n}\n});\n\nvar cljs$core$IAssociative$_assoc$dyn_11508 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-assoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with a mapping from key k to\n * value v added to it.\n */\ncljs.core._assoc \x3d (function cljs$core$_assoc(coll,k,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_assoc$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);\n} else {\nreturn cljs$core$IAssociative$_assoc$dyn_11508(coll,k,v);\n}\n});\n\n\n/**\n * Protocol for implementing entry finding in collections.\n * @interface\n */\ncljs.core.IFind \x3d function(){};\n\nvar cljs$core$IFind$_find$dyn_11509 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._find[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._find[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFind.-find\x22,coll);\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core._find \x3d (function cljs$core$_find(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IFind$_find$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IFind$_find$arity$2(coll,k);\n} else {\nreturn cljs$core$IFind$_find$dyn_11509(coll,k);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to collections.\n * @interface\n */\ncljs.core.IMap \x3d function(){};\n\nvar cljs$core$IMap$_dissoc$dyn_11510 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IMap.-dissoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the mapping for key k.\n */\ncljs.core._dissoc \x3d (function cljs$core$_dissoc(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMap$_dissoc$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMap$_dissoc$arity$2(coll,k);\n} else {\nreturn cljs$core$IMap$_dissoc$dyn_11510(coll,k);\n}\n});\n\n\n/**\n * Protocol for examining a map entry.\n * @interface\n */\ncljs.core.IMapEntry \x3d function(){};\n\nvar cljs$core$IMapEntry$_key$dyn_11516 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core._key \x3d (function cljs$core$_key(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_key$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_key$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_key$dyn_11516(coll);\n}\n});\n\nvar cljs$core$IMapEntry$_val$dyn_11517 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-val\x22,coll);\n}\n}\n});\n/**\n * Returns the value of the map entry.\n */\ncljs.core._val \x3d (function cljs$core$_val(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_val$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_val$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_val$dyn_11517(coll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a collection.\n * @interface\n */\ncljs.core.ISet \x3d function(){};\n\nvar cljs$core$ISet$_disjoin$dyn_11519 \x3d (function (coll,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5394__auto__.call(null,coll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5392__auto__.call(null,coll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ISet.-disjoin\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll that does not contain v.\n */\ncljs.core._disjoin \x3d (function cljs$core$_disjoin(coll,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISet$_disjoin$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISet$_disjoin$arity$2(coll,v);\n} else {\nreturn cljs$core$ISet$_disjoin$dyn_11519(coll,v);\n}\n});\n\n\n/**\n * Protocol for collections to provide access to their items as stacks. The top\n * of the stack should be accessed in the most efficient way for the different\n * data structures.\n * @interface\n */\ncljs.core.IStack \x3d function(){};\n\nvar cljs$core$IStack$_peek$dyn_11525 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._peek[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._peek[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-peek\x22,coll);\n}\n}\n});\n/**\n * Returns the item from the top of the stack. Is used by cljs.core/peek.\n */\ncljs.core._peek \x3d (function cljs$core$_peek(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_peek$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_peek$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_peek$dyn_11525(coll);\n}\n});\n\nvar cljs$core$IStack$_pop$dyn_11527 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._pop[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-pop\x22,coll);\n}\n}\n});\n/**\n * Returns a new stack without the item on top of the stack. Is used\n * by cljs.core/pop.\n */\ncljs.core._pop \x3d (function cljs$core$_pop(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_pop$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_pop$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_pop$dyn_11527(coll);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to collections.\n * @interface\n */\ncljs.core.IVector \x3d function(){};\n\nvar cljs$core$IVector$_assoc_n$dyn_11528 \x3d (function (coll,n,val){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5394__auto__.call(null,coll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5392__auto__.call(null,coll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22IVector.-assoc-n\x22,coll);\n}\n}\n});\n/**\n * Returns a new vector with value val added at position n.\n */\ncljs.core._assoc_n \x3d (function cljs$core$_assoc_n(coll,n,val){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IVector$_assoc_n$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);\n} else {\nreturn cljs$core$IVector$_assoc_n$dyn_11528(coll,n,val);\n}\n});\n\n\n/**\n * Protocol for adding dereference functionality to a reference.\n * @interface\n */\ncljs.core.IDeref \x3d function(){};\n\nvar cljs$core$IDeref$_deref$dyn_11534 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IDeref.-deref\x22,o);\n}\n}\n});\n/**\n * Returns the value of the reference o.\n */\ncljs.core._deref \x3d (function cljs$core$_deref(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDeref$_deref$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IDeref$_deref$arity$1(o);\n} else {\nreturn cljs$core$IDeref$_deref$dyn_11534(o);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.IDerefWithTimeout \x3d function(){};\n\nvar cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_11535 \x3d (function (o,msec,timeout_val){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref_with_timeout[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5394__auto__.call(null,o,msec,timeout_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref_with_timeout[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5392__auto__.call(null,o,msec,timeout_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IDerefWithTimeout.-deref-with-timeout\x22,o);\n}\n}\n});\ncljs.core._deref_with_timeout \x3d (function cljs$core$_deref_with_timeout(o,msec,timeout_val){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);\n} else {\nreturn cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_11535(o,msec,timeout_val);\n}\n});\n\n\n/**\n * Protocol for accessing the metadata of an object.\n * @interface\n */\ncljs.core.IMeta \x3d function(){};\n\nvar cljs$core$IMeta$_meta$dyn_11536 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IMeta.-meta\x22,o);\n}\n}\n});\n/**\n * Returns the metadata of object o.\n */\ncljs.core._meta \x3d (function cljs$core$_meta(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IMeta$_meta$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IMeta$_meta$arity$1(o);\n} else {\nreturn cljs$core$IMeta$_meta$dyn_11536(o);\n}\n});\n\n\n/**\n * Protocol for adding metadata to an object.\n * @interface\n */\ncljs.core.IWithMeta \x3d function(){};\n\nvar cljs$core$IWithMeta$_with_meta$dyn_11537 \x3d (function (o,meta){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._with_meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5394__auto__.call(null,o,meta));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._with_meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5392__auto__.call(null,o,meta));\n} else {\nthrow cljs.core.missing_protocol(\x22IWithMeta.-with-meta\x22,o);\n}\n}\n});\n/**\n * Returns a new object with value of o and metadata meta added to it.\n */\ncljs.core._with_meta \x3d (function cljs$core$_with_meta(o,meta){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IWithMeta$_with_meta$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);\n} else {\nreturn cljs$core$IWithMeta$_with_meta$dyn_11537(o,meta);\n}\n});\n\n\n/**\n * Protocol for seq types that can reduce themselves.\n * Called by cljs.core/reduce.\n * @interface\n */\ncljs.core.IReduce \x3d function(){};\n\nvar cljs$core$IReduce$_reduce$dyn_11543 \x3d (function() {\nvar G__11544 \x3d null;\nvar G__11544__2 \x3d (function (coll,f){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5394__auto__.call(null,coll,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5392__auto__.call(null,coll,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nvar G__11544__3 \x3d (function (coll,f,start){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5394__auto__.call(null,coll,f,start));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5392__auto__.call(null,coll,f,start));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nG__11544 \x3d function(coll,f,start){\nswitch(arguments.length){\ncase 2:\nreturn G__11544__2.call(this,coll,f);\ncase 3:\nreturn G__11544__3.call(this,coll,f,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11544.cljs$core$IFn$_invoke$arity$2 \x3d G__11544__2;\nG__11544.cljs$core$IFn$_invoke$arity$3 \x3d G__11544__3;\nreturn G__11544;\n})()\n;\n/**\n * f should be a function of 2 arguments. If start is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc.\n */\ncljs.core._reduce \x3d (function cljs$core$_reduce(var_args){\nvar G__9783 \x3d arguments.length;\nswitch (G__9783) {\ncase 2:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(coll,f);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_11543(coll,f);\n}\n}));\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,start){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_11543(coll,f,start);\n}\n}));\n\n(cljs.core._reduce.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for associative types that can reduce themselves\n * via a function of key and val. Called by cljs.core/reduce-kv.\n * @interface\n */\ncljs.core.IKVReduce \x3d function(){};\n\nvar cljs$core$IKVReduce$_kv_reduce$dyn_11549 \x3d (function (coll,f,init){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._kv_reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5394__auto__.call(null,coll,f,init));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._kv_reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5392__auto__.call(null,coll,f,init));\n} else {\nthrow cljs.core.missing_protocol(\x22IKVReduce.-kv-reduce\x22,coll);\n}\n}\n});\n/**\n * Reduces an associative collection and returns the result. f should be\n * a function that takes three arguments.\n */\ncljs.core._kv_reduce \x3d (function cljs$core$_kv_reduce(coll,f,init){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);\n} else {\nreturn cljs$core$IKVReduce$_kv_reduce$dyn_11549(coll,f,init);\n}\n});\n\n\n/**\n * Protocol for adding value comparison functionality to a type.\n * @interface\n */\ncljs.core.IEquiv \x3d function(){};\n\nvar cljs$core$IEquiv$_equiv$dyn_11550 \x3d (function (o,other){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._equiv[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5394__auto__.call(null,o,other));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._equiv[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5392__auto__.call(null,o,other));\n} else {\nthrow cljs.core.missing_protocol(\x22IEquiv.-equiv\x22,o);\n}\n}\n});\n/**\n * Returns true if o and other are equal, false otherwise.\n */\ncljs.core._equiv \x3d (function cljs$core$_equiv(o,other){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IEquiv$_equiv$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IEquiv$_equiv$arity$2(o,other);\n} else {\nreturn cljs$core$IEquiv$_equiv$dyn_11550(o,other);\n}\n});\n\n\n/**\n * Protocol for adding hashing functionality to a type.\n * @interface\n */\ncljs.core.IHash \x3d function(){};\n\nvar cljs$core$IHash$_hash$dyn_11553 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._hash[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._hash[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IHash.-hash\x22,o);\n}\n}\n});\n/**\n * Returns the hash code of o.\n */\ncljs.core._hash \x3d (function cljs$core$_hash(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IHash$_hash$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IHash$_hash$arity$1(o);\n} else {\nreturn cljs$core$IHash$_hash$dyn_11553(o);\n}\n});\n\n\n/**\n * Protocol for adding the ability to a type to be transformed into a sequence.\n * @interface\n */\ncljs.core.ISeqable \x3d function(){};\n\nvar cljs$core$ISeqable$_seq$dyn_11554 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeqable.-seq\x22,o);\n}\n}\n});\n/**\n * Returns a seq of o, or nil if o is empty.\n */\ncljs.core._seq \x3d (function cljs$core$_seq(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISeqable$_seq$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$ISeqable$_seq$arity$1(o);\n} else {\nreturn cljs$core$ISeqable$_seq$dyn_11554(o);\n}\n});\n\n\n/**\n * Marker interface indicating a persistent collection of sequential items\n * @interface\n */\ncljs.core.ISequential \x3d function(){};\n\n\n/**\n * Marker interface indicating a persistent list\n * @interface\n */\ncljs.core.IList \x3d function(){};\n\n\n/**\n * Marker interface indicating a record object\n * @interface\n */\ncljs.core.IRecord \x3d function(){};\n\n\n/**\n * Protocol for reversing a seq.\n * @interface\n */\ncljs.core.IReversible \x3d function(){};\n\nvar cljs$core$IReversible$_rseq$dyn_11561 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rseq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rseq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IReversible.-rseq\x22,coll);\n}\n}\n});\n/**\n * Returns a seq of the items in coll in reversed order.\n */\ncljs.core._rseq \x3d (function cljs$core$_rseq(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReversible$_rseq$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReversible$_rseq$arity$1(coll);\n} else {\nreturn cljs$core$IReversible$_rseq$dyn_11561(coll);\n}\n});\n\n\n/**\n * Protocol for a collection which can represent their items\n * in a sorted manner. \n * @interface\n */\ncljs.core.ISorted \x3d function(){};\n\nvar cljs$core$ISorted$_sorted_seq$dyn_11562 \x3d (function (coll,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5394__auto__.call(null,coll,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5392__auto__.call(null,coll,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n */\ncljs.core._sorted_seq \x3d (function cljs$core$_sorted_seq(coll,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq$dyn_11562(coll,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_sorted_seq_from$dyn_11563 \x3d (function (coll,k,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5394__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5392__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq-from\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n * If ascending is true, the result should contain all items which are \x3e or \x3e\x3d\n * than k. If ascending is false, the result should contain all items which\n * are \x3c or \x3c\x3d than k, e.g.\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) \x3d\x3e (3 4 5)\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) \x3d\x3e (3 2 1)\n */\ncljs.core._sorted_seq_from \x3d (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq_from$dyn_11563(coll,k,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_entry_key$dyn_11564 \x3d (function (coll,entry){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._entry_key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5394__auto__.call(null,coll,entry));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._entry_key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5392__auto__.call(null,coll,entry));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-entry-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key for entry.\n */\ncljs.core._entry_key \x3d (function cljs$core$_entry_key(coll,entry){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_entry_key$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);\n} else {\nreturn cljs$core$ISorted$_entry_key$dyn_11564(coll,entry);\n}\n});\n\nvar cljs$core$ISorted$_comparator$dyn_11565 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._comparator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._comparator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-comparator\x22,coll);\n}\n}\n});\n/**\n * Returns the comparator for coll.\n */\ncljs.core._comparator \x3d (function cljs$core$_comparator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_comparator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_comparator$arity$1(coll);\n} else {\nreturn cljs$core$ISorted$_comparator$dyn_11565(coll);\n}\n});\n\n\n/**\n * Protocol for writing. Currently only implemented by StringBufferWriter.\n * @interface\n */\ncljs.core.IWriter \x3d function(){};\n\nvar cljs$core$IWriter$_write$dyn_11566 \x3d (function (writer,s){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._write[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5394__auto__.call(null,writer,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._write[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5392__auto__.call(null,writer,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-write\x22,writer);\n}\n}\n});\n/**\n * Writes s with writer and returns the result.\n */\ncljs.core._write \x3d (function cljs$core$_write(writer,s){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_write$arity$2 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_write$arity$2(writer,s);\n} else {\nreturn cljs$core$IWriter$_write$dyn_11566(writer,s);\n}\n});\n\nvar cljs$core$IWriter$_flush$dyn_11567 \x3d (function (writer){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._flush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5394__auto__.call(null,writer));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._flush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5392__auto__.call(null,writer));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-flush\x22,writer);\n}\n}\n});\n/**\n * Flush writer.\n */\ncljs.core._flush \x3d (function cljs$core$_flush(writer){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_flush$arity$1 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_flush$arity$1(writer);\n} else {\nreturn cljs$core$IWriter$_flush$dyn_11567(writer);\n}\n});\n\n\n/**\n * The old IPrintable protocol\x27s implementation consisted of building a giant\n * list of strings to concatenate. This involved lots of concat calls,\n * intermediate vectors, and lazy-seqs, and was very slow in some older JS\n * engines. IPrintWithWriter implements printing via the IWriter protocol, so it\n * be implemented efficiently in terms of e.g. a StringBuffer append.\n * @interface\n */\ncljs.core.IPrintWithWriter \x3d function(){};\n\nvar cljs$core$IPrintWithWriter$_pr_writer$dyn_11568 \x3d (function (o,writer,opts){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._pr_writer[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5394__auto__.call(null,o,writer,opts));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pr_writer[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5392__auto__.call(null,o,writer,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrintWithWriter.-pr-writer\x22,o);\n}\n}\n});\ncljs.core._pr_writer \x3d (function cljs$core$_pr_writer(o,writer,opts){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);\n} else {\nreturn cljs$core$IPrintWithWriter$_pr_writer$dyn_11568(o,writer,opts);\n}\n});\n\n\n/**\n * Protocol for types which can have a deferred realization. Currently only\n * implemented by Delay and LazySeq.\n * @interface\n */\ncljs.core.IPending \x3d function(){};\n\nvar cljs$core$IPending$_realized_QMARK_$dyn_11569 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._realized_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._realized_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IPending.-realized?\x22,x);\n}\n}\n});\n/**\n * Returns true if a value for x has been produced, false otherwise.\n */\ncljs.core._realized_QMARK_ \x3d (function cljs$core$_realized_QMARK_(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IPending$_realized_QMARK_$arity$1(x);\n} else {\nreturn cljs$core$IPending$_realized_QMARK_$dyn_11569(x);\n}\n});\n\n\n/**\n * Protocol for types that can be watched. Currently only implemented by Atom.\n * @interface\n */\ncljs.core.IWatchable \x3d function(){};\n\nvar cljs$core$IWatchable$_notify_watches$dyn_11570 \x3d (function (this$,oldval,newval){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._notify_watches[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5394__auto__.call(null,this$,oldval,newval));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._notify_watches[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5392__auto__.call(null,this$,oldval,newval));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-notify-watches\x22,this$);\n}\n}\n});\n/**\n * Calls all watchers with this, oldval and newval.\n */\ncljs.core._notify_watches \x3d (function cljs$core$_notify_watches(this$,oldval,newval){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_notify_watches$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);\n} else {\nreturn cljs$core$IWatchable$_notify_watches$dyn_11570(this$,oldval,newval);\n}\n});\n\nvar cljs$core$IWatchable$_add_watch$dyn_11571 \x3d (function (this$,key,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._add_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5394__auto__.call(null,this$,key,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5392__auto__.call(null,this$,key,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-add-watch\x22,this$);\n}\n}\n});\n/**\n * Adds a watcher function f to this. Keys must be unique per reference,\n * and can be used to remove the watch with -remove-watch.\n */\ncljs.core._add_watch \x3d (function cljs$core$_add_watch(this$,key,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_add_watch$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);\n} else {\nreturn cljs$core$IWatchable$_add_watch$dyn_11571(this$,key,f);\n}\n});\n\nvar cljs$core$IWatchable$_remove_watch$dyn_11573 \x3d (function (this$,key){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._remove_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5394__auto__.call(null,this$,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5392__auto__.call(null,this$,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-remove-watch\x22,this$);\n}\n}\n});\n/**\n * Removes watcher that corresponds to key from this.\n */\ncljs.core._remove_watch \x3d (function cljs$core$_remove_watch(this$,key){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_remove_watch$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);\n} else {\nreturn cljs$core$IWatchable$_remove_watch$dyn_11573(this$,key);\n}\n});\n\n\n/**\n * Protocol for collections which can transformed to transients.\n * @interface\n */\ncljs.core.IEditableCollection \x3d function(){};\n\nvar cljs$core$IEditableCollection$_as_transient$dyn_11574 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._as_transient[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._as_transient[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEditableCollection.-as-transient\x22,coll);\n}\n}\n});\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core._as_transient \x3d (function cljs$core$_as_transient(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);\n} else {\nreturn cljs$core$IEditableCollection$_as_transient$dyn_11574(coll);\n}\n});\n\n\n/**\n * Protocol for adding basic functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientCollection \x3d function(){};\n\nvar cljs$core$ITransientCollection$_conj_BANG_$dyn_11575 \x3d (function (tcoll,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._conj_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5394__auto__.call(null,tcoll,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5392__auto__.call(null,tcoll,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-conj!\x22,tcoll);\n}\n}\n});\n/**\n * Adds value val to tcoll and returns tcoll.\n */\ncljs.core._conj_BANG_ \x3d (function cljs$core$_conj_BANG_(tcoll,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);\n} else {\nreturn cljs$core$ITransientCollection$_conj_BANG_$dyn_11575(tcoll,val);\n}\n});\n\nvar cljs$core$ITransientCollection$_persistent_BANG_$dyn_11576 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._persistent_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._persistent_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-persistent!\x22,tcoll);\n}\n}\n});\n/**\n * Creates a persistent data structure from tcoll and returns it.\n */\ncljs.core._persistent_BANG_ \x3d (function cljs$core$_persistent_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientCollection$_persistent_BANG_$dyn_11576(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding associativity to transient collections.\n * @interface\n */\ncljs.core.ITransientAssociative \x3d function(){};\n\nvar cljs$core$ITransientAssociative$_assoc_BANG_$dyn_11577 \x3d (function (tcoll,key,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5394__auto__.call(null,tcoll,key,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5392__auto__.call(null,tcoll,key,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientAssociative.-assoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll with a mapping from key to\n * val added to it.\n */\ncljs.core._assoc_BANG_ \x3d (function cljs$core$_assoc_BANG_(tcoll,key,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);\n} else {\nreturn cljs$core$ITransientAssociative$_assoc_BANG_$dyn_11577(tcoll,key,val);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientMap \x3d function(){};\n\nvar cljs$core$ITransientMap$_dissoc_BANG_$dyn_11578 \x3d (function (tcoll,key){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5394__auto__.call(null,tcoll,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5392__auto__.call(null,tcoll,key));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientMap.-dissoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll without the mapping for key.\n */\ncljs.core._dissoc_BANG_ \x3d (function cljs$core$_dissoc_BANG_(tcoll,key){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);\n} else {\nreturn cljs$core$ITransientMap$_dissoc_BANG_$dyn_11578(tcoll,key);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientVector \x3d function(){};\n\nvar cljs$core$ITransientVector$_assoc_n_BANG_$dyn_11579 \x3d (function (tcoll,n,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5394__auto__.call(null,tcoll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5392__auto__.call(null,tcoll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-assoc-n!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with value val added at position n.\n */\ncljs.core._assoc_n_BANG_ \x3d (function cljs$core$_assoc_n_BANG_(tcoll,n,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);\n} else {\nreturn cljs$core$ITransientVector$_assoc_n_BANG_$dyn_11579(tcoll,n,val);\n}\n});\n\nvar cljs$core$ITransientVector$_pop_BANG_$dyn_11580 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._pop_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-pop!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with the last item removed from it.\n */\ncljs.core._pop_BANG_ \x3d (function cljs$core$_pop_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientVector$_pop_BANG_$dyn_11580(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a transient collection.\n * @interface\n */\ncljs.core.ITransientSet \x3d function(){};\n\nvar cljs$core$ITransientSet$_disjoin_BANG_$dyn_11581 \x3d (function (tcoll,v){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5394__auto__.call(null,tcoll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5392__auto__.call(null,tcoll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientSet.-disjoin!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll without v.\n */\ncljs.core._disjoin_BANG_ \x3d (function cljs$core$_disjoin_BANG_(tcoll,v){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);\n} else {\nreturn cljs$core$ITransientSet$_disjoin_BANG_$dyn_11581(tcoll,v);\n}\n});\n\n\n/**\n * Protocol for values that can be compared.\n * @interface\n */\ncljs.core.IComparable \x3d function(){};\n\nvar cljs$core$IComparable$_compare$dyn_11592 \x3d (function (x,y){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._compare[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5394__auto__.call(null,x,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._compare[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5392__auto__.call(null,x,y));\n} else {\nthrow cljs.core.missing_protocol(\x22IComparable.-compare\x22,x);\n}\n}\n});\n/**\n * Returns a negative number, zero, or a positive number when x is logically\n * \x27less than\x27, \x27equal to\x27, or \x27greater than\x27 y.\n */\ncljs.core._compare \x3d (function cljs$core$_compare(x,y){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IComparable$_compare$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IComparable$_compare$arity$2(x,y);\n} else {\nreturn cljs$core$IComparable$_compare$dyn_11592(x,y);\n}\n});\n\n\n/**\n * Protocol for accessing the items of a chunk.\n * @interface\n */\ncljs.core.IChunk \x3d function(){};\n\nvar cljs$core$IChunk$_drop_first$dyn_11593 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._drop_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._drop_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunk.-drop-first\x22,coll);\n}\n}\n});\n/**\n * Return a new chunk of coll with the first item removed.\n */\ncljs.core._drop_first \x3d (function cljs$core$_drop_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunk$_drop_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunk$_drop_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunk$_drop_first$dyn_11593(coll);\n}\n});\n\n\n/**\n * Protocol for accessing a collection as sequential chunks.\n * @interface\n */\ncljs.core.IChunkedSeq \x3d function(){};\n\nvar cljs$core$IChunkedSeq$_chunked_first$dyn_11602 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first chunk in coll.\n */\ncljs.core._chunked_first \x3d (function cljs$core$_chunked_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_first$dyn_11602(coll);\n}\n});\n\nvar cljs$core$IChunkedSeq$_chunked_rest$dyn_11603 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-rest\x22,coll);\n}\n}\n});\n/**\n * Return a new collection of coll with the first chunk removed.\n */\ncljs.core._chunked_rest \x3d (function cljs$core$_chunked_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_rest$dyn_11603(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the chunks of a collection.\n * @interface\n */\ncljs.core.IChunkedNext \x3d function(){};\n\nvar cljs$core$IChunkedNext$_chunked_next$dyn_11604 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedNext.-chunked-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first chunk.\n */\ncljs.core._chunked_next \x3d (function cljs$core$_chunked_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedNext$_chunked_next$dyn_11604(coll);\n}\n});\n\n\n/**\n * Protocol for adding a name.\n * @interface\n */\ncljs.core.INamed \x3d function(){};\n\nvar cljs$core$INamed$_name$dyn_11605 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._name[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._name[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-name\x22,x);\n}\n}\n});\n/**\n * Returns the name String of x.\n */\ncljs.core._name \x3d (function cljs$core$_name(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_name$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_name$arity$1(x);\n} else {\nreturn cljs$core$INamed$_name$dyn_11605(x);\n}\n});\n\nvar cljs$core$INamed$_namespace$dyn_11606 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._namespace[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._namespace[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-namespace\x22,x);\n}\n}\n});\n/**\n * Returns the namespace String of x.\n */\ncljs.core._namespace \x3d (function cljs$core$_namespace(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_namespace$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_namespace$arity$1(x);\n} else {\nreturn cljs$core$INamed$_namespace$dyn_11606(x);\n}\n});\n\n\n/**\n * Marker protocol indicating an atom.\n * @interface\n */\ncljs.core.IAtom \x3d function(){};\n\n\n/**\n * Protocol for adding resetting functionality.\n * @interface\n */\ncljs.core.IReset \x3d function(){};\n\nvar cljs$core$IReset$_reset_BANG_$dyn_11607 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._reset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IReset.-reset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of o to new-value.\n */\ncljs.core._reset_BANG_ \x3d (function cljs$core$_reset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IReset$_reset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IReset$_reset_BANG_$dyn_11607(o,new_value);\n}\n});\n\n\n/**\n * Protocol for adding swapping functionality.\n * @interface\n */\ncljs.core.ISwap \x3d function(){};\n\nvar cljs$core$ISwap$_swap_BANG_$dyn_11609 \x3d (function() {\nvar G__11610 \x3d null;\nvar G__11610__2 \x3d (function (o,f){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5394__auto__.call(null,o,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5392__auto__.call(null,o,f));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__11610__3 \x3d (function (o,f,a){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5394__auto__.call(null,o,f,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5392__auto__.call(null,o,f,a));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__11610__4 \x3d (function (o,f,a,b){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5394__auto__.call(null,o,f,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5392__auto__.call(null,o,f,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__11610__5 \x3d (function (o,f,a,b,xs){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5394__auto__.call(null,o,f,a,b,xs));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5392__auto__.call(null,o,f,a,b,xs));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nG__11610 \x3d function(o,f,a,b,xs){\nswitch(arguments.length){\ncase 2:\nreturn G__11610__2.call(this,o,f);\ncase 3:\nreturn G__11610__3.call(this,o,f,a);\ncase 4:\nreturn G__11610__4.call(this,o,f,a,b);\ncase 5:\nreturn G__11610__5.call(this,o,f,a,b,xs);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11610.cljs$core$IFn$_invoke$arity$2 \x3d G__11610__2;\nG__11610.cljs$core$IFn$_invoke$arity$3 \x3d G__11610__3;\nG__11610.cljs$core$IFn$_invoke$arity$4 \x3d G__11610__4;\nG__11610.cljs$core$IFn$_invoke$arity$5 \x3d G__11610__5;\nreturn G__11610;\n})()\n;\n/**\n * Swaps the value of o to be (apply f current-value-of-atom args).\n */\ncljs.core._swap_BANG_ \x3d (function cljs$core$_swap_BANG_(var_args){\nvar G__9785 \x3d arguments.length;\nswitch (G__9785) {\ncase 2:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,f){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_11609(o,f);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,f,a){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_11609(o,f,a);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (o,f,a,b){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_11609(o,f,a,b);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 \x3d (function (o,f,a,b,xs){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_11609(o,f,a,b,xs);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n/**\n * Protocol for adding volatile functionality.\n * @interface\n */\ncljs.core.IVolatile \x3d function(){};\n\nvar cljs$core$IVolatile$_vreset_BANG_$dyn_11627 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._vreset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._vreset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IVolatile.-vreset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of volatile o to new-value without regard for the\n * current value. Returns new-value.\n */\ncljs.core._vreset_BANG_ \x3d (function cljs$core$_vreset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IVolatile$_vreset_BANG_$dyn_11627(o,new_value);\n}\n});\n\n\n/**\n * Protocol for iterating over a collection.\n * @interface\n */\ncljs.core.IIterable \x3d function(){};\n\nvar cljs$core$IIterable$_iterator$dyn_11628 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._iterator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._iterator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IIterable.-iterator\x22,coll);\n}\n}\n});\n/**\n * Returns an iterator for coll.\n */\ncljs.core._iterator \x3d (function cljs$core$_iterator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIterable$_iterator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIterable$_iterator$arity$1(coll);\n} else {\nreturn cljs$core$IIterable$_iterator$dyn_11628(coll);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ncljs.core.StringBufferWriter \x3d (function (sb){\nthis.sb \x3d sb;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.sb.append(s);\n}));\n\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.StringBufferWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null)], null);\n}));\n\n(cljs.core.StringBufferWriter.cljs$lang$type \x3d true);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorStr \x3d \x22cljs.core/StringBufferWriter\x22);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringBufferWriter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringBufferWriter.\n */\ncljs.core.__GT_StringBufferWriter \x3d (function cljs$core$__GT_StringBufferWriter(sb){\nreturn (new cljs.core.StringBufferWriter(sb));\n});\n\n/**\n * Support so that collections can implement toString without\n * loading all the printing machinery.\n */\ncljs.core.pr_str_STAR_ \x3d (function cljs$core$pr_str_STAR_(obj){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\nobj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\ncljs.core.int_rotate_left \x3d (function cljs$core$int_rotate_left(x,n){\nreturn ((x \x3c\x3c n) | (x \x3e\x3e\x3e (- n)));\n});\nif((((typeof Math !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof Math.imul !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((Math.imul((4294967295),(5)) \x3d\x3d\x3d (0))))))){\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nreturn Math.imul(a,b);\n});\n} else {\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nvar ah \x3d ((a \x3e\x3e\x3e (16)) \x26 (65535));\nvar al \x3d (a \x26 (65535));\nvar bh \x3d ((b \x3e\x3e\x3e (16)) \x26 (65535));\nvar bl \x3d (b \x26 (65535));\nreturn (((al * bl) + ((((ah * bl) + (al * bh)) \x3c\x3c (16)) \x3e\x3e\x3e (0))) | (0));\n});\n}\ncljs.core.m3_seed \x3d (0);\ncljs.core.m3_C1 \x3d ((3432918353) | (0));\ncljs.core.m3_C2 \x3d ((461845907) | (0));\ncljs.core.m3_mix_K1 \x3d (function cljs$core$m3_mix_K1(k1){\nreturn cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);\n});\ncljs.core.m3_mix_H1 \x3d (function cljs$core$m3_mix_H1(h1,k1){\nreturn ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));\n});\ncljs.core.m3_fmix \x3d (function cljs$core$m3_fmix(h1,len){\nvar h1__$1 \x3d (h1 | (0));\nvar h1__$2 \x3d (h1__$1 ^ len);\nvar h1__$3 \x3d (h1__$2 ^ (h1__$2 \x3e\x3e\x3e (16)));\nvar h1__$4 \x3d cljs.core.imul(h1__$3,((2246822507) | (0)));\nvar h1__$5 \x3d (h1__$4 ^ (h1__$4 \x3e\x3e\x3e (13)));\nvar h1__$6 \x3d cljs.core.imul(h1__$5,((3266489909) | (0)));\nreturn (h1__$6 ^ (h1__$6 \x3e\x3e\x3e (16)));\n});\ncljs.core.m3_hash_int \x3d (function cljs$core$m3_hash_int(in$){\nif((in$ \x3d\x3d\x3d (0))){\nreturn in$;\n} else {\nvar k1 \x3d cljs.core.m3_mix_K1(in$);\nvar h1 \x3d cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);\nreturn cljs.core.m3_fmix(h1,(4));\n}\n});\ncljs.core.m3_hash_unencoded_chars \x3d (function cljs$core$m3_hash_unencoded_chars(in$){\nvar h1 \x3d (function (){var i \x3d (1);\nvar h1 \x3d cljs.core.m3_seed;\nwhile(true){\nif((i \x3c in$.length)){\nvar G__11708 \x3d (i + (2));\nvar G__11709 \x3d cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) \x3c\x3c (16)))));\ni \x3d G__11708;\nh1 \x3d G__11709;\ncontinue;\n} else {\nreturn h1;\n}\nbreak;\n}\n})();\nvar h1__$1 \x3d ((((in$.length \x26 (1)) \x3d\x3d\x3d (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);\nreturn cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));\n});\n\n\n\ncljs.core.string_hash_cache \x3d ({});\ncljs.core.string_hash_cache_count \x3d (0);\ncljs.core.hash_string_STAR_ \x3d (function cljs$core$hash_string_STAR_(s){\nif((!((s \x3d\x3d null)))){\nvar len \x3d s.length;\nif((len \x3e (0))){\nvar i \x3d (0);\nvar hash \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__11716 \x3d (i + (1));\nvar G__11717 \x3d (cljs.core.imul((31),hash) + s.charCodeAt(i));\ni \x3d G__11716;\nhash \x3d G__11717;\ncontinue;\n} else {\nreturn hash;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.add_to_string_hash_cache \x3d (function cljs$core$add_to_string_hash_cache(k){\nvar h \x3d cljs.core.hash_string_STAR_(k);\ncljs.core.goog$module$goog$object.set(cljs.core.string_hash_cache,k,h);\n\n(cljs.core.string_hash_cache_count \x3d (cljs.core.string_hash_cache_count + (1)));\n\nreturn h;\n});\ncljs.core.hash_string \x3d (function cljs$core$hash_string(k){\nif((cljs.core.string_hash_cache_count \x3e (255))){\n(cljs.core.string_hash_cache \x3d ({}));\n\n(cljs.core.string_hash_cache_count \x3d (0));\n} else {\n}\n\nif((k \x3d\x3d null)){\nreturn (0);\n} else {\nvar h \x3d (cljs.core.string_hash_cache[k]);\nif(typeof h \x3d\x3d\x3d \x27number\x27){\nreturn h;\n} else {\nreturn cljs.core.add_to_string_hash_cache(k);\n}\n}\n});\n/**\n * Returns the hash code of its argument. Note this is the hash code\n * consistent with \x3d.\n */\ncljs.core.hash \x3d (function cljs$core$hash(o){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (4194304))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IHash$))))?true:false):false)){\nreturn (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));\n} else {\nif(typeof o \x3d\x3d\x3d \x27number\x27){\nif(isFinite(o)){\nreturn (Math.floor(o) % (2147483647));\n} else {\nvar G__9791 \x3d o;\nswitch (G__9791) {\ncase Infinity:\nreturn (2146435072);\n\nbreak;\ncase -Infinity:\nreturn (-1048576);\n\nbreak;\ndefault:\nreturn (2146959360);\n\n}\n}\n} else {\nif(o \x3d\x3d\x3d true){\nreturn (1231);\n} else {\nif(o \x3d\x3d\x3d false){\nreturn (1237);\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.m3_hash_int(cljs.core.hash_string(o));\n} else {\nif((o instanceof Date)){\nreturn (o.valueOf() ^ (0));\n} else {\nif((o \x3d\x3d null)){\nreturn (0);\n} else {\nreturn (cljs.core._hash(o) ^ (0));\n\n}\n}\n}\n}\n}\n}\n}\n});\ncljs.core.hash_combine \x3d (function cljs$core$hash_combine(seed,hash){\nreturn (seed ^ (((hash + (2654435769)) + (seed \x3c\x3c (6))) + (seed \x3e\x3e (2))));\n});\n/**\n * Evaluates x and tests if it is an instance of the type\n * c. Returns true or false\n */\ncljs.core.instance_QMARK_ \x3d (function cljs$core$instance_QMARK_(c,x){\nreturn (x instanceof c);\n});\n/**\n * Return true if x is a Symbol\n */\ncljs.core.symbol_QMARK_ \x3d (function cljs$core$symbol_QMARK_(x){\nreturn (x instanceof cljs.core.Symbol);\n});\ncljs.core.hash_symbol \x3d (function cljs$core$hash_symbol(sym){\nreturn cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));\n});\ncljs.core.compare_symbols \x3d (function cljs$core$compare_symbols(a,b){\nif((a.str \x3d\x3d\x3d b.str)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Symbol \x3d (function (ns,name,str,_hash,_meta){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.str \x3d str;\nthis._hash \x3d _hash;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154168321;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Symbol.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.str;\n}));\n\n(cljs.core.Symbol.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Symbol)){\nreturn (self__.str \x3d\x3d\x3d other.str);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Symbol.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__9793 \x3d (arguments.length - (1));\nswitch (G__9793) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Symbol.prototype.apply \x3d (function (self__,args9792){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args9792)));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$2 ? cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym) : cljs.core.get.call(null,coll,sym));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$3 ? cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found) : cljs.core.get.call(null,coll,sym,not_found));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (sym){\nvar self__ \x3d this;\nvar sym__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_symbol(sym__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,self__.str);\n}));\n\n(cljs.core.Symbol.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Symbol.cljs$lang$type \x3d true);\n\n(cljs.core.Symbol.cljs$lang$ctorStr \x3d \x22cljs.core/Symbol\x22);\n\n(cljs.core.Symbol.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Symbol\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Symbol.\n */\ncljs.core.__GT_Symbol \x3d (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){\nreturn (new cljs.core.Symbol(ns,name,str,_hash,_meta));\n});\n\n/**\n * Returns true if v is of type cljs.core.Var\n */\ncljs.core.var_QMARK_ \x3d (function cljs$core$var_QMARK_(v){\nreturn (v instanceof cljs.core.Var);\n});\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n * on strings, keywords, and vars.\n */\ncljs.core.symbol \x3d (function cljs$core$symbol(var_args){\nvar G__9795 \x3d arguments.length;\nswitch (G__9795) {\ncase 1:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nwhile(true){\nif((name instanceof cljs.core.Symbol)){\nreturn name;\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar idx \x3d name.indexOf(\x22/\x22);\nif((idx \x3c (1))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));\n}\n} else {\nif(cljs.core.var_QMARK_(name)){\nreturn name.sym;\n} else {\nif((name instanceof cljs.core.Keyword)){\nvar G__11767 \x3d name.fqn;\nname \x3d G__11767;\ncontinue;\n} else {\nthrow (new Error(\x22no conversion to symbol\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar sym_str \x3d (((!((ns \x3d\x3d null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27):name);\nreturn (new cljs.core.Symbol(ns,name,sym_str,null,null));\n}));\n\n(cljs.core.symbol.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Var \x3d (function (val,sym,_meta){\nthis.val \x3d val;\nthis.sym \x3d sym;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6717441;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Var.prototype.isMacro \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;\n}));\n\n(cljs.core.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join(\x27\x27);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Var(self__.val,self__.sym,new_meta));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.Var)){\nvar G__9797 \x3d this$__$1.sym;\nvar G__9798 \x3d other.sym;\nreturn (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 ? cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(G__9797,G__9798) : cljs.core._EQ_.call(null,G__9797,G__9798));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash_symbol(self__.sym);\n}));\n\n(cljs.core.Var.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__9799 \x3d (arguments.length - (1));\nswitch (G__9799) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Var.prototype.apply \x3d (function (self__,args9796){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args9796)));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9800 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9800.cljs$core$IFn$_invoke$arity$0 ? fexpr__9800.cljs$core$IFn$_invoke$arity$0() : fexpr__9800.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9801 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9801.cljs$core$IFn$_invoke$arity$1 ? fexpr__9801.cljs$core$IFn$_invoke$arity$1(a) : fexpr__9801.call(null,a));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9802 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9802.cljs$core$IFn$_invoke$arity$2 ? fexpr__9802.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__9802.call(null,a,b));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9803 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9803.cljs$core$IFn$_invoke$arity$3 ? fexpr__9803.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__9803.call(null,a,b,c));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9804 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9804.cljs$core$IFn$_invoke$arity$4 ? fexpr__9804.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__9804.call(null,a,b,c,d));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9805 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9805.cljs$core$IFn$_invoke$arity$5 ? fexpr__9805.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__9805.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9806 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9806.cljs$core$IFn$_invoke$arity$6 ? fexpr__9806.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__9806.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9807 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9807.cljs$core$IFn$_invoke$arity$7 ? fexpr__9807.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__9807.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9808 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9808.cljs$core$IFn$_invoke$arity$8 ? fexpr__9808.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__9808.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9809 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9809.cljs$core$IFn$_invoke$arity$9 ? fexpr__9809.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__9809.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9810 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9810.cljs$core$IFn$_invoke$arity$10 ? fexpr__9810.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__9810.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9811 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9811.cljs$core$IFn$_invoke$arity$11 ? fexpr__9811.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__9811.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9812 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9812.cljs$core$IFn$_invoke$arity$12 ? fexpr__9812.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__9812.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9813 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9813.cljs$core$IFn$_invoke$arity$13 ? fexpr__9813.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__9813.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9814 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9814.cljs$core$IFn$_invoke$arity$14 ? fexpr__9814.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__9814.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9815 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9815.cljs$core$IFn$_invoke$arity$15 ? fexpr__9815.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__9815.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9816 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9816.cljs$core$IFn$_invoke$arity$16 ? fexpr__9816.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__9816.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9817 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9817.cljs$core$IFn$_invoke$arity$17 ? fexpr__9817.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__9817.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9818 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9818.cljs$core$IFn$_invoke$arity$18 ? fexpr__9818.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__9818.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9819 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9819.cljs$core$IFn$_invoke$arity$19 ? fexpr__9819.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__9819.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__9820 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__9820.cljs$core$IFn$_invoke$arity$20 ? fexpr__9820.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__9820.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar G__9821 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nvar G__9822 \x3d a;\nvar G__9823 \x3d b;\nvar G__9824 \x3d c;\nvar G__9825 \x3d d;\nvar G__9826 \x3d e;\nvar G__9827 \x3d f;\nvar G__9828 \x3d g;\nvar G__9829 \x3d h;\nvar G__9830 \x3d i;\nvar G__9831 \x3d j;\nvar G__9832 \x3d k;\nvar G__9833 \x3d l;\nvar G__9834 \x3d m;\nvar G__9835 \x3d n;\nvar G__9836 \x3d o;\nvar G__9837 \x3d p;\nvar G__9838 \x3d q;\nvar G__9839 \x3d r;\nvar G__9840 \x3d s;\nvar G__9841 \x3d t;\nvar G__9842 \x3d rest;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(G__9821,G__9822,G__9823,G__9824,G__9825,G__9826,G__9827,G__9828,G__9829,G__9830,G__9831,G__9832,G__9833,G__9834,G__9835,G__9836,G__9837,G__9838,G__9839,G__9840,G__9841,G__9842) : cljs.core.apply.call(null,G__9821,G__9822,G__9823,G__9824,G__9825,G__9826,G__9827,G__9828,G__9829,G__9830,G__9831,G__9832,G__9833,G__9834,G__9835,G__9836,G__9837,G__9838,G__9839,G__9840,G__9841,G__9842));\n}));\n\n(cljs.core.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Var.cljs$lang$type \x3d true);\n\n(cljs.core.Var.cljs$lang$ctorStr \x3d \x22cljs.core/Var\x22);\n\n(cljs.core.Var.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Var\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Var.\n */\ncljs.core.__GT_Var \x3d (function cljs$core$__GT_Var(val,sym,_meta){\nreturn (new cljs.core.Var(val,sym,_meta));\n});\n\n\n\n/**\n * Return true if x implements IIterable protocol.\n */\ncljs.core.iterable_QMARK_ \x3d (function cljs$core$iterable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIterable$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n}\n});\n/**\n * Return true if x has a JavaScript iterator property\n */\ncljs.core.js_iterable_QMARK_ \x3d (function cljs$core$js_iterable_QMARK_(x){\nreturn (((!((x \x3d\x3d null)))) \x26\x26 ((!((x[cljs.core.ITER_SYMBOL] \x3d\x3d null)))));\n});\n/**\n * Clone the supplied value which must implement ICloneable.\n */\ncljs.core.clone \x3d (function cljs$core$clone(value){\nreturn cljs.core._clone(value);\n});\n/**\n * Return true if x implements ICloneable protocol.\n */\ncljs.core.cloneable_QMARK_ \x3d (function cljs$core$cloneable_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition1$ \x26 (8192))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$ICloneable$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n}\n});\n/**\n * Returns a seq on the collection. If the collection is\n * empty, returns nil. (seq nil) returns nil. seq also works on\n * Strings.\n */\ncljs.core.seq \x3d (function cljs$core$seq(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn coll.cljs$core$ISeqable$_seq$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(cljs.core.js_iterable_QMARK_(coll)){\nvar G__9846 \x3d cljs.core.goog$module$goog$object.get(coll,cljs.core.ITER_SYMBOL).call(coll);\nreturn (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(G__9846) : cljs.core.es6_iterator_seq.call(null,G__9846));\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){\nreturn cljs.core._seq(coll);\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll),\x22 is not ISeqable\x22].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\n/**\n * Returns the first item in the collection. Calls seq on its\n * argument. If coll is nil, returns nil.\n */\ncljs.core.first \x3d (function cljs$core$first(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_first$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._first(s);\n}\n}\n}\n});\n/**\n * Returns a possibly empty seq of the items after the first. Calls seq on its\n * argument.\n */\ncljs.core.rest \x3d (function cljs$core$rest(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif(s){\nreturn s.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a seq of the items after the first. Calls seq on its\n * argument. If there are no more items, returns nil\n */\ncljs.core.next \x3d (function cljs$core$next(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n}\n});\n/**\n * Equality. Returns true if x equals y, false if not. Compares\n * numbers and collections in a type-independent manner. Clojure\x27s immutable data\n * structures define -equiv (and thus \x3d) as a value, not an identity,\n * comparison.\n */\ncljs.core._EQ_ \x3d (function cljs$core$_EQ_(var_args){\nvar G__9854 \x3d arguments.length;\nswitch (G__9854) {\ncase 1:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11796 \x3d arguments.length;\nvar i__5770__auto___11797 \x3d (0);\nwhile(true){\nif((i__5770__auto___11797 \x3c len__5769__auto___11796)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11797]));\n\nvar G__11798 \x3d (i__5770__auto___11797 + (1));\ni__5770__auto___11797 \x3d G__11798;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nif((x \x3d\x3d null)){\nreturn (y \x3d\x3d null);\n} else {\nreturn (((x \x3d\x3d\x3d y)) || (cljs.core._equiv(x,y)));\n}\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\nif(cljs.core.next(more)){\nvar G__11799 \x3d y;\nvar G__11800 \x3d cljs.core.first(more);\nvar G__11801 \x3d cljs.core.next(more);\nx \x3d G__11799;\ny \x3d G__11800;\nmore \x3d G__11801;\ncontinue;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ_.cljs$lang$applyTo \x3d (function (seq9851){\nvar G__9852 \x3d cljs.core.first(seq9851);\nvar seq9851__$1 \x3d cljs.core.next(seq9851);\nvar G__9853 \x3d cljs.core.first(seq9851__$1);\nvar seq9851__$2 \x3d cljs.core.next(seq9851__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9852,G__9853,seq9851__$2);\n}));\n\n(cljs.core._EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6Iterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6Iterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: x, \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6Iterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6Iterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6Iterator\x22);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6Iterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6Iterator.\n */\ncljs.core.__GT_ES6Iterator \x3d (function cljs$core$__GT_ES6Iterator(s){\nreturn (new cljs.core.ES6Iterator(s));\n});\n\n/**\n * EXPERIMENTAL: Return a ES2015 compatible iterator for coll.\n */\ncljs.core.es6_iterator \x3d (function cljs$core$es6_iterator(coll){\nreturn (new cljs.core.ES6Iterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n*/\ncljs.core.ES6IteratorSeq \x3d (function (value,iter,_rest){\nthis.value \x3d value;\nthis.iter \x3d iter;\nthis._rest \x3d _rest;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8388672;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.value;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((self__._rest \x3d\x3d null)){\n(self__._rest \x3d (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(self__.iter) : cljs.core.es6_iterator_seq.call(null,self__.iter)));\n} else {\n}\n\nreturn self__._rest;\n}));\n\n(cljs.core.ES6IteratorSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_rest\x22,\x22_rest\x22,-2100466189,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6IteratorSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ES6IteratorSeq\x22);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6IteratorSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6IteratorSeq.\n */\ncljs.core.__GT_ES6IteratorSeq \x3d (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){\nreturn (new cljs.core.ES6IteratorSeq(value,iter,_rest));\n});\n\n/**\n * EXPERIMENTAL: Given an ES2015 compatible iterator return a seq.\n */\ncljs.core.es6_iterator_seq \x3d (function cljs$core$es6_iterator_seq(iter){\nvar v \x3d iter.next();\nif(cljs.core.truth_(v.done)){\nreturn null;\n} else {\nreturn (new cljs.core.ES6IteratorSeq(v.value,iter,null));\n}\n});\n/**\n * Mix final collection hash for ordered or unordered collections.\n * hash-basis is the combined collection hash, count is the number\n * of elements included in the basis. Note this is the hash code\n * consistent with \x3d, different from .hashCode.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.mix_collection_hash \x3d (function cljs$core$mix_collection_hash(hash_basis,count){\nvar h1 \x3d cljs.core.m3_seed;\nvar k1 \x3d cljs.core.m3_mix_K1(hash_basis);\nvar h1__$1 \x3d cljs.core.m3_mix_H1(h1,k1);\nreturn cljs.core.m3_fmix(h1__$1,count);\n});\n/**\n * Returns the hash code, consistent with \x3d, for an external ordered\n * collection implementing Iterable.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_ordered_coll \x3d (function cljs$core$hash_ordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (1);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__11805 \x3d (n + (1));\nvar G__11806 \x3d ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__11807 \x3d cljs.core.next(coll__$1);\nn \x3d G__11805;\nhash_code \x3d G__11806;\ncoll__$1 \x3d G__11807;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_ordered_hash \x3d cljs.core.mix_collection_hash((1),(0));\n/**\n * Returns the hash code, consistent with \x3d, for an external unordered\n * collection implementing Iterable. For maps, the iterator should\n * return map entries whose hash is computed as\n * (hash-ordered-coll [k v]).\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_unordered_coll \x3d (function cljs$core$hash_unordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (0);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__11808 \x3d (n + (1));\nvar G__11809 \x3d ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__11810 \x3d cljs.core.next(coll__$1);\nn \x3d G__11808;\nhash_code \x3d G__11809;\ncoll__$1 \x3d G__11810;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_unordered_hash \x3d cljs.core.mix_collection_hash((0),(0));\n\n\n(cljs.core.ICounted[\x22null\x22] \x3d true);\n\n(cljs.core._count[\x22null\x22] \x3d (function (_){\nreturn (0);\n}));\n(Date.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar o__$1 \x3d this;\nreturn (((other instanceof Date)) \x26\x26 ((o__$1.valueOf() \x3d\x3d\x3d other.valueOf())));\n}));\n\n(Date.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof Date)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(this$__$1.valueOf(),other.valueOf());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n/**\n * @interface\n */\ncljs.core.Inst \x3d function(){};\n\nvar cljs$core$Inst$inst_ms_STAR_$dyn_11811 \x3d (function (inst){\nvar x__5393__auto__ \x3d (((inst \x3d\x3d null))?null:inst);\nvar m__5394__auto__ \x3d (cljs.core.inst_ms_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5394__auto__.call(null,inst));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.inst_ms_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5392__auto__.call(null,inst));\n} else {\nthrow cljs.core.missing_protocol(\x22Inst.inst-ms*\x22,inst);\n}\n}\n});\ncljs.core.inst_ms_STAR_ \x3d (function cljs$core$inst_ms_STAR_(inst){\nif((((!((inst \x3d\x3d null)))) \x26\x26 ((!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d\x3d null)))))){\nreturn inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);\n} else {\nreturn cljs$core$Inst$inst_ms_STAR_$dyn_11811(inst);\n}\n});\n\n(Date.prototype.cljs$core$Inst$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d (function (inst){\nvar inst__$1 \x3d this;\nreturn inst__$1.getTime();\n}));\n/**\n * Return the number of milliseconds since January 1, 1970, 00:00:00 GMT\n */\ncljs.core.inst_ms \x3d (function cljs$core$inst_ms(inst){\nreturn cljs.core.inst_ms_STAR_(inst);\n});\n/**\n * Return true if x satisfies Inst\n */\ncljs.core.inst_QMARK_ \x3d (function cljs$core$inst_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$Inst$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n}\n});\n(cljs.core.IEquiv[\x22number\x22] \x3d true);\n\n(cljs.core._equiv[\x22number\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n(cljs.core.Fn[\x22function\x22] \x3d true);\n\n(cljs.core.IMeta[\x22function\x22] \x3d true);\n\n(cljs.core._meta[\x22function\x22] \x3d (function (_){\nreturn null;\n}));\n(cljs.core.IHash[\x22_\x22] \x3d true);\n\n(cljs.core._hash[\x22_\x22] \x3d (function (o){\nreturn goog.getUid(o);\n}));\n/**\n * Returns a number one greater than num.\n */\ncljs.core.inc \x3d (function cljs$core$inc(x){\nreturn (x + (1));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Reduced \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (o){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Reduced.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.Reduced.cljs$lang$type \x3d true);\n\n(cljs.core.Reduced.cljs$lang$ctorStr \x3d \x22cljs.core/Reduced\x22);\n\n(cljs.core.Reduced.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Reduced\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Reduced.\n */\ncljs.core.__GT_Reduced \x3d (function cljs$core$__GT_Reduced(val){\nreturn (new cljs.core.Reduced(val));\n});\n\n/**\n * Wraps x in a way such that a reduce will terminate with the value x\n */\ncljs.core.reduced \x3d (function cljs$core$reduced(x){\nreturn (new cljs.core.Reduced(x));\n});\n/**\n * Returns true if x is the result of a call to reduced\n */\ncljs.core.reduced_QMARK_ \x3d (function cljs$core$reduced_QMARK_(r){\nreturn (r instanceof cljs.core.Reduced);\n});\n/**\n * If x is already reduced?, returns it, else returns (reduced x)\n */\ncljs.core.ensure_reduced \x3d (function cljs$core$ensure_reduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn x;\n} else {\nreturn cljs.core.reduced(x);\n}\n});\n/**\n * If x is reduced?, returns (deref x), else returns x\n */\ncljs.core.unreduced \x3d (function cljs$core$unreduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn (cljs.core.deref.cljs$core$IFn$_invoke$arity$1 ? cljs.core.deref.cljs$core$IFn$_invoke$arity$1(x) : cljs.core.deref.call(null,x));\n} else {\nreturn x;\n}\n});\n/**\n * Also reader macro: @var/@atom/@delay. Returns the\n * most-recently-committed value of ref. When applied to a var\n * or atom, returns its current state. When applied to a delay, forces\n * it if not already forced. See also - realized?.\n */\ncljs.core.deref \x3d (function cljs$core$deref(o){\nreturn cljs.core._deref(o);\n});\n/**\n * Accepts any collection which satisfies the ICount and IIndexed protocols and\n * reduces them without incurring seq initialization\n */\ncljs.core.ci_reduce \x3d (function cljs$core$ci_reduce(var_args){\nvar G__9857 \x3d arguments.length;\nswitch (G__9857) {\ncase 2:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (cicoll,f){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nif((cnt \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__9858 \x3d val;\nvar G__9859 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9858,G__9859) : f.call(null,G__9858,G__9859));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11813 \x3d nval;\nvar G__11814 \x3d (n + (1));\nval \x3d G__11813;\nn \x3d G__11814;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (cicoll,f,val){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__9860 \x3d val__$1;\nvar G__9861 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9860,G__9861) : f.call(null,G__9860,G__9861));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11815 \x3d nval;\nvar G__11816 \x3d (n + (1));\nval__$1 \x3d G__11815;\nn \x3d G__11816;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ci_reduce.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.array_reduce \x3d (function cljs$core$array_reduce(var_args){\nvar G__9863 \x3d arguments.length;\nswitch (G__9863) {\ncase 2:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,f){\nvar cnt \x3d arr.length;\nif((arr.length \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d (arr[(0)]);\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__9864 \x3d val;\nvar G__9865 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9864,G__9865) : f.call(null,G__9864,G__9865));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11818 \x3d nval;\nvar G__11819 \x3d (n + (1));\nval \x3d G__11818;\nn \x3d G__11819;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,f,val){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__9866 \x3d val__$1;\nvar G__9867 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9866,G__9867) : f.call(null,G__9866,G__9867));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11820 \x3d nval;\nvar G__11821 \x3d (n + (1));\nval__$1 \x3d G__11820;\nn \x3d G__11821;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (arr,f,val,idx){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d idx;\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__9868 \x3d val__$1;\nvar G__9869 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9868,G__9869) : f.call(null,G__9868,G__9869));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11822 \x3d nval;\nvar G__11823 \x3d (n + (1));\nval__$1 \x3d G__11822;\nn \x3d G__11823;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$lang$maxFixedArity \x3d 4);\n\n\n\n\n\n\n\n/**\n * Returns true if coll implements count in constant time\n */\ncljs.core.counted_QMARK_ \x3d (function cljs$core$counted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICounted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n}\n});\n/**\n * Returns true if coll implements nth in constant time\n */\ncljs.core.indexed_QMARK_ \x3d (function cljs$core$indexed_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIndexed$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n}\n});\ncljs.core._indexOf \x3d (function cljs$core$_indexOf(var_args){\nvar G__9873 \x3d arguments.length;\nswitch (G__9873) {\ncase 2:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n}));\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((start \x3e\x3d len)){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?start:(((start \x3c (0)))?(function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (start + len);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():start\n));\nwhile(true){\nif((idx \x3c len)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__11829 \x3d (idx + (1));\nidx \x3d G__11829;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._indexOf.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core._lastIndexOf \x3d (function cljs$core$_lastIndexOf(var_args){\nvar G__9875 \x3d arguments.length;\nswitch (G__9875) {\ncase 2:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n}));\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((len \x3d\x3d\x3d (0))){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?(function (){var x__5133__auto__ \x3d (len - (1));\nvar y__5134__auto__ \x3d start;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})():(((start \x3c (0)))?(len + start):start\n));\nwhile(true){\nif((idx \x3e\x3d (0))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__11831 \x3d (idx - (1));\nidx \x3d G__11831;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._lastIndexOf.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.IndexedSeqIterator \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.IndexedSeqIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.IndexedSeqIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.IndexedSeqIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IndexedSeqIterator.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeqIterator\x22);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeqIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeqIterator.\n */\ncljs.core.__GT_IndexedSeqIterator \x3d (function cljs$core$__GT_IndexedSeqIterator(arr,i){\nreturn (new cljs.core.IndexedSeqIterator(arr,i));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IndexedSeq \x3d (function (arr,i,meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166592766;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.IndexedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IndexedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IndexedSeq.prototype.indexOf \x3d (function() {\nvar G__11832 \x3d null;\nvar G__11832__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__11832__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__11832 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__11832__1.call(this,x);\ncase 2:\nreturn G__11832__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11832.cljs$core$IFn$_invoke$arity$1 \x3d G__11832__1;\nG__11832.cljs$core$IFn$_invoke$arity$2 \x3d G__11832__2;\nreturn G__11832;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__11833 \x3d null;\nvar G__11833__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__11833__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__11833 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__11833__1.call(this,x);\ncase 2:\nreturn G__11833__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11833.cljs$core$IFn$_invoke$arity$1 \x3d G__11833__1;\nG__11833.cljs$core$IFn$_invoke$arity$2 \x3d G__11833__2;\nreturn G__11833;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (self__.arr.length - self__.i);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar c \x3d coll__$1.cljs$core$ICounted$_count$arity$1(null);\nif((c \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(c - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.arr[self__.i]);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.i \x3c self__.arr.length)){\nreturn this$__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.IndexedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.IndexedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeq\x22);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeq.\n */\ncljs.core.__GT_IndexedSeq \x3d (function cljs$core$__GT_IndexedSeq(arr,i,meta){\nreturn (new cljs.core.IndexedSeq(arr,i,meta));\n});\n\n(cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Create seq from a primitive JavaScript Array-like.\n */\ncljs.core.prim_seq \x3d (function cljs$core$prim_seq(var_args){\nvar G__9877 \x3d arguments.length;\nswitch (G__9877) {\ncase 1:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (prim){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));\n}));\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (prim,i){\nif((i \x3c prim.length)){\nreturn (new cljs.core.IndexedSeq(prim,i,null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prim_seq.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Create a seq from a JavaScript array.\n */\ncljs.core.array_seq \x3d (function cljs$core$array_seq(var_args){\nvar G__9879 \x3d arguments.length;\nswitch (G__9879) {\ncase 1:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (array){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));\n}));\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,i){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);\n}));\n\n(cljs.core.array_seq.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RSeq \x3d (function (ci,i,meta){\nthis.ci \x3d ci;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.RSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.RSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.RSeq.prototype.indexOf \x3d (function() {\nvar G__11837 \x3d null;\nvar G__11837__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__11837__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__11837 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__11837__1.call(this,x);\ncase 2:\nreturn G__11837__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11837.cljs$core$IFn$_invoke$arity$1 \x3d G__11837__1;\nG__11837.cljs$core$IFn$_invoke$arity$2 \x3d G__11837__2;\nreturn G__11837;\n})()\n);\n\n(cljs.core.RSeq.prototype.lastIndexOf \x3d (function() {\nvar G__11838 \x3d null;\nvar G__11838__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__11838__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__11838 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__11838__1.call(this,x);\ncase 2:\nreturn G__11838__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11838.cljs$core$IFn$_invoke$arity$1 \x3d G__11838__1;\nG__11838.cljs$core$IFn$_invoke$arity$2 \x3d G__11838__2;\nreturn G__11838;\n})()\n);\n\n(cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.i + (1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (col,f){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1) : cljs.core.seq_reduce.call(null,f,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (col,f,start){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1) : cljs.core.seq_reduce.call(null,f,start,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.ci,self__.i);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.RSeq(self__.ci,self__.i,new_meta));\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.RSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ci\x22,\x22ci\x22,2049808339,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.RSeq.cljs$lang$type \x3d true);\n\n(cljs.core.RSeq.cljs$lang$ctorStr \x3d \x22cljs.core/RSeq\x22);\n\n(cljs.core.RSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RSeq.\n */\ncljs.core.__GT_RSeq \x3d (function cljs$core$__GT_RSeq(ci,i,meta){\nreturn (new cljs.core.RSeq(ci,i,meta));\n});\n\n(cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Same as (first (next x))\n */\ncljs.core.second \x3d (function cljs$core$second(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (first (first x))\n */\ncljs.core.ffirst \x3d (function cljs$core$ffirst(coll){\nreturn cljs.core.first(cljs.core.first(coll));\n});\n/**\n * Same as (next (first x))\n */\ncljs.core.nfirst \x3d (function cljs$core$nfirst(coll){\nreturn cljs.core.next(cljs.core.first(coll));\n});\n/**\n * Same as (first (next x))\n */\ncljs.core.fnext \x3d (function cljs$core$fnext(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (next (next x))\n */\ncljs.core.nnext \x3d (function cljs$core$nnext(coll){\nreturn cljs.core.next(cljs.core.next(coll));\n});\n/**\n * Return the last item in coll, in linear time\n */\ncljs.core.last \x3d (function cljs$core$last(s){\nwhile(true){\nvar sn \x3d cljs.core.next(s);\nif((!((sn \x3d\x3d null)))){\nvar G__11839 \x3d sn;\ns \x3d G__11839;\ncontinue;\n} else {\nreturn cljs.core.first(s);\n}\nbreak;\n}\n});\n(cljs.core.IEquiv[\x22_\x22] \x3d true);\n\n(cljs.core._equiv[\x22_\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n/**\n * conj[oin]. Returns a new collection with the xs\n * \x27added\x27. (conj nil item) returns (item).\n * (conj coll) returns coll. (conj) returns [].\n * The \x27addition\x27 may happen at different \x27places\x27 depending\n * on the concrete type.\n */\ncljs.core.conj \x3d (function cljs$core$conj(var_args){\nvar G__9884 \x3d arguments.length;\nswitch (G__9884) {\ncase 0:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11842 \x3d arguments.length;\nvar i__5770__auto___11843 \x3d (0);\nwhile(true){\nif((i__5770__auto___11843 \x3c len__5769__auto___11842)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11843]));\n\nvar G__11844 \x3d (i__5770__auto___11843 + (1));\ni__5770__auto___11843 \x3d G__11844;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._conj(coll,x);\n} else {\nreturn (new cljs.core.List(null,x,null,(1),null));\n}\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,x,xs){\nwhile(true){\nif(cljs.core.truth_(xs)){\nvar G__11845 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\nvar G__11846 \x3d cljs.core.first(xs);\nvar G__11847 \x3d cljs.core.next(xs);\ncoll \x3d G__11845;\nx \x3d G__11846;\nxs \x3d G__11847;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj.cljs$lang$applyTo \x3d (function (seq9881){\nvar G__9882 \x3d cljs.core.first(seq9881);\nvar seq9881__$1 \x3d cljs.core.next(seq9881);\nvar G__9883 \x3d cljs.core.first(seq9881__$1);\nvar seq9881__$2 \x3d cljs.core.next(seq9881__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9882,G__9883,seq9881__$2);\n}));\n\n(cljs.core.conj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns an empty collection of the same category as coll, or nil\n */\ncljs.core.empty \x3d (function cljs$core$empty(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:false):false)){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll))){\nreturn cljs.core._empty(coll);\n} else {\nreturn null;\n\n}\n}\n}\n});\ncljs.core.accumulating_seq_count \x3d (function cljs$core$accumulating_seq_count(coll){\nvar s \x3d cljs.core.seq(coll);\nvar acc \x3d (0);\nwhile(true){\nif(cljs.core.counted_QMARK_(s)){\nreturn (acc + cljs.core._count(s));\n} else {\nvar G__11852 \x3d cljs.core.next(s);\nvar G__11853 \x3d (acc + (1));\ns \x3d G__11852;\nacc \x3d G__11853;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Returns the number of items in the collection. (count nil) returns\n * 0. Also works on strings, arrays, and Maps\n */\ncljs.core.count \x3d (function cljs$core$count(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:false):false)){\nreturn coll.cljs$core$ICounted$_count$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn coll.length;\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn coll.length;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn cljs.core.accumulating_seq_count(coll);\n} else {\nreturn cljs.core._count(coll);\n\n}\n}\n}\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.linear_traversal_nth \x3d (function cljs$core$linear_traversal_nth(var_args){\nvar G__9890 \x3d arguments.length;\nswitch (G__9890) {\ncase 2:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nwhile(true){\nif((coll \x3d\x3d null)){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nif(cljs.core.seq(coll)){\nvar G__11855 \x3d cljs.core.next(coll);\nvar G__11856 \x3d (n - (1));\ncoll \x3d G__11855;\nn \x3d G__11856;\ncontinue;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nif(cljs.core.seq(coll)){\nvar G__11857 \x3d cljs.core.next(coll);\nvar G__11858 \x3d (n - (1));\nvar G__11859 \x3d not_found;\ncoll \x3d G__11857;\nn \x3d G__11858;\nnot_found \x3d G__11859;\ncontinue;\n} else {\nreturn not_found;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the value at the index. get returns nil if index out of\n * bounds, nth throws an exception unless not-found is supplied. nth\n * also works for strings, arrays, regex Matchers and Lists, and,\n * in O(n) time, for sequences.\n */\ncljs.core.nth \x3d (function cljs$core$nth(var_args){\nvar G__9892 \x3d arguments.length;\nswitch (G__9892) {\ncase 2:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn coll;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number.\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nreturn not_found;\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the nth rest of coll, coll when n is 0.\n */\ncljs.core.nthrest \x3d (function cljs$core$nthrest(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d coll;\nwhile(true){\nvar temp__5802__auto__ \x3d (((n__$1 \x3e (0))) \x26\x26 (cljs.core.seq(xs)));\nif(temp__5802__auto__){\nvar xs__$1 \x3d temp__5802__auto__;\nvar G__11861 \x3d (n__$1 - (1));\nvar G__11862 \x3d cljs.core.rest(xs__$1);\nn__$1 \x3d G__11861;\nxs \x3d G__11862;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * Returns the value mapped to key, not-found or nil if key not present\n * in associative collection, set, string, array, or ILookup instance.\n */\ncljs.core.get \x3d (function cljs$core$get(var_args){\nvar G__9900 \x3d arguments.length;\nswitch (G__9900) {\ncase 2:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$2(null,k);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 ((k \x3c o.length)))){\nreturn (o[(k | (0))]);\n} else {\nreturn null;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k);\n} else {\nreturn null;\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((!((o \x3d\x3d null)))){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn (o[(k | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}\n}\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.get.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * assoc[iate]. When applied to a map, returns a new map of the\n * same (hashed/sorted) type, that contains the mapping of key(s) to\n * val(s). When applied to a vector, returns a new vector that\n * contains val at index. Note - index must be \x3c\x3d (count vector).\n */\ncljs.core.assoc \x3d (function cljs$core$assoc(var_args){\nvar G__9908 \x3d arguments.length;\nswitch (G__9908) {\ncase 3:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11865 \x3d arguments.length;\nvar i__5770__auto___11866 \x3d (0);\nwhile(true){\nif((i__5770__auto___11866 \x3c len__5769__auto___11865)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11866]));\n\nvar G__11867 \x3d (i__5770__auto___11866 + (1));\ni__5770__auto___11866 \x3d G__11867;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,k,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(null,k,v);\n} else {\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._assoc(coll,k,v);\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);\n}\n}\n}));\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,v,kvs){\nwhile(true){\nvar ret \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);\nif(cljs.core.truth_(kvs)){\nvar G__11868 \x3d ret;\nvar G__11869 \x3d cljs.core.first(kvs);\nvar G__11870 \x3d cljs.core.second(kvs);\nvar G__11871 \x3d cljs.core.nnext(kvs);\ncoll \x3d G__11868;\nk \x3d G__11869;\nv \x3d G__11870;\nkvs \x3d G__11871;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc.cljs$lang$applyTo \x3d (function (seq9904){\nvar G__9905 \x3d cljs.core.first(seq9904);\nvar seq9904__$1 \x3d cljs.core.next(seq9904);\nvar G__9906 \x3d cljs.core.first(seq9904__$1);\nvar seq9904__$2 \x3d cljs.core.next(seq9904__$1);\nvar G__9907 \x3d cljs.core.first(seq9904__$2);\nvar seq9904__$3 \x3d cljs.core.next(seq9904__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9905,G__9906,G__9907,seq9904__$3);\n}));\n\n(cljs.core.assoc.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\n * that does not contain a mapping for key(s).\n */\ncljs.core.dissoc \x3d (function cljs$core$dissoc(var_args){\nvar G__9914 \x3d arguments.length;\nswitch (G__9914) {\ncase 1:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11873 \x3d arguments.length;\nvar i__5770__auto___11874 \x3d (0);\nwhile(true){\nif((i__5770__auto___11874 \x3c len__5769__auto___11873)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11874]));\n\nvar G__11875 \x3d (i__5770__auto___11874 + (1));\ni__5770__auto___11874 \x3d G__11875;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._dissoc(coll,k);\n}\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__11876 \x3d ret;\nvar G__11877 \x3d cljs.core.first(ks);\nvar G__11878 \x3d cljs.core.next(ks);\ncoll \x3d G__11876;\nk \x3d G__11877;\nks \x3d G__11878;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc.cljs$lang$applyTo \x3d (function (seq9911){\nvar G__9912 \x3d cljs.core.first(seq9911);\nvar seq9911__$1 \x3d cljs.core.next(seq9911);\nvar G__9913 \x3d cljs.core.first(seq9911__$1);\nvar seq9911__$2 \x3d cljs.core.next(seq9911__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9912,G__9913,seq9911__$2);\n}));\n\n(cljs.core.dissoc.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return true if f is a JavaScript function or satisfies the Fn protocol.\n */\ncljs.core.fn_QMARK_ \x3d (function cljs$core$fn_QMARK_(f){\nvar or__5045__auto__ \x3d typeof f \x3d\x3d\x3d \x27function\x27;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$Fn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.MetaFn \x3d (function (afn,meta){\nthis.afn \x3d afn;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393217;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.MetaFn(self__.afn,new_meta));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MetaFn.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__9917 \x3d (arguments.length - (1));\nswitch (G__9917) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MetaFn.prototype.apply \x3d (function (self__,args9916){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args9916)));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : cljs.core.apply.call(null,self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n}));\n\n(cljs.core.MetaFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22afn\x22,\x22afn\x22,216963467,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.MetaFn.cljs$lang$type \x3d true);\n\n(cljs.core.MetaFn.cljs$lang$ctorStr \x3d \x22cljs.core/MetaFn\x22);\n\n(cljs.core.MetaFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MetaFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MetaFn.\n */\ncljs.core.__GT_MetaFn \x3d (function cljs$core$__GT_MetaFn(afn,meta){\nreturn (new cljs.core.MetaFn(afn,meta));\n});\n\n/**\n * Returns an object of the same type and value as obj, with\n * map m as its metadata.\n */\ncljs.core.with_meta \x3d (function cljs$core$with_meta(o,meta){\nif(typeof o \x3d\x3d\x3d \x27function\x27){\nreturn (new cljs.core.MetaFn(o,meta));\n} else {\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._with_meta(o,meta);\n}\n}\n});\n/**\n * Returns the metadata of obj, returns nil if there is no metadata.\n */\ncljs.core.meta \x3d (function cljs$core$meta(o){\nif((function (){var and__5043__auto__ \x3d (!((o \x3d\x3d null)));\nif(and__5043__auto__){\nif((!((o \x3d\x3d null)))){\nif((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$)))){\nreturn true;\n} else {\nif((!o.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n}\n} else {\nreturn and__5043__auto__;\n}\n})()){\nreturn cljs.core._meta(o);\n} else {\nreturn null;\n}\n});\n/**\n * For a list or queue, same as first, for a vector, same as, but much\n * more efficient than, last. If the collection is empty, returns nil.\n */\ncljs.core.peek \x3d (function cljs$core$peek(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._peek(coll);\n}\n});\n/**\n * For a list or queue, returns a new list/queue without the first\n * item, for a vector, returns a new vector without the last item.\n * Note - not the same as next/butlast.\n */\ncljs.core.pop \x3d (function cljs$core$pop(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._pop(coll);\n}\n});\n/**\n * disj[oin]. Returns a new set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj \x3d (function cljs$core$disj(var_args){\nvar G__9923 \x3d arguments.length;\nswitch (G__9923) {\ncase 1:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11882 \x3d arguments.length;\nvar i__5770__auto___11883 \x3d (0);\nwhile(true){\nif((i__5770__auto___11883 \x3c len__5769__auto___11882)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11883]));\n\nvar G__11884 \x3d (i__5770__auto___11883 + (1));\ni__5770__auto___11883 \x3d G__11884;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._disjoin(coll,k);\n}\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__11885 \x3d ret;\nvar G__11886 \x3d cljs.core.first(ks);\nvar G__11887 \x3d cljs.core.next(ks);\ncoll \x3d G__11885;\nk \x3d G__11886;\nks \x3d G__11887;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj.cljs$lang$applyTo \x3d (function (seq9920){\nvar G__9921 \x3d cljs.core.first(seq9920);\nvar seq9920__$1 \x3d cljs.core.next(seq9920);\nvar G__9922 \x3d cljs.core.first(seq9920__$1);\nvar seq9920__$2 \x3d cljs.core.next(seq9920__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9921,G__9922,seq9920__$2);\n}));\n\n(cljs.core.disj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if coll has no items - same as (not (seq coll)).\n * Please use the idiom (seq x) rather than (not (empty? x))\n */\ncljs.core.empty_QMARK_ \x3d (function cljs$core$empty_QMARK_(coll){\nreturn (((coll \x3d\x3d null)) || (cljs.core.not(cljs.core.seq(coll))));\n});\n/**\n * Returns true if x satisfies ICollection\n */\ncljs.core.coll_QMARK_ \x3d (function cljs$core$coll_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (8))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICollection$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n}\n}\n});\n/**\n * Returns true if x satisfies ISet\n */\ncljs.core.set_QMARK_ \x3d (function cljs$core$set_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n}\n}\n});\n/**\n * Returns true if coll implements IAssociative\n */\ncljs.core.associative_QMARK_ \x3d (function cljs$core$associative_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IAssociative$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n}\n});\n/**\n * Returns true if coll implements IFind\n */\ncljs.core.ifind_QMARK_ \x3d (function cljs$core$ifind_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IFind$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n}\n});\n/**\n * Returns true if coll satisfies ISequential\n */\ncljs.core.sequential_QMARK_ \x3d (function cljs$core$sequential_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n}\n});\n/**\n * Returns true if coll satisfies ISorted\n */\ncljs.core.sorted_QMARK_ \x3d (function cljs$core$sorted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (268435456))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISorted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n}\n});\n/**\n * Returns true if coll satisfies IReduce\n */\ncljs.core.reduceable_QMARK_ \x3d (function cljs$core$reduceable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IReduce$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n}\n});\n/**\n * Return true if x satisfies IMap\n */\ncljs.core.map_QMARK_ \x3d (function cljs$core$map_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n}\n}\n});\n/**\n * Return true if x satisfies IRecord\n */\ncljs.core.record_QMARK_ \x3d (function cljs$core$record_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n}\n});\n/**\n * Return true if x satisfies IVector\n */\ncljs.core.vector_QMARK_ \x3d (function cljs$core$vector_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IVector$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n}\n});\n\n/**\n * Return true if x satisfies IChunkedSeq.\n */\ncljs.core.chunked_seq_QMARK_ \x3d (function cljs$core$chunked_seq_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IChunkedSeq$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Create JavaSript object from an even number arguments representing\n * interleaved keys and values.\n */\ncljs.core.js_obj \x3d (function cljs$core$js_obj(var_args){\nvar G__9937 \x3d arguments.length;\nswitch (G__9937) {\ncase 0:\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11890 \x3d arguments.length;\nvar i__5770__auto___11891 \x3d (0);\nwhile(true){\nif((i__5770__auto___11891 \x3c len__5769__auto___11890)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11891]));\n\nvar G__11892 \x3d (i__5770__auto___11891 + (1));\ni__5770__auto___11891 \x3d G__11892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn ({});\n}));\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.goog$module$goog$object.create,keyvals) : cljs.core.apply.call(null,cljs.core.goog$module$goog$object.create,keyvals));\n}));\n\n/** @this {Function} */\n(cljs.core.js_obj.cljs$lang$applyTo \x3d (function (seq9936){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq9936));\n}));\n\n(cljs.core.js_obj.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Return the JavaScript keys for an object.\n */\ncljs.core.js_keys \x3d (function cljs$core$js_keys(obj){\nreturn cljs.core.goog$module$goog$object.getKeys(obj);\n});\n/**\n * Delete a property from a JavaScript object.\n * Returns true upon success, false otherwise.\n */\ncljs.core.js_delete \x3d (function cljs$core$js_delete(obj,key){\nreturn delete obj[key];\n});\ncljs.core.array_copy \x3d (function cljs$core$array_copy(from,i,to,j,len){\nvar i__$1 \x3d i;\nvar j__$1 \x3d j;\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__11893 \x3d (i__$1 + (1));\nvar G__11894 \x3d (j__$1 + (1));\nvar G__11895 \x3d (len__$1 - (1));\ni__$1 \x3d G__11893;\nj__$1 \x3d G__11894;\nlen__$1 \x3d G__11895;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.array_copy_downward \x3d (function cljs$core$array_copy_downward(from,i,to,j,len){\nvar i__$1 \x3d (i + (len - (1)));\nvar j__$1 \x3d (j + (len - (1)));\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__11902 \x3d (i__$1 - (1));\nvar G__11903 \x3d (j__$1 - (1));\nvar G__11904 \x3d (len__$1 - (1));\ni__$1 \x3d G__11902;\nj__$1 \x3d G__11903;\nlen__$1 \x3d G__11904;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.lookup_sentinel \x3d ({});\n/**\n * Returns true if x is the value false, false otherwise.\n */\ncljs.core.false_QMARK_ \x3d (function cljs$core$false_QMARK_(x){\nreturn x \x3d\x3d\x3d false;\n});\n/**\n * Returns true if x is the value true, false otherwise.\n */\ncljs.core.true_QMARK_ \x3d (function cljs$core$true_QMARK_(x){\nreturn x \x3d\x3d\x3d true;\n});\n/**\n * Return true if x is a Boolean\n */\ncljs.core.boolean_QMARK_ \x3d (function cljs$core$boolean_QMARK_(x){\nreturn ((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false));\n});\n/**\n * Returns true if x identical to the JavaScript undefined value.\n */\ncljs.core.undefined_QMARK_ \x3d (function cljs$core$undefined_QMARK_(x){\nreturn (void 0 \x3d\x3d\x3d x);\n});\n/**\n * Return true if s satisfies ISeq\n */\ncljs.core.seq_QMARK_ \x3d (function cljs$core$seq_QMARK_(s){\nif((s \x3d\x3d null)){\nreturn false;\n} else {\nif((!((s \x3d\x3d null)))){\nif((((s.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeq$)))){\nreturn true;\n} else {\nif((!s.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n}\n}\n});\n/**\n * Return true if the seq function is supported for s\n */\ncljs.core.seqable_QMARK_ \x3d (function cljs$core$seqable_QMARK_(s){\nvar or__5045__auto__ \x3d (s \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeqable$))))?true:(((!s.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn ((cljs.core.array_QMARK_(s)) || (typeof s \x3d\x3d\x3d \x27string\x27));\n}\n}\n});\n/**\n * Coerce to boolean\n */\ncljs.core.boolean$ \x3d (function cljs$core$boolean(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n});\n/**\n * Returns true if f returns true for fn? or satisfies IFn.\n */\ncljs.core.ifn_QMARK_ \x3d (function cljs$core$ifn_QMARK_(f){\nvar or__5045__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif((((f.cljs$lang$protocol_mask$partition0$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$IFn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n}\n}\n});\n/**\n * Returns true if n is a JavaScript number with no decimal part.\n */\ncljs.core.integer_QMARK_ \x3d (function cljs$core$integer_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))));\n});\n/**\n * INTERNAL: do not use\n */\ncljs.core.LongImpl \x3d cljs.core.goog$module$goog$math$Long;\n/**\n * Return true if x satisfies integer? or is an instance of goog.math.Integer\n * or goog.math.Long.\n */\ncljs.core.int_QMARK_ \x3d (function cljs$core$int_QMARK_(x){\nreturn ((cljs.core.integer_QMARK_(x)) || ((((x instanceof goog.math.Integer)) || ((x instanceof cljs.core.goog$module$goog$math$Long)))));\n});\n/**\n * Return true if x satisfies int? and is positive.\n */\ncljs.core.pos_int_QMARK_ \x3d (function cljs$core$pos_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3e (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is negative.\n */\ncljs.core.neg_int_QMARK_ \x3d (function cljs$core$neg_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3c (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn x.isNegative();\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn x.isNegative();\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is a natural integer value.\n */\ncljs.core.nat_int_QMARK_ \x3d (function cljs$core$nat_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (!((x \x3c (0))));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn cljs.core.not(x.isNegative());\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn cljs.core.not(x.isNegative());\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.float_QMARK_ \x3d (function cljs$core$float_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.double_QMARK_ \x3d (function cljs$core$double_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for Infinity and -Infinity values.\n */\ncljs.core.infinite_QMARK_ \x3d (function cljs$core$infinite_QMARK_(x){\nreturn (((x \x3d\x3d\x3d Number.POSITIVE_INFINITY)) || ((x \x3d\x3d\x3d Number.NEGATIVE_INFINITY)));\n});\n/**\n * Returns true if key is present in the given collection, otherwise\n * returns false. Note that for numerically indexed collections like\n * vectors and arrays, this tests if the numeric key is within the\n * range of indexes. \x27contains?\x27 operates constant or logarithmic time;\n * it will not perform a linear search for a value. See also \x27some\x27.\n */\ncljs.core.contains_QMARK_ \x3d (function cljs$core$contains_QMARK_(coll,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(null,v);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,coll)){\nreturn cljs.core._contains_key_QMARK_(coll,v);\n} else {\nif((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core.find \x3d (function cljs$core$find(coll,k){\nif(cljs.core.ifind_QMARK_(coll)){\nreturn cljs.core._find(coll,k);\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 (((cljs.core.associative_QMARK_(coll)) \x26\x26 (cljs.core.contains_QMARK_(coll,k)))))){\nreturn (new cljs.core.MapEntry(k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k),null));\n} else {\nreturn null;\n}\n}\n});\n/**\n * Returns true if no two of the arguments are \x3d\n */\ncljs.core.distinct_QMARK_ \x3d (function cljs$core$distinct_QMARK_(var_args){\nvar G__9950 \x3d arguments.length;\nswitch (G__9950) {\ncase 1:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11915 \x3d arguments.length;\nvar i__5770__auto___11916 \x3d (0);\nwhile(true){\nif((i__5770__auto___11916 \x3c len__5769__auto___11915)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11916]));\n\nvar G__11917 \x3d (i__5770__auto___11916 + (1));\ni__5770__auto___11916 \x3d G__11917;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)))){\nvar s \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);\nvar xs \x3d more;\nwhile(true){\nvar x__$1 \x3d cljs.core.first(xs);\nvar etc \x3d cljs.core.next(xs);\nif(cljs.core.truth_(xs)){\nif(cljs.core.contains_QMARK_(s,x__$1)){\nreturn false;\n} else {\nvar G__11918 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);\nvar G__11919 \x3d etc;\ns \x3d G__11918;\nxs \x3d G__11919;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.distinct_QMARK_.cljs$lang$applyTo \x3d (function (seq9947){\nvar G__9948 \x3d cljs.core.first(seq9947);\nvar seq9947__$1 \x3d cljs.core.next(seq9947);\nvar G__9949 \x3d cljs.core.first(seq9947__$1);\nvar seq9947__$2 \x3d cljs.core.next(seq9947__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9948,G__9949,seq9947__$2);\n}));\n\n(cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Comparator. Returns a negative number, zero, or a positive number\n * when x is logically \x27less than\x27, \x27equal to\x27, or \x27greater than\x27\n * y. Uses IComparable if available and google.array.defaultCompare for objects\n * of the same type and special-cases nil to be less than any other object.\n */\ncljs.core.compare \x3d (function cljs$core$compare(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn (0);\n} else {\nif((x \x3d\x3d null)){\nreturn (-1);\n} else {\nif((y \x3d\x3d null)){\nreturn (1);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nif(typeof y \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IComparable$))))?true:(((!x.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x))){\nreturn cljs.core._compare(x,y);\n} else {\nif(((((typeof x \x3d\x3d\x3d \x27string\x27) || (((cljs.core.array_QMARK_(x)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))))))) \x26\x26 ((cljs.core.type(x) \x3d\x3d\x3d cljs.core.type(y))))){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n\n}\n}\n}\n}\n}\n});\n/**\n * Compare indexed collection.\n */\ncljs.core.compare_indexed \x3d (function cljs$core$compare_indexed(var_args){\nvar G__9953 \x3d arguments.length;\nswitch (G__9953) {\ncase 2:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (xs,ys){\nvar xl \x3d cljs.core.count(xs);\nvar yl \x3d cljs.core.count(ys);\nif((xl \x3c yl)){\nreturn (-1);\n} else {\nif((xl \x3e yl)){\nreturn (1);\n} else {\nif((xl \x3d\x3d\x3d (0))){\nreturn (0);\n} else {\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));\n\n}\n}\n}\n}));\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 \x3d (function (xs,ys,len,n){\nwhile(true){\nvar d \x3d cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(xs,n),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ys,n));\nif((((d \x3d\x3d\x3d (0))) \x26\x26 (((n + (1)) \x3c len)))){\nvar G__11922 \x3d xs;\nvar G__11923 \x3d ys;\nvar G__11924 \x3d len;\nvar G__11925 \x3d (n + (1));\nxs \x3d G__11922;\nys \x3d G__11923;\nlen \x3d G__11924;\nn \x3d G__11925;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n}));\n\n(cljs.core.compare_indexed.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Given a fn that might be boolean valued or a comparator,\n * return a fn that is a comparator.\n */\ncljs.core.fn__GT_comparator \x3d (function cljs$core$fn__GT_comparator(f){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){\nreturn cljs.core.compare;\n} else {\nreturn (function (x,y){\nvar r \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\nif(typeof r \x3d\x3d\x3d \x27number\x27){\nreturn r;\n} else {\nif(cljs.core.truth_(r)){\nreturn (-1);\n} else {\nif(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n}\n}\n}\n});\n}\n});\n/**\n * Returns a sorted sequence of the items in coll. Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort \x3d (function cljs$core$sort(var_args){\nvar G__9955 \x3d arguments.length;\nswitch (G__9955) {\ncase 1:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);\n}));\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,coll){\nif(cljs.core.seq(coll)){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.stableSort(a,cljs.core.fn__GT_comparator(comp));\n\nreturn cljs.core.with_meta(cljs.core.seq(a),cljs.core.meta(coll));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sort.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a sorted sequence of the items in coll, where the sort\n * order is determined by comparing (keyfn item). Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort_by \x3d (function cljs$core$sort_by(var_args){\nvar G__9957 \x3d arguments.length;\nswitch (G__9957) {\ncase 2:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (keyfn,coll){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);\n}));\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (keyfn,comp,coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){\nvar G__9959 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));\nvar G__9960 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));\nvar fexpr__9958 \x3d cljs.core.fn__GT_comparator(comp);\nreturn (fexpr__9958.cljs$core$IFn$_invoke$arity$2 ? fexpr__9958.cljs$core$IFn$_invoke$arity$2(G__9959,G__9960) : fexpr__9958.call(null,G__9959,G__9960));\n}),coll);\n}));\n\n(cljs.core.sort_by.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.seq_reduce \x3d (function cljs$core$seq_reduce(var_args){\nvar G__9962 \x3d arguments.length;\nswitch (G__9962) {\ncase 2:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nvar G__9963 \x3d f;\nvar G__9964 \x3d cljs.core.first(s);\nvar G__9965 \x3d cljs.core.next(s);\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__9963,G__9964,G__9965) : cljs.core.reduce.call(null,G__9963,G__9964,G__9965));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nvar val__$1 \x3d val;\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif(coll__$1){\nvar nval \x3d (function (){var G__9966 \x3d val__$1;\nvar G__9967 \x3d cljs.core.first(coll__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9966,G__9967) : f.call(null,G__9966,G__9967));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__11929 \x3d nval;\nvar G__11930 \x3d cljs.core.next(coll__$1);\nval__$1 \x3d G__11929;\ncoll__$1 \x3d G__11930;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.seq_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return a random permutation of coll\n */\ncljs.core.shuffle \x3d (function cljs$core$shuffle(coll){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.shuffle(a);\n\nreturn (cljs.core.vec.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a) : cljs.core.vec.call(null,a));\n});\ncljs.core.iter_reduce \x3d (function cljs$core$iter_reduce(var_args){\nvar G__9969 \x3d arguments.length;\nswitch (G__9969) {\ncase 2:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nvar iter \x3d cljs.core._iterator(coll);\nif(cljs.core.truth_(iter.hasNext())){\nvar init \x3d iter.next();\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__9970 \x3d acc;\nvar G__9971 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9970,G__9971) : f.call(null,G__9970,G__9971));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__11936 \x3d nacc;\nacc \x3d G__11936;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,init){\nvar iter \x3d cljs.core._iterator(coll);\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__9972 \x3d acc;\nvar G__9973 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__9972,G__9973) : f.call(null,G__9972,G__9973));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__11937 \x3d nacc;\nacc \x3d G__11937;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.iter_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * f should be a function of 2 arguments. If val is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc. If coll contains no\n * items, f must accept no arguments as well, and reduce returns the\n * result of calling f with no arguments. If coll has only 1 item, it\n * is returned and f is not called. If val is supplied, returns the\n * result of applying f to val and the first item in coll, then\n * applying f to that result and the 2nd item, etc. If coll contains no\n * items, returns val and f is not called.\n */\ncljs.core.reduce \x3d (function cljs$core$reduce(var_args){\nvar G__9975 \x3d arguments.length;\nswitch (G__9975) {\ncase 2:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(null,f);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f,val);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reduces an associative collection. f should be a function of 3\n * arguments. Returns the result of applying f to init, the first key\n * and the first value in coll, then applying f to that result and the\n * 2nd key and value, etc. If coll contains no entries, returns init\n * and f is not called. Note that reduce-kv is supported on vectors,\n * where the keys will be the ordinals.\n */\ncljs.core.reduce_kv \x3d (function cljs$core$reduce_kv(f,init,coll){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._kv_reduce(coll,f,init);\n} else {\nreturn init;\n}\n});\n/**\n * Returns its argument.\n */\ncljs.core.identity \x3d (function cljs$core$identity(x){\nreturn x;\n});\n/**\n * Takes a reducing function f of 2 args and returns a fn suitable for\n * transduce by adding an arity-1 signature that calls cf (default -\n * identity) on the result argument.\n */\ncljs.core.completing \x3d (function cljs$core$completing(var_args){\nvar G__9979 \x3d arguments.length;\nswitch (G__9979) {\ncase 1:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);\n}));\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,cf){\nreturn (function() {\nvar G__11945 \x3d null;\nvar G__11945__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__11945__1 \x3d (function (x){\nreturn (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));\n});\nvar G__11945__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nG__11945 \x3d function(x,y){\nswitch(arguments.length){\ncase 0:\nreturn G__11945__0.call(this);\ncase 1:\nreturn G__11945__1.call(this,x);\ncase 2:\nreturn G__11945__2.call(this,x,y);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__11945.cljs$core$IFn$_invoke$arity$0 \x3d G__11945__0;\nG__11945.cljs$core$IFn$_invoke$arity$1 \x3d G__11945__1;\nG__11945.cljs$core$IFn$_invoke$arity$2 \x3d G__11945__2;\nreturn G__11945;\n})()\n}));\n\n(cljs.core.completing.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * reduce with a transformation of f (xf). If init is not\n * supplied, (f) will be called to produce it. f should be a reducing\n * step function that accepts both 1 and 2 arguments, if it accepts\n * only 2 you can add the arity-1 with \x27completing\x27. Returns the result\n * of applying (the transformed) xf to init and the first item in coll,\n * then applying xf to that result and the 2nd item, etc. If coll\n * contains no items, returns init and f is not called. Note that\n * certain transforms may inject or skip items.\n */\ncljs.core.transduce \x3d (function cljs$core$transduce(var_args){\nvar G__9981 \x3d arguments.length;\nswitch (G__9981) {\ncase 3:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (xform,f,coll){\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,f,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),coll);\n}));\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (xform,f,init,coll){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar ret \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));\n}));\n\n(cljs.core.transduce.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core._PLUS_ \x3d (function cljs$core$_PLUS_(var_args){\nvar G__9986 \x3d arguments.length;\nswitch (G__9986) {\ncase 0:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11950 \x3d arguments.length;\nvar i__5770__auto___11951 \x3d (0);\nwhile(true){\nif((i__5770__auto___11951 \x3c len__5769__auto___11950)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11951]));\n\nvar G__11952 \x3d (i__5770__auto___11951 + (1));\ni__5770__auto___11951 \x3d G__11952;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._PLUS_.cljs$lang$applyTo \x3d (function (seq9983){\nvar G__9984 \x3d cljs.core.first(seq9983);\nvar seq9983__$1 \x3d cljs.core.next(seq9983);\nvar G__9985 \x3d cljs.core.first(seq9983__$1);\nvar seq9983__$2 \x3d cljs.core.next(seq9983__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9984,G__9985,seq9983__$2);\n}));\n\n(cljs.core._PLUS_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core._ \x3d (function cljs$core$_(var_args){\nvar G__9991 \x3d arguments.length;\nswitch (G__9991) {\ncase 1:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11954 \x3d arguments.length;\nvar i__5770__auto___11956 \x3d (0);\nwhile(true){\nif((i__5770__auto___11956 \x3c len__5769__auto___11954)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11956]));\n\nvar G__11957 \x3d (i__5770__auto___11956 + (1));\ni__5770__auto___11956 \x3d G__11957;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._.cljs$lang$applyTo \x3d (function (seq9988){\nvar G__9989 \x3d cljs.core.first(seq9988);\nvar seq9988__$1 \x3d cljs.core.next(seq9988);\nvar G__9990 \x3d cljs.core.first(seq9988__$1);\nvar seq9988__$2 \x3d cljs.core.next(seq9988__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9989,G__9990,seq9988__$2);\n}));\n\n(cljs.core._.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core._STAR_ \x3d (function cljs$core$_STAR_(var_args){\nvar G__9996 \x3d arguments.length;\nswitch (G__9996) {\ncase 0:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11959 \x3d arguments.length;\nvar i__5770__auto___11960 \x3d (0);\nwhile(true){\nif((i__5770__auto___11960 \x3c len__5769__auto___11959)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11960]));\n\nvar G__11962 \x3d (i__5770__auto___11960 + (1));\ni__5770__auto___11960 \x3d G__11962;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._STAR_.cljs$lang$applyTo \x3d (function (seq9993){\nvar G__9994 \x3d cljs.core.first(seq9993);\nvar seq9993__$1 \x3d cljs.core.next(seq9993);\nvar G__9995 \x3d cljs.core.first(seq9993__$1);\nvar seq9993__$2 \x3d cljs.core.next(seq9993__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9994,G__9995,seq9993__$2);\n}));\n\n(cljs.core._STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core._SLASH_ \x3d (function cljs$core$_SLASH_(var_args){\nvar G__10001 \x3d arguments.length;\nswitch (G__10001) {\ncase 1:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11964 \x3d arguments.length;\nvar i__5770__auto___11965 \x3d (0);\nwhile(true){\nif((i__5770__auto___11965 \x3c len__5769__auto___11964)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11965]));\n\nvar G__11966 \x3d (i__5770__auto___11965 + (1));\ni__5770__auto___11965 \x3d G__11966;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._SLASH_.cljs$lang$applyTo \x3d (function (seq9998){\nvar G__9999 \x3d cljs.core.first(seq9998);\nvar seq9998__$1 \x3d cljs.core.next(seq9998);\nvar G__10000 \x3d cljs.core.first(seq9998__$1);\nvar seq9998__$2 \x3d cljs.core.next(seq9998__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__9999,G__10000,seq9998__$2);\n}));\n\n(cljs.core._SLASH_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically increasing order,\n * otherwise false.\n */\ncljs.core._LT_ \x3d (function cljs$core$_LT_(var_args){\nvar G__10006 \x3d arguments.length;\nswitch (G__10006) {\ncase 1:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11974 \x3d arguments.length;\nvar i__5770__auto___11975 \x3d (0);\nwhile(true){\nif((i__5770__auto___11975 \x3c len__5769__auto___11974)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11975]));\n\nvar G__11976 \x3d (i__5770__auto___11975 + (1));\ni__5770__auto___11975 \x3d G__11976;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c y);\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c y)){\nif(cljs.core.next(more)){\nvar G__11981 \x3d y;\nvar G__11982 \x3d cljs.core.first(more);\nvar G__11983 \x3d cljs.core.next(more);\nx \x3d G__11981;\ny \x3d G__11982;\nmore \x3d G__11983;\ncontinue;\n} else {\nreturn (y \x3c cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT_.cljs$lang$applyTo \x3d (function (seq10003){\nvar G__10004 \x3d cljs.core.first(seq10003);\nvar seq10003__$1 \x3d cljs.core.next(seq10003);\nvar G__10005 \x3d cljs.core.first(seq10003__$1);\nvar seq10003__$2 \x3d cljs.core.next(seq10003__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10004,G__10005,seq10003__$2);\n}));\n\n(cljs.core._LT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-decreasing order,\n * otherwise false.\n */\ncljs.core._LT__EQ_ \x3d (function cljs$core$_LT__EQ_(var_args){\nvar G__10011 \x3d arguments.length;\nswitch (G__10011) {\ncase 1:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11990 \x3d arguments.length;\nvar i__5770__auto___11991 \x3d (0);\nwhile(true){\nif((i__5770__auto___11991 \x3c len__5769__auto___11990)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11991]));\n\nvar G__11997 \x3d (i__5770__auto___11991 + (1));\ni__5770__auto___11991 \x3d G__11997;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c\x3d y);\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c\x3d y)){\nif(cljs.core.next(more)){\nvar G__11998 \x3d y;\nvar G__11999 \x3d cljs.core.first(more);\nvar G__12000 \x3d cljs.core.next(more);\nx \x3d G__11998;\ny \x3d G__11999;\nmore \x3d G__12000;\ncontinue;\n} else {\nreturn (y \x3c\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT__EQ_.cljs$lang$applyTo \x3d (function (seq10008){\nvar G__10009 \x3d cljs.core.first(seq10008);\nvar seq10008__$1 \x3d cljs.core.next(seq10008);\nvar G__10010 \x3d cljs.core.first(seq10008__$1);\nvar seq10008__$2 \x3d cljs.core.next(seq10008__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10009,G__10010,seq10008__$2);\n}));\n\n(cljs.core._LT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically decreasing order,\n * otherwise false.\n */\ncljs.core._GT_ \x3d (function cljs$core$_GT_(var_args){\nvar G__10016 \x3d arguments.length;\nswitch (G__10016) {\ncase 1:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12007 \x3d arguments.length;\nvar i__5770__auto___12008 \x3d (0);\nwhile(true){\nif((i__5770__auto___12008 \x3c len__5769__auto___12007)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12008]));\n\nvar G__12009 \x3d (i__5770__auto___12008 + (1));\ni__5770__auto___12008 \x3d G__12009;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e y);\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e y)){\nif(cljs.core.next(more)){\nvar G__12010 \x3d y;\nvar G__12011 \x3d cljs.core.first(more);\nvar G__12012 \x3d cljs.core.next(more);\nx \x3d G__12010;\ny \x3d G__12011;\nmore \x3d G__12012;\ncontinue;\n} else {\nreturn (y \x3e cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT_.cljs$lang$applyTo \x3d (function (seq10013){\nvar G__10014 \x3d cljs.core.first(seq10013);\nvar seq10013__$1 \x3d cljs.core.next(seq10013);\nvar G__10015 \x3d cljs.core.first(seq10013__$1);\nvar seq10013__$2 \x3d cljs.core.next(seq10013__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10014,G__10015,seq10013__$2);\n}));\n\n(cljs.core._GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-increasing order,\n * otherwise false.\n */\ncljs.core._GT__EQ_ \x3d (function cljs$core$_GT__EQ_(var_args){\nvar G__10021 \x3d arguments.length;\nswitch (G__10021) {\ncase 1:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12014 \x3d arguments.length;\nvar i__5770__auto___12015 \x3d (0);\nwhile(true){\nif((i__5770__auto___12015 \x3c len__5769__auto___12014)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12015]));\n\nvar G__12019 \x3d (i__5770__auto___12015 + (1));\ni__5770__auto___12015 \x3d G__12019;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e\x3d y);\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e\x3d y)){\nif(cljs.core.next(more)){\nvar G__12020 \x3d y;\nvar G__12021 \x3d cljs.core.first(more);\nvar G__12022 \x3d cljs.core.next(more);\nx \x3d G__12020;\ny \x3d G__12021;\nmore \x3d G__12022;\ncontinue;\n} else {\nreturn (y \x3e\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT__EQ_.cljs$lang$applyTo \x3d (function (seq10018){\nvar G__10019 \x3d cljs.core.first(seq10018);\nvar seq10018__$1 \x3d cljs.core.next(seq10018);\nvar G__10020 \x3d cljs.core.first(seq10018__$1);\nvar seq10018__$2 \x3d cljs.core.next(seq10018__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10019,G__10020,seq10018__$2);\n}));\n\n(cljs.core._GT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than num.\n */\ncljs.core.dec \x3d (function cljs$core$dec(x){\nreturn (x - (1));\n});\n/**\n * Returns the absolute value of a.\n */\ncljs.core.abs \x3d (function cljs$core$abs(a){\nreturn Math.abs(a);\n});\n/**\n * Returns the greatest of the nums.\n */\ncljs.core.max \x3d (function cljs$core$max(var_args){\nvar G__10026 \x3d arguments.length;\nswitch (G__10026) {\ncase 1:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12036 \x3d arguments.length;\nvar i__5770__auto___12037 \x3d (0);\nwhile(true){\nif((i__5770__auto___12037 \x3c len__5769__auto___12036)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12037]));\n\nvar G__12038 \x3d (i__5770__auto___12037 + (1));\ni__5770__auto___12037 \x3d G__12038;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max.cljs$lang$applyTo \x3d (function (seq10023){\nvar G__10024 \x3d cljs.core.first(seq10023);\nvar seq10023__$1 \x3d cljs.core.next(seq10023);\nvar G__10025 \x3d cljs.core.first(seq10023__$1);\nvar seq10023__$2 \x3d cljs.core.next(seq10023__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10024,G__10025,seq10023__$2);\n}));\n\n(cljs.core.max.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the least of the nums.\n */\ncljs.core.min \x3d (function cljs$core$min(var_args){\nvar G__10031 \x3d arguments.length;\nswitch (G__10031) {\ncase 1:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12046 \x3d arguments.length;\nvar i__5770__auto___12047 \x3d (0);\nwhile(true){\nif((i__5770__auto___12047 \x3c len__5769__auto___12046)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12047]));\n\nvar G__12049 \x3d (i__5770__auto___12047 + (1));\ni__5770__auto___12047 \x3d G__12049;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min.cljs$lang$applyTo \x3d (function (seq10028){\nvar G__10029 \x3d cljs.core.first(seq10028);\nvar seq10028__$1 \x3d cljs.core.next(seq10028);\nvar G__10030 \x3d cljs.core.first(seq10028__$1);\nvar seq10028__$2 \x3d cljs.core.next(seq10028__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10029,G__10030,seq10028__$2);\n}));\n\n(cljs.core.min.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.byte$ \x3d (function cljs$core$byte(x){\nreturn x;\n});\n/**\n * Coerce to char\n */\ncljs.core.char$ \x3d (function cljs$core$char(x){\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn String.fromCharCode(x);\n} else {\nif(((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 ((x.length \x3d\x3d\x3d (1))))){\nreturn x;\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.core.short$ \x3d (function cljs$core$short(x){\nreturn x;\n});\ncljs.core.float$ \x3d (function cljs$core$float(x){\nreturn x;\n});\ncljs.core.double$ \x3d (function cljs$core$double(x){\nreturn x;\n});\ncljs.core.unchecked_byte \x3d (function cljs$core$unchecked_byte(x){\nreturn x;\n});\ncljs.core.unchecked_char \x3d (function cljs$core$unchecked_char(x){\nreturn x;\n});\ncljs.core.unchecked_short \x3d (function cljs$core$unchecked_short(x){\nreturn x;\n});\ncljs.core.unchecked_float \x3d (function cljs$core$unchecked_float(x){\nreturn x;\n});\ncljs.core.unchecked_double \x3d (function cljs$core$unchecked_double(x){\nreturn x;\n});\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add \x3d (function cljs$core$unchecked_add(var_args){\nvar G__10036 \x3d arguments.length;\nswitch (G__10036) {\ncase 0:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12052 \x3d arguments.length;\nvar i__5770__auto___12053 \x3d (0);\nwhile(true){\nif((i__5770__auto___12053 \x3c len__5769__auto___12052)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12053]));\n\nvar G__12054 \x3d (i__5770__auto___12053 + (1));\ni__5770__auto___12053 \x3d G__12054;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add.cljs$lang$applyTo \x3d (function (seq10033){\nvar G__10034 \x3d cljs.core.first(seq10033);\nvar seq10033__$1 \x3d cljs.core.next(seq10033);\nvar G__10035 \x3d cljs.core.first(seq10033__$1);\nvar seq10033__$2 \x3d cljs.core.next(seq10033__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10034,G__10035,seq10033__$2);\n}));\n\n(cljs.core.unchecked_add.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add_int \x3d (function cljs$core$unchecked_add_int(var_args){\nvar G__10041 \x3d arguments.length;\nswitch (G__10041) {\ncase 0:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12056 \x3d arguments.length;\nvar i__5770__auto___12057 \x3d (0);\nwhile(true){\nif((i__5770__auto___12057 \x3c len__5769__auto___12056)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12057]));\n\nvar G__12058 \x3d (i__5770__auto___12057 + (1));\ni__5770__auto___12057 \x3d G__12058;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add_int.cljs$lang$applyTo \x3d (function (seq10038){\nvar G__10039 \x3d cljs.core.first(seq10038);\nvar seq10038__$1 \x3d cljs.core.next(seq10038);\nvar G__10040 \x3d cljs.core.first(seq10038__$1);\nvar seq10038__$2 \x3d cljs.core.next(seq10038__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10039,G__10040,seq10038__$2);\n}));\n\n(cljs.core.unchecked_add_int.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec \x3d (function cljs$core$unchecked_dec(x){\nreturn (x - (1));\n});\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec_int \x3d (function cljs$core$unchecked_dec_int(x){\nreturn (x - (1));\n});\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core.unchecked_divide_int \x3d (function cljs$core$unchecked_divide_int(var_args){\nvar G__10046 \x3d arguments.length;\nswitch (G__10046) {\ncase 1:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12061 \x3d arguments.length;\nvar i__5770__auto___12062 \x3d (0);\nwhile(true){\nif((i__5770__auto___12062 \x3c len__5769__auto___12061)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12062]));\n\nvar G__12063 \x3d (i__5770__auto___12062 + (1));\ni__5770__auto___12062 \x3d G__12063;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_divide_int.cljs$lang$applyTo \x3d (function (seq10043){\nvar G__10044 \x3d cljs.core.first(seq10043);\nvar seq10043__$1 \x3d cljs.core.next(seq10043);\nvar G__10045 \x3d cljs.core.first(seq10043__$1);\nvar seq10043__$2 \x3d cljs.core.next(seq10043__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10044,G__10045,seq10043__$2);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_inc \x3d (function cljs$core$unchecked_inc(x){\nreturn (x + (1));\n});\ncljs.core.unchecked_inc_int \x3d (function cljs$core$unchecked_inc_int(x){\nreturn (x + (1));\n});\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply \x3d (function cljs$core$unchecked_multiply(var_args){\nvar G__10051 \x3d arguments.length;\nswitch (G__10051) {\ncase 0:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12065 \x3d arguments.length;\nvar i__5770__auto___12066 \x3d (0);\nwhile(true){\nif((i__5770__auto___12066 \x3c len__5769__auto___12065)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12066]));\n\nvar G__12067 \x3d (i__5770__auto___12066 + (1));\ni__5770__auto___12066 \x3d G__12067;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply.cljs$lang$applyTo \x3d (function (seq10048){\nvar G__10049 \x3d cljs.core.first(seq10048);\nvar seq10048__$1 \x3d cljs.core.next(seq10048);\nvar G__10050 \x3d cljs.core.first(seq10048__$1);\nvar seq10048__$2 \x3d cljs.core.next(seq10048__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10049,G__10050,seq10048__$2);\n}));\n\n(cljs.core.unchecked_multiply.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply_int \x3d (function cljs$core$unchecked_multiply_int(var_args){\nvar G__10056 \x3d arguments.length;\nswitch (G__10056) {\ncase 0:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12069 \x3d arguments.length;\nvar i__5770__auto___12070 \x3d (0);\nwhile(true){\nif((i__5770__auto___12070 \x3c len__5769__auto___12069)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12070]));\n\nvar G__12071 \x3d (i__5770__auto___12070 + (1));\ni__5770__auto___12070 \x3d G__12071;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply_int.cljs$lang$applyTo \x3d (function (seq10053){\nvar G__10054 \x3d cljs.core.first(seq10053);\nvar seq10053__$1 \x3d cljs.core.next(seq10053);\nvar G__10055 \x3d cljs.core.first(seq10053__$1);\nvar seq10053__$2 \x3d cljs.core.next(seq10053__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10054,G__10055,seq10053__$2);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_negate \x3d (function cljs$core$unchecked_negate(x){\nreturn (- x);\n});\ncljs.core.unchecked_negate_int \x3d (function cljs$core$unchecked_negate_int(x){\nreturn (- x);\n});\ncljs.core.unchecked_remainder_int \x3d (function cljs$core$unchecked_remainder_int(x,n){\nreturn (cljs.core.mod.cljs$core$IFn$_invoke$arity$2 ? cljs.core.mod.cljs$core$IFn$_invoke$arity$2(x,n) : cljs.core.mod.call(null,x,n));\n});\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract \x3d (function cljs$core$unchecked_subtract(var_args){\nvar G__10061 \x3d arguments.length;\nswitch (G__10061) {\ncase 1:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12073 \x3d arguments.length;\nvar i__5770__auto___12074 \x3d (0);\nwhile(true){\nif((i__5770__auto___12074 \x3c len__5769__auto___12073)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12074]));\n\nvar G__12075 \x3d (i__5770__auto___12074 + (1));\ni__5770__auto___12074 \x3d G__12075;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract.cljs$lang$applyTo \x3d (function (seq10058){\nvar G__10059 \x3d cljs.core.first(seq10058);\nvar seq10058__$1 \x3d cljs.core.next(seq10058);\nvar G__10060 \x3d cljs.core.first(seq10058__$1);\nvar seq10058__$2 \x3d cljs.core.next(seq10058__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10059,G__10060,seq10058__$2);\n}));\n\n(cljs.core.unchecked_subtract.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract_int \x3d (function cljs$core$unchecked_subtract_int(var_args){\nvar G__10066 \x3d arguments.length;\nswitch (G__10066) {\ncase 1:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12077 \x3d arguments.length;\nvar i__5770__auto___12078 \x3d (0);\nwhile(true){\nif((i__5770__auto___12078 \x3c len__5769__auto___12077)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12078]));\n\nvar G__12079 \x3d (i__5770__auto___12078 + (1));\ni__5770__auto___12078 \x3d G__12079;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract_int.cljs$lang$applyTo \x3d (function (seq10063){\nvar G__10064 \x3d cljs.core.first(seq10063);\nvar seq10063__$1 \x3d cljs.core.next(seq10063);\nvar G__10065 \x3d cljs.core.first(seq10063__$1);\nvar seq10063__$2 \x3d cljs.core.next(seq10063__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10064,G__10065,seq10063__$2);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.fix \x3d (function cljs$core$fix(q){\nif((q \x3e\x3d (0))){\nreturn Math.floor(q);\n} else {\nreturn Math.ceil(q);\n}\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.int$ \x3d (function cljs$core$int(x){\nreturn (x | (0));\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.unchecked_int \x3d (function cljs$core$unchecked_int(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.long$ \x3d (function cljs$core$long(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.unchecked_long \x3d (function cljs$core$unchecked_long(x){\nreturn cljs.core.fix(x);\n});\ncljs.core.booleans \x3d (function cljs$core$booleans(x){\nreturn x;\n});\ncljs.core.bytes \x3d (function cljs$core$bytes(x){\nreturn x;\n});\ncljs.core.chars \x3d (function cljs$core$chars(x){\nreturn x;\n});\ncljs.core.shorts \x3d (function cljs$core$shorts(x){\nreturn x;\n});\ncljs.core.ints \x3d (function cljs$core$ints(x){\nreturn x;\n});\ncljs.core.floats \x3d (function cljs$core$floats(x){\nreturn x;\n});\ncljs.core.doubles \x3d (function cljs$core$doubles(x){\nreturn x;\n});\ncljs.core.longs \x3d (function cljs$core$longs(x){\nreturn x;\n});\n/**\n * Modulus of num and div with original javascript behavior. i.e. bug for negative numbers\n */\ncljs.core.js_mod \x3d (function cljs$core$js_mod(n,d){\nreturn (n % d);\n});\n/**\n * Modulus of num and div. Truncates toward negative infinity.\n */\ncljs.core.mod \x3d (function cljs$core$mod(n,d){\nreturn (((n % d) + d) % d);\n});\n/**\n * quot[ient] of dividing numerator by denominator.\n */\ncljs.core.quot \x3d (function cljs$core$quot(n,d){\nvar rem \x3d (n % d);\nreturn cljs.core.fix(((n - rem) / d));\n});\n/**\n * remainder of dividing numerator by denominator.\n */\ncljs.core.rem \x3d (function cljs$core$rem(n,d){\nvar q \x3d cljs.core.quot(n,d);\nreturn (n - (d * q));\n});\n/**\n * Bitwise exclusive or\n */\ncljs.core.bit_xor \x3d (function cljs$core$bit_xor(var_args){\nvar G__10071 \x3d arguments.length;\nswitch (G__10071) {\ncase 2:\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12084 \x3d arguments.length;\nvar i__5770__auto___12085 \x3d (0);\nwhile(true){\nif((i__5770__auto___12085 \x3c len__5769__auto___12084)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12085]));\n\nvar G__12086 \x3d (i__5770__auto___12085 + (1));\ni__5770__auto___12085 \x3d G__12086;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x ^ y);\n}));\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_xor.cljs$lang$applyTo \x3d (function (seq10068){\nvar G__10069 \x3d cljs.core.first(seq10068);\nvar seq10068__$1 \x3d cljs.core.next(seq10068);\nvar G__10070 \x3d cljs.core.first(seq10068__$1);\nvar seq10068__$2 \x3d cljs.core.next(seq10068__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10069,G__10070,seq10068__$2);\n}));\n\n(cljs.core.bit_xor.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and\n */\ncljs.core.bit_and \x3d (function cljs$core$bit_and(var_args){\nvar G__10076 \x3d arguments.length;\nswitch (G__10076) {\ncase 2:\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12089 \x3d arguments.length;\nvar i__5770__auto___12090 \x3d (0);\nwhile(true){\nif((i__5770__auto___12090 \x3c len__5769__auto___12089)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12090]));\n\nvar G__12091 \x3d (i__5770__auto___12090 + (1));\ni__5770__auto___12090 \x3d G__12091;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 y);\n}));\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x \x26 y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and.cljs$lang$applyTo \x3d (function (seq10073){\nvar G__10074 \x3d cljs.core.first(seq10073);\nvar seq10073__$1 \x3d cljs.core.next(seq10073);\nvar G__10075 \x3d cljs.core.first(seq10073__$1);\nvar seq10073__$2 \x3d cljs.core.next(seq10073__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10074,G__10075,seq10073__$2);\n}));\n\n(cljs.core.bit_and.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise or\n */\ncljs.core.bit_or \x3d (function cljs$core$bit_or(var_args){\nvar G__10081 \x3d arguments.length;\nswitch (G__10081) {\ncase 2:\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12096 \x3d arguments.length;\nvar i__5770__auto___12097 \x3d (0);\nwhile(true){\nif((i__5770__auto___12097 \x3c len__5769__auto___12096)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12097]));\n\nvar G__12098 \x3d (i__5770__auto___12097 + (1));\ni__5770__auto___12097 \x3d G__12098;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x | y);\n}));\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_or.cljs$lang$applyTo \x3d (function (seq10078){\nvar G__10079 \x3d cljs.core.first(seq10078);\nvar seq10078__$1 \x3d cljs.core.next(seq10078);\nvar G__10080 \x3d cljs.core.first(seq10078__$1);\nvar seq10078__$2 \x3d cljs.core.next(seq10078__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10079,G__10080,seq10078__$2);\n}));\n\n(cljs.core.bit_or.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and with complement\n */\ncljs.core.bit_and_not \x3d (function cljs$core$bit_and_not(var_args){\nvar G__10086 \x3d arguments.length;\nswitch (G__10086) {\ncase 2:\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12100 \x3d arguments.length;\nvar i__5770__auto___12101 \x3d (0);\nwhile(true){\nif((i__5770__auto___12101 \x3c len__5769__auto___12100)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12101]));\n\nvar G__12103 \x3d (i__5770__auto___12101 + (1));\ni__5770__auto___12101 \x3d G__12103;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 ~y);\n}));\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x \x26 ~y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and_not.cljs$lang$applyTo \x3d (function (seq10083){\nvar G__10084 \x3d cljs.core.first(seq10083);\nvar seq10083__$1 \x3d cljs.core.next(seq10083);\nvar G__10085 \x3d cljs.core.first(seq10083__$1);\nvar seq10083__$2 \x3d cljs.core.next(seq10083__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10084,G__10085,seq10083__$2);\n}));\n\n(cljs.core.bit_and_not.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Clear bit at index n\n */\ncljs.core.bit_clear \x3d (function cljs$core$bit_clear(x,n){\nreturn (x \x26 ~(1 \x3c\x3c n));\n});\n/**\n * Flip bit at index n\n */\ncljs.core.bit_flip \x3d (function cljs$core$bit_flip(x,n){\nreturn (x ^ (1 \x3c\x3c n));\n});\n/**\n * Bitwise complement\n */\ncljs.core.bit_not \x3d (function cljs$core$bit_not(x){\nreturn (~ x);\n});\n/**\n * Set bit at index n\n */\ncljs.core.bit_set \x3d (function cljs$core$bit_set(x,n){\nreturn (x | (1 \x3c\x3c n));\n});\n/**\n * Test bit at index n\n */\ncljs.core.bit_test \x3d (function cljs$core$bit_test(x,n){\nreturn ((x \x26 (1 \x3c\x3c n)) !\x3d 0);\n});\n/**\n * Bitwise shift left\n */\ncljs.core.bit_shift_left \x3d (function cljs$core$bit_shift_left(x,n){\nreturn (x \x3c\x3c n);\n});\n/**\n * Bitwise shift right\n */\ncljs.core.bit_shift_right \x3d (function cljs$core$bit_shift_right(x,n){\nreturn (x \x3e\x3e n);\n});\n/**\n * DEPRECATED: Bitwise shift right with zero fill\n */\ncljs.core.bit_shift_right_zero_fill \x3d (function cljs$core$bit_shift_right_zero_fill(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Bitwise shift right with zero fill\n */\ncljs.core.unsigned_bit_shift_right \x3d (function cljs$core$unsigned_bit_shift_right(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Counts the number of bits set in n\n */\ncljs.core.bit_count \x3d (function cljs$core$bit_count(v){\nvar v__$1 \x3d (v - ((v \x3e\x3e (1)) \x26 (1431655765)));\nvar v__$2 \x3d ((v__$1 \x26 (858993459)) + ((v__$1 \x3e\x3e (2)) \x26 (858993459)));\nreturn ((((v__$2 + (v__$2 \x3e\x3e (4))) \x26 (252645135)) * (16843009)) \x3e\x3e (24));\n});\n/**\n * Returns non-nil if nums all have the equivalent\n * value, otherwise false. Behavior on non nums is\n * undefined.\n */\ncljs.core._EQ__EQ_ \x3d (function cljs$core$_EQ__EQ_(var_args){\nvar G__10091 \x3d arguments.length;\nswitch (G__10091) {\ncase 1:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12108 \x3d arguments.length;\nvar i__5770__auto___12109 \x3d (0);\nwhile(true){\nif((i__5770__auto___12109 \x3c len__5769__auto___12108)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12109]));\n\nvar G__12110 \x3d (i__5770__auto___12109 + (1));\ni__5770__auto___12109 \x3d G__12110;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn cljs.core._equiv(x,y);\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3d\x3d\x3d y)){\nif(cljs.core.next(more)){\nvar G__12114 \x3d y;\nvar G__12115 \x3d cljs.core.first(more);\nvar G__12116 \x3d cljs.core.next(more);\nx \x3d G__12114;\ny \x3d G__12115;\nmore \x3d G__12116;\ncontinue;\n} else {\nreturn (y \x3d\x3d\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ__EQ_.cljs$lang$applyTo \x3d (function (seq10088){\nvar G__10089 \x3d cljs.core.first(seq10088);\nvar seq10088__$1 \x3d cljs.core.next(seq10088);\nvar G__10090 \x3d cljs.core.first(seq10088__$1);\nvar seq10088__$2 \x3d cljs.core.next(seq10088__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10089,G__10090,seq10088__$2);\n}));\n\n(cljs.core._EQ__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if num is greater than zero, else false\n */\ncljs.core.pos_QMARK_ \x3d (function cljs$core$pos_QMARK_(x){\nreturn (x \x3e (0));\n});\n/**\n * Returns true if num is zero, else false\n */\ncljs.core.zero_QMARK_ \x3d (function cljs$core$zero_QMARK_(x){\nreturn (x \x3d\x3d\x3d (0));\n});\n/**\n * Returns true if num is less than zero, else false\n */\ncljs.core.neg_QMARK_ \x3d (function cljs$core$neg_QMARK_(x){\nreturn (x \x3c (0));\n});\n/**\n * Returns the nth next of coll, (seq coll) when n is 0.\n */\ncljs.core.nthnext \x3d (function cljs$core$nthnext(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d cljs.core.seq(coll);\nwhile(true){\nif(((xs) \x26\x26 ((n__$1 \x3e (0))))){\nvar G__12117 \x3d (n__$1 - (1));\nvar G__12118 \x3d cljs.core.next(xs);\nn__$1 \x3d G__12117;\nxs \x3d G__12118;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * With no args, returns the empty string. With one arg x, returns\n * x.toString(). (str nil) returns the empty string. With more than\n * one arg, returns the concatenation of the str values of the args.\n */\ncljs.core.str \x3d (function cljs$core$str(var_args){\nvar G__10095 \x3d arguments.length;\nswitch (G__10095) {\ncase 0:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12120 \x3d arguments.length;\nvar i__5770__auto___12121 \x3d (0);\nwhile(true){\nif((i__5770__auto___12121 \x3c len__5769__auto___12120)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12121]));\n\nvar G__12122 \x3d (i__5770__auto___12121 + (1));\ni__5770__auto___12121 \x3d G__12122;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn \x22\x22;\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nif((x \x3d\x3d null)){\nreturn \x22\x22;\n} else {\nreturn [x].join(\x22\x22);\n}\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,ys){\nvar sb \x3d (new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)));\nvar more \x3d ys;\nwhile(true){\nif(cljs.core.truth_(more)){\nvar G__12123 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more)));\nvar G__12124 \x3d cljs.core.next(more);\nsb \x3d G__12123;\nmore \x3d G__12124;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.str.cljs$lang$applyTo \x3d (function (seq10093){\nvar G__10094 \x3d cljs.core.first(seq10093);\nvar seq10093__$1 \x3d cljs.core.next(seq10093);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10094,seq10093__$1);\n}));\n\n(cljs.core.str.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns the substring of s beginning at start inclusive, and ending\n * at end (defaults to length of string), exclusive.\n */\ncljs.core.subs \x3d (function cljs$core$subs(var_args){\nvar G__10097 \x3d arguments.length;\nswitch (G__10097) {\ncase 2:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,start){\nreturn s.substring(start);\n}));\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,start,end){\nreturn s.substring(start,end);\n}));\n\n(cljs.core.subs.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n * Assumes x is sequential. Returns true if x equals y, otherwise\n * returns false.\n */\ncljs.core.equiv_sequential \x3d (function cljs$core$equiv_sequential(x,y){\nreturn cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?((((cljs.core.counted_QMARK_(x)) \x26\x26 (((cljs.core.counted_QMARK_(y)) \x26\x26 ((!((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))))))))?false:(function (){var xs \x3d cljs.core.seq(x);\nvar ys \x3d cljs.core.seq(y);\nwhile(true){\nif((xs \x3d\x3d null)){\nreturn (ys \x3d\x3d null);\n} else {\nif((ys \x3d\x3d null)){\nreturn false;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){\nvar G__12126 \x3d cljs.core.next(xs);\nvar G__12127 \x3d cljs.core.next(ys);\nxs \x3d G__12126;\nys \x3d G__12127;\ncontinue;\n} else {\nreturn false;\n\n}\n}\n}\nbreak;\n}\n})()):null));\n});\ncljs.core.hash_coll \x3d (function cljs$core$hash_coll(coll){\nif(cljs.core.seq(coll)){\nvar res \x3d cljs.core.hash(cljs.core.first(coll));\nvar s \x3d cljs.core.next(coll);\nwhile(true){\nif((s \x3d\x3d null)){\nreturn res;\n} else {\nvar G__12128 \x3d cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));\nvar G__12129 \x3d cljs.core.next(s);\nres \x3d G__12128;\ns \x3d G__12129;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n});\n\ncljs.core.hash_imap \x3d (function cljs$core$hash_imap(m){\nvar h \x3d (0);\nvar s \x3d cljs.core.seq(m);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__12130 \x3d ((h + (cljs.core.hash((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e))) ^ cljs.core.hash((cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e))))) % (4503599627370496));\nvar G__12131 \x3d cljs.core.next(s);\nh \x3d G__12130;\ns \x3d G__12131;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\ncljs.core.hash_iset \x3d (function cljs$core$hash_iset(s){\nvar h \x3d (0);\nvar s__$1 \x3d cljs.core.seq(s);\nwhile(true){\nif(s__$1){\nvar e \x3d cljs.core.first(s__$1);\nvar G__12132 \x3d ((h + cljs.core.hash(e)) % (4503599627370496));\nvar G__12133 \x3d cljs.core.next(s__$1);\nh \x3d G__12132;\ns__$1 \x3d G__12133;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\n\n\n/**\n * Takes a JavaScript object and a map of names to functions and\n * attaches said functions as methods on the object. Any references to\n * JavaScript\x27s implicit this (via the this-as macro) will resolve to the\n * object that the function is attached.\n */\ncljs.core.extend_object_BANG_ \x3d (function cljs$core$extend_object_BANG_(obj,fn_map){\nvar seq__10098_12134 \x3d cljs.core.seq(fn_map);\nvar chunk__10099_12135 \x3d null;\nvar count__10100_12136 \x3d (0);\nvar i__10101_12137 \x3d (0);\nwhile(true){\nif((i__10101_12137 \x3c count__10100_12136)){\nvar vec__10108_12138 \x3d chunk__10099_12135.cljs$core$IIndexed$_nth$arity$2(null,i__10101_12137);\nvar key_name_12139 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10108_12138,(0),null);\nvar f_12140 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10108_12138,(1),null);\nvar str_name_12141 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_12139) : cljs.core.name.call(null,key_name_12139));\ncljs.core.goog$module$goog$object.set(obj,str_name_12141,f_12140);\n\n\nvar G__12142 \x3d seq__10098_12134;\nvar G__12143 \x3d chunk__10099_12135;\nvar G__12144 \x3d count__10100_12136;\nvar G__12145 \x3d (i__10101_12137 + (1));\nseq__10098_12134 \x3d G__12142;\nchunk__10099_12135 \x3d G__12143;\ncount__10100_12136 \x3d G__12144;\ni__10101_12137 \x3d G__12145;\ncontinue;\n} else {\nvar temp__5804__auto___12146 \x3d cljs.core.seq(seq__10098_12134);\nif(temp__5804__auto___12146){\nvar seq__10098_12147__$1 \x3d temp__5804__auto___12146;\nif(cljs.core.chunked_seq_QMARK_(seq__10098_12147__$1)){\nvar c__5568__auto___12148 \x3d (cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(seq__10098_12147__$1) : cljs.core.chunk_first.call(null,seq__10098_12147__$1));\nvar G__12149 \x3d (cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(seq__10098_12147__$1) : cljs.core.chunk_rest.call(null,seq__10098_12147__$1));\nvar G__12150 \x3d c__5568__auto___12148;\nvar G__12151 \x3d cljs.core.count(c__5568__auto___12148);\nvar G__12152 \x3d (0);\nseq__10098_12134 \x3d G__12149;\nchunk__10099_12135 \x3d G__12150;\ncount__10100_12136 \x3d G__12151;\ni__10101_12137 \x3d G__12152;\ncontinue;\n} else {\nvar vec__10111_12153 \x3d cljs.core.first(seq__10098_12147__$1);\nvar key_name_12154 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10111_12153,(0),null);\nvar f_12155 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10111_12153,(1),null);\nvar str_name_12156 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_12154) : cljs.core.name.call(null,key_name_12154));\ncljs.core.goog$module$goog$object.set(obj,str_name_12156,f_12155);\n\n\nvar G__12157 \x3d cljs.core.next(seq__10098_12147__$1);\nvar G__12158 \x3d null;\nvar G__12159 \x3d (0);\nvar G__12160 \x3d (0);\nseq__10098_12134 \x3d G__12157;\nchunk__10099_12135 \x3d G__12158;\ncount__10100_12136 \x3d G__12159;\ni__10101_12137 \x3d G__12160;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.List \x3d (function (meta,first,rest,count,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.count \x3d count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937646;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.List.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.List.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.List.prototype.indexOf \x3d (function() {\nvar G__12161 \x3d null;\nvar G__12161__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12161__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12161 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12161__1.call(this,x);\ncase 2:\nreturn G__12161__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12161.cljs$core$IFn$_invoke$arity$1 \x3d G__12161__1;\nG__12161.cljs$core$IFn$_invoke$arity$2 \x3d G__12161__2;\nreturn G__12161;\n})()\n);\n\n(cljs.core.List.prototype.lastIndexOf \x3d (function() {\nvar G__12162 \x3d null;\nvar G__12162__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__12162__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12162 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12162__1.call(this,x);\ncase 2:\nreturn G__12162__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12162.cljs$core$IFn$_invoke$arity$1 \x3d G__12162__1;\nG__12162.cljs$core$IFn$_invoke$arity$2 \x3d G__12162__2;\nreturn G__12162;\n})()\n);\n\n(cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));\n}));\n\n(cljs.core.List.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.List(new_meta,self__.first,self__.rest,self__.count,self__.__hash));\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));\n}));\n\n(cljs.core.List.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.List.cljs$lang$type \x3d true);\n\n(cljs.core.List.cljs$lang$ctorStr \x3d \x22cljs.core/List\x22);\n\n(cljs.core.List.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/List\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/List.\n */\ncljs.core.__GT_List \x3d (function cljs$core$__GT_List(meta,first,rest,count,__hash){\nreturn (new cljs.core.List(meta,first,rest,count,__hash));\n});\n\n/**\n * Returns true if x implements IList\n */\ncljs.core.list_QMARK_ \x3d (function cljs$core$list_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (33554432))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IList$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n}\n});\n(cljs.core.List.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.EmptyList \x3d (function (meta){\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937614;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.EmptyList.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.EmptyList.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.EmptyList.prototype.indexOf \x3d (function() {\nvar G__12166 \x3d null;\nvar G__12166__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12166__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12166 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12166__1.call(this,x);\ncase 2:\nreturn G__12166__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12166.cljs$core$IFn$_invoke$arity$1 \x3d G__12166__1;\nG__12166.cljs$core$IFn$_invoke$arity$2 \x3d G__12166__2;\nreturn G__12166;\n})()\n);\n\n(cljs.core.EmptyList.prototype.lastIndexOf \x3d (function() {\nvar G__12167 \x3d null;\nvar G__12167__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__12167__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12167 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12167__1.call(this,x);\ncase 2:\nreturn G__12167__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12167.cljs$core$IFn$_invoke$arity$1 \x3d G__12167__1;\nG__12167.cljs$core$IFn$_invoke$arity$2 \x3d G__12167__2;\nreturn G__12167;\n})()\n);\n\n(cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.EmptyList(self__.meta));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (0);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nthrow (new Error(\x22Can\x27t pop empty list\x22));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.empty_ordered_hash;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other)))){\nreturn (cljs.core.seq(other) \x3d\x3d null);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.EmptyList(new_meta));\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,null,(1),null));\n}));\n\n(cljs.core.EmptyList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.EmptyList.cljs$lang$type \x3d true);\n\n(cljs.core.EmptyList.cljs$lang$ctorStr \x3d \x22cljs.core/EmptyList\x22);\n\n(cljs.core.EmptyList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/EmptyList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/EmptyList.\n */\ncljs.core.__GT_EmptyList \x3d (function cljs$core$__GT_EmptyList(meta){\nreturn (new cljs.core.EmptyList(meta));\n});\n\n(cljs.core.List.EMPTY \x3d (new cljs.core.EmptyList(null)));\n(cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns true if coll satisfies? IReversible.\n */\ncljs.core.reversible_QMARK_ \x3d (function cljs$core$reversible_QMARK_(coll){\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (134217728))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReversible$)))){\nreturn true;\n} else {\nif((!coll.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n}\n});\n/**\n * Returns, in constant time, a seq of the items in rev (which\n * can be a vector or sorted-map), in reverse order. If rev is empty returns nil\n */\ncljs.core.rseq \x3d (function cljs$core$rseq(rev){\nreturn cljs.core._rseq(rev);\n});\n/**\n * Returns a seq of the items in coll in reverse order. Not lazy.\n */\ncljs.core.reverse \x3d (function cljs$core$reverse(coll){\nif(cljs.core.reversible_QMARK_(coll)){\nvar or__5045__auto__ \x3d cljs.core.rseq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n}\n});\n/**\n * Creates a new list containing the items.\n */\ncljs.core.list \x3d (function cljs$core$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12176 \x3d arguments.length;\nvar i__5770__auto___12177 \x3d (0);\nwhile(true){\nif((i__5770__auto___12177 \x3c len__5769__auto___12176)){\nargs__5775__auto__.push((arguments[i__5770__auto___12177]));\n\nvar G__12178 \x3d (i__5770__auto___12177 + (1));\ni__5770__auto___12177 \x3d G__12178;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nvar arr \x3d (((((xs instanceof cljs.core.IndexedSeq)) \x26\x26 ((xs.i \x3d\x3d\x3d (0)))))?xs.arr:(function (){var arr \x3d [];\nvar xs__$1 \x3d xs;\nwhile(true){\nif((!((xs__$1 \x3d\x3d null)))){\narr.push(cljs.core._first(xs__$1));\n\nvar G__12179 \x3d cljs.core._next(xs__$1);\nxs__$1 \x3d G__12179;\ncontinue;\n} else {\nreturn arr;\n}\nbreak;\n}\n})());\nvar i \x3d arr.length;\nvar r \x3d cljs.core.List.EMPTY;\nwhile(true){\nif((i \x3e (0))){\nvar G__12180 \x3d (i - (1));\nvar G__12181 \x3d cljs.core._conj(r,(arr[(i - (1))]));\ni \x3d G__12180;\nr \x3d G__12181;\ncontinue;\n} else {\nreturn r;\n}\nbreak;\n}\n}));\n\n(cljs.core.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.list.cljs$lang$applyTo \x3d (function (seq10116){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10116));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cons \x3d (function (meta,first,rest,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65929452;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.Cons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Cons.prototype.indexOf \x3d (function() {\nvar G__12182 \x3d null;\nvar G__12182__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12182__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12182 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12182__1.call(this,x);\ncase 2:\nreturn G__12182__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12182.cljs$core$IFn$_invoke$arity$1 \x3d G__12182__1;\nG__12182.cljs$core$IFn$_invoke$arity$2 \x3d G__12182__2;\nreturn G__12182;\n})()\n);\n\n(cljs.core.Cons.prototype.lastIndexOf \x3d (function() {\nvar G__12183 \x3d null;\nvar G__12183__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__12183__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12183 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12183__1.call(this,x);\ncase 2:\nreturn G__12183__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12183.cljs$core$IFn$_invoke$arity$1 \x3d G__12183__1;\nG__12183.cljs$core$IFn$_invoke$arity$2 \x3d G__12183__2;\nreturn G__12183;\n})()\n);\n\n(cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));\n}));\n\n(cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.seq(self__.rest);\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cons(new_meta,self__.first,self__.rest,self__.__hash));\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.Cons(null,o,coll__$1,null));\n}));\n\n(cljs.core.Cons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cons.cljs$lang$type \x3d true);\n\n(cljs.core.Cons.cljs$lang$ctorStr \x3d \x22cljs.core/Cons\x22);\n\n(cljs.core.Cons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cons.\n */\ncljs.core.__GT_Cons \x3d (function cljs$core$__GT_Cons(meta,first,rest,__hash){\nreturn (new cljs.core.Cons(meta,first,rest,__hash));\n});\n\n(cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a new seq where x is the first element and coll is the rest.\n */\ncljs.core.cons \x3d (function cljs$core$cons(x,coll){\nif((coll \x3d\x3d null)){\nreturn (new cljs.core.List(null,x,null,(1),null));\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn (new cljs.core.Cons(null,x,coll,null));\n} else {\nreturn (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));\n\n}\n}\n});\ncljs.core.hash_keyword \x3d (function cljs$core$hash_keyword(k){\nreturn ((cljs.core.hash_symbol(k) + (2654435769)) | (0));\n});\ncljs.core.compare_keywords \x3d (function cljs$core$compare_keywords(a,b){\nif((a.fqn \x3d\x3d\x3d b.fqn)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Keyword \x3d (function (ns,name,fqn,_hash){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.fqn \x3d fqn;\nthis._hash \x3d _hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775105;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Keyword.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27);\n}));\n\n(cljs.core.Keyword.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Keyword)){\nreturn (self__.fqn \x3d\x3d\x3d other.fqn);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Keyword.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10119 \x3d (arguments.length - (1));\nswitch (G__10119) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Keyword.prototype.apply \x3d (function (self__,args10118){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10118)));\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_keyword(this$__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27));\n}));\n\n(cljs.core.Keyword.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22fqn\x22,\x22fqn\x22,-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Keyword.cljs$lang$type \x3d true);\n\n(cljs.core.Keyword.cljs$lang$ctorStr \x3d \x22cljs.core/Keyword\x22);\n\n(cljs.core.Keyword.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Keyword\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Keyword.\n */\ncljs.core.__GT_Keyword \x3d (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){\nreturn (new cljs.core.Keyword(ns,name,fqn,_hash));\n});\n\n/**\n * Return true if x is a Keyword\n */\ncljs.core.keyword_QMARK_ \x3d (function cljs$core$keyword_QMARK_(x){\nreturn (x instanceof cljs.core.Keyword);\n});\n/**\n * Efficient test to determine that two keywords are identical.\n */\ncljs.core.keyword_identical_QMARK_ \x3d (function cljs$core$keyword_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Keyword)) \x26\x26 ((y instanceof cljs.core.Keyword)))){\nreturn (x.fqn \x3d\x3d\x3d y.fqn);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Efficient test to determine that two symbols are identical.\n */\ncljs.core.symbol_identical_QMARK_ \x3d (function cljs$core$symbol_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Symbol)) \x26\x26 ((y instanceof cljs.core.Symbol)))){\nreturn (x.str \x3d\x3d\x3d y.str);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Returns the namespace String of a symbol or keyword, or nil if not present.\n */\ncljs.core.namespace \x3d (function cljs$core$namespace(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_namespace$arity$1(null);\n} else {\nthrow (new Error([\x22Doesn\x27t support namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n});\n/**\n * Return true if x is a symbol or keyword\n */\ncljs.core.ident_QMARK_ \x3d (function cljs$core$ident_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\n/**\n * Return true if x is a symbol or keyword without a namespace\n */\ncljs.core.simple_ident_QMARK_ \x3d (function cljs$core$simple_ident_QMARK_(x){\nreturn ((cljs.core.ident_QMARK_(x)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol or keyword with a namespace\n */\ncljs.core.qualified_ident_QMARK_ \x3d (function cljs$core$qualified_ident_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(x);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a symbol without a namespace\n */\ncljs.core.simple_symbol_QMARK_ \x3d (function cljs$core$simple_symbol_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol with a namespace\n */\ncljs.core.qualified_symbol_QMARK_ \x3d (function cljs$core$qualified_symbol_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a keyword without a namespace\n */\ncljs.core.simple_keyword_QMARK_ \x3d (function cljs$core$simple_keyword_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a keyword with a namespace\n */\ncljs.core.qualified_keyword_QMARK_ \x3d (function cljs$core$qualified_keyword_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Keyword);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Returns a Keyword with the given namespace and name. Do not use :\n * in the keyword strings, it will be added automatically.\n */\ncljs.core.keyword \x3d (function cljs$core$keyword(var_args){\nvar G__10122 \x3d arguments.length;\nswitch (G__10122) {\ncase 1:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif((name instanceof cljs.core.Keyword)){\nreturn name;\n} else {\nif((name instanceof cljs.core.Symbol)){\nreturn (new cljs.core.Keyword(cljs.core.namespace(name),(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)),name.str,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,name)){\nreturn (new cljs.core.Keyword(null,name,name,null));\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar parts \x3d name.split(\x22/\x22);\nif((parts.length \x3d\x3d\x3d (2))){\nreturn (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));\n} else {\nreturn (new cljs.core.Keyword(null,(parts[(0)]),name,null));\n}\n} else {\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar ns__$1 \x3d (((ns instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):(((ns instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):ns\n));\nvar name__$1 \x3d (((name instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):(((name instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):name\n));\nreturn (new cljs.core.Keyword(ns__$1,name__$1,[(cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(\x27\x27),null));\n}));\n\n(cljs.core.keyword.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.LazySeq \x3d (function (meta,fn,s,__hash){\nthis.meta \x3d meta;\nthis.fn \x3d fn;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.LazySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.LazySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.LazySeq.prototype.sval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.fn \x3d\x3d null)){\nreturn self__.s;\n} else {\n(self__.s \x3d (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null)));\n\n(self__.fn \x3d null);\n\nreturn self__.s;\n}\n}));\n\n(cljs.core.LazySeq.prototype.indexOf \x3d (function() {\nvar G__12195 \x3d null;\nvar G__12195__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12195__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12195 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12195__1.call(this,x);\ncase 2:\nreturn G__12195__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12195.cljs$core$IFn$_invoke$arity$1 \x3d G__12195__1;\nG__12195.cljs$core$IFn$_invoke$arity$2 \x3d G__12195__2;\nreturn G__12195;\n})()\n);\n\n(cljs.core.LazySeq.prototype.lastIndexOf \x3d (function() {\nvar G__12196 \x3d null;\nvar G__12196__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__12196__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12196 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12196__1.call(this,x);\ncase 2:\nreturn G__12196__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12196.cljs$core$IFn$_invoke$arity$1 \x3d G__12196__1;\nG__12196.cljs$core$IFn$_invoke$arity$2 \x3d G__12196__2;\nreturn G__12196;\n})()\n);\n\n(cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.next(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.not(self__.fn);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((!((self__.s \x3d\x3d null)))){\nreturn cljs.core.rest(self__.s);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.sval();\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nvar ls \x3d self__.s;\nwhile(true){\nif((ls instanceof cljs.core.LazySeq)){\nvar G__12198 \x3d ls.sval();\nls \x3d G__12198;\ncontinue;\n} else {\n(self__.s \x3d ls);\n\nreturn cljs.core.seq(self__.s);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.LazySeq(new_meta,(function (){\nreturn coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n}),null,self__.__hash));\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.LazySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.LazySeq.cljs$lang$type \x3d true);\n\n(cljs.core.LazySeq.cljs$lang$ctorStr \x3d \x22cljs.core/LazySeq\x22);\n\n(cljs.core.LazySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/LazySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/LazySeq.\n */\ncljs.core.__GT_LazySeq \x3d (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){\nreturn (new cljs.core.LazySeq(meta,fn,s,__hash));\n});\n\n(cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n*/\ncljs.core.ChunkBuffer \x3d (function (buf,end){\nthis.buf \x3d buf;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ChunkBuffer.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.buf[self__.end] \x3d o);\n\nreturn (self__.end \x3d (self__.end + (1)));\n}));\n\n(cljs.core.ChunkBuffer.prototype.chunk \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));\n(self__.buf \x3d null);\n\nreturn ret;\n}));\n\n(cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.end;\n}));\n\n(cljs.core.ChunkBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkBuffer\x22);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkBuffer.\n */\ncljs.core.__GT_ChunkBuffer \x3d (function cljs$core$__GT_ChunkBuffer(buf,end){\nreturn (new cljs.core.ChunkBuffer(buf,end));\n});\n\ncljs.core.chunk_buffer \x3d (function cljs$core$chunk_buffer(capacity){\nreturn (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.IChunk}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayChunk \x3d (function (arr,off,end){\nthis.arr \x3d arr;\nthis.off \x3d off;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 524306;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.end - self__.off);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.arr[(self__.off + i)]);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c (self__.end - self__.off))))){\nreturn (self__.arr[(self__.off + i)]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.off \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);\n}));\n\n(cljs.core.ArrayChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.ArrayChunk.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayChunk\x22);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayChunk.\n */\ncljs.core.__GT_ArrayChunk \x3d (function cljs$core$__GT_ArrayChunk(arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n});\n\ncljs.core.array_chunk \x3d (function cljs$core$array_chunk(var_args){\nvar G__10124 \x3d arguments.length;\nswitch (G__10124) {\ncase 1:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 \x3d (function (arr){\nreturn (new cljs.core.ArrayChunk(arr,(0),arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,off){\nreturn (new cljs.core.ArrayChunk(arr,off,arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n}));\n\n(cljs.core.array_chunk.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.ChunkedCons \x3d (function (chunk,more,meta,__hash){\nthis.chunk \x3d chunk;\nthis.more \x3d more;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850732;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedCons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedCons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.indexOf \x3d (function() {\nvar G__12264 \x3d null;\nvar G__12264__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12264__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12264 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12264__1.call(this,x);\ncase 2:\nreturn G__12264__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12264.cljs$core$IFn$_invoke$arity$1 \x3d G__12264__1;\nG__12264.cljs$core$IFn$_invoke$arity$2 \x3d G__12264__2;\nreturn G__12264;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.lastIndexOf \x3d (function() {\nvar G__12269 \x3d null;\nvar G__12269__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__12269__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12269 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12269__1.call(this,x);\ncase 2:\nreturn G__12269__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12269.cljs$core$IFn$_invoke$arity$1 \x3d G__12269__1;\nG__12269.cljs$core$IFn$_invoke$arity$2 \x3d G__12269__2;\nreturn G__12269;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._seq(self__.more);\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.chunk,(0));\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.chunk;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ChunkedCons(self__.chunk,self__.more,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,o){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.cons(o,this$__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedCons.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedCons\x22);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedCons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedCons.\n */\ncljs.core.__GT_ChunkedCons \x3d (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){\nreturn (new cljs.core.ChunkedCons(chunk,more,meta,__hash));\n});\n\n(cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunk_cons \x3d (function cljs$core$chunk_cons(chunk,rest){\nif((cljs.core._count(chunk) \x3d\x3d\x3d (0))){\nreturn rest;\n} else {\nreturn (new cljs.core.ChunkedCons(chunk,rest,null,null));\n}\n});\ncljs.core.chunk_append \x3d (function cljs$core$chunk_append(b,x){\nreturn b.add(x);\n});\ncljs.core.chunk \x3d (function cljs$core$chunk(b){\nreturn b.chunk();\n});\ncljs.core.chunk_first \x3d (function cljs$core$chunk_first(s){\nreturn cljs.core._chunked_first(s);\n});\ncljs.core.chunk_rest \x3d (function cljs$core$chunk_rest(s){\nreturn cljs.core._chunked_rest(s);\n});\ncljs.core.chunk_next \x3d (function cljs$core$chunk_next(s){\nif((((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition1$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$IChunkedNext$))))?true:false):false)){\nreturn s.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core._chunked_rest(s));\n}\n});\n/**\n * Returns an array containing the contents of coll.\n */\ncljs.core.to_array \x3d (function cljs$core$to_array(coll){\nvar ary \x3d [];\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((s \x3d\x3d null)))){\nary.push(cljs.core.first(s));\n\nvar G__12320 \x3d cljs.core.next(s);\ns \x3d G__12320;\ncontinue;\n} else {\nreturn ary;\n}\nbreak;\n}\n});\n/**\n * Returns a (potentially-ragged) 2-dimensional array\n * containing the contents of coll.\n */\ncljs.core.to_array_2d \x3d (function cljs$core$to_array_2d(coll){\nvar ret \x3d (new Array(cljs.core.count(coll)));\nvar i_12322 \x3d (0);\nvar xs_12323 \x3d cljs.core.seq(coll);\nwhile(true){\nif((xs_12323 \x3d\x3d null)){\n} else {\n(ret[i_12322] \x3d cljs.core.to_array(cljs.core.first(xs_12323)));\n\nvar G__12325 \x3d (i_12322 + (1));\nvar G__12326 \x3d cljs.core.next(xs_12323);\ni_12322 \x3d G__12325;\nxs_12323 \x3d G__12326;\ncontinue;\n}\nbreak;\n}\n\nreturn ret;\n});\n/**\n * Creates an array of ints. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.int_array \x3d (function cljs$core$int_array(var_args){\nvar G__10127 \x3d arguments.length;\nswitch (G__10127) {\ncase 1:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__12348 \x3d (i + (1));\nvar G__12349 \x3d cljs.core.next(s__$1);\ni \x3d G__12348;\ns__$1 \x3d G__12349;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___12350 \x3d size;\nvar i_12351 \x3d (0);\nwhile(true){\nif((i_12351 \x3c n__5636__auto___12350)){\n(a[i_12351] \x3d init_val_or_seq);\n\nvar G__12352 \x3d (i_12351 + (1));\ni_12351 \x3d G__12352;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.int_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of longs. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.long_array \x3d (function cljs$core$long_array(var_args){\nvar G__10129 \x3d arguments.length;\nswitch (G__10129) {\ncase 1:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__12361 \x3d (i + (1));\nvar G__12362 \x3d cljs.core.next(s__$1);\ni \x3d G__12361;\ns__$1 \x3d G__12362;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___12364 \x3d size;\nvar i_12365 \x3d (0);\nwhile(true){\nif((i_12365 \x3c n__5636__auto___12364)){\n(a[i_12365] \x3d init_val_or_seq);\n\nvar G__12366 \x3d (i_12365 + (1));\ni_12365 \x3d G__12366;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.long_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of doubles. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.double_array \x3d (function cljs$core$double_array(var_args){\nvar G__10131 \x3d arguments.length;\nswitch (G__10131) {\ncase 1:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__12370 \x3d (i + (1));\nvar G__12371 \x3d cljs.core.next(s__$1);\ni \x3d G__12370;\ns__$1 \x3d G__12371;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___12372 \x3d size;\nvar i_12373 \x3d (0);\nwhile(true){\nif((i_12373 \x3c n__5636__auto___12372)){\n(a[i_12373] \x3d init_val_or_seq);\n\nvar G__12374 \x3d (i_12373 + (1));\ni_12373 \x3d G__12374;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.double_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of objects. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.object_array \x3d (function cljs$core$object_array(var_args){\nvar G__10133 \x3d arguments.length;\nswitch (G__10133) {\ncase 1:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__12378 \x3d (i + (1));\nvar G__12379 \x3d cljs.core.next(s__$1);\ni \x3d G__12378;\ns__$1 \x3d G__12379;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___12380 \x3d size;\nvar i_12381 \x3d (0);\nwhile(true){\nif((i_12381 \x3c n__5636__auto___12380)){\n(a[i_12381] \x3d init_val_or_seq);\n\nvar G__12382 \x3d (i_12381 + (1));\ni_12381 \x3d G__12382;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.object_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * If coll is counted? returns its count, else will count at most the first n\n * elements of coll using its seq\n */\ncljs.core.bounded_count \x3d (function cljs$core$bounded_count(n,coll){\nif(cljs.core.counted_QMARK_(coll)){\nreturn cljs.core.count(coll);\n} else {\nvar i \x3d (0);\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((((!((s \x3d\x3d null)))) \x26\x26 ((i \x3c n)))){\nvar G__12383 \x3d (i + (1));\nvar G__12384 \x3d cljs.core.next(s);\ni \x3d G__12383;\ns \x3d G__12384;\ncontinue;\n} else {\nreturn i;\n}\nbreak;\n}\n}\n});\ncljs.core.spread \x3d (function cljs$core$spread(arglist){\nif((arglist \x3d\x3d null)){\nreturn null;\n} else {\nvar n \x3d cljs.core.next(arglist);\nif((n \x3d\x3d null)){\nreturn cljs.core.seq(cljs.core.first(arglist));\n} else {\nreturn cljs.core.cons(cljs.core.first(arglist),(cljs.core.spread.cljs$core$IFn$_invoke$arity$1 ? cljs.core.spread.cljs$core$IFn$_invoke$arity$1(n) : cljs.core.spread.call(null,n)));\n}\n}\n});\n/**\n * Returns a lazy seq representing the concatenation of the elements in the supplied colls.\n */\ncljs.core.concat \x3d (function cljs$core$concat(var_args){\nvar G__10138 \x3d arguments.length;\nswitch (G__10138) {\ncase 0:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12390 \x3d arguments.length;\nvar i__5770__auto___12391 \x3d (0);\nwhile(true){\nif((i__5770__auto___12391 \x3c len__5769__auto___12390)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12391]));\n\nvar G__12392 \x3d (i__5770__auto___12391 + (1));\ni__5770__auto___12391 \x3d G__12392;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn null;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn x;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s \x3d cljs.core.seq(x);\nif(s){\nif(cljs.core.chunked_seq_QMARK_(s)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));\n} else {\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));\n}\n} else {\nreturn y;\n}\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,zs){\nvar cat \x3d (function cljs$core$cat(xys,zs__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar xys__$1 \x3d cljs.core.seq(xys);\nif(xys__$1){\nif(cljs.core.chunked_seq_QMARK_(xys__$1)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));\n} else {\nreturn cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));\n}\n} else {\nif(cljs.core.truth_(zs__$1)){\nreturn cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);\n}));\n\n/** @this {Function} */\n(cljs.core.concat.cljs$lang$applyTo \x3d (function (seq10135){\nvar G__10136 \x3d cljs.core.first(seq10135);\nvar seq10135__$1 \x3d cljs.core.next(seq10135);\nvar G__10137 \x3d cljs.core.first(seq10135__$1);\nvar seq10135__$2 \x3d cljs.core.next(seq10135__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10136,G__10137,seq10135__$2);\n}));\n\n(cljs.core.concat.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Creates a new list containing the items prepended to the rest, the\n * last of which will be treated as a sequence.\n */\ncljs.core.list_STAR_ \x3d (function cljs$core$list_STAR_(var_args){\nvar G__10145 \x3d arguments.length;\nswitch (G__10145) {\ncase 1:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12408 \x3d arguments.length;\nvar i__5770__auto___12411 \x3d (0);\nwhile(true){\nif((i__5770__auto___12411 \x3c len__5769__auto___12408)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12411]));\n\nvar G__12412 \x3d (i__5770__auto___12411 + (1));\ni__5770__auto___12411 \x3d G__12412;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (args){\nreturn cljs.core.seq(args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,args){\nreturn cljs.core.cons(a,args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,args));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,c,d,more){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));\n}));\n\n/** @this {Function} */\n(cljs.core.list_STAR_.cljs$lang$applyTo \x3d (function (seq10140){\nvar G__10141 \x3d cljs.core.first(seq10140);\nvar seq10140__$1 \x3d cljs.core.next(seq10140);\nvar G__10142 \x3d cljs.core.first(seq10140__$1);\nvar seq10140__$2 \x3d cljs.core.next(seq10140__$1);\nvar G__10143 \x3d cljs.core.first(seq10140__$2);\nvar seq10140__$3 \x3d cljs.core.next(seq10140__$2);\nvar G__10144 \x3d cljs.core.first(seq10140__$3);\nvar seq10140__$4 \x3d cljs.core.next(seq10140__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10141,G__10142,G__10143,G__10144,seq10140__$4);\n}));\n\n(cljs.core.list_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core.transient$ \x3d (function cljs$core$transient(coll){\nreturn cljs.core._as_transient(coll);\n});\n/**\n * Returns a new, persistent version of the transient collection, in\n * constant time. The transient collection cannot be used after this\n * call, any such use will throw an exception.\n */\ncljs.core.persistent_BANG_ \x3d (function cljs$core$persistent_BANG_(tcoll){\nreturn cljs.core._persistent_BANG_(tcoll);\n});\n/**\n * Adds val to the transient collection, and return tcoll. The \x27addition\x27\n * may happen at different \x27places\x27 depending on the concrete type.\n */\ncljs.core.conj_BANG_ \x3d (function cljs$core$conj_BANG_(var_args){\nvar G__10150 \x3d arguments.length;\nswitch (G__10150) {\ncase 0:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12420 \x3d arguments.length;\nvar i__5770__auto___12421 \x3d (0);\nwhile(true){\nif((i__5770__auto___12421 \x3c len__5769__auto___12420)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12421]));\n\nvar G__12423 \x3d (i__5770__auto___12421 + (1));\ni__5770__auto___12421 \x3d G__12423;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tcoll){\nreturn tcoll;\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._conj_BANG_(tcoll,val);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._conj_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__12430 \x3d ntcoll;\nvar G__12431 \x3d cljs.core.first(vals);\nvar G__12432 \x3d cljs.core.next(vals);\ntcoll \x3d G__12430;\nval \x3d G__12431;\nvals \x3d G__12432;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj_BANG_.cljs$lang$applyTo \x3d (function (seq10147){\nvar G__10148 \x3d cljs.core.first(seq10147);\nvar seq10147__$1 \x3d cljs.core.next(seq10147);\nvar G__10149 \x3d cljs.core.first(seq10147__$1);\nvar seq10147__$2 \x3d cljs.core.next(seq10147__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10148,G__10149,seq10147__$2);\n}));\n\n(cljs.core.conj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * When applied to a transient map, adds mapping of key(s) to\n * val(s). When applied to a transient vector, sets the val at index.\n * Note - index must be \x3c\x3d (count vector). Returns coll.\n */\ncljs.core.assoc_BANG_ \x3d (function cljs$core$assoc_BANG_(var_args){\nvar G__10156 \x3d arguments.length;\nswitch (G__10156) {\ncase 3:\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12437 \x3d arguments.length;\nvar i__5770__auto___12438 \x3d (0);\nwhile(true){\nif((i__5770__auto___12438 \x3c len__5769__auto___12437)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12438]));\n\nvar G__12440 \x3d (i__5770__auto___12438 + (1));\ni__5770__auto___12438 \x3d G__12440;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (tcoll,key,val){\nreturn cljs.core._assoc_BANG_(tcoll,key,val);\n}));\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,val,kvs){\nwhile(true){\nvar ntcoll \x3d cljs.core._assoc_BANG_(tcoll,key,val);\nif(cljs.core.truth_(kvs)){\nvar G__12449 \x3d ntcoll;\nvar G__12450 \x3d cljs.core.first(kvs);\nvar G__12451 \x3d cljs.core.second(kvs);\nvar G__12452 \x3d cljs.core.nnext(kvs);\ntcoll \x3d G__12449;\nkey \x3d G__12450;\nval \x3d G__12451;\nkvs \x3d G__12452;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc_BANG_.cljs$lang$applyTo \x3d (function (seq10152){\nvar G__10153 \x3d cljs.core.first(seq10152);\nvar seq10152__$1 \x3d cljs.core.next(seq10152);\nvar G__10154 \x3d cljs.core.first(seq10152__$1);\nvar seq10152__$2 \x3d cljs.core.next(seq10152__$1);\nvar G__10155 \x3d cljs.core.first(seq10152__$2);\nvar seq10152__$3 \x3d cljs.core.next(seq10152__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10153,G__10154,G__10155,seq10152__$3);\n}));\n\n(cljs.core.assoc_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a transient map that doesn\x27t contain a mapping for key(s).\n */\ncljs.core.dissoc_BANG_ \x3d (function cljs$core$dissoc_BANG_(var_args){\nvar G__10161 \x3d arguments.length;\nswitch (G__10161) {\ncase 2:\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12459 \x3d arguments.length;\nvar i__5770__auto___12460 \x3d (0);\nwhile(true){\nif((i__5770__auto___12460 \x3c len__5769__auto___12459)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12460]));\n\nvar G__12461 \x3d (i__5770__auto___12460 + (1));\ni__5770__auto___12460 \x3d G__12461;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,key){\nreturn cljs.core._dissoc_BANG_(tcoll,key);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,ks){\nwhile(true){\nvar ntcoll \x3d cljs.core._dissoc_BANG_(tcoll,key);\nif(cljs.core.truth_(ks)){\nvar G__12462 \x3d ntcoll;\nvar G__12463 \x3d cljs.core.first(ks);\nvar G__12464 \x3d cljs.core.next(ks);\ntcoll \x3d G__12462;\nkey \x3d G__12463;\nks \x3d G__12464;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc_BANG_.cljs$lang$applyTo \x3d (function (seq10158){\nvar G__10159 \x3d cljs.core.first(seq10158);\nvar seq10158__$1 \x3d cljs.core.next(seq10158);\nvar G__10160 \x3d cljs.core.first(seq10158__$1);\nvar seq10158__$2 \x3d cljs.core.next(seq10158__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10159,G__10160,seq10158__$2);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Removes the last item from a transient vector. If\n * the collection is empty, throws an exception. Returns tcoll\n */\ncljs.core.pop_BANG_ \x3d (function cljs$core$pop_BANG_(tcoll){\nreturn cljs.core._pop_BANG_(tcoll);\n});\n/**\n * disj[oin]. Returns a transient set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj_BANG_ \x3d (function cljs$core$disj_BANG_(var_args){\nvar G__10166 \x3d arguments.length;\nswitch (G__10166) {\ncase 2:\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12466 \x3d arguments.length;\nvar i__5770__auto___12467 \x3d (0);\nwhile(true){\nif((i__5770__auto___12467 \x3c len__5769__auto___12466)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12467]));\n\nvar G__12468 \x3d (i__5770__auto___12467 + (1));\ni__5770__auto___12467 \x3d G__12468;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._disjoin_BANG_(tcoll,val);\n}));\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._disjoin_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__12469 \x3d ntcoll;\nvar G__12470 \x3d cljs.core.first(vals);\nvar G__12471 \x3d cljs.core.next(vals);\ntcoll \x3d G__12469;\nval \x3d G__12470;\nvals \x3d G__12471;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj_BANG_.cljs$lang$applyTo \x3d (function (seq10163){\nvar G__10164 \x3d cljs.core.first(seq10163);\nvar seq10163__$1 \x3d cljs.core.next(seq10163);\nvar G__10165 \x3d cljs.core.first(seq10163__$1);\nvar seq10163__$2 \x3d cljs.core.next(seq10163__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10164,G__10165,seq10163__$2);\n}));\n\n(cljs.core.disj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n\ncljs.core.apply_to \x3d (function cljs$core$apply_to(f,argc,args){\nvar args__$1 \x3d cljs.core.seq(args);\nif((argc \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar a1 \x3d cljs.core._first(args__$1);\nvar args__$2 \x3d cljs.core._rest(args__$1);\nif((argc \x3d\x3d\x3d (1))){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a1) : f.call(null,a1));\n} else {\nvar b2 \x3d cljs.core._first(args__$2);\nvar args__$3 \x3d cljs.core._rest(args__$2);\nif((argc \x3d\x3d\x3d (2))){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a1,b2) : f.call(null,a1,b2));\n} else {\nvar c3 \x3d cljs.core._first(args__$3);\nvar args__$4 \x3d cljs.core._rest(args__$3);\nif((argc \x3d\x3d\x3d (3))){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a1,b2,c3) : f.call(null,a1,b2,c3));\n} else {\nvar d4 \x3d cljs.core._first(args__$4);\nvar args__$5 \x3d cljs.core._rest(args__$4);\nif((argc \x3d\x3d\x3d (4))){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a1,b2,c3,d4) : f.call(null,a1,b2,c3,d4));\n} else {\nvar e5 \x3d cljs.core._first(args__$5);\nvar args__$6 \x3d cljs.core._rest(args__$5);\nif((argc \x3d\x3d\x3d (5))){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a1,b2,c3,d4,e5) : f.call(null,a1,b2,c3,d4,e5));\n} else {\nvar f6 \x3d cljs.core._first(args__$6);\nvar args__$7 \x3d cljs.core._rest(args__$6);\nif((argc \x3d\x3d\x3d (6))){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a1,b2,c3,d4,e5,f6) : f.call(null,a1,b2,c3,d4,e5,f6));\n} else {\nvar g7 \x3d cljs.core._first(args__$7);\nvar args__$8 \x3d cljs.core._rest(args__$7);\nif((argc \x3d\x3d\x3d (7))){\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a1,b2,c3,d4,e5,f6,g7) : f.call(null,a1,b2,c3,d4,e5,f6,g7));\n} else {\nvar h8 \x3d cljs.core._first(args__$8);\nvar args__$9 \x3d cljs.core._rest(args__$8);\nif((argc \x3d\x3d\x3d (8))){\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a1,b2,c3,d4,e5,f6,g7,h8) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8));\n} else {\nvar i9 \x3d cljs.core._first(args__$9);\nvar args__$10 \x3d cljs.core._rest(args__$9);\nif((argc \x3d\x3d\x3d (9))){\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a1,b2,c3,d4,e5,f6,g7,h8,i9) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9));\n} else {\nvar j10 \x3d cljs.core._first(args__$10);\nvar args__$11 \x3d cljs.core._rest(args__$10);\nif((argc \x3d\x3d\x3d (10))){\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10));\n} else {\nvar k11 \x3d cljs.core._first(args__$11);\nvar args__$12 \x3d cljs.core._rest(args__$11);\nif((argc \x3d\x3d\x3d (11))){\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11));\n} else {\nvar l12 \x3d cljs.core._first(args__$12);\nvar args__$13 \x3d cljs.core._rest(args__$12);\nif((argc \x3d\x3d\x3d (12))){\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12));\n} else {\nvar m13 \x3d cljs.core._first(args__$13);\nvar args__$14 \x3d cljs.core._rest(args__$13);\nif((argc \x3d\x3d\x3d (13))){\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13));\n} else {\nvar n14 \x3d cljs.core._first(args__$14);\nvar args__$15 \x3d cljs.core._rest(args__$14);\nif((argc \x3d\x3d\x3d (14))){\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14));\n} else {\nvar o15 \x3d cljs.core._first(args__$15);\nvar args__$16 \x3d cljs.core._rest(args__$15);\nif((argc \x3d\x3d\x3d (15))){\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15));\n} else {\nvar p16 \x3d cljs.core._first(args__$16);\nvar args__$17 \x3d cljs.core._rest(args__$16);\nif((argc \x3d\x3d\x3d (16))){\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16));\n} else {\nvar q17 \x3d cljs.core._first(args__$17);\nvar args__$18 \x3d cljs.core._rest(args__$17);\nif((argc \x3d\x3d\x3d (17))){\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17));\n} else {\nvar r18 \x3d cljs.core._first(args__$18);\nvar args__$19 \x3d cljs.core._rest(args__$18);\nif((argc \x3d\x3d\x3d (18))){\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18));\n} else {\nvar s19 \x3d cljs.core._first(args__$19);\nvar args__$20 \x3d cljs.core._rest(args__$19);\nif((argc \x3d\x3d\x3d (19))){\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19));\n} else {\nvar t20 \x3d cljs.core._first(args__$20);\nvar args__$21 \x3d cljs.core._rest(args__$20);\nif((argc \x3d\x3d\x3d (20))){\nreturn (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20));\n} else {\nthrow (new Error(\x22Only up to 20 arguments supported on functions\x22));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\n\n/**\n * Internal. DO NOT USE! Next without the nil? check.\n */\ncljs.core.next_STAR_ \x3d (function cljs$core$next_STAR_(coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n});\n/**\n * Internal. DO NOT USE!\n * Assumes args was already called with seq beforehand!\n */\ncljs.core.apply_to_simple \x3d (function cljs$core$apply_to_simple(var_args){\nvar G__10169 \x3d arguments.length;\nswitch (G__10169) {\ncase 2:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$0){\nreturn f.cljs$core$IFn$_invoke$arity$0();\n} else {\nreturn f.call(f);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,a0,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$1){\nreturn f.cljs$core$IFn$_invoke$arity$1(a0);\n} else {\nreturn f.call(f,a0);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,a0,a1,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$2){\nreturn f.cljs$core$IFn$_invoke$arity$2(a0,a1);\n} else {\nreturn f.call(f,a0,a1);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,a0,a1,a2,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$3){\nreturn f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);\n} else {\nreturn f.call(f,a0,a1,a2);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 \x3d (function (f,a0,a1,a2,a3,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$4){\nreturn f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);\n} else {\nreturn f.call(f,a0,a1,a2,a3);\n}\n} else {\nvar a4 \x3d cljs.core._first(args);\nvar next_4 \x3d cljs.core.next(args);\nif((next_4 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$5){\nreturn f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4);\n}\n} else {\nvar a5 \x3d cljs.core._first(next_4);\nvar next_5 \x3d cljs.core.next(next_4);\nif((next_5 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$6){\nreturn f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5);\n}\n} else {\nvar a6 \x3d cljs.core._first(next_5);\nvar next_6 \x3d cljs.core.next(next_5);\nif((next_6 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$7){\nreturn f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6);\n}\n} else {\nvar a7 \x3d cljs.core._first(next_6);\nvar next_7 \x3d cljs.core.next(next_6);\nif((next_7 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$8){\nreturn f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);\n}\n} else {\nvar a8 \x3d cljs.core._first(next_7);\nvar next_8 \x3d cljs.core.next(next_7);\nif((next_8 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$9){\nreturn f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);\n}\n} else {\nvar a9 \x3d cljs.core._first(next_8);\nvar next_9 \x3d cljs.core.next(next_8);\nif((next_9 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$10){\nreturn f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n}\n} else {\nvar a10 \x3d cljs.core._first(next_9);\nvar next_10 \x3d cljs.core.next(next_9);\nif((next_10 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$11){\nreturn f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n}\n} else {\nvar a11 \x3d cljs.core._first(next_10);\nvar next_11 \x3d cljs.core.next(next_10);\nif((next_11 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$12){\nreturn f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n}\n} else {\nvar a12 \x3d cljs.core._first(next_11);\nvar next_12 \x3d cljs.core.next(next_11);\nif((next_12 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$13){\nreturn f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n}\n} else {\nvar a13 \x3d cljs.core._first(next_12);\nvar next_13 \x3d cljs.core.next(next_12);\nif((next_13 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$14){\nreturn f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n}\n} else {\nvar a14 \x3d cljs.core._first(next_13);\nvar next_14 \x3d cljs.core.next(next_13);\nif((next_14 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$15){\nreturn f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n}\n} else {\nvar a15 \x3d cljs.core._first(next_14);\nvar next_15 \x3d cljs.core.next(next_14);\nif((next_15 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$16){\nreturn f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n}\n} else {\nvar a16 \x3d cljs.core._first(next_15);\nvar next_16 \x3d cljs.core.next(next_15);\nif((next_16 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$17){\nreturn f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n}\n} else {\nvar a17 \x3d cljs.core._first(next_16);\nvar next_17 \x3d cljs.core.next(next_16);\nif((next_17 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$18){\nreturn f.cljs$core$IFn$_invoke$arity$18(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n}\n} else {\nvar a18 \x3d cljs.core._first(next_17);\nvar next_18 \x3d cljs.core.next(next_17);\nif((next_18 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$19){\nreturn f.cljs$core$IFn$_invoke$arity$19(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n}\n} else {\nvar a19 \x3d cljs.core._first(next_18);\nvar next_19 \x3d cljs.core.next(next_18);\nif((next_19 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$20){\nreturn f.cljs$core$IFn$_invoke$arity$20(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n}\n} else {\nvar arr__5684__auto__ \x3d [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];\nvar s__5685__auto___12483 \x3d next_19;\nwhile(true){\nif(s__5685__auto___12483){\narr__5684__auto__.push(cljs.core._first(s__5685__auto___12483));\n\nvar G__12484 \x3d cljs.core.next(s__5685__auto___12483);\ns__5685__auto___12483 \x3d G__12484;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn f.apply(f,arr__5684__auto__);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Applies fn f to the argument list formed by prepending intervening arguments to args.\n */\ncljs.core.apply \x3d (function cljs$core$apply(var_args){\nvar G__10177 \x3d arguments.length;\nswitch (G__10177) {\ncase 2:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12487 \x3d arguments.length;\nvar i__5770__auto___12488 \x3d (0);\nwhile(true){\nif((i__5770__auto___12488 \x3c len__5769__auto___12487)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12488]));\n\nvar G__12489 \x3d (i__5770__auto___12488 + (1));\ni__5770__auto___12488 \x3d G__12489;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((5)),(0),null));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif(f.cljs$lang$applyTo){\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d cljs.core.bounded_count((fixed_arity + (1)),args);\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,args);\n} else {\nreturn f.cljs$lang$applyTo(args);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d (cljs.core.bounded_count(fixed_arity,args) + (1));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,x,y,z,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,a,b,c,d,args){\nif(f.cljs$lang$applyTo){\nvar spread_args \x3d cljs.core.spread(args);\nvar arglist \x3d cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.apply.cljs$lang$applyTo \x3d (function (seq10171){\nvar G__10172 \x3d cljs.core.first(seq10171);\nvar seq10171__$1 \x3d cljs.core.next(seq10171);\nvar G__10173 \x3d cljs.core.first(seq10171__$1);\nvar seq10171__$2 \x3d cljs.core.next(seq10171__$1);\nvar G__10174 \x3d cljs.core.first(seq10171__$2);\nvar seq10171__$3 \x3d cljs.core.next(seq10171__$2);\nvar G__10175 \x3d cljs.core.first(seq10171__$3);\nvar seq10171__$4 \x3d cljs.core.next(seq10171__$3);\nvar G__10176 \x3d cljs.core.first(seq10171__$4);\nvar seq10171__$5 \x3d cljs.core.next(seq10171__$4);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10172,G__10173,G__10174,G__10175,G__10176,seq10171__$5);\n}));\n\n(cljs.core.apply.cljs$lang$maxFixedArity \x3d (5));\n\ncljs.core.__destructure_map \x3d (function cljs$core$__destructure_map(gmap){\nif((((!((gmap \x3d\x3d null))))?(((((gmap.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d gmap.cljs$core$ISeq$))))?true:false):false)){\nif(cljs.core.next(gmap)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(gmap));\n} else {\nif(cljs.core.seq(gmap)){\nreturn cljs.core.first(gmap);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n} else {\nreturn gmap;\n}\n});\n/**\n * Returns an object of the same type and value as obj, with\n * (apply f (meta obj) args) as its metadata.\n */\ncljs.core.vary_meta \x3d (function cljs$core$vary_meta(var_args){\nvar G__10187 \x3d arguments.length;\nswitch (G__10187) {\ncase 2:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12491 \x3d arguments.length;\nvar i__5770__auto___12492 \x3d (0);\nwhile(true){\nif((i__5770__auto___12492 \x3c len__5769__auto___12491)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12492]));\n\nvar G__12493 \x3d (i__5770__auto___12492 + (1));\ni__5770__auto___12492 \x3d G__12493;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,f){\nreturn cljs.core.with_meta(obj,(function (){var G__10188 \x3d cljs.core.meta(obj);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10188) : f.call(null,G__10188));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,f,a){\nreturn cljs.core.with_meta(obj,(function (){var G__10189 \x3d cljs.core.meta(obj);\nvar G__10190 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10189,G__10190) : f.call(null,G__10189,G__10190));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,f,a,b){\nreturn cljs.core.with_meta(obj,(function (){var G__10191 \x3d cljs.core.meta(obj);\nvar G__10192 \x3d a;\nvar G__10193 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10191,G__10192,G__10193) : f.call(null,G__10191,G__10192,G__10193));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 \x3d (function (obj,f,a,b,c){\nreturn cljs.core.with_meta(obj,(function (){var G__10194 \x3d cljs.core.meta(obj);\nvar G__10195 \x3d a;\nvar G__10196 \x3d b;\nvar G__10197 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__10194,G__10195,G__10196,G__10197) : f.call(null,G__10194,G__10195,G__10196,G__10197));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 \x3d (function (obj,f,a,b,c,d){\nreturn cljs.core.with_meta(obj,(function (){var G__10198 \x3d cljs.core.meta(obj);\nvar G__10199 \x3d a;\nvar G__10200 \x3d b;\nvar G__10201 \x3d c;\nvar G__10202 \x3d d;\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__10198,G__10199,G__10200,G__10201,G__10202) : f.call(null,G__10198,G__10199,G__10200,G__10201,G__10202));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,a,b,c,d,args){\nreturn cljs.core.with_meta(obj,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.meta(obj),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d,args], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.vary_meta.cljs$lang$applyTo \x3d (function (seq10180){\nvar G__10181 \x3d cljs.core.first(seq10180);\nvar seq10180__$1 \x3d cljs.core.next(seq10180);\nvar G__10182 \x3d cljs.core.first(seq10180__$1);\nvar seq10180__$2 \x3d cljs.core.next(seq10180__$1);\nvar G__10183 \x3d cljs.core.first(seq10180__$2);\nvar seq10180__$3 \x3d cljs.core.next(seq10180__$2);\nvar G__10184 \x3d cljs.core.first(seq10180__$3);\nvar seq10180__$4 \x3d cljs.core.next(seq10180__$3);\nvar G__10185 \x3d cljs.core.first(seq10180__$4);\nvar seq10180__$5 \x3d cljs.core.next(seq10180__$4);\nvar G__10186 \x3d cljs.core.first(seq10180__$5);\nvar seq10180__$6 \x3d cljs.core.next(seq10180__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10181,G__10182,G__10183,G__10184,G__10185,G__10186,seq10180__$6);\n}));\n\n(cljs.core.vary_meta.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * Same as (not (\x3d obj1 obj2))\n */\ncljs.core.not_EQ_ \x3d (function cljs$core$not_EQ_(var_args){\nvar G__10207 \x3d arguments.length;\nswitch (G__10207) {\ncase 1:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12497 \x3d arguments.length;\nvar i__5770__auto___12498 \x3d (0);\nwhile(true){\nif((i__5770__auto___12498 \x3c len__5769__auto___12497)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12498]));\n\nvar G__12499 \x3d (i__5770__auto___12498 + (1));\ni__5770__auto___12498 \x3d G__12499;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn false;\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.not_EQ_.cljs$lang$applyTo \x3d (function (seq10204){\nvar G__10205 \x3d cljs.core.first(seq10204);\nvar seq10204__$1 \x3d cljs.core.next(seq10204);\nvar G__10206 \x3d cljs.core.first(seq10204__$1);\nvar seq10204__$2 \x3d cljs.core.next(seq10204__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10205,G__10206,seq10204__$2);\n}));\n\n(cljs.core.not_EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If coll is empty, returns nil, else coll\n */\ncljs.core.not_empty \x3d (function cljs$core$not_empty(coll){\nif(cljs.core.seq(coll)){\nreturn coll;\n} else {\nreturn null;\n}\n});\ncljs.core.nil_iter \x3d (function cljs$core$nil_iter(){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.t_cljs$core10208 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.t_cljs$core10208 \x3d (function (meta10209){\nthis.meta10209 \x3d meta10209;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core10208.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_10210,meta10209__$1){\nvar self__ \x3d this;\nvar _10210__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core10208(meta10209__$1));\n}));\n\n(cljs.core.t_cljs$core10208.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_10210){\nvar self__ \x3d this;\nvar _10210__$1 \x3d this;\nreturn self__.meta10209;\n}));\n\n(cljs.core.t_cljs$core10208.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn false;\n}));\n\n(cljs.core.t_cljs$core10208.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22No such element\x22));\n}));\n\n(cljs.core.t_cljs$core10208.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.t_cljs$core10208.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta10209\x22,\x22meta10209\x22,-361953473,null)], null);\n}));\n\n(cljs.core.t_cljs$core10208.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core10208.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core10208\x22);\n\n(cljs.core.t_cljs$core10208.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core10208\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core10208.\n */\ncljs.core.__GT_t_cljs$core10208 \x3d (function cljs$core$nil_iter_$___GT_t_cljs$core10208(meta10209){\nreturn (new cljs.core.t_cljs$core10208(meta10209));\n});\n\n}\n\nreturn (new cljs.core.t_cljs$core10208(cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.StringIter \x3d (function (s,i){\nthis.s \x3d s;\nthis.i \x3d i;\n});\n(cljs.core.StringIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.s.length);\n}));\n\n(cljs.core.StringIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.s.charAt(self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.StringIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.StringIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.StringIter.cljs$lang$type \x3d true);\n\n(cljs.core.StringIter.cljs$lang$ctorStr \x3d \x22cljs.core/StringIter\x22);\n\n(cljs.core.StringIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringIter.\n */\ncljs.core.__GT_StringIter \x3d (function cljs$core$__GT_StringIter(s,i){\nreturn (new cljs.core.StringIter(s,i));\n});\n\ncljs.core.string_iter \x3d (function cljs$core$string_iter(x){\nreturn (new cljs.core.StringIter(x,(0)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayIter \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.ArrayIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.ArrayIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.ArrayIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayIter.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayIter.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayIter\x22);\n\n(cljs.core.ArrayIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayIter.\n */\ncljs.core.__GT_ArrayIter \x3d (function cljs$core$__GT_ArrayIter(arr,i){\nreturn (new cljs.core.ArrayIter(arr,i));\n});\n\ncljs.core.array_iter \x3d (function cljs$core$array_iter(x){\nreturn (new cljs.core.ArrayIter(x,(0)));\n});\ncljs.core.INIT \x3d ({});\ncljs.core.START \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.SeqIter \x3d (function (_seq,_next){\nthis._seq \x3d _seq;\nthis._next \x3d _next;\n});\n(cljs.core.SeqIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__._seq \x3d\x3d\x3d cljs.core.INIT)){\n(self__._seq \x3d cljs.core.START);\n\n(self__._next \x3d cljs.core.seq(self__._next));\n} else {\nif((self__._seq \x3d\x3d\x3d self__._next)){\n(self__._next \x3d cljs.core.next(self__._seq));\n} else {\n}\n}\n\nreturn (!((self__._next \x3d\x3d null)));\n}));\n\n(cljs.core.SeqIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!(this$.hasNext()))){\nthrow (new Error(\x22No such element\x22));\n} else {\n(self__._seq \x3d self__._next);\n\nreturn cljs.core.first(self__._next);\n}\n}));\n\n(cljs.core.SeqIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.SeqIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22_seq\x22,\x22_seq\x22,-449557847,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.SeqIter.cljs$lang$type \x3d true);\n\n(cljs.core.SeqIter.cljs$lang$ctorStr \x3d \x22cljs.core/SeqIter\x22);\n\n(cljs.core.SeqIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/SeqIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/SeqIter.\n */\ncljs.core.__GT_SeqIter \x3d (function cljs$core$__GT_SeqIter(_seq,_next){\nreturn (new cljs.core.SeqIter(_seq,_next));\n});\n\ncljs.core.seq_iter \x3d (function cljs$core$seq_iter(coll){\nreturn (new cljs.core.SeqIter(cljs.core.INIT,coll));\n});\ncljs.core.iter \x3d (function cljs$core$iter(coll){\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core._iterator(coll);\n} else {\nif((coll \x3d\x3d null)){\nreturn cljs.core.nil_iter();\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.string_iter(coll);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_iter(coll);\n} else {\nif(cljs.core.seqable_QMARK_(coll)){\nreturn cljs.core.seq_iter(coll);\n} else {\nthrow (new Error([\x22Cannot create iterator from \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Many \x3d (function (vals){\nthis.vals \x3d vals;\n});\n(cljs.core.Many.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nself__.vals.push(o);\n\nreturn this$;\n}));\n\n(cljs.core.Many.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.vals.shift();\n}));\n\n(cljs.core.Many.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.vals.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.Many.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Many: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join(\x27\x27);\n}));\n\n(cljs.core.Many.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null)], null);\n}));\n\n(cljs.core.Many.cljs$lang$type \x3d true);\n\n(cljs.core.Many.cljs$lang$ctorStr \x3d \x22cljs.core/Many\x22);\n\n(cljs.core.Many.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Many\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Many.\n */\ncljs.core.__GT_Many \x3d (function cljs$core$__GT_Many(vals){\nreturn (new cljs.core.Many(vals));\n});\n\ncljs.core.NONE \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.Single \x3d (function (val){\nthis.val \x3d val;\n});\n(cljs.core.Single.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\n(self__.val \x3d o);\n\nreturn this$;\n} else {\nreturn (new cljs.core.Many([self__.val,o]));\n}\n}));\n\n(cljs.core.Single.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\nthrow (new Error(\x22Removing object from empty buffer\x22));\n} else {\nvar ret \x3d self__.val;\n(self__.val \x3d cljs.core.NONE);\n\nreturn ret;\n}\n}));\n\n(cljs.core.Single.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.val \x3d\x3d\x3d cljs.core.NONE);\n}));\n\n(cljs.core.Single.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Single: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join(\x27\x27);\n}));\n\n(cljs.core.Single.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Single.cljs$lang$type \x3d true);\n\n(cljs.core.Single.cljs$lang$ctorStr \x3d \x22cljs.core/Single\x22);\n\n(cljs.core.Single.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Single\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Single.\n */\ncljs.core.__GT_Single \x3d (function cljs$core$__GT_Single(val){\nreturn (new cljs.core.Single(val));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.Empty \x3d (function (){\n});\n(cljs.core.Empty.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (new cljs.core.Single(o));\n}));\n\n(cljs.core.Empty.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthrow (new Error(\x22Removing object from empty buffer\x22));\n}));\n\n(cljs.core.Empty.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(cljs.core.Empty.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn \x22Empty\x22;\n}));\n\n(cljs.core.Empty.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.Empty.cljs$lang$type \x3d true);\n\n(cljs.core.Empty.cljs$lang$ctorStr \x3d \x22cljs.core/Empty\x22);\n\n(cljs.core.Empty.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Empty\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Empty.\n */\ncljs.core.__GT_Empty \x3d (function cljs$core$__GT_Empty(){\nreturn (new cljs.core.Empty());\n});\n\ncljs.core.EMPTY \x3d (new cljs.core.Empty());\n\n/**\n* @constructor\n*/\ncljs.core.MultiIterator \x3d (function (iters){\nthis.iters \x3d iters;\n});\n(cljs.core.MultiIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar iters__$1 \x3d cljs.core.seq(self__.iters);\nwhile(true){\nif((!((iters__$1 \x3d\x3d null)))){\nvar iter \x3d cljs.core.first(iters__$1);\nif((!(iter.hasNext()))){\nreturn false;\n} else {\nvar G__12554 \x3d cljs.core.next(iters__$1);\niters__$1 \x3d G__12554;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.MultiIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar nexts \x3d [];\nvar n__5636__auto___12555 \x3d self__.iters.length;\nvar i_12556 \x3d (0);\nwhile(true){\nif((i_12556 \x3c n__5636__auto___12555)){\n(nexts[i_12556] \x3d (self__.iters[i_12556]).next());\n\nvar G__12557 \x3d (i_12556 + (1));\ni_12556 \x3d G__12557;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));\n}));\n\n(cljs.core.MultiIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iters\x22,\x22iters\x22,719353031,null)], null);\n}));\n\n(cljs.core.MultiIterator.cljs$lang$type \x3d true);\n\n(cljs.core.MultiIterator.cljs$lang$ctorStr \x3d \x22cljs.core/MultiIterator\x22);\n\n(cljs.core.MultiIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiIterator.\n */\ncljs.core.__GT_MultiIterator \x3d (function cljs$core$__GT_MultiIterator(iters){\nreturn (new cljs.core.MultiIterator(iters));\n});\n\ncljs.core.chunkIteratorSeq \x3d (function cljs$core$chunkIteratorSeq(iter){\nreturn (new cljs.core.LazySeq(null,(function (){\nif(iter.hasNext()){\nvar arr \x3d [];\nvar n \x3d (0);\nwhile(true){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d iter.hasNext();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (n \x3c (32));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(arr[n] \x3d iter.next());\n\nvar G__12558 \x3d (n + (1));\nn \x3d G__12558;\ncontinue;\n} else {\nreturn cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n),(cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(iter) : cljs.core.chunkIteratorSeq.call(null,iter)));\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\n\n/**\n* @constructor\n*/\ncljs.core.TransformerIterator \x3d (function (buffer,_next,completed,xf,sourceIter,multi){\nthis.buffer \x3d buffer;\nthis._next \x3d _next;\nthis.completed \x3d completed;\nthis.xf \x3d xf;\nthis.sourceIter \x3d sourceIter;\nthis.multi \x3d multi;\n});\n(cljs.core.TransformerIterator.prototype.step \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__._next \x3d\x3d\x3d cljs.core.NONE)))){\nreturn true;\n} else {\nwhile(true){\nif((self__._next \x3d\x3d\x3d cljs.core.NONE)){\nif(self__.buffer.isEmpty()){\nif(self__.completed){\nreturn false;\n} else {\nif(self__.sourceIter.hasNext()){\nvar iter \x3d ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__10211 \x3d null;\nvar G__10212 \x3d self__.sourceIter.next();\nreturn (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__10211,G__10212) : self__.xf.call(null,G__10211,G__10212));\n})());\nif(cljs.core.reduced_QMARK_(iter)){\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n} else {\n}\n\ncontinue;\n} else {\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n\ncontinue;\n}\n}\n} else {\n(self__._next \x3d self__.buffer.remove());\n\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.step();\n}));\n\n(cljs.core.TransformerIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nvar ret \x3d self__._next;\n(self__._next \x3d cljs.core.NONE);\n\nreturn ret;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.TransformerIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buffer\x22,\x22buffer\x22,-2037140571,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22completed\x22,\x22completed\x22,1154475024,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22xf\x22,\x22xf\x22,2042434515,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sourceIter\x22,\x22sourceIter\x22,1068220306,null),new cljs.core.Symbol(null,\x22multi\x22,\x22multi\x22,1450238522,null)], null);\n}));\n\n(cljs.core.TransformerIterator.cljs$lang$type \x3d true);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorStr \x3d \x22cljs.core/TransformerIterator\x22);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransformerIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransformerIterator.\n */\ncljs.core.__GT_TransformerIterator \x3d (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){\nreturn (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));\n});\n\n(cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.transformer_iterator \x3d (function cljs$core$transformer_iterator(xform,sourceIter,multi){\nvar iterator \x3d (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));\n(iterator.xf \x3d (function (){var G__10213 \x3d (function() {\nvar G__12561 \x3d null;\nvar G__12561__0 \x3d (function (){\nreturn null;\n});\nvar G__12561__1 \x3d (function (acc){\nreturn acc;\n});\nvar G__12561__2 \x3d (function (acc,o){\n(iterator.buffer \x3d iterator.buffer.add(o));\n\nreturn acc;\n});\nG__12561 \x3d function(acc,o){\nswitch(arguments.length){\ncase 0:\nreturn G__12561__0.call(this);\ncase 1:\nreturn G__12561__1.call(this,acc);\ncase 2:\nreturn G__12561__2.call(this,acc,o);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12561.cljs$core$IFn$_invoke$arity$0 \x3d G__12561__0;\nG__12561.cljs$core$IFn$_invoke$arity$1 \x3d G__12561__1;\nG__12561.cljs$core$IFn$_invoke$arity$2 \x3d G__12561__2;\nreturn G__12561;\n})()\n;\nreturn (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__10213) : xform.call(null,G__10213));\n})());\n\nreturn iterator;\n});\n(cljs.core.TransformerIterator.create \x3d (function (xform,source){\nreturn cljs.core.transformer_iterator(xform,source,false);\n}));\n(cljs.core.TransformerIterator.createMulti \x3d (function (xform,sources){\nreturn cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);\n}));\n/**\n * Coerces coll to a (possibly empty) sequence, if it is not already\n * one. Will not force a lazy seq. (sequence nil) yields (), When a\n * transducer is supplied, returns a lazy sequence of applications of\n * the transform to the items in coll(s), i.e. to the set of first\n * items of each coll, followed by the set of second\n * items in each coll, until any one of the colls is exhausted. Any\n * remaining items in other colls are ignored. The transform should accept\n * number-of-colls arguments\n */\ncljs.core.sequence \x3d (function cljs$core$sequence(var_args){\nvar G__10218 \x3d arguments.length;\nswitch (G__10218) {\ncase 1:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12574 \x3d arguments.length;\nvar i__5770__auto___12575 \x3d (0);\nwhile(true){\nif((i__5770__auto___12575 \x3c len__5769__auto___12574)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12575]));\n\nvar G__12576 \x3d (i__5770__auto___12575 + (1));\ni__5770__auto___12575 \x3d G__12576;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nif(cljs.core.seq_QMARK_(coll)){\nreturn coll;\n} else {\nvar or__5045__auto__ \x3d cljs.core.seq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,coll){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xform,coll,colls){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,(function (){var G__10219 \x3d cljs.core.iter;\nvar G__10220 \x3d cljs.core.cons(coll,colls);\nreturn (cljs.core.map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.map.cljs$core$IFn$_invoke$arity$2(G__10219,G__10220) : cljs.core.map.call(null,G__10219,G__10220));\n})()));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.sequence.cljs$lang$applyTo \x3d (function (seq10215){\nvar G__10216 \x3d cljs.core.first(seq10215);\nvar seq10215__$1 \x3d cljs.core.next(seq10215);\nvar G__10217 \x3d cljs.core.first(seq10215__$1);\nvar seq10215__$2 \x3d cljs.core.next(seq10215__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10216,G__10217,seq10215__$2);\n}));\n\n(cljs.core.sequence.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if (pred x) is logical true for every x in coll, else\n * false.\n */\ncljs.core.every_QMARK_ \x3d (function cljs$core$every_QMARK_(pred,coll){\nwhile(true){\nif((cljs.core.seq(coll) \x3d\x3d null)){\nreturn true;\n} else {\nif(cljs.core.truth_((function (){var G__10221 \x3d cljs.core.first(coll);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__10221) : pred.call(null,G__10221));\n})())){\nvar G__12581 \x3d pred;\nvar G__12582 \x3d cljs.core.next(coll);\npred \x3d G__12581;\ncoll \x3d G__12582;\ncontinue;\n} else {\nreturn false;\n\n}\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for every x in\n * coll, else true.\n */\ncljs.core.not_every_QMARK_ \x3d (function cljs$core$not_every_QMARK_(pred,coll){\nreturn (!(cljs.core.every_QMARK_(pred,coll)));\n});\n/**\n * Returns the first logical true value of (pred x) for any x in coll,\n * else nil. One common idiom is to use a set as pred, for example\n * this will return :fred if :fred is in the sequence, otherwise nil:\n * (some #{:fred} coll)\n */\ncljs.core.some \x3d (function cljs$core$some(pred,coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar or__5045__auto__ \x3d (function (){var G__10222 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__10222) : pred.call(null,G__10222));\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar G__12589 \x3d pred;\nvar G__12590 \x3d cljs.core.next(s);\npred \x3d G__12589;\ncoll \x3d G__12590;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for any x in coll,\n * else true.\n */\ncljs.core.not_any_QMARK_ \x3d (function cljs$core$not_any_QMARK_(pred,coll){\nreturn cljs.core.not(cljs.core.some(pred,coll));\n});\n/**\n * Returns true if n is even, throws an exception if n is not an integer\n */\ncljs.core.even_QMARK_ \x3d (function cljs$core$even_QMARK_(n){\nif(cljs.core.integer_QMARK_(n)){\nreturn ((n \x26 (1)) \x3d\x3d\x3d (0));\n} else {\nthrow (new Error([\x22Argument must be an integer: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)));\n}\n});\n/**\n * Returns true if n is odd, throws an exception if n is not an integer\n */\ncljs.core.odd_QMARK_ \x3d (function cljs$core$odd_QMARK_(n){\nreturn (!(cljs.core.even_QMARK_(n)));\n});\n/**\n * Takes a fn f and returns a fn that takes the same arguments as f,\n * has the same effects, if any, and returns the opposite truth value.\n */\ncljs.core.complement \x3d (function cljs$core$complement(f){\nreturn (function() {\nvar G__12592 \x3d null;\nvar G__12592__0 \x3d (function (){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));\n});\nvar G__12592__1 \x3d (function (x){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));\n});\nvar G__12592__2 \x3d (function (x,y){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));\n});\nvar G__12592__3 \x3d (function() { \nvar G__12593__delegate \x3d function (x,y,zs){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));\n};\nvar G__12593 \x3d function (x,y,var_args){\nvar zs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__12594__i \x3d 0, G__12594__a \x3d new Array(arguments.length - 2);\nwhile (G__12594__i \x3c G__12594__a.length) {G__12594__a[G__12594__i] \x3d arguments[G__12594__i + 2]; ++G__12594__i;}\n zs \x3d new cljs.core.IndexedSeq(G__12594__a,0,null);\n} \nreturn G__12593__delegate.call(this,x,y,zs);};\nG__12593.cljs$lang$maxFixedArity \x3d 2;\nG__12593.cljs$lang$applyTo \x3d (function (arglist__12596){\nvar x \x3d cljs.core.first(arglist__12596);\narglist__12596 \x3d cljs.core.next(arglist__12596);\nvar y \x3d cljs.core.first(arglist__12596);\nvar zs \x3d cljs.core.rest(arglist__12596);\nreturn G__12593__delegate(x,y,zs);\n});\nG__12593.cljs$core$IFn$_invoke$arity$variadic \x3d G__12593__delegate;\nreturn G__12593;\n})()\n;\nG__12592 \x3d function(x,y,var_args){\nvar zs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12592__0.call(this);\ncase 1:\nreturn G__12592__1.call(this,x);\ncase 2:\nreturn G__12592__2.call(this,x,y);\ndefault:\nvar G__12604 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__12606__i \x3d 0, G__12606__a \x3d new Array(arguments.length - 2);\nwhile (G__12606__i \x3c G__12606__a.length) {G__12606__a[G__12606__i] \x3d arguments[G__12606__i + 2]; ++G__12606__i;}\nG__12604 \x3d new cljs.core.IndexedSeq(G__12606__a,0,null);\n}\nreturn G__12592__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__12604);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12592.cljs$lang$maxFixedArity \x3d 2;\nG__12592.cljs$lang$applyTo \x3d G__12592__3.cljs$lang$applyTo;\nG__12592.cljs$core$IFn$_invoke$arity$0 \x3d G__12592__0;\nG__12592.cljs$core$IFn$_invoke$arity$1 \x3d G__12592__1;\nG__12592.cljs$core$IFn$_invoke$arity$2 \x3d G__12592__2;\nG__12592.cljs$core$IFn$_invoke$arity$variadic \x3d G__12592__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12592;\n})()\n});\n/**\n * Returns a function that takes any number of arguments and returns x.\n */\ncljs.core.constantly \x3d (function cljs$core$constantly(x){\nreturn (function() { \nvar G__12646__delegate \x3d function (args){\nreturn x;\n};\nvar G__12646 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__12648__i \x3d 0, G__12648__a \x3d new Array(arguments.length - 0);\nwhile (G__12648__i \x3c G__12648__a.length) {G__12648__a[G__12648__i] \x3d arguments[G__12648__i + 0]; ++G__12648__i;}\n args \x3d new cljs.core.IndexedSeq(G__12648__a,0,null);\n} \nreturn G__12646__delegate.call(this,args);};\nG__12646.cljs$lang$maxFixedArity \x3d 0;\nG__12646.cljs$lang$applyTo \x3d (function (arglist__12649){\nvar args \x3d cljs.core.seq(arglist__12649);\nreturn G__12646__delegate(args);\n});\nG__12646.cljs$core$IFn$_invoke$arity$variadic \x3d G__12646__delegate;\nreturn G__12646;\n})()\n;\n});\n/**\n * Takes a set of functions and returns a fn that is the composition\n * of those fns. The returned fn takes a variable number of args,\n * applies the rightmost of fns to the args, the next\n * fn (right-to-left) to the result, etc.\n */\ncljs.core.comp \x3d (function cljs$core$comp(var_args){\nvar G__10228 \x3d arguments.length;\nswitch (G__10228) {\ncase 0:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12657 \x3d arguments.length;\nvar i__5770__auto___12658 \x3d (0);\nwhile(true){\nif((i__5770__auto___12658 \x3c len__5769__auto___12657)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12658]));\n\nvar G__12659 \x3d (i__5770__auto___12658 + (1));\ni__5770__auto___12658 \x3d G__12659;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.identity;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__12660 \x3d null;\nvar G__12660__0 \x3d (function (){\nvar G__10229 \x3d (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10229) : f.call(null,G__10229));\n});\nvar G__12660__1 \x3d (function (x){\nvar G__10230 \x3d (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10230) : f.call(null,G__10230));\n});\nvar G__12660__2 \x3d (function (x,y){\nvar G__10231 \x3d (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10231) : f.call(null,G__10231));\n});\nvar G__12660__3 \x3d (function (x,y,z){\nvar G__10232 \x3d (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10232) : f.call(null,G__10232));\n});\nvar G__12660__4 \x3d (function() { \nvar G__12661__delegate \x3d function (x,y,z,args){\nvar G__10233 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10233) : f.call(null,G__10233));\n};\nvar G__12661 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12662__i \x3d 0, G__12662__a \x3d new Array(arguments.length - 3);\nwhile (G__12662__i \x3c G__12662__a.length) {G__12662__a[G__12662__i] \x3d arguments[G__12662__i + 3]; ++G__12662__i;}\n args \x3d new cljs.core.IndexedSeq(G__12662__a,0,null);\n} \nreturn G__12661__delegate.call(this,x,y,z,args);};\nG__12661.cljs$lang$maxFixedArity \x3d 3;\nG__12661.cljs$lang$applyTo \x3d (function (arglist__12664){\nvar x \x3d cljs.core.first(arglist__12664);\narglist__12664 \x3d cljs.core.next(arglist__12664);\nvar y \x3d cljs.core.first(arglist__12664);\narglist__12664 \x3d cljs.core.next(arglist__12664);\nvar z \x3d cljs.core.first(arglist__12664);\nvar args \x3d cljs.core.rest(arglist__12664);\nreturn G__12661__delegate(x,y,z,args);\n});\nG__12661.cljs$core$IFn$_invoke$arity$variadic \x3d G__12661__delegate;\nreturn G__12661;\n})()\n;\nG__12660 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12660__0.call(this);\ncase 1:\nreturn G__12660__1.call(this,x);\ncase 2:\nreturn G__12660__2.call(this,x,y);\ncase 3:\nreturn G__12660__3.call(this,x,y,z);\ndefault:\nvar G__12669 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12670__i \x3d 0, G__12670__a \x3d new Array(arguments.length - 3);\nwhile (G__12670__i \x3c G__12670__a.length) {G__12670__a[G__12670__i] \x3d arguments[G__12670__i + 3]; ++G__12670__i;}\nG__12669 \x3d new cljs.core.IndexedSeq(G__12670__a,0,null);\n}\nreturn G__12660__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12669);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12660.cljs$lang$maxFixedArity \x3d 3;\nG__12660.cljs$lang$applyTo \x3d G__12660__4.cljs$lang$applyTo;\nG__12660.cljs$core$IFn$_invoke$arity$0 \x3d G__12660__0;\nG__12660.cljs$core$IFn$_invoke$arity$1 \x3d G__12660__1;\nG__12660.cljs$core$IFn$_invoke$arity$2 \x3d G__12660__2;\nG__12660.cljs$core$IFn$_invoke$arity$3 \x3d G__12660__3;\nG__12660.cljs$core$IFn$_invoke$arity$variadic \x3d G__12660__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12660;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__12671 \x3d null;\nvar G__12671__0 \x3d (function (){\nvar G__10234 \x3d (function (){var G__10235 \x3d (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__10235) : g.call(null,G__10235));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10234) : f.call(null,G__10234));\n});\nvar G__12671__1 \x3d (function (x){\nvar G__10236 \x3d (function (){var G__10237 \x3d (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__10237) : g.call(null,G__10237));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10236) : f.call(null,G__10236));\n});\nvar G__12671__2 \x3d (function (x,y){\nvar G__10238 \x3d (function (){var G__10239 \x3d (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__10239) : g.call(null,G__10239));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10238) : f.call(null,G__10238));\n});\nvar G__12671__3 \x3d (function (x,y,z){\nvar G__10240 \x3d (function (){var G__10241 \x3d (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__10241) : g.call(null,G__10241));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10240) : f.call(null,G__10240));\n});\nvar G__12671__4 \x3d (function() { \nvar G__12672__delegate \x3d function (x,y,z,args){\nvar G__10242 \x3d (function (){var G__10243 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__10243) : g.call(null,G__10243));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10242) : f.call(null,G__10242));\n};\nvar G__12672 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12685__i \x3d 0, G__12685__a \x3d new Array(arguments.length - 3);\nwhile (G__12685__i \x3c G__12685__a.length) {G__12685__a[G__12685__i] \x3d arguments[G__12685__i + 3]; ++G__12685__i;}\n args \x3d new cljs.core.IndexedSeq(G__12685__a,0,null);\n} \nreturn G__12672__delegate.call(this,x,y,z,args);};\nG__12672.cljs$lang$maxFixedArity \x3d 3;\nG__12672.cljs$lang$applyTo \x3d (function (arglist__12686){\nvar x \x3d cljs.core.first(arglist__12686);\narglist__12686 \x3d cljs.core.next(arglist__12686);\nvar y \x3d cljs.core.first(arglist__12686);\narglist__12686 \x3d cljs.core.next(arglist__12686);\nvar z \x3d cljs.core.first(arglist__12686);\nvar args \x3d cljs.core.rest(arglist__12686);\nreturn G__12672__delegate(x,y,z,args);\n});\nG__12672.cljs$core$IFn$_invoke$arity$variadic \x3d G__12672__delegate;\nreturn G__12672;\n})()\n;\nG__12671 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12671__0.call(this);\ncase 1:\nreturn G__12671__1.call(this,x);\ncase 2:\nreturn G__12671__2.call(this,x,y);\ncase 3:\nreturn G__12671__3.call(this,x,y,z);\ndefault:\nvar G__12687 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12688__i \x3d 0, G__12688__a \x3d new Array(arguments.length - 3);\nwhile (G__12688__i \x3c G__12688__a.length) {G__12688__a[G__12688__i] \x3d arguments[G__12688__i + 3]; ++G__12688__i;}\nG__12687 \x3d new cljs.core.IndexedSeq(G__12688__a,0,null);\n}\nreturn G__12671__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12687);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12671.cljs$lang$maxFixedArity \x3d 3;\nG__12671.cljs$lang$applyTo \x3d G__12671__4.cljs$lang$applyTo;\nG__12671.cljs$core$IFn$_invoke$arity$0 \x3d G__12671__0;\nG__12671.cljs$core$IFn$_invoke$arity$1 \x3d G__12671__1;\nG__12671.cljs$core$IFn$_invoke$arity$2 \x3d G__12671__2;\nG__12671.cljs$core$IFn$_invoke$arity$3 \x3d G__12671__3;\nG__12671.cljs$core$IFn$_invoke$arity$variadic \x3d G__12671__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12671;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f1,f2,f3,fs){\nvar fs__$1 \x3d cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));\nreturn (function() { \nvar G__12690__delegate \x3d function (args){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);\nvar fs__$2 \x3d cljs.core.next(fs__$1);\nwhile(true){\nif(fs__$2){\nvar G__12691 \x3d (function (){var fexpr__10244 \x3d cljs.core.first(fs__$2);\nreturn (fexpr__10244.cljs$core$IFn$_invoke$arity$1 ? fexpr__10244.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__10244.call(null,ret));\n})();\nvar G__12692 \x3d cljs.core.next(fs__$2);\nret \x3d G__12691;\nfs__$2 \x3d G__12692;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n};\nvar G__12690 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__12693__i \x3d 0, G__12693__a \x3d new Array(arguments.length - 0);\nwhile (G__12693__i \x3c G__12693__a.length) {G__12693__a[G__12693__i] \x3d arguments[G__12693__i + 0]; ++G__12693__i;}\n args \x3d new cljs.core.IndexedSeq(G__12693__a,0,null);\n} \nreturn G__12690__delegate.call(this,args);};\nG__12690.cljs$lang$maxFixedArity \x3d 0;\nG__12690.cljs$lang$applyTo \x3d (function (arglist__12694){\nvar args \x3d cljs.core.seq(arglist__12694);\nreturn G__12690__delegate(args);\n});\nG__12690.cljs$core$IFn$_invoke$arity$variadic \x3d G__12690__delegate;\nreturn G__12690;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.comp.cljs$lang$applyTo \x3d (function (seq10224){\nvar G__10225 \x3d cljs.core.first(seq10224);\nvar seq10224__$1 \x3d cljs.core.next(seq10224);\nvar G__10226 \x3d cljs.core.first(seq10224__$1);\nvar seq10224__$2 \x3d cljs.core.next(seq10224__$1);\nvar G__10227 \x3d cljs.core.first(seq10224__$2);\nvar seq10224__$3 \x3d cljs.core.next(seq10224__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10225,G__10226,G__10227,seq10224__$3);\n}));\n\n(cljs.core.comp.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a function f and fewer than the normal arguments to f, and\n * returns a fn that takes a variable number of additional args. When\n * called, the returned function calls f with args + additional args.\n */\ncljs.core.partial \x3d (function cljs$core$partial(var_args){\nvar G__10251 \x3d arguments.length;\nswitch (G__10251) {\ncase 1:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12697 \x3d arguments.length;\nvar i__5770__auto___12698 \x3d (0);\nwhile(true){\nif((i__5770__auto___12698 \x3c len__5769__auto___12697)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12698]));\n\nvar G__12700 \x3d (i__5770__auto___12698 + (1));\ni__5770__auto___12698 \x3d G__12700;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,arg1){\nreturn (function() {\nvar G__12705 \x3d null;\nvar G__12705__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));\n});\nvar G__12705__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));\n});\nvar G__12705__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));\n});\nvar G__12705__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,x,y,z) : f.call(null,arg1,x,y,z));\n});\nvar G__12705__4 \x3d (function() { \nvar G__12712__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__12712 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12714__i \x3d 0, G__12714__a \x3d new Array(arguments.length - 3);\nwhile (G__12714__i \x3c G__12714__a.length) {G__12714__a[G__12714__i] \x3d arguments[G__12714__i + 3]; ++G__12714__i;}\n args \x3d new cljs.core.IndexedSeq(G__12714__a,0,null);\n} \nreturn G__12712__delegate.call(this,x,y,z,args);};\nG__12712.cljs$lang$maxFixedArity \x3d 3;\nG__12712.cljs$lang$applyTo \x3d (function (arglist__12715){\nvar x \x3d cljs.core.first(arglist__12715);\narglist__12715 \x3d cljs.core.next(arglist__12715);\nvar y \x3d cljs.core.first(arglist__12715);\narglist__12715 \x3d cljs.core.next(arglist__12715);\nvar z \x3d cljs.core.first(arglist__12715);\nvar args \x3d cljs.core.rest(arglist__12715);\nreturn G__12712__delegate(x,y,z,args);\n});\nG__12712.cljs$core$IFn$_invoke$arity$variadic \x3d G__12712__delegate;\nreturn G__12712;\n})()\n;\nG__12705 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12705__0.call(this);\ncase 1:\nreturn G__12705__1.call(this,x);\ncase 2:\nreturn G__12705__2.call(this,x,y);\ncase 3:\nreturn G__12705__3.call(this,x,y,z);\ndefault:\nvar G__12716 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12717__i \x3d 0, G__12717__a \x3d new Array(arguments.length - 3);\nwhile (G__12717__i \x3c G__12717__a.length) {G__12717__a[G__12717__i] \x3d arguments[G__12717__i + 3]; ++G__12717__i;}\nG__12716 \x3d new cljs.core.IndexedSeq(G__12717__a,0,null);\n}\nreturn G__12705__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12716);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12705.cljs$lang$maxFixedArity \x3d 3;\nG__12705.cljs$lang$applyTo \x3d G__12705__4.cljs$lang$applyTo;\nG__12705.cljs$core$IFn$_invoke$arity$0 \x3d G__12705__0;\nG__12705.cljs$core$IFn$_invoke$arity$1 \x3d G__12705__1;\nG__12705.cljs$core$IFn$_invoke$arity$2 \x3d G__12705__2;\nG__12705.cljs$core$IFn$_invoke$arity$3 \x3d G__12705__3;\nG__12705.cljs$core$IFn$_invoke$arity$variadic \x3d G__12705__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12705;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,arg1,arg2){\nreturn (function() {\nvar G__12718 \x3d null;\nvar G__12718__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));\n});\nvar G__12718__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));\n});\nvar G__12718__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,x,y) : f.call(null,arg1,arg2,x,y));\n});\nvar G__12718__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,x,y,z) : f.call(null,arg1,arg2,x,y,z));\n});\nvar G__12718__4 \x3d (function() { \nvar G__12719__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,x,y,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([z,args], 0));\n};\nvar G__12719 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12720__i \x3d 0, G__12720__a \x3d new Array(arguments.length - 3);\nwhile (G__12720__i \x3c G__12720__a.length) {G__12720__a[G__12720__i] \x3d arguments[G__12720__i + 3]; ++G__12720__i;}\n args \x3d new cljs.core.IndexedSeq(G__12720__a,0,null);\n} \nreturn G__12719__delegate.call(this,x,y,z,args);};\nG__12719.cljs$lang$maxFixedArity \x3d 3;\nG__12719.cljs$lang$applyTo \x3d (function (arglist__12721){\nvar x \x3d cljs.core.first(arglist__12721);\narglist__12721 \x3d cljs.core.next(arglist__12721);\nvar y \x3d cljs.core.first(arglist__12721);\narglist__12721 \x3d cljs.core.next(arglist__12721);\nvar z \x3d cljs.core.first(arglist__12721);\nvar args \x3d cljs.core.rest(arglist__12721);\nreturn G__12719__delegate(x,y,z,args);\n});\nG__12719.cljs$core$IFn$_invoke$arity$variadic \x3d G__12719__delegate;\nreturn G__12719;\n})()\n;\nG__12718 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12718__0.call(this);\ncase 1:\nreturn G__12718__1.call(this,x);\ncase 2:\nreturn G__12718__2.call(this,x,y);\ncase 3:\nreturn G__12718__3.call(this,x,y,z);\ndefault:\nvar G__12722 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12723__i \x3d 0, G__12723__a \x3d new Array(arguments.length - 3);\nwhile (G__12723__i \x3c G__12723__a.length) {G__12723__a[G__12723__i] \x3d arguments[G__12723__i + 3]; ++G__12723__i;}\nG__12722 \x3d new cljs.core.IndexedSeq(G__12723__a,0,null);\n}\nreturn G__12718__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12722);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12718.cljs$lang$maxFixedArity \x3d 3;\nG__12718.cljs$lang$applyTo \x3d G__12718__4.cljs$lang$applyTo;\nG__12718.cljs$core$IFn$_invoke$arity$0 \x3d G__12718__0;\nG__12718.cljs$core$IFn$_invoke$arity$1 \x3d G__12718__1;\nG__12718.cljs$core$IFn$_invoke$arity$2 \x3d G__12718__2;\nG__12718.cljs$core$IFn$_invoke$arity$3 \x3d G__12718__3;\nG__12718.cljs$core$IFn$_invoke$arity$variadic \x3d G__12718__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12718;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,arg1,arg2,arg3){\nreturn (function() {\nvar G__12724 \x3d null;\nvar G__12724__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));\n});\nvar G__12724__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,arg3,x) : f.call(null,arg1,arg2,arg3,x));\n});\nvar G__12724__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,arg3,x,y) : f.call(null,arg1,arg2,arg3,x,y));\n});\nvar G__12724__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg1,arg2,arg3,x,y,z) : f.call(null,arg1,arg2,arg3,x,y,z));\n});\nvar G__12724__4 \x3d (function() { \nvar G__12726__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,arg3,x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([y,z,args], 0));\n};\nvar G__12726 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12727__i \x3d 0, G__12727__a \x3d new Array(arguments.length - 3);\nwhile (G__12727__i \x3c G__12727__a.length) {G__12727__a[G__12727__i] \x3d arguments[G__12727__i + 3]; ++G__12727__i;}\n args \x3d new cljs.core.IndexedSeq(G__12727__a,0,null);\n} \nreturn G__12726__delegate.call(this,x,y,z,args);};\nG__12726.cljs$lang$maxFixedArity \x3d 3;\nG__12726.cljs$lang$applyTo \x3d (function (arglist__12728){\nvar x \x3d cljs.core.first(arglist__12728);\narglist__12728 \x3d cljs.core.next(arglist__12728);\nvar y \x3d cljs.core.first(arglist__12728);\narglist__12728 \x3d cljs.core.next(arglist__12728);\nvar z \x3d cljs.core.first(arglist__12728);\nvar args \x3d cljs.core.rest(arglist__12728);\nreturn G__12726__delegate(x,y,z,args);\n});\nG__12726.cljs$core$IFn$_invoke$arity$variadic \x3d G__12726__delegate;\nreturn G__12726;\n})()\n;\nG__12724 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12724__0.call(this);\ncase 1:\nreturn G__12724__1.call(this,x);\ncase 2:\nreturn G__12724__2.call(this,x,y);\ncase 3:\nreturn G__12724__3.call(this,x,y,z);\ndefault:\nvar G__12730 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12731__i \x3d 0, G__12731__a \x3d new Array(arguments.length - 3);\nwhile (G__12731__i \x3c G__12731__a.length) {G__12731__a[G__12731__i] \x3d arguments[G__12731__i + 3]; ++G__12731__i;}\nG__12730 \x3d new cljs.core.IndexedSeq(G__12731__a,0,null);\n}\nreturn G__12724__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12730);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12724.cljs$lang$maxFixedArity \x3d 3;\nG__12724.cljs$lang$applyTo \x3d G__12724__4.cljs$lang$applyTo;\nG__12724.cljs$core$IFn$_invoke$arity$0 \x3d G__12724__0;\nG__12724.cljs$core$IFn$_invoke$arity$1 \x3d G__12724__1;\nG__12724.cljs$core$IFn$_invoke$arity$2 \x3d G__12724__2;\nG__12724.cljs$core$IFn$_invoke$arity$3 \x3d G__12724__3;\nG__12724.cljs$core$IFn$_invoke$arity$variadic \x3d G__12724__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12724;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,arg1,arg2,arg3,more){\nreturn (function() { \nvar G__12732__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));\n};\nvar G__12732 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__12733__i \x3d 0, G__12733__a \x3d new Array(arguments.length - 0);\nwhile (G__12733__i \x3c G__12733__a.length) {G__12733__a[G__12733__i] \x3d arguments[G__12733__i + 0]; ++G__12733__i;}\n args \x3d new cljs.core.IndexedSeq(G__12733__a,0,null);\n} \nreturn G__12732__delegate.call(this,args);};\nG__12732.cljs$lang$maxFixedArity \x3d 0;\nG__12732.cljs$lang$applyTo \x3d (function (arglist__12734){\nvar args \x3d cljs.core.seq(arglist__12734);\nreturn G__12732__delegate(args);\n});\nG__12732.cljs$core$IFn$_invoke$arity$variadic \x3d G__12732__delegate;\nreturn G__12732;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.partial.cljs$lang$applyTo \x3d (function (seq10246){\nvar G__10247 \x3d cljs.core.first(seq10246);\nvar seq10246__$1 \x3d cljs.core.next(seq10246);\nvar G__10248 \x3d cljs.core.first(seq10246__$1);\nvar seq10246__$2 \x3d cljs.core.next(seq10246__$1);\nvar G__10249 \x3d cljs.core.first(seq10246__$2);\nvar seq10246__$3 \x3d cljs.core.next(seq10246__$2);\nvar G__10250 \x3d cljs.core.first(seq10246__$3);\nvar seq10246__$4 \x3d cljs.core.next(seq10246__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10247,G__10248,G__10249,G__10250,seq10246__$4);\n}));\n\n(cljs.core.partial.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Takes a function f, and returns a function that calls f, replacing\n * a nil first argument to f with the supplied value x. Higher arity\n * versions can replace arguments in the second and third\n * positions (y, z). Note that the function f can take any number of\n * arguments, not just the one(s) being nil-patched.\n */\ncljs.core.fnil \x3d (function cljs$core$fnil(var_args){\nvar G__10253 \x3d arguments.length;\nswitch (G__10253) {\ncase 2:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,x){\nreturn (function() {\nvar G__12737 \x3d null;\nvar G__12737__1 \x3d (function (a){\nvar G__10254 \x3d (((a \x3d\x3d null))?x:a);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10254) : f.call(null,G__10254));\n});\nvar G__12737__2 \x3d (function (a,b){\nvar G__10255 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10256 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10255,G__10256) : f.call(null,G__10255,G__10256));\n});\nvar G__12737__3 \x3d (function (a,b,c){\nvar G__10257 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10258 \x3d b;\nvar G__10259 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10257,G__10258,G__10259) : f.call(null,G__10257,G__10258,G__10259));\n});\nvar G__12737__4 \x3d (function() { \nvar G__12741__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),b,c,ds);\n};\nvar G__12741 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12742__i \x3d 0, G__12742__a \x3d new Array(arguments.length - 3);\nwhile (G__12742__i \x3c G__12742__a.length) {G__12742__a[G__12742__i] \x3d arguments[G__12742__i + 3]; ++G__12742__i;}\n ds \x3d new cljs.core.IndexedSeq(G__12742__a,0,null);\n} \nreturn G__12741__delegate.call(this,a,b,c,ds);};\nG__12741.cljs$lang$maxFixedArity \x3d 3;\nG__12741.cljs$lang$applyTo \x3d (function (arglist__12744){\nvar a \x3d cljs.core.first(arglist__12744);\narglist__12744 \x3d cljs.core.next(arglist__12744);\nvar b \x3d cljs.core.first(arglist__12744);\narglist__12744 \x3d cljs.core.next(arglist__12744);\nvar c \x3d cljs.core.first(arglist__12744);\nvar ds \x3d cljs.core.rest(arglist__12744);\nreturn G__12741__delegate(a,b,c,ds);\n});\nG__12741.cljs$core$IFn$_invoke$arity$variadic \x3d G__12741__delegate;\nreturn G__12741;\n})()\n;\nG__12737 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 1:\nreturn G__12737__1.call(this,a);\ncase 2:\nreturn G__12737__2.call(this,a,b);\ncase 3:\nreturn G__12737__3.call(this,a,b,c);\ndefault:\nvar G__12745 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12746__i \x3d 0, G__12746__a \x3d new Array(arguments.length - 3);\nwhile (G__12746__i \x3c G__12746__a.length) {G__12746__a[G__12746__i] \x3d arguments[G__12746__i + 3]; ++G__12746__i;}\nG__12745 \x3d new cljs.core.IndexedSeq(G__12746__a,0,null);\n}\nreturn G__12737__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12745);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12737.cljs$lang$maxFixedArity \x3d 3;\nG__12737.cljs$lang$applyTo \x3d G__12737__4.cljs$lang$applyTo;\nG__12737.cljs$core$IFn$_invoke$arity$1 \x3d G__12737__1;\nG__12737.cljs$core$IFn$_invoke$arity$2 \x3d G__12737__2;\nG__12737.cljs$core$IFn$_invoke$arity$3 \x3d G__12737__3;\nG__12737.cljs$core$IFn$_invoke$arity$variadic \x3d G__12737__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12737;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,y){\nreturn (function() {\nvar G__12748 \x3d null;\nvar G__12748__2 \x3d (function (a,b){\nvar G__10260 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10261 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10260,G__10261) : f.call(null,G__10260,G__10261));\n});\nvar G__12748__3 \x3d (function (a,b,c){\nvar G__10262 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10263 \x3d (((b \x3d\x3d null))?y:b);\nvar G__10264 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10262,G__10263,G__10264) : f.call(null,G__10262,G__10263,G__10264));\n});\nvar G__12748__4 \x3d (function() { \nvar G__12750__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),c,ds);\n};\nvar G__12750 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12751__i \x3d 0, G__12751__a \x3d new Array(arguments.length - 3);\nwhile (G__12751__i \x3c G__12751__a.length) {G__12751__a[G__12751__i] \x3d arguments[G__12751__i + 3]; ++G__12751__i;}\n ds \x3d new cljs.core.IndexedSeq(G__12751__a,0,null);\n} \nreturn G__12750__delegate.call(this,a,b,c,ds);};\nG__12750.cljs$lang$maxFixedArity \x3d 3;\nG__12750.cljs$lang$applyTo \x3d (function (arglist__12752){\nvar a \x3d cljs.core.first(arglist__12752);\narglist__12752 \x3d cljs.core.next(arglist__12752);\nvar b \x3d cljs.core.first(arglist__12752);\narglist__12752 \x3d cljs.core.next(arglist__12752);\nvar c \x3d cljs.core.first(arglist__12752);\nvar ds \x3d cljs.core.rest(arglist__12752);\nreturn G__12750__delegate(a,b,c,ds);\n});\nG__12750.cljs$core$IFn$_invoke$arity$variadic \x3d G__12750__delegate;\nreturn G__12750;\n})()\n;\nG__12748 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__12748__2.call(this,a,b);\ncase 3:\nreturn G__12748__3.call(this,a,b,c);\ndefault:\nvar G__12759 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12760__i \x3d 0, G__12760__a \x3d new Array(arguments.length - 3);\nwhile (G__12760__i \x3c G__12760__a.length) {G__12760__a[G__12760__i] \x3d arguments[G__12760__i + 3]; ++G__12760__i;}\nG__12759 \x3d new cljs.core.IndexedSeq(G__12760__a,0,null);\n}\nreturn G__12748__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12759);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12748.cljs$lang$maxFixedArity \x3d 3;\nG__12748.cljs$lang$applyTo \x3d G__12748__4.cljs$lang$applyTo;\nG__12748.cljs$core$IFn$_invoke$arity$2 \x3d G__12748__2;\nG__12748.cljs$core$IFn$_invoke$arity$3 \x3d G__12748__3;\nG__12748.cljs$core$IFn$_invoke$arity$variadic \x3d G__12748__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12748;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,z){\nreturn (function() {\nvar G__12767 \x3d null;\nvar G__12767__2 \x3d (function (a,b){\nvar G__10265 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10266 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10265,G__10266) : f.call(null,G__10265,G__10266));\n});\nvar G__12767__3 \x3d (function (a,b,c){\nvar G__10267 \x3d (((a \x3d\x3d null))?x:a);\nvar G__10268 \x3d (((b \x3d\x3d null))?y:b);\nvar G__10269 \x3d (((c \x3d\x3d null))?z:c);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10267,G__10268,G__10269) : f.call(null,G__10267,G__10268,G__10269));\n});\nvar G__12767__4 \x3d (function() { \nvar G__12774__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),(((c \x3d\x3d null))?z:c),ds);\n};\nvar G__12774 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12783__i \x3d 0, G__12783__a \x3d new Array(arguments.length - 3);\nwhile (G__12783__i \x3c G__12783__a.length) {G__12783__a[G__12783__i] \x3d arguments[G__12783__i + 3]; ++G__12783__i;}\n ds \x3d new cljs.core.IndexedSeq(G__12783__a,0,null);\n} \nreturn G__12774__delegate.call(this,a,b,c,ds);};\nG__12774.cljs$lang$maxFixedArity \x3d 3;\nG__12774.cljs$lang$applyTo \x3d (function (arglist__12792){\nvar a \x3d cljs.core.first(arglist__12792);\narglist__12792 \x3d cljs.core.next(arglist__12792);\nvar b \x3d cljs.core.first(arglist__12792);\narglist__12792 \x3d cljs.core.next(arglist__12792);\nvar c \x3d cljs.core.first(arglist__12792);\nvar ds \x3d cljs.core.rest(arglist__12792);\nreturn G__12774__delegate(a,b,c,ds);\n});\nG__12774.cljs$core$IFn$_invoke$arity$variadic \x3d G__12774__delegate;\nreturn G__12774;\n})()\n;\nG__12767 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__12767__2.call(this,a,b);\ncase 3:\nreturn G__12767__3.call(this,a,b,c);\ndefault:\nvar G__12793 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12794__i \x3d 0, G__12794__a \x3d new Array(arguments.length - 3);\nwhile (G__12794__i \x3c G__12794__a.length) {G__12794__a[G__12794__i] \x3d arguments[G__12794__i + 3]; ++G__12794__i;}\nG__12793 \x3d new cljs.core.IndexedSeq(G__12794__a,0,null);\n}\nreturn G__12767__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12793);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12767.cljs$lang$maxFixedArity \x3d 3;\nG__12767.cljs$lang$applyTo \x3d G__12767__4.cljs$lang$applyTo;\nG__12767.cljs$core$IFn$_invoke$arity$2 \x3d G__12767__2;\nG__12767.cljs$core$IFn$_invoke$arity$3 \x3d G__12767__3;\nG__12767.cljs$core$IFn$_invoke$arity$variadic \x3d G__12767__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12767;\n})()\n}));\n\n(cljs.core.fnil.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to 0\n * and the first item of coll, followed by applying f to 1 and the second\n * item in coll, etc, until coll is exhausted. Thus function f should\n * accept 2 arguments, index and item. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.map_indexed \x3d (function cljs$core$map_indexed(var_args){\nvar G__10271 \x3d arguments.length;\nswitch (G__10271) {\ncase 1:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar i \x3d (cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1((-1)) : cljs.core.volatile_BANG_.call(null,(-1)));\nreturn (function() {\nvar G__12796 \x3d null;\nvar G__12796__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12796__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12796__2 \x3d (function (result,input){\nvar G__10272 \x3d result;\nvar G__10273 \x3d (function (){var G__10274 \x3d cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));\nvar G__10275 \x3d input;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10274,G__10275) : f.call(null,G__10274,G__10275));\n})();\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__10272,G__10273) : rf.call(null,G__10272,G__10273));\n});\nG__12796 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12796__0.call(this);\ncase 1:\nreturn G__12796__1.call(this,result);\ncase 2:\nreturn G__12796__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12796.cljs$core$IFn$_invoke$arity$0 \x3d G__12796__0;\nG__12796.cljs$core$IFn$_invoke$arity$1 \x3d G__12796__1;\nG__12796.cljs$core$IFn$_invoke$arity$2 \x3d G__12796__2;\nreturn G__12796;\n})()\n});\n}));\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar mapi \x3d (function cljs$core$mapi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___12808 \x3d size;\nvar i_12809 \x3d (0);\nwhile(true){\nif((i_12809 \x3c n__5636__auto___12808)){\ncljs.core.chunk_append(b,(function (){var G__10280 \x3d (idx + i_12809);\nvar G__10281 \x3d cljs.core._nth(c,i_12809);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10280,G__10281) : f.call(null,G__10280,G__10281));\n})());\n\nvar G__12810 \x3d (i_12809 + (1));\ni_12809 \x3d G__12810;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__10282 \x3d idx;\nvar G__10283 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10282,G__10283) : f.call(null,G__10282,G__10283));\n})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn mapi((0),coll);\n}));\n\n(cljs.core.map_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the non-nil results of (f item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a transducer when no collection is provided.\n */\ncljs.core.keep \x3d (function cljs$core$keep(var_args){\nvar G__10285 \x3d arguments.length;\nswitch (G__10285) {\ncase 1:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__12827 \x3d null;\nvar G__12827__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12827__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12827__2 \x3d (function (result,input){\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__12827 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12827__0.call(this);\ncase 1:\nreturn G__12827__1.call(this,result);\ncase 2:\nreturn G__12827__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12827.cljs$core$IFn$_invoke$arity$0 \x3d G__12827__0;\nG__12827.cljs$core$IFn$_invoke$arity$1 \x3d G__12827__1;\nG__12827.cljs$core$IFn$_invoke$arity$2 \x3d G__12827__2;\nreturn G__12827;\n})()\n});\n}));\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___12835 \x3d size;\nvar i_12836 \x3d (0);\nwhile(true){\nif((i_12836 \x3c n__5636__auto___12835)){\nvar x_12837 \x3d (function (){var G__10286 \x3d cljs.core._nth(c,i_12836);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10286) : f.call(null,G__10286));\n})();\nif((x_12837 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_12837);\n}\n\nvar G__12838 \x3d (i_12836 + (1));\ni_12836 \x3d G__12838;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__10287 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10287) : f.call(null,G__10287));\n})();\nif((x \x3d\x3d null)){\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.keep.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Atom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 16386;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6455296;\n});\n(cljs.core.Atom.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar seq__10288 \x3d cljs.core.seq(self__.watches);\nvar chunk__10289 \x3d null;\nvar count__10290 \x3d (0);\nvar i__10291 \x3d (0);\nwhile(true){\nif((i__10291 \x3c count__10290)){\nvar vec__10298 \x3d chunk__10289.cljs$core$IIndexed$_nth$arity$2(null,i__10291);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10298,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10298,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__12839 \x3d seq__10288;\nvar G__12840 \x3d chunk__10289;\nvar G__12841 \x3d count__10290;\nvar G__12842 \x3d (i__10291 + (1));\nseq__10288 \x3d G__12839;\nchunk__10289 \x3d G__12840;\ncount__10290 \x3d G__12841;\ni__10291 \x3d G__12842;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10288);\nif(temp__5804__auto__){\nvar seq__10288__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10288__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10288__$1);\nvar G__12843 \x3d cljs.core.chunk_rest(seq__10288__$1);\nvar G__12844 \x3d c__5568__auto__;\nvar G__12845 \x3d cljs.core.count(c__5568__auto__);\nvar G__12846 \x3d (0);\nseq__10288 \x3d G__12843;\nchunk__10289 \x3d G__12844;\ncount__10290 \x3d G__12845;\ni__10291 \x3d G__12846;\ncontinue;\n} else {\nvar vec__10301 \x3d cljs.core.first(seq__10288__$1);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10301,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10301,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__12847 \x3d cljs.core.next(seq__10288__$1);\nvar G__12848 \x3d null;\nvar G__12849 \x3d (0);\nvar G__12850 \x3d (0);\nseq__10288 \x3d G__12847;\nchunk__10289 \x3d G__12848;\ncount__10290 \x3d G__12849;\ni__10291 \x3d G__12850;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(this$__$1.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f));\n\nreturn this$__$1;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.Atom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null)], null);\n}));\n\n(cljs.core.Atom.cljs$lang$type \x3d true);\n\n(cljs.core.Atom.cljs$lang$ctorStr \x3d \x22cljs.core/Atom\x22);\n\n(cljs.core.Atom.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Atom\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Atom.\n */\ncljs.core.__GT_Atom \x3d (function cljs$core$__GT_Atom(state,meta,validator,watches){\nreturn (new cljs.core.Atom(state,meta,validator,watches));\n});\n\n/**\n * Creates and returns an Atom with an initial value of x and zero or\n * more options (in any order):\n * \n * :meta metadata-map\n * \n * :validator validate-fn\n * \n * If metadata-map is supplied, it will become the metadata on the\n * atom. validate-fn must be nil or a side-effect-free fn of one\n * argument, which will be passed the intended new state on any state\n * change. If the new state is unacceptable, the validate-fn should\n * return false or throw an Error. If either of these error conditions\n * occur, then the value of the atom will not change.\n */\ncljs.core.atom \x3d (function cljs$core$atom(var_args){\nvar G__10307 \x3d arguments.length;\nswitch (G__10307) {\ncase 1:\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12855 \x3d arguments.length;\nvar i__5770__auto___12856 \x3d (0);\nwhile(true){\nif((i__5770__auto___12856 \x3c len__5769__auto___12855)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12856]));\n\nvar G__12857 \x3d (i__5770__auto___12856 + (1));\ni__5770__auto___12856 \x3d G__12857;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Atom(x,null,null,null));\n}));\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__10308){\nvar map__10309 \x3d p__10308;\nvar map__10309__$1 \x3d cljs.core.__destructure_map(map__10309);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__10309__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__10309__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn (new cljs.core.Atom(x,meta,validator,null));\n}));\n\n/** @this {Function} */\n(cljs.core.atom.cljs$lang$applyTo \x3d (function (seq10305){\nvar G__10306 \x3d cljs.core.first(seq10305);\nvar seq10305__$1 \x3d cljs.core.next(seq10305);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10306,seq10305__$1);\n}));\n\n(cljs.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Sets the value of atom to newval without regard for the\n * current value. Returns new-value.\n */\ncljs.core.reset_BANG_ \x3d (function cljs$core$reset_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new_value;\n} else {\nreturn cljs.core._reset_BANG_(a,new_value);\n}\n});\n/**\n * Sets the value of atom to newval. Returns [old new], the value of the\n * atom before and after the reset.\n */\ncljs.core.reset_vals_BANG_ \x3d (function cljs$core$reset_vals_BANG_(a,new_value){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\ncljs.core._notify_watches(a,old_value,new_value);\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);\n});\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects. Returns\n * the value that was swapped in.\n */\ncljs.core.swap_BANG_ \x3d (function cljs$core$swap_BANG_(var_args){\nvar G__10316 \x3d arguments.length;\nswitch (G__10316) {\ncase 2:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12865 \x3d arguments.length;\nvar i__5770__auto___12866 \x3d (0);\nwhile(true){\nif((i__5770__auto___12866 \x3c len__5769__auto___12865)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12866]));\n\nvar G__12867 \x3d (i__5770__auto___12866 + (1));\ni__5770__auto___12866 \x3d G__12867;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__10317 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10317) : f.call(null,G__10317));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__10318 \x3d a.state;\nvar G__10319 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10318,G__10319) : f.call(null,G__10318,G__10319));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__10320 \x3d a.state;\nvar G__10321 \x3d x;\nvar G__10322 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10320,G__10321,G__10322) : f.call(null,G__10320,G__10321,G__10322));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y,more);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_BANG_.cljs$lang$applyTo \x3d (function (seq10311){\nvar G__10312 \x3d cljs.core.first(seq10311);\nvar seq10311__$1 \x3d cljs.core.next(seq10311);\nvar G__10313 \x3d cljs.core.first(seq10311__$1);\nvar seq10311__$2 \x3d cljs.core.next(seq10311__$1);\nvar G__10314 \x3d cljs.core.first(seq10311__$2);\nvar seq10311__$3 \x3d cljs.core.next(seq10311__$2);\nvar G__10315 \x3d cljs.core.first(seq10311__$3);\nvar seq10311__$4 \x3d cljs.core.next(seq10311__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10312,G__10313,G__10314,G__10315,seq10311__$4);\n}));\n\n(cljs.core.swap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects.\n * Returns [old new], the value of the atom before and after the swap.\n */\ncljs.core.swap_vals_BANG_ \x3d (function cljs$core$swap_vals_BANG_(var_args){\nvar G__10329 \x3d arguments.length;\nswitch (G__10329) {\ncase 2:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12870 \x3d arguments.length;\nvar i__5770__auto___12871 \x3d (0);\nwhile(true){\nif((i__5770__auto___12871 \x3c len__5769__auto___12870)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12871]));\n\nvar G__12872 \x3d (i__5770__auto___12871 + (1));\ni__5770__auto___12871 \x3d G__12872;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__10330 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10330) : f.call(null,G__10330));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__10331 \x3d a.state;\nvar G__10332 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10331,G__10332) : f.call(null,G__10331,G__10332));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__10333 \x3d a.state;\nvar G__10334 \x3d x;\nvar G__10335 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10333,G__10334,G__10335) : f.call(null,G__10333,G__10334,G__10335));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nreturn cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.swap_vals_BANG_.cljs$lang$applyTo \x3d (function (seq10324){\nvar G__10325 \x3d cljs.core.first(seq10324);\nvar seq10324__$1 \x3d cljs.core.next(seq10324);\nvar G__10326 \x3d cljs.core.first(seq10324__$1);\nvar seq10324__$2 \x3d cljs.core.next(seq10324__$1);\nvar G__10327 \x3d cljs.core.first(seq10324__$2);\nvar seq10324__$3 \x3d cljs.core.next(seq10324__$2);\nvar G__10328 \x3d cljs.core.first(seq10324__$3);\nvar seq10324__$4 \x3d cljs.core.next(seq10324__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10325,G__10326,G__10327,G__10328,seq10324__$4);\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically sets the value of atom to newval if and only if the\n * current value of the atom is equal to oldval. Returns true if\n * set happened, else false.\n */\ncljs.core.compare_and_set_BANG_ \x3d (function cljs$core$compare_and_set_BANG_(a,oldval,newval){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){\ncljs.core.reset_BANG_(a,newval);\n\nreturn true;\n} else {\nreturn false;\n}\n});\n/**\n * Sets the validator-fn for an atom. validator-fn must be nil or a\n * side-effect-free fn of one argument, which will be passed the intended\n * new state on any state change. If the new state is unacceptable, the\n * validator-fn should return false or throw an Error. If the current state\n * is not acceptable to the new validator, an Error will be thrown and the\n * validator will not be changed.\n */\ncljs.core.set_validator_BANG_ \x3d (function cljs$core$set_validator_BANG_(iref,val){\nif((((!((val \x3d\x3d null)))) \x26\x26 (cljs.core.not((function (){var G__10336 \x3d cljs.core._deref(iref);\nreturn (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__10336) : val.call(null,G__10336));\n})())))){\nthrow (new Error(\x22Validator rejected reference state\x22));\n} else {\n}\n\nreturn (iref.validator \x3d val);\n});\n/**\n * Gets the validator-fn for a var/ref/agent/atom.\n */\ncljs.core.get_validator \x3d (function cljs$core$get_validator(iref){\nreturn iref.validator;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IVolatile}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Volatile \x3d (function (state){\nthis.state \x3d state;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d (function (_,new_state){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.state \x3d new_state);\n}));\n\n(cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Volatile.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Volatile.cljs$lang$type \x3d true);\n\n(cljs.core.Volatile.cljs$lang$ctorStr \x3d \x22cljs.core/Volatile\x22);\n\n(cljs.core.Volatile.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Volatile\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Volatile.\n */\ncljs.core.__GT_Volatile \x3d (function cljs$core$__GT_Volatile(state){\nreturn (new cljs.core.Volatile(state));\n});\n\n/**\n * Creates and returns a Volatile with an initial value of val.\n */\ncljs.core.volatile_BANG_ \x3d (function cljs$core$volatile_BANG_(val){\nreturn (new cljs.core.Volatile(val));\n});\n/**\n * Returns true if x is a volatile.\n */\ncljs.core.volatile_QMARK_ \x3d (function cljs$core$volatile_QMARK_(x){\nreturn (x instanceof cljs.core.Volatile);\n});\n/**\n * Sets the value of volatile to newval without regard for the\n * current value. Returns newval.\n */\ncljs.core.vreset_BANG_ \x3d (function cljs$core$vreset_BANG_(vol,newval){\nreturn cljs.core._vreset_BANG_(vol,newval);\n});\n/**\n * Returns a lazy sequence of the non-nil results of (f index item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a stateful transducer when no collection is\n * provided.\n */\ncljs.core.keep_indexed \x3d (function cljs$core$keep_indexed(var_args){\nvar G__10338 \x3d arguments.length;\nswitch (G__10338) {\ncase 1:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__12876 \x3d null;\nvar G__12876__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12876__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12876__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__12876 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12876__0.call(this);\ncase 1:\nreturn G__12876__1.call(this,result);\ncase 2:\nreturn G__12876__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12876.cljs$core$IFn$_invoke$arity$0 \x3d G__12876__0;\nG__12876.cljs$core$IFn$_invoke$arity$1 \x3d G__12876__1;\nG__12876.cljs$core$IFn$_invoke$arity$2 \x3d G__12876__2;\nreturn G__12876;\n})()\n});\n}));\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar keepi \x3d (function cljs$core$keepi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___12882 \x3d size;\nvar i_12883 \x3d (0);\nwhile(true){\nif((i_12883 \x3c n__5636__auto___12882)){\nvar x_12884 \x3d (function (){var G__10343 \x3d (idx + i_12883);\nvar G__10344 \x3d cljs.core._nth(c,i_12883);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10343,G__10344) : f.call(null,G__10343,G__10344));\n})();\nif((x_12884 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_12884);\n}\n\nvar G__12885 \x3d (i_12883 + (1));\ni_12883 \x3d G__12885;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__10345 \x3d idx;\nvar G__10346 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10345,G__10346) : f.call(null,G__10345,G__10346));\n})();\nif((x \x3d\x3d null)){\nreturn cljs$core$keepi((idx + (1)),cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn keepi((0),coll);\n}));\n\n(cljs.core.keep_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a set of predicates and returns a function f that returns true if all of its\n * composing predicates return a logical true value against all of its arguments, else it returns\n * false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical false result against the original predicates.\n */\ncljs.core.every_pred \x3d (function cljs$core$every_pred(var_args){\nvar G__10358 \x3d arguments.length;\nswitch (G__10358) {\ncase 1:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12887 \x3d arguments.length;\nvar i__5770__auto___12888 \x3d (0);\nwhile(true){\nif((i__5770__auto___12888 \x3c len__5769__auto___12887)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12888]));\n\nvar G__12889 \x3d (i__5770__auto___12888 + (1));\ni__5770__auto___12888 \x3d G__12889;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$ep1 \x3d null;\nvar cljs$core$ep1__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep1__1 \x3d (function (x){\nreturn cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));\n});\nvar cljs$core$ep1__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__4 \x3d (function() { \nvar G__12890__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_(p,args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__12890 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12891__i \x3d 0, G__12891__a \x3d new Array(arguments.length - 3);\nwhile (G__12891__i \x3c G__12891__a.length) {G__12891__a[G__12891__i] \x3d arguments[G__12891__i + 3]; ++G__12891__i;}\n args \x3d new cljs.core.IndexedSeq(G__12891__a,0,null);\n} \nreturn G__12890__delegate.call(this,x,y,z,args);};\nG__12890.cljs$lang$maxFixedArity \x3d 3;\nG__12890.cljs$lang$applyTo \x3d (function (arglist__12892){\nvar x \x3d cljs.core.first(arglist__12892);\narglist__12892 \x3d cljs.core.next(arglist__12892);\nvar y \x3d cljs.core.first(arglist__12892);\narglist__12892 \x3d cljs.core.next(arglist__12892);\nvar z \x3d cljs.core.first(arglist__12892);\nvar args \x3d cljs.core.rest(arglist__12892);\nreturn G__12890__delegate(x,y,z,args);\n});\nG__12890.cljs$core$IFn$_invoke$arity$variadic \x3d G__12890__delegate;\nreturn G__12890;\n})()\n;\ncljs$core$ep1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep1__0.call(this);\ncase 1:\nreturn cljs$core$ep1__1.call(this,x);\ncase 2:\nreturn cljs$core$ep1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep1__3.call(this,x,y,z);\ndefault:\nvar G__12893 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12894__i \x3d 0, G__12894__a \x3d new Array(arguments.length - 3);\nwhile (G__12894__i \x3c G__12894__a.length) {G__12894__a[G__12894__i] \x3d arguments[G__12894__i + 3]; ++G__12894__i;}\nG__12893 \x3d new cljs.core.IndexedSeq(G__12894__a,0,null);\n}\nreturn cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12893);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep1.cljs$lang$applyTo \x3d cljs$core$ep1__4.cljs$lang$applyTo;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep1__0;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep1__1;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep1__2;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep1__3;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep1;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$ep2 \x3d null;\nvar cljs$core$ep2__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep2__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__4 \x3d (function() { \nvar G__12895__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__10347_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__10347_SHARP_) : p1.call(null,p1__10347_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__10347_SHARP_) : p2.call(null,p1__10347_SHARP_));\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__12895 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12896__i \x3d 0, G__12896__a \x3d new Array(arguments.length - 3);\nwhile (G__12896__i \x3c G__12896__a.length) {G__12896__a[G__12896__i] \x3d arguments[G__12896__i + 3]; ++G__12896__i;}\n args \x3d new cljs.core.IndexedSeq(G__12896__a,0,null);\n} \nreturn G__12895__delegate.call(this,x,y,z,args);};\nG__12895.cljs$lang$maxFixedArity \x3d 3;\nG__12895.cljs$lang$applyTo \x3d (function (arglist__12897){\nvar x \x3d cljs.core.first(arglist__12897);\narglist__12897 \x3d cljs.core.next(arglist__12897);\nvar y \x3d cljs.core.first(arglist__12897);\narglist__12897 \x3d cljs.core.next(arglist__12897);\nvar z \x3d cljs.core.first(arglist__12897);\nvar args \x3d cljs.core.rest(arglist__12897);\nreturn G__12895__delegate(x,y,z,args);\n});\nG__12895.cljs$core$IFn$_invoke$arity$variadic \x3d G__12895__delegate;\nreturn G__12895;\n})()\n;\ncljs$core$ep2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep2__0.call(this);\ncase 1:\nreturn cljs$core$ep2__1.call(this,x);\ncase 2:\nreturn cljs$core$ep2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep2__3.call(this,x,y,z);\ndefault:\nvar G__12898 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12899__i \x3d 0, G__12899__a \x3d new Array(arguments.length - 3);\nwhile (G__12899__i \x3c G__12899__a.length) {G__12899__a[G__12899__i] \x3d arguments[G__12899__i + 3]; ++G__12899__i;}\nG__12898 \x3d new cljs.core.IndexedSeq(G__12899__a,0,null);\n}\nreturn cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12898);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep2.cljs$lang$applyTo \x3d cljs$core$ep2__4.cljs$lang$applyTo;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep2__0;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep2__1;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep2__2;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep2__3;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep2;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$ep3 \x3d null;\nvar cljs$core$ep3__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep3__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nvar and__5043__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$5)){\nvar and__5043__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$6)){\nvar and__5043__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$7)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n} else {\nreturn and__5043__auto____$7;\n}\n} else {\nreturn and__5043__auto____$6;\n}\n} else {\nreturn and__5043__auto____$5;\n}\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__4 \x3d (function() { \nvar G__12900__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__10348_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__10348_SHARP_) : p1.call(null,p1__10348_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__10348_SHARP_) : p2.call(null,p1__10348_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__10348_SHARP_) : p3.call(null,p1__10348_SHARP_));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__12900 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12901__i \x3d 0, G__12901__a \x3d new Array(arguments.length - 3);\nwhile (G__12901__i \x3c G__12901__a.length) {G__12901__a[G__12901__i] \x3d arguments[G__12901__i + 3]; ++G__12901__i;}\n args \x3d new cljs.core.IndexedSeq(G__12901__a,0,null);\n} \nreturn G__12900__delegate.call(this,x,y,z,args);};\nG__12900.cljs$lang$maxFixedArity \x3d 3;\nG__12900.cljs$lang$applyTo \x3d (function (arglist__12902){\nvar x \x3d cljs.core.first(arglist__12902);\narglist__12902 \x3d cljs.core.next(arglist__12902);\nvar y \x3d cljs.core.first(arglist__12902);\narglist__12902 \x3d cljs.core.next(arglist__12902);\nvar z \x3d cljs.core.first(arglist__12902);\nvar args \x3d cljs.core.rest(arglist__12902);\nreturn G__12900__delegate(x,y,z,args);\n});\nG__12900.cljs$core$IFn$_invoke$arity$variadic \x3d G__12900__delegate;\nreturn G__12900;\n})()\n;\ncljs$core$ep3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep3__0.call(this);\ncase 1:\nreturn cljs$core$ep3__1.call(this,x);\ncase 2:\nreturn cljs$core$ep3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep3__3.call(this,x,y,z);\ndefault:\nvar G__12903 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12904__i \x3d 0, G__12904__a \x3d new Array(arguments.length - 3);\nwhile (G__12904__i \x3c G__12904__a.length) {G__12904__a[G__12904__i] \x3d arguments[G__12904__i + 3]; ++G__12904__i;}\nG__12903 \x3d new cljs.core.IndexedSeq(G__12904__a,0,null);\n}\nreturn cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12903);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep3.cljs$lang$applyTo \x3d cljs$core$ep3__4.cljs$lang$applyTo;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep3__0;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep3__1;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep3__2;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep3__3;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep3;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$epn \x3d null;\nvar cljs$core$epn__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$epn__1 \x3d (function (x){\nreturn cljs.core.every_QMARK_((function (p1__10349_SHARP_){\nreturn (p1__10349_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10349_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10349_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$epn__2 \x3d (function (x,y){\nreturn cljs.core.every_QMARK_((function (p1__10350_SHARP_){\nvar and__5043__auto__ \x3d (p1__10350_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10350_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10350_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p1__10350_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10350_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__10350_SHARP_.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__3 \x3d (function (x,y,z){\nreturn cljs.core.every_QMARK_((function (p1__10351_SHARP_){\nvar and__5043__auto__ \x3d (p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10351_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__10351_SHARP_.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10351_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__10351_SHARP_.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__4 \x3d (function() { \nvar G__12905__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__10352_SHARP_){\nreturn cljs.core.every_QMARK_(p1__10352_SHARP_,args);\n}),ps__$1);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__12905 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12906__i \x3d 0, G__12906__a \x3d new Array(arguments.length - 3);\nwhile (G__12906__i \x3c G__12906__a.length) {G__12906__a[G__12906__i] \x3d arguments[G__12906__i + 3]; ++G__12906__i;}\n args \x3d new cljs.core.IndexedSeq(G__12906__a,0,null);\n} \nreturn G__12905__delegate.call(this,x,y,z,args);};\nG__12905.cljs$lang$maxFixedArity \x3d 3;\nG__12905.cljs$lang$applyTo \x3d (function (arglist__12907){\nvar x \x3d cljs.core.first(arglist__12907);\narglist__12907 \x3d cljs.core.next(arglist__12907);\nvar y \x3d cljs.core.first(arglist__12907);\narglist__12907 \x3d cljs.core.next(arglist__12907);\nvar z \x3d cljs.core.first(arglist__12907);\nvar args \x3d cljs.core.rest(arglist__12907);\nreturn G__12905__delegate(x,y,z,args);\n});\nG__12905.cljs$core$IFn$_invoke$arity$variadic \x3d G__12905__delegate;\nreturn G__12905;\n})()\n;\ncljs$core$epn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$epn__0.call(this);\ncase 1:\nreturn cljs$core$epn__1.call(this,x);\ncase 2:\nreturn cljs$core$epn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$epn__3.call(this,x,y,z);\ndefault:\nvar G__12908 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12909__i \x3d 0, G__12909__a \x3d new Array(arguments.length - 3);\nwhile (G__12909__i \x3c G__12909__a.length) {G__12909__a[G__12909__i] \x3d arguments[G__12909__i + 3]; ++G__12909__i;}\nG__12908 \x3d new cljs.core.IndexedSeq(G__12909__a,0,null);\n}\nreturn cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12908);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$epn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$epn.cljs$lang$applyTo \x3d cljs$core$epn__4.cljs$lang$applyTo;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$epn__0;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$epn__1;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$epn__2;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$epn__3;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$epn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.every_pred.cljs$lang$applyTo \x3d (function (seq10354){\nvar G__10355 \x3d cljs.core.first(seq10354);\nvar seq10354__$1 \x3d cljs.core.next(seq10354);\nvar G__10356 \x3d cljs.core.first(seq10354__$1);\nvar seq10354__$2 \x3d cljs.core.next(seq10354__$1);\nvar G__10357 \x3d cljs.core.first(seq10354__$2);\nvar seq10354__$3 \x3d cljs.core.next(seq10354__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10355,G__10356,G__10357,seq10354__$3);\n}));\n\n(cljs.core.every_pred.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a set of predicates and returns a function f that returns the first logical true value\n * returned by one of its composing predicates against any of its arguments, else it returns\n * logical false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical true result against the original predicates.\n */\ncljs.core.some_fn \x3d (function cljs$core$some_fn(var_args){\nvar G__10370 \x3d arguments.length;\nswitch (G__10370) {\ncase 1:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12911 \x3d arguments.length;\nvar i__5770__auto___12912 \x3d (0);\nwhile(true){\nif((i__5770__auto___12912 \x3c len__5769__auto___12911)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12912]));\n\nvar G__12913 \x3d (i__5770__auto___12912 + (1));\ni__5770__auto___12912 \x3d G__12913;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$sp1 \x3d null;\nvar cljs$core$sp1__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp1__1 \x3d (function (x){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\n});\nvar cljs$core$sp1__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n}\n});\nvar cljs$core$sp1__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n}\n}\n});\nvar cljs$core$sp1__4 \x3d (function() { \nvar G__12914__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some(p,args);\n}\n};\nvar G__12914 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12915__i \x3d 0, G__12915__a \x3d new Array(arguments.length - 3);\nwhile (G__12915__i \x3c G__12915__a.length) {G__12915__a[G__12915__i] \x3d arguments[G__12915__i + 3]; ++G__12915__i;}\n args \x3d new cljs.core.IndexedSeq(G__12915__a,0,null);\n} \nreturn G__12914__delegate.call(this,x,y,z,args);};\nG__12914.cljs$lang$maxFixedArity \x3d 3;\nG__12914.cljs$lang$applyTo \x3d (function (arglist__12916){\nvar x \x3d cljs.core.first(arglist__12916);\narglist__12916 \x3d cljs.core.next(arglist__12916);\nvar y \x3d cljs.core.first(arglist__12916);\narglist__12916 \x3d cljs.core.next(arglist__12916);\nvar z \x3d cljs.core.first(arglist__12916);\nvar args \x3d cljs.core.rest(arglist__12916);\nreturn G__12914__delegate(x,y,z,args);\n});\nG__12914.cljs$core$IFn$_invoke$arity$variadic \x3d G__12914__delegate;\nreturn G__12914;\n})()\n;\ncljs$core$sp1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp1__0.call(this);\ncase 1:\nreturn cljs$core$sp1__1.call(this,x);\ncase 2:\nreturn cljs$core$sp1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp1__3.call(this,x,y,z);\ndefault:\nvar G__12917 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12918__i \x3d 0, G__12918__a \x3d new Array(arguments.length - 3);\nwhile (G__12918__i \x3c G__12918__a.length) {G__12918__a[G__12918__i] \x3d arguments[G__12918__i + 3]; ++G__12918__i;}\nG__12917 \x3d new cljs.core.IndexedSeq(G__12918__a,0,null);\n}\nreturn cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12917);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp1.cljs$lang$applyTo \x3d cljs$core$sp1__4.cljs$lang$applyTo;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp1__0;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp1__1;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp1__2;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp1__3;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp1;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$sp2 \x3d null;\nvar cljs$core$sp2__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp2__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n}\n});\nvar cljs$core$sp2__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n}\n}\n}\n});\nvar cljs$core$sp2__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp2__4 \x3d (function() { \nvar G__12920__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__10359_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__10359_SHARP_) : p1.call(null,p1__10359_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__10359_SHARP_) : p2.call(null,p1__10359_SHARP_));\n}\n}),args);\n}\n};\nvar G__12920 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12921__i \x3d 0, G__12921__a \x3d new Array(arguments.length - 3);\nwhile (G__12921__i \x3c G__12921__a.length) {G__12921__a[G__12921__i] \x3d arguments[G__12921__i + 3]; ++G__12921__i;}\n args \x3d new cljs.core.IndexedSeq(G__12921__a,0,null);\n} \nreturn G__12920__delegate.call(this,x,y,z,args);};\nG__12920.cljs$lang$maxFixedArity \x3d 3;\nG__12920.cljs$lang$applyTo \x3d (function (arglist__12922){\nvar x \x3d cljs.core.first(arglist__12922);\narglist__12922 \x3d cljs.core.next(arglist__12922);\nvar y \x3d cljs.core.first(arglist__12922);\narglist__12922 \x3d cljs.core.next(arglist__12922);\nvar z \x3d cljs.core.first(arglist__12922);\nvar args \x3d cljs.core.rest(arglist__12922);\nreturn G__12920__delegate(x,y,z,args);\n});\nG__12920.cljs$core$IFn$_invoke$arity$variadic \x3d G__12920__delegate;\nreturn G__12920;\n})()\n;\ncljs$core$sp2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp2__0.call(this);\ncase 1:\nreturn cljs$core$sp2__1.call(this,x);\ncase 2:\nreturn cljs$core$sp2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp2__3.call(this,x,y,z);\ndefault:\nvar G__12926 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12927__i \x3d 0, G__12927__a \x3d new Array(arguments.length - 3);\nwhile (G__12927__i \x3c G__12927__a.length) {G__12927__a[G__12927__i] \x3d arguments[G__12927__i + 3]; ++G__12927__i;}\nG__12926 \x3d new cljs.core.IndexedSeq(G__12927__a,0,null);\n}\nreturn cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12926);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp2.cljs$lang$applyTo \x3d cljs$core$sp2__4.cljs$lang$applyTo;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp2__0;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp2__1;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp2__2;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp2__3;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp2;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$sp3 \x3d null;\nvar cljs$core$sp3__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp3__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n}\n}\n});\nvar cljs$core$sp3__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nvar or__5045__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$5)){\nreturn or__5045__auto____$5;\n} else {\nvar or__5045__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$6)){\nreturn or__5045__auto____$6;\n} else {\nvar or__5045__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$7)){\nreturn or__5045__auto____$7;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n}\n}\n}\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__4 \x3d (function() { \nvar G__12928__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__10360_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__10360_SHARP_) : p1.call(null,p1__10360_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__10360_SHARP_) : p2.call(null,p1__10360_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__10360_SHARP_) : p3.call(null,p1__10360_SHARP_));\n}\n}\n}),args);\n}\n};\nvar G__12928 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12929__i \x3d 0, G__12929__a \x3d new Array(arguments.length - 3);\nwhile (G__12929__i \x3c G__12929__a.length) {G__12929__a[G__12929__i] \x3d arguments[G__12929__i + 3]; ++G__12929__i;}\n args \x3d new cljs.core.IndexedSeq(G__12929__a,0,null);\n} \nreturn G__12928__delegate.call(this,x,y,z,args);};\nG__12928.cljs$lang$maxFixedArity \x3d 3;\nG__12928.cljs$lang$applyTo \x3d (function (arglist__12930){\nvar x \x3d cljs.core.first(arglist__12930);\narglist__12930 \x3d cljs.core.next(arglist__12930);\nvar y \x3d cljs.core.first(arglist__12930);\narglist__12930 \x3d cljs.core.next(arglist__12930);\nvar z \x3d cljs.core.first(arglist__12930);\nvar args \x3d cljs.core.rest(arglist__12930);\nreturn G__12928__delegate(x,y,z,args);\n});\nG__12928.cljs$core$IFn$_invoke$arity$variadic \x3d G__12928__delegate;\nreturn G__12928;\n})()\n;\ncljs$core$sp3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp3__0.call(this);\ncase 1:\nreturn cljs$core$sp3__1.call(this,x);\ncase 2:\nreturn cljs$core$sp3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp3__3.call(this,x,y,z);\ndefault:\nvar G__12931 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12932__i \x3d 0, G__12932__a \x3d new Array(arguments.length - 3);\nwhile (G__12932__i \x3c G__12932__a.length) {G__12932__a[G__12932__i] \x3d arguments[G__12932__i + 3]; ++G__12932__i;}\nG__12931 \x3d new cljs.core.IndexedSeq(G__12932__a,0,null);\n}\nreturn cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12931);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp3.cljs$lang$applyTo \x3d cljs$core$sp3__4.cljs$lang$applyTo;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp3__0;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp3__1;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp3__2;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp3__3;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp3;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$spn \x3d null;\nvar cljs$core$spn__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$spn__1 \x3d (function (x){\nreturn cljs.core.some((function (p1__10361_SHARP_){\nreturn (p1__10361_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10361_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10361_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$spn__2 \x3d (function (x,y){\nreturn cljs.core.some((function (p1__10362_SHARP_){\nvar or__5045__auto__ \x3d (p1__10362_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10362_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10362_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p1__10362_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10362_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__10362_SHARP_.call(null,y));\n}\n}),ps__$1);\n});\nvar cljs$core$spn__3 \x3d (function (x,y,z){\nreturn cljs.core.some((function (p1__10363_SHARP_){\nvar or__5045__auto__ \x3d (p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__10363_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__10363_SHARP_.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__10363_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__10363_SHARP_.call(null,z));\n}\n}\n}),ps__$1);\n});\nvar cljs$core$spn__4 \x3d (function() { \nvar G__12933__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__10364_SHARP_){\nreturn cljs.core.some(p1__10364_SHARP_,args);\n}),ps__$1);\n}\n};\nvar G__12933 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12934__i \x3d 0, G__12934__a \x3d new Array(arguments.length - 3);\nwhile (G__12934__i \x3c G__12934__a.length) {G__12934__a[G__12934__i] \x3d arguments[G__12934__i + 3]; ++G__12934__i;}\n args \x3d new cljs.core.IndexedSeq(G__12934__a,0,null);\n} \nreturn G__12933__delegate.call(this,x,y,z,args);};\nG__12933.cljs$lang$maxFixedArity \x3d 3;\nG__12933.cljs$lang$applyTo \x3d (function (arglist__12935){\nvar x \x3d cljs.core.first(arglist__12935);\narglist__12935 \x3d cljs.core.next(arglist__12935);\nvar y \x3d cljs.core.first(arglist__12935);\narglist__12935 \x3d cljs.core.next(arglist__12935);\nvar z \x3d cljs.core.first(arglist__12935);\nvar args \x3d cljs.core.rest(arglist__12935);\nreturn G__12933__delegate(x,y,z,args);\n});\nG__12933.cljs$core$IFn$_invoke$arity$variadic \x3d G__12933__delegate;\nreturn G__12933;\n})()\n;\ncljs$core$spn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$spn__0.call(this);\ncase 1:\nreturn cljs$core$spn__1.call(this,x);\ncase 2:\nreturn cljs$core$spn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$spn__3.call(this,x,y,z);\ndefault:\nvar G__12936 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__12937__i \x3d 0, G__12937__a \x3d new Array(arguments.length - 3);\nwhile (G__12937__i \x3c G__12937__a.length) {G__12937__a[G__12937__i] \x3d arguments[G__12937__i + 3]; ++G__12937__i;}\nG__12936 \x3d new cljs.core.IndexedSeq(G__12937__a,0,null);\n}\nreturn cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12936);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$spn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$spn.cljs$lang$applyTo \x3d cljs$core$spn__4.cljs$lang$applyTo;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$spn__0;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$spn__1;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$spn__2;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$spn__3;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$spn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.some_fn.cljs$lang$applyTo \x3d (function (seq10366){\nvar G__10367 \x3d cljs.core.first(seq10366);\nvar seq10366__$1 \x3d cljs.core.next(seq10366);\nvar G__10368 \x3d cljs.core.first(seq10366__$1);\nvar seq10366__$2 \x3d cljs.core.next(seq10366__$1);\nvar G__10369 \x3d cljs.core.first(seq10366__$2);\nvar seq10366__$3 \x3d cljs.core.next(seq10366__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10367,G__10368,G__10369,seq10366__$3);\n}));\n\n(cljs.core.some_fn.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to\n * the set of first items of each coll, followed by applying f to the\n * set of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments. Returns a transducer when\n * no collection is provided.\n */\ncljs.core.map \x3d (function cljs$core$map(var_args){\nvar G__10378 \x3d arguments.length;\nswitch (G__10378) {\ncase 1:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12941 \x3d arguments.length;\nvar i__5770__auto___12942 \x3d (0);\nwhile(true){\nif((i__5770__auto___12942 \x3c len__5769__auto___12941)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12942]));\n\nvar G__12943 \x3d (i__5770__auto___12942 + (1));\ni__5770__auto___12942 \x3d G__12943;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__12944 \x3d null;\nvar G__12944__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12944__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12944__2 \x3d (function (result,input){\nvar G__10379 \x3d result;\nvar G__10380 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__10379,G__10380) : rf.call(null,G__10379,G__10380));\n});\nvar G__12944__3 \x3d (function() { \nvar G__12945__delegate \x3d function (result,input,inputs){\nvar G__10381 \x3d result;\nvar G__10382 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__10381,G__10382) : rf.call(null,G__10381,G__10382));\n};\nvar G__12945 \x3d function (result,input,var_args){\nvar inputs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__12946__i \x3d 0, G__12946__a \x3d new Array(arguments.length - 2);\nwhile (G__12946__i \x3c G__12946__a.length) {G__12946__a[G__12946__i] \x3d arguments[G__12946__i + 2]; ++G__12946__i;}\n inputs \x3d new cljs.core.IndexedSeq(G__12946__a,0,null);\n} \nreturn G__12945__delegate.call(this,result,input,inputs);};\nG__12945.cljs$lang$maxFixedArity \x3d 2;\nG__12945.cljs$lang$applyTo \x3d (function (arglist__12947){\nvar result \x3d cljs.core.first(arglist__12947);\narglist__12947 \x3d cljs.core.next(arglist__12947);\nvar input \x3d cljs.core.first(arglist__12947);\nvar inputs \x3d cljs.core.rest(arglist__12947);\nreturn G__12945__delegate(result,input,inputs);\n});\nG__12945.cljs$core$IFn$_invoke$arity$variadic \x3d G__12945__delegate;\nreturn G__12945;\n})()\n;\nG__12944 \x3d function(result,input,var_args){\nvar inputs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__12944__0.call(this);\ncase 1:\nreturn G__12944__1.call(this,result);\ncase 2:\nreturn G__12944__2.call(this,result,input);\ndefault:\nvar G__12949 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__12950__i \x3d 0, G__12950__a \x3d new Array(arguments.length - 2);\nwhile (G__12950__i \x3c G__12950__a.length) {G__12950__a[G__12950__i] \x3d arguments[G__12950__i + 2]; ++G__12950__i;}\nG__12949 \x3d new cljs.core.IndexedSeq(G__12950__a,0,null);\n}\nreturn G__12944__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__12949);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12944.cljs$lang$maxFixedArity \x3d 2;\nG__12944.cljs$lang$applyTo \x3d G__12944__3.cljs$lang$applyTo;\nG__12944.cljs$core$IFn$_invoke$arity$0 \x3d G__12944__0;\nG__12944.cljs$core$IFn$_invoke$arity$1 \x3d G__12944__1;\nG__12944.cljs$core$IFn$_invoke$arity$2 \x3d G__12944__2;\nG__12944.cljs$core$IFn$_invoke$arity$variadic \x3d G__12944__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__12944;\n})()\n});\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___12951 \x3d size;\nvar i_12952 \x3d (0);\nwhile(true){\nif((i_12952 \x3c n__5636__auto___12951)){\ncljs.core.chunk_append(b,(function (){var G__10383 \x3d cljs.core._nth(c,i_12952);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10383) : f.call(null,G__10383));\n})());\n\nvar G__12953 \x3d (i_12952 + (1));\ni_12952 \x3d G__12953;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__10384 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10384) : f.call(null,G__10384));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons((function (){var G__10385 \x3d cljs.core.first(s1);\nvar G__10386 \x3d cljs.core.first(s2);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10385,G__10386) : f.call(null,G__10385,G__10386));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nvar s3 \x3d cljs.core.seq(c3);\nif(((s1) \x26\x26 (((s2) \x26\x26 (s3))))){\nreturn cljs.core.cons((function (){var G__10387 \x3d cljs.core.first(s1);\nvar G__10388 \x3d cljs.core.first(s2);\nvar G__10389 \x3d cljs.core.first(s3);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10387,G__10388,G__10389) : f.call(null,G__10387,G__10388,G__10389));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nvar step \x3d (function cljs$core$step(cs){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs$core$step(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__10371_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__10371_SHARP_);\n}),step(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c2,c1], 0))));\n}));\n\n/** @this {Function} */\n(cljs.core.map.cljs$lang$applyTo \x3d (function (seq10373){\nvar G__10374 \x3d cljs.core.first(seq10373);\nvar seq10373__$1 \x3d cljs.core.next(seq10373);\nvar G__10375 \x3d cljs.core.first(seq10373__$1);\nvar seq10373__$2 \x3d cljs.core.next(seq10373__$1);\nvar G__10376 \x3d cljs.core.first(seq10373__$2);\nvar seq10373__$3 \x3d cljs.core.next(seq10373__$2);\nvar G__10377 \x3d cljs.core.first(seq10373__$3);\nvar seq10373__$4 \x3d cljs.core.next(seq10373__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10374,G__10375,G__10376,G__10377,seq10373__$4);\n}));\n\n(cljs.core.map.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a lazy sequence of the first n items in coll, or all items if\n * there are fewer than n. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.take \x3d (function cljs$core$take(var_args){\nvar G__10391 \x3d arguments.length;\nswitch (G__10391) {\ncase 1:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__12959 \x3d null;\nvar G__12959__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12959__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12959__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nvar nn \x3d na.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\nvar result__$1 \x3d (((n__$1 \x3e (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);\nif((!((nn \x3e (0))))){\nreturn cljs.core.ensure_reduced(result__$1);\n} else {\nreturn result__$1;\n}\n});\nG__12959 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12959__0.call(this);\ncase 1:\nreturn G__12959__1.call(this,result);\ncase 2:\nreturn G__12959__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12959.cljs$core$IFn$_invoke$arity$0 \x3d G__12959__0;\nG__12959.cljs$core$IFn$_invoke$arity$1 \x3d G__12959__1;\nG__12959.cljs$core$IFn$_invoke$arity$2 \x3d G__12959__2;\nreturn G__12959;\n})()\n});\n}));\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nif((n \x3e (0))){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of all but the first n items in coll.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.drop \x3d (function cljs$core$drop(var_args){\nvar G__10393 \x3d arguments.length;\nswitch (G__10393) {\ncase 1:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__12972 \x3d null;\nvar G__12972__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12972__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12972__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nna.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\n\nif((n__$1 \x3e (0))){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__12972 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12972__0.call(this);\ncase 1:\nreturn G__12972__1.call(this,result);\ncase 2:\nreturn G__12972__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12972.cljs$core$IFn$_invoke$arity$0 \x3d G__12972__0;\nG__12972.cljs$core$IFn$_invoke$arity$1 \x3d G__12972__1;\nG__12972.cljs$core$IFn$_invoke$arity$2 \x3d G__12972__2;\nreturn G__12972;\n})()\n});\n}));\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nvar step \x3d (function (n__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif((((n__$1 \x3e (0))) \x26\x26 (s))){\nvar G__12975 \x3d (n__$1 - (1));\nvar G__12976 \x3d cljs.core.rest(s);\nn__$1 \x3d G__12975;\ncoll__$1 \x3d G__12976;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(n,coll);\n}),null,null));\n}));\n\n(cljs.core.drop.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Return a lazy sequence of all but the last n (default 1) items in coll\n */\ncljs.core.drop_last \x3d (function cljs$core$drop_last(var_args){\nvar G__10395 \x3d arguments.length;\nswitch (G__10395) {\ncase 1:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);\n}));\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,s){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){\nreturn x;\n}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));\n}));\n\n(cljs.core.drop_last.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a seq of the last n items in coll. Depending on the type\n * of coll may be no better than linear time. For vectors, see also subvec.\n */\ncljs.core.take_last \x3d (function cljs$core$take_last(n,coll){\nvar s \x3d cljs.core.seq(coll);\nvar lead \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));\nwhile(true){\nif(lead){\nvar G__12982 \x3d cljs.core.next(s);\nvar G__12983 \x3d cljs.core.next(lead);\ns \x3d G__12982;\nlead \x3d G__12983;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\n/**\n * Returns a lazy sequence of the items in coll starting from the\n * first item for which (pred item) returns logical false. Returns a\n * stateful transducer when no collection is provided.\n */\ncljs.core.drop_while \x3d (function cljs$core$drop_while(var_args){\nvar G__10397 \x3d arguments.length;\nswitch (G__10397) {\ncase 1:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nvar da \x3d cljs.core.volatile_BANG_(true);\nreturn (function() {\nvar G__12985 \x3d null;\nvar G__12985__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__12985__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__12985__2 \x3d (function (result,input){\nvar drop_QMARK_ \x3d cljs.core.deref(da);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d drop_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn result;\n} else {\ncljs.core.vreset_BANG_(da,null);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__12985 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__12985__0.call(this);\ncase 1:\nreturn G__12985__1.call(this,result);\ncase 2:\nreturn G__12985__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12985.cljs$core$IFn$_invoke$arity$0 \x3d G__12985__0;\nG__12985.cljs$core$IFn$_invoke$arity$1 \x3d G__12985__1;\nG__12985.cljs$core$IFn$_invoke$arity$2 \x3d G__12985__2;\nreturn G__12985;\n})()\n});\n}));\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nvar step \x3d (function (pred__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d s;\nif(and__5043__auto__){\nvar G__10398 \x3d cljs.core.first(s);\nreturn (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__10398) : pred__$1.call(null,G__10398));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar G__12987 \x3d pred__$1;\nvar G__12988 \x3d cljs.core.rest(s);\npred__$1 \x3d G__12987;\ncoll__$1 \x3d G__12988;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(pred,coll);\n}),null,null));\n}));\n\n(cljs.core.drop_while.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cycle \x3d (function (meta,all,prev,current,_next){\nthis.meta \x3d meta;\nthis.all \x3d all;\nthis.prev \x3d prev;\nthis.current \x3d current;\nthis._next \x3d _next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Cycle.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cycle.prototype.currentval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(self__.current){\n} else {\nvar temp__5802__auto___12990 \x3d cljs.core.next(self__.prev);\nif(temp__5802__auto___12990){\nvar c_12991 \x3d temp__5802__auto___12990;\n(self__.current \x3d c_12991);\n} else {\n(self__.current \x3d self__.all);\n}\n}\n\nreturn self__.current;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.current \x3d\x3d null)));\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d cljs.core.first(s);\nwhile(true){\nvar s__$1 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar ret__$1 \x3d (function (){var G__10401 \x3d ret;\nvar G__10402 \x3d cljs.core.first(s__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10401,G__10402) : f.call(null,G__10401,G__10402));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__12993 \x3d s__$1;\nvar G__12994 \x3d ret__$1;\ns \x3d G__12993;\nret \x3d G__12994;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d start;\nwhile(true){\nvar ret__$1 \x3d (function (){var G__10403 \x3d ret;\nvar G__10404 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10403,G__10404) : f.call(null,G__10403,G__10404));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__13000 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar G__13001 \x3d ret__$1;\ns \x3d G__13000;\nret \x3d G__13001;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(coll__$1.currentval());\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__._next \x3d\x3d null)){\n(self__._next \x3d (new cljs.core.Cycle(null,self__.all,coll__$1.currentval(),null,null)));\n} else {\n}\n\nreturn self__._next;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cycle(new_meta,self__.all,self__.prev,self__.current,self__._next));\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Cycle.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22all\x22,\x22all\x22,-1762306027,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22current\x22,\x22current\x22,552492924,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cycle.cljs$lang$type \x3d true);\n\n(cljs.core.Cycle.cljs$lang$ctorStr \x3d \x22cljs.core/Cycle\x22);\n\n(cljs.core.Cycle.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cycle\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cycle.\n */\ncljs.core.__GT_Cycle \x3d (function cljs$core$__GT_Cycle(meta,all,prev,current,_next){\nreturn (new cljs.core.Cycle(meta,all,prev,current,_next));\n});\n\n/**\n * Returns a lazy (infinite!) sequence of repetitions of the items in coll.\n */\ncljs.core.cycle \x3d (function cljs$core$cycle(coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar vals \x3d temp__5802__auto__;\nreturn (new cljs.core.Cycle(null,vals,null,vals,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a vector of [(take n coll) (drop n coll)]\n */\ncljs.core.split_at \x3d (function cljs$core$split_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Repeat \x3d (function (meta,count,val,next,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.val \x3d val;\nthis.next \x3d next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Repeat.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Repeat.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Repeat.prototype.indexOf \x3d (function() {\nvar G__13004 \x3d null;\nvar G__13004__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13004__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13004 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13004__1.call(this,x);\ncase 2:\nreturn G__13004__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13004.cljs$core$IFn$_invoke$arity$1 \x3d G__13004__1;\nG__13004.cljs$core$IFn$_invoke$arity$2 \x3d G__13004__2;\nreturn G__13004;\n})()\n);\n\n(cljs.core.Repeat.prototype.lastIndexOf \x3d (function() {\nvar G__13005 \x3d null;\nvar G__13005__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__13005__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13005 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13005__1.call(this,x);\ncase 2:\nreturn G__13005__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13005.cljs$core$IFn$_invoke$arity$1 \x3d G__13005__1;\nG__13005.cljs$core$IFn$_invoke$arity$2 \x3d G__13005__2;\nreturn G__13005;\n})()\n);\n\n(cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn null;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.val,self__.val) : f.call(null,self__.val,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__13006 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__13006;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (1);\nvar ret \x3d self__.val;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__13007 \x3d (i + (1));\nvar G__13008 \x3d ret__$1;\ni \x3d G__13007;\nret \x3d G__13008;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(start,self__.val) : f.call(null,start,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__13009 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__13009;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar ret \x3d start;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__13010 \x3d (i + (1));\nvar G__13011 \x3d ret__$1;\ni \x3d G__13010;\nret \x3d G__13011;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Repeat(new_meta,self__.count,self__.val,self__.next,null));\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Repeat.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Repeat.cljs$lang$type \x3d true);\n\n(cljs.core.Repeat.cljs$lang$ctorStr \x3d \x22cljs.core/Repeat\x22);\n\n(cljs.core.Repeat.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Repeat\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Repeat.\n */\ncljs.core.__GT_Repeat \x3d (function cljs$core$__GT_Repeat(meta,count,val,next,__hash){\nreturn (new cljs.core.Repeat(meta,count,val,next,__hash));\n});\n\n/**\n * Returns a lazy (infinite!, or length n if supplied) sequence of xs.\n */\ncljs.core.repeat \x3d (function cljs$core$repeat(var_args){\nvar G__10406 \x3d arguments.length;\nswitch (G__10406) {\ncase 1:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Repeat(null,(-1),x,null,null));\n}));\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,x){\nif((n \x3e (0))){\nreturn (new cljs.core.Repeat(null,n,x,null,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.repeat.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * DEPRECATED: Use \x27repeat\x27 instead.\n * Returns a lazy seq of n xs.\n */\ncljs.core.replicate \x3d (function cljs$core$replicate(n,x){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));\n});\n/**\n * Takes a function of no args, presumably with side effects, and\n * returns an infinite (or length n if supplied) lazy sequence of calls\n * to it\n */\ncljs.core.repeatedly \x3d (function cljs$core$repeatedly(var_args){\nvar G__10408 \x3d arguments.length;\nswitch (G__10408) {\ncase 1:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}),null,null));\n}));\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,f){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}));\n\n(cljs.core.repeatedly.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.UNREALIZED_SEED \x3d ({});\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Iterate \x3d (function (meta,f,prev_seed,seed,next){\nthis.meta \x3d meta;\nthis.f \x3d f;\nthis.prev_seed \x3d prev_seed;\nthis.seed \x3d seed;\nthis.next \x3d next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Iterate.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.seed \x3d\x3d\x3d cljs.core.UNREALIZED_SEED)));\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,rf){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar first \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar v \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(first) : self__.f.call(null,first));\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(first,v) : rf.call(null,first,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__13014 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__13015 \x3d v__$2;\nret \x3d G__13014;\nv__$1 \x3d G__13015;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,rf,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(start,v) : rf.call(null,start,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__13016 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__13017 \x3d v__$2;\nret \x3d G__13016;\nv__$1 \x3d G__13017;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.UNREALIZED_SEED \x3d\x3d\x3d self__.seed)){\n(self__.seed \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(self__.prev_seed) : self__.f.call(null,self__.prev_seed)));\n} else {\n}\n\nreturn self__.seed;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\n(self__.next \x3d (new cljs.core.Iterate(null,self__.f,coll__$1.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null)));\n} else {\n}\n\nreturn self__.next;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Iterate(new_meta,self__.f,self__.prev_seed,self__.seed,self__.next));\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Iterate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22prev-seed\x22,\x22prev-seed\x22,2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seed\x22,\x22seed\x22,1709144854,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Iterate.cljs$lang$type \x3d true);\n\n(cljs.core.Iterate.cljs$lang$ctorStr \x3d \x22cljs.core/Iterate\x22);\n\n(cljs.core.Iterate.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Iterate\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Iterate.\n */\ncljs.core.__GT_Iterate \x3d (function cljs$core$__GT_Iterate(meta,f,prev_seed,seed,next){\nreturn (new cljs.core.Iterate(meta,f,prev_seed,seed,next));\n});\n\n/**\n * Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects\n */\ncljs.core.iterate \x3d (function cljs$core$iterate(f,x){\nreturn (new cljs.core.Iterate(null,f,null,x,null));\n});\n/**\n * Returns a lazy seq of the first item in each coll, then the second etc.\n */\ncljs.core.interleave \x3d (function cljs$core$interleave(var_args){\nvar G__10413 \x3d arguments.length;\nswitch (G__10413) {\ncase 0:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13019 \x3d arguments.length;\nvar i__5770__auto___13020 \x3d (0);\nwhile(true){\nif((i__5770__auto___13020 \x3c len__5769__auto___13019)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13020]));\n\nvar G__13021 \x3d (i__5770__auto___13020 + (1));\ni__5770__auto___13020 \x3d G__13021;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 \x3d (function (c1){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn c1;\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 \x3d (function (c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons(cljs.core.first(s1),cljs.core.cons(cljs.core.first(s2),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s1),cljs.core.rest(s2))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic \x3d (function (c1,c2,colls){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c1], 0)));\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n/** @this {Function} */\n(cljs.core.interleave.cljs$lang$applyTo \x3d (function (seq10410){\nvar G__10411 \x3d cljs.core.first(seq10410);\nvar seq10410__$1 \x3d cljs.core.next(seq10410);\nvar G__10412 \x3d cljs.core.first(seq10410__$1);\nvar seq10410__$2 \x3d cljs.core.next(seq10410__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10411,G__10412,seq10410__$2);\n}));\n\n(cljs.core.interleave.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a lazy seq of the elements of coll separated by sep.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.interpose \x3d (function cljs$core$interpose(var_args){\nvar G__10415 \x3d arguments.length;\nswitch (G__10415) {\ncase 1:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 \x3d (function (sep){\nreturn (function (rf){\nvar started \x3d cljs.core.volatile_BANG_(false);\nreturn (function() {\nvar G__13023 \x3d null;\nvar G__13023__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13023__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13023__2 \x3d (function (result,input){\nif(cljs.core.truth_(cljs.core.deref(started))){\nvar sepr \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));\nif(cljs.core.reduced_QMARK_(sepr)){\nreturn sepr;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));\n}\n} else {\ncljs.core.vreset_BANG_(started,true);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__13023 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13023__0.call(this);\ncase 1:\nreturn G__13023__1.call(this,result);\ncase 2:\nreturn G__13023__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13023.cljs$core$IFn$_invoke$arity$0 \x3d G__13023__0;\nG__13023.cljs$core$IFn$_invoke$arity$1 \x3d G__13023__1;\nG__13023.cljs$core$IFn$_invoke$arity$2 \x3d G__13023__2;\nreturn G__13023;\n})()\n});\n}));\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 \x3d (function (sep,coll){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(sep),coll));\n}));\n\n(cljs.core.interpose.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Take a collection of collections, and return a lazy seq\n * of items from the inner collection\n */\ncljs.core.flatten1 \x3d (function cljs$core$flatten1(colls){\nvar cat \x3d (function cljs$core$flatten1_$_cat(coll,colls__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar coll__$1 \x3d temp__5802__auto__;\nreturn cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));\n} else {\nif(cljs.core.seq(colls__$1)){\nreturn cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(null,colls);\n});\n/**\n * Returns the result of applying concat to the result of applying map\n * to f and colls. Thus function f should return a collection. Returns\n * a transducer when no collections are provided\n */\ncljs.core.mapcat \x3d (function cljs$core$mapcat(var_args){\nvar G__10419 \x3d arguments.length;\nswitch (G__10419) {\ncase 1:\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13028 \x3d arguments.length;\nvar i__5770__auto___13029 \x3d (0);\nwhile(true){\nif((i__5770__auto___13029 \x3c len__5769__auto___13028)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13029]));\n\nvar G__13030 \x3d (i__5770__auto___13029 + (1));\ni__5770__auto___13029 \x3d G__13030;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);\n}));\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,colls){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,f,colls));\n}));\n\n/** @this {Function} */\n(cljs.core.mapcat.cljs$lang$applyTo \x3d (function (seq10417){\nvar G__10418 \x3d cljs.core.first(seq10417);\nvar seq10417__$1 \x3d cljs.core.next(seq10417);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10418,seq10417__$1);\n}));\n\n(cljs.core.mapcat.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.filter \x3d (function cljs$core$filter(var_args){\nvar G__10421 \x3d arguments.length;\nswitch (G__10421) {\ncase 1:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__13035 \x3d null;\nvar G__13035__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13035__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13035__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__13035 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13035__0.call(this);\ncase 1:\nreturn G__13035__1.call(this,result);\ncase 2:\nreturn G__13035__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13035.cljs$core$IFn$_invoke$arity$0 \x3d G__13035__0;\nG__13035.cljs$core$IFn$_invoke$arity$1 \x3d G__13035__1;\nG__13035.cljs$core$IFn$_invoke$arity$2 \x3d G__13035__2;\nreturn G__13035;\n})()\n});\n}));\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___13036 \x3d size;\nvar i_13037 \x3d (0);\nwhile(true){\nif((i_13037 \x3c n__5636__auto___13036)){\nif(cljs.core.truth_((function (){var G__10422 \x3d cljs.core._nth(c,i_13037);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__10422) : pred.call(null,G__10422));\n})())){\ncljs.core.chunk_append(b,cljs.core._nth(c,i_13037));\n} else {\n}\n\nvar G__13038 \x3d (i_13037 + (1));\ni_13037 \x3d G__13038;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));\n} else {\nvar f \x3d cljs.core.first(s);\nvar r \x3d cljs.core.rest(s);\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){\nreturn cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));\n} else {\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical false. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.remove \x3d (function cljs$core$remove(var_args){\nvar G__10424 \x3d arguments.length;\nswitch (G__10424) {\ncase 1:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));\n}));\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);\n}));\n\n(cljs.core.remove.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the nodes in a tree, via a depth-first walk.\n * branch? must be a fn of one arg that returns true if passed a node\n * that can have children (but may not). children must be a fn of one\n * arg that returns a sequence of the children. Will only be called on\n * nodes for which branch? returns true. Root is the root node of the\n * tree.\n */\ncljs.core.tree_seq \x3d (function cljs$core$tree_seq(branch_QMARK_,children,root){\nvar walk \x3d (function cljs$core$tree_seq_$_walk(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons(node,(cljs.core.truth_((branch_QMARK_.cljs$core$IFn$_invoke$arity$1 ? branch_QMARK_.cljs$core$IFn$_invoke$arity$1(node) : branch_QMARK_.call(null,node)))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs$core$tree_seq_$_walk,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(children.cljs$core$IFn$_invoke$arity$1 ? children.cljs$core$IFn$_invoke$arity$1(node) : children.call(null,node))], 0)):null));\n}),null,null));\n});\nreturn walk(root);\n});\n/**\n * Takes any nested combination of sequential things (lists, vectors,\n * etc.) and returns their contents as a single, flat sequence.\n * (flatten nil) returns nil.\n */\ncljs.core.flatten \x3d (function cljs$core$flatten(x){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__10425_SHARP_){\nreturn (!(cljs.core.sequential_QMARK_(p1__10425_SHARP_)));\n}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));\n});\n/**\n * Returns a new coll consisting of to-coll with all of the items of\n * from-coll conjoined. A transducer may be supplied.\n */\ncljs.core.into \x3d (function cljs$core$into(var_args){\nvar G__10427 \x3d arguments.length;\nswitch (G__10427) {\ncase 0:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$1 \x3d (function (to){\nreturn to;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$2 \x3d (function (to,from){\nif((!((to \x3d\x3d null)))){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$3 \x3d (function (to,xform,from){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nvar tm \x3d cljs.core.meta(to);\nvar rf \x3d (function() {\nvar G__13046 \x3d null;\nvar G__13046__1 \x3d (function (coll){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(coll),tm);\n});\nvar G__13046__2 \x3d (function (coll,v){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,v);\n});\nG__13046 \x3d function(coll,v){\nswitch(arguments.length){\ncase 1:\nreturn G__13046__1.call(this,coll);\ncase 2:\nreturn G__13046__2.call(this,coll,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13046.cljs$core$IFn$_invoke$arity$1 \x3d G__13046__1;\nG__13046.cljs$core$IFn$_invoke$arity$2 \x3d G__13046__2;\nreturn G__13046;\n})()\n;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,rf,cljs.core.transient$(to),from);\n} else {\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector consisting of the result of applying f to the\n * set of first items of each coll, followed by applying f to the set\n * of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments.\n */\ncljs.core.mapv \x3d (function cljs$core$mapv(var_args){\nvar G__10436 \x3d arguments.length;\nswitch (G__10436) {\ncase 2:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13054 \x3d arguments.length;\nvar i__5770__auto___13055 \x3d (0);\nwhile(true){\nif((i__5770__auto___13055 \x3c len__5769__auto___13054)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13055]));\n\nvar G__13056 \x3d (i__5770__auto___13055 + (1));\ni__5770__auto___13055 \x3d G__13056;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(o) : f.call(null,o)));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,c1,c2));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,c1,c2,c3));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,f,c1,c2,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([colls], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.mapv.cljs$lang$applyTo \x3d (function (seq10431){\nvar G__10432 \x3d cljs.core.first(seq10431);\nvar seq10431__$1 \x3d cljs.core.next(seq10431);\nvar G__10433 \x3d cljs.core.first(seq10431__$1);\nvar seq10431__$2 \x3d cljs.core.next(seq10431__$1);\nvar G__10434 \x3d cljs.core.first(seq10431__$2);\nvar seq10431__$3 \x3d cljs.core.next(seq10431__$2);\nvar G__10435 \x3d cljs.core.first(seq10431__$3);\nvar seq10431__$4 \x3d cljs.core.next(seq10431__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10432,G__10433,G__10434,G__10435,seq10431__$4);\n}));\n\n(cljs.core.mapv.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a vector of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n */\ncljs.core.filterv \x3d (function cljs$core$filterv(pred,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);\n} else {\nreturn v;\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n});\n/**\n * Returns a lazy sequence of lists of n items each, at offsets step\n * apart. If step is not supplied, defaults to n, i.e. the partitions\n * do not overlap. If a pad collection is supplied, use its elements as\n * necessary to complete last partition up to n items. In case there are\n * not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partition \x3d (function cljs$core$partition(var_args){\nvar G__10438 \x3d arguments.length;\nswitch (G__10438) {\ncase 2:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the value in a nested associative structure,\n * where ks is a sequence of keys. Returns nil if the key is not present,\n * or the not-found value if supplied.\n */\ncljs.core.get_in \x3d (function cljs$core$get_in(var_args){\nvar G__10440 \x3d arguments.length;\nswitch (G__10440) {\ncase 2:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 \x3d (function (m,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,m,ks);\n}));\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,ks,not_found){\nvar sentinel \x3d cljs.core.lookup_sentinel;\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((!((ks__$1 \x3d\x3d null)))){\nvar m__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);\nif((sentinel \x3d\x3d\x3d m__$2)){\nreturn not_found;\n} else {\nvar G__13065 \x3d sentinel;\nvar G__13066 \x3d m__$2;\nvar G__13067 \x3d cljs.core.next(ks__$1);\nsentinel \x3d G__13065;\nm__$1 \x3d G__13066;\nks__$1 \x3d G__13067;\ncontinue;\n}\n} else {\nreturn m__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Associates a value in a nested associative structure, where ks is a\n * sequence of keys and v is the new value and returns a new nested structure.\n * If any levels do not exist, hash-maps will be created.\n */\ncljs.core.assoc_in \x3d (function cljs$core$assoc_in(m,p__10441,v){\nvar vec__10442 \x3d p__10441;\nvar seq__10443 \x3d cljs.core.seq(vec__10442);\nvar first__10444 \x3d cljs.core.first(seq__10443);\nvar seq__10443__$1 \x3d cljs.core.next(seq__10443);\nvar k \x3d first__10444;\nvar ks \x3d seq__10443__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10445 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10446 \x3d ks;\nvar G__10447 \x3d v;\nreturn (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__10445,G__10446,G__10447) : cljs.core.assoc_in.call(null,G__10445,G__10446,G__10447));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\n/**\n * \x27Updates\x27 a value in a nested associative structure, where ks is a\n * sequence of keys and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * nested structure. If any levels do not exist, hash-maps will be\n * created.\n */\ncljs.core.update_in \x3d (function cljs$core$update_in(var_args){\nvar G__10456 \x3d arguments.length;\nswitch (G__10456) {\ncase 3:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13071 \x3d arguments.length;\nvar i__5770__auto___13072 \x3d (0);\nwhile(true){\nif((i__5770__auto___13072 \x3c len__5769__auto___13071)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13072]));\n\nvar G__13075 \x3d (i__5770__auto___13072 + (1));\ni__5770__auto___13072 \x3d G__13075;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,p__10457,f){\nvar vec__10458 \x3d p__10457;\nvar seq__10459 \x3d cljs.core.seq(vec__10458);\nvar first__10460 \x3d cljs.core.first(seq__10459);\nvar seq__10459__$1 \x3d cljs.core.next(seq__10459);\nvar k \x3d first__10460;\nvar ks \x3d seq__10459__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10461 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10461) : f.call(null,G__10461));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,p__10462,f,a){\nvar vec__10463 \x3d p__10462;\nvar seq__10464 \x3d cljs.core.seq(vec__10463);\nvar first__10465 \x3d cljs.core.first(seq__10464);\nvar seq__10464__$1 \x3d cljs.core.next(seq__10464);\nvar k \x3d first__10465;\nvar ks \x3d seq__10464__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10466 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10467 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10466,G__10467) : f.call(null,G__10466,G__10467));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,p__10468,f,a,b){\nvar vec__10469 \x3d p__10468;\nvar seq__10470 \x3d cljs.core.seq(vec__10469);\nvar first__10471 \x3d cljs.core.first(seq__10470);\nvar seq__10470__$1 \x3d cljs.core.next(seq__10470);\nvar k \x3d first__10471;\nvar ks \x3d seq__10470__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10472 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10473 \x3d a;\nvar G__10474 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10472,G__10473,G__10474) : f.call(null,G__10472,G__10473,G__10474));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,p__10475,f,a,b,c){\nvar vec__10476 \x3d p__10475;\nvar seq__10477 \x3d cljs.core.seq(vec__10476);\nvar first__10478 \x3d cljs.core.first(seq__10477);\nvar seq__10477__$1 \x3d cljs.core.next(seq__10477);\nvar k \x3d first__10478;\nvar ks \x3d seq__10477__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b,c));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10479 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10480 \x3d a;\nvar G__10481 \x3d b;\nvar G__10482 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__10479,G__10480,G__10481,G__10482) : f.call(null,G__10479,G__10480,G__10481,G__10482));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,p__10483,f,a,b,c,args){\nvar vec__10484 \x3d p__10483;\nvar seq__10485 \x3d cljs.core.seq(vec__10484);\nvar first__10486 \x3d cljs.core.first(seq__10485);\nvar seq__10485__$1 \x3d cljs.core.next(seq__10485);\nvar k \x3d first__10486;\nvar ks \x3d seq__10485__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,c,args], 0)));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.update_in.cljs$lang$applyTo \x3d (function (seq10449){\nvar G__10450 \x3d cljs.core.first(seq10449);\nvar seq10449__$1 \x3d cljs.core.next(seq10449);\nvar G__10451 \x3d cljs.core.first(seq10449__$1);\nvar seq10449__$2 \x3d cljs.core.next(seq10449__$1);\nvar G__10452 \x3d cljs.core.first(seq10449__$2);\nvar seq10449__$3 \x3d cljs.core.next(seq10449__$2);\nvar G__10453 \x3d cljs.core.first(seq10449__$3);\nvar seq10449__$4 \x3d cljs.core.next(seq10449__$3);\nvar G__10454 \x3d cljs.core.first(seq10449__$4);\nvar seq10449__$5 \x3d cljs.core.next(seq10449__$4);\nvar G__10455 \x3d cljs.core.first(seq10449__$5);\nvar seq10449__$6 \x3d cljs.core.next(seq10449__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10450,G__10451,G__10452,G__10453,G__10454,G__10455,seq10449__$6);\n}));\n\n(cljs.core.update_in.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * \x27Updates\x27 a value in an associative structure, where k is a\n * key and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * structure. If the key does not exist, nil is passed as the old value.\n */\ncljs.core.update \x3d (function cljs$core$update(var_args){\nvar G__10495 \x3d arguments.length;\nswitch (G__10495) {\ncase 3:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13079 \x3d arguments.length;\nvar i__5770__auto___13080 \x3d (0);\nwhile(true){\nif((i__5770__auto___13080 \x3c len__5769__auto___13079)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13080]));\n\nvar G__13081 \x3d (i__5770__auto___13080 + (1));\ni__5770__auto___13080 \x3d G__13081;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,k,f){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10496 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__10496) : f.call(null,G__10496));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,k,f,x){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10497 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10498 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10497,G__10498) : f.call(null,G__10497,G__10498));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,k,f,x,y){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10499 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10500 \x3d x;\nvar G__10501 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10499,G__10500,G__10501) : f.call(null,G__10499,G__10500,G__10501));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,k,f,x,y,z){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10502 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10503 \x3d x;\nvar G__10504 \x3d y;\nvar G__10505 \x3d z;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__10502,G__10503,G__10504,G__10505) : f.call(null,G__10502,G__10503,G__10504,G__10505));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,k,f,x,y,z,more){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.update.cljs$lang$applyTo \x3d (function (seq10488){\nvar G__10489 \x3d cljs.core.first(seq10488);\nvar seq10488__$1 \x3d cljs.core.next(seq10488);\nvar G__10490 \x3d cljs.core.first(seq10488__$1);\nvar seq10488__$2 \x3d cljs.core.next(seq10488__$1);\nvar G__10491 \x3d cljs.core.first(seq10488__$2);\nvar seq10488__$3 \x3d cljs.core.next(seq10488__$2);\nvar G__10492 \x3d cljs.core.first(seq10488__$3);\nvar seq10488__$4 \x3d cljs.core.next(seq10488__$3);\nvar G__10493 \x3d cljs.core.first(seq10488__$4);\nvar seq10488__$5 \x3d cljs.core.next(seq10488__$4);\nvar G__10494 \x3d cljs.core.first(seq10488__$5);\nvar seq10488__$6 \x3d cljs.core.next(seq10488__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10489,G__10490,G__10491,G__10492,G__10493,G__10494,seq10488__$6);\n}));\n\n(cljs.core.update.cljs$lang$maxFixedArity \x3d (6));\n\n\n/**\n* @constructor\n*/\ncljs.core.VectorNode \x3d (function (edit,arr){\nthis.edit \x3d edit;\nthis.arr \x3d arr;\n});\n\n(cljs.core.VectorNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.VectorNode.cljs$lang$type \x3d true);\n\n(cljs.core.VectorNode.cljs$lang$ctorStr \x3d \x22cljs.core/VectorNode\x22);\n\n(cljs.core.VectorNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/VectorNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/VectorNode.\n */\ncljs.core.__GT_VectorNode \x3d (function cljs$core$__GT_VectorNode(edit,arr){\nreturn (new cljs.core.VectorNode(edit,arr));\n});\n\ncljs.core.pv_fresh_node \x3d (function cljs$core$pv_fresh_node(edit){\nreturn (new cljs.core.VectorNode(edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));\n});\ncljs.core.pv_aget \x3d (function cljs$core$pv_aget(node,idx){\nreturn (node.arr[idx]);\n});\ncljs.core.pv_aset \x3d (function cljs$core$pv_aset(node,idx,val){\nreturn (node.arr[idx] \x3d val);\n});\ncljs.core.pv_clone_node \x3d (function cljs$core$pv_clone_node(node){\nreturn (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));\n});\ncljs.core.tail_off \x3d (function cljs$core$tail_off(pv){\nvar cnt \x3d pv.cnt;\nif((cnt \x3c (32))){\nreturn (0);\n} else {\nreturn (((cnt - (1)) \x3e\x3e\x3e (5)) \x3c\x3c (5));\n}\n});\ncljs.core.new_path \x3d (function cljs$core$new_path(edit,level,node){\nvar ll \x3d level;\nvar ret \x3d node;\nwhile(true){\nif((ll \x3d\x3d\x3d (0))){\nreturn ret;\n} else {\nvar embed \x3d ret;\nvar r \x3d cljs.core.pv_fresh_node(edit);\nvar _ \x3d cljs.core.pv_aset(r,(0),embed);\nvar G__13083 \x3d (ll - (5));\nvar G__13084 \x3d r;\nll \x3d G__13083;\nret \x3d G__13084;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.push_tail \x3d (function cljs$core$push_tail(pv,level,parent,tailnode){\nvar ret \x3d cljs.core.pv_clone_node(parent);\nvar subidx \x3d (((pv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\nif(((5) \x3d\x3d\x3d level)){\ncljs.core.pv_aset(ret,subidx,tailnode);\n\nreturn ret;\n} else {\nvar child \x3d cljs.core.pv_aget(parent,subidx);\nif((!((child \x3d\x3d null)))){\nvar node_to_insert \x3d (function (){var G__10506 \x3d pv;\nvar G__10507 \x3d (level - (5));\nvar G__10508 \x3d child;\nvar G__10509 \x3d tailnode;\nreturn (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__10506,G__10507,G__10508,G__10509) : cljs.core.push_tail.call(null,G__10506,G__10507,G__10508,G__10509));\n})();\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n} else {\nvar node_to_insert \x3d cljs.core.new_path(null,(level - (5)),tailnode);\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n}\n}\n});\ncljs.core.vector_index_out_of_bounds \x3d (function cljs$core$vector_index_out_of_bounds(i,cnt){\nthrow (new Error([\x22No item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),\x22 in vector of length \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join(\x27\x27)));\n});\ncljs.core.first_array_for_longvec \x3d (function cljs$core$first_array_for_longvec(pv){\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__13085 \x3d cljs.core.pv_aget(node,(0));\nvar G__13086 \x3d (level - (5));\nnode \x3d G__13085;\nlevel \x3d G__13086;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n});\ncljs.core.unchecked_array_for \x3d (function cljs$core$unchecked_array_for(pv,i){\nif((i \x3e\x3d cljs.core.tail_off(pv))){\nreturn pv.tail;\n} else {\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__13088 \x3d cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31)));\nvar G__13089 \x3d (level - (5));\nnode \x3d G__13088;\nlevel \x3d G__13089;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\ncljs.core.array_for \x3d (function cljs$core$array_for(pv,i){\nif(((((0) \x3c\x3d i)) \x26\x26 ((i \x3c pv.cnt)))){\nreturn cljs.core.unchecked_array_for(pv,i);\n} else {\nreturn cljs.core.vector_index_out_of_bounds(i,pv.cnt);\n}\n});\ncljs.core.do_assoc \x3d (function cljs$core$do_assoc(pv,level,node,i,val){\nvar ret \x3d cljs.core.pv_clone_node(node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(ret,(i \x26 (31)),val);\n\nreturn ret;\n} else {\nvar subidx \x3d ((i \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(function (){var G__10510 \x3d pv;\nvar G__10511 \x3d (level - (5));\nvar G__10512 \x3d cljs.core.pv_aget(node,subidx);\nvar G__10513 \x3d i;\nvar G__10514 \x3d val;\nreturn (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__10510,G__10511,G__10512,G__10513,G__10514) : cljs.core.do_assoc.call(null,G__10510,G__10511,G__10512,G__10513,G__10514));\n})());\n\nreturn ret;\n}\n});\ncljs.core.pop_tail \x3d (function cljs$core$pop_tail(pv,level,node){\nvar subidx \x3d (((pv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__10515 \x3d pv;\nvar G__10516 \x3d (level - (5));\nvar G__10517 \x3d cljs.core.pv_aget(node,subidx);\nreturn (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__10515,G__10516,G__10517) : cljs.core.pop_tail.call(null,G__10515,G__10516,G__10517));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,new_child);\n\nreturn ret;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,null);\n\nreturn ret;\n\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.RangedIterator \x3d (function (i,base,arr,v,start,end){\nthis.i \x3d i;\nthis.base \x3d base;\nthis.arr \x3d arr;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\n});\n(cljs.core.RangedIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.i \x3c self__.end);\n}));\n\n(cljs.core.RangedIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.i - self__.base) \x3d\x3d\x3d (32))){\n(self__.arr \x3d cljs.core.unchecked_array_for(self__.v,self__.i));\n\n(self__.base \x3d (self__.base + (32)));\n} else {\n}\n\nvar ret \x3d (self__.arr[(self__.i \x26 (31))]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.RangedIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22base\x22,\x22base\x22,1825810849,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.RangedIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangedIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangedIterator\x22);\n\n(cljs.core.RangedIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangedIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangedIterator.\n */\ncljs.core.__GT_RangedIterator \x3d (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){\nreturn (new cljs.core.RangedIterator(i,base,arr,v,start,end));\n});\n\ncljs.core.ranged_iterator \x3d (function cljs$core$ranged_iterator(v,start,end){\nvar i \x3d start;\nreturn (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start \x3c cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));\n});\ncljs.core.pv_reduce \x3d (function cljs$core$pv_reduce(var_args){\nvar G__10519 \x3d arguments.length;\nswitch (G__10519) {\ncase 4:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (pv,f,start,end){\nif((start \x3c end)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(pv,f,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pv,start),(start + (1)),end);\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 \x3d (function (pv,f,init,start,end){\nvar acc \x3d init;\nvar i \x3d start;\nvar arr \x3d cljs.core.unchecked_array_for(pv,start);\nwhile(true){\nif((i \x3c end)){\nvar j \x3d (i \x26 (31));\nvar arr__$1 \x3d (((j \x3d\x3d\x3d (0)))?cljs.core.unchecked_array_for(pv,i):arr);\nvar nacc \x3d (function (){var G__10520 \x3d acc;\nvar G__10521 \x3d (arr__$1[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10520,G__10521) : f.call(null,G__10520,G__10521));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__13094 \x3d nacc;\nvar G__13095 \x3d (i + (1));\nvar G__13096 \x3d arr__$1;\nacc \x3d G__13094;\ni \x3d G__13095;\narr \x3d G__13096;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.pv_reduce.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n\n\n\n\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.APersistentVector \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.APersistentVector}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentVector \x3d (function (meta,cnt,shift,root,tail,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (new cljs.core.MapEntry(n,(cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentVector.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentVector.prototype.indexOf \x3d (function() {\nvar G__13097 \x3d null;\nvar G__13097__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13097__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13097 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13097__1.call(this,x);\ncase 2:\nreturn G__13097__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13097.cljs$core$IFn$_invoke$arity$1 \x3d G__13097__1;\nG__13097.cljs$core$IFn$_invoke$arity$2 \x3d G__13097__2;\nreturn G__13097;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.lastIndexOf \x3d (function() {\nvar G__13098 \x3d null;\nvar G__13098__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13098__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13098 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13098__1.call(this,x);\ncase 2:\nreturn G__13098__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13098.cljs$core$IFn$_invoke$arity$1 \x3d G__13098__1;\nG__13098.cljs$core$IFn$_invoke$arity$2 \x3d G__13098__2;\nreturn G__13098;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__10523 \x3d init__$2;\nvar G__10524 \x3d (j + i);\nvar G__10525 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10523,G__10524,G__10525) : f.call(null,G__10523,G__10524,G__10525));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__13099 \x3d (j + (1));\nvar G__13100 \x3d init__$3;\nj \x3d G__13099;\ninit__$2 \x3d G__13100;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__13102 \x3d (i + len);\nvar G__13103 \x3d init__$2;\ni \x3d G__13102;\ninit__$1 \x3d G__13103;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(coll__$1) \x3c\x3d n)){\nvar new_tail \x3d cljs.core.aclone(self__.tail);\n(new_tail[(n \x26 (31))] \x3d val);\n\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,cljs.core.do_assoc(coll__$1,self__.shift,self__.root,n,val),self__.tail,null));\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),\x22]\x22].join(\x27\x27)));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n} else {\nif(((1) \x3c (self__.cnt - cljs.core.tail_off(coll__$1)))){\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));\n} else {\nvar new_tail \x3d cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));\nvar nr \x3d cljs.core.pop_tail(coll__$1,self__.shift,self__.root);\nvar new_root \x3d (((nr \x3d\x3d null))?cljs.core.PersistentVector.EMPTY_NODE:nr);\nvar cnt_1 \x3d (self__.cnt - (1));\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));\n}\n\n}\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((other instanceof cljs.core.PersistentVector)){\nif((self__.cnt \x3d\x3d\x3d cljs.core.count(other))){\nvar me_iter \x3d coll__$1.cljs$core$IIterable$_iterator$arity$1(null);\nvar you_iter \x3d other.cljs$core$IIterable$_iterator$arity$1(null);\nwhile(true){\nif(me_iter.hasNext()){\nvar x \x3d me_iter.next();\nvar y \x3d you_iter.next();\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientVector(self__.cnt,self__.shift,(cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(self__.root) : cljs.core.tv_editable_root.call(null,self__.root)),(cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(self__.tail) : cljs.core.tv_editable_tail.call(null,self__.tail))));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (v,f){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__10526 \x3d init__$2;\nvar G__10527 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10526,G__10527) : f.call(null,G__10526,G__10527));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__13108 \x3d (j + (1));\nvar G__13109 \x3d init__$3;\nj \x3d G__13108;\ninit__$2 \x3d G__13109;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__13110 \x3d (i + len);\nvar G__13111 \x3d init__$2;\ni \x3d G__13110;\ninit__$1 \x3d G__13111;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);\n} else {\nthrow (new Error(\x22Vector\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(k)){\nreturn ((((0) \x3c\x3d k)) \x26\x26 ((k \x3c self__.cnt)));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nif((self__.cnt \x3c\x3d (32))){\nreturn (new cljs.core.IndexedSeq(self__.tail,(0),null));\n} else {\nvar G__10528 \x3d coll__$1;\nvar G__10529 \x3d cljs.core.first_array_for_longvec(coll__$1);\nvar G__10530 \x3d (0);\nvar G__10531 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__10528,G__10529,G__10530,G__10531) : cljs.core.chunked_seq.call(null,G__10528,G__10529,G__10530,G__10531));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentVector(new_meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.cnt - cljs.core.tail_off(coll__$1)) \x3c (32))){\nvar len \x3d self__.tail.length;\nvar new_tail \x3d (new Array((len + (1))));\nvar n__5636__auto___13116 \x3d len;\nvar i_13117 \x3d (0);\nwhile(true){\nif((i_13117 \x3c n__5636__auto___13116)){\n(new_tail[i_13117] \x3d (self__.tail[i_13117]));\n\nvar G__13118 \x3d (i_13117 + (1));\ni_13117 \x3d G__13118;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(new_tail[len] \x3d o);\n\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));\n} else {\nvar root_overflow_QMARK_ \x3d ((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift));\nvar new_shift \x3d ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);\nvar new_root \x3d ((root_overflow_QMARK_)?(function (){var n_r \x3d cljs.core.pv_fresh_node(null);\ncljs.core.pv_aset(n_r,(0),self__.root);\n\ncljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));\n\nreturn n_r;\n})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10532 \x3d (arguments.length - (1));\nswitch (G__10532) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentVector.prototype.apply \x3d (function (self__,args10522){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10522)));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n} else {\nthrow (new Error(\x22Key must be integer\x22));\n}\n}));\n\n(cljs.core.PersistentVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentVector.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentVector.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentVector\x22);\n\n(cljs.core.PersistentVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentVector.\n */\ncljs.core.__GT_PersistentVector \x3d (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){\nreturn (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));\n});\n\n(cljs.core.PersistentVector.EMPTY_NODE \x3d (new cljs.core.VectorNode(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])));\n(cljs.core.PersistentVector.EMPTY \x3d (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentVector.fromArray \x3d (function (xs,no_clone){\nvar l \x3d xs.length;\nvar xs__$1 \x3d ((no_clone)?xs:cljs.core.aclone(xs));\nif((l \x3c (32))){\nreturn (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));\n} else {\nvar node \x3d xs__$1.slice((0),(32));\nvar v \x3d (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));\nvar i \x3d (32);\nvar out \x3d v.cljs$core$IEditableCollection$_as_transient$arity$1(null);\nwhile(true){\nif((i \x3c l)){\nvar G__13120 \x3d (i + (1));\nvar G__13121 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));\ni \x3d G__13120;\nout \x3d G__13121;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Creates a new vector containing the contents of coll. JavaScript arrays\n * will be aliased and should not be modified.\n */\ncljs.core.vec \x3d (function cljs$core$vec(coll){\nif(cljs.core.truth_((cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.map_entry_QMARK_.call(null,coll)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.key.call(null,coll)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.val.call(null,coll))], null);\n} else {\nif(cljs.core.vector_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.PersistentVector.fromArray(coll,true);\n} else {\nreturn cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),coll));\n\n}\n}\n}\n});\n/**\n * Creates a new vector containing the args.\n */\ncljs.core.vector \x3d (function cljs$core$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13122 \x3d arguments.length;\nvar i__5770__auto___13123 \x3d (0);\nwhile(true){\nif((i__5770__auto___13123 \x3c len__5769__auto___13122)){\nargs__5775__auto__.push((arguments[i__5770__auto___13123]));\n\nvar G__13124 \x3d (i__5770__auto___13123 + (1));\ni__5770__auto___13123 \x3d G__13124;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nif((((args instanceof cljs.core.IndexedSeq)) \x26\x26 ((args.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentVector.fromArray(args.arr,(!(cljs.core.array_QMARK_(args.arr))));\n} else {\nreturn cljs.core.vec(args);\n}\n}));\n\n(cljs.core.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.vector.cljs$lang$applyTo \x3d (function (seq10533){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10533));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ChunkedSeq \x3d (function (vec,node,i,off,meta,__hash){\nthis.vec \x3d vec;\nthis.node \x3d node;\nthis.i \x3d i;\nthis.off \x3d off;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375020;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.indexOf \x3d (function() {\nvar G__13125 \x3d null;\nvar G__13125__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13125__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13125 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13125__1.call(this,x);\ncase 2:\nreturn G__13125__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13125.cljs$core$IFn$_invoke$arity$1 \x3d G__13125__1;\nG__13125.cljs$core$IFn$_invoke$arity$2 \x3d G__13125__2;\nreturn G__13125;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13126 \x3d null;\nvar G__13126__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13126__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13126 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13126__1.call(this,x);\ncase 2:\nreturn G__13126__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13126.cljs$core$IFn$_invoke$arity$1 \x3d G__13126__1;\nG__13126.cljs$core$IFn$_invoke$arity$2 \x3d G__13126__2;\nreturn G__13126;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__10534 \x3d self__.vec;\nvar G__10535 \x3d self__.node;\nvar G__10536 \x3d self__.i;\nvar G__10537 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__10534,G__10535,G__10536,G__10537) : cljs.core.chunked_seq.call(null,G__10534,G__10535,G__10536,G__10537));\n})();\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.node[self__.off]);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__10538 \x3d self__.vec;\nvar G__10539 \x3d self__.node;\nvar G__10540 \x3d self__.i;\nvar G__10541 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__10538,G__10539,G__10540,G__10541) : cljs.core.chunked_seq.call(null,G__10538,G__10539,G__10540,G__10541));\n})();\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__10542 \x3d self__.vec;\nvar G__10543 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__10544 \x3d end;\nvar G__10545 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__10542,G__10543,G__10544,G__10545) : cljs.core.chunked_seq.call(null,G__10542,G__10543,G__10544,G__10545));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,new_meta) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,self__.off,new_meta));\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__10546 \x3d self__.vec;\nvar G__10547 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__10548 \x3d end;\nvar G__10549 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__10546,G__10547,G__10548,G__10549) : cljs.core.chunked_seq.call(null,G__10546,G__10547,G__10548,G__10549));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ChunkedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22node\x22,\x22node\x22,-2073234571,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedSeq\x22);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedSeq.\n */\ncljs.core.__GT_ChunkedSeq \x3d (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));\n});\n\n(cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunked_seq \x3d (function cljs$core$chunked_seq(var_args){\nvar G__10551 \x3d arguments.length;\nswitch (G__10551) {\ncase 3:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (vec,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 \x3d (function (vec,node,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 \x3d (function (vec,node,i,off,meta){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));\n}));\n\n(cljs.core.chunked_seq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Subvec \x3d (function (meta,v,start,end,__hash){\nthis.meta \x3d meta;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.Subvec.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c (0))){\nreturn null;\n} else {\nvar idx \x3d (self__.start + n);\nif((idx \x3c self__.end)){\nreturn (new cljs.core.MapEntry(n,cljs.core._lookup(self__.v,idx),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Subvec.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Subvec.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Subvec.prototype.indexOf \x3d (function() {\nvar G__13128 \x3d null;\nvar G__13128__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13128__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13128 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13128__1.call(this,x);\ncase 2:\nreturn G__13128__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13128.cljs$core$IFn$_invoke$arity$1 \x3d G__13128__1;\nG__13128.cljs$core$IFn$_invoke$arity$2 \x3d G__13128__2;\nreturn G__13128;\n})()\n);\n\n(cljs.core.Subvec.prototype.lastIndexOf \x3d (function() {\nvar G__13129 \x3d null;\nvar G__13129__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13129__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13129 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13129__1.call(this,x);\ncase 2:\nreturn G__13129__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13129.cljs$core$IFn$_invoke$arity$1 \x3d G__13129__1;\nG__13129.cljs$core$IFn$_invoke$arity$2 \x3d G__13129__2;\nreturn G__13129;\n})()\n);\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i \x3d self__.start;\nvar j \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.end)){\nvar init__$2 \x3d (function (){var G__10553 \x3d init__$1;\nvar G__10554 \x3d j;\nvar G__10555 \x3d cljs.core._nth(self__.v,i);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10553,G__10554,G__10555) : f.call(null,G__10553,G__10554,G__10555));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__13130 \x3d (i + (1));\nvar G__13131 \x3d (j + (1));\nvar G__13132 \x3d init__$2;\ni \x3d G__13130;\nj \x3d G__13131;\ninit__$1 \x3d G__13132;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn not_found;\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n),not_found);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v_pos \x3d (self__.start + n);\nif((((n \x3c (0))) || (((self__.end + (1)) \x3c\x3d v_pos)))){\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),\x22]\x22].join(\x27\x27)));\n} else {\nvar G__10556 \x3d self__.meta;\nvar G__10557 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val);\nvar G__10558 \x3d self__.start;\nvar G__10559 \x3d (function (){var x__5130__auto__ \x3d self__.end;\nvar y__5131__auto__ \x3d (v_pos + (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar G__10560 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__10556,G__10557,G__10558,G__10559,G__10560) : cljs.core.build_subvec.call(null,G__10556,G__10557,G__10558,G__10559,G__10560));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.ranged_iterator(self__.v,self__.start,self__.end);\n} else {\nreturn cljs.core.seq_iter(coll__$1);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.end - self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core._nth(self__.v,(self__.end - (1)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nvar G__10562 \x3d self__.meta;\nvar G__10563 \x3d self__.v;\nvar G__10564 \x3d self__.start;\nvar G__10565 \x3d (self__.end - (1));\nvar G__10566 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__10562,G__10563,G__10564,G__10565,G__10566) : cljs.core.build_subvec.call(null,G__10562,G__10563,G__10564,G__10565,G__10566));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.start \x3d\x3d\x3d self__.end)))){\nreturn (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,key,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22Subvec\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,key){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(key)){\nreturn ((((0) \x3c\x3d key)) \x26\x26 ((key \x3c (self__.end - self__.start))));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar subvec_seq \x3d (function cljs$core$subvec_seq(i){\nif((i \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core.cons(cljs.core._nth(self__.v,i),(new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$subvec_seq((i + (1)));\n}),null,null)));\n}\n});\nreturn subvec_seq(self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(new_meta,self__.v,self__.start,self__.end,self__.__hash) : cljs.core.build_subvec.call(null,new_meta,self__.v,self__.start,self__.end,self__.__hash));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__10569 \x3d self__.meta;\nvar G__10570 \x3d cljs.core._assoc_n(self__.v,self__.end,o);\nvar G__10571 \x3d self__.start;\nvar G__10572 \x3d (self__.end + (1));\nvar G__10573 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__10569,G__10570,G__10571,G__10572,G__10573) : cljs.core.build_subvec.call(null,G__10569,G__10570,G__10571,G__10572,G__10573));\n}));\n\n(cljs.core.Subvec.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10574 \x3d (arguments.length - (1));\nswitch (G__10574) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Subvec.prototype.apply \x3d (function (self__,args10552){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10552)));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.Subvec.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Subvec.cljs$lang$type \x3d true);\n\n(cljs.core.Subvec.cljs$lang$ctorStr \x3d \x22cljs.core/Subvec\x22);\n\n(cljs.core.Subvec.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Subvec\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Subvec.\n */\ncljs.core.__GT_Subvec \x3d (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n});\n\n(cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.build_subvec \x3d (function cljs$core$build_subvec(meta,v,start,end,__hash){\nwhile(true){\nif((v instanceof cljs.core.Subvec)){\nvar G__13135 \x3d meta;\nvar G__13136 \x3d v.v;\nvar G__13137 \x3d (v.start + start);\nvar G__13138 \x3d (v.start + end);\nvar G__13139 \x3d __hash;\nmeta \x3d G__13135;\nv \x3d G__13136;\nstart \x3d G__13137;\nend \x3d G__13138;\n__hash \x3d G__13139;\ncontinue;\n} else {\nif(cljs.core.vector_QMARK_(v)){\n} else {\nthrow (new Error(\x22v must satisfy IVector\x22));\n}\n\nif((((start \x3c (0))) || ((((end \x3c start)) || ((end \x3e cljs.core.count(v))))))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\n}\n\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n}\nbreak;\n}\n});\n/**\n * Returns a persistent vector of the items in vector from\n * start (inclusive) to end (exclusive). If end is not supplied,\n * defaults to (count vector). This operation is O(1) and very fast, as\n * the resulting vector shares structure with the original and no\n * trimming is done.\n */\ncljs.core.subvec \x3d (function cljs$core$subvec(var_args){\nvar G__10576 \x3d arguments.length;\nswitch (G__10576) {\ncase 2:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,start){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));\n}));\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 \x3d (function (v,start,end){\nif((((!((start \x3d\x3d null)))) \x26\x26 ((!((end \x3d\x3d null)))))){\n} else {\nthrow (new Error(\x22Assert failed: (and (not (nil? start)) (not (nil? end)))\x22));\n}\n\nreturn cljs.core.build_subvec(null,v,(start | (0)),(end | (0)),null);\n}));\n\n(cljs.core.subvec.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.tv_ensure_editable \x3d (function cljs$core$tv_ensure_editable(edit,node){\nif((edit \x3d\x3d\x3d node.edit)){\nreturn node;\n} else {\nreturn (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));\n}\n});\ncljs.core.tv_editable_root \x3d (function cljs$core$tv_editable_root(node){\nreturn (new cljs.core.VectorNode(({}),cljs.core.aclone(node.arr)));\n});\ncljs.core.tv_editable_tail \x3d (function cljs$core$tv_editable_tail(tl){\nvar ret \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\ncljs.core.array_copy(tl,(0),ret,(0),tl.length);\n\nreturn ret;\n});\ncljs.core.tv_push_tail \x3d (function cljs$core$tv_push_tail(tv,level,parent,tail_node){\nvar ret \x3d cljs.core.tv_ensure_editable(tv.root.edit,parent);\nvar subidx \x3d (((tv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(((level \x3d\x3d\x3d (5)))?tail_node:(function (){var child \x3d cljs.core.pv_aget(ret,subidx);\nif((!((child \x3d\x3d null)))){\nvar G__10579 \x3d tv;\nvar G__10580 \x3d (level - (5));\nvar G__10581 \x3d child;\nvar G__10582 \x3d tail_node;\nreturn (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__10579,G__10580,G__10581,G__10582) : cljs.core.tv_push_tail.call(null,G__10579,G__10580,G__10581,G__10582));\n} else {\nreturn cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);\n}\n})()));\n\nreturn ret;\n});\ncljs.core.tv_pop_tail \x3d (function cljs$core$tv_pop_tail(tv,level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(tv.root.edit,node);\nvar subidx \x3d (((tv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__10583 \x3d tv;\nvar G__10584 \x3d (level - (5));\nvar G__10585 \x3d cljs.core.pv_aget(node__$1,subidx);\nreturn (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__10583,G__10584,G__10585) : cljs.core.tv_pop_tail.call(null,G__10583,G__10584,G__10585));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,new_child);\n\nreturn node__$1;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,null);\n\nreturn node__$1;\n\n}\n}\n});\ncljs.core.unchecked_editable_array_for \x3d (function cljs$core$unchecked_editable_array_for(tv,i){\nif((i \x3e\x3d cljs.core.tail_off(tv))){\nreturn tv.tail;\n} else {\nvar root \x3d tv.root;\nvar node \x3d root;\nvar level \x3d tv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__13143 \x3d cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31))));\nvar G__13144 \x3d (level - (5));\nnode \x3d G__13143;\nlevel \x3d G__13144;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientVector}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientVector \x3d (function (cnt,shift,root,tail){\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 88;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 275;\n});\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((self__.cnt - cljs.core.tail_off(tcoll__$1)) \x3c (32))){\n(self__.tail[(self__.cnt \x26 (31))] \x3d o);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar tail_node \x3d (new cljs.core.VectorNode(self__.root.edit,self__.tail));\nvar new_tail \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(new_tail[(0)] \x3d o);\n\n(self__.tail \x3d new_tail);\n\nif(((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift))){\nvar new_root_array \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar new_shift \x3d (self__.shift + (5));\n(new_root_array[(0)] \x3d self__.root);\n\n(new_root_array[(1)] \x3d cljs.core.new_path(self__.root.edit,self__.shift,tail_node));\n\n(self__.root \x3d (new cljs.core.VectorNode(self__.root.edit,new_root_array)));\n\n(self__.shift \x3d new_shift);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\n(self__.root.edit \x3d null);\n\nvar len \x3d (self__.cnt - cljs.core.tail_off(tcoll__$1));\nvar trimmed_tail \x3d (new Array(len));\ncljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);\n\nreturn (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22TransientVector\x27s key for assoc! must be a number.\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d (function (tcoll,n,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(tcoll__$1) \x3c\x3d n)){\n(self__.tail[(n \x26 (31))] \x3d val);\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d (function cljs$core$go(level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(node__$1,(n \x26 (31)),val);\n\nreturn node__$1;\n} else {\nvar subidx \x3d ((n \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));\n\nreturn node__$1;\n}\n})(self__.shift,self__.root);\n(self__.root \x3d new_root);\n\nreturn tcoll__$1;\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds for TransientVector of length\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join(\x27\x27)));\n\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\n(self__.cnt \x3d (0));\n\nreturn tcoll__$1;\n} else {\nif((((self__.cnt - (1)) \x26 (31)) \x3e (0))){\n(self__.cnt \x3d (self__.cnt - (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_tail \x3d cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));\nvar new_root \x3d (function (){var nr \x3d cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);\nif((!((nr \x3d\x3d null)))){\nreturn nr;\n} else {\nreturn (new cljs.core.VectorNode(self__.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));\n}\n})();\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nvar new_root__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));\n(self__.root \x3d new_root__$1);\n\n(self__.shift \x3d (self__.shift - (5)));\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n} else {\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n}\n\n}\n}\n}\n} else {\nthrow (new Error(\x22pop! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn self__.cnt;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nthrow (new Error(\x22nth after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!(self__.root.edit))){\nthrow (new Error(\x22lookup after persistent!\x22));\n} else {\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.TransientVector.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10587 \x3d (arguments.length - (1));\nswitch (G__10587) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientVector.prototype.apply \x3d (function (self__,args10586){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10586)));\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.TransientVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientVector.cljs$lang$type \x3d true);\n\n(cljs.core.TransientVector.cljs$lang$ctorStr \x3d \x22cljs.core/TransientVector\x22);\n\n(cljs.core.TransientVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientVector.\n */\ncljs.core.__GT_TransientVector \x3d (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){\nreturn (new cljs.core.TransientVector(cnt,shift,root,tail));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentQueueIter \x3d (function (fseq,riter){\nthis.fseq \x3d fseq;\nthis.riter \x3d riter;\n});\n(cljs.core.PersistentQueueIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (((!((self__.fseq \x3d\x3d null)))) \x26\x26 (cljs.core.seq(self__.fseq)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!((self__.riter \x3d\x3d null)));\nif(and__5043__auto__){\nreturn self__.riter.hasNext();\n} else {\nreturn and__5043__auto__;\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.fseq \x3d\x3d null)))){\nvar ret \x3d cljs.core.first(self__.fseq);\n(self__.fseq \x3d cljs.core.next(self__.fseq));\n\nreturn ret;\n} else {\nif((((!((self__.riter \x3d\x3d null)))) \x26\x26 (self__.riter.hasNext()))){\nreturn self__.riter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.PersistentQueueIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22fseq\x22,\x22fseq\x22,-1466412450,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22riter\x22,\x22riter\x22,-237834262,null)], null);\n}));\n\n(cljs.core.PersistentQueueIter.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueIter\x22);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueIter.\n */\ncljs.core.__GT_PersistentQueueIter \x3d (function cljs$core$__GT_PersistentQueueIter(fseq,riter){\nreturn (new cljs.core.PersistentQueueIter(fseq,riter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueueSeq \x3d (function (meta,front,rear,__hash){\nthis.meta \x3d meta;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850700;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentQueueSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.indexOf \x3d (function() {\nvar G__13149 \x3d null;\nvar G__13149__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13149__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13149 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13149__1.call(this,x);\ncase 2:\nreturn G__13149__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13149.cljs$core$IFn$_invoke$arity$1 \x3d G__13149__1;\nG__13149.cljs$core$IFn$_invoke$arity$2 \x3d G__13149__2;\nreturn G__13149;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13150 \x3d null;\nvar G__13150__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13150__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13150 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13150__1.call(this,x);\ncase 2:\nreturn G__13150__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13150.cljs$core$IFn$_invoke$arity$1 \x3d G__13150__1;\nG__13150.cljs$core$IFn$_invoke$arity$2 \x3d G__13150__2;\nreturn G__13150;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((!((self__.rear \x3d\x3d null)))){\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((self__.rear \x3d\x3d null)){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueueSeq(new_meta,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueueSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueSeq\x22);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueSeq.\n */\ncljs.core.__GT_PersistentQueueSeq \x3d (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){\nreturn (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueue \x3d (function (meta,count,front,rear,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31858766;\n});\n(cljs.core.PersistentQueue.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueue.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.indexOf \x3d (function() {\nvar G__13153 \x3d null;\nvar G__13153__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13153__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13153 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13153__1.call(this,x);\ncase 2:\nreturn G__13153__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13153.cljs$core$IFn$_invoke$arity$1 \x3d G__13153__1;\nG__13153.cljs$core$IFn$_invoke$arity$2 \x3d G__13153__2;\nreturn G__13153;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.lastIndexOf \x3d (function() {\nvar G__13154 \x3d null;\nvar G__13154__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(self__.count.cljs$core$IFn$_invoke$arity$1 ? self__.count.cljs$core$IFn$_invoke$arity$1(coll) : self__.count.call(null,coll)));\n});\nvar G__13154__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13154 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13154__1.call(this,x);\ncase 2:\nreturn G__13154__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13154.cljs$core$IFn$_invoke$arity$1 \x3d G__13154__1;\nG__13154.cljs$core$IFn$_invoke$arity$2 \x3d G__13154__2;\nreturn G__13154;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.rest(cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar rear__$1 \x3d cljs.core.seq(self__.rear);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.front;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn rear__$1;\n}\n})())){\nreturn (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueue(new_meta,self__.count,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d self__.rear;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),o),null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.front,o),cljs.core.PersistentVector.EMPTY,null));\n}\n}));\n\n(cljs.core.PersistentQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueue.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueue\x22);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueue\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueue.\n */\ncljs.core.__GT_PersistentQueue \x3d (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){\nreturn (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueue.EMPTY \x3d (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n*/\ncljs.core.NeverEquiv \x3d (function (){\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2097152;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NeverEquiv.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.NeverEquiv.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.NeverEquiv.cljs$lang$type \x3d true);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorStr \x3d \x22cljs.core/NeverEquiv\x22);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NeverEquiv\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NeverEquiv.\n */\ncljs.core.__GT_NeverEquiv \x3d (function cljs$core$__GT_NeverEquiv(){\nreturn (new cljs.core.NeverEquiv());\n});\n\ncljs.core.never_equiv \x3d (new cljs.core.NeverEquiv());\n/**\n * Test map equivalence. Returns true if x equals y, otherwise returns false.\n */\ncljs.core.equiv_map \x3d (function cljs$core$equiv_map(x,y){\nreturn cljs.core.boolean$(((((cljs.core.map_QMARK_(y)) \x26\x26 ((!(cljs.core.record_QMARK_(y))))))?(((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))?(((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IKVReduce$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x)))?cljs.core.reduce_kv((function (_,k,v){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,k,cljs.core.never_equiv),v)){\nreturn true;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,x):cljs.core.every_QMARK_((function (xkv){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,cljs.core.first(xkv),cljs.core.never_equiv),cljs.core.second(xkv));\n}),x)):null):null));\n});\ncljs.core.scan_array \x3d (function cljs$core$scan_array(incr,k,array){\nvar len \x3d array.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((k \x3d\x3d\x3d (array[i]))){\nreturn i;\n} else {\nvar G__13159 \x3d (i + incr);\ni \x3d G__13159;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.core.obj_map_compare_keys \x3d (function cljs$core$obj_map_compare_keys(a,b){\nvar a__$1 \x3d cljs.core.hash(a);\nvar b__$1 \x3d cljs.core.hash(b);\nif((a__$1 \x3c b__$1)){\nreturn (-1);\n} else {\nif((a__$1 \x3e b__$1)){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\ncljs.core.obj_map__GT_hash_map \x3d (function cljs$core$obj_map__GT_hash_map(m,k,v){\nvar ks \x3d m.keys;\nvar len \x3d ks.length;\nvar so \x3d m.strobj;\nvar mm \x3d cljs.core.meta(m);\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar k__$1 \x3d (ks[i]);\nvar G__13164 \x3d (i + (1));\nvar G__13165 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,cljs.core.goog$module$goog$object.get(so,k__$1));\ni \x3d G__13164;\nout \x3d G__13165;\ncontinue;\n} else {\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);\n}\nbreak;\n}\n});\ncljs.core.obj_clone \x3d (function cljs$core$obj_clone(obj,ks){\nvar new_obj \x3d ({});\nvar l \x3d ks.length;\nvar i_13167 \x3d (0);\nwhile(true){\nif((i_13167 \x3c l)){\nvar k_13168 \x3d (ks[i_13167]);\ncljs.core.goog$module$goog$object.set(new_obj,k_13168,cljs.core.goog$module$goog$object.get(obj,k_13168));\n\nvar G__13169 \x3d (i_13167 + (1));\ni_13167 \x3d G__13169;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.ObjMap \x3d (function (meta,keys,strobj,update_count,__hash){\nthis.meta \x3d meta;\nthis.keys \x3d keys;\nthis.strobj \x3d strobj;\nthis.update_count \x3d update_count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4;\n});\n(cljs.core.ObjMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (new cljs.core.MapEntry(k,(self__.strobj[k]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ObjMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (self__.strobj[k]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.keys.length;\nvar keys__$1 \x3d self__.keys.sort(cljs.core.obj_map_compare_keys);\nvar init__$1 \x3d init;\nwhile(true){\nif(cljs.core.seq(keys__$1)){\nvar k \x3d cljs.core.first(keys__$1);\nvar init__$2 \x3d (function (){var G__10593 \x3d init__$1;\nvar G__10594 \x3d k;\nvar G__10595 \x3d (self__.strobj[k]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10593,G__10594,G__10595) : f.call(null,G__10593,G__10594,G__10595));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__13170 \x3d cljs.core.rest(keys__$1);\nvar G__13171 \x3d init__$2;\nkeys__$1 \x3d G__13170;\ninit__$1 \x3d G__13171;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.keys.length;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nvar new_keys \x3d cljs.core.aclone(self__.keys);\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nnew_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));\n\ndelete new_strobj[k];\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nif((((self__.update_count \x3e cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length \x3e\x3d cljs.core.ObjMap.HASHMAP_THRESHOLD)))){\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n} else {\nif((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))){\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nreturn (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nvar new_keys \x3d cljs.core.aclone(self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nnew_keys.push(k);\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n}\n}\n} else {\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn true;\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.keys.length \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__10591_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__10591_SHARP_,(self__.strobj[p1__10591_SHARP_])],null));\n}),self__.keys.sort(cljs.core.obj_map_compare_keys));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ObjMap(new_meta,self__.keys,self__.strobj,self__.update_count,self__.__hash));\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);\n}\n}));\n\n(cljs.core.ObjMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10596 \x3d (arguments.length - (1));\nswitch (G__10596) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.ObjMap.prototype.apply \x3d (function (self__,args10592){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10592)));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.ObjMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22strobj\x22,\x22strobj\x22,1088091283,null),new cljs.core.Symbol(null,\x22update-count\x22,\x22update-count\x22,-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ObjMap.cljs$lang$type \x3d true);\n\n(cljs.core.ObjMap.cljs$lang$ctorStr \x3d \x22cljs.core/ObjMap\x22);\n\n(cljs.core.ObjMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ObjMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ObjMap.\n */\ncljs.core.__GT_ObjMap \x3d (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){\nreturn (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));\n});\n\n(cljs.core.ObjMap.EMPTY \x3d (new cljs.core.ObjMap(null,[],({}),(0),cljs.core.empty_unordered_hash)));\n(cljs.core.ObjMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.ObjMap.fromObject \x3d (function (ks,obj){\nreturn (new cljs.core.ObjMap(null,ks,obj,(0),null));\n}));\n\n/**\n* @constructor\n*/\ncljs.core.RecordIter \x3d (function (i,record,base_count,fields,ext_map_iter){\nthis.i \x3d i;\nthis.record \x3d record;\nthis.base_count \x3d base_count;\nthis.fields \x3d fields;\nthis.ext_map_iter \x3d ext_map_iter;\n});\n(cljs.core.RecordIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (self__.i \x3c self__.base_count);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.ext_map_iter.hasNext();\n}\n}));\n\n(cljs.core.RecordIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.i \x3c self__.base_count)){\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn (new cljs.core.MapEntry(k,cljs.core._lookup(self__.record,k),null));\n} else {\nreturn self__.ext_map_iter.next();\n}\n}));\n\n(cljs.core.RecordIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.RecordIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22record\x22,\x22record\x22,861424668,null),new cljs.core.Symbol(null,\x22base-count\x22,\x22base-count\x22,-1180647182,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22ext-map-iter\x22,\x22ext-map-iter\x22,-1215982757,null)], null);\n}));\n\n(cljs.core.RecordIter.cljs$lang$type \x3d true);\n\n(cljs.core.RecordIter.cljs$lang$ctorStr \x3d \x22cljs.core/RecordIter\x22);\n\n(cljs.core.RecordIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RecordIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RecordIter.\n */\ncljs.core.__GT_RecordIter \x3d (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){\nreturn (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6EntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6EntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar vec__10599 \x3d cljs.core.first(self__.s);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10599,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10599,(1),null);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [k,v], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6EntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6EntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6EntriesIterator\x22);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6EntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6EntriesIterator.\n */\ncljs.core.__GT_ES6EntriesIterator \x3d (function cljs$core$__GT_ES6EntriesIterator(s){\nreturn (new cljs.core.ES6EntriesIterator(s));\n});\n\ncljs.core.es6_entries_iterator \x3d (function cljs$core$es6_entries_iterator(coll){\nreturn (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ES6SetEntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6SetEntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [x,x], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6SetEntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6SetEntriesIterator\x22);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6SetEntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6SetEntriesIterator.\n */\ncljs.core.__GT_ES6SetEntriesIterator \x3d (function cljs$core$__GT_ES6SetEntriesIterator(s){\nreturn (new cljs.core.ES6SetEntriesIterator(s));\n});\n\ncljs.core.es6_set_entries_iterator \x3d (function cljs$core$es6_set_entries_iterator(coll){\nreturn (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));\n});\ncljs.core.array_index_of_nil_QMARK_ \x3d (function cljs$core$array_index_of_nil_QMARK_(arr){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((arr[i]) \x3d\x3d null)){\nreturn i;\n} else {\nvar G__13181 \x3d (i + (2));\ni \x3d G__13181;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_keyword_QMARK_ \x3d (function cljs$core$array_index_of_keyword_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.fqn;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Keyword)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).fqn)))){\nreturn i;\n} else {\nvar G__13182 \x3d (i + (2));\ni \x3d G__13182;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_symbol_QMARK_ \x3d (function cljs$core$array_index_of_symbol_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.str;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Symbol)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).str)))){\nreturn i;\n} else {\nvar G__13183 \x3d (i + (2));\ni \x3d G__13183;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_identical_QMARK_ \x3d (function cljs$core$array_index_of_identical_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif((k \x3d\x3d\x3d (arr[i]))){\nreturn i;\n} else {\nvar G__13184 \x3d (i + (2));\ni \x3d G__13184;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_equiv_QMARK_ \x3d (function cljs$core$array_index_of_equiv_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){\nreturn i;\n} else {\nvar G__13185 \x3d (i + (2));\ni \x3d G__13185;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of \x3d (function cljs$core$array_index_of(arr,k){\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.array_index_of_keyword_QMARK_(arr,k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (typeof k \x3d\x3d\x3d \x27number\x27))){\nreturn cljs.core.array_index_of_identical_QMARK_(arr,k);\n} else {\nif((k instanceof cljs.core.Symbol)){\nreturn cljs.core.array_index_of_symbol_QMARK_(arr,k);\n} else {\nif((k \x3d\x3d null)){\nreturn cljs.core.array_index_of_nil_QMARK_(arr);\n} else {\nreturn cljs.core.array_index_of_equiv_QMARK_(arr,k);\n\n}\n}\n}\n}\n});\ncljs.core.array_map_index_of \x3d (function cljs$core$array_map_index_of(m,k){\nreturn cljs.core.array_index_of(m.arr,k);\n});\ncljs.core.array_extend_kv \x3d (function cljs$core$array_extend_kv(arr,k,v){\nvar l \x3d arr.length;\nvar narr \x3d (new Array((l + (2))));\nvar i_13187 \x3d (0);\nwhile(true){\nif((i_13187 \x3c l)){\n(narr[i_13187] \x3d (arr[i_13187]));\n\nvar G__13188 \x3d (i_13187 + (1));\ni_13187 \x3d G__13188;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(narr[l] \x3d k);\n\n(narr[(l + (1))] \x3d v);\n\nreturn narr;\n});\ncljs.core.array_map_extend_kv \x3d (function cljs$core$array_map_extend_kv(m,k,v){\nreturn cljs.core.array_extend_kv(m.arr,k,v);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.MapEntry \x3d (function (key,val,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MapEntry.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__10603 \x3d k;\nswitch (G__10603) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.indexOf \x3d (function() {\nvar G__13191 \x3d null;\nvar G__13191__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13191__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13191 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13191__1.call(this,x);\ncase 2:\nreturn G__13191__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13191.cljs$core$IFn$_invoke$arity$1 \x3d G__13191__1;\nG__13191.cljs$core$IFn$_invoke$arity$2 \x3d G__13191__2;\nreturn G__13191;\n})()\n);\n\n(cljs.core.MapEntry.prototype.lastIndexOf \x3d (function() {\nvar G__13192 \x3d null;\nvar G__13192__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13192__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13192 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13192__1.call(this,x);\ncase 2:\nreturn G__13192__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13192.cljs$core$IFn$_invoke$arity$1 \x3d G__13192__1;\nG__13192.cljs$core$IFn$_invoke$arity$2 \x3d G__13192__2;\nreturn G__13192;\n})()\n);\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.MapEntry.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10604 \x3d (arguments.length - (1));\nswitch (G__10604) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.apply \x3d (function (self__,args10602){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10602)));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.MapEntry.cljs$lang$type \x3d true);\n\n(cljs.core.MapEntry.cljs$lang$ctorStr \x3d \x22cljs.core/MapEntry\x22);\n\n(cljs.core.MapEntry.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MapEntry\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MapEntry.\n */\ncljs.core.__GT_MapEntry \x3d (function cljs$core$__GT_MapEntry(key,val,__hash){\nreturn (new cljs.core.MapEntry(key,val,__hash));\n});\n\n/**\n * Returns true if x satisfies IMapEntry\n */\ncljs.core.map_entry_QMARK_ \x3d (function cljs$core$map_entry_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMapEntry$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMapSeq \x3d (function (arr,i,_meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentArrayMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.indexOf \x3d (function() {\nvar G__13198 \x3d null;\nvar G__13198__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13198__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13198 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13198__1.call(this,x);\ncase 2:\nreturn G__13198__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13198.cljs$core$IFn$_invoke$arity$1 \x3d G__13198__1;\nG__13198.cljs$core$IFn$_invoke$arity$2 \x3d G__13198__2;\nreturn G__13198;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13199 \x3d null;\nvar G__13199__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13199__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13199 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13199__1.call(this,x);\ncase 2:\nreturn G__13199__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13199.cljs$core$IFn$_invoke$arity$1 \x3d G__13199__1;\nG__13199.cljs$core$IFn$_invoke$arity$2 \x3d G__13199__2;\nreturn G__13199;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn ((self__.arr.length - self__.i) / (2));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapSeq\x22);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapSeq.\n */\ncljs.core.__GT_PersistentArrayMapSeq \x3d (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n});\n\n(cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.persistent_array_map_seq \x3d (function cljs$core$persistent_array_map_seq(arr,i,_meta){\nif((i \x3c\x3d (arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n} else {\nreturn null;\n}\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentArrayMapIterator \x3d (function (arr,i,cnt){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.cnt \x3d cnt;\n});\n(cljs.core.PersistentArrayMapIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.cnt);\n}));\n\n(cljs.core.PersistentArrayMapIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n(self__.i \x3d (self__.i + (2)));\n\nreturn ret;\n}));\n\n(cljs.core.PersistentArrayMapIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapIterator\x22);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapIterator.\n */\ncljs.core.__GT_PersistentArrayMapIterator \x3d (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){\nreturn (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMap \x3d (function (meta,cnt,arr,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16647951;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn null;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__10607 \x3d cljs.core.seq(coll);\nvar chunk__10608 \x3d null;\nvar count__10609 \x3d (0);\nvar i__10610 \x3d (0);\nwhile(true){\nif((i__10610 \x3c count__10609)){\nvar vec__10617 \x3d chunk__10608.cljs$core$IIndexed$_nth$arity$2(null,i__10610);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10617,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10617,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13208 \x3d seq__10607;\nvar G__13209 \x3d chunk__10608;\nvar G__13210 \x3d count__10609;\nvar G__13211 \x3d (i__10610 + (1));\nseq__10607 \x3d G__13208;\nchunk__10608 \x3d G__13209;\ncount__10609 \x3d G__13210;\ni__10610 \x3d G__13211;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10607);\nif(temp__5804__auto__){\nvar seq__10607__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10607__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10607__$1);\nvar G__13212 \x3d cljs.core.chunk_rest(seq__10607__$1);\nvar G__13213 \x3d c__5568__auto__;\nvar G__13214 \x3d cljs.core.count(c__5568__auto__);\nvar G__13215 \x3d (0);\nseq__10607 \x3d G__13212;\nchunk__10608 \x3d G__13213;\ncount__10609 \x3d G__13214;\ni__10610 \x3d G__13215;\ncontinue;\n} else {\nvar vec__10620 \x3d cljs.core.first(seq__10607__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10620,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10620,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13216 \x3d cljs.core.next(seq__10607__$1);\nvar G__13217 \x3d null;\nvar G__13218 \x3d (0);\nvar G__13219 \x3d (0);\nseq__10607 \x3d G__13216;\nchunk__10608 \x3d G__13217;\ncount__10609 \x3d G__13218;\ni__10610 \x3d G__13219;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var G__10623 \x3d init__$1;\nvar G__10624 \x3d (self__.arr[i]);\nvar G__10625 \x3d (self__.arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10623,G__10624,G__10625) : f.call(null,G__10623,G__10624,G__10625));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__13223 \x3d (i + (2));\nvar G__13224 \x3d init__$2;\ni \x3d G__13223;\ninit__$1 \x3d G__13224;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.map_QMARK_(other)) \x26\x26 ((!(cljs.core.record_QMARK_(other)))))){\nvar alen \x3d self__.arr.length;\nvar other__$1 \x3d other;\nif((self__.cnt \x3d\x3d\x3d other__$1.cljs$core$ICounted$_count$arity$1(null))){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c alen)){\nvar v \x3d other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);\nif((!((v \x3d\x3d\x3d cljs.core.lookup_sentinel)))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){\nvar G__13225 \x3d (i + (2));\ni \x3d G__13225;\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientArrayMap(({}),self__.arr.length,cljs.core.aclone(self__.arr)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3e\x3d (0))){\nvar len \x3d self__.arr.length;\nvar new_len \x3d (len - (2));\nif((new_len \x3d\x3d\x3d (0))){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nvar new_arr \x3d (new Array(new_len));\nvar s \x3d (0);\nvar d \x3d (0);\nwhile(true){\nif((s \x3e\x3d len)){\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){\nvar G__13226 \x3d (s + (2));\nvar G__13227 \x3d d;\ns \x3d G__13226;\nd \x3d G__13227;\ncontinue;\n} else {\n(new_arr[d] \x3d (self__.arr[s]));\n\n(new_arr[(d + (1))] \x3d (self__.arr[(s + (1))]));\n\nvar G__13228 \x3d (s + (2));\nvar G__13229 \x3d (d + (2));\ns \x3d G__13228;\nd \x3d G__13229;\ncontinue;\n\n}\n}\nbreak;\n}\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.cnt \x3c cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr__$1 \x3d cljs.core.array_map_extend_kv(coll__$1,k,v);\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));\n} else {\nreturn cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1),k,v),self__.meta);\n}\n} else {\nif((v \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn coll__$1;\n} else {\nvar arr__$1 \x3d (function (){var G__10628 \x3d cljs.core.aclone(self__.arr);\n(G__10628[(idx + (1))] \x3d v);\n\nreturn G__10628;\n})();\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));\n\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((cljs.core.array_map_index_of(coll__$1,k) \x3d\x3d\x3d (-1))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.persistent_array_map_seq(self__.arr,(0),null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMap(new_meta,self__.cnt,self__.arr,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__13230 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__13231 \x3d cljs.core.next(es);\nret \x3d G__13230;\nes \x3d G__13231;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10629 \x3d (arguments.length - (1));\nswitch (G__10629) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.apply \x3d (function (self__,args10606){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10606)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMap\x22);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMap.\n */\ncljs.core.__GT_PersistentArrayMap \x3d (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){\nreturn (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));\n});\n\n(cljs.core.PersistentArrayMap.EMPTY \x3d (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.PersistentArrayMap.fromArray \x3d (function (arr,no_clone,no_check){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar arr__$2 \x3d ((no_check)?arr__$1:(function (){var ret \x3d [];\nvar i_13233 \x3d (0);\nwhile(true){\nif((i_13233 \x3c arr__$1.length)){\nvar k_13234 \x3d (arr__$1[i_13233]);\nvar v_13235 \x3d (arr__$1[(i_13233 + (1))]);\nvar idx_13236 \x3d cljs.core.array_index_of(ret,k_13234);\nif((idx_13236 \x3d\x3d\x3d (-1))){\nret.push(k_13234);\n\nret.push(v_13235);\n} else {\n}\n\nvar G__13237 \x3d (i_13233 + (2));\ni_13233 \x3d G__13237;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn ret;\n})());\nvar cnt \x3d (arr__$2.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));\n}));\n(cljs.core.PersistentArrayMap.createWithCheck \x3d (function (arr){\nvar ret \x3d [];\nvar i_13238 \x3d (0);\nwhile(true){\nif((i_13238 \x3c arr.length)){\nvar k_13239 \x3d (arr[i_13238]);\nvar v_13240 \x3d (arr[(i_13238 + (1))]);\nvar idx_13241 \x3d cljs.core.array_index_of(ret,k_13239);\nif((idx_13241 \x3d\x3d\x3d (-1))){\nvar G__10630_13244 \x3d ret;\nG__10630_13244.push(k_13239);\n\nG__10630_13244.push(v_13240);\n\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_13239)].join(\x27\x27)));\n}\n\nvar G__13245 \x3d (i_13238 + (2));\ni_13238 \x3d G__13245;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar cnt \x3d (arr.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr,null));\n}));\ncljs.core.key_test \x3d (function cljs$core$key_test(key,other){\nif((key \x3d\x3d\x3d other)){\nreturn true;\n} else {\nif(cljs.core.keyword_identical_QMARK_(key,other)){\nreturn true;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);\n\n}\n}\n});\ncljs.core.pam_dupes_QMARK_ \x3d (function cljs$core$pam_dupes_QMARK_(arr){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__13246 \x3d ((2) + j);\nj \x3d G__13246;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d dupe_QMARK_;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__13247 \x3d ((2) + i);\ni \x3d G__13247;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n});\ncljs.core.pam_new_size \x3d (function cljs$core$pam_new_size(arr){\nvar i \x3d (0);\nvar n \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__13249 \x3d ((2) + j);\nj \x3d G__13249;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar G__13250 \x3d ((2) + i);\nvar G__13251 \x3d ((dupe_QMARK_)?n:(n + (2)));\ni \x3d G__13250;\nn \x3d G__13251;\ncontinue;\n} else {\nreturn n;\n}\nbreak;\n}\n});\ncljs.core.pam_grow_seed_array \x3d (function cljs$core$pam_grow_seed_array(seed,trailing){\nvar seed_cnt \x3d (seed.length - (1));\nvar extra_kvs \x3d cljs.core.seq(trailing);\nvar ret \x3d (new Array((seed_cnt + ((2) * cljs.core.count(extra_kvs)))));\nvar ret__$1 \x3d cljs.core.array_copy(seed,(0),ret,(0),seed_cnt);\nvar i \x3d seed_cnt;\nvar extra_kvs__$1 \x3d extra_kvs;\nwhile(true){\nif(extra_kvs__$1){\nvar kv \x3d cljs.core.first(extra_kvs__$1);\n(ret__$1[i] \x3d cljs.core._key(kv));\n\n(ret__$1[(i + (1))] \x3d cljs.core._val(kv));\n\nvar G__13253 \x3d ((2) + seed_cnt);\nvar G__13254 \x3d cljs.core.next(extra_kvs__$1);\ni \x3d G__13253;\nextra_kvs__$1 \x3d G__13254;\ncontinue;\n} else {\nreturn ret__$1;\n}\nbreak;\n}\n});\n(cljs.core.PersistentArrayMap.createAsIfByAssoc \x3d (function (init){\nvar len \x3d init.length;\nvar has_trailing_QMARK_ \x3d ((1) \x3d\x3d\x3d (len \x26 (1)));\nif((!(((has_trailing_QMARK_) || (cljs.core.pam_dupes_QMARK_(init)))))){\nreturn (new cljs.core.PersistentArrayMap(null,(len / (2)),init,null));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath(init,has_trailing_QMARK_);\n}\n}));\n(cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath \x3d (function (init,has_trailing_QMARK_){\nvar init__$1 \x3d ((has_trailing_QMARK_)?cljs.core.pam_grow_seed_array(init,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(init[(init.length - (1))]))):init);\nvar n \x3d cljs.core.pam_new_size(init__$1);\nvar len \x3d init__$1.length;\nif((n \x3c len)){\nvar nodups \x3d (new Array(n));\nvar i_13255 \x3d (0);\nvar m_13256 \x3d (0);\nwhile(true){\nif((i_13255 \x3c len)){\nvar dupe_QMARK__13257 \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c m_13256)){\nvar or__5045__auto__ \x3d cljs.core.key_test((init__$1[i_13255]),(init__$1[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__13258 \x3d ((2) + j);\nj \x3d G__13258;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nif((!(dupe_QMARK__13257))){\nvar j_13259 \x3d (function (){var j_13259 \x3d (len - (2));\nwhile(true){\nif((j_13259 \x3e\x3d i_13255)){\nif(cljs.core.key_test((init__$1[i_13255]),(init__$1[j_13259]))){\nreturn j_13259;\n} else {\nvar G__13261 \x3d (j_13259 - (2));\nj_13259 \x3d G__13261;\ncontinue;\n}\n} else {\nreturn j_13259;\n}\nbreak;\n}\n})();\n(nodups[m_13256] \x3d (init__$1[i_13255]));\n\n(nodups[(m_13256 + (1))] \x3d (init__$1[(j_13259 + (1))]));\n\nvar G__13262 \x3d ((2) + i_13255);\nvar G__13263 \x3d ((2) + m_13256);\ni_13255 \x3d G__13262;\nm_13256 \x3d G__13263;\ncontinue;\n} else {\nvar G__13264 \x3d ((2) + i_13255);\nvar G__13265 \x3d m_13256;\ni_13255 \x3d G__13264;\nm_13256 \x3d G__13265;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.PersistentArrayMap(null,(nodups.length / (2)),nodups,null));\n} else {\nreturn (new cljs.core.PersistentArrayMap(null,(init__$1.length / (2)),init__$1,null));\n}\n}));\n(cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientArrayMap \x3d (function (editable_QMARK_,len,arr){\nthis.editable_QMARK_ \x3d editable_QMARK_;\nthis.len \x3d len;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nreturn cljs.core.quot(self__.len,(2));\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n} else {\nthrow (new Error(\x22lookup after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$2 \x3d tcoll__$1;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__13267 \x3d cljs.core.next(es);\nvar G__13268 \x3d cljs.core._assoc_BANG_(tcoll__$2,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__13267;\ntcoll__$2 \x3d G__13268;\ncontinue;\n} else {\nreturn tcoll__$2;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\n(self__.editable_QMARK_ \x3d false);\n\nreturn (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3d\x3d\x3d (-1))){\nif(((self__.len + (2)) \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\n(self__.len \x3d (self__.len + (2)));\n\nself__.arr.push(key);\n\nself__.arr.push(val);\n\nreturn tcoll__$1;\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(self__.len,self__.arr) : cljs.core.array__GT_transient_hash_map.call(null,self__.len,self__.arr)),key,val);\n}\n} else {\nif((val \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn tcoll__$1;\n} else {\n(self__.arr[(idx + (1))] \x3d val);\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3e\x3d (0))){\n(self__.arr[idx] \x3d (self__.arr[(self__.len - (2))]));\n\n(self__.arr[(idx + (1))] \x3d (self__.arr[(self__.len - (1))]));\n\nvar G__10632_13276 \x3d self__.arr;\nG__10632_13276.pop();\n\nG__10632_13276.pop();\n\n\n(self__.len \x3d (self__.len - (2)));\n} else {\n}\n\nreturn tcoll__$1;\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10633 \x3d (arguments.length - (1));\nswitch (G__10633) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.apply \x3d (function (self__,args10631){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10631)));\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22editable?\x22,\x22editable?\x22,-164945806,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22len\x22,\x22len\x22,-1230778691,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.TransientArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientArrayMap\x22);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientArrayMap.\n */\ncljs.core.__GT_TransientArrayMap \x3d (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){\nreturn (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));\n});\n\ncljs.core.array__GT_transient_hash_map \x3d (function cljs$core$array__GT_transient_hash_map(len,arr){\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__13280 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));\nvar G__13281 \x3d (i + (2));\nout \x3d G__13280;\ni \x3d G__13281;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Box \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.core.Box.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Box.cljs$lang$type \x3d true);\n\n(cljs.core.Box.cljs$lang$ctorStr \x3d \x22cljs.core/Box\x22);\n\n(cljs.core.Box.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Box\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Box.\n */\ncljs.core.__GT_Box \x3d (function cljs$core$__GT_Box(val){\nreturn (new cljs.core.Box(val));\n});\n\n\n\n\n\n\ncljs.core.mask \x3d (function cljs$core$mask(hash,shift){\nreturn ((hash \x3e\x3e\x3e shift) \x26 (31));\n});\ncljs.core.clone_and_set \x3d (function cljs$core$clone_and_set(var_args){\nvar G__10635 \x3d arguments.length;\nswitch (G__10635) {\ncase 3:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,i,a){\nvar G__10636 \x3d cljs.core.aclone(arr);\n(G__10636[i] \x3d a);\n\nreturn G__10636;\n}));\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 \x3d (function (arr,i,a,j,b){\nvar G__10637 \x3d cljs.core.aclone(arr);\n(G__10637[i] \x3d a);\n\n(G__10637[j] \x3d b);\n\nreturn G__10637;\n}));\n\n(cljs.core.clone_and_set.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.core.remove_pair \x3d (function cljs$core$remove_pair(arr,i){\nvar new_arr \x3d (new Array((arr.length - (2))));\ncljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));\n\ncljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));\n\nreturn new_arr;\n});\ncljs.core.bitmap_indexed_node_index \x3d (function cljs$core$bitmap_indexed_node_index(bitmap,bit){\nreturn cljs.core.bit_count((bitmap \x26 (bit - (1))));\n});\ncljs.core.bitpos \x3d (function cljs$core$bitpos(hash,shift){\nreturn ((1) \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\n});\ncljs.core.edit_and_set \x3d (function cljs$core$edit_and_set(var_args){\nvar G__10639 \x3d arguments.length;\nswitch (G__10639) {\ncase 4:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 \x3d (function (inode,edit,i,a){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 \x3d (function (inode,edit,i,a,j,b){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\n(editable.arr[j] \x3d b);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$lang$maxFixedArity \x3d 6);\n\ncljs.core.inode_kv_reduce \x3d (function cljs$core$inode_kv_reduce(arr,f,init){\nvar len \x3d arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var k \x3d (arr[i]);\nif((!((k \x3d\x3d null)))){\nvar G__10640 \x3d init__$1;\nvar G__10641 \x3d k;\nvar G__10642 \x3d (arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10640,G__10641,G__10642) : f.call(null,G__10640,G__10641,G__10642));\n} else {\nvar node \x3d (arr[(i + (1))]);\nif((!((node \x3d\x3d null)))){\nreturn node.kv_reduce(f,init__$1);\n} else {\nreturn init__$1;\n}\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__13292 \x3d (i + (2));\nvar G__13293 \x3d init__$2;\ni \x3d G__13292;\ninit__$1 \x3d G__13293;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.NodeIterator \x3d (function (arr,i,next_entry,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_entry \x3d next_entry;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.NodeIterator.prototype.advance \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((self__.i \x3c len)){\nvar key \x3d (self__.arr[self__.i]);\nvar node_or_val \x3d (self__.arr[(self__.i + (1))]);\nvar found \x3d (((!((key \x3d\x3d null))))?(self__.next_entry \x3d (new cljs.core.MapEntry(key,node_or_val,null))):(((!((node_or_val \x3d\x3d null))))?(function (){var new_iter \x3d cljs.core._iterator(node_or_val);\nif(new_iter.hasNext()){\nreturn (self__.next_iter \x3d new_iter);\n} else {\nreturn false;\n}\n})():false\n));\n(self__.i \x3d (self__.i + (2)));\n\nif(found){\nreturn true;\n} else {\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n(cljs.core.NodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar or__5045__auto__ \x3d (!((self__.next_entry \x3d\x3d null)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!((self__.next_iter \x3d\x3d null)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn this$.advance();\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__.next_entry \x3d\x3d null)))){\nvar ret \x3d self__.next_entry;\n(self__.next_entry \x3d null);\n\nreturn ret;\n} else {\nif((!((self__.next_iter \x3d\x3d null)))){\nvar ret \x3d self__.next_iter.next();\nif(self__.next_iter.hasNext()){\n} else {\n(self__.next_iter \x3d null);\n}\n\nreturn ret;\n} else {\nif(this$.advance()){\nreturn this$.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.NodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-entry\x22,\x22next-entry\x22,1091342476,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.NodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/NodeIterator\x22);\n\n(cljs.core.NodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeIterator.\n */\ncljs.core.__GT_NodeIterator \x3d (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){\nreturn (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.BitmapIndexedNode \x3d (function (edit,bitmap,arr){\nthis.edit \x3d edit;\nthis.bitmap \x3d bitmap;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.BitmapIndexedNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nvar new_arr \x3d (new Array((((n \x3c (0)))?(4):((2) * (n + (1))))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));\n\nreturn (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\n(removed_leaf_QMARK_.val \x3d true);\n\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair \x3d (function (e,bit,i){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(e);\nvar earr \x3d editable.arr;\nvar len \x3d earr.length;\n(editable.bitmap \x3d (bit ^ editable.bitmap));\n\ncljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));\n\n(earr[(len - (2))] \x3d null);\n\n(earr[(len - (1))] \x3d null);\n\nreturn editable;\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn val_or_node;\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((((2) * n) \x3c self__.arr.length)){\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(added_leaf_QMARK_.val \x3d true);\n\ncljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(earr[((2) * idx)] \x3d key);\n\n(earr[(((2) * idx) + (1))] \x3d val);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n} else {\nif((n \x3e\x3d (16))){\nvar nodes \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_13296 \x3d (0);\nvar j_13297 \x3d (0);\nwhile(true){\nif((i_13296 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_13296) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__13298 \x3d (i_13296 + (1));\nvar G__13299 \x3d j_13297;\ni_13296 \x3d G__13298;\nj_13297 \x3d G__13299;\ncontinue;\n} else {\n(nodes[i_13296] \x3d (((!(((self__.arr[j_13297]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_13297])),(self__.arr[j_13297]),(self__.arr[(j_13297 + (1))]),added_leaf_QMARK_):(self__.arr[(j_13297 + (1))])));\n\nvar G__13300 \x3d (i_13296 + (1));\nvar G__13301 \x3d (j_13297 + (2));\ni_13296 \x3d G__13300;\nj_13297 \x3d G__13301;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (4)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nvar editable \x3d inode.ensure_editable(edit__$1);\n(editable.arr \x3d new_arr);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n\n}\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__10643 \x3d edit__$1;\nvar G__10644 \x3d (shift + (5));\nvar G__10645 \x3d key_or_nil;\nvar G__10646 \x3d val_or_node;\nvar G__10647 \x3d hash;\nvar G__10648 \x3d key;\nvar G__10649 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(G__10643,G__10644,G__10645,G__10646,G__10647,G__10648,G__10649) : cljs.core.create_node.call(null,G__10643,G__10644,G__10645,G__10646,G__10647,G__10648,G__10649));\n})());\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((n \x3e\x3d (16))){\nvar nodes \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_13302 \x3d (0);\nvar j_13303 \x3d (0);\nwhile(true){\nif((i_13302 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_13302) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__13304 \x3d (i_13302 + (1));\nvar G__13305 \x3d j_13303;\ni_13302 \x3d G__13304;\nj_13303 \x3d G__13305;\ncontinue;\n} else {\n(nodes[i_13302] \x3d (((!(((self__.arr[j_13303]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_13303])),(self__.arr[j_13303]),(self__.arr[(j_13303 + (1))]),added_leaf_QMARK_):(self__.arr[(j_13303 + (1))])));\n\nvar G__13308 \x3d (i_13302 + (1));\nvar G__13309 \x3d (j_13303 + (2));\ni_13302 \x3d G__13308;\nj_13303 \x3d G__13309;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(null,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(self__.arr,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__10650 \x3d (shift + (5));\nvar G__10651 \x3d key_or_nil;\nvar G__10652 \x3d val_or_node;\nvar G__10653 \x3d hash;\nvar G__10654 \x3d key;\nvar G__10655 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(G__10650,G__10651,G__10652,G__10653,G__10654,G__10655) : cljs.core.create_node.call(null,G__10650,G__10651,G__10652,G__10653,G__10654,G__10655));\n})())));\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn (new cljs.core.MapEntry(key_or_nil,val_or_node,null));\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n}\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.BitmapIndexedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22bitmap\x22,\x22bitmap\x22,501334601,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BitmapIndexedNode.cljs$lang$type \x3d true);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorStr \x3d \x22cljs.core/BitmapIndexedNode\x22);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BitmapIndexedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BitmapIndexedNode.\n */\ncljs.core.__GT_BitmapIndexedNode \x3d (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));\n});\n\n(cljs.core.BitmapIndexedNode.EMPTY \x3d (new cljs.core.BitmapIndexedNode(null,(0),[])));\ncljs.core.pack_array_node \x3d (function cljs$core$pack_array_node(array_node,edit,idx){\nvar arr \x3d array_node.arr;\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(((2) * (array_node.cnt - (1)))));\nvar i \x3d (0);\nvar j \x3d (1);\nvar bitmap \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((((!((i \x3d\x3d\x3d idx)))) \x26\x26 ((!(((arr[i]) \x3d\x3d null)))))){\n(new_arr[j] \x3d (arr[i]));\n\nvar G__13323 \x3d (i + (1));\nvar G__13324 \x3d (j + (2));\nvar G__13325 \x3d (bitmap | ((1) \x3c\x3c i));\ni \x3d G__13323;\nj \x3d G__13324;\nbitmap \x3d G__13325;\ncontinue;\n} else {\nvar G__13326 \x3d (i + (1));\nvar G__13327 \x3d j;\nvar G__13328 \x3d bitmap;\ni \x3d G__13326;\nj \x3d G__13327;\nbitmap \x3d G__13328;\ncontinue;\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayNodeIterator \x3d (function (arr,i,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.ArrayNodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((!((((!((self__.next_iter \x3d\x3d null)))) \x26\x26 (self__.next_iter.hasNext()))))){\nif((self__.i \x3c len)){\nvar node \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nif((!((node \x3d\x3d null)))){\n(self__.next_iter \x3d cljs.core._iterator(node));\n} else {\n}\n\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nreturn self__.next_iter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayNodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeIterator\x22);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeIterator.\n */\ncljs.core.__GT_ArrayNodeIterator \x3d (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){\nreturn (new cljs.core.ArrayNodeIterator(arr,i,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.ArrayNode \x3d (function (edit,cnt,arr){\nthis.edit \x3d edit;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.ArrayNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn inode;\n} else {\nvar n \x3d node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,edit__$1,idx);\n} else {\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n\n}\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_array_node_seq.call(null,self__.arr));\n}));\n\n(cljs.core.ArrayNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar node \x3d (self__.arr[i]);\nif((!((node \x3d\x3d null)))){\nvar init__$2 \x3d node.kv_reduce(f,init__$1);\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__13336 \x3d (i + (1));\nvar G__13337 \x3d init__$2;\ni \x3d G__13336;\ninit__$1 \x3d G__13337;\ncontinue;\n}\n} else {\nvar G__13338 \x3d (i + (1));\nvar G__13339 \x3d init__$1;\ni \x3d G__13338;\ninit__$1 \x3d G__13339;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar n \x3d node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn (new cljs.core.ArrayNode(null,(self__.cnt + (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_))));\n} else {\nvar n \x3d node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nvar n \x3d node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,null,idx);\n} else {\nreturn (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n\n}\n}\n} else {\nreturn inode;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));\n}));\n\n(cljs.core.ArrayNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNode.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNode.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNode\x22);\n\n(cljs.core.ArrayNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNode.\n */\ncljs.core.__GT_ArrayNode \x3d (function cljs$core$__GT_ArrayNode(edit,cnt,arr){\nreturn (new cljs.core.ArrayNode(edit,cnt,arr));\n});\n\ncljs.core.hash_collision_node_find_index \x3d (function cljs$core$hash_collision_node_find_index(arr,cnt,key){\nvar lim \x3d ((2) * cnt);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c lim)){\nif(cljs.core.key_test(key,(arr[i]))){\nreturn i;\n} else {\nvar G__13341 \x3d (i + (2));\ni \x3d G__13341;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.HashCollisionNode \x3d (function (edit,collision_hash,cnt,arr){\nthis.edit \x3d edit;\nthis.collision_hash \x3d collision_hash;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.HashCollisionNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar new_arr \x3d (new Array(((2) * (self__.cnt + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));\n\nreturn (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\n(removed_leaf_QMARK_.val \x3d true);\n\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(earr[idx] \x3d (earr[(((2) * self__.cnt) - (2))]));\n\n(earr[(idx + (1))] \x3d (earr[(((2) * self__.cnt) - (1))]));\n\n(earr[(((2) * self__.cnt) - (1))] \x3d null);\n\n(earr[(((2) * self__.cnt) - (2))] \x3d null);\n\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.HashCollisionNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (self__.arr[(idx + (1))]);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.arr.length \x3e ((2) * self__.cnt))){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);\n(added_leaf_QMARK_.val \x3d true);\n\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar len \x3d self__.arr.length;\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);\n}\n} else {\nif(((self__.arr[(idx + (1))]) \x3d\x3d\x3d val)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit__$1,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nvar len \x3d ((2) * self__.cnt);\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(idx + (1)),val)));\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.ensure_editable_array \x3d (function (e,count,array){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\n(self__.arr \x3d array);\n\n(self__.cnt \x3d count);\n\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.HashCollisionNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22collision-hash\x22,\x22collision-hash\x22,-35831342,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashCollisionNode.cljs$lang$type \x3d true);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorStr \x3d \x22cljs.core/HashCollisionNode\x22);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashCollisionNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashCollisionNode.\n */\ncljs.core.__GT_HashCollisionNode \x3d (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){\nreturn (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));\n});\n\ncljs.core.create_node \x3d (function cljs$core$create_node(var_args){\nvar G__10657 \x3d arguments.length;\nswitch (G__10657) {\ncase 6:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 \x3d (function (shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 \x3d (function (edit,shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit,shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc_BANG_(edit,shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$lang$maxFixedArity \x3d 7);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.NodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.NodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NodeSeq.prototype.indexOf \x3d (function() {\nvar G__13364 \x3d null;\nvar G__13364__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13364__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13364 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13364__1.call(this,x);\ncase 2:\nreturn G__13364__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13364.cljs$core$IFn$_invoke$arity$1 \x3d G__13364__1;\nG__13364.cljs$core$IFn$_invoke$arity$2 \x3d G__13364__2;\nreturn G__13364;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13365 \x3d null;\nvar G__13365__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13365__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13365 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13365__1.call(this,x);\ncase 2:\nreturn G__13365__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13365.cljs$core$IFn$_invoke$arity$1 \x3d G__13365__1;\nG__13365.cljs$core$IFn$_invoke$arity$2 \x3d G__13365__2;\nreturn G__13365;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nvar G__10658 \x3d self__.nodes;\nvar G__10659 \x3d (self__.i + (2));\nvar G__10660 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__10658,G__10659,G__10660) : cljs.core.create_inode_seq.call(null,G__10658,G__10659,G__10660));\n} else {\nvar G__10661 \x3d self__.nodes;\nvar G__10662 \x3d self__.i;\nvar G__10663 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__10661,G__10662,G__10663) : cljs.core.create_inode_seq.call(null,G__10661,G__10662,G__10663));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nreturn (new cljs.core.MapEntry((self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))]),null));\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (((self__.s \x3d\x3d null))?(function (){var G__10664 \x3d self__.nodes;\nvar G__10665 \x3d (self__.i + (2));\nvar G__10666 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__10664,G__10665,G__10666) : cljs.core.create_inode_seq.call(null,G__10664,G__10665,G__10666));\n})():(function (){var G__10667 \x3d self__.nodes;\nvar G__10668 \x3d self__.i;\nvar G__10669 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__10667,G__10668,G__10669) : cljs.core.create_inode_seq.call(null,G__10667,G__10668,G__10669));\n})());\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.NodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.NodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.NodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/NodeSeq\x22);\n\n(cljs.core.NodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeSeq.\n */\ncljs.core.__GT_NodeSeq \x3d (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_inode_seq \x3d (function cljs$core$create_inode_seq(var_args){\nvar G__10671 \x3d arguments.length;\nswitch (G__10671) {\ncase 1:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nif((!(((nodes[j]) \x3d\x3d null)))){\nreturn (new cljs.core.NodeSeq(null,nodes,j,null,null));\n} else {\nvar temp__5802__auto__ \x3d (nodes[(j + (1))]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d node.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar node_seq \x3d temp__5802__auto____$1;\nreturn (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));\n} else {\nvar G__13372 \x3d (j + (2));\nj \x3d G__13372;\ncontinue;\n}\n} else {\nvar G__13373 \x3d (j + (2));\nj \x3d G__13373;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.NodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_inode_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayNodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayNodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.indexOf \x3d (function() {\nvar G__13374 \x3d null;\nvar G__13374__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13374__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13374 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13374__1.call(this,x);\ncase 2:\nreturn G__13374__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13374.cljs$core$IFn$_invoke$arity$1 \x3d G__13374__1;\nG__13374.cljs$core$IFn$_invoke$arity$2 \x3d G__13374__2;\nreturn G__13374;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13375 \x3d null;\nvar G__13375__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13375__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13375 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13375__1.call(this,x);\ncase 2:\nreturn G__13375__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13375.cljs$core$IFn$_invoke$arity$1 \x3d G__13375__1;\nG__13375.cljs$core$IFn$_invoke$arity$2 \x3d G__13375__2;\nreturn G__13375;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__10672 \x3d self__.nodes;\nvar G__10673 \x3d self__.i;\nvar G__10674 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__10672,G__10673,G__10674) : cljs.core.create_array_node_seq.call(null,G__10672,G__10673,G__10674));\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.s);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (function (){var G__10675 \x3d self__.nodes;\nvar G__10676 \x3d self__.i;\nvar G__10677 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__10675,G__10676,G__10677) : cljs.core.create_array_node_seq.call(null,G__10675,G__10676,G__10677));\n})();\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ArrayNodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeSeq\x22);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeSeq.\n */\ncljs.core.__GT_ArrayNodeSeq \x3d (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_array_node_seq \x3d (function cljs$core$create_array_node_seq(var_args){\nvar G__10679 \x3d arguments.length;\nswitch (G__10679) {\ncase 1:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nvar temp__5802__auto__ \x3d (nodes[j]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar nj \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d nj.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ns \x3d temp__5802__auto____$1;\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,(j + (1)),ns,null));\n} else {\nvar G__13384 \x3d (j + (1));\nj \x3d G__13384;\ncontinue;\n}\n} else {\nvar G__13385 \x3d (j + (1));\nj \x3d G__13385;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_array_node_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.HashMapIter \x3d (function (nil_val,root_iter,seen){\nthis.nil_val \x3d nil_val;\nthis.root_iter \x3d root_iter;\nthis.seen \x3d seen;\n});\n(cljs.core.HashMapIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (((!(self__.seen))) || (self__.root_iter.hasNext()));\n}));\n\n(cljs.core.HashMapIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!(self__.seen))){\n(self__.seen \x3d true);\n\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn self__.root_iter.next();\n}\n}));\n\n(cljs.core.HashMapIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashMapIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.Symbol(null,\x22root-iter\x22,\x22root-iter\x22,1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seen\x22,\x22seen\x22,1121531738,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashMapIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashMapIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashMapIter\x22);\n\n(cljs.core.HashMapIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashMapIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashMapIter.\n */\ncljs.core.__GT_HashMapIter \x3d (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){\nreturn (new cljs.core.HashMapIter(nil_val,root_iter,seen));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashMap \x3d (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.root \x3d root;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_find((0),cljs.core.hash(k),k,null);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__10681 \x3d cljs.core.seq(coll);\nvar chunk__10682 \x3d null;\nvar count__10683 \x3d (0);\nvar i__10684 \x3d (0);\nwhile(true){\nif((i__10684 \x3c count__10683)){\nvar vec__10691 \x3d chunk__10682.cljs$core$IIndexed$_nth$arity$2(null,i__10684);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10691,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10691,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13387 \x3d seq__10681;\nvar G__13388 \x3d chunk__10682;\nvar G__13389 \x3d count__10683;\nvar G__13390 \x3d (i__10684 + (1));\nseq__10681 \x3d G__13387;\nchunk__10682 \x3d G__13388;\ncount__10683 \x3d G__13389;\ni__10684 \x3d G__13390;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10681);\nif(temp__5804__auto__){\nvar seq__10681__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10681__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10681__$1);\nvar G__13391 \x3d cljs.core.chunk_rest(seq__10681__$1);\nvar G__13392 \x3d c__5568__auto__;\nvar G__13393 \x3d cljs.core.count(c__5568__auto__);\nvar G__13394 \x3d (0);\nseq__10681 \x3d G__13391;\nchunk__10682 \x3d G__13392;\ncount__10683 \x3d G__13393;\ni__10684 \x3d G__13394;\ncontinue;\n} else {\nvar vec__10694 \x3d cljs.core.first(seq__10681__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10694,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10694,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13395 \x3d cljs.core.next(seq__10681__$1);\nvar G__13396 \x3d null;\nvar G__13397 \x3d (0);\nvar G__13398 \x3d (0);\nseq__10681 \x3d G__13395;\nchunk__10682 \x3d G__13396;\ncount__10683 \x3d G__13397;\ni__10684 \x3d G__13398;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar init__$1 \x3d ((self__.has_nil_QMARK_)?(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(init,null,self__.nil_val) : f.call(null,init,null,self__.nil_val)):init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn cljs.core.deref(init__$1);\n} else {\nif((!((self__.root \x3d\x3d null)))){\nreturn cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));\n} else {\nreturn init__$1;\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar root_iter \x3d ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));\n} else {\nreturn root_iter;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashMap(({}),self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));\n} else {\nreturn coll__$1;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn coll__$1;\n} else {\nvar new_root \x3d self__.root.inode_without((0),cljs.core.hash(k),k);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(((self__.has_nil_QMARK_) \x26\x26 ((v \x3d\x3d\x3d self__.nil_val)))){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));\n}\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar new_root \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((added_leaf_QMARK_.val)?(self__.cnt + (1)):self__.cnt),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nreturn self__.has_nil_QMARK_;\n} else {\nif((self__.root \x3d\x3d null)){\nreturn false;\n} else {\nreturn (!((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)));\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar s \x3d (((!((self__.root \x3d\x3d null))))?self__.root.inode_seq():null);\nif(self__.has_nil_QMARK_){\nreturn cljs.core.cons((new cljs.core.MapEntry(null,self__.nil_val,null)),s);\n} else {\nreturn s;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(new_meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__13399 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__13400 \x3d cljs.core.next(es);\nret \x3d G__13399;\nes \x3d G__13400;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10699 \x3d (arguments.length - (1));\nswitch (G__10699) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.apply \x3d (function (self__,args10680){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10680)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashMap\x22);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashMap.\n */\ncljs.core.__GT_PersistentHashMap \x3d (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nreturn (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));\n});\n\n(cljs.core.PersistentHashMap.EMPTY \x3d (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashMap.fromArray \x3d (function (arr,no_clone){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar len \x3d arr__$1.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__13402 \x3d (i + (2));\nvar G__13403 \x3d cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));\ni \x3d G__13402;\nret \x3d G__13403;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(ret);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.fromArrays \x3d (function (ks,vs){\nvar len \x3d ks.length;\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nif((vs.length \x3c\x3d i)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((ks[i]))].join(\x27\x27)));\n} else {\nvar G__13405 \x3d (i + (1));\nvar G__13406 \x3d cljs.core._assoc_BANG_(out,(ks[i]),(vs[i]));\ni \x3d G__13405;\nout \x3d G__13406;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.createWithCheck \x3d (function (arr){\nvar len \x3d arr.length;\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i_13407 \x3d (0);\nwhile(true){\nif((i_13407 \x3c len)){\ncljs.core._assoc_BANG_(ret,(arr[i_13407]),(arr[(i_13407 + (1))]));\n\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_13407 / (2)) + (1)))){\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_13407]))].join(\x27\x27)));\n} else {\nvar G__13408 \x3d (i_13407 + (2));\ni_13407 \x3d G__13408;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(ret);\n}));\n(cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashMap \x3d (function (edit,root,count,has_nil_QMARK_,nil_val){\nthis.edit \x3d edit;\nthis.root \x3d root;\nthis.count \x3d count;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientHashMap.prototype.conj_BANG_ \x3d (function (o){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll.assoc_BANG_((o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$1 \x3d tcoll;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__13410 \x3d cljs.core.next(es);\nvar G__13411 \x3d tcoll__$1.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__13410;\ntcoll__$1 \x3d G__13411;\ncontinue;\n} else {\nreturn tcoll__$1;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.assoc_BANG_ \x3d (function (k,v){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif((self__.nil_val \x3d\x3d\x3d v)){\n} else {\n(self__.nil_val \x3d v);\n}\n\nif(self__.has_nil_QMARK_){\n} else {\n(self__.count \x3d (self__.count + (1)));\n\n(self__.has_nil_QMARK_ \x3d true);\n}\n\nreturn tcoll;\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(added_leaf_QMARK_.val){\n(self__.count \x3d (self__.count + (1)));\n} else {\n}\n\nreturn tcoll;\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.without_BANG_ \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\n(self__.has_nil_QMARK_ \x3d false);\n\n(self__.nil_val \x3d null);\n\n(self__.count \x3d (self__.count - (1)));\n\nreturn tcoll;\n} else {\nreturn tcoll;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn tcoll;\n} else {\nvar removed_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(removed_leaf_QMARK_.val){\n(self__.count \x3d (self__.count - (1)));\n} else {\n}\n\nreturn tcoll;\n}\n}\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.persistent_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\n(self__.edit \x3d null);\n\nreturn (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.edit){\nreturn self__.count;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.conj_BANG_(val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.persistent_BANG_();\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.assoc_BANG_(key,val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.without_BANG_(key);\n}));\n\n(cljs.core.TransientHashMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10701 \x3d (arguments.length - (1));\nswitch (G__10701) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.apply \x3d (function (self__,args10700){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10700)));\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$2(null,key);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashMap\x22);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashMap.\n */\ncljs.core.__GT_TransientHashMap \x3d (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){\nreturn (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));\n});\n\ncljs.core.tree_map_seq_push \x3d (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){\nvar t \x3d node;\nvar stack__$1 \x3d stack;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar G__13416 \x3d ((ascending_QMARK_)?t.left:t.right);\nvar G__13417 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);\nt \x3d G__13416;\nstack__$1 \x3d G__13417;\ncontinue;\n} else {\nreturn stack__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentTreeMapSeq \x3d (function (meta,stack,ascending_QMARK_,cnt,__hash){\nthis.meta \x3d meta;\nthis.stack \x3d stack;\nthis.ascending_QMARK_ \x3d ascending_QMARK_;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentTreeMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.indexOf \x3d (function() {\nvar G__13418 \x3d null;\nvar G__13418__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13418__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13418 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13418__1.call(this,x);\ncase 2:\nreturn G__13418__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13418.cljs$core$IFn$_invoke$arity$1 \x3d G__13418__1;\nG__13418.cljs$core$IFn$_invoke$arity$2 \x3d G__13418__2;\nreturn G__13418;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13419 \x3d null;\nvar G__13419__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13419__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13419 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13419__1.call(this,x);\ncase 2:\nreturn G__13419__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13419.cljs$core$IFn$_invoke$arity$1 \x3d G__13419__1;\nG__13419.cljs$core$IFn$_invoke$arity$2 \x3d G__13419__2;\nreturn G__13419;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((next_stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3c (0))){\nreturn (cljs.core.count(cljs.core.next(coll__$1)) + (1));\n} else {\nreturn self__.cnt;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.peek(self__.stack);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((!((next_stack \x3d\x3d null)))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(new_meta,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ascending?\x22,\x22ascending?\x22,-1938452653,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMapSeq\x22);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMapSeq.\n */\ncljs.core.__GT_PersistentTreeMapSeq \x3d (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){\nreturn (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));\n});\n\n(cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_tree_map_seq \x3d (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));\n});\n\ncljs.core.balance_left \x3d (function cljs$core$balance_left(key,val,ins,right){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));\n} else {\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.right.key,ins.right.val,(new cljs.core.BlackNode(ins.key,ins.val,ins.left,ins.right.left,null)),(new cljs.core.BlackNode(key,val,ins.right.right,right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n}\n});\ncljs.core.balance_right \x3d (function cljs$core$balance_right(key,val,left,ins){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));\n} else {\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.left.key,ins.left.val,(new cljs.core.BlackNode(key,val,left,ins.left.left,null)),(new cljs.core.BlackNode(ins.key,ins.val,ins.left.right,ins.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n}\n});\ncljs.core.balance_left_del \x3d (function cljs$core$balance_left_del(key,val,del,right){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,del.blacken(),right,null));\n} else {\nif((right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right(key,val,del,right.redden());\n} else {\nif((((right instanceof cljs.core.RedNode)) \x26\x26 ((right.left instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(right.left.key,right.left.val,(new cljs.core.BlackNode(key,val,del,right.left.left,null)),cljs.core.balance_right(right.key,right.val,right.left.right,right.right.redden()),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.balance_right_del \x3d (function cljs$core$balance_right_del(key,val,left,del){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,left,del.blacken(),null));\n} else {\nif((left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left(key,val,left.redden(),del);\n} else {\nif((((left instanceof cljs.core.RedNode)) \x26\x26 ((left.right instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(left.right.key,left.right.val,cljs.core.balance_left(left.key,left.val,left.left.redden(),left.right.left),(new cljs.core.BlackNode(key,val,left.right.right,del,null)),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.tree_map_kv_reduce \x3d (function cljs$core$tree_map_kv_reduce(node,f,init){\nvar init__$1 \x3d (((!((node.left \x3d\x3d null))))?(function (){var G__10702 \x3d node.left;\nvar G__10703 \x3d f;\nvar G__10704 \x3d init;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__10702,G__10703,G__10704) : cljs.core.tree_map_kv_reduce.call(null,G__10702,G__10703,G__10704));\n})():init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn init__$1;\n} else {\nvar init__$2 \x3d (function (){var G__10705 \x3d init__$1;\nvar G__10706 \x3d node.key;\nvar G__10707 \x3d node.val;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__10705,G__10706,G__10707) : f.call(null,G__10705,G__10706,G__10707));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nif((!((node.right \x3d\x3d null)))){\nvar G__10708 \x3d node.right;\nvar G__10709 \x3d f;\nvar G__10710 \x3d init__$2;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__10708,G__10709,G__10710) : cljs.core.tree_map_kv_reduce.call(null,G__10708,G__10709,G__10710));\n} else {\nreturn init__$2;\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.BlackNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.BlackNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__10712 \x3d k;\nswitch (G__10712) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.lastIndexOf \x3d (function() {\nvar G__13425 \x3d null;\nvar G__13425__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13425__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13425 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13425__1.call(this,x);\ncase 2:\nreturn G__13425__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13425.cljs$core$IFn$_invoke$arity$1 \x3d G__13425__1;\nG__13425.cljs$core$IFn$_invoke$arity$2 \x3d G__13425__2;\nreturn G__13425;\n})()\n);\n\n(cljs.core.BlackNode.prototype.indexOf \x3d (function() {\nvar G__13426 \x3d null;\nvar G__13426__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13426__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13426 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13426__1.call(this,x);\ncase 2:\nreturn G__13426__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13426.cljs$core$IFn$_invoke$arity$1 \x3d G__13426__1;\nG__13426.cljs$core$IFn$_invoke$arity$2 \x3d G__13426__2;\nreturn G__13426;\n})()\n);\n\n(cljs.core.BlackNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_right(node);\n}));\n\n(cljs.core.BlackNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node;\n}));\n\n(cljs.core.BlackNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_left(node);\n}));\n\n(cljs.core.BlackNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n}));\n\n(cljs.core.BlackNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);\n}));\n\n(cljs.core.BlackNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.BlackNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.BlackNode.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10713 \x3d (arguments.length - (1));\nswitch (G__10713) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.apply \x3d (function (self__,args10711){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10711)));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BlackNode.cljs$lang$type \x3d true);\n\n(cljs.core.BlackNode.cljs$lang$ctorStr \x3d \x22cljs.core/BlackNode\x22);\n\n(cljs.core.BlackNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BlackNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BlackNode.\n */\ncljs.core.__GT_BlackNode \x3d (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){\nreturn (new cljs.core.BlackNode(key,val,left,right,__hash));\n});\n\n(cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RedNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.RedNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__10715 \x3d k;\nswitch (G__10715) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.RedNode.prototype.lastIndexOf \x3d (function() {\nvar G__13429 \x3d null;\nvar G__13429__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13429__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13429 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13429__1.call(this,x);\ncase 2:\nreturn G__13429__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13429.cljs$core$IFn$_invoke$arity$1 \x3d G__13429__1;\nG__13429.cljs$core$IFn$_invoke$arity$2 \x3d G__13429__2;\nreturn G__13429;\n})()\n);\n\n(cljs.core.RedNode.prototype.indexOf \x3d (function() {\nvar G__13430 \x3d null;\nvar G__13430__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13430__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13430 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13430__1.call(this,x);\ncase 2:\nreturn G__13430__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13430.cljs$core$IFn$_invoke$arity$1 \x3d G__13430__1;\nG__13430.cljs$core$IFn$_invoke$arity$2 \x3d G__13430__2;\nreturn G__13430;\n})()\n);\n\n(cljs.core.RedNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));\n}));\n\n(cljs.core.RedNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nthrow (new Error(\x22red-black tree invariant violation\x22));\n}));\n\n(cljs.core.RedNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.RedNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left.blacken(),(new cljs.core.BlackNode(parent.key,parent.val,self__.right,parent.right,null)),null));\n} else {\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.right.key,self__.right.val,(new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right.left,null)),(new cljs.core.BlackNode(parent.key,parent.val,self__.right.right,parent.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left,null)),self__.right.blacken(),null));\n} else {\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.left.key,self__.left.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left.left,null)),(new cljs.core.BlackNode(self__.key,self__.val,self__.left.right,self__.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.RedNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.RedNode.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10716 \x3d (arguments.length - (1));\nswitch (G__10716) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.RedNode.prototype.apply \x3d (function (self__,args10714){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10714)));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.RedNode.cljs$lang$type \x3d true);\n\n(cljs.core.RedNode.cljs$lang$ctorStr \x3d \x22cljs.core/RedNode\x22);\n\n(cljs.core.RedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RedNode.\n */\ncljs.core.__GT_RedNode \x3d (function cljs$core$__GT_RedNode(key,val,left,right,__hash){\nreturn (new cljs.core.RedNode(key,val,left,right,__hash));\n});\n\n(cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.tree_map_add \x3d (function cljs$core$tree_map_add(comp,tree,k,v,found){\nif((tree \x3d\x3d null)){\nreturn (new cljs.core.RedNode(k,v,null,null,null));\n} else {\nvar c \x3d (function (){var G__10717 \x3d k;\nvar G__10718 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__10717,G__10718) : comp.call(null,G__10717,G__10718));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn null;\n} else {\nif((c \x3c (0))){\nvar ins \x3d (function (){var G__10719 \x3d comp;\nvar G__10720 \x3d tree.left;\nvar G__10721 \x3d k;\nvar G__10722 \x3d v;\nvar G__10723 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__10719,G__10720,G__10721,G__10722,G__10723) : cljs.core.tree_map_add.call(null,G__10719,G__10720,G__10721,G__10722,G__10723));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_left(ins);\n} else {\nreturn null;\n}\n} else {\nvar ins \x3d (function (){var G__10724 \x3d comp;\nvar G__10725 \x3d tree.right;\nvar G__10726 \x3d k;\nvar G__10727 \x3d v;\nvar G__10728 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__10724,G__10725,G__10726,G__10727,G__10728) : cljs.core.tree_map_add.call(null,G__10724,G__10725,G__10726,G__10727,G__10728));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_right(ins);\n} else {\nreturn null;\n}\n\n}\n}\n}\n});\ncljs.core.tree_map_append \x3d (function cljs$core$tree_map_append(left,right){\nif((left \x3d\x3d null)){\nreturn right;\n} else {\nif((right \x3d\x3d null)){\nreturn left;\n} else {\nif((left instanceof cljs.core.RedNode)){\nif((right instanceof cljs.core.RedNode)){\nvar app \x3d (function (){var G__10729 \x3d left.right;\nvar G__10730 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__10729,G__10730) : cljs.core.tree_map_append.call(null,G__10729,G__10730));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.RedNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.RedNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));\n}\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__10731 \x3d left.right;\nvar G__10732 \x3d right;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__10731,G__10732) : cljs.core.tree_map_append.call(null,G__10731,G__10732));\n})(),null));\n}\n} else {\nif((right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(right.key,right.val,(function (){var G__10733 \x3d left;\nvar G__10734 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__10733,G__10734) : cljs.core.tree_map_append.call(null,G__10733,G__10734));\n})(),right.right,null));\n} else {\nvar app \x3d (function (){var G__10735 \x3d left.right;\nvar G__10736 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__10735,G__10736) : cljs.core.tree_map_append.call(null,G__10735,G__10736));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.BlackNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.BlackNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));\n}\n\n}\n}\n}\n}\n});\ncljs.core.tree_map_remove \x3d (function cljs$core$tree_map_remove(comp,tree,k,found){\nif((!((tree \x3d\x3d null)))){\nvar c \x3d (function (){var G__10737 \x3d k;\nvar G__10738 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__10737,G__10738) : comp.call(null,G__10737,G__10738));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn cljs.core.tree_map_append(tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nvar del \x3d (function (){var G__10739 \x3d comp;\nvar G__10740 \x3d tree.left;\nvar G__10741 \x3d k;\nvar G__10742 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__10739,G__10740,G__10741,G__10742) : cljs.core.tree_map_remove.call(null,G__10739,G__10740,G__10741,G__10742));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));\n}\n} else {\nreturn null;\n}\n} else {\nvar del \x3d (function (){var G__10743 \x3d comp;\nvar G__10744 \x3d tree.right;\nvar G__10745 \x3d k;\nvar G__10746 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__10743,G__10744,G__10745,G__10746) : cljs.core.tree_map_remove.call(null,G__10743,G__10744,G__10745,G__10746));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));\n}\n} else {\nreturn null;\n}\n\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.core.tree_map_replace \x3d (function cljs$core$tree_map_replace(comp,tree,k,v){\nvar tk \x3d tree.key;\nvar c \x3d (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));\nif((c \x3d\x3d\x3d (0))){\nreturn tree.replace(tk,v,tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nreturn tree.replace(tk,tree.val,(function (){var G__10747 \x3d comp;\nvar G__10748 \x3d tree.left;\nvar G__10749 \x3d k;\nvar G__10750 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__10747,G__10748,G__10749,G__10750) : cljs.core.tree_map_replace.call(null,G__10747,G__10748,G__10749,G__10750));\n})(),tree.right);\n} else {\nreturn tree.replace(tk,tree.val,tree.left,(function (){var G__10751 \x3d comp;\nvar G__10752 \x3d tree.right;\nvar G__10753 \x3d k;\nvar G__10754 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__10751,G__10752,G__10753,G__10754) : cljs.core.tree_map_replace.call(null,G__10751,G__10752,G__10753,G__10754));\n})());\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeMap \x3d (function (comp,tree,cnt,meta,__hash){\nthis.comp \x3d comp;\nthis.tree \x3d tree;\nthis.cnt \x3d cnt;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 418776847;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.entry_at(k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__10756 \x3d cljs.core.seq(coll);\nvar chunk__10757 \x3d null;\nvar count__10758 \x3d (0);\nvar i__10759 \x3d (0);\nwhile(true){\nif((i__10759 \x3c count__10758)){\nvar vec__10766 \x3d chunk__10757.cljs$core$IIndexed$_nth$arity$2(null,i__10759);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10766,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10766,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13439 \x3d seq__10756;\nvar G__13440 \x3d chunk__10757;\nvar G__13441 \x3d count__10758;\nvar G__13442 \x3d (i__10759 + (1));\nseq__10756 \x3d G__13439;\nchunk__10757 \x3d G__13440;\ncount__10758 \x3d G__13441;\ni__10759 \x3d G__13442;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10756);\nif(temp__5804__auto__){\nvar seq__10756__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10756__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10756__$1);\nvar G__13444 \x3d cljs.core.chunk_rest(seq__10756__$1);\nvar G__13445 \x3d c__5568__auto__;\nvar G__13446 \x3d cljs.core.count(c__5568__auto__);\nvar G__13447 \x3d (0);\nseq__10756 \x3d G__13444;\nchunk__10757 \x3d G__13445;\ncount__10758 \x3d G__13446;\ni__10759 \x3d G__13447;\ncontinue;\n} else {\nvar vec__10769 \x3d cljs.core.first(seq__10756__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10769,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10769,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13448 \x3d cljs.core.next(seq__10756__$1);\nvar G__13449 \x3d null;\nvar G__13450 \x3d (0);\nvar G__13451 \x3d (0);\nseq__10756 \x3d G__13448;\nchunk__10757 \x3d G__13449;\ncount__10758 \x3d G__13450;\ni__10759 \x3d G__13451;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entry_at \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__10772 \x3d k;\nvar G__10773 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__10772,G__10773) : self__.comp.call(null,G__10772,G__10773));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn t;\n} else {\nif((c \x3c (0))){\nvar G__13452 \x3d t.left;\nt \x3d G__13452;\ncontinue;\n} else {\nvar G__13453 \x3d t.right;\nt \x3d G__13453;\ncontinue;\n\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d coll__$1.entry_at(k);\nif((!((n \x3d\x3d null)))){\nreturn n.val;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.tree \x3d\x3d null)))){\nreturn cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));\n} else {\nreturn init;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);\nif((t \x3d\x3d null)){\nif((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) \x3d\x3d null)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);\nif((t \x3d\x3d null)){\nvar found_node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((coll__$1.entry_at(k) \x3d\x3d null)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__13458 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__13459 \x3d cljs.core.next(es);\nret \x3d G__13458;\nes \x3d G__13459;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10774 \x3d (arguments.length - (1));\nswitch (G__10774) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.apply \x3d (function (self__,args10755){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10755)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar stack \x3d null;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__10777 \x3d k;\nvar G__10778 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__10777,G__10778) : self__.comp.call(null,G__10777,G__10778));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));\n} else {\nif(cljs.core.truth_(ascending_QMARK_)){\nif((c \x3c (0))){\nvar G__13463 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__13464 \x3d t.left;\nstack \x3d G__13463;\nt \x3d G__13464;\ncontinue;\n} else {\nvar G__13472 \x3d stack;\nvar G__13473 \x3d t.right;\nstack \x3d G__13472;\nt \x3d G__13473;\ncontinue;\n}\n} else {\nif((c \x3e (0))){\nvar G__13474 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__13475 \x3d t.right;\nstack \x3d G__13474;\nt \x3d G__13475;\ncontinue;\n} else {\nvar G__13476 \x3d stack;\nvar G__13477 \x3d t.left;\nstack \x3d G__13476;\nt \x3d G__13477;\ncontinue;\n}\n\n}\n}\n} else {\nif((stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(entry) : cljs.core.key.call(null,entry));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.comp;\n}));\n\n(cljs.core.PersistentTreeMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22tree\x22,\x22tree\x22,1444219499,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMap\x22);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMap.\n */\ncljs.core.__GT_PersistentTreeMap \x3d (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){\nreturn (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));\n});\n\n(cljs.core.PersistentTreeMap.EMPTY \x3d (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * keyval \x3d\x3e key val\n * Returns a new hash map with supplied mappings.\n */\ncljs.core.hash_map \x3d (function cljs$core$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13480 \x3d arguments.length;\nvar i__5770__auto___13481 \x3d (0);\nwhile(true){\nif((i__5770__auto___13481 \x3c len__5769__auto___13480)){\nargs__5775__auto__.push((arguments[i__5770__auto___13481]));\n\nvar G__13482 \x3d (i__5770__auto___13481 + (1));\ni__5770__auto___13481 \x3d G__13482;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif(in$){\nvar in_SINGLEQUOTE_ \x3d cljs.core.next(in$);\nif((in_SINGLEQUOTE_ \x3d\x3d null)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(in$))].join(\x27\x27)));\n} else {\nvar G__13483 \x3d cljs.core.next(in_SINGLEQUOTE_);\nvar G__13484 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.first(in_SINGLEQUOTE_));\nin$ \x3d G__13483;\nout \x3d G__13484;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n\n(cljs.core.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.hash_map.cljs$lang$applyTo \x3d (function (seq10779){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10779));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new array map with supplied mappings.\n */\ncljs.core.array_map \x3d (function cljs$core$array_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13485 \x3d arguments.length;\nvar i__5770__auto___13486 \x3d (0);\nwhile(true){\nif((i__5770__auto___13486 \x3c len__5769__auto___13485)){\nargs__5775__auto__.push((arguments[i__5770__auto___13486]));\n\nvar G__13487 \x3d (i__5770__auto___13486 + (1));\ni__5770__auto___13486 \x3d G__13487;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar arr \x3d (((((keyvals instanceof cljs.core.IndexedSeq)) \x26\x26 ((keyvals.i \x3d\x3d\x3d (0)))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));\nif(cljs.core.odd_QMARK_(arr.length)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(arr))].join(\x27\x27)));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);\n}\n}));\n\n(cljs.core.array_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.array_map.cljs$lang$applyTo \x3d (function (seq10780){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10780));\n}));\n\n/**\n * Builds a map from a seq as described in\n * https://clojure.org/reference/special_forms#keyword-arguments\n */\ncljs.core.seq_to_map_for_destructuring \x3d (function cljs$core$seq_to_map_for_destructuring(s){\nif(cljs.core.next(s)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(s));\n} else {\nif(cljs.core.seq(s)){\nreturn cljs.core.first(s);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n});\n/**\n * keyval \x3d\x3e key val\n * Returns a new object map with supplied mappings.\n */\ncljs.core.obj_map \x3d (function cljs$core$obj_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13488 \x3d arguments.length;\nvar i__5770__auto___13489 \x3d (0);\nwhile(true){\nif((i__5770__auto___13489 \x3c len__5769__auto___13488)){\nargs__5775__auto__.push((arguments[i__5770__auto___13489]));\n\nvar G__13490 \x3d (i__5770__auto___13489 + (1));\ni__5770__auto___13489 \x3d G__13490;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar ks \x3d [];\nvar obj \x3d ({});\nvar kvs \x3d cljs.core.seq(keyvals);\nwhile(true){\nif(kvs){\nks.push(cljs.core.first(kvs));\n\ncljs.core.goog$module$goog$object.set(obj,cljs.core.first(kvs),cljs.core.second(kvs));\n\nvar G__13491 \x3d cljs.core.nnext(kvs);\nkvs \x3d G__13491;\ncontinue;\n} else {\nreturn cljs.core.ObjMap.fromObject(ks,obj);\n}\nbreak;\n}\n}));\n\n(cljs.core.obj_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.obj_map.cljs$lang$applyTo \x3d (function (seq10781){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10781));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings.\n */\ncljs.core.sorted_map \x3d (function cljs$core$sorted_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13492 \x3d arguments.length;\nvar i__5770__auto___13493 \x3d (0);\nwhile(true){\nif((i__5770__auto___13493 \x3c len__5769__auto___13492)){\nargs__5775__auto__.push((arguments[i__5770__auto___13493]));\n\nvar G__13494 \x3d (i__5770__auto___13493 + (1));\ni__5770__auto___13493 \x3d G__13494;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.PersistentTreeMap.EMPTY;\nwhile(true){\nif(in$){\nvar G__13497 \x3d cljs.core.nnext(in$);\nvar G__13498 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__13497;\nout \x3d G__13498;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_map.cljs$lang$applyTo \x3d (function (seq10784){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10784));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings, using the supplied comparator.\n */\ncljs.core.sorted_map_by \x3d (function cljs$core$sorted_map_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13499 \x3d arguments.length;\nvar i__5770__auto___13500 \x3d (0);\nwhile(true){\nif((i__5770__auto___13500 \x3c len__5769__auto___13499)){\nargs__5775__auto__.push((arguments[i__5770__auto___13500]));\n\nvar G__13501 \x3d (i__5770__auto___13500 + (1));\ni__5770__auto___13500 \x3d G__13501;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));\nwhile(true){\nif(in$){\nvar G__13502 \x3d cljs.core.nnext(in$);\nvar G__13503 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__13502;\nout \x3d G__13503;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_map_by.cljs$lang$applyTo \x3d (function (seq10785){\nvar G__10786 \x3d cljs.core.first(seq10785);\nvar seq10785__$1 \x3d cljs.core.next(seq10785);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10786,seq10785__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.KeySeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.KeySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.KeySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.KeySeq.prototype.indexOf \x3d (function() {\nvar G__13506 \x3d null;\nvar G__13506__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13506__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13506 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13506__1.call(this,x);\ncase 2:\nreturn G__13506__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13506.cljs$core$IFn$_invoke$arity$1 \x3d G__13506__1;\nG__13506.cljs$core$IFn$_invoke$arity$2 \x3d G__13506__2;\nreturn G__13506;\n})()\n);\n\n(cljs.core.KeySeq.prototype.lastIndexOf \x3d (function() {\nvar G__13507 \x3d null;\nvar G__13507__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13507__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13507 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13507__1.call(this,x);\ncase 2:\nreturn G__13507__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13507.cljs$core$IFn$_invoke$arity$1 \x3d G__13507__1;\nG__13507.cljs$core$IFn$_invoke$arity$2 \x3d G__13507__2;\nreturn G__13507;\n})()\n);\n\n(cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.KeySeq(nseq,null));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_key$arity$1(null);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.KeySeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.KeySeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.KeySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.KeySeq.cljs$lang$type \x3d true);\n\n(cljs.core.KeySeq.cljs$lang$ctorStr \x3d \x22cljs.core/KeySeq\x22);\n\n(cljs.core.KeySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/KeySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/KeySeq.\n */\ncljs.core.__GT_KeySeq \x3d (function cljs$core$__GT_KeySeq(mseq,_meta){\nreturn (new cljs.core.KeySeq(mseq,_meta));\n});\n\n(cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s keys, in the same order as (seq map).\n */\ncljs.core.keys \x3d (function cljs$core$keys(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.KeySeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core.key \x3d (function cljs$core$key(map_entry){\nreturn cljs.core._key(map_entry);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ValSeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ValSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ValSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ValSeq.prototype.indexOf \x3d (function() {\nvar G__13510 \x3d null;\nvar G__13510__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13510__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13510 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13510__1.call(this,x);\ncase 2:\nreturn G__13510__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13510.cljs$core$IFn$_invoke$arity$1 \x3d G__13510__1;\nG__13510.cljs$core$IFn$_invoke$arity$2 \x3d G__13510__2;\nreturn G__13510;\n})()\n);\n\n(cljs.core.ValSeq.prototype.lastIndexOf \x3d (function() {\nvar G__13511 \x3d null;\nvar G__13511__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13511__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13511 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13511__1.call(this,x);\ncase 2:\nreturn G__13511__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13511.cljs$core$IFn$_invoke$arity$1 \x3d G__13511__1;\nG__13511.cljs$core$IFn$_invoke$arity$2 \x3d G__13511__2;\nreturn G__13511;\n})()\n);\n\n(cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.ValSeq(nseq,null));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_val$arity$1(null);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.ValSeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ValSeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ValSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.ValSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ValSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ValSeq\x22);\n\n(cljs.core.ValSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ValSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ValSeq.\n */\ncljs.core.__GT_ValSeq \x3d (function cljs$core$__GT_ValSeq(mseq,_meta){\nreturn (new cljs.core.ValSeq(mseq,_meta));\n});\n\n(cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s values, in the same order as (seq map).\n */\ncljs.core.vals \x3d (function cljs$core$vals(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.ValSeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the value in the map entry.\n */\ncljs.core.val \x3d (function cljs$core$val(map_entry){\nreturn cljs.core._val(map_entry);\n});\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping from\n * the latter (left-to-right) will be the mapping in the result.\n */\ncljs.core.merge \x3d (function cljs$core$merge(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13516 \x3d arguments.length;\nvar i__5770__auto___13517 \x3d (0);\nwhile(true){\nif((i__5770__auto___13517 \x3c len__5769__auto___13516)){\nargs__5775__auto__.push((arguments[i__5770__auto___13517]));\n\nvar G__13518 \x3d (i__5770__auto___13517 + (1));\ni__5770__auto___13517 \x3d G__13518;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic \x3d (function (maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__10791_SHARP_,p2__10792_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d p1__10791_SHARP_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),p2__10792_SHARP_);\n}),maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.merge.cljs$lang$applyTo \x3d (function (seq10793){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10793));\n}));\n\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping(s)\n * from the latter (left-to-right) will be combined with the mapping in\n * the result by calling (f val-in-result val-in-latter).\n */\ncljs.core.merge_with \x3d (function cljs$core$merge_with(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13520 \x3d arguments.length;\nvar i__5770__auto___13521 \x3d (0);\nwhile(true){\nif((i__5770__auto___13521 \x3c len__5769__auto___13520)){\nargs__5775__auto__.push((arguments[i__5770__auto___13521]));\n\nvar G__13522 \x3d (i__5770__auto___13521 + (1));\ni__5770__auto___13521 \x3d G__13522;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nvar merge_entry \x3d (function (m,e){\nvar k \x3d cljs.core.key(e);\nvar v \x3d cljs.core.val(e);\nif(cljs.core.contains_QMARK_(m,k)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__10796 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__10797 \x3d v;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10796,G__10797) : f.call(null,G__10796,G__10797));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\nvar merge2 \x3d (function (m1,m2){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__5045__auto__ \x3d m1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),cljs.core.seq(m2));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge_with.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.merge_with.cljs$lang$applyTo \x3d (function (seq10794){\nvar G__10795 \x3d cljs.core.first(seq10794);\nvar seq10794__$1 \x3d cljs.core.next(seq10794);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10795,seq10794__$1);\n}));\n\n/**\n * Returns a map containing only those entries in map whose key is in keys\n */\ncljs.core.select_keys \x3d (function cljs$core$select_keys(map,keyseq){\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar keys \x3d cljs.core.seq(keyseq);\nwhile(true){\nif(keys){\nvar key \x3d cljs.core.first(keys);\nvar entry \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185));\nvar G__13525 \x3d ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);\nvar G__13526 \x3d cljs.core.next(keys);\nret \x3d G__13525;\nkeys \x3d G__13526;\ncontinue;\n} else {\nreturn cljs.core._with_meta(ret,cljs.core.meta(map));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.HashSetIter \x3d (function (iter){\nthis.iter \x3d iter;\n});\n(cljs.core.HashSetIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.iter.hasNext();\n}));\n\n(cljs.core.HashSetIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(self__.iter.hasNext()){\nreturn self__.iter.next().key;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.HashSetIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashSetIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null)], null);\n}));\n\n(cljs.core.HashSetIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashSetIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashSetIter\x22);\n\n(cljs.core.HashSetIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashSetIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashSetIter.\n */\ncljs.core.__GT_HashSetIter \x3d (function cljs$core$__GT_HashSetIter(iter){\nreturn (new cljs.core.HashSetIter(iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashSet \x3d (function (meta,hash_map,__hash){\nthis.meta \x3d meta;\nthis.hash_map \x3d hash_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 15077647;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__10801 \x3d cljs.core.seq(coll);\nvar chunk__10802 \x3d null;\nvar count__10803 \x3d (0);\nvar i__10804 \x3d (0);\nwhile(true){\nif((i__10804 \x3c count__10803)){\nvar vec__10811 \x3d chunk__10802.cljs$core$IIndexed$_nth$arity$2(null,i__10804);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10811,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10811,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13528 \x3d seq__10801;\nvar G__13529 \x3d chunk__10802;\nvar G__13530 \x3d count__10803;\nvar G__13531 \x3d (i__10804 + (1));\nseq__10801 \x3d G__13528;\nchunk__10802 \x3d G__13529;\ncount__10803 \x3d G__13530;\ni__10804 \x3d G__13531;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10801);\nif(temp__5804__auto__){\nvar seq__10801__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10801__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10801__$1);\nvar G__13532 \x3d cljs.core.chunk_rest(seq__10801__$1);\nvar G__13533 \x3d c__5568__auto__;\nvar G__13534 \x3d cljs.core.count(c__5568__auto__);\nvar G__13535 \x3d (0);\nseq__10801 \x3d G__13532;\nchunk__10802 \x3d G__13533;\ncount__10803 \x3d G__13534;\ni__10804 \x3d G__13535;\ncontinue;\n} else {\nvar vec__10814 \x3d cljs.core.first(seq__10801__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10814,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10814,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13536 \x3d cljs.core.next(seq__10801__$1);\nvar G__13537 \x3d null;\nvar G__13538 \x3d (0);\nvar G__13539 \x3d (0);\nseq__10801 \x3d G__13536;\nchunk__10802 \x3d G__13537;\ncount__10803 \x3d G__13538;\ni__10804 \x3d G__13539;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core._find(self__.hash_map,v);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn cljs.core.key(entry);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._count(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__10799_SHARP_,p2__10798_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__10798_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.hash_map);\n}catch (e10817){if((e10817 instanceof Error)){\nvar ex \x3d e10817;\nreturn false;\n} else {\nthrow e10817;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashSet(new_meta,self__.hash_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10818 \x3d (arguments.length - (1));\nswitch (G__10818) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.apply \x3d (function (self__,args10800){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10800)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashSet\x22);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashSet.\n */\ncljs.core.__GT_PersistentHashSet \x3d (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){\nreturn (new cljs.core.PersistentHashSet(meta,hash_map,__hash));\n});\n\n(cljs.core.PersistentHashSet.EMPTY \x3d (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashSet.fromArray \x3d (function (items,no_clone){\nvar len \x3d items.length;\nif((len \x3c\x3d cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr \x3d ((no_clone)?items:cljs.core.aclone(items));\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__13542 \x3d (i + (1));\nvar G__13544 \x3d cljs.core._assoc_BANG_(out,(items[i]),null);\ni \x3d G__13542;\nout \x3d G__13544;\ncontinue;\n} else {\nreturn (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__13546 \x3d (i + (1));\nvar G__13547 \x3d cljs.core._conj_BANG_(out,(items[i]));\ni \x3d G__13546;\nout \x3d G__13547;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentHashSet.createWithCheck \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___13548 \x3d len;\nvar i_13549 \x3d (0);\nwhile(true){\nif((i_13549 \x3c n__5636__auto___13548)){\ncljs.core._conj_BANG_(t,(items[i_13549]));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_13549 + (1)))){\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_13549]))].join(\x27\x27)));\n}\n\nvar G__13550 \x3d (i_13549 + (1));\ni_13549 \x3d G__13550;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.createAsIfByAssoc \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___13551 \x3d len;\nvar i_13552 \x3d (0);\nwhile(true){\nif((i_13552 \x3c n__5636__auto___13551)){\ncljs.core._conj_BANG_(t,(items[i_13552]));\n\nvar G__13553 \x3d (i_13552 + (1));\ni_13552 \x3d G__13553;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ITransientSet}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashSet \x3d (function (transient_map){\nthis.transient_map \x3d transient_map;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 136;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\n});\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn cljs.core.count(self__.transient_map);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,v,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((cljs.core._lookup(self__.transient_map,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn v;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10820 \x3d (arguments.length - (1));\nswitch (G__10820) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.apply \x3d (function (self__,args10819){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10819)));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn null;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22transient-map\x22,\x22transient-map\x22,351764893,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashSet\x22);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashSet.\n */\ncljs.core.__GT_TransientHashSet \x3d (function cljs$core$__GT_TransientHashSet(transient_map){\nreturn (new cljs.core.TransientHashSet(transient_map));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeSet \x3d (function (meta,tree_map,__hash){\nthis.meta \x3d meta;\nthis.tree_map \x3d tree_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 417730831;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__10824 \x3d cljs.core.seq(coll);\nvar chunk__10825 \x3d null;\nvar count__10826 \x3d (0);\nvar i__10827 \x3d (0);\nwhile(true){\nif((i__10827 \x3c count__10826)){\nvar vec__10834 \x3d chunk__10825.cljs$core$IIndexed$_nth$arity$2(null,i__10827);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10834,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10834,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13556 \x3d seq__10824;\nvar G__13557 \x3d chunk__10825;\nvar G__13558 \x3d count__10826;\nvar G__13559 \x3d (i__10827 + (1));\nseq__10824 \x3d G__13556;\nchunk__10825 \x3d G__13557;\ncount__10826 \x3d G__13558;\ni__10827 \x3d G__13559;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10824);\nif(temp__5804__auto__){\nvar seq__10824__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10824__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10824__$1);\nvar G__13560 \x3d cljs.core.chunk_rest(seq__10824__$1);\nvar G__13561 \x3d c__5568__auto__;\nvar G__13562 \x3d cljs.core.count(c__5568__auto__);\nvar G__13563 \x3d (0);\nseq__10824 \x3d G__13560;\nchunk__10825 \x3d G__13561;\ncount__10826 \x3d G__13562;\ni__10827 \x3d G__13563;\ncontinue;\n} else {\nvar vec__10837 \x3d cljs.core.first(seq__10824__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10837,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10837,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__13564 \x3d cljs.core.next(seq__10824__$1);\nvar G__13565 \x3d null;\nvar G__13566 \x3d (0);\nvar G__13567 \x3d (0);\nseq__10824 \x3d G__13564;\nchunk__10825 \x3d G__13565;\ncount__10826 \x3d G__13566;\ni__10827 \x3d G__13567;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d self__.tree_map.entry_at(v);\nif((!((n \x3d\x3d null)))){\nreturn n.key;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.count(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.count(self__.tree_map) \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__10822_SHARP_,p2__10821_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__10821_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.tree_map);\n}catch (e10840){if((e10840 instanceof Error)){\nvar ex \x3d e10840;\nreturn false;\n} else {\nthrow e10840;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeSet(new_meta,self__.tree_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10841 \x3d (arguments.length - (1));\nswitch (G__10841) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.apply \x3d (function (self__,args10823){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10823)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn entry;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._comparator(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22tree-map\x22,\x22tree-map\x22,1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeSet\x22);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeSet.\n */\ncljs.core.__GT_PersistentTreeSet \x3d (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){\nreturn (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));\n});\n\n(cljs.core.PersistentTreeSet.EMPTY \x3d (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.set_from_indexed_seq \x3d (function cljs$core$set_from_indexed_seq(iseq){\nvar arr \x3d iseq.arr;\nvar ret \x3d (function (){var a__5633__auto__ \x3d arr;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar res \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__13570 \x3d (i + (1));\nvar G__13571 \x3d cljs.core._conj_BANG_(res,(arr[i]));\ni \x3d G__13570;\nres \x3d G__13571;\ncontinue;\n} else {\nreturn res;\n}\nbreak;\n}\n})();\nreturn ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);\n});\n/**\n * Returns a set of the distinct elements of coll.\n */\ncljs.core.set \x3d (function cljs$core$set(coll){\nif(cljs.core.set_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nvar in$ \x3d cljs.core.seq(coll);\nif((in$ \x3d\x3d null)){\nreturn cljs.core.PersistentHashSet.EMPTY;\n} else {\nif((((in$ instanceof cljs.core.IndexedSeq)) \x26\x26 ((in$.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);\n} else {\nvar in$__$1 \x3d in$;\nvar out \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((!((in$__$1 \x3d\x3d null)))){\nvar G__13573 \x3d cljs.core.next(in$__$1);\nvar G__13574 \x3d cljs.core._conj_BANG_(out,cljs.core._first(in$__$1));\nin$__$1 \x3d G__13573;\nout \x3d G__13574;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n\n}\n}\n}\n});\n/**\n * Returns a new hash set with supplied keys. Any equal keys are\n * handled as if by repeated uses of conj.\n */\ncljs.core.hash_set \x3d (function cljs$core$hash_set(var_args){\nvar G__10844 \x3d arguments.length;\nswitch (G__10844) {\ncase 0:\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13576 \x3d arguments.length;\nvar i__5770__auto___13577 \x3d (0);\nwhile(true){\nif((i__5770__auto___13577 \x3c len__5769__auto___13576)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13577]));\n\nvar G__13579 \x3d (i__5770__auto___13577 + (1));\ni__5770__auto___13577 \x3d G__13579;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.set(keys);\n}));\n\n/** @this {Function} */\n(cljs.core.hash_set.cljs$lang$applyTo \x3d (function (seq10843){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10843));\n}));\n\n(cljs.core.hash_set.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Returns a new sorted set with supplied keys.\n */\ncljs.core.sorted_set \x3d (function cljs$core$sorted_set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13581 \x3d arguments.length;\nvar i__5770__auto___13582 \x3d (0);\nwhile(true){\nif((i__5770__auto___13582 \x3c len__5769__auto___13581)){\nargs__5775__auto__.push((arguments[i__5770__auto___13582]));\n\nvar G__13583 \x3d (i__5770__auto___13582 + (1));\ni__5770__auto___13582 \x3d G__13583;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);\n}));\n\n(cljs.core.sorted_set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_set.cljs$lang$applyTo \x3d (function (seq10845){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10845));\n}));\n\n/**\n * Returns a new sorted set with supplied keys, using the supplied comparator.\n */\ncljs.core.sorted_set_by \x3d (function cljs$core$sorted_set_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13584 \x3d arguments.length;\nvar i__5770__auto___13585 \x3d (0);\nwhile(true){\nif((i__5770__auto___13585 \x3c len__5769__auto___13584)){\nargs__5775__auto__.push((arguments[i__5770__auto___13585]));\n\nvar G__13586 \x3d (i__5770__auto___13585 + (1));\ni__5770__auto___13585 \x3d G__13586;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,(new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(comparator),(0))),keys);\n}));\n\n(cljs.core.sorted_set_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_set_by.cljs$lang$applyTo \x3d (function (seq10846){\nvar G__10847 \x3d cljs.core.first(seq10846);\nvar seq10846__$1 \x3d cljs.core.next(seq10846);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10847,seq10846__$1);\n}));\n\n/**\n * Given a map of replacement pairs and a vector/collection, returns a\n * vector/seq with any elements \x3d a key in smap replaced with the\n * corresponding val in smap. Returns a transducer when no collection\n * is provided.\n */\ncljs.core.replace \x3d (function cljs$core$replace(var_args){\nvar G__10851 \x3d arguments.length;\nswitch (G__10851) {\ncase 1:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$1 \x3d (function (smap){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__10848_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__10848_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.val(e);\n} else {\nreturn p1__10848_SHARP_;\n}\n}));\n}));\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$2 \x3d (function (smap,coll){\nif(cljs.core.vector_QMARK_(coll)){\nvar n \x3d cljs.core.count(coll);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,i){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));\n} else {\nreturn v;\n}\n}),coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));\n} else {\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__10849_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__10849_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.second(e);\n} else {\nreturn p1__10849_SHARP_;\n}\n}),coll);\n}\n}));\n\n(cljs.core.replace.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the elements of coll with duplicates removed.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.distinct \x3d (function cljs$core$distinct(var_args){\nvar G__10853 \x3d arguments.length;\nswitch (G__10853) {\ncase 0:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar seen \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\nreturn (function() {\nvar G__13589 \x3d null;\nvar G__13589__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13589__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13589__2 \x3d (function (result,input){\nif(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){\nreturn result;\n} else {\nseen.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen.cljs$core$IDeref$_deref$arity$1(null),input));\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__13589 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13589__0.call(this);\ncase 1:\nreturn G__13589__1.call(this,result);\ncase 2:\nreturn G__13589__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13589.cljs$core$IFn$_invoke$arity$0 \x3d G__13589__0;\nG__13589.cljs$core$IFn$_invoke$arity$1 \x3d G__13589__1;\nG__13589.cljs$core$IFn$_invoke$arity$2 \x3d G__13589__2;\nreturn G__13589;\n})()\n});\n}));\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar step \x3d (function cljs$core$step(xs,seen){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn (function (p__10854,seen__$1){\nwhile(true){\nvar vec__10855 \x3d p__10854;\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10855,(0),null);\nvar xs__$1 \x3d vec__10855;\nvar temp__5804__auto__ \x3d cljs.core.seq(xs__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.contains_QMARK_(seen__$1,f)){\nvar G__13591 \x3d cljs.core.rest(s);\nvar G__13592 \x3d seen__$1;\np__10854 \x3d G__13591;\nseen__$1 \x3d G__13592;\ncontinue;\n} else {\nreturn cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})(xs,seen);\n}),null,null));\n});\nreturn step(coll,cljs.core.PersistentHashSet.EMPTY);\n}));\n\n(cljs.core.distinct.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Return a seq of all but the last item in coll, in linear time\n */\ncljs.core.butlast \x3d (function cljs$core$butlast(s){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar s__$1 \x3d s;\nwhile(true){\nif(cljs.core.next(s__$1)){\nvar G__13594 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));\nvar G__13595 \x3d cljs.core.next(s__$1);\nret \x3d G__13594;\ns__$1 \x3d G__13595;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\n/**\n * Returns the name String of a string, symbol or keyword.\n */\ncljs.core.name \x3d (function cljs$core$name(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_name$arity$1(null);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nthrow (new Error([\x22Doesn\x27t support name: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n}\n});\n/**\n * Returns a map with the keys mapped to the corresponding vals.\n */\ncljs.core.zipmap \x3d (function cljs$core$zipmap(keys,vals){\nvar map \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nvar ks \x3d cljs.core.seq(keys);\nvar vs \x3d cljs.core.seq(vals);\nwhile(true){\nif(((ks) \x26\x26 (vs))){\nvar G__13597 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));\nvar G__13598 \x3d cljs.core.next(ks);\nvar G__13599 \x3d cljs.core.next(vs);\nmap \x3d G__13597;\nks \x3d G__13598;\nvs \x3d G__13599;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(map);\n}\nbreak;\n}\n});\n/**\n * Returns the x for which (k x), a number, is greatest.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.max_key \x3d (function cljs$core$max_key(var_args){\nvar G__10866 \x3d arguments.length;\nswitch (G__10866) {\ncase 2:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13601 \x3d arguments.length;\nvar i__5770__auto___13602 \x3d (0);\nwhile(true){\nif((i__5770__auto___13602 \x3c len__5769__auto___13601)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13602]));\n\nvar G__13603 \x3d (i__5770__auto___13602 + (1));\ni__5770__auto___13602 \x3d G__13603;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3e (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10859_SHARP_,p2__10860_SHARP_){\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__10859_SHARP_,p2__10860_SHARP_);\n}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max_key.cljs$lang$applyTo \x3d (function (seq10862){\nvar G__10863 \x3d cljs.core.first(seq10862);\nvar seq10862__$1 \x3d cljs.core.next(seq10862);\nvar G__10864 \x3d cljs.core.first(seq10862__$1);\nvar seq10862__$2 \x3d cljs.core.next(seq10862__$1);\nvar G__10865 \x3d cljs.core.first(seq10862__$2);\nvar seq10862__$3 \x3d cljs.core.next(seq10862__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10863,G__10864,G__10865,seq10862__$3);\n}));\n\n(cljs.core.max_key.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the x for which (k x), a number, is least.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.min_key \x3d (function cljs$core$min_key(var_args){\nvar G__10874 \x3d arguments.length;\nswitch (G__10874) {\ncase 2:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13605 \x3d arguments.length;\nvar i__5770__auto___13606 \x3d (0);\nwhile(true){\nif((i__5770__auto___13606 \x3c len__5769__auto___13605)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13606]));\n\nvar G__13607 \x3d (i__5770__auto___13606 + (1));\ni__5770__auto___13606 \x3d G__13607;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3c (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10867_SHARP_,p2__10868_SHARP_){\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__10867_SHARP_,p2__10868_SHARP_);\n}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min_key.cljs$lang$applyTo \x3d (function (seq10870){\nvar G__10871 \x3d cljs.core.first(seq10870);\nvar seq10870__$1 \x3d cljs.core.next(seq10870);\nvar G__10872 \x3d cljs.core.first(seq10870__$1);\nvar seq10870__$2 \x3d cljs.core.next(seq10870__$1);\nvar G__10873 \x3d cljs.core.first(seq10870__$2);\nvar seq10870__$3 \x3d cljs.core.next(seq10870__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10871,G__10872,G__10873,seq10870__$3);\n}));\n\n(cljs.core.min_key.cljs$lang$maxFixedArity \x3d (3));\n\n\n/**\n* @constructor\n*/\ncljs.core.ArrayList \x3d (function (arr){\nthis.arr \x3d arr;\n});\n(cljs.core.ArrayList.prototype.add \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.push(x);\n}));\n\n(cljs.core.ArrayList.prototype.size \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.length;\n}));\n\n(cljs.core.ArrayList.prototype.clear \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr \x3d []);\n}));\n\n(cljs.core.ArrayList.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.ArrayList.prototype.toArray \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr;\n}));\n\n(cljs.core.ArrayList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayList.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayList.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayList\x22);\n\n(cljs.core.ArrayList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayList.\n */\ncljs.core.__GT_ArrayList \x3d (function cljs$core$__GT_ArrayList(arr){\nreturn (new cljs.core.ArrayList(arr));\n});\n\ncljs.core.array_list \x3d (function cljs$core$array_list(){\nreturn (new cljs.core.ArrayList([]));\n});\n/**\n * Returns a lazy sequence of lists like partition, but may include\n * partitions with fewer than n items at the end. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_all \x3d (function cljs$core$partition_all(var_args){\nvar G__10876 \x3d arguments.length;\nswitch (G__10876) {\ncase 1:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nreturn (function() {\nvar G__13609 \x3d null;\nvar G__13609__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13609__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__13609__2 \x3d (function (result,input){\na.add(input);\n\nif((n \x3d\x3d\x3d a.size())){\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n} else {\nreturn result;\n}\n});\nG__13609 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13609__0.call(this);\ncase 1:\nreturn G__13609__1.call(this,result);\ncase 2:\nreturn G__13609__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13609.cljs$core$IFn$_invoke$arity$0 \x3d G__13609__0;\nG__13609.cljs$core$IFn$_invoke$arity$1 \x3d G__13609__1;\nG__13609.cljs$core$IFn$_invoke$arity$2 \x3d G__13609__2;\nreturn G__13609;\n})()\n});\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy sequence of successive items from coll while\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.take_while \x3d (function cljs$core$take_while(var_args){\nvar G__10878 \x3d arguments.length;\nswitch (G__10878) {\ncase 1:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__13613 \x3d null;\nvar G__13613__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13613__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13613__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn cljs.core.reduced(result);\n}\n});\nG__13613 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13613__0.call(this);\ncase 1:\nreturn G__13613__1.call(this,result);\ncase 2:\nreturn G__13613__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13613.cljs$core$IFn$_invoke$arity$0 \x3d G__13613__0;\nG__13613.cljs$core$IFn$_invoke$arity$1 \x3d G__13613__1;\nG__13613.cljs$core$IFn$_invoke$arity$2 \x3d G__13613__2;\nreturn G__13613;\n})()\n});\n}));\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.truth_((function (){var G__10879 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__10879) : pred.call(null,G__10879));\n})())){\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_while.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.mk_bound_fn \x3d (function cljs$core$mk_bound_fn(sc,test,key){\nreturn (function (e){\nvar comp \x3d cljs.core._comparator(sc);\nvar G__10880 \x3d (function (){var G__10882 \x3d cljs.core._entry_key(sc,e);\nvar G__10883 \x3d key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__10882,G__10883) : comp.call(null,G__10882,G__10883));\n})();\nvar G__10881 \x3d (0);\nreturn (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__10880,G__10881) : test.call(null,G__10880,G__10881));\n});\n});\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.subseq \x3d (function cljs$core$subseq(var_args){\nvar G__10885 \x3d arguments.length;\nswitch (G__10885) {\ncase 3:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__10886 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);\nreturn (fexpr__10886.cljs$core$IFn$_invoke$arity$1 ? fexpr__10886.cljs$core$IFn$_invoke$arity$1(test) : fexpr__10886.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__10887 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10887,(0),null);\nvar s \x3d vec__10887;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));\n}\n}));\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,start_key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__10890 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10890,(0),null);\nvar s \x3d vec__10890;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,start_test,start_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.subseq.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a reverse seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.rsubseq \x3d (function cljs$core$rsubseq(var_args){\nvar G__10894 \x3d arguments.length;\nswitch (G__10894) {\ncase 3:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__10895 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);\nreturn (fexpr__10895.cljs$core$IFn$_invoke$arity$1 ? fexpr__10895.cljs$core$IFn$_invoke$arity$1(test) : fexpr__10895.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__10896 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10896,(0),null);\nvar s \x3d vec__10896;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));\n}\n}));\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,end_key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__10899 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10899,(0),null);\nvar s \x3d vec__10899;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,end_test,end_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.rsubseq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.IChunk}\n*/\ncljs.core.IntegerRangeChunk \x3d (function (start,step,count){\nthis.start \x3d start;\nthis.step \x3d step;\nthis.count \x3d count;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 82;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.start + (i * self__.step));\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c self__.count)))){\nreturn (self__.start + (i * self__.step));\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3c\x3d (1))){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.IntegerRangeChunk((self__.start + self__.step),self__.step,(self__.count - (1))));\n}\n}));\n\n(cljs.core.IntegerRangeChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null)], null);\n}));\n\n(cljs.core.IntegerRangeChunk.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRangeChunk\x22);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRangeChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRangeChunk.\n */\ncljs.core.__GT_IntegerRangeChunk \x3d (function cljs$core$__GT_IntegerRangeChunk(start,step,count){\nreturn (new cljs.core.IntegerRangeChunk(start,step,count));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.RangeIterator \x3d (function (i,end,step){\nthis.i \x3d i;\nthis.end \x3d end;\nthis.step \x3d step;\n});\n(cljs.core.RangeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.step \x3e (0))){\nreturn (self__.i \x3c self__.end);\n} else {\nreturn (self__.i \x3e self__.end);\n}\n}));\n\n(cljs.core.RangeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.i;\n(self__.i \x3d (self__.i + self__.step));\n\nreturn ret;\n}));\n\n(cljs.core.RangeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null)], null);\n}));\n\n(cljs.core.RangeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangeIterator\x22);\n\n(cljs.core.RangeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangeIterator.\n */\ncljs.core.__GT_RangeIterator \x3d (function cljs$core$__GT_RangeIterator(i,end,step){\nreturn (new cljs.core.RangeIterator(i,end,step));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IntegerRange \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375006;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\n});\n(cljs.core.IntegerRange.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IntegerRange.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IntegerRange.prototype.indexOf \x3d (function() {\nvar G__13616 \x3d null;\nvar G__13616__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13616__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13616 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13616__1.call(this,x);\ncase 2:\nreturn G__13616__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13616.cljs$core$IFn$_invoke$arity$1 \x3d G__13616__1;\nG__13616.cljs$core$IFn$_invoke$arity$2 \x3d G__13616__2;\nreturn G__13616;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.lastIndexOf \x3d (function() {\nvar G__13617 \x3d null;\nvar G__13617__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13617__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13617 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13617__1.call(this,x);\ncase 2:\nreturn G__13617__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13617.cljs$core$IFn$_invoke$arity$1 \x3d G__13617__1;\nG__13617.cljs$core$IFn$_invoke$arity$2 \x3d G__13617__2;\nreturn G__13617;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar count \x3d coll.cljs$core$ICounted$_count$arity$1(null);\nif((count \x3e (32))){\n(self__.chunk_next \x3d (new cljs.core.IntegerRange(null,(self__.start + (self__.step * (32))),self__.end,self__.step,null,null,null)));\n\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,(32))));\n} else {\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,count)));\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (rng,n,not_found){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nreturn not_found;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IntegerRange(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn Math.ceil(((self__.end - self__.start) / self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__13622 \x3d (i + self__.step);\nvar G__13623 \x3d ret__$1;\ni \x3d G__13622;\nret \x3d G__13623;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.IntegerRange(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.IntegerRange.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IntegerRange.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRange.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRange\x22);\n\n(cljs.core.IntegerRange.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRange\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRange.\n */\ncljs.core.__GT_IntegerRange \x3d (function cljs$core$__GT_IntegerRange(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.IntegerRange(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.IntegerRange.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Range \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\n});\n(cljs.core.Range.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Range.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Range.prototype.indexOf \x3d (function() {\nvar G__13624 \x3d null;\nvar G__13624__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13624__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13624 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13624__1.call(this,x);\ncase 2:\nreturn G__13624__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13624.cljs$core$IFn$_invoke$arity$1 \x3d G__13624__1;\nG__13624.cljs$core$IFn$_invoke$arity$2 \x3d G__13624__2;\nreturn G__13624;\n})()\n);\n\n(cljs.core.Range.prototype.lastIndexOf \x3d (function() {\nvar G__13627 \x3d null;\nvar G__13627__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13627__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__13627 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__13627__1.call(this,x);\ncase 2:\nreturn G__13627__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13627.cljs$core$IFn$_invoke$arity$1 \x3d G__13627__1;\nG__13627.cljs$core$IFn$_invoke$arity$2 \x3d G__13627__2;\nreturn G__13627;\n})()\n);\n\n(cljs.core.Range.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar arr \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\nvar val \x3d (function (){var n \x3d (0);\nvar val \x3d self__.start;\nwhile(true){\nif((n \x3c (32))){\n(arr[n] \x3d val);\n\nvar n__$1 \x3d (n + (1));\nvar val__$1 \x3d (val + self__.step);\nif((((self__.step \x3e (0)))?(val__$1 \x3c self__.end):(val__$1 \x3e self__.end))){\nvar G__13630 \x3d n__$1;\nvar G__13631 \x3d val__$1;\nn \x3d G__13630;\nval \x3d G__13631;\ncontinue;\n} else {\nreturn (self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n__$1));\n}\n} else {\nreturn val;\n}\nbreak;\n}\n})();\nif((self__.chunk \x3d\x3d null)){\n(self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),(32)));\n\nif((((self__.step \x3e (0)))?(val \x3c self__.end):(val \x3e self__.end))){\nreturn (self__.chunk_next \x3d (new cljs.core.Range(null,val,self__.end,self__.step,null,null,null)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__13633 \x3d (i + self__.step);\nvar G__13634 \x3d ret__$1;\ni \x3d G__13633;\nret \x3d G__13634;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.Range(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.Range.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Range.cljs$lang$type \x3d true);\n\n(cljs.core.Range.cljs$lang$ctorStr \x3d \x22cljs.core/Range\x22);\n\n(cljs.core.Range.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Range\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Range.\n */\ncljs.core.__GT_Range \x3d (function cljs$core$__GT_Range(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.Range(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.Range.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1,\n * and end to infinity.\n */\ncljs.core.range \x3d (function cljs$core$range(var_args){\nvar G__10903 \x3d arguments.length;\nswitch (G__10903) {\ncase 0:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$1 \x3d (function (end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$2 \x3d (function (start,end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$3 \x3d (function (start,end,step){\nif((step \x3e (0))){\nif((end \x3c\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((step \x3c (0))){\nif((end \x3e\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((end \x3d\x3d\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start);\n}\n\n}\n}\n}));\n\n(cljs.core.range.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy seq of every nth item in coll. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.take_nth \x3d (function cljs$core$take_nth(var_args){\nvar G__10905 \x3d arguments.length;\nswitch (G__10905) {\ncase 1:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__13657 \x3d null;\nvar G__13657__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13657__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13657__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nif((cljs.core.rem(i,n) \x3d\x3d\x3d (0))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__13657 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13657__0.call(this);\ncase 1:\nreturn G__13657__1.call(this,result);\ncase 2:\nreturn G__13657__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13657.cljs$core$IFn$_invoke$arity$0 \x3d G__13657__0;\nG__13657.cljs$core$IFn$_invoke$arity$1 \x3d G__13657__1;\nG__13657.cljs$core$IFn$_invoke$arity$2 \x3d G__13657__2;\nreturn G__13657;\n})()\n});\n}));\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(n,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_nth.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a vector of [(take-while pred coll) (drop-while pred coll)]\n */\ncljs.core.split_with \x3d (function cljs$core$split_with(pred,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,coll),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(pred,coll)], null);\n});\n/**\n * Applies f to each value in coll, splitting it each time f returns a\n * new value. Returns a lazy seq of partitions. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_by \x3d (function cljs$core$partition_by(var_args){\nvar G__10908 \x3d arguments.length;\nswitch (G__10908) {\ncase 1:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__13667 \x3d null;\nvar G__13667__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13667__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__13667__2 \x3d (function (result,input){\nvar pval \x3d cljs.core.deref(pa);\nvar val \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\ncljs.core.vreset_BANG_(pa,val);\n\nif(((cljs.core.keyword_identical_QMARK_(pval,new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval)))){\na.add(input);\n\nreturn result;\n} else {\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\nif(cljs.core.reduced_QMARK_(ret)){\n} else {\na.add(input);\n}\n\nreturn ret;\n}\n});\nG__13667 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13667__0.call(this);\ncase 1:\nreturn G__13667__1.call(this,result);\ncase 2:\nreturn G__13667__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13667.cljs$core$IFn$_invoke$arity$0 \x3d G__13667__0;\nG__13667.cljs$core$IFn$_invoke$arity$1 \x3d G__13667__1;\nG__13667.cljs$core$IFn$_invoke$arity$2 \x3d G__13667__2;\nreturn G__13667;\n})()\n});\n}));\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar fst \x3d cljs.core.first(s);\nvar fv \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__10906_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fv,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(p1__10906_SHARP_) : f.call(null,p1__10906_SHARP_)));\n}),cljs.core.next(s)));\nreturn cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,(new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_by.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a map from distinct items in coll to the number of times\n * they appear.\n */\ncljs.core.frequencies \x3d (function cljs$core$frequencies(coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(counts,x,(cljs.core.get.cljs$core$IFn$_invoke$arity$3(counts,x,(0)) + (1)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Returns a lazy seq of the intermediate values of the reduction (as\n * per reduce) of coll by f, starting with init.\n */\ncljs.core.reductions \x3d (function cljs$core$reductions(var_args){\nvar G__10910 \x3d arguments.length;\nswitch (G__10910) {\ncase 2:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));\n} else {\nreturn (new cljs.core.List(null,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),null,(1),null));\n}\n}),null,null));\n}));\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,init,coll){\nif(cljs.core.reduced_QMARK_(init)){\nreturn (new cljs.core.List(null,cljs.core.deref(init),null,(1),null));\n} else {\nreturn cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__10911 \x3d init;\nvar G__10912 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10911,G__10912) : f.call(null,G__10911,G__10912));\n})(),cljs.core.rest(s));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n}));\n\n(cljs.core.reductions.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a set of functions and returns a fn that is the juxtaposition\n * of those fns. The returned fn takes a variable number of args, and\n * returns a vector containing the result of applying each fn to the\n * args (left-to-right).\n * ((juxt a b c) x) \x3d\x3e [(a x) (b x) (c x)]\n */\ncljs.core.juxt \x3d (function cljs$core$juxt(var_args){\nvar G__10928 \x3d arguments.length;\nswitch (G__10928) {\ncase 1:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13676 \x3d arguments.length;\nvar i__5770__auto___13677 \x3d (0);\nwhile(true){\nif((i__5770__auto___13677 \x3c len__5769__auto___13676)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13677]));\n\nvar G__13678 \x3d (i__5770__auto___13677 + (1));\ni__5770__auto___13677 \x3d G__13678;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function() {\nvar G__13679 \x3d null;\nvar G__13679__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null))],null));\n});\nvar G__13679__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x))],null));\n});\nvar G__13679__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y))],null));\n});\nvar G__13679__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z))],null));\n});\nvar G__13679__4 \x3d (function() { \nvar G__13687__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args)],null));\n};\nvar G__13687 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13691__i \x3d 0, G__13691__a \x3d new Array(arguments.length - 3);\nwhile (G__13691__i \x3c G__13691__a.length) {G__13691__a[G__13691__i] \x3d arguments[G__13691__i + 3]; ++G__13691__i;}\n args \x3d new cljs.core.IndexedSeq(G__13691__a,0,null);\n} \nreturn G__13687__delegate.call(this,x,y,z,args);};\nG__13687.cljs$lang$maxFixedArity \x3d 3;\nG__13687.cljs$lang$applyTo \x3d (function (arglist__13692){\nvar x \x3d cljs.core.first(arglist__13692);\narglist__13692 \x3d cljs.core.next(arglist__13692);\nvar y \x3d cljs.core.first(arglist__13692);\narglist__13692 \x3d cljs.core.next(arglist__13692);\nvar z \x3d cljs.core.first(arglist__13692);\nvar args \x3d cljs.core.rest(arglist__13692);\nreturn G__13687__delegate(x,y,z,args);\n});\nG__13687.cljs$core$IFn$_invoke$arity$variadic \x3d G__13687__delegate;\nreturn G__13687;\n})()\n;\nG__13679 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__13679__0.call(this);\ncase 1:\nreturn G__13679__1.call(this,x);\ncase 2:\nreturn G__13679__2.call(this,x,y);\ncase 3:\nreturn G__13679__3.call(this,x,y,z);\ndefault:\nvar G__13693 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13699__i \x3d 0, G__13699__a \x3d new Array(arguments.length - 3);\nwhile (G__13699__i \x3c G__13699__a.length) {G__13699__a[G__13699__i] \x3d arguments[G__13699__i + 3]; ++G__13699__i;}\nG__13693 \x3d new cljs.core.IndexedSeq(G__13699__a,0,null);\n}\nreturn G__13679__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13693);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13679.cljs$lang$maxFixedArity \x3d 3;\nG__13679.cljs$lang$applyTo \x3d G__13679__4.cljs$lang$applyTo;\nG__13679.cljs$core$IFn$_invoke$arity$0 \x3d G__13679__0;\nG__13679.cljs$core$IFn$_invoke$arity$1 \x3d G__13679__1;\nG__13679.cljs$core$IFn$_invoke$arity$2 \x3d G__13679__2;\nG__13679.cljs$core$IFn$_invoke$arity$3 \x3d G__13679__3;\nG__13679.cljs$core$IFn$_invoke$arity$variadic \x3d G__13679__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__13679;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__13701 \x3d null;\nvar G__13701__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null))],null));\n});\nvar G__13701__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x))],null));\n});\nvar G__13701__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y))],null));\n});\nvar G__13701__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z))],null));\n});\nvar G__13701__4 \x3d (function() { \nvar G__13704__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args)],null));\n};\nvar G__13704 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13705__i \x3d 0, G__13705__a \x3d new Array(arguments.length - 3);\nwhile (G__13705__i \x3c G__13705__a.length) {G__13705__a[G__13705__i] \x3d arguments[G__13705__i + 3]; ++G__13705__i;}\n args \x3d new cljs.core.IndexedSeq(G__13705__a,0,null);\n} \nreturn G__13704__delegate.call(this,x,y,z,args);};\nG__13704.cljs$lang$maxFixedArity \x3d 3;\nG__13704.cljs$lang$applyTo \x3d (function (arglist__13707){\nvar x \x3d cljs.core.first(arglist__13707);\narglist__13707 \x3d cljs.core.next(arglist__13707);\nvar y \x3d cljs.core.first(arglist__13707);\narglist__13707 \x3d cljs.core.next(arglist__13707);\nvar z \x3d cljs.core.first(arglist__13707);\nvar args \x3d cljs.core.rest(arglist__13707);\nreturn G__13704__delegate(x,y,z,args);\n});\nG__13704.cljs$core$IFn$_invoke$arity$variadic \x3d G__13704__delegate;\nreturn G__13704;\n})()\n;\nG__13701 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__13701__0.call(this);\ncase 1:\nreturn G__13701__1.call(this,x);\ncase 2:\nreturn G__13701__2.call(this,x,y);\ncase 3:\nreturn G__13701__3.call(this,x,y,z);\ndefault:\nvar G__13713 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13714__i \x3d 0, G__13714__a \x3d new Array(arguments.length - 3);\nwhile (G__13714__i \x3c G__13714__a.length) {G__13714__a[G__13714__i] \x3d arguments[G__13714__i + 3]; ++G__13714__i;}\nG__13713 \x3d new cljs.core.IndexedSeq(G__13714__a,0,null);\n}\nreturn G__13701__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13713);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13701.cljs$lang$maxFixedArity \x3d 3;\nG__13701.cljs$lang$applyTo \x3d G__13701__4.cljs$lang$applyTo;\nG__13701.cljs$core$IFn$_invoke$arity$0 \x3d G__13701__0;\nG__13701.cljs$core$IFn$_invoke$arity$1 \x3d G__13701__1;\nG__13701.cljs$core$IFn$_invoke$arity$2 \x3d G__13701__2;\nG__13701.cljs$core$IFn$_invoke$arity$3 \x3d G__13701__3;\nG__13701.cljs$core$IFn$_invoke$arity$variadic \x3d G__13701__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__13701;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__13715 \x3d null;\nvar G__13715__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null)),(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null))],null));\n});\nvar G__13715__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x)),(h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x))],null));\n});\nvar G__13715__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y)),(h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y))],null));\n});\nvar G__13715__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z)),(h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z))],null));\n});\nvar G__13715__4 \x3d (function() { \nvar G__13716__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args)],null));\n};\nvar G__13716 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13717__i \x3d 0, G__13717__a \x3d new Array(arguments.length - 3);\nwhile (G__13717__i \x3c G__13717__a.length) {G__13717__a[G__13717__i] \x3d arguments[G__13717__i + 3]; ++G__13717__i;}\n args \x3d new cljs.core.IndexedSeq(G__13717__a,0,null);\n} \nreturn G__13716__delegate.call(this,x,y,z,args);};\nG__13716.cljs$lang$maxFixedArity \x3d 3;\nG__13716.cljs$lang$applyTo \x3d (function (arglist__13719){\nvar x \x3d cljs.core.first(arglist__13719);\narglist__13719 \x3d cljs.core.next(arglist__13719);\nvar y \x3d cljs.core.first(arglist__13719);\narglist__13719 \x3d cljs.core.next(arglist__13719);\nvar z \x3d cljs.core.first(arglist__13719);\nvar args \x3d cljs.core.rest(arglist__13719);\nreturn G__13716__delegate(x,y,z,args);\n});\nG__13716.cljs$core$IFn$_invoke$arity$variadic \x3d G__13716__delegate;\nreturn G__13716;\n})()\n;\nG__13715 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__13715__0.call(this);\ncase 1:\nreturn G__13715__1.call(this,x);\ncase 2:\nreturn G__13715__2.call(this,x,y);\ncase 3:\nreturn G__13715__3.call(this,x,y,z);\ndefault:\nvar G__13720 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13721__i \x3d 0, G__13721__a \x3d new Array(arguments.length - 3);\nwhile (G__13721__i \x3c G__13721__a.length) {G__13721__a[G__13721__i] \x3d arguments[G__13721__i + 3]; ++G__13721__i;}\nG__13720 \x3d new cljs.core.IndexedSeq(G__13721__a,0,null);\n}\nreturn G__13715__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13720);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13715.cljs$lang$maxFixedArity \x3d 3;\nG__13715.cljs$lang$applyTo \x3d G__13715__4.cljs$lang$applyTo;\nG__13715.cljs$core$IFn$_invoke$arity$0 \x3d G__13715__0;\nG__13715.cljs$core$IFn$_invoke$arity$1 \x3d G__13715__1;\nG__13715.cljs$core$IFn$_invoke$arity$2 \x3d G__13715__2;\nG__13715.cljs$core$IFn$_invoke$arity$3 \x3d G__13715__3;\nG__13715.cljs$core$IFn$_invoke$arity$variadic \x3d G__13715__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__13715;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,g,h,fs){\nvar fs__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);\nreturn (function() {\nvar G__13722 \x3d null;\nvar G__13722__0 \x3d (function (){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10913_SHARP_,p2__10914_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__10913_SHARP_,(p2__10914_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__10914_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__10914_SHARP_.call(null)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__13722__1 \x3d (function (x){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10915_SHARP_,p2__10916_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__10915_SHARP_,(p2__10916_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__10916_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__10916_SHARP_.call(null,x)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__13722__2 \x3d (function (x,y){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10917_SHARP_,p2__10918_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__10917_SHARP_,(p2__10918_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__10918_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__10918_SHARP_.call(null,x,y)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__13722__3 \x3d (function (x,y,z){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10919_SHARP_,p2__10920_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__10919_SHARP_,(p2__10920_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__10920_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__10920_SHARP_.call(null,x,y,z)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__13722__4 \x3d (function() { \nvar G__13724__delegate \x3d function (x,y,z,args){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__10921_SHARP_,p2__10922_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__10921_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__10922_SHARP_,x,y,z,args));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n};\nvar G__13724 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13728__i \x3d 0, G__13728__a \x3d new Array(arguments.length - 3);\nwhile (G__13728__i \x3c G__13728__a.length) {G__13728__a[G__13728__i] \x3d arguments[G__13728__i + 3]; ++G__13728__i;}\n args \x3d new cljs.core.IndexedSeq(G__13728__a,0,null);\n} \nreturn G__13724__delegate.call(this,x,y,z,args);};\nG__13724.cljs$lang$maxFixedArity \x3d 3;\nG__13724.cljs$lang$applyTo \x3d (function (arglist__13729){\nvar x \x3d cljs.core.first(arglist__13729);\narglist__13729 \x3d cljs.core.next(arglist__13729);\nvar y \x3d cljs.core.first(arglist__13729);\narglist__13729 \x3d cljs.core.next(arglist__13729);\nvar z \x3d cljs.core.first(arglist__13729);\nvar args \x3d cljs.core.rest(arglist__13729);\nreturn G__13724__delegate(x,y,z,args);\n});\nG__13724.cljs$core$IFn$_invoke$arity$variadic \x3d G__13724__delegate;\nreturn G__13724;\n})()\n;\nG__13722 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__13722__0.call(this);\ncase 1:\nreturn G__13722__1.call(this,x);\ncase 2:\nreturn G__13722__2.call(this,x,y);\ncase 3:\nreturn G__13722__3.call(this,x,y,z);\ndefault:\nvar G__13731 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__13732__i \x3d 0, G__13732__a \x3d new Array(arguments.length - 3);\nwhile (G__13732__i \x3c G__13732__a.length) {G__13732__a[G__13732__i] \x3d arguments[G__13732__i + 3]; ++G__13732__i;}\nG__13731 \x3d new cljs.core.IndexedSeq(G__13732__a,0,null);\n}\nreturn G__13722__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13731);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13722.cljs$lang$maxFixedArity \x3d 3;\nG__13722.cljs$lang$applyTo \x3d G__13722__4.cljs$lang$applyTo;\nG__13722.cljs$core$IFn$_invoke$arity$0 \x3d G__13722__0;\nG__13722.cljs$core$IFn$_invoke$arity$1 \x3d G__13722__1;\nG__13722.cljs$core$IFn$_invoke$arity$2 \x3d G__13722__2;\nG__13722.cljs$core$IFn$_invoke$arity$3 \x3d G__13722__3;\nG__13722.cljs$core$IFn$_invoke$arity$variadic \x3d G__13722__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__13722;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.juxt.cljs$lang$applyTo \x3d (function (seq10924){\nvar G__10925 \x3d cljs.core.first(seq10924);\nvar seq10924__$1 \x3d cljs.core.next(seq10924);\nvar G__10926 \x3d cljs.core.first(seq10924__$1);\nvar seq10924__$2 \x3d cljs.core.next(seq10924__$1);\nvar G__10927 \x3d cljs.core.first(seq10924__$2);\nvar seq10924__$3 \x3d cljs.core.next(seq10924__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10925,G__10926,G__10927,seq10924__$3);\n}));\n\n(cljs.core.juxt.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. dorun can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, does not retain the head and returns nil.\n */\ncljs.core.dorun \x3d (function cljs$core$dorun(var_args){\nvar G__10930 \x3d arguments.length;\nswitch (G__10930) {\ncase 1:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar G__13738 \x3d cljs.core.next(s);\ncoll \x3d G__13738;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nwhile(true){\nif(((cljs.core.seq(coll)) \x26\x26 ((n \x3e (0))))){\nvar G__13739 \x3d (n - (1));\nvar G__13740 \x3d cljs.core.next(coll);\nn \x3d G__13739;\ncoll \x3d G__13740;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. doall can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, retains the head and returns it, thus causing the entire\n * seq to reside in memory at one time.\n */\ncljs.core.doall \x3d (function cljs$core$doall(var_args){\nvar G__10932 \x3d arguments.length;\nswitch (G__10932) {\ncase 1:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if x is a JavaScript RegExp instance.\n */\ncljs.core.regexp_QMARK_ \x3d (function cljs$core$regexp_QMARK_(x){\nreturn (x instanceof RegExp);\n});\n/**\n * Returns the result of (re-find re s) if re fully matches s.\n */\ncljs.core.re_matches \x3d (function cljs$core$re_matches(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((((!((matches \x3d\x3d null)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((matches[(0)]),s)))){\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n} else {\nreturn null;\n}\n} else {\nthrow (new TypeError(\x22re-matches must match against a string.\x22));\n}\n});\n/**\n * Returns the first regex match, if any, of s to re, using\n * re.exec(s). Returns a vector, containing first the matching\n * substring, then any capturing groups if the regular expression contains\n * capturing groups.\n */\ncljs.core.re_find \x3d (function cljs$core$re_find(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((matches \x3d\x3d null)){\nreturn null;\n} else {\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n}\n} else {\nthrow (new TypeError(\x22re-find must match against a string.\x22));\n}\n});\ncljs.core.re_seq_STAR_ \x3d (function cljs$core$re_seq_STAR_(re,s){\nvar temp__5808__auto__ \x3d re.exec(s);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar matches \x3d temp__5808__auto__;\nvar match_str \x3d (matches[(0)]);\nvar match_vals \x3d (((matches.length \x3d\x3d\x3d (1)))?match_str:cljs.core.vec(matches));\nreturn cljs.core.cons(match_vals,(new cljs.core.LazySeq(null,(function (){\nvar post_idx \x3d (matches.index + (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d match_str.length;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nif((post_idx \x3c\x3d s.length)){\nvar G__10933 \x3d re;\nvar G__10934 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,post_idx);\nreturn (cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(G__10933,G__10934) : cljs.core.re_seq_STAR_.call(null,G__10933,G__10934));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n});\n/**\n * Returns a lazy sequence of successive matches of re in s.\n */\ncljs.core.re_seq \x3d (function cljs$core$re_seq(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.re_seq_STAR_(re,s);\n} else {\nthrow (new TypeError(\x22re-seq must match against a string.\x22));\n}\n});\n/**\n * Returns an instance of RegExp which has compiled the provided string.\n */\ncljs.core.re_pattern \x3d (function cljs$core$re_pattern(s){\nif((s instanceof RegExp)){\nreturn s;\n} else {\nvar vec__10935 \x3d cljs.core.re_find(/^\\(\\?([idmsux]*)\\)/,s);\nvar prefix \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10935,(0),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10935,(1),null);\nvar pattern \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(((prefix \x3d\x3d null))?(0):((prefix).length)));\nreturn (new RegExp(pattern,(function (){var or__5045__auto__ \x3d flags;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})()));\n}\n});\ncljs.core.pr_sequential_writer \x3d (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){\nvar _STAR_print_level_STAR__orig_val__10938 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__10939 \x3d (((cljs.core._STAR_print_level_STAR_ \x3d\x3d null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__10939);\n\ntry{if((((!((cljs.core._STAR_print_level_STAR_ \x3d\x3d null)))) \x26\x26 ((cljs.core._STAR_print_level_STAR_ \x3c (0))))){\nreturn cljs.core._write(writer,\x22#\x22);\n} else {\ncljs.core._write(writer,begin);\n\nif((new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n} else {\nif(cljs.core.seq(coll)){\nvar G__10940_13754 \x3d cljs.core.first(coll);\nvar G__10941_13755 \x3d writer;\nvar G__10942_13756 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__10940_13754,G__10941_13755,G__10942_13756) : print_one.call(null,G__10940_13754,G__10941_13755,G__10942_13756));\n} else {\n}\n\nvar coll_13757__$1 \x3d cljs.core.next(coll);\nvar n_13759 \x3d (new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) - (1));\nwhile(true){\nif(((coll_13757__$1) \x26\x26 ((((n_13759 \x3d\x3d null)) || ((!((n_13759 \x3d\x3d\x3d (0))))))))){\ncljs.core._write(writer,sep);\n\nvar G__10943_13761 \x3d cljs.core.first(coll_13757__$1);\nvar G__10944_13762 \x3d writer;\nvar G__10945_13763 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__10943_13761,G__10944_13762,G__10945_13763) : print_one.call(null,G__10943_13761,G__10944_13762,G__10945_13763));\n\nvar G__13764 \x3d cljs.core.next(coll_13757__$1);\nvar G__13765 \x3d (n_13759 - (1));\ncoll_13757__$1 \x3d G__13764;\nn_13759 \x3d G__13765;\ncontinue;\n} else {\nif(((cljs.core.seq(coll_13757__$1)) \x26\x26 ((n_13759 \x3d\x3d\x3d (0))))){\ncljs.core._write(writer,sep);\n\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n}\nbreak;\n}\n}\n\nreturn cljs.core._write(writer,end);\n}\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__10938);\n}});\ncljs.core.write_all \x3d (function cljs$core$write_all(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13766 \x3d arguments.length;\nvar i__5770__auto___13767 \x3d (0);\nwhile(true){\nif((i__5770__auto___13767 \x3c len__5769__auto___13766)){\nargs__5775__auto__.push((arguments[i__5770__auto___13767]));\n\nvar G__13768 \x3d (i__5770__auto___13767 + (1));\ni__5770__auto___13767 \x3d G__13768;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,ss){\nvar seq__10948 \x3d cljs.core.seq(ss);\nvar chunk__10949 \x3d null;\nvar count__10950 \x3d (0);\nvar i__10951 \x3d (0);\nwhile(true){\nif((i__10951 \x3c count__10950)){\nvar s \x3d chunk__10949.cljs$core$IIndexed$_nth$arity$2(null,i__10951);\ncljs.core._write(writer,s);\n\n\nvar G__13769 \x3d seq__10948;\nvar G__13770 \x3d chunk__10949;\nvar G__13771 \x3d count__10950;\nvar G__13772 \x3d (i__10951 + (1));\nseq__10948 \x3d G__13769;\nchunk__10949 \x3d G__13770;\ncount__10950 \x3d G__13771;\ni__10951 \x3d G__13772;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10948);\nif(temp__5804__auto__){\nvar seq__10948__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10948__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10948__$1);\nvar G__13774 \x3d cljs.core.chunk_rest(seq__10948__$1);\nvar G__13775 \x3d c__5568__auto__;\nvar G__13776 \x3d cljs.core.count(c__5568__auto__);\nvar G__13777 \x3d (0);\nseq__10948 \x3d G__13774;\nchunk__10949 \x3d G__13775;\ncount__10950 \x3d G__13776;\ni__10951 \x3d G__13777;\ncontinue;\n} else {\nvar s \x3d cljs.core.first(seq__10948__$1);\ncljs.core._write(writer,s);\n\n\nvar G__13778 \x3d cljs.core.next(seq__10948__$1);\nvar G__13779 \x3d null;\nvar G__13780 \x3d (0);\nvar G__13781 \x3d (0);\nseq__10948 \x3d G__13778;\nchunk__10949 \x3d G__13779;\ncount__10950 \x3d G__13780;\ni__10951 \x3d G__13781;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.write_all.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.write_all.cljs$lang$applyTo \x3d (function (seq10946){\nvar G__10947 \x3d cljs.core.first(seq10946);\nvar seq10946__$1 \x3d cljs.core.next(seq10946);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10947,seq10946__$1);\n}));\n\ncljs.core.string_print \x3d (function cljs$core$string_print(x){\nif((cljs.core._STAR_print_fn_STAR_ \x3d\x3d null)){\nthrow (new Error(\x22No *print-fn* fn set for evaluation environment\x22));\n} else {\n}\n\ncljs.core._STAR_print_fn_STAR_.call(null,x);\n\nreturn null;\n});\ncljs.core.flush \x3d (function cljs$core$flush(){\nreturn null;\n});\ncljs.core.char_escapes \x3d (function (){var obj10953 \x3d ({\x22\\\x22\x22:\x22\\\\\\\x22\x22,\x22\\\\\x22:\x22\\\\\\\\\x22,\x22\\b\x22:\x22\\\\b\x22,\x22\\f\x22:\x22\\\\f\x22,\x22\\n\x22:\x22\\\\n\x22,\x22\\r\x22:\x22\\\\r\x22,\x22\\t\x22:\x22\\\\t\x22});\nreturn obj10953;\n})();\ncljs.core.quote_string \x3d (function cljs$core$quote_string(s){\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp(\x22[\\\\\\\\\\\x22\\b\\f\\n\\r\\t]\x22,\x22g\x22),(function (match){\nreturn (cljs.core.char_escapes[match]);\n}))),\x22\\\x22\x22].join(\x27\x27);\n});\ncljs.core.print_meta_QMARK_ \x3d (function cljs$core$print_meta_QMARK_(opts,obj){\nvar and__5043__auto__ \x3d cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964)));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IMeta$))))?true:false):false);\nif(and__5043__auto____$1){\nreturn (!((cljs.core.meta(obj) \x3d\x3d null)));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.core.pr_writer_impl \x3d (function cljs$core$pr_writer_impl(obj,writer,opts){\nif((obj \x3d\x3d null)){\nreturn cljs.core._write(writer,\x22nil\x22);\n} else {\nif(cljs.core.print_meta_QMARK_(opts,obj)){\ncljs.core._write(writer,\x22^\x22);\n\nvar G__10955_13789 \x3d cljs.core.meta(obj);\nvar G__10956_13790 \x3d writer;\nvar G__10957_13791 \x3d opts;\n(cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(G__10955_13789,G__10956_13790,G__10957_13791) : cljs.core.pr_writer.call(null,G__10955_13789,G__10956_13790,G__10957_13791));\n\ncljs.core._write(writer,\x22 \x22);\n} else {\n}\n\nif(obj.cljs$lang$type){\nreturn obj.cljs$lang$ctorPrWriter(obj,writer,opts);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IPrintWithWriter$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj))){\nreturn cljs.core._pr_writer(obj,writer,opts);\n} else {\nif(((obj \x3d\x3d\x3d true) || (obj \x3d\x3d\x3d false))){\nreturn cljs.core._write(writer,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj));\n} else {\nif(typeof obj \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core._write(writer,((isNaN(obj))?\x22##NaN\x22:(((obj \x3d\x3d\x3d Number.POSITIVE_INFINITY))?\x22##Inf\x22:(((obj \x3d\x3d\x3d Number.NEGATIVE_INFINITY))?\x22##-Inf\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)\n))));\n} else {\nif(cljs.core.object_QMARK_(obj)){\ncljs.core._write(writer,\x22#js \x22);\n\nvar G__10959 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn (new cljs.core.MapEntry((function (){var G__10963 \x3d k;\nif((!((cljs.core.re_matches(/[A-Za-z_\\*\\+\\?!\\-\x27][\\w\\*\\+\\?!\\-\x27]*/,k) \x3d\x3d null)))){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__10963);\n} else {\nreturn G__10963;\n}\n})(),(obj[k]),null));\n}),cljs.core.js_keys(obj));\nvar G__10960 \x3d cljs.core.pr_writer;\nvar G__10961 \x3d writer;\nvar G__10962 \x3d opts;\nreturn (cljs.core.print_map.cljs$core$IFn$_invoke$arity$4 ? cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(G__10959,G__10960,G__10961,G__10962) : cljs.core.print_map.call(null,G__10959,G__10960,G__10961,G__10962));\n} else {\nif(cljs.core.array_QMARK_(obj)){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#js [\x22,\x22 \x22,\x22]\x22,opts,obj);\n} else {\nif(typeof obj \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$1(opts))){\nreturn cljs.core._write(writer,cljs.core.quote_string(obj));\n} else {\nreturn cljs.core._write(writer,obj);\n}\n} else {\nif(typeof obj \x3d\x3d\x3d \x27function\x27){\nvar name \x3d obj.name;\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Function\x22:name);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,(cljs.core.truth_(cljs.core._STAR_print_fn_bodies_STAR_)?[\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22\\\x22\x22].join(\x27\x27):\x22\x22),\x22]\x22], 0));\n} else {\nif((obj instanceof Date)){\nvar normalize \x3d (function (n,len){\nvar ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(n);\nwhile(true){\nif((((ns).length) \x3c len)){\nvar G__13798 \x3d [\x220\x22,ns].join(\x27\x27);\nns \x3d G__13798;\ncontinue;\n} else {\nreturn ns;\n}\nbreak;\n}\n});\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#inst \\\x22\x22,normalize(obj.getUTCFullYear(),(4)),\x22-\x22,normalize((obj.getUTCMonth() + (1)),(2)),\x22-\x22,normalize(obj.getUTCDate(),(2)),\x22T\x22,normalize(obj.getUTCHours(),(2)),\x22:\x22,normalize(obj.getUTCMinutes(),(2)),\x22:\x22,normalize(obj.getUTCSeconds(),(2)),\x22.\x22,normalize(obj.getUTCMilliseconds(),(3)),\x22-\x22,\x2200:00\\\x22\x22], 0));\n} else {\nif(cljs.core.regexp_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#\\\x22\x22,obj.source,\x22\\\x22\x22], 0));\n} else {\nif(cljs.core.js_symbol_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.toString(),\x22]\x22], 0));\n} else {\nif(cljs.core.truth_((function (){var G__10964 \x3d obj;\nvar G__10964__$1 \x3d (((G__10964 \x3d\x3d null))?null:G__10964.constructor);\nif((G__10964__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__10964__$1.cljs$lang$ctorStr;\n}\n})())){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.constructor.cljs$lang$ctorStr.replace((new RegExp(\x22/\x22,\x22g\x22)),\x22.\x22),\x22]\x22], 0));\n} else {\nvar name \x3d (function (){var G__10965 \x3d obj;\nvar G__10965__$1 \x3d (((G__10965 \x3d\x3d null))?null:G__10965.constructor);\nif((G__10965__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__10965__$1.name;\n}\n})();\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Object\x22:name);\nif((obj.constructor \x3d\x3d null)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22]\x22], 0));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22]\x22], 0));\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n}\n});\n/**\n * Prefer this to pr-seq, because it makes the printing function\n * configurable, allowing efficient implementations such as appending\n * to a StringBuffer.\n */\ncljs.core.pr_writer \x3d (function cljs$core$pr_writer(obj,writer,opts){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alt_impl \x3d temp__5802__auto__;\nvar G__10966 \x3d obj;\nvar G__10967 \x3d writer;\nvar G__10968 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995),cljs.core.pr_writer_impl);\nreturn (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__10966,G__10967,G__10968) : alt_impl.call(null,G__10966,G__10967,G__10968));\n} else {\nreturn cljs.core.pr_writer_impl(obj,writer,opts);\n}\n});\ncljs.core.pr_seq_writer \x3d (function cljs$core$pr_seq_writer(objs,writer,opts){\ncljs.core.pr_writer(cljs.core.first(objs),writer,opts);\n\nvar seq__10969 \x3d cljs.core.seq(cljs.core.next(objs));\nvar chunk__10970 \x3d null;\nvar count__10971 \x3d (0);\nvar i__10972 \x3d (0);\nwhile(true){\nif((i__10972 \x3c count__10971)){\nvar obj \x3d chunk__10970.cljs$core$IIndexed$_nth$arity$2(null,i__10972);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__13810 \x3d seq__10969;\nvar G__13811 \x3d chunk__10970;\nvar G__13812 \x3d count__10971;\nvar G__13813 \x3d (i__10972 + (1));\nseq__10969 \x3d G__13810;\nchunk__10970 \x3d G__13811;\ncount__10971 \x3d G__13812;\ni__10972 \x3d G__13813;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__10969);\nif(temp__5804__auto__){\nvar seq__10969__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__10969__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__10969__$1);\nvar G__13814 \x3d cljs.core.chunk_rest(seq__10969__$1);\nvar G__13815 \x3d c__5568__auto__;\nvar G__13816 \x3d cljs.core.count(c__5568__auto__);\nvar G__13817 \x3d (0);\nseq__10969 \x3d G__13814;\nchunk__10970 \x3d G__13815;\ncount__10971 \x3d G__13816;\ni__10972 \x3d G__13817;\ncontinue;\n} else {\nvar obj \x3d cljs.core.first(seq__10969__$1);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__13818 \x3d cljs.core.next(seq__10969__$1);\nvar G__13819 \x3d null;\nvar G__13820 \x3d (0);\nvar G__13821 \x3d (0);\nseq__10969 \x3d G__13818;\nchunk__10970 \x3d G__13819;\ncount__10971 \x3d G__13820;\ni__10972 \x3d G__13821;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.core.pr_sb_with_opts \x3d (function cljs$core$pr_sb_with_opts(objs,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ncljs.core.pr_seq_writer(objs,writer,opts);\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn sb;\n});\n/**\n * Prints a sequence of objects to a string, observing all the\n * options given in opts\n */\ncljs.core.pr_str_with_opts \x3d (function cljs$core$pr_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\x22;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts));\n}\n});\n/**\n * Same as pr-str-with-opts followed by (newline)\n */\ncljs.core.prn_str_with_opts \x3d (function cljs$core$prn_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\\n\x22;\n} else {\nvar sb \x3d cljs.core.pr_sb_with_opts(objs,opts);\nsb.append(\x22\\n\x22);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n}\n});\n/**\n * Prints a sequence of objects using string-print, observing all\n * the options given in opts\n */\ncljs.core.pr_with_opts \x3d (function cljs$core$pr_with_opts(objs,opts){\nreturn cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));\n});\n/**\n * Prints a newline using *print-fn*\n */\ncljs.core.newline \x3d (function cljs$core$newline(var_args){\nvar G__10974 \x3d arguments.length;\nswitch (G__10974) {\ncase 0:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$1 \x3d (function (opts){\ncljs.core.string_print(\x22\\n\x22);\n\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939)))){\nreturn cljs.core.flush();\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.newline.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.\n */\ncljs.core.pr_str \x3d (function cljs$core$pr_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13831 \x3d arguments.length;\nvar i__5770__auto___13832 \x3d (0);\nwhile(true){\nif((i__5770__auto___13832 \x3c len__5769__auto___13831)){\nargs__5775__auto__.push((arguments[i__5770__auto___13832]));\n\nvar G__13833 \x3d (i__5770__auto___13832 + (1));\ni__5770__auto___13832 \x3d G__13833;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr_str.cljs$lang$applyTo \x3d (function (seq10975){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10975));\n}));\n\n/**\n * Same as pr-str followed by (newline)\n */\ncljs.core.prn_str \x3d (function cljs$core$prn_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13835 \x3d arguments.length;\nvar i__5770__auto___13836 \x3d (0);\nwhile(true){\nif((i__5770__auto___13836 \x3c len__5769__auto___13835)){\nargs__5775__auto__.push((arguments[i__5770__auto___13836]));\n\nvar G__13837 \x3d (i__5770__auto___13836 + (1));\ni__5770__auto___13836 \x3d G__13837;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn_str.cljs$lang$applyTo \x3d (function (seq10976){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10976));\n}));\n\n/**\n * Prints the object(s) using string-print. Prints the\n * object(s), separated by spaces if there is more than one.\n * By default, pr and prn print in a way that objects can be\n * read by the reader\n */\ncljs.core.pr \x3d (function cljs$core$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13838 \x3d arguments.length;\nvar i__5770__auto___13839 \x3d (0);\nwhile(true){\nif((i__5770__auto___13839 \x3c len__5769__auto___13838)){\nargs__5775__auto__.push((arguments[i__5770__auto___13839]));\n\nvar G__13840 \x3d (i__5770__auto___13839 + (1));\ni__5770__auto___13839 \x3d G__13840;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr.cljs$lang$applyTo \x3d (function (seq10977){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10977));\n}));\n\n/**\n * Prints the object(s) using string-print.\n * print and println produce output for human consumption.\n * @param {...*} var_args\n */\ncljs.core.print \x3d (function() { \nvar cljs$core$cljs_core_print__delegate \x3d function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n};\nvar cljs$core$cljs_core_print \x3d function (var_args){\nvar objs \x3d null;\nif (arguments.length \x3e 0) {\nvar G__13841__i \x3d 0, G__13841__a \x3d new Array(arguments.length - 0);\nwhile (G__13841__i \x3c G__13841__a.length) {G__13841__a[G__13841__i] \x3d arguments[G__13841__i + 0]; ++G__13841__i;}\n objs \x3d new cljs.core.IndexedSeq(G__13841__a,0,null);\n} \nreturn cljs$core$cljs_core_print__delegate.call(this,objs);};\ncljs$core$cljs_core_print.cljs$lang$maxFixedArity \x3d 0;\ncljs$core$cljs_core_print.cljs$lang$applyTo \x3d (function (arglist__13842){\nvar objs \x3d cljs.core.seq(arglist__13842);\nreturn cljs$core$cljs_core_print__delegate(objs);\n});\ncljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$cljs_core_print__delegate;\nreturn cljs$core$cljs_core_print;\n})()\n;\n/**\n * print to a string, returning it\n */\ncljs.core.print_str \x3d (function cljs$core$print_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13843 \x3d arguments.length;\nvar i__5770__auto___13846 \x3d (0);\nwhile(true){\nif((i__5770__auto___13846 \x3c len__5769__auto___13843)){\nargs__5775__auto__.push((arguments[i__5770__auto___13846]));\n\nvar G__13855 \x3d (i__5770__auto___13846 + (1));\ni__5770__auto___13846 \x3d G__13855;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.print_str.cljs$lang$applyTo \x3d (function (seq10978){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10978));\n}));\n\n/**\n * Same as print followed by (newline)\n */\ncljs.core.println \x3d (function cljs$core$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13856 \x3d arguments.length;\nvar i__5770__auto___13857 \x3d (0);\nwhile(true){\nif((i__5770__auto___13857 \x3c len__5769__auto___13856)){\nargs__5775__auto__.push((arguments[i__5770__auto___13857]));\n\nvar G__13858 \x3d (i__5770__auto___13857 + (1));\ni__5770__auto___13857 \x3d G__13858;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println.cljs$lang$applyTo \x3d (function (seq10979){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10979));\n}));\n\n/**\n * println to a string, returning it\n */\ncljs.core.println_str \x3d (function cljs$core$println_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13867 \x3d arguments.length;\nvar i__5770__auto___13868 \x3d (0);\nwhile(true){\nif((i__5770__auto___13868 \x3c len__5769__auto___13867)){\nargs__5775__auto__.push((arguments[i__5770__auto___13868]));\n\nvar G__13869 \x3d (i__5770__auto___13868 + (1));\ni__5770__auto___13868 \x3d G__13869;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.println_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println_str.cljs$lang$applyTo \x3d (function (seq10980){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10980));\n}));\n\n/**\n * Same as pr followed by (newline).\n */\ncljs.core.prn \x3d (function cljs$core$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13871 \x3d arguments.length;\nvar i__5770__auto___13872 \x3d (0);\nwhile(true){\nif((i__5770__auto___13872 \x3c len__5769__auto___13871)){\nargs__5775__auto__.push((arguments[i__5770__auto___13872]));\n\nvar G__13879 \x3d (i__5770__auto___13872 + (1));\ni__5770__auto___13872 \x3d G__13879;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn.cljs$lang$applyTo \x3d (function (seq10981){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10981));\n}));\n\ncljs.core.strip_ns \x3d (function cljs$core$strip_ns(named){\nif((named instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n}\n});\n/**\n * Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\n */\ncljs.core.lift_ns \x3d (function cljs$core$lift_ns(m){\nif(cljs.core.truth_(cljs.core._STAR_print_namespace_maps_STAR_)){\nvar ns \x3d null;\nvar G__10988 \x3d cljs.core.seq(m);\nvar vec__10989 \x3d G__10988;\nvar seq__10990 \x3d cljs.core.seq(vec__10989);\nvar first__10991 \x3d cljs.core.first(seq__10990);\nvar seq__10990__$1 \x3d cljs.core.next(seq__10990);\nvar vec__10992 \x3d first__10991;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10992,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__10992,(1),null);\nvar entry \x3d vec__10992;\nvar entries \x3d seq__10990__$1;\nvar lm \x3d cljs.core.empty(m);\nvar ns__$1 \x3d ns;\nvar G__10988__$1 \x3d G__10988;\nvar lm__$1 \x3d lm;\nwhile(true){\nvar ns__$2 \x3d ns__$1;\nvar vec__11001 \x3d G__10988__$1;\nvar seq__11002 \x3d cljs.core.seq(vec__11001);\nvar first__11003 \x3d cljs.core.first(seq__11002);\nvar seq__11002__$1 \x3d cljs.core.next(seq__11002);\nvar vec__11004 \x3d first__11003;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11004,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11004,(1),null);\nvar entry__$1 \x3d vec__11004;\nvar entries__$1 \x3d seq__11002__$1;\nvar lm__$2 \x3d lm__$1;\nif(cljs.core.truth_(entry__$1)){\nif((((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol)))){\nif(cljs.core.truth_(ns__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){\nvar G__13881 \x3d ns__$2;\nvar G__13882 \x3d entries__$1;\nvar G__13883 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__13881;\nG__10988__$1 \x3d G__13882;\nlm__$1 \x3d G__13883;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.namespace(k__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar new_ns \x3d temp__5804__auto__;\nvar G__13884 \x3d new_ns;\nvar G__13885 \x3d entries__$1;\nvar G__13886 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__13884;\nG__10988__$1 \x3d G__13885;\nlm__$1 \x3d G__13886;\ncontinue;\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\ncljs.core.print_prefix_map \x3d (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){\nreturn cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){\nvar G__11007_13888 \x3d cljs.core.key(e);\nvar G__11008_13889 \x3d w;\nvar G__11009_13890 \x3d opts__$1;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11007_13888,G__11008_13889,G__11009_13890) : print_one.call(null,G__11007_13888,G__11008_13889,G__11009_13890));\n\ncljs.core._write(w,\x22 \x22);\n\nvar G__11010 \x3d cljs.core.val(e);\nvar G__11011 \x3d w;\nvar G__11012 \x3d opts__$1;\nreturn (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11010,G__11011,G__11012) : print_one.call(null,G__11010,G__11011,G__11012));\n}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22{\x22].join(\x27\x27),\x22, \x22,\x22}\x22,opts,cljs.core.seq(m));\n});\ncljs.core.print_map \x3d (function cljs$core$print_map(m,print_one,writer,opts){\nvar vec__11013 \x3d ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11013,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11013,(1),null);\nif(cljs.core.truth_(ns)){\nreturn cljs.core.print_prefix_map([\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(\x27\x27),lift_map,print_one,writer,opts);\n} else {\nreturn cljs.core.print_prefix_map(null,m,print_one,writer,opts);\n}\n});\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Volatile \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core.pr_writer(a__$1.sym,writer,opts);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Atom \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core._write(writer,\x22()\x22);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#queue [\x22,\x22 \x22,\x22]\x22,opts,cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n(cljs.core.Symbol.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Symbol)){\nreturn cljs.core.compare_symbols(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Keyword)){\nreturn cljs.core.compare_keywords(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n * (apply f its-current-meta args)\n * \n * f must be free of side-effects\n */\ncljs.core.alter_meta_BANG_ \x3d (function cljs$core$alter_meta_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13918 \x3d arguments.length;\nvar i__5770__auto___13919 \x3d (0);\nwhile(true){\nif((i__5770__auto___13919 \x3c len__5769__auto___13918)){\nargs__5775__auto__.push((arguments[i__5770__auto___13919]));\n\nvar G__13920 \x3d (i__5770__auto___13919 + (1));\ni__5770__auto___13919 \x3d G__13920;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nreturn (iref.meta \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args));\n}));\n\n(cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq11016){\nvar G__11017 \x3d cljs.core.first(seq11016);\nvar seq11016__$1 \x3d cljs.core.next(seq11016);\nvar G__11018 \x3d cljs.core.first(seq11016__$1);\nvar seq11016__$2 \x3d cljs.core.next(seq11016__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11017,G__11018,seq11016__$2);\n}));\n\n/**\n * Atomically resets the metadata for an atom\n */\ncljs.core.reset_meta_BANG_ \x3d (function cljs$core$reset_meta_BANG_(iref,m){\nreturn (iref.meta \x3d m);\n});\n/**\n * Adds a watch function to an atom reference. The watch fn must be a\n * fn of 4 args: a key, the reference, its old-state, its\n * new-state. Whenever the reference\x27s state might have been changed,\n * any registered watches will have their functions called. The watch\n * fn will be called synchronously. Note that an atom\x27s state\n * may have changed again prior to the fn call, so use old/new-state\n * rather than derefing the reference. Keys must be unique per\n * reference, and can be used to remove the watch with remove-watch,\n * but are otherwise considered opaque by the watch mechanism. Bear in\n * mind that regardless of the result or action of the watch fns the\n * atom\x27s value will change. Example:\n * \n * (def a (atom 0))\n * (add-watch a :inc (fn [k r o n] (assert (\x3d\x3d 0 n))))\n * (swap! a inc)\n * ;; Assertion Error\n * (deref a)\n * ;\x3d\x3e 1\n */\ncljs.core.add_watch \x3d (function cljs$core$add_watch(iref,key,f){\ncljs.core._add_watch(iref,key,f);\n\nreturn iref;\n});\n/**\n * Removes a watch (set by add-watch) from a reference\n */\ncljs.core.remove_watch \x3d (function cljs$core$remove_watch(iref,key){\ncljs.core._remove_watch(iref,key);\n\nreturn iref;\n});\n/**\n * @type {*}\n */\ncljs.core.gensym_counter \x3d null;\n/**\n * Returns a new symbol with a unique name. If a prefix string is\n * supplied, the name is prefix# where # is some unique number. If\n * prefix is not supplied, the prefix is \x27G__\x27.\n */\ncljs.core.gensym \x3d (function cljs$core$gensym(var_args){\nvar G__11020 \x3d arguments.length;\nswitch (G__11020) {\ncase 0:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22G__\x22);\n}));\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 \x3d (function (prefix_string){\nif((cljs.core.gensym_counter \x3d\x3d null)){\n(cljs.core.gensym_counter \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)));\n} else {\n}\n\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix_string),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(\x27\x27));\n}));\n\n(cljs.core.gensym.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Delay \x3d (function (f,value){\nthis.f \x3d f;\nthis.value \x3d value;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147516416;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.f)){\n(self__.value \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\n(self__.f \x3d null);\n} else {\n}\n\nreturn self__.value;\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (x){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\nreturn cljs.core.not(self__.f);\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (x,writer,opts){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Delay \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22status\x22,\x22status\x22,-1997798413),(((self__.f \x3d\x3d null))?new cljs.core.Keyword(null,\x22ready\x22,\x22ready\x22,1086465795):new cljs.core.Keyword(null,\x22pending\x22,\x22pending\x22,-220036727)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),self__.value], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Delay.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Delay.cljs$lang$type \x3d true);\n\n(cljs.core.Delay.cljs$lang$ctorStr \x3d \x22cljs.core/Delay\x22);\n\n(cljs.core.Delay.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Delay\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Delay.\n */\ncljs.core.__GT_Delay \x3d (function cljs$core$__GT_Delay(f,value){\nreturn (new cljs.core.Delay(f,value));\n});\n\n/**\n * returns true if x is a Delay created with delay\n */\ncljs.core.delay_QMARK_ \x3d (function cljs$core$delay_QMARK_(x){\nreturn (x instanceof cljs.core.Delay);\n});\n/**\n * If x is a Delay, returns the (possibly cached) value of its expression, else returns x\n */\ncljs.core.force \x3d (function cljs$core$force(x){\nif(cljs.core.delay_QMARK_(x)){\nreturn cljs.core.deref(x);\n} else {\nreturn x;\n}\n});\n/**\n * Returns true if a value has been produced for a delay or lazy sequence.\n */\ncljs.core.realized_QMARK_ \x3d (function cljs$core$realized_QMARK_(x){\nreturn cljs.core._realized_QMARK_(x);\n});\ncljs.core.preserving_reduced \x3d (function cljs$core$preserving_reduced(rf){\nreturn (function (p1__11021_SHARP_,p2__11022_SHARP_){\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__11021_SHARP_,p2__11022_SHARP_) : rf.call(null,p1__11021_SHARP_,p2__11022_SHARP_));\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.reduced(ret);\n} else {\nreturn ret;\n}\n});\n});\n/**\n * A transducer which concatenates the contents of each input, which must be a\n * collection, into the reduction.\n */\ncljs.core.cat \x3d (function cljs$core$cat(rf){\nvar rf1 \x3d cljs.core.preserving_reduced(rf);\nreturn (function() {\nvar G__13932 \x3d null;\nvar G__13932__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13932__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13932__2 \x3d (function (result,input){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);\n});\nG__13932 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13932__0.call(this);\ncase 1:\nreturn G__13932__1.call(this,result);\ncase 2:\nreturn G__13932__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13932.cljs$core$IFn$_invoke$arity$0 \x3d G__13932__0;\nG__13932.cljs$core$IFn$_invoke$arity$1 \x3d G__13932__1;\nG__13932.cljs$core$IFn$_invoke$arity$2 \x3d G__13932__2;\nreturn G__13932;\n})()\n});\n/**\n * Returns a transducer that ends transduction when pred returns true\n * for an input. When retf is supplied it must be a fn of 2 arguments -\n * it will be passed the (completed) result so far and the input that\n * triggered the predicate, and its return value (if it does not throw\n * an exception) will be the return value of the transducer. If retf\n * is not supplied, the input that triggered the predicate will be\n * returned. If the predicate never returns true the transduction is\n * unaffected.\n */\ncljs.core.halt_when \x3d (function cljs$core$halt_when(var_args){\nvar G__11024 \x3d arguments.length;\nswitch (G__11024) {\ncase 1:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);\n}));\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,retf){\nreturn (function (rf){\nreturn (function() {\nvar G__13938 \x3d null;\nvar G__13938__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13938__1 \x3d (function (result){\nif(((cljs.core.map_QMARK_(result)) \x26\x26 (cljs.core.contains_QMARK_(result,new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715))))){\nreturn new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715).cljs$core$IFn$_invoke$arity$1(result);\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n}\n});\nvar G__13938__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715),(cljs.core.truth_(retf)?(function (){var G__11025 \x3d (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\nvar G__11026 \x3d input;\nreturn (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__11025,G__11026) : retf.call(null,G__11025,G__11026));\n})():input)], null));\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__13938 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13938__0.call(this);\ncase 1:\nreturn G__13938__1.call(this,result);\ncase 2:\nreturn G__13938__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13938.cljs$core$IFn$_invoke$arity$0 \x3d G__13938__0;\nG__13938.cljs$core$IFn$_invoke$arity$1 \x3d G__13938__1;\nG__13938.cljs$core$IFn$_invoke$arity$2 \x3d G__13938__2;\nreturn G__13938;\n})()\n});\n}));\n\n(cljs.core.halt_when.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence removing consecutive duplicates in coll.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.dedupe \x3d (function cljs$core$dedupe(var_args){\nvar G__11028 \x3d arguments.length;\nswitch (G__11028) {\ncase 0:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__13941 \x3d null;\nvar G__13941__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__13941__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__13941__2 \x3d (function (result,input){\nvar prior \x3d cljs.core.deref(pa);\ncljs.core.vreset_BANG_(pa,input);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__13941 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__13941__0.call(this);\ncase 1:\nreturn G__13941__1.call(this,result);\ncase 2:\nreturn G__13941__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13941.cljs$core$IFn$_invoke$arity$0 \x3d G__13941__0;\nG__13941.cljs$core$IFn$_invoke$arity$1 \x3d G__13941__1;\nG__13941.cljs$core$IFn$_invoke$arity$2 \x3d G__13941__2;\nreturn G__13941;\n})()\n});\n}));\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);\n}));\n\n(cljs.core.dedupe.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns items from coll with random probability of prob (0.0 -\n * 1.0). Returns a transducer when no collection is provided.\n */\ncljs.core.random_sample \x3d (function cljs$core$random_sample(var_args){\nvar G__11030 \x3d arguments.length;\nswitch (G__11030) {\ncase 1:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 \x3d (function (prob){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}));\n}));\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 \x3d (function (prob,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}),coll);\n}));\n\n(cljs.core.random_sample.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Eduction \x3d (function (xform,coll){\nthis.xform \x3d xform;\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2173173760;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\n});\n(cljs.core.Eduction.prototype.indexOf \x3d (function() {\nvar G__13947 \x3d null;\nvar G__13947__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));\n});\nvar G__13947__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__13947 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13947__1.call(this,x);\ncase 2:\nreturn G__13947__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13947.cljs$core$IFn$_invoke$arity$1 \x3d G__13947__1;\nG__13947.cljs$core$IFn$_invoke$arity$2 \x3d G__13947__2;\nreturn G__13947;\n})()\n);\n\n(cljs.core.Eduction.prototype.lastIndexOf \x3d (function() {\nvar G__13948 \x3d null;\nvar G__13948__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));\n});\nvar G__13948__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__13948 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13948__1.call(this,x);\ncase 2:\nreturn G__13948__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13948.cljs$core$IFn$_invoke$arity$1 \x3d G__13948__1;\nG__13948.cljs$core$IFn$_invoke$arity$2 \x3d G__13948__2;\nreturn G__13948;\n})()\n);\n\n(cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,f,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll__$1,writer,opts){\nvar self__ \x3d this;\nvar coll__$2 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$2);\n}));\n\n(cljs.core.Eduction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22xform\x22,\x22xform\x22,-85179481,null),new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(cljs.core.Eduction.cljs$lang$type \x3d true);\n\n(cljs.core.Eduction.cljs$lang$ctorStr \x3d \x22cljs.core/Eduction\x22);\n\n(cljs.core.Eduction.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Eduction\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Eduction.\n */\ncljs.core.__GT_Eduction \x3d (function cljs$core$__GT_Eduction(xform,coll){\nreturn (new cljs.core.Eduction(xform,coll));\n});\n\n(cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a reducible/iterable application of the transducers\n * to the items in coll. Transducers are applied in order as if\n * combined with comp. Note that these applications will be\n * performed every time reduce/iterator is called.\n */\ncljs.core.eduction \x3d (function cljs$core$eduction(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13949 \x3d arguments.length;\nvar i__5770__auto___13950 \x3d (0);\nwhile(true){\nif((i__5770__auto___13950 \x3c len__5769__auto___13949)){\nargs__5775__auto__.push((arguments[i__5770__auto___13950]));\n\nvar G__13951 \x3d (i__5770__auto___13950 + (1));\ni__5770__auto___13950 \x3d G__13951;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xforms){\nreturn (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));\n}));\n\n(cljs.core.eduction.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.eduction.cljs$lang$applyTo \x3d (function (seq11031){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11031));\n}));\n\n/**\n * Runs the supplied procedure (via reduce), for purposes of side\n * effects, on successive items in the collection. Returns nil\n */\ncljs.core.run_BANG_ \x3d (function cljs$core$run_BANG_(proc,coll){\ncljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11033_SHARP_,p2__11032_SHARP_){\nreturn (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__11032_SHARP_) : proc.call(null,p2__11032_SHARP_));\n}),null,coll);\n\nreturn null;\n});\n/**\n * Creates a seqable/reducible via repeated calls to step,\n * a function of some (continuation token) \x27k\x27. The first call to step\n * will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\n * (vf ret) will be included in the iteration, else iteration will\n * terminate and vf/kf will not be called. If (kf ret) is non-nil it\n * will be passed to the next step call, else iteration will terminate.\n * This can be used e.g. to consume APIs that return paginated or batched data.\n * step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\n * :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\n * :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\n * :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\n * :initk - the first value passed to step, default \x27nil\x27\n * It is presumed that step with non-initk is unreproducible/non-idempotent.\n * If step with initk is unreproducible it is on the consumer to not consume twice.\n */\ncljs.core.iteration \x3d (function cljs$core$iteration(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13952 \x3d arguments.length;\nvar i__5770__auto___13953 \x3d (0);\nwhile(true){\nif((i__5770__auto___13953 \x3c len__5769__auto___13952)){\nargs__5775__auto__.push((arguments[i__5770__auto___13953]));\n\nvar G__13954 \x3d (i__5770__auto___13953 + (1));\ni__5770__auto___13953 \x3d G__13954;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic \x3d (function (step,p__11036){\nvar map__11037 \x3d p__11036;\nvar map__11037__$1 \x3d cljs.core.__destructure_map(map__11037);\nvar somef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__11037__$1,new cljs.core.Keyword(null,\x22somef\x22,\x22somef\x22,-622590365),cljs.core.some_QMARK_);\nvar vf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__11037__$1,new cljs.core.Keyword(null,\x22vf\x22,\x22vf\x22,-321423269),cljs.core.identity);\nvar kf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__11037__$1,new cljs.core.Keyword(null,\x22kf\x22,\x22kf\x22,1608087589),cljs.core.identity);\nvar initk \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__11037__$1,new cljs.core.Keyword(null,\x22initk\x22,\x22initk\x22,-1693342987),null);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.t_cljs$core11038 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.t_cljs$core11038 \x3d (function (step,p__11036,map__11037,somef,vf,kf,initk,meta11039){\nthis.step \x3d step;\nthis.p__11036 \x3d p__11036;\nthis.map__11037 \x3d map__11037;\nthis.somef \x3d somef;\nthis.vf \x3d vf;\nthis.kf \x3d kf;\nthis.initk \x3d initk;\nthis.meta11039 \x3d meta11039;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 9306112;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core11038.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_11040,meta11039__$1){\nvar self__ \x3d this;\nvar _11040__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core11038(self__.step,self__.p__11036,self__.map__11037,self__.somef,self__.vf,self__.kf,self__.initk,meta11039__$1));\n}));\n\n(cljs.core.t_cljs$core11038.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_11040){\nvar self__ \x3d this;\nvar _11040__$1 \x3d this;\nreturn self__.meta11039;\n}));\n\n(cljs.core.t_cljs$core11038.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (function cljs$core$next(ret){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nreturn cljs.core.cons((self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret)),(function (){var temp__5808__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar k \x3d temp__5808__auto__;\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$next((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k)));\n}),null,null));\n}\n})());\n} else {\nreturn null;\n}\n})((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk)));\n}));\n\n(cljs.core.t_cljs$core11038.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,rf,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar acc \x3d init;\nvar ret \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk));\nwhile(true){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nvar acc__$1 \x3d (function (){var G__11041 \x3d acc;\nvar G__11042 \x3d (self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__11041,G__11042) : rf.call(null,G__11041,G__11042));\n})();\nif(cljs.core.reduced_QMARK_(acc__$1)){\nreturn cljs.core.deref(acc__$1);\n} else {\nvar temp__5806__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn acc__$1;\n} else {\nvar k \x3d temp__5806__auto__;\nvar G__13955 \x3d acc__$1;\nvar G__13956 \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k));\nacc \x3d G__13955;\nret \x3d G__13956;\ncontinue;\n}\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.t_cljs$core11038.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22p__11036\x22,\x22p__11036\x22,-1272035722,null),new cljs.core.Symbol(null,\x22map__11037\x22,\x22map__11037\x22,-1257666486,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),new cljs.core.Symbol(null,\x22meta11039\x22,\x22meta11039\x22,1423100476,null)], null);\n}));\n\n(cljs.core.t_cljs$core11038.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core11038.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core11038\x22);\n\n(cljs.core.t_cljs$core11038.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core11038\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core11038.\n */\ncljs.core.__GT_t_cljs$core11038 \x3d (function cljs$core$__GT_t_cljs$core11038(step__$1,p__11036__$1,map__11037__$2,somef__$1,vf__$1,kf__$1,initk__$1,meta11039){\nreturn (new cljs.core.t_cljs$core11038(step__$1,p__11036__$1,map__11037__$2,somef__$1,vf__$1,kf__$1,initk__$1,meta11039));\n});\n\n}\n\nreturn (new cljs.core.t_cljs$core11038(step,p__11036,map__11037__$1,somef,vf,kf,initk,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.iteration.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.iteration.cljs$lang$applyTo \x3d (function (seq11034){\nvar G__11035 \x3d cljs.core.first(seq11034);\nvar seq11034__$1 \x3d cljs.core.next(seq11034);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11035,seq11034__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeJS \x3d function(){};\n\nvar cljs$core$IEncodeJS$_clj__GT_js$dyn_13957 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._clj__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clj__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-clj-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Recursively transforms clj values to JavaScript\n */\ncljs.core._clj__GT_js \x3d (function cljs$core$_clj__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_clj__GT_js$dyn_13957(x);\n}\n});\n\nvar cljs$core$IEncodeJS$_key__GT_js$dyn_13958 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._key__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-key-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Transforms map keys to valid JavaScript keys. Arbitrary keys are\n * encoded to their string representation via (pr-str x)\n */\ncljs.core._key__GT_js \x3d (function cljs$core$_key__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_key__GT_js$dyn_13958(x);\n}\n});\n\ncljs.core.key__GT_js \x3d (function cljs$core$key__GT_js(var_args){\nvar G__11044 \x3d arguments.length;\nswitch (G__11044) {\ncase 1:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,cljs.core.clj__GT_js);\n}));\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,primitive_fn){\nif((((!((k \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d k.cljs$core$IEncodeJS$))))?true:(((!k.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k))){\nreturn cljs.core._clj__GT_js(k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (((typeof k \x3d\x3d\x3d \x27number\x27) || ((((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol)))))))){\nreturn (primitive_fn.cljs$core$IFn$_invoke$arity$1 ? primitive_fn.cljs$core$IFn$_invoke$arity$1(k) : primitive_fn.call(null,k));\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));\n\n}\n}\n}));\n\n(cljs.core.key__GT_js.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Recursively transforms ClojureScript values to JavaScript.\n * sets/vectors/lists become Arrays, Keywords and Symbol become Strings,\n * Maps become Objects. Arbitrary keys are encoded to by `key-\x3ejs`.\n * Options is a key-value pair, where the only valid key is\n * :keyword-fn, which should point to a single-argument function to be\n * called on keyword keys. Default to `name`.\n */\ncljs.core.clj__GT_js \x3d (function cljs$core$clj__GT_js(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13960 \x3d arguments.length;\nvar i__5770__auto___13961 \x3d (0);\nwhile(true){\nif((i__5770__auto___13961 \x3c len__5769__auto___13960)){\nargs__5775__auto__.push((arguments[i__5770__auto___13961]));\n\nvar G__13962 \x3d (i__5770__auto___13961 + (1));\ni__5770__auto___13961 \x3d G__13962;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__11048){\nvar map__11049 \x3d p__11048;\nvar map__11049__$1 \x3d cljs.core.__destructure_map(map__11049);\nvar options \x3d map__11049__$1;\nvar keyword_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__11049__$1,new cljs.core.Keyword(null,\x22keyword-fn\x22,\x22keyword-fn\x22,-64566675),cljs.core.name);\nvar keyfn \x3d (function cljs$core$keyfn(k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,thisfn);\n});\nvar thisfn \x3d (function cljs$core$thisfn(x__$1){\nif((x__$1 \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeJS$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1))){\nreturn cljs.core._clj__GT_js(x__$1);\n} else {\nif((x__$1 instanceof cljs.core.Keyword)){\nreturn (keyword_fn.cljs$core$IFn$_invoke$arity$1 ? keyword_fn.cljs$core$IFn$_invoke$arity$1(x__$1) : keyword_fn.call(null,x__$1));\n} else {\nif((x__$1 instanceof cljs.core.Symbol)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1);\n} else {\nif(cljs.core.map_QMARK_(x__$1)){\nvar m \x3d ({});\nvar seq__11076_13963 \x3d cljs.core.seq(x__$1);\nvar chunk__11077_13964 \x3d null;\nvar count__11078_13965 \x3d (0);\nvar i__11079_13966 \x3d (0);\nwhile(true){\nif((i__11079_13966 \x3c count__11078_13965)){\nvar vec__11086_13967 \x3d chunk__11077_13964.cljs$core$IIndexed$_nth$arity$2(null,i__11079_13966);\nvar k_13968 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11086_13967,(0),null);\nvar v_13969 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11086_13967,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_13968),cljs$core$thisfn(v_13969));\n\n\nvar G__13970 \x3d seq__11076_13963;\nvar G__13971 \x3d chunk__11077_13964;\nvar G__13972 \x3d count__11078_13965;\nvar G__13973 \x3d (i__11079_13966 + (1));\nseq__11076_13963 \x3d G__13970;\nchunk__11077_13964 \x3d G__13971;\ncount__11078_13965 \x3d G__13972;\ni__11079_13966 \x3d G__13973;\ncontinue;\n} else {\nvar temp__5804__auto___13974 \x3d cljs.core.seq(seq__11076_13963);\nif(temp__5804__auto___13974){\nvar seq__11076_13975__$1 \x3d temp__5804__auto___13974;\nif(cljs.core.chunked_seq_QMARK_(seq__11076_13975__$1)){\nvar c__5568__auto___13976 \x3d cljs.core.chunk_first(seq__11076_13975__$1);\nvar G__13977 \x3d cljs.core.chunk_rest(seq__11076_13975__$1);\nvar G__13978 \x3d c__5568__auto___13976;\nvar G__13979 \x3d cljs.core.count(c__5568__auto___13976);\nvar G__13980 \x3d (0);\nseq__11076_13963 \x3d G__13977;\nchunk__11077_13964 \x3d G__13978;\ncount__11078_13965 \x3d G__13979;\ni__11079_13966 \x3d G__13980;\ncontinue;\n} else {\nvar vec__11089_13981 \x3d cljs.core.first(seq__11076_13975__$1);\nvar k_13982 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11089_13981,(0),null);\nvar v_13983 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11089_13981,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_13982),cljs$core$thisfn(v_13983));\n\n\nvar G__13985 \x3d cljs.core.next(seq__11076_13975__$1);\nvar G__13986 \x3d null;\nvar G__13987 \x3d (0);\nvar G__13988 \x3d (0);\nseq__11076_13963 \x3d G__13985;\nchunk__11077_13964 \x3d G__13986;\ncount__11078_13965 \x3d G__13987;\ni__11079_13966 \x3d G__13988;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn m;\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nvar arr \x3d [];\nvar seq__11092_13989 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\nvar chunk__11093_13990 \x3d null;\nvar count__11094_13991 \x3d (0);\nvar i__11095_13992 \x3d (0);\nwhile(true){\nif((i__11095_13992 \x3c count__11094_13991)){\nvar x_13993__$2 \x3d chunk__11093_13990.cljs$core$IIndexed$_nth$arity$2(null,i__11095_13992);\narr.push(x_13993__$2);\n\n\nvar G__14002 \x3d seq__11092_13989;\nvar G__14003 \x3d chunk__11093_13990;\nvar G__14004 \x3d count__11094_13991;\nvar G__14005 \x3d (i__11095_13992 + (1));\nseq__11092_13989 \x3d G__14002;\nchunk__11093_13990 \x3d G__14003;\ncount__11094_13991 \x3d G__14004;\ni__11095_13992 \x3d G__14005;\ncontinue;\n} else {\nvar temp__5804__auto___14006 \x3d cljs.core.seq(seq__11092_13989);\nif(temp__5804__auto___14006){\nvar seq__11092_14007__$1 \x3d temp__5804__auto___14006;\nif(cljs.core.chunked_seq_QMARK_(seq__11092_14007__$1)){\nvar c__5568__auto___14008 \x3d cljs.core.chunk_first(seq__11092_14007__$1);\nvar G__14009 \x3d cljs.core.chunk_rest(seq__11092_14007__$1);\nvar G__14010 \x3d c__5568__auto___14008;\nvar G__14011 \x3d cljs.core.count(c__5568__auto___14008);\nvar G__14012 \x3d (0);\nseq__11092_13989 \x3d G__14009;\nchunk__11093_13990 \x3d G__14010;\ncount__11094_13991 \x3d G__14011;\ni__11095_13992 \x3d G__14012;\ncontinue;\n} else {\nvar x_14013__$2 \x3d cljs.core.first(seq__11092_14007__$1);\narr.push(x_14013__$2);\n\n\nvar G__14014 \x3d cljs.core.next(seq__11092_14007__$1);\nvar G__14015 \x3d null;\nvar G__14016 \x3d (0);\nvar G__14017 \x3d (0);\nseq__11092_13989 \x3d G__14014;\nchunk__11093_13990 \x3d G__14015;\ncount__11094_13991 \x3d G__14016;\ni__11095_13992 \x3d G__14017;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn thisfn(x);\n}));\n\n(cljs.core.clj__GT_js.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.clj__GT_js.cljs$lang$applyTo \x3d (function (seq11046){\nvar G__11047 \x3d cljs.core.first(seq11046);\nvar seq11046__$1 \x3d cljs.core.next(seq11046);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11047,seq11046__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeClojure \x3d function(){};\n\nvar cljs$core$IEncodeClojure$_js__GT_clj$dyn_14018 \x3d (function (x,options){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._js__GT_clj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5394__auto__.call(null,x,options));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._js__GT_clj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5392__auto__.call(null,x,options));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeClojure.-js-\x3eclj\x22,x);\n}\n}\n});\n/**\n * Transforms JavaScript values to Clojure\n */\ncljs.core._js__GT_clj \x3d (function cljs$core$_js__GT_clj(x,options){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);\n} else {\nreturn cljs$core$IEncodeClojure$_js__GT_clj$dyn_14018(x,options);\n}\n});\n\n/**\n * Recursively transforms JavaScript arrays into ClojureScript\n * vectors, and JavaScript objects into ClojureScript maps. With\n * option \x27:keywordize-keys true\x27 will convert object fields from\n * strings to keywords.\n */\ncljs.core.js__GT_clj \x3d (function cljs$core$js__GT_clj(var_args){\nvar G__11101 \x3d arguments.length;\nswitch (G__11101) {\ncase 1:\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14020 \x3d arguments.length;\nvar i__5770__auto___14021 \x3d (0);\nwhile(true){\nif((i__5770__auto___14021 \x3c len__5769__auto___14020)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14021]));\n\nvar G__14022 \x3d (i__5770__auto___14021 + (1));\ni__5770__auto___14021 \x3d G__14022;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252),false], 0));\n}));\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,opts){\nvar map__11102 \x3d opts;\nvar map__11102__$1 \x3d cljs.core.__destructure_map(map__11102);\nvar keywordize_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11102__$1,new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252));\nvar keyfn \x3d (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);\nvar f \x3d (function cljs$core$thisfn(x__$1){\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeClojure$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1))){\nreturn cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));\n} else {\nif(cljs.core.seq_QMARK_(x__$1)){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\n} else {\nif(cljs.core.map_entry_QMARK_(x__$1)){\nreturn (new cljs.core.MapEntry(cljs$core$thisfn(cljs.core.key(x__$1)),cljs$core$thisfn(cljs.core.val(x__$1)),null));\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$1(cljs$core$thisfn),x__$1);\n} else {\nif(cljs.core.array_QMARK_(x__$1)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11096_SHARP_,p2__11097_SHARP_){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(p1__11096_SHARP_,cljs$core$thisfn(p2__11097_SHARP_));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),x__$1));\n} else {\nif((cljs.core.type(x__$1) \x3d\x3d\x3d Object)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,k){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(r,(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn(cljs.core.goog$module$goog$object.get(x__$1,k)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(x__$1)));\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn f(x);\n}));\n\n/** @this {Function} */\n(cljs.core.js__GT_clj.cljs$lang$applyTo \x3d (function (seq11099){\nvar G__11100 \x3d cljs.core.first(seq11099);\nvar seq11099__$1 \x3d cljs.core.next(seq11099);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11100,seq11099__$1);\n}));\n\n(cljs.core.js__GT_clj.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a memoized version of a referentially transparent function. The\n * memoized version of the function keeps a cache of the mapping from arguments\n * to results and, when calls with the same arguments are repeated often, has\n * higher performance at the expense of higher memory use.\n */\ncljs.core.memoize \x3d (function cljs$core$memoize(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function() { \nvar G__14025__delegate \x3d function (args){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);\nif((v \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);\n\nreturn ret;\n} else {\nreturn v;\n}\n};\nvar G__14025 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__14026__i \x3d 0, G__14026__a \x3d new Array(arguments.length - 0);\nwhile (G__14026__i \x3c G__14026__a.length) {G__14026__a[G__14026__i] \x3d arguments[G__14026__i + 0]; ++G__14026__i;}\n args \x3d new cljs.core.IndexedSeq(G__14026__a,0,null);\n} \nreturn G__14025__delegate.call(this,args);};\nG__14025.cljs$lang$maxFixedArity \x3d 0;\nG__14025.cljs$lang$applyTo \x3d (function (arglist__14027){\nvar args \x3d cljs.core.seq(arglist__14027);\nreturn G__14025__delegate(args);\n});\nG__14025.cljs$core$IFn$_invoke$arity$variadic \x3d G__14025__delegate;\nreturn G__14025;\n})()\n;\n});\n/**\n * trampoline can be used to convert algorithms requiring mutual\n * recursion without stack consumption. Calls f with supplied args, if\n * any. If f returns a fn, calls that fn with no arguments, and\n * continues to repeat, until the return value is not a fn, then\n * returns that non-fn value. Note that if you want to return a fn as a\n * final value, you must wrap it in some data structure and unpack it\n * after trampoline returns.\n */\ncljs.core.trampoline \x3d (function cljs$core$trampoline(var_args){\nvar G__11107 \x3d arguments.length;\nswitch (G__11107) {\ncase 1:\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14029 \x3d arguments.length;\nvar i__5770__auto___14030 \x3d (0);\nwhile(true){\nif((i__5770__auto___14030 \x3c len__5769__auto___14029)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14030]));\n\nvar G__14031 \x3d (i__5770__auto___14030 + (1));\ni__5770__auto___14030 \x3d G__14031;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nwhile(true){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif(cljs.core.fn_QMARK_(ret)){\nvar G__14032 \x3d ret;\nf \x3d G__14032;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}));\n}));\n\n/** @this {Function} */\n(cljs.core.trampoline.cljs$lang$applyTo \x3d (function (seq11105){\nvar G__11106 \x3d cljs.core.first(seq11105);\nvar seq11105__$1 \x3d cljs.core.next(seq11105);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11106,seq11105__$1);\n}));\n\n(cljs.core.trampoline.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a random floating point number between 0 (inclusive) and\n * n (default 1) (exclusive).\n */\ncljs.core.rand \x3d (function cljs$core$rand(var_args){\nvar G__11109 \x3d arguments.length;\nswitch (G__11109) {\ncase 0:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\n}));\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (Math.random() * n);\n}));\n\n(cljs.core.rand.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns a random integer between 0 (inclusive) and n (exclusive).\n */\ncljs.core.rand_int \x3d (function cljs$core$rand_int(n){\nreturn Math.floor((Math.random() * n));\n});\n/**\n * Return a random element of the (sequential) collection. Will have\n * the same performance characteristics as nth for the given\n * collection.\n */\ncljs.core.rand_nth \x3d (function cljs$core$rand_nth(coll){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));\n});\n/**\n * Returns a map of the elements of coll keyed by the result of\n * f on each element. The value at each key will be a vector of the\n * corresponding elements, in the order they appeared in coll.\n */\ncljs.core.group_by \x3d (function cljs$core$group_by(f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar k \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.PersistentVector.EMPTY),x));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Creates a hierarchy object for use with derive, isa? etc.\n */\ncljs.core.make_hierarchy \x3d (function cljs$core$make_hierarchy(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),cljs.core.PersistentArrayMap.EMPTY], null);\n});\n/**\n * @type {*}\n */\ncljs.core._global_hierarchy \x3d null;\ncljs.core.get_global_hierarchy \x3d (function cljs$core$get_global_hierarchy(){\nif((cljs.core._global_hierarchy \x3d\x3d null)){\n(cljs.core._global_hierarchy \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));\n} else {\n}\n\nreturn cljs.core._global_hierarchy;\n});\ncljs.core.swap_global_hierarchy_BANG_ \x3d (function cljs$core$swap_global_hierarchy_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14036 \x3d arguments.length;\nvar i__5770__auto___14037 \x3d (0);\nwhile(true){\nif((i__5770__auto___14037 \x3c len__5769__auto___14036)){\nargs__5775__auto__.push((arguments[i__5770__auto___14037]));\n\nvar G__14038 \x3d (i__5770__auto___14037 + (1));\ni__5770__auto___14037 \x3d G__14038;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);\n}));\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo \x3d (function (seq11110){\nvar G__11111 \x3d cljs.core.first(seq11110);\nvar seq11110__$1 \x3d cljs.core.next(seq11110);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11111,seq11110__$1);\n}));\n\n/**\n * Returns true if (\x3d child parent), or child is directly or indirectly derived from\n * parent, either via a JavaScript type inheritance relationship or a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy\n */\ncljs.core.isa_QMARK_ \x3d (function cljs$core$isa_QMARK_(var_args){\nvar G__11113 \x3d arguments.length;\nswitch (G__11113) {\ncase 2:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);\n}));\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.contains_QMARK_((function (){var fexpr__11114 \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nreturn (fexpr__11114.cljs$core$IFn$_invoke$arity$1 ? fexpr__11114.cljs$core$IFn$_invoke$arity$1(child) : fexpr__11114.call(null,child));\n})(),parent);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d cljs.core.vector_QMARK_(parent);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.vector_QMARK_(child);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d (cljs.core.count(parent) \x3d\x3d\x3d cljs.core.count(child));\nif(and__5043__auto____$2){\nvar ret \x3d true;\nvar i \x3d (0);\nwhile(true){\nif((((!(ret))) || ((i \x3d\x3d\x3d cljs.core.count(parent))))){\nreturn ret;\n} else {\nvar G__14042 \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,(child.cljs$core$IFn$_invoke$arity$1 ? child.cljs$core$IFn$_invoke$arity$1(i) : child.call(null,i)),(parent.cljs$core$IFn$_invoke$arity$1 ? parent.cljs$core$IFn$_invoke$arity$1(i) : parent.call(null,i)));\nvar G__14043 \x3d (i + (1));\nret \x3d G__14042;\ni \x3d G__14043;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n}));\n\n(cljs.core.isa_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the immediate parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.parents \x3d (function cljs$core$parents(var_args){\nvar G__11116 \x3d arguments.length;\nswitch (G__11116) {\ncase 1:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.parents.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.ancestors \x3d (function cljs$core$ancestors(var_args){\nvar G__11118 \x3d arguments.length;\nswitch (G__11118) {\ncase 1:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.ancestors.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect children of tag, through a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy. Note: does not work on JavaScript type inheritance\n * relationships.\n */\ncljs.core.descendants \x3d (function cljs$core$descendants(var_args){\nvar G__11120 \x3d arguments.length;\nswitch (G__11120) {\ncase 1:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.descendants.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Establishes a parent/child relationship between parent and\n * tag. Parent must be a namespace-qualified symbol or keyword and\n * child can be either a namespace-qualified symbol or keyword or a\n * class. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.derive \x3d (function cljs$core$derive(var_args){\nvar G__11122 \x3d arguments.length;\nswitch (G__11122) {\ncase 2:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nif(cljs.core.truth_(cljs.core.namespace(parent))){\n} else {\nthrow (new Error(\x22Assert failed: (namespace parent)\x22));\n}\n\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){\n} else {\nthrow (new Error(\x22Assert failed: (not\x3d tag parent)\x22));\n}\n\nvar tp \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar td \x3d new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h);\nvar ta \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nvar tf \x3d (function (m,source,sources,target,targets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(targets,k,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(target,(targets.cljs$core$IFn$_invoke$arity$1 ? targets.cljs$core$IFn$_invoke$arity$1(target) : targets.call(null,target)))));\n}),m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));\n});\nvar or__5045__auto__ \x3d ((cljs.core.contains_QMARK_((tp.cljs$core$IFn$_invoke$arity$1 ? tp.cljs$core$IFn$_invoke$arity$1(tag) : tp.call(null,tag)),parent))?null:(function (){\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22already has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){\nthrow (new Error([\x22Cyclic derivation:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(tp,tag,cljs.core.PersistentHashSet.EMPTY),parent)),new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),tf(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),tf(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);\n})()\n);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.derive.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Removes a parent/child relationship between parent and\n * tag. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.underive \x3d (function cljs$core$underive(var_args){\nvar G__11127 \x3d arguments.length;\nswitch (G__11127) {\ncase 2:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar parentMap \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar childsParents \x3d (cljs.core.truth_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent):cljs.core.PersistentHashSet.EMPTY);\nvar newParents \x3d (cljs.core.truth_(cljs.core.not_empty(childsParents))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(parentMap,tag,childsParents):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(parentMap,tag));\nvar deriv_seq \x3d cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11123_SHARP_){\nreturn cljs.core.cons(cljs.core.first(p1__11123_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__11123_SHARP_),cljs.core.second(p1__11123_SHARP_)));\n}),cljs.core.seq(newParents)));\nif(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11124_SHARP_,p2__11125_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__11124_SHARP_,p2__11125_SHARP_);\n}),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.underive.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.reset_cache \x3d (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){\nreturn cljs.core.deref(method_table);\n}));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){\nreturn cljs.core.deref(hierarchy);\n}));\n});\ncljs.core.prefers_STAR_ \x3d (function cljs$core$prefers_STAR_(x,y,prefer_table){\nvar xprefs \x3d (function (){var fexpr__11128 \x3d cljs.core.deref(prefer_table);\nreturn (fexpr__11128.cljs$core$IFn$_invoke$arity$1 ? fexpr__11128.cljs$core$IFn$_invoke$arity$1(x) : fexpr__11128.call(null,x));\n})();\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d xprefs;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})())?true:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__11129 \x3d x;\nvar G__11130 \x3d cljs.core.first(ps);\nvar G__11131 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__11129,G__11130,G__11131) : cljs.core.prefers_STAR_.call(null,G__11129,G__11130,G__11131));\n})())){\n} else {\n}\n\nvar G__14071 \x3d cljs.core.rest(ps);\nps \x3d G__14071;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__11132 \x3d cljs.core.first(ps);\nvar G__11133 \x3d y;\nvar G__11134 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__11132,G__11133,G__11134) : cljs.core.prefers_STAR_.call(null,G__11132,G__11133,G__11134));\n})())){\n} else {\n}\n\nvar G__14072 \x3d cljs.core.rest(ps);\nps \x3d G__14072;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn false;\n}\n}\n}\n});\ncljs.core.dominates \x3d (function cljs$core$dominates(x,y,prefer_table,hierarchy){\nvar or__5045__auto__ \x3d cljs.core.prefers_STAR_(x,y,prefer_table);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);\n}\n});\ncljs.core.find_and_cache_best_method \x3d (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){\nvar best_entry \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__11135){\nvar vec__11136 \x3d p__11135;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11136,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11136,(1),null);\nvar e \x3d vec__11136;\nif(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){\nvar be2 \x3d (((((be \x3d\x3d null)) || (cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy)))))?e:be);\nif(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy))){\n} else {\nthrow (new Error([\x22Multiple methods in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 match dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val),\x22 -\x3e \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),\x22 and \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),\x22, and neither is preferred\x22].join(\x27\x27)));\n}\n\nreturn be2;\n} else {\nreturn be;\n}\n}),null,cljs.core.deref(method_table));\nvar best_entry__$1 \x3d (function (){var temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d (best_entry \x3d\x3d null);\nif(and__5043__auto__){\nvar fexpr__11139 \x3d cljs.core.deref(method_table);\nreturn (fexpr__11139.cljs$core$IFn$_invoke$arity$1 ? fexpr__11139.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__11139.call(null,default_dispatch_val));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);\n} else {\nreturn best_entry;\n}\n})();\nif(cljs.core.truth_(best_entry__$1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));\n\nreturn cljs.core.second(best_entry__$1);\n} else {\ncljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);\n\nreturn (cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8 ? cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val) : cljs.core.find_and_cache_best_method.call(null,name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val));\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * @interface\n */\ncljs.core.IMultiFn \x3d function(){};\n\nvar cljs$core$IMultiFn$_reset$dyn_14073 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._reset[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-reset\x22,mf);\n}\n}\n});\ncljs.core._reset \x3d (function cljs$core$_reset(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_reset$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_reset$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_reset$dyn_14073(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_add_method$dyn_14078 \x3d (function (mf,dispatch_val,method){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._add_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5394__auto__.call(null,mf,dispatch_val,method));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5392__auto__.call(null,mf,dispatch_val,method));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-add-method\x22,mf);\n}\n}\n});\ncljs.core._add_method \x3d (function cljs$core$_add_method(mf,dispatch_val,method){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_add_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);\n} else {\nreturn cljs$core$IMultiFn$_add_method$dyn_14078(mf,dispatch_val,method);\n}\n});\n\nvar cljs$core$IMultiFn$_remove_method$dyn_14085 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._remove_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-remove-method\x22,mf);\n}\n}\n});\ncljs.core._remove_method \x3d (function cljs$core$_remove_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_remove_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_remove_method$dyn_14085(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_prefer_method$dyn_14086 \x3d (function (mf,dispatch_val,dispatch_val_y){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefer_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5394__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefer_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5392__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefer-method\x22,mf);\n}\n}\n});\ncljs.core._prefer_method \x3d (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);\n} else {\nreturn cljs$core$IMultiFn$_prefer_method$dyn_14086(mf,dispatch_val,dispatch_val_y);\n}\n});\n\nvar cljs$core$IMultiFn$_get_method$dyn_14087 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._get_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._get_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-get-method\x22,mf);\n}\n}\n});\ncljs.core._get_method \x3d (function cljs$core$_get_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_get_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_get_method$dyn_14087(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_methods$dyn_14088 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._methods[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._methods[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-methods\x22,mf);\n}\n}\n});\ncljs.core._methods \x3d (function cljs$core$_methods(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_methods$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_methods$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_methods$dyn_14088(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_prefers$dyn_14089 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefers[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefers[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefers\x22,mf);\n}\n}\n});\ncljs.core._prefers \x3d (function cljs$core$_prefers(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefers$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefers$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_prefers$dyn_14089(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_default_dispatch_val$dyn_14090 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._default_dispatch_val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._default_dispatch_val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-default-dispatch-val\x22,mf);\n}\n}\n});\ncljs.core._default_dispatch_val \x3d (function cljs$core$_default_dispatch_val(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_default_dispatch_val$dyn_14090(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_dispatch_fn$dyn_14091 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._dispatch_fn[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dispatch_fn[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-dispatch-fn\x22,mf);\n}\n}\n});\ncljs.core._dispatch_fn \x3d (function cljs$core$_dispatch_fn(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_dispatch_fn$dyn_14091(mf);\n}\n});\n\ncljs.core.throw_no_method_error \x3d (function cljs$core$throw_no_method_error(name,dispatch_val){\nthrow (new Error([\x22No method in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMultiFn}\n * @implements {cljs.core.INamed}\n*/\ncljs.core.MultiFn \x3d (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nthis.name \x3d name;\nthis.dispatch_fn \x3d dispatch_fn;\nthis.default_dispatch_val \x3d default_dispatch_val;\nthis.hierarchy \x3d hierarchy;\nthis.method_table \x3d method_table;\nthis.prefer_table \x3d prefer_table;\nthis.method_cache \x3d method_cache;\nthis.cached_hierarchy \x3d cached_hierarchy;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 4194305;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4352;\n});\n(cljs.core.MultiFn.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11141 \x3d (arguments.length - (1));\nswitch (G__11141) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MultiFn.prototype.apply \x3d (function (self__,args11140){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11140)));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d (function (mf,dispatch_val_x,dispatch_val_y){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_y,dispatch_val_x,self__.prefer_table))){\nthrow (new Error([\x22Preference conflict in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),\x22\x27: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y),\x22 is already preferred to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join(\x27\x27)));\n} else {\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (old){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.PersistentHashSet.EMPTY),dispatch_val_y));\n}));\n\nreturn cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.default_dispatch_val;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.method_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.prefer_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.dispatch_fn;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 \x3d (function (mf,dispatch_val,method){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,(function (mf__$2){\nreturn null;\n}));\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){\n} else {\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}\n\nvar temp__5802__auto__ \x3d (function (){var fexpr__11142 \x3d cljs.core.deref(self__.method_cache);\nreturn (fexpr__11142.cljs$core$IFn$_invoke$arity$1 ? fexpr__11142.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__11142.call(null,dispatch_val));\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar target_fn \x3d temp__5802__auto__;\nreturn target_fn;\n} else {\nreturn cljs.core.find_and_cache_best_method(self__.name,dispatch_val,self__.hierarchy,self__.method_table,self__.prefer_table,self__.method_cache,self__.cached_hierarchy,self__.default_dispatch_val);\n}\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._name(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._namespace(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.MultiFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22default-dispatch-val\x22,\x22default-dispatch-val\x22,-1231201266,null),new cljs.core.Symbol(null,\x22hierarchy\x22,\x22hierarchy\x22,587061186,null),new cljs.core.Symbol(null,\x22method-table\x22,\x22method-table\x22,-1878263165,null),new cljs.core.Symbol(null,\x22prefer-table\x22,\x22prefer-table\x22,462168584,null),new cljs.core.Symbol(null,\x22method-cache\x22,\x22method-cache\x22,1230193905,null),new cljs.core.Symbol(null,\x22cached-hierarchy\x22,\x22cached-hierarchy\x22,-1085460203,null)], null);\n}));\n\n(cljs.core.MultiFn.cljs$lang$type \x3d true);\n\n(cljs.core.MultiFn.cljs$lang$ctorStr \x3d \x22cljs.core/MultiFn\x22);\n\n(cljs.core.MultiFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiFn.\n */\ncljs.core.__GT_MultiFn \x3d (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\n\n/**\n * Removes all of the methods of multimethod.\n */\ncljs.core.remove_all_methods \x3d (function cljs$core$remove_all_methods(multifn){\nreturn cljs.core._reset(multifn);\n});\n/**\n * Removes the method of multimethod associated with dispatch-value.\n */\ncljs.core.remove_method \x3d (function cljs$core$remove_method(multifn,dispatch_val){\nreturn cljs.core._remove_method(multifn,dispatch_val);\n});\n/**\n * Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y\n * when there is a conflict\n */\ncljs.core.prefer_method \x3d (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){\nreturn cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);\n});\n/**\n * Given a multimethod, returns a map of dispatch values -\x3e dispatch fns\n */\ncljs.core.methods$ \x3d (function cljs$core$methods(multifn){\nreturn cljs.core._methods(multifn);\n});\n/**\n * Given a multimethod and a dispatch value, returns the dispatch fn\n * that would apply to that value, or nil if none apply and no default\n */\ncljs.core.get_method \x3d (function cljs$core$get_method(multifn,dispatch_val){\nreturn cljs.core._get_method(multifn,dispatch_val);\n});\n/**\n * Given a multimethod, returns a map of preferred value -\x3e set of other values\n */\ncljs.core.prefers \x3d (function cljs$core$prefers(multifn){\nreturn cljs.core._prefers(multifn);\n});\n/**\n * Given a multimethod, return its default-dispatch-val.\n */\ncljs.core.default_dispatch_val \x3d (function cljs$core$default_dispatch_val(multifn){\nreturn cljs.core._default_dispatch_val(multifn);\n});\n/**\n * Given a multimethod, return its dispatch-fn.\n */\ncljs.core.dispatch_fn \x3d (function cljs$core$dispatch_fn(multifn){\nreturn cljs.core._dispatch_fn(multifn);\n});\n\n/**\n * A marker protocol for UUIDs\n * @interface\n */\ncljs.core.IUUID \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IComparable}\n * @implements {cljs.core.IUUID}\n*/\ncljs.core.UUID \x3d (function (uuid,__hash){\nthis.uuid \x3d uuid;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775104;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2048;\n});\n(cljs.core.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.uuid;\n}));\n\n(cljs.core.UUID.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar and__5043__auto__ \x3d (((!((other \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d other.cljs$core$IUUID$))))?true:false):false);\nif(and__5043__auto__){\nreturn (self__.uuid \x3d\x3d\x3d other.uuid);\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (_,writer,___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),\x22\\\x22\x22].join(\x27\x27));\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.__hash \x3d\x3d null)){\n(self__.__hash \x3d cljs.core.hash(self__.uuid));\n} else {\n}\n\nreturn self__.__hash;\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(self__.uuid,other.uuid);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.UUID.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.UUID.cljs$lang$type \x3d true);\n\n(cljs.core.UUID.cljs$lang$ctorStr \x3d \x22cljs.core/UUID\x22);\n\n(cljs.core.UUID.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/UUID\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/UUID.\n */\ncljs.core.__GT_UUID \x3d (function cljs$core$__GT_UUID(uuid,__hash){\nreturn (new cljs.core.UUID(uuid,__hash));\n});\n\n/**\n * Returns a UUID consistent with the string s.\n */\ncljs.core.uuid \x3d (function cljs$core$uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? s)\x22));\n}\n\nreturn (new cljs.core.UUID(s.toLowerCase(),null));\n});\n/**\n * Returns a pseudo-randomly generated UUID instance (i.e. type 4).\n */\ncljs.core.random_uuid \x3d (function cljs$core$random_uuid(){\nvar hex \x3d (function cljs$core$random_uuid_$_hex(){\nreturn cljs.core.rand_int((16)).toString((16));\n});\nvar rhex \x3d ((8) | ((3) \x26 cljs.core.rand_int((16)))).toString((16));\nreturn cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,\x224\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(rhex),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex())].join(\x27\x27));\n});\n/**\n * Return true if x is a UUID.\n */\ncljs.core.uuid_QMARK_ \x3d (function cljs$core$uuid_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IUUID$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\ncljs.core.pr_writer_ex_info \x3d (function cljs$core$pr_writer_ex_info(obj,writer,opts){\ncljs.core._write(writer,\x22#error {:message \x22);\n\ncljs.core.pr_writer(obj.message,writer,opts);\n\nif(cljs.core.truth_(obj.data)){\ncljs.core._write(writer,\x22, :data \x22);\n\ncljs.core.pr_writer(obj.data,writer,opts);\n} else {\n}\n\nif(cljs.core.truth_(obj.cause)){\ncljs.core._write(writer,\x22, :cause \x22);\n\ncljs.core.pr_writer(obj.cause,writer,opts);\n} else {\n}\n\nreturn cljs.core._write(writer,\x22}\x22);\n});\n/**\n * @constructor\n */\ncljs.core.ExceptionInfo \x3d (function cljs$core$ExceptionInfo(message,data,cause){\nvar e \x3d (new Error(message));\nvar this$ \x3d this;\n(this$.message \x3d message);\n\n(this$.data \x3d data);\n\n(this$.cause \x3d cause);\n\n(this$.name \x3d e.name);\n\n(this$.description \x3d e.description);\n\n(this$.number \x3d e.number);\n\n(this$.fileName \x3d e.fileName);\n\n(this$.lineNumber \x3d e.lineNumber);\n\n(this$.columnNumber \x3d e.columnNumber);\n\n(this$.stack \x3d e.stack);\n\nreturn this$;\n});\n(cljs.core.ExceptionInfo.prototype.__proto__ \x3d Error.prototype);\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (obj,writer,opts){\nvar obj__$1 \x3d this;\nreturn cljs.core.pr_writer_ex_info(obj__$1,writer,opts);\n}));\n(cljs.core.ExceptionInfo.prototype.toString \x3d (function (){\nvar this$ \x3d this;\nreturn cljs.core.pr_str_STAR_(this$);\n}));\n/**\n * Create an instance of ExceptionInfo, an Error type that carries a\n * map of additional data.\n */\ncljs.core.ex_info \x3d (function cljs$core$ex_info(var_args){\nvar G__11146 \x3d arguments.length;\nswitch (G__11146) {\ncase 2:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,data){\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);\n}));\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,data,cause){\nreturn (new cljs.core.ExceptionInfo(msg,data,cause));\n}));\n\n(cljs.core.ex_info.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns exception data (a map) if ex is an ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_data \x3d (function cljs$core$ex_data(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.data;\n} else {\nreturn null;\n}\n});\n/**\n * Returns the message attached to the given Error / ExceptionInfo object.\n * For non-Errors returns nil.\n */\ncljs.core.ex_message \x3d (function cljs$core$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n/**\n * Returns exception cause (an Error / ExceptionInfo) if ex is an\n * ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_cause \x3d (function cljs$core$ex_cause(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n/**\n * Returns an JavaScript compatible comparator based upon pred.\n */\ncljs.core.comparator \x3d (function cljs$core$comparator(pred){\nreturn (function (x,y){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){\nreturn (-1);\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\n});\n/**\n * Returns true if x names a special form\n */\ncljs.core.special_symbol_QMARK_ \x3d (function cljs$core$special_symbol_QMARK_(x){\nreturn cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 24, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),\x22null\x22,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22defrecord*\x22,\x22defrecord*\x22,-1936366207,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns*\x22,\x22ns*\x22,1840949383,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22letfn*\x22,\x22letfn*\x22,-110097810,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22deftype*\x22,\x22deftype*\x22,962659890,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22js*\x22,\x22js*\x22,-1134233646,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null),x);\n});\n/**\n * test [v] finds fn at key :test in var metadata and calls it,\n * presuming failure will throw exception\n */\ncljs.core.test \x3d (function cljs$core$test(v){\nvar f \x3d v.cljs$lang$test;\nif(cljs.core.truth_(f)){\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nreturn new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236);\n} else {\nreturn new cljs.core.Keyword(null,\x22no-test\x22,\x22no-test\x22,-1679482642);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TaggedLiteral \x3d (function (tag,form){\nthis.tag \x3d tag;\nthis.form \x3d form;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775360;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.TaggedLiteral.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof cljs.core.TaggedLiteral)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form)))));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,v,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar G__11147 \x3d v;\nvar G__11147__$1 \x3d (((G__11147 instanceof cljs.core.Keyword))?G__11147.fqn:null);\nswitch (G__11147__$1) {\ncase \x22tag\x22:\nreturn self__.tag;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn not_found;\n\n}\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,opts){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\ncljs.core._write(writer,[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag),\x22 \x22].join(\x27\x27));\n\nreturn cljs.core.pr_writer(self__.form,writer,opts);\n}));\n\n(cljs.core.TaggedLiteral.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.core.TaggedLiteral.cljs$lang$type \x3d true);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorStr \x3d \x22cljs.core/TaggedLiteral\x22);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TaggedLiteral\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TaggedLiteral.\n */\ncljs.core.__GT_TaggedLiteral \x3d (function cljs$core$__GT_TaggedLiteral(tag,form){\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n\n/**\n * Return true if the value is the data representation of a tagged literal\n */\ncljs.core.tagged_literal_QMARK_ \x3d (function cljs$core$tagged_literal_QMARK_(value){\nreturn (value instanceof cljs.core.TaggedLiteral);\n});\n/**\n * Construct a data representation of a tagged literal from a\n * tag symbol and a form.\n */\ncljs.core.tagged_literal \x3d (function cljs$core$tagged_literal(tag,form){\nif((tag instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? tag)\x22));\n}\n\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n/**\n * @type {*}\n */\ncljs.core.js_reserved_arr \x3d [\x22arguments\x22,\x22abstract\x22,\x22await\x22,\x22boolean\x22,\x22break\x22,\x22byte\x22,\x22case\x22,\x22catch\x22,\x22char\x22,\x22class\x22,\x22const\x22,\x22continue\x22,\x22debugger\x22,\x22default\x22,\x22delete\x22,\x22do\x22,\x22double\x22,\x22else\x22,\x22enum\x22,\x22export\x22,\x22extends\x22,\x22final\x22,\x22finally\x22,\x22float\x22,\x22for\x22,\x22function\x22,\x22goto\x22,\x22if\x22,\x22implements\x22,\x22import\x22,\x22in\x22,\x22instanceof\x22,\x22int\x22,\x22interface\x22,\x22let\x22,\x22long\x22,\x22native\x22,\x22new\x22,\x22package\x22,\x22private\x22,\x22protected\x22,\x22public\x22,\x22return\x22,\x22short\x22,\x22static\x22,\x22super\x22,\x22switch\x22,\x22synchronized\x22,\x22this\x22,\x22throw\x22,\x22throws\x22,\x22transient\x22,\x22try\x22,\x22typeof\x22,\x22var\x22,\x22void\x22,\x22volatile\x22,\x22while\x22,\x22with\x22,\x22yield\x22,\x22methods\x22,\x22null\x22,\x22constructor\x22];\n/**\n * @type {null|Object}\n */\ncljs.core.js_reserved \x3d null;\ncljs.core.js_reserved_QMARK_ \x3d (function cljs$core$js_reserved_QMARK_(x){\nif((cljs.core.js_reserved \x3d\x3d null)){\n(cljs.core.js_reserved \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11148_SHARP_,p2__11149_SHARP_){\ncljs.core.goog$module$goog$object.set(p1__11148_SHARP_,p2__11149_SHARP_,true);\n\nreturn p1__11148_SHARP_;\n}),({}),cljs.core.js_reserved_arr));\n} else {\n}\n\nreturn cljs.core.js_reserved.hasOwnProperty(x);\n});\ncljs.core.demunge_pattern \x3d (function cljs$core$demunge_pattern(){\nif(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){\n} else {\n(cljs.core.DEMUNGE_PATTERN \x3d (function (){var ks \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){\nreturn (b.length - a.length);\n}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));\nvar ks__$1 \x3d ks;\nvar ret \x3d \x22\x22;\nwhile(true){\nif(cljs.core.seq(ks__$1)){\nvar G__14156 \x3d cljs.core.next(ks__$1);\nvar G__14157 \x3d [(function (){var G__11153 \x3d ret;\nif((!((ret \x3d\x3d\x3d \x22\x22)))){\nreturn [G__11153,\x22|\x22].join(\x27\x27);\n} else {\nreturn G__11153;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join(\x27\x27);\nks__$1 \x3d G__14156;\nret \x3d G__14157;\ncontinue;\n} else {\nreturn [ret,\x22|\\\\$\x22].join(\x27\x27);\n}\nbreak;\n}\n})());\n}\n\nreturn cljs.core.DEMUNGE_PATTERN;\n});\ncljs.core.munge_str \x3d (function cljs$core$munge_str(name){\nvar sb \x3d (new goog.string.StringBuffer());\nvar i_14158 \x3d (0);\nwhile(true){\nif((i_14158 \x3c name.length)){\nvar c_14159 \x3d name.charAt(i_14158);\nvar sub_14160 \x3d cljs.core.goog$module$goog$object.get(cljs.core.CHAR_MAP,c_14159);\nif((!((sub_14160 \x3d\x3d null)))){\nsb.append(sub_14160);\n} else {\nsb.append(c_14159);\n}\n\nvar G__14161 \x3d (i_14158 + (1));\ni_14158 \x3d G__14161;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn sb.toString();\n});\ncljs.core.munge \x3d (function cljs$core$munge(name){\nvar name_SINGLEQUOTE_ \x3d cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(name));\nvar name_SINGLEQUOTE___$1 \x3d (((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22..\x22))?\x22_DOT__DOT_\x22:(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[name_SINGLEQUOTE_,\x22$\x22].join(\x27\x27):name_SINGLEQUOTE_\n));\nif((name instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);\n} else {\nreturn name_SINGLEQUOTE___$1;\n}\n});\ncljs.core.demunge_str \x3d (function cljs$core$demunge_str(munged_name){\nvar r \x3d (new RegExp(cljs.core.demunge_pattern(),\x22g\x22));\nvar munged_name__$1 \x3d (cljs.core.truth_(goog.string.endsWith(munged_name,\x22$\x22))?munged_name.substring((0),(munged_name.length - (1))):munged_name);\nvar ret \x3d \x22\x22;\nvar last_match_end \x3d (0);\nwhile(true){\nvar temp__5802__auto__ \x3d r.exec(munged_name__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar match \x3d temp__5802__auto__;\nvar vec__11157 \x3d match;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11157,(0),null);\nvar G__14162 \x3d [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,(r.lastIndex - x.length))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((x \x3d\x3d\x3d \x22$\x22))?\x22/\x22:cljs.core.goog$module$goog$object.get(cljs.core.DEMUNGE_MAP,x)))].join(\x27\x27);\nvar G__14163 \x3d r.lastIndex;\nret \x3d G__14162;\nlast_match_end \x3d G__14163;\ncontinue;\n} else {\nreturn [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join(\x27\x27);\n}\nbreak;\n}\n});\ncljs.core.demunge \x3d (function cljs$core$demunge(name){\nvar G__11161 \x3d (function (){var name_SINGLEQUOTE_ \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(name);\nif((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22_DOT__DOT_\x22)){\nreturn \x22..\x22;\n} else {\nreturn cljs.core.demunge_str(name_SINGLEQUOTE_);\n}\n})();\nvar fexpr__11160 \x3d (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);\nreturn (fexpr__11160.cljs$core$IFn$_invoke$arity$1 ? fexpr__11160.cljs$core$IFn$_invoke$arity$1(G__11161) : fexpr__11160.call(null,G__11161));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.tapset !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core.tapset \x3d null;\n}\ncljs.core.maybe_init_tapset \x3d (function cljs$core$maybe_init_tapset(){\nif((cljs.core.tapset \x3d\x3d null)){\nreturn (cljs.core.tapset \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY));\n} else {\nreturn null;\n}\n});\n/**\n * Adds f, a fn of one argument, to the tap set. This function will be called with\n * anything sent via tap\x3e. Remember f in order to remove-tap\n */\ncljs.core.add_tap \x3d (function cljs$core$add_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,f);\n\nreturn null;\n});\n/**\n * Remove f from the tap set.\n */\ncljs.core.remove_tap \x3d (function cljs$core$remove_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,f);\n\nreturn null;\n});\n/**\n * Sends x to any taps. Returns the result of *exec-tap-fn*, a Boolean value.\n */\ncljs.core.tap_GT_ \x3d (function cljs$core$tap_GT_(x){\ncljs.core.maybe_init_tapset();\n\nreturn cljs.core._STAR_exec_tap_fn_STAR_.call(null,(function (){\nvar seq__11162 \x3d cljs.core.seq(cljs.core.deref(cljs.core.tapset));\nvar chunk__11163 \x3d null;\nvar count__11164 \x3d (0);\nvar i__11165 \x3d (0);\nwhile(true){\nif((i__11165 \x3c count__11164)){\nvar tap \x3d chunk__11163.cljs$core$IIndexed$_nth$arity$2(null,i__11165);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e11168){if((e11168 instanceof Error)){\nvar ex_14171 \x3d e11168;\n} else {\nthrow e11168;\n\n}\n}\n\nvar G__14172 \x3d seq__11162;\nvar G__14173 \x3d chunk__11163;\nvar G__14174 \x3d count__11164;\nvar G__14175 \x3d (i__11165 + (1));\nseq__11162 \x3d G__14172;\nchunk__11163 \x3d G__14173;\ncount__11164 \x3d G__14174;\ni__11165 \x3d G__14175;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11162);\nif(temp__5804__auto__){\nvar seq__11162__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11162__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11162__$1);\nvar G__14176 \x3d cljs.core.chunk_rest(seq__11162__$1);\nvar G__14177 \x3d c__5568__auto__;\nvar G__14178 \x3d cljs.core.count(c__5568__auto__);\nvar G__14179 \x3d (0);\nseq__11162 \x3d G__14176;\nchunk__11163 \x3d G__14177;\ncount__11164 \x3d G__14178;\ni__11165 \x3d G__14179;\ncontinue;\n} else {\nvar tap \x3d cljs.core.first(seq__11162__$1);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e11169){if((e11169 instanceof Error)){\nvar ex_14181 \x3d e11169;\n} else {\nthrow e11169;\n\n}\n}\n\nvar G__14182 \x3d cljs.core.next(seq__11162__$1);\nvar G__14183 \x3d null;\nvar G__14184 \x3d (0);\nvar G__14185 \x3d (0);\nseq__11162 \x3d G__14182;\nchunk__11163 \x3d G__14183;\ncount__11164 \x3d G__14184;\ni__11165 \x3d G__14185;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n});\n/**\n * m f \x3d\x3e {k (f v) ...}\n * Given a map m and a function f of 1-argument, returns a new map where the keys of m\n * are mapped to result of applying f to the corresponding values of m.\n */\ncljs.core.update_vals \x3d (function cljs$core$update_vals(m,f){\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v)));\n}),(((((!((m \x3d\x3d null))))?(((((m.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d m.cljs$core$IEditableCollection$))))?true:false):false))?cljs.core.transient$(m):cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY)),m)),cljs.core.meta(m));\n});\n/**\n * m f \x3d\x3e {(f k) v ...}\n * Given a map m and a function f of 1-argument, returns a new map whose\n * keys are the result of applying f to the keys of m, mapped to the\n * corresponding values of m.\n * f must return a unique key for each key of m, else the behavior is undefined.\n */\ncljs.core.update_keys \x3d (function cljs$core$update_keys(m,f){\nvar ret \x3d cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(k) : f.call(null,k)),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\nreturn cljs.core.with_meta(ret,cljs.core.meta(m));\n});\n/**\n * Bootstrap only.\n */\ncljs.core.ns_lookup \x3d (function cljs$core$ns_lookup(ns_obj,k){\nreturn (function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n});\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n*/\ncljs.core.Namespace \x3d (function (obj,name){\nthis.obj \x3d obj;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291456;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Namespace.prototype.findInternedVar \x3d (function (sym){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar k \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nif(cljs.core.goog$module$goog$object.containsKey(self__.obj,k)){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nvar var_meta \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),this$], null);\nreturn (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Namespace.prototype.getName \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Namespace)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(self__.name);\n}));\n\n(cljs.core.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null)], null);\n}));\n\n(cljs.core.Namespace.cljs$lang$type \x3d true);\n\n(cljs.core.Namespace.cljs$lang$ctorStr \x3d \x22cljs.core/Namespace\x22);\n\n(cljs.core.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Namespace\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Namespace.\n */\ncljs.core.__GT_Namespace \x3d (function cljs$core$__GT_Namespace(obj,name){\nreturn (new cljs.core.Namespace(obj,name));\n});\n\n/**\n * Bootstrap only.\n * @type {*}\n */\ncljs.core.NS_CACHE \x3d null;\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj_STAR_ \x3d (function cljs$core$find_ns_obj_STAR_(ctxt,xs){\nwhile(true){\nif((ctxt \x3d\x3d null)){\nreturn null;\n} else {\nif((xs \x3d\x3d null)){\nreturn ctxt;\n} else {\nvar G__14186 \x3d cljs.core.goog$module$goog$object.get(ctxt,cljs.core.first(xs));\nvar G__14187 \x3d cljs.core.next(xs);\nctxt \x3d G__14186;\nxs \x3d G__14187;\ncontinue;\n\n}\n}\nbreak;\n}\n});\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj \x3d (function cljs$core$find_ns_obj(ns){\nvar munged_ns \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns));\nvar segs \x3d munged_ns.split(\x22.\x22);\nvar G__11171 \x3d cljs.core._STAR_target_STAR_;\nswitch (G__11171) {\ncase \x22nodejs\x22:\nif(COMPILED){\nreturn cljs.core.find_ns_obj_STAR_((function (){try{var ctxt \x3d eval(cljs.core.first(segs));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ctxt;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.object_QMARK_(ctxt);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn ctxt;\n} else {\nreturn null;\n}\n}catch (e11172){if((e11172 instanceof ReferenceError)){\nvar e \x3d e11172;\nreturn null;\n} else {\nthrow e11172;\n\n}\n}})(),cljs.core.next(segs));\n} else {\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n}\n\nbreak;\ncase \x22default\x22:\ncase \x22webworker\x22:\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n\nbreak;\ndefault:\nthrow (new Error([\x22find-ns-obj not supported for target \x22,cljs.core._STAR_target_STAR_].join(\x27\x27)));\n\n}\n});\n/**\n * Returns a map of the intern mappings for the namespace.\n * Bootstrap only.\n */\ncljs.core.ns_interns_STAR_ \x3d (function cljs$core$ns_interns_STAR_(sym){\nvar ns_obj \x3d cljs.core.find_ns_obj(sym);\nvar ns \x3d (new cljs.core.Namespace(ns_obj,sym));\nvar step \x3d (function cljs$core$ns_interns_STAR__$_step(ret,k){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var((function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n}),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns], null))));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));\n});\n/**\n * Create a new namespace named by the symbol. Bootstrap only.\n */\ncljs.core.create_ns \x3d (function cljs$core$create_ns(var_args){\nvar G__11174 \x3d arguments.length;\nswitch (G__11174) {\ncase 1:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));\n}));\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,ns_obj){\nreturn (new cljs.core.Namespace(ns_obj,sym));\n}));\n\n(cljs.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_ns \x3d (function cljs$core$find_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the macros namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_macros_ns \x3d (function cljs$core$find_macros_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nvar ns__$1 \x3d (((!(goog.string.contains(ns_str,\x22$macros\x22))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([ns_str,\x22$macros\x22].join(\x27\x27)):ns);\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns__$1);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the name of the namespace, a Namespace object.\n * Bootstrap only.\n */\ncljs.core.ns_name \x3d (function cljs$core$ns_name(ns_obj){\nreturn ns_obj.name;\n});\n/**\n * Returns true x is a goog.Uri instance.\n */\ncljs.core.uri_QMARK_ \x3d (function cljs$core$uri_QMARK_(x){\nreturn (x instanceof goog.Uri);\n});\n/**\n * Returns true if num is NaN, else false\n */\ncljs.core.NaN_QMARK_ \x3d (function cljs$core$NaN_QMARK_(val){\nreturn isNaN(val);\n});\n/**\n * Construct message for parsing for non-string parsing error\n */\ncljs.core.parsing_err \x3d (function cljs$core$parsing_err(val){\nreturn [\x22Expected string, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((val \x3d\x3d null))?\x22nil\x22:goog.typeOf(val)))].join(\x27\x27);\n});\n/**\n * Parse string of decimal digits with optional leading -/+ and return an\n * integer value, or nil if parse fails\n */\ncljs.core.parse_long \x3d (function cljs$core$parse_long(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar and__5043__auto__ \x3d cljs.core.re_matches(/[+-]?\\d+/,s);\nif(cljs.core.truth_(and__5043__auto__)){\nvar i \x3d parseInt(s);\nif((((i \x3c\x3d Number.MAX_SAFE_INTEGER)) \x26\x26 ((i \x3e\x3d Number.MIN_SAFE_INTEGER)))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn and__5043__auto__;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse string with floating point components and return a floating point value,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\n */\ncljs.core.parse_double \x3d (function cljs$core$parse_double(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?NaN[\\x00-\\x20]*/,s)){\nreturn NaN;\n} else {\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?(Infinity|((\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?)[dDfF]?)[\\x00-\\x20]*/,s)){\nreturn parseFloat(s);\n} else {\nreturn null;\n\n}\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.uuid_regex \x3d /^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$/;\n/**\n * Parse a string representing a UUID and return a UUID instance,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\n */\ncljs.core.parse_uuid \x3d (function cljs$core$parse_uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(cljs.core.uuid_regex,s)){\nreturn cljs.core.uuid(s);\n} else {\nreturn null;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse strings \x22true\x22 or \x22false\x22 and return a boolean, or nil if invalid. Note that this explicitly\n * excludes strings with different cases, or space characters.\n */\ncljs.core.parse_boolean \x3d (function cljs$core$parse_boolean(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar G__11175 \x3d s;\nswitch (G__11175) {\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ndefault:\nreturn null;\n\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.maybe_enable_print_BANG_ \x3d (function cljs$core$maybe_enable_print_BANG_(){\nif((typeof console !\x3d\x3d \x27undefined\x27)){\nreturn cljs.core.enable_console_print_BANG_();\n} else {\nif((((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nashorn\x22)) || ((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22graaljs\x22)))){\nvar system \x3d Java.type(\x22java.lang.System\x22);\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.out.println(s);\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.error.println(s);\n}));\n} else {\nreturn null;\n}\n}\n});\ncljs.core.maybe_enable_print_BANG_();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_eval_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Runtime environments may provide a way to evaluate ClojureScript\n * forms. Whatever function *eval* is bound to will be passed any forms which\n * should be evaluated.\n */\ncljs.core._STAR_eval_STAR_ \x3d (function cljs$core$_STAR_eval_STAR_(_){\nthrow (new Error(\x22cljs.core/*eval* not bound\x22));\n});\n}\n/**\n * Evaluates the form data structure (not text!) and returns the result.\n * Delegates to cljs.core/*eval*. Intended for use in self-hosted ClojureScript,\n * which sets up an implementation of cljs.core/*eval* for that environment.\n */\ncljs.core.eval \x3d (function cljs$core$eval(form){\nreturn cljs.core._STAR_eval_STAR_.call(null,form);\n});\nif(COMPILED){\nif((\x22nodejs\x22 \x3d\x3d\x3d cljs.core._STAR_target_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n\nif((\x22window\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d window);\n} else {\nif((\x22self\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d self);\n} else {\nif((\x22global\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n}\n}\n} else {\n}\n\ncljs.core.enable_console_print_BANG_();\n"); +SHADOW_ENV.evalLoad("devtools.defaults.js", true , "goog.provide(\x27devtools.defaults\x27);\ndevtools.defaults.known_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601)], null);\n}),null));\ndevtools.defaults.default_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118)], null);\n}),null));\ndevtools.defaults.feature_groups \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),cljs.core.deref(devtools.defaults.known_features),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(devtools.defaults.default_features)], null);\n}),null));\ndevtools.defaults.config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528),new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680),new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848),new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.Keyword(null,\x22instance-value-separator\x22,\x22instance-value-separator\x22,658858944),new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807),new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246),new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090),new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394),new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794),new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747),new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341),new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900),new cljs.core.Keyword(null,\x22max-instance-custom-printing-level\x22,\x22max-instance-custom-printing-level\x22,1876300228),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780),new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611),new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866),new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410),new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522),new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174),new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377),new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129),new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112),new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864),new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776),new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832),new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185),new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065),new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601),new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097),new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358),new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154),new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266),new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066),new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739),new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397),new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955),new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820),new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468),new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203),new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018),new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465),new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615),new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664),new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560),new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672),new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688),new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479),new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241),new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278),new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858),new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405),new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493),new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989),new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979),new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356),new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468),new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996),new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811),new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973),new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963),new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722),new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430),new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586),new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593),new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288),new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),new cljs.core.Keyword(null,\x22expandable-wrapper-style\x22,\x22expandable-wrapper-style\x22,-491294888),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920),new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383),new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751),new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271),new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818),new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269),new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237),new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653),new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965),new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467),new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.Keyword(null,\x22header-post-handelr\x22,\x22header-post-handelr\x22,1525935099),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980),new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116),new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204),new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341),new cljs.core.Keyword(null,\x22default-envelope-tag\x22,\x22default-envelope-tag\x22,1882840861),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570),new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714),new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623),new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937),new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)],[\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;\x22,false,(100),\x22color:rgba(0,0,0,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462)], null),\x22color:rgba(128,128,128,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22\x22,null,((20) - (1)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066)], null),\x22\x22,false,\x22\\u21B5\x22,\x22vertical-align:top;padding:0;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22background-color:rgba(255,102,0,1);border-radius:0 2px 2px 0;\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u22A2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937)], null),\x22white-space:nowrap;\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493)], null),\x22color:rgba(170,130,20,1);\x22,(2),\x22margin-left:-3px;\x22,\x22table\x22,null,\x22more\\u2026\x22,\x22color:rgba(30,130,30,1);margin-right:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832)], null),\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601)], null),\x22position:relative;padding:0px 4px;border-radius:2px;-webkit-user-select:none;color:rgba(255,255,170,1);\x22,\x22\\u2026\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430)], null),\x22 \x26 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097)], null),(5),\x22 \\u2026 \x22,(5),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,255,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22js\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996)], null),true,\x22margin-right:6px;color:rgba(41,59,163,1) ;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356)], null),\x22 \x22,\x22td\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22li\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837)], null),\x22background-color:rgba(100,255,100,0.08);color:rgba(0,0,0,1);border-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03BB\x22], null),null,(128),true,\x22\x22,\x22margin-left:6px;\x22,null,\x22tr\x22,\x22background-color:rgba(153,153,153,1);min-width:50px;display:inline-block;color:rgba(255,255,255,1);cursor:pointer;line-height:14px;font-size:10px;border-radius:2px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;-webkit-user-select:none;\x22,\x22+\x22,null,\x22[\x22,\x22padding:0px 12px 0px 12px;color:rgba(196,26,22,1);white-space:pre;border-top:1px solid rgba(255,100,100,0.4);border-radius:1px;margin:0px 0px 2px 0px;background-color:rgba(255,100,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-value-style\x22,\x22header-field-value-style\x22,-980761419)], null),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u220B\x22], null),\x22display:inline-block;padding:3px 12px;border-top:2px solid rgba(60,90,60,0.1);margin:1px;margin-top:0px;background-color:rgba(100,255,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955)], null),\x22position:relative;padding-left:1px;border-radius:2px;\x22,true,\x22\\\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22\\u2205\x22], null),\x22nil\x22,\x22\x22,\x22vertical-align:top;padding:0;\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;-webkit-user-select:none;border-radius:2px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,\x22position:relative;border-radius:2px;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22m\x22], null),(3),(4),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03B2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739)], null),\x22color:rgba(28,136,207,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22color:rgba(0,160,220,1);margin-right:6px;\x22,\x22div\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751)], null),null,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397)], null),\x22color:rgba(0,153,153,1);\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570)], null),\x22color:rgba(196,26,22,1);\x22,\x22color:rgba(0,160,220,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,200,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;border-radius:0 1px 1px 0;\x22], null)], null),\x22color:rgba(28,0,207,1);\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,255,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22color:rgba(0,160,220,1);\x22,\x22\\uD83D\\uDCE8\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;-webkit-user-select:none;border-radius:2px 0 0 2px;\x22,\x22ol\x22,\x22position:relative;padding:0 2px 0 4px;\x22,(0),\x22padding:0px 3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858)], null),\x22 \x22,\x22vertical-align:top;padding:0;padding-right:4px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-field-tr-style\x22,\x22body-field-tr-style\x22,1067836596)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22padding-right:4px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358)], null),\x22border-spacing:0;border-collapse:collapse;margin-bottom:-2px;display:inline-block;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979)], null),false,\x22margin-left:0px;min-height:14px;\x22,\x22position:relative;padding:0px 4px;border-radius:2px;-webkit-user-select:none;color:rgba(238,238,238,1);\x22,true,\x22]\x22,(20),false,\x22display:inline-block;white-space:nowrap;border-left:2px solid rgba(100,100,100,0.2);padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-style\x22,\x22protocol-method-style\x22,-1740943941)], null),\x22min-width:50px;display:inline-block;text-align:right;vertical-align:top;background-color:rgba(221,221,221,1);color:rgba(0,0,0,1);opacity:0.5;margin-right:3px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;-webkit-user-select:none;\x22,\x22\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22\\u2205\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22fn\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocols-header-style\x22,\x22protocols-header-style\x22,22379790)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-value-style\x22,\x22instance-value-style\x22,1340189507)], null),null,\x22white-space:nowrap;padding-left:3px;\x22,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 35, [\x22cljs.core/ValSeq\x22,null,\x22cljs.core/ArrayNodeSeq\x22,null,\x22cljs.core/Cons\x22,null,\x22cljs.core/ES6IteratorSeq\x22,null,\x22cljs.core/List\x22,null,\x22cljs.core/PersistentArrayMapSeq\x22,null,\x22cljs.core/Symbol\x22,null,\x22cljs.core/PersistentHashMap\x22,null,\x22cljs.core/Subvec\x22,null,\x22cljs.core/EmptyList\x22,null,\x22cljs.core/BlackNode\x22,null,\x22cljs.core/PersistentArrayMap\x22,null,\x22cljs.core/LazyTransformer\x22,null,\x22cljs.core/PersistentTreeMapSeq\x22,null,\x22cljs.core/MapEntry\x22,null,\x22cljs.core/PersistentQueueSeq\x22,null,\x22cljs.core/Keyword\x22,null,\x22cljs.core/Range\x22,null,\x22cljs.core/UUID\x22,null,\x22cljs.core/IndexedSeq\x22,null,\x22cljs.core/KeySeq\x22,null,\x22cljs.core/RSeq\x22,null,\x22cljs.core/ObjMap\x22,null,\x22cljs.core/PersistentVector\x22,null,\x22cljs.core/PersistentTreeSet\x22,null,\x22cljs.core/Eduction\x22,null,\x22cljs.core/NodeSeq\x22,null,\x22cljs.core/RedNode\x22,null,\x22cljs.core/ExceptionInfo\x22,null,\x22cljs.core/PersistentHashSet\x22,null,\x22cljs.core/PersistentTreeMap\x22,null,\x22cljs.core/LazySeq\x22,null,\x22cljs.core/ChunkedSeq\x22,null,\x22cljs.core/ChunkedCons\x22,null,\x22cljs.core/TaggedLiteral\x22,null], null), null),\x22visibility:hidden;\x22,\x22position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,0,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:0px 4px;top:2px;\x22], null),\x22\\u221E\x22], null),\x22margin-right:3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-body-style\x22,\x22circular-reference-body-style\x22,314341165)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341)], null),\x22position:relative;display:inline-flex;\x22,true,\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-arities-header-style\x22,\x22protocol-method-arities-header-style\x22,-2088352156)], null),(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911)], null),(2),\x22box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;margin-top:1px;border-radius:2px;\x22,\x22\\u2026\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)], null),false,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-style\x22,\x22header-field-style\x22,-1193742102)], null),null,\x22background-color:rgba(255,102,0,0.1);box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;position:relative;top:-1px;padding:3px 12px;border-bottom-right-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818)], null),\x22\x22,(20),\x22padding:0px 3px;margin:-4px 0px -2px;position:relative;top:1px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383)], null),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479)], null),\x22font-size:8px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(150,150,150,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;-webkit-user-select:none;padding:1px 4px;top:1px;\x22], null),\x22in\x22], null),\x22position:relative;\x22,(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-wrapper-style\x22,\x22circular-reference-wrapper-style\x22,-329208502)], null),\x22color:rgba(136,19,145,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),\x22~\x22], null),\x22span\x22,\x22color:rgba(238,238,238,1);padding:0px 3px;-webkit-user-select:none;\x22]);\n}),null));\n"); +SHADOW_ENV.evalLoad("devtools.prefs.js", true , "goog.provide(\x27devtools.prefs\x27);\ndevtools.prefs.default_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.defaults.config);\n}),null));\ndevtools.prefs.external_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}),null));\ndevtools.prefs.env_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}),null));\ndevtools.prefs.initial_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(devtools.prefs.default_config),cljs.core.deref(devtools.prefs.external_config),cljs.core.deref(devtools.prefs.env_config)], 0));\n}),null));\ndevtools.prefs._STAR_current_config_STAR_ \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.prefs.initial_config);\n}),null));\ndevtools.prefs.set_prefs_BANG_ \x3d (function devtools$prefs$set_prefs_BANG_(new_prefs){\nreturn (devtools.prefs._STAR_current_config_STAR_ \x3d new_prefs);\n});\ndevtools.prefs.get_prefs \x3d (function devtools$prefs$get_prefs(){\nif(cljs.core.delay_QMARK_(devtools.prefs._STAR_current_config_STAR_)){\ndevtools.prefs.set_prefs_BANG_(cljs.core.deref(devtools.prefs._STAR_current_config_STAR_));\n} else {\n}\n\nreturn devtools.prefs._STAR_current_config_STAR_;\n});\ndevtools.prefs.pref \x3d (function devtools$prefs$pref(key){\nvar G__13880 \x3d devtools.prefs.get_prefs();\nreturn (key.cljs$core$IFn$_invoke$arity$1 ? key.cljs$core$IFn$_invoke$arity$1(G__13880) : key.call(null,G__13880));\n});\ndevtools.prefs.set_pref_BANG_ \x3d (function devtools$prefs$set_pref_BANG_(key,val){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(devtools.prefs.get_prefs(),key,val));\n});\ndevtools.prefs.merge_prefs_BANG_ \x3d (function devtools$prefs$merge_prefs_BANG_(m){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.prefs.get_prefs(),m], 0)));\n});\ndevtools.prefs.update_pref_BANG_ \x3d (function devtools$prefs$update_pref_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13921 \x3d arguments.length;\nvar i__5770__auto___13922 \x3d (0);\nwhile(true){\nif((i__5770__auto___13922 \x3c len__5769__auto___13921)){\nargs__5775__auto__.push((arguments[i__5770__auto___13922]));\n\nvar G__13923 \x3d (i__5770__auto___13922 + (1));\ni__5770__auto___13922 \x3d G__13923;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (key,f,args){\nvar new_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.prefs.pref(key),args);\nreturn devtools.prefs.set_pref_BANG_(key,new_val);\n}));\n\n(devtools.prefs.update_pref_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.prefs.update_pref_BANG_.cljs$lang$applyTo \x3d (function (seq13906){\nvar G__13907 \x3d cljs.core.first(seq13906);\nvar seq13906__$1 \x3d cljs.core.next(seq13906);\nvar G__13908 \x3d cljs.core.first(seq13906__$1);\nvar seq13906__$2 \x3d cljs.core.next(seq13906__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__13907,G__13908,seq13906__$2);\n}));\n\n"); +SHADOW_ENV.evalLoad("devtools.context.js", true , "goog.provide(\x27devtools.context\x27);\ndevtools.context.get_root \x3d (function devtools$context$get_root(){\nreturn goog.global;\n});\ndevtools.context.get_console \x3d (function devtools$context$get_console(){\nreturn devtools.context.get_root.call(null).console;\n});\n"); +SHADOW_ENV.evalLoad("clojure.string.js", true , "goog.provide(\x27clojure.string\x27);\nclojure.string.seq_reverse \x3d (function clojure$string$seq_reverse(coll){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n});\nclojure.string.re_surrogate_pair \x3d (new RegExp(\x22([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\x22,\x22g\x22));\n/**\n * Returns s with its characters reversed.\n */\nclojure.string.reverse \x3d (function clojure$string$reverse(s){\nreturn s.replace(clojure.string.re_surrogate_pair,\x22$2$1\x22).split(\x22\x22).reverse().join(\x22\x22);\n});\nclojure.string.replace_all \x3d (function clojure$string$replace_all(s,re,replacement){\nvar r \x3d (new RegExp(re.source,(function (){var G__11183 \x3d \x22g\x22;\nvar G__11183__$1 \x3d (cljs.core.truth_(re.ignoreCase)?[G__11183,\x22i\x22].join(\x27\x27):G__11183);\nvar G__11183__$2 \x3d (cljs.core.truth_(re.multiline)?[G__11183__$1,\x22m\x22].join(\x27\x27):G__11183__$1);\nif(cljs.core.truth_(re.unicode)){\nreturn [G__11183__$2,\x22u\x22].join(\x27\x27);\n} else {\nreturn G__11183__$2;\n}\n})()));\nreturn s.replace(r,replacement);\n});\nclojure.string.replace_with \x3d (function clojure$string$replace_with(f){\nreturn (function() { \nvar G__11308__delegate \x3d function (args){\nvar matches \x3d cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){\nvar G__11189 \x3d cljs.core.first(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11189) : f.call(null,G__11189));\n} else {\nvar G__11193 \x3d cljs.core.vec(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11193) : f.call(null,G__11193));\n}\n};\nvar G__11308 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__11314__i \x3d 0, G__11314__a \x3d new Array(arguments.length - 0);\nwhile (G__11314__i \x3c G__11314__a.length) {G__11314__a[G__11314__i] \x3d arguments[G__11314__i + 0]; ++G__11314__i;}\n args \x3d new cljs.core.IndexedSeq(G__11314__a,0,null);\n} \nreturn G__11308__delegate.call(this,args);};\nG__11308.cljs$lang$maxFixedArity \x3d 0;\nG__11308.cljs$lang$applyTo \x3d (function (arglist__11315){\nvar args \x3d cljs.core.seq(arglist__11315);\nreturn G__11308__delegate(args);\n});\nG__11308.cljs$core$IFn$_invoke$arity$variadic \x3d G__11308__delegate;\nreturn G__11308;\n})()\n;\n});\n/**\n * Replaces all instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace-first.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace \x22Almost Pig Latin\x22 #\x22\\b(\\w)(\\w+)\\b\x22 \x22$2$1ay\x22)\n * -\x3e \x22lmostAay igPay atinLay\x22\n */\nclojure.string.replace \x3d (function clojure$string$replace(s,match,replacement){\nif(typeof match \x3d\x3d\x3d \x27string\x27){\nreturn s.replace((new RegExp(goog.string.regExpEscape(match),\x22g\x22)),replacement);\n} else {\nif((match instanceof RegExp)){\nif(typeof replacement \x3d\x3d\x3d \x27string\x27){\nreturn clojure.string.replace_all(s,match,replacement);\n} else {\nreturn clojure.string.replace_all(s,match,clojure.string.replace_with(replacement));\n}\n} else {\nthrow [\x22Invalid match arg: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(match)].join(\x27\x27);\n\n}\n}\n});\n/**\n * Replaces the first instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace-first \x22swap first two words\x22\n * #\x22(\\w+)(\\s+)(\\w+)\x22 \x22$3$2$1\x22)\n * -\x3e \x22first swap two words\x22\n */\nclojure.string.replace_first \x3d (function clojure$string$replace_first(s,match,replacement){\nreturn s.replace(match,replacement);\n});\n/**\n * Returns a string of all elements in coll, as returned by (seq coll),\n * separated by an optional separator.\n */\nclojure.string.join \x3d (function clojure$string$join(var_args){\nvar G__11203 \x3d arguments.length;\nswitch (G__11203) {\ncase 1:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__11326 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\nvar G__11327 \x3d cljs.core.next(coll__$1);\nsb \x3d G__11326;\ncoll__$1 \x3d G__11327;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (separator,coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nsb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\n\nvar coll__$2 \x3d cljs.core.next(coll__$1);\nif((coll__$2 \x3d\x3d null)){\n} else {\nsb.append(separator);\n}\n\nvar G__11330 \x3d sb;\nvar G__11331 \x3d coll__$2;\nsb \x3d G__11330;\ncoll__$1 \x3d G__11331;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Converts string to all upper-case.\n */\nclojure.string.upper_case \x3d (function clojure$string$upper_case(s){\nreturn s.toUpperCase();\n});\n/**\n * Converts string to all lower-case.\n */\nclojure.string.lower_case \x3d (function clojure$string$lower_case(s){\nreturn s.toLowerCase();\n});\n/**\n * Converts first character of the string to upper-case, all other\n * characters to lower-case.\n */\nclojure.string.capitalize \x3d (function clojure$string$capitalize(s){\nreturn goog.string.capitalize(s);\n});\nclojure.string.pop_last_while_empty \x3d (function clojure$string$pop_last_while_empty(v){\nvar v__$1 \x3d v;\nwhile(true){\nif((\x22\x22 \x3d\x3d\x3d cljs.core.peek(v__$1))){\nvar G__11334 \x3d cljs.core.pop(v__$1);\nv__$1 \x3d G__11334;\ncontinue;\n} else {\nreturn v__$1;\n}\nbreak;\n}\n});\nclojure.string.discard_trailing_if_needed \x3d (function clojure$string$discard_trailing_if_needed(limit,v){\nif(((((0) \x3d\x3d\x3d limit)) \x26\x26 (((1) \x3c cljs.core.count(v))))){\nreturn clojure.string.pop_last_while_empty(v);\n} else {\nreturn v;\n}\n});\nclojure.string.split_with_empty_regex \x3d (function clojure$string$split_with_empty_regex(s,limit){\nif((((limit \x3c\x3d (0))) || ((limit \x3e\x3d ((2) + cljs.core.count(s)))))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),\x22\x22);\n} else {\nvar pred__11241 \x3d cljs.core._EQ__EQ_;\nvar expr__11242 \x3d limit;\nif(cljs.core.truth_((pred__11241.cljs$core$IFn$_invoke$arity$2 ? pred__11241.cljs$core$IFn$_invoke$arity$2((1),expr__11242) : pred__11241.call(null,(1),expr__11242)))){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));\n} else {\nif(cljs.core.truth_((pred__11241.cljs$core$IFn$_invoke$arity$2 ? pred__11241.cljs$core$IFn$_invoke$arity$2((2),expr__11242) : pred__11241.call(null,(2),expr__11242)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[\x22\x22,s],null));\n} else {\nvar c \x3d (limit - (2));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s))),(0),c))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,c));\n}\n}\n}\n});\n/**\n * Splits string on a regular expression. Optional argument limit is\n * the maximum number of parts. Not lazy. Returns vector of the parts.\n * Trailing empty strings are not returned - pass limit of -1 to return all.\n */\nclojure.string.split \x3d (function clojure$string$split(var_args){\nvar G__11253 \x3d arguments.length;\nswitch (G__11253) {\ncase 2:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,re){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,re,(0));\n}));\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,re,limit){\nreturn clojure.string.discard_trailing_if_needed(limit,(((\x22/(?:)/\x22 \x3d\x3d\x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(re)))?clojure.string.split_with_empty_regex(s,limit):(((limit \x3c (1)))?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(s).split(re)):(function (){var s__$1 \x3d s;\nvar limit__$1 \x3d limit;\nvar parts \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(((1) \x3d\x3d\x3d limit__$1)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n} else {\nvar m \x3d cljs.core.re_find(re,s__$1);\nif((!((m \x3d\x3d null)))){\nvar index \x3d s__$1.indexOf(m);\nvar G__11348 \x3d s__$1.substring((index + cljs.core.count(m)));\nvar G__11349 \x3d (limit__$1 - (1));\nvar G__11350 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));\ns__$1 \x3d G__11348;\nlimit__$1 \x3d G__11349;\nparts \x3d G__11350;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n}\n}\nbreak;\n}\n})())));\n}));\n\n(clojure.string.split.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Splits s on \\n or \\r\\n. Trailing empty lines are not returned.\n */\nclojure.string.split_lines \x3d (function clojure$string$split_lines(s){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(s,/\\n|\\r\\n/);\n});\n/**\n * Removes whitespace from both ends of string.\n */\nclojure.string.trim \x3d (function clojure$string$trim(s){\nreturn goog.string.trim(s);\n});\n/**\n * Removes whitespace from the left side of string.\n */\nclojure.string.triml \x3d (function clojure$string$triml(s){\nreturn goog.string.trimLeft(s);\n});\n/**\n * Removes whitespace from the right side of string.\n */\nclojure.string.trimr \x3d (function clojure$string$trimr(s){\nreturn goog.string.trimRight(s);\n});\n/**\n * Removes all trailing newline \\n or return \\r characters from\n * string. Similar to Perl\x27s chomp.\n */\nclojure.string.trim_newline \x3d (function clojure$string$trim_newline(s){\nvar index \x3d s.length;\nwhile(true){\nif((index \x3d\x3d\x3d (0))){\nreturn \x22\x22;\n} else {\nvar ch \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));\nif((((\x22\\n\x22 \x3d\x3d\x3d ch)) || ((\x22\\r\x22 \x3d\x3d\x3d ch)))){\nvar G__11359 \x3d (index - (1));\nindex \x3d G__11359;\ncontinue;\n} else {\nreturn s.substring((0),index);\n}\n}\nbreak;\n}\n});\n/**\n * True is s is nil, empty, or contains only whitespace.\n */\nclojure.string.blank_QMARK_ \x3d (function clojure$string$blank_QMARK_(s){\nreturn goog.string.isEmptyOrWhitespace(goog.string.makeSafe(s));\n});\n/**\n * Return a new string, using cmap to escape each character ch\n * from s as follows:\n * \n * If (cmap ch) is nil, append ch to the new string.\n * If (cmap ch) is non-nil, append (str (cmap ch)) instead.\n */\nclojure.string.escape \x3d (function clojure$string$escape(s,cmap){\nvar buffer \x3d (new goog.string.StringBuffer());\nvar length \x3d s.length;\nvar index \x3d (0);\nwhile(true){\nif((length \x3d\x3d\x3d index)){\nreturn buffer.toString();\n} else {\nvar ch \x3d s.charAt(index);\nvar replacement \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cmap,ch);\nif((!((replacement \x3d\x3d null)))){\nbuffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));\n} else {\nbuffer.append(ch);\n}\n\nvar G__11362 \x3d (index + (1));\nindex \x3d G__11362;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Return index of value (string or char) in s, optionally searching\n * forward from from-index or nil if not found.\n */\nclojure.string.index_of \x3d (function clojure$string$index_of(var_args){\nvar G__11269 \x3d arguments.length;\nswitch (G__11269) {\ncase 2:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.indexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.indexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return last index of value (string or char) in s, optionally\n * searching backward from from-index or nil if not found.\n */\nclojure.string.last_index_of \x3d (function clojure$string$last_index_of(var_args){\nvar G__11276 \x3d arguments.length;\nswitch (G__11276) {\ncase 2:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.lastIndexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.lastIndexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * True if s starts with substr.\n */\nclojure.string.starts_with_QMARK_ \x3d (function clojure$string$starts_with_QMARK_(s,substr){\nreturn goog.string.startsWith(s,substr);\n});\n/**\n * True if s ends with substr.\n */\nclojure.string.ends_with_QMARK_ \x3d (function clojure$string$ends_with_QMARK_(s,substr){\nreturn goog.string.endsWith(s,substr);\n});\n/**\n * True if s includes substr.\n */\nclojure.string.includes_QMARK_ \x3d (function clojure$string$includes_QMARK_(s,substr){\nreturn goog.string.contains(s,substr);\n});\n"); +SHADOW_ENV.evalLoad("cljs.stacktrace.js", true , "goog.provide(\x27cljs.stacktrace\x27);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace.parse_stacktrace !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Parse a JavaScript stacktrace string into a canonical data form. The\n * arguments:\n * \n * repl-env - the repl environment, an optional map with :host and :port keys\n * if the stacktrace includes url, not file references\n * st - the original stacktrace string to parse\n * err - an error map. :ua-product key defines the type of stacktrace parser\n * to use, for example :chrome\n * opts - additional options. :output-dir maybe given in this argument if\n * :host and :port do not apply, for example, a file path\n * \n * The canonical stacktrace representation can easily be mapped to a\n * ClojureScript one see mapped-stacktrace and mapped-stacktrace-str\n */\ncljs.stacktrace.parse_stacktrace \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__11478 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__11478.cljs$core$IFn$_invoke$arity$0 ? fexpr__11478.cljs$core$IFn$_invoke$arity$0() : fexpr__11478.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.stacktrace\x22,\x22parse-stacktrace\x22),(function (repl_env,st,err,opts){\nreturn new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227).cljs$core$IFn$_invoke$arity$1(err);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.stacktrace.parse_int \x3d (function cljs$stacktrace$parse_int(s){\nreturn parseInt(s,(10));\n});\ncljs.stacktrace.starts_with_QMARK_ \x3d (function cljs$stacktrace$starts_with_QMARK_(s0,s1){\nreturn goog.string.startsWith(s0,s1);\n});\ncljs.stacktrace.ends_with_QMARK_ \x3d (function cljs$stacktrace$ends_with_QMARK_(s0,s1){\nreturn goog.string.endsWith(s0,s1);\n});\ncljs.stacktrace.string__GT_regex \x3d (function cljs$stacktrace$string__GT_regex(s){\nreturn (new RegExp(s));\n});\ncljs.stacktrace.output_directory \x3d (function cljs$stacktrace$output_directory(opts){\nvar or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22out\x22;\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (repl_env,st,err,opts){\nreturn st;\n}));\ncljs.stacktrace.parse_file_line_column \x3d (function cljs$stacktrace$parse_file_line_column(flc){\nif(cljs.core.not(cljs.core.re_find(/:/,flc))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [flc,null,null], null);\n} else {\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(flc,/:/);\nvar vec__11586 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__11594,p__11595){\nvar vec__11596 \x3d p__11594;\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11596,(0),null);\nvar post \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11596,(1),null);\nvar vec__11599 \x3d p__11595;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11599,(0),null);\nvar i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11599,(1),null);\nif((i \x3c\x3d (2))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(post,x)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(pre,x),post], null);\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,xs,cljs.core.range.cljs$core$IFn$_invoke$arity$3(cljs.core.count(xs),(0),(-1))));\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11586,(0),null);\nvar vec__11589 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11586,(1),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11589,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11589,(1),null);\nvar file \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22:\x22,pre);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__11608 \x3d file;\nif(cljs.stacktrace.starts_with_QMARK_(file,\x22(\x22)){\nreturn clojure.string.replace(G__11608,\x22(\x22,\x22\x22);\n} else {\nreturn G__11608;\n}\n})(),cljs.stacktrace.parse_int((function (){var G__11611 \x3d line;\nif(cljs.stacktrace.ends_with_QMARK_(line,\x22)\x22)){\nreturn clojure.string.replace(G__11611,\x22)\x22,\x22\x22);\n} else {\nreturn G__11611;\n}\n})()),cljs.stacktrace.parse_int((function (){var G__11613 \x3d column;\nif(cljs.stacktrace.ends_with_QMARK_(column,\x22)\x22)){\nreturn clojure.string.replace(G__11613,\x22)\x22,\x22\x22);\n} else {\nreturn G__11613;\n}\n})())], null);\n}\n});\n/**\n * Given a browser file url convert it into a relative path that can be used\n * to locate the original source.\n */\ncljs.stacktrace.parse_file \x3d (function cljs$stacktrace$parse_file(p__11616,file,p__11617){\nvar map__11618 \x3d p__11616;\nvar map__11618__$1 \x3d cljs.core.__destructure_map(map__11618);\nvar repl_env \x3d map__11618__$1;\nvar host \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11618__$1,new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167));\nvar host_port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11618__$1,new cljs.core.Keyword(null,\x22host-port\x22,\x22host-port\x22,1956551772));\nvar port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11618__$1,new cljs.core.Keyword(null,\x22port\x22,\x22port\x22,1534937262));\nvar map__11619 \x3d p__11617;\nvar map__11619__$1 \x3d cljs.core.__destructure_map(map__11619);\nvar opts \x3d map__11619__$1;\nvar asset_path \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11619__$1,new cljs.core.Keyword(null,\x22asset-path\x22,\x22asset-path\x22,1500889617));\nvar urlpat \x3d (cljs.core.truth_(host)?cljs.stacktrace.string__GT_regex([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(host),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d host_port;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn port;\n}\n})()),\x22/\x22].join(\x27\x27)):\x22\x22);\nvar match \x3d (cljs.core.truth_(host)?cljs.core.re_find(urlpat,file):cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991)));\nif(cljs.core.truth_(match)){\nreturn clojure.string.replace(clojure.string.replace(file,urlpat,\x22\x22),cljs.stacktrace.string__GT_regex([\x22^\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d (function (){var and__5043__auto__ \x3d asset_path;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn clojure.string.replace(asset_path,/^\\//,\x22\x22);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.stacktrace.output_directory(opts);\n}\n})()),\x22/\x22].join(\x27\x27)),\x22\x22);\n} else {\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar asset_root \x3d temp__5802__auto__;\nreturn clojure.string.replace(file,asset_root,\x22\x22);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Could not relativize URL \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22parse-stacktrace\x22,\x22parse-stacktrace\x22,-38208461),new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),new cljs.core.Keyword(null,\x22relativize-url\x22,\x22relativize-url\x22,621482324)], null));\n}\n}\n});\ncljs.stacktrace.chrome_st_el__GT_frame \x3d (function cljs$stacktrace$chrome_st_el__GT_frame(repl_env,st_el,opts){\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(clojure.string.replace(st_el,/\\s+at\\s+/,\x22\x22),/\\s+/);\nvar vec__12168 \x3d ((((1) \x3d\x3d\x3d cljs.core.count(xs)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(xs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(xs),cljs.core.last(xs)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12168,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12168,(1),null);\nvar vec__12171 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12171,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12171,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12171,(2),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d file;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn column;\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12190_SHARP_){\nreturn cljs.stacktrace.chrome_st_el__GT_frame(repl_env,p1__12190_SHARP_,opts);\n}),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__12189_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__12189_SHARP_,\x22 at eval\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__12188_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__12188_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st))))));\n}));\ncljs.stacktrace.safari_st_el__GT_frame \x3d (function cljs$stacktrace$safari_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__12204 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12204,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12204,(1),null);\nvar vec__12207 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12207,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12207,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12207,(2),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d file;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn column;\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22safari\x22,\x22safari\x22,497115653),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12213_SHARP_){\nreturn cljs.stacktrace.safari_st_el__GT_frame(repl_env,p1__12213_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__12212_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__12212_SHARP_,\x22eval code\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__12211_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__12211_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.firefox_clean_function \x3d (function cljs$stacktrace$firefox_clean_function(f){\nvar f__$1 \x3d f;\nvar f__$2 \x3d ((clojure.string.blank_QMARK_(f__$1))?null:((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(f__$1.indexOf(\x22\x3c/\x22),(-1)))?(function (){var idx \x3d f__$1.indexOf(\x22\x3c/\x22);\nreturn f__$1.substring((idx + (2)));\n})():f__$1\n));\nreturn clojure.string.replace(clojure.string.replace(f__$2,/\x3c/,\x22\x22),(new RegExp(\x22\\\\/\x22)),\x22\x22);\n});\ncljs.stacktrace.firefox_st_el__GT_frame \x3d (function cljs$stacktrace$firefox_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__12226 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12226,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12226,(1),null);\nvar vec__12229 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12229,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12229,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12229,(2),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d file;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn column;\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22firefox\x22,\x22firefox\x22,1283768880),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12246_SHARP_){\nreturn cljs.stacktrace.firefox_st_el__GT_frame(repl_env,p1__12246_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__12245_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__12245_SHARP_.indexOf(\x22\x3e eval\x22),(-1));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__12244_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__12244_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nodejs\x22,\x22nodejs\x22,321212524),(function (repl_env,st,err,p__12267){\nvar map__12270 \x3d p__12267;\nvar map__12270__$1 \x3d cljs.core.__destructure_map(map__12270);\nvar opts \x3d map__12270__$1;\nvar output_dir \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12270__$1,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991));\nvar parse_source_loc_info \x3d (function cljs$stacktrace$parse_source_loc_info(x){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d x;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(clojure.string.blank_QMARK_(x)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.stacktrace.parse_int(x);\n} else {\nreturn null;\n}\n});\nvar process_frame \x3d (function cljs$stacktrace$process_frame(frame_str){\nif(((clojure.string.blank_QMARK_(frame_str)) || ((cljs.core.re_find(/^\\s+at/,frame_str) \x3d\x3d null)))){\nreturn null;\n} else {\nvar frame_str__$1 \x3d clojure.string.replace(frame_str,/\\s+at\\s+/,\x22\x22);\nif(clojure.string.starts_with_QMARK_(frame_str__$1,\x22repl:\x22)){\nreturn null;\n} else {\nvar parts \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(frame_str__$1,/\\s+/);\nvar vec__12331 \x3d ((((2) \x3d\x3d\x3d cljs.core.count(parts)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(parts),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.second(parts),(1),(cljs.core.count(cljs.core.second(parts)) - (1)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(parts)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12331,(0),null);\nvar file_AMPERSAND_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12331,(1),null);\nvar vec__12334 \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(file_AMPERSAND_line,/:/);\nvar file_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12334,(0),null);\nvar line_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12334,(1),null);\nvar col_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12334,(2),null);\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),(cljs.core.truth_(function$)?(function (){var G__12340 \x3d file_part;\nif(cljs.core.truth_(output_dir)){\nreturn clojure.string.replace(G__12340,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),\x22/\x22].join(\x27\x27),\x22\x22);\n} else {\nreturn G__12340;\n}\n})():file_part),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),parse_source_loc_info(line_part),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),parse_source_loc_info(col_part)], null);\n}\n}\n});\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(process_frame,clojure.string.split.cljs$core$IFn$_invoke$arity$2(st,/\\n/))));\n}));\ncljs.stacktrace.remove_ext \x3d (function cljs$stacktrace$remove_ext(file){\nreturn clojure.string.replace(clojure.string.replace(clojure.string.replace(clojure.string.replace(file,/\\.js$/,\x22\x22),/\\.cljs$/,\x22\x22),/\\.cljc$/,\x22\x22),/\\.clj$/,\x22\x22);\n});\n/**\n * Given a cljs.source-map source map data structure map a generated line\n * and column back to the original line, column, and function called.\n */\ncljs.stacktrace.mapped_line_column_call \x3d (function cljs$stacktrace$mapped_line_column_call(sms,file,line,column){\nvar source_map \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(sms,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace(cljs.stacktrace.remove_ext(file),\x22/\x22,\x22.\x22)));\nvar get_best_column \x3d (function cljs$stacktrace$mapped_line_column_call_$_get_best_column(columns,column__$1){\nreturn cljs.core.last((function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(columns,cljs.core.last(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__12397_SHARP_){\nreturn (p1__12397_SHARP_ \x3c\x3d (column__$1 - (1)));\n}),cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.keys(columns)))));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.second(cljs.core.first(columns));\n}\n})());\n});\nvar adjust \x3d (function cljs$stacktrace$mapped_line_column_call_$_adjust(mapped){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__12403_SHARP_,p2__12405_SHARP_){\nreturn (p1__12403_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12403_SHARP_.cljs$core$IFn$_invoke$arity$1(p2__12405_SHARP_) : p1__12403_SHARP_.call(null,p2__12405_SHARP_));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.inc,cljs.core.inc,cljs.core.identity], null),mapped));\n});\nvar default$ \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null);\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(source_map,(line - (1)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar columns \x3d temp__5802__auto__;\nreturn adjust(cljs.core.map.cljs$core$IFn$_invoke$arity$2(get_best_column(columns,column),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177)], null)));\n} else {\nreturn default$;\n}\n});\n/**\n * Given opts and a canonicalized JavaScript stacktrace frame, return the\n * ClojureScript frame.\n */\ncljs.stacktrace.mapped_frame \x3d (function cljs$stacktrace$mapped_frame(p__12442,sms,opts){\nvar map__12445 \x3d p__12442;\nvar map__12445__$1 \x3d cljs.core.__destructure_map(map__12445);\nvar function$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12445__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12445__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12445__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12445__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar no_source_file_QMARK_ \x3d ((cljs.core.not(file))?true:cljs.stacktrace.starts_with_QMARK_(file,\x22\x3c\x22));\nvar vec__12446 \x3d ((no_source_file_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null):cljs.stacktrace.mapped_line_column_call(sms,file,line,column));\nvar line_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12446,(0),null);\nvar column_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12446,(1),null);\nvar call \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12446,(2),null);\nvar file_SINGLEQUOTE_ \x3d ((no_source_file_QMARK_)?null:((cljs.stacktrace.ends_with_QMARK_(file,\x22.js\x22))?[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(file,(0),(cljs.core.count(file) - (3))),\x22.cljs\x22].join(\x27\x27):file));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866),call,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),((no_source_file_QMARK_)?[\x22NO_SOURCE_FILE\x22,(cljs.core.truth_(file)?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27):null)].join(\x27\x27):file_SINGLEQUOTE_),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line_SINGLEQUOTE_,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column_SINGLEQUOTE_], null);\n});\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace\n * return the ClojureScript stacktrace. The canonical stacktrace must be\n * in the form:\n * \n * [{:file \x3cstring\x3e\n * :function \x3cstring\x3e\n * :line \x3cinteger\x3e\n * :column \x3cinteger\x3e}*]\n * \n * :file must be a URL path (without protocol) relative to :output-dir or a\n * identifier delimited by angle brackets. The returned mapped stacktrace will\n * also contain :url entries to the original sources if it can be determined\n * from the classpath.\n */\ncljs.stacktrace.mapped_stacktrace \x3d (function cljs$stacktrace$mapped_stacktrace(var_args){\nvar G__12475 \x3d arguments.length;\nswitch (G__12475) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar call__GT_function \x3d (function cljs$stacktrace$call__GT_function(x){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x))){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473)],[new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x)]);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n});\nvar call_merge \x3d (function cljs$stacktrace$call_merge(function$,call){\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((function (munged_fn_name,unmunged_call_name){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(munged_fn_name,clojure.string.replace(cljs.core.munge(unmunged_call_name),\x22.\x22,\x22$\x22))){\nreturn unmunged_call_name;\n} else {\nreturn munged_fn_name;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function$,call], 0));\n});\nvar mapped_frames \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.memoize((function (p1__12472_SHARP_){\nreturn cljs.stacktrace.mapped_frame(p1__12472_SHARP_,sms,opts);\n})),stacktrace);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3(call_merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12473_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__12473_SHARP_,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866));\n}),mapped_frames),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(cljs.core.map.cljs$core$IFn$_invoke$arity$2(call__GT_function,mapped_frames)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.EMPTY], null))));\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace and a map\n * of library names to decoded source maps, print the ClojureScript stacktrace .\n * See mapped-stacktrace.\n */\ncljs.stacktrace.mapped_stacktrace_str \x3d (function cljs$stacktrace$mapped_stacktrace_str(var_args){\nvar G__12486 \x3d arguments.length;\nswitch (G__12486) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__12519_12775 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__12520_12776 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__12521_12777 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__12522_12778 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__12521_12777);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__12522_12778);\n\ntry{var seq__12529_12779 \x3d cljs.core.seq(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,opts));\nvar chunk__12530_12780 \x3d null;\nvar count__12531_12781 \x3d (0);\nvar i__12532_12782 \x3d (0);\nwhile(true){\nif((i__12532_12782 \x3c count__12531_12781)){\nvar map__12573_12784 \x3d chunk__12530_12780.cljs$core$IIndexed$_nth$arity$2(null,i__12532_12782);\nvar map__12573_12785__$1 \x3d cljs.core.__destructure_map(map__12573_12784);\nvar function_12786 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12573_12785__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_12787 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12573_12785__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_12788 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12573_12785__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_12789 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12573_12785__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_12786)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_12786),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_12787),(cljs.core.truth_(line_12788)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_12788)].join(\x27\x27):null),(cljs.core.truth_(column_12789)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_12789)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__12803 \x3d seq__12529_12779;\nvar G__12804 \x3d chunk__12530_12780;\nvar G__12805 \x3d count__12531_12781;\nvar G__12806 \x3d (i__12532_12782 + (1));\nseq__12529_12779 \x3d G__12803;\nchunk__12530_12780 \x3d G__12804;\ncount__12531_12781 \x3d G__12805;\ni__12532_12782 \x3d G__12806;\ncontinue;\n} else {\nvar temp__5804__auto___12807 \x3d cljs.core.seq(seq__12529_12779);\nif(temp__5804__auto___12807){\nvar seq__12529_12811__$1 \x3d temp__5804__auto___12807;\nif(cljs.core.chunked_seq_QMARK_(seq__12529_12811__$1)){\nvar c__5568__auto___12812 \x3d cljs.core.chunk_first(seq__12529_12811__$1);\nvar G__12814 \x3d cljs.core.chunk_rest(seq__12529_12811__$1);\nvar G__12815 \x3d c__5568__auto___12812;\nvar G__12816 \x3d cljs.core.count(c__5568__auto___12812);\nvar G__12817 \x3d (0);\nseq__12529_12779 \x3d G__12814;\nchunk__12530_12780 \x3d G__12815;\ncount__12531_12781 \x3d G__12816;\ni__12532_12782 \x3d G__12817;\ncontinue;\n} else {\nvar map__12595_12818 \x3d cljs.core.first(seq__12529_12811__$1);\nvar map__12595_12819__$1 \x3d cljs.core.__destructure_map(map__12595_12818);\nvar function_12820 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12595_12819__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_12821 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12595_12819__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_12822 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12595_12819__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_12823 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12595_12819__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_12820)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_12820),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_12821),(cljs.core.truth_(line_12822)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_12822)].join(\x27\x27):null),(cljs.core.truth_(column_12823)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_12823)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__12828 \x3d cljs.core.next(seq__12529_12811__$1);\nvar G__12829 \x3d null;\nvar G__12830 \x3d (0);\nvar G__12831 \x3d (0);\nseq__12529_12779 \x3d G__12828;\nchunk__12530_12780 \x3d G__12829;\ncount__12531_12781 \x3d G__12830;\ni__12532_12782 \x3d G__12831;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__12520_12776);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__12519_12775);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("devtools.hints.js", true , "goog.provide(\x27devtools.hints\x27);\ndevtools.hints.available_QMARK_ \x3d (function devtools$hints$available_QMARK_(){\nreturn true;\n});\ndevtools.hints._STAR_installed_STAR_ \x3d false;\ndevtools.hints._STAR_original_global_error_handler_STAR_ \x3d null;\ndevtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d null;\ndevtools.hints.processed_errors \x3d cljs.core.volatile_BANG_(null);\ndevtools.hints.set_processed_errors_BANG_ \x3d (function devtools$hints$set_processed_errors_BANG_(val){\nreturn cljs.core.vreset_BANG_(devtools.hints.processed_errors,val);\n});\ndevtools.hints.get_processed_errors_BANG_ \x3d (function devtools$hints$get_processed_errors_BANG_(){\nvar temp__5802__auto__ \x3d cljs.core.deref(devtools.hints.processed_errors);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar val \x3d temp__5802__auto__;\nreturn val;\n} else {\nif((typeof WeakSet !\x3d\x3d \x27undefined\x27)){\nreturn devtools.hints.set_processed_errors_BANG_((new WeakSet()));\n} else {\nreturn null;\n}\n}\n});\ndevtools.hints.empty_as_nil \x3d (function devtools$hints$empty_as_nil(str){\nif(cljs.core.empty_QMARK_(str)){\nreturn null;\n} else {\nreturn str;\n}\n});\ndevtools.hints.ajax_reader \x3d (function devtools$hints$ajax_reader(url){\nvar xhr \x3d (new XMLHttpRequest());\nxhr.open(\x22GET\x22,url,false);\n\nxhr.send();\n\nreturn devtools.hints.empty_as_nil(xhr.responseText);\n});\ndevtools.hints.retrieve_javascript_source \x3d (function devtools$hints$retrieve_javascript_source(where){\nvar reader \x3d (function (){var or__5045__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.hints.ajax_reader;\n}\n})();\nreturn (reader.cljs$core$IFn$_invoke$arity$1 ? reader.cljs$core$IFn$_invoke$arity$1(where) : reader.call(null,where));\n});\ndevtools.hints.get_line \x3d (function devtools$hints$get_line(lines,line_number){\nreturn (lines[(line_number - (1))]);\n});\ndevtools.hints.extend_content \x3d (function devtools$hints$extend_content(content,lines,line_number,min_length){\nif((((cljs.core.count(content) \x3e min_length)) || ((!((line_number \x3e (0))))))){\nreturn content;\n} else {\nvar prev_line_number \x3d (line_number - (1));\nvar prev_line \x3d devtools.hints.get_line(lines,prev_line_number);\nvar new_content \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prev_line),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(content)].join(\x27\x27);\nreturn (devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4 ? devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4(new_content,lines,prev_line_number,min_length) : devtools.hints.extend_content.call(null,new_content,lines,prev_line_number,min_length));\n}\n});\ndevtools.hints.mark_call_closed_at_column \x3d (function devtools$hints$mark_call_closed_at_column(line,column){\nvar n \x3d (column - (1));\nvar prefix \x3d line.substring((0),n);\nvar postfix \x3d line.substring(n);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22 \x3c\x3c\x3c \\u2622 NULL \\u2622 \x3c\x3c\x3c \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.hints.mark_null_call_site_location \x3d (function devtools$hints$mark_null_call_site_location(file,line_number,column){\nvar content \x3d devtools.hints.retrieve_javascript_source(file);\nvar lines \x3d content.split(\x22\\n\x22);\nvar line \x3d devtools.hints.get_line(lines,line_number);\nvar marked_line \x3d devtools.hints.mark_call_closed_at_column(line,column);\nvar min_length \x3d (function (){var or__5045__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (128);\n}\n})();\nreturn devtools.hints.extend_content(marked_line,lines,line_number,min_length);\n});\ndevtools.hints.make_sense_of_the_error \x3d (function devtools$hints$make_sense_of_the_error(message,file,line_number,column){\nif(cljs.core.truth_(cljs.core.re_matches(/Cannot read property \x27call\x27 of.*/,message))){\nreturn devtools.hints.mark_null_call_site_location(file,line_number,column);\n} else {\nreturn null;\n\n}\n});\ndevtools.hints.parse_stacktrace \x3d (function devtools$hints$parse_stacktrace(native_stack_trace){\nreturn cljs.stacktrace.parse_stacktrace.cljs$core$IFn$_invoke$arity$4(cljs.core.PersistentArrayMap.EMPTY,native_stack_trace,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227),new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072),\x22\x22], null));\n});\ndevtools.hints.error_object_sense \x3d (function devtools$hints$error_object_sense(error){\ntry{var native_stack_trace \x3d error.stack;\nvar stack_trace \x3d devtools.hints.parse_stacktrace(native_stack_trace);\nvar top_item \x3d cljs.core.second(stack_trace);\nvar map__14103 \x3d top_item;\nvar map__14103__$1 \x3d cljs.core.__destructure_map(map__14103);\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14103__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14103__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14103__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nreturn devtools.hints.make_sense_of_the_error(error.message,file,line,column);\n}catch (e14102){var _e \x3d e14102;\nreturn false;\n}});\ndevtools.hints.type_error_to_string \x3d (function devtools$hints$type_error_to_string(self){\nvar temp__5802__auto___14195 \x3d devtools.hints.get_processed_errors_BANG_();\nif(cljs.core.truth_(temp__5802__auto___14195)){\nvar seen_errors_14196 \x3d temp__5802__auto___14195;\nif(cljs.core.truth_(seen_errors_14196.has(self))){\n} else {\nseen_errors_14196.add(self);\n\nvar temp__5804__auto___14197 \x3d devtools.hints.error_object_sense(self);\nif(cljs.core.truth_(temp__5804__auto___14197)){\nvar sense_14198 \x3d temp__5804__auto___14197;\n(self.message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self.message),\x22, a sanity hint:\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sense_14198)].join(\x27\x27));\n} else {\n}\n}\n} else {\n}\n\nreturn devtools.hints._STAR_original_type_error_prototype_to_string_STAR_.call(self);\n});\ndevtools.hints.global_error_handler \x3d (function devtools$hints$global_error_handler(message,url,line,column,error){\nvar res \x3d (cljs.core.truth_(devtools.hints._STAR_original_global_error_handler_STAR_)?devtools.hints._STAR_original_global_error_handler_STAR_.call(null,message,url,line,column,error):null);\nif(cljs.core.not(res)){\nvar temp__5804__auto__ \x3d devtools.hints.error_object_sense(error);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar sense \x3d temp__5804__auto__;\ndevtools.context.get_console.call(null).info(\x22A sanity hint for incoming uncaught error:\\n\x22,sense);\n\nreturn false;\n} else {\nreturn null;\n}\n} else {\nreturn true;\n}\n});\ndevtools.hints.install_type_error_enhancer \x3d (function devtools$hints$install_type_error_enhancer(){\n(devtools.hints._STAR_original_global_error_handler_STAR_ \x3d devtools.context.get_root.call(null).onerror);\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints.global_error_handler);\n\nvar prototype \x3d TypeError.prototype;\n(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d prototype.toString);\n\nreturn (prototype.toString \x3d (function (){\nvar self \x3d this;\nreturn devtools.hints.type_error_to_string(self);\n}));\n});\ndevtools.hints.installed_QMARK_ \x3d (function devtools$hints$installed_QMARK_(){\nreturn devtools.hints._STAR_installed_STAR_;\n});\ndevtools.hints.install_BANG_ \x3d (function devtools$hints$install_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.hints._STAR_installed_STAR_ \x3d true);\n\ndevtools.hints.install_type_error_enhancer();\n\nreturn true;\n}\n});\ndevtools.hints.uninstall_BANG_ \x3d (function devtools$hints$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\n(devtools.hints._STAR_installed_STAR_ \x3d false);\n\nif(cljs.core.truth_(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_)){\n} else {\nthrow (new Error(\x22Assert failed: *original-type-error-prototype-to-string*\x22));\n}\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints._STAR_original_global_error_handler_STAR_);\n\nvar prototype \x3d TypeError.prototype;\nreturn (prototype.toString \x3d devtools.hints._STAR_original_type_error_prototype_to_string_STAR_);\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("goog.labs.useragent.engine.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.engine\x22);\n goog.module.declareLegacyNamespace();\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n function isPresto() {\n return util.matchUserAgent(\x22Presto\x22);\n }\n function isTrident() {\n return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n }\n function isEdge() {\n return util.matchUserAgent(\x22Edge\x22);\n }\n function isWebKit() {\n return util.matchUserAgentIgnoreCase(\x22WebKit\x22) \x26\x26 !isEdge();\n }\n function isGecko() {\n return util.matchUserAgent(\x22Gecko\x22) \x26\x26 !isWebKit() \x26\x26 !isTrident() \x26\x26 !isEdge();\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n if (userAgentString) {\n const tuples \x3d util.extractVersionTuples(userAgentString);\n const engineTuple \x3d getEngineTuple(tuples);\n if (engineTuple) {\n if (engineTuple[0] \x3d\x3d \x22Gecko\x22) {\n return getVersionForKey(tuples, \x22Firefox\x22);\n }\n return engineTuple[1];\n }\n const browserTuple \x3d tuples[0];\n let info;\n if (browserTuple \x26\x26 (info \x3d browserTuple[2])) {\n const match \x3d /Trident\\/([^\\s;]+)/.exec(info);\n if (match) {\n return match[1];\n }\n }\n }\n return \x22\x22;\n }\n function getEngineTuple(tuples) {\n if (!isEdge()) {\n return tuples[1];\n }\n for (let i \x3d 0; i \x3c tuples.length; i++) {\n const tuple \x3d tuples[i];\n if (tuple[0] \x3d\x3d \x22Edge\x22) {\n return tuple;\n }\n }\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n function getVersionForKey(tuples, key) {\n const pair \x3d googArray.find(tuples, function(pair) {\n return key \x3d\x3d pair[0];\n });\n return pair \x26\x26 pair[1] || \x22\x22;\n }\n exports \x3d {getVersion, isEdge, isGecko, isPresto, isTrident, isVersionOrHigher, isWebKit,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.labs.useragent.platform.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.platform\x22);\n goog.module.declareLegacyNamespace();\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n function isAndroid() {\n return util.matchUserAgent(\x22Android\x22);\n }\n function isIpod() {\n return util.matchUserAgent(\x22iPod\x22);\n }\n function isIphone() {\n return util.matchUserAgent(\x22iPhone\x22) \x26\x26 !util.matchUserAgent(\x22iPod\x22) \x26\x26 !util.matchUserAgent(\x22iPad\x22);\n }\n function isIpad() {\n return util.matchUserAgent(\x22iPad\x22);\n }\n function isIos() {\n return isIphone() || isIpad() || isIpod();\n }\n function isMacintosh() {\n return util.matchUserAgent(\x22Macintosh\x22);\n }\n function isLinux() {\n return util.matchUserAgent(\x22Linux\x22);\n }\n function isWindows() {\n return util.matchUserAgent(\x22Windows\x22);\n }\n function isChromeOS() {\n return util.matchUserAgent(\x22CrOS\x22);\n }\n function isChromecast() {\n return util.matchUserAgent(\x22CrKey\x22);\n }\n function isKaiOS() {\n return util.matchUserAgentIgnoreCase(\x22KaiOS\x22);\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n let version \x3d \x22\x22, re;\n if (isWindows()) {\n re \x3d /Windows (?:NT|Phone) ([0-9.]+)/;\n const match \x3d re.exec(userAgentString);\n if (match) {\n version \x3d match[1];\n } else {\n version \x3d \x220.0\x22;\n }\n } else if (isIos()) {\n re \x3d /(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1].replace(/_/g, \x22.\x22);\n } else if (isMacintosh()) {\n re \x3d /Mac OS X ([0-9_.]+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match ? match[1].replace(/_/g, \x22.\x22) : \x2210\x22;\n } else if (isKaiOS()) {\n re \x3d /(?:KaiOS)\\/(\\S+)/i;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isAndroid()) {\n re \x3d /Android\\s+([^\\);]+)(\\)|;)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isChromeOS()) {\n re \x3d /(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n }\n return version || \x22\x22;\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n exports \x3d {getVersion, isAndroid, isChromeOS, isChromecast, isIos, isIpad, isIphone, isIpod, isKaiOS, isLinux, isMacintosh, isVersionOrHigher, isWindows,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.useragent.useragent.js", true , "goog.provide(\x22goog.userAgent\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.labs.userAgent.util\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.userAgent.ASSUME_IE \x3d goog.define(\x22goog.userAgent.ASSUME_IE\x22, false);\ngoog.userAgent.ASSUME_EDGE \x3d goog.define(\x22goog.userAgent.ASSUME_EDGE\x22, false);\ngoog.userAgent.ASSUME_GECKO \x3d goog.define(\x22goog.userAgent.ASSUME_GECKO\x22, false);\ngoog.userAgent.ASSUME_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_MOBILE_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_OPERA \x3d goog.define(\x22goog.userAgent.ASSUME_OPERA\x22, false);\ngoog.userAgent.ASSUME_ANY_VERSION \x3d goog.define(\x22goog.userAgent.ASSUME_ANY_VERSION\x22, false);\ngoog.userAgent.BROWSER_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;\ngoog.userAgent.getUserAgentString \x3d function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped \x3d function() {\n return goog.global[\x22navigator\x22] || null;\n};\ngoog.userAgent.getNavigator \x3d function() {\n return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE \x3d goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ \x3d function() {\n return goog.userAgent.WEBKIT \x26\x26 goog.labs.userAgent.util.matchUserAgent(\x22Mobile\x22);\n};\ngoog.userAgent.MOBILE \x3d goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI \x3d goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ \x3d function() {\n var navigator \x3d goog.userAgent.getNavigatorTyped();\n return navigator \x26\x26 navigator.platform || \x22\x22;\n};\ngoog.userAgent.PLATFORM \x3d goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC \x3d goog.define(\x22goog.userAgent.ASSUME_MAC\x22, false);\ngoog.userAgent.ASSUME_WINDOWS \x3d goog.define(\x22goog.userAgent.ASSUME_WINDOWS\x22, false);\ngoog.userAgent.ASSUME_LINUX \x3d goog.define(\x22goog.userAgent.ASSUME_LINUX\x22, false);\ngoog.userAgent.ASSUME_X11 \x3d goog.define(\x22goog.userAgent.ASSUME_X11\x22, false);\ngoog.userAgent.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.ASSUME_ANDROID\x22, false);\ngoog.userAgent.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.ASSUME_IPHONE\x22, false);\ngoog.userAgent.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.ASSUME_IPAD\x22, false);\ngoog.userAgent.ASSUME_IPOD \x3d goog.define(\x22goog.userAgent.ASSUME_IPOD\x22, false);\ngoog.userAgent.ASSUME_KAIOS \x3d goog.define(\x22goog.userAgent.ASSUME_KAIOS\x22, false);\ngoog.userAgent.PLATFORM_KNOWN_ \x3d goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ \x3d function() {\n return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.isX11_ \x3d function() {\n var navigator \x3d goog.userAgent.getNavigatorTyped();\n return !!navigator \x26\x26 goog.string.internal.contains(navigator[\x22appVersion\x22] || \x22\x22, \x22X11\x22);\n};\ngoog.userAgent.X11 \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();\ngoog.userAgent.ANDROID \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.determineVersion_ \x3d function() {\n var version \x3d \x22\x22;\n var arr \x3d goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version \x3d arr ? arr[1] : \x22\x22;\n }\n if (goog.userAgent.IE) {\n var docMode \x3d goog.userAgent.getDocumentMode_();\n if (docMode !\x3d null \x26\x26 docMode \x3e parseFloat(version)) {\n return String(docMode);\n }\n }\n return version;\n};\ngoog.userAgent.getVersionRegexResult_ \x3d function() {\n var userAgent \x3d goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\ngoog.userAgent.getDocumentMode_ \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n return doc ? doc[\x22documentMode\x22] : undefined;\n};\ngoog.userAgent.VERSION \x3d goog.userAgent.determineVersion_();\ngoog.userAgent.compare \x3d function(v1, v2) {\n return goog.string.internal.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ \x3d {};\ngoog.userAgent.isVersionOrHigher \x3d function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) \x3e\x3d 0;\n });\n};\ngoog.userAgent.isDocumentModeOrHigher \x3d function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) \x3e\x3d documentMode;\n};\ngoog.userAgent.isDocumentMode \x3d goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n var documentMode \x3d goog.userAgent.getDocumentMode_();\n if (documentMode) {\n return documentMode;\n }\n var ieVersion \x3d parseInt(goog.userAgent.VERSION, 10);\n return ieVersion || undefined;\n}();\n"); +SHADOW_ENV.evalLoad("clojure.set.js", true , "goog.provide(\x27clojure.set\x27);\nclojure.set.bubble_max_key \x3d (function clojure$set$bubble_max_key(k,coll){\n\nvar max \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__11176_SHARP_){\nreturn (max \x3d\x3d\x3d p1__11176_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union \x3d (function clojure$set$union(var_args){\nvar G__11182 \x3d arguments.length;\nswitch (G__11182) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11259 \x3d arguments.length;\nvar i__5770__auto___11260 \x3d (0);\nwhile(true){\nif((i__5770__auto___11260 \x3c len__5769__auto___11259)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11260]));\n\nvar G__11262 \x3d (i__5770__auto___11260 + (1));\ni__5770__auto___11260 \x3d G__11262;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo \x3d (function (seq11179){\nvar G__11180 \x3d cljs.core.first(seq11179);\nvar seq11179__$1 \x3d cljs.core.next(seq11179);\nvar G__11181 \x3d cljs.core.first(seq11179__$1);\nvar seq11179__$2 \x3d cljs.core.next(seq11179__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11180,G__11181,seq11179__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection \x3d (function clojure$set$intersection(var_args){\nvar G__11200 \x3d arguments.length;\nswitch (G__11200) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11272 \x3d arguments.length;\nvar i__5770__auto___11273 \x3d (0);\nwhile(true){\nif((i__5770__auto___11273 \x3c len__5769__auto___11272)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11273]));\n\nvar G__11274 \x3d (i__5770__auto___11273 + (1));\ni__5770__auto___11273 \x3d G__11274;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) \x3c cljs.core.count(s1))){\nvar G__11279 \x3d s2;\nvar G__11280 \x3d s1;\ns1 \x3d G__11279;\ns2 \x3d G__11280;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key((function (p1__11195_SHARP_){\nreturn (- cljs.core.count(p1__11195_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo \x3d (function (seq11197){\nvar G__11198 \x3d cljs.core.first(seq11197);\nvar seq11197__$1 \x3d cljs.core.next(seq11197);\nvar G__11199 \x3d cljs.core.first(seq11197__$1);\nvar seq11197__$2 \x3d cljs.core.next(seq11197__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11198,G__11199,seq11197__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference \x3d (function clojure$set$difference(var_args){\nvar G__11209 \x3d arguments.length;\nswitch (G__11209) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___11291 \x3d arguments.length;\nvar i__5770__auto___11292 \x3d (0);\nwhile(true){\nif((i__5770__auto___11292 \x3c len__5769__auto___11291)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___11292]));\n\nvar G__11293 \x3d (i__5770__auto___11292 + (1));\ni__5770__auto___11292 \x3d G__11293;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo \x3d (function (seq11206){\nvar G__11207 \x3d cljs.core.first(seq11206);\nvar seq11206__$1 \x3d cljs.core.next(seq11206);\nvar G__11208 \x3d cljs.core.first(seq11206__$1);\nvar seq11206__$2 \x3d cljs.core.next(seq11206__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11207,G__11208,seq11206__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select \x3d (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project \x3d (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11222_SHARP_){\nreturn cljs.core.select_keys(p1__11222_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys \x3d (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__11223){\nvar vec__11224 \x3d p__11223;\nvar old \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11224,(0),null);\nvar new$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11224,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename \x3d (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11227_SHARP_){\nreturn clojure.set.rename_keys(p1__11227_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n * set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index \x3d (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik \x3d cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert \x3d (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n * join. When passed an additional keymap, joins on the corresponding\n * keys.\n */\nclojure.set.join \x3d (function clojure$set$join(var_args){\nvar G__11233 \x3d arguments.length;\nswitch (G__11233) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) \x26\x26 (cljs.core.seq(yrel)))){\nvar ks \x3d clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__11238 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11238,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11238,(1),null);\nvar idx \x3d clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__11245 \x3d cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__11245) : idx.call(null,G__11245));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11228_SHARP_,p2__11229_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11228_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__11229_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 \x3d (function (xrel,yrel,km){\nvar vec__11250 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11250,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11250,(1),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11250,(2),null);\nvar idx \x3d clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__11254 \x3d clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__11254) : idx.call(null,G__11254));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11230_SHARP_,p2__11231_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11230_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__11231_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ \x3d (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3c\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__11255_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__11255_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ \x3d (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3e\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__11256_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__11256_SHARP_);\n}),set2)));\n});\n"); +SHADOW_ENV.evalLoad("clojure.data.js", true , "goog.provide(\x27clojure.data\x27);\n/**\n * Internal helper for diff.\n */\nclojure.data.atom_diff \x3d (function clojure$data$atom_diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);\n}\n});\n/**\n * Convert an associative-by-numeric-index collection into\n * an equivalent vector, with nil for any missing keys\n */\nclojure.data.vectorize \x3d (function clojure$data$vectorize(m){\nif(cljs.core.seq(m)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__11677){\nvar vec__11678 \x3d p__11677;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11678,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11678,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);\n}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);\n} else {\nreturn null;\n}\n});\n/**\n * Diff associative things a and b, comparing only the key k.\n */\nclojure.data.diff_associative_key \x3d (function clojure$data$diff_associative_key(a,b,k){\nvar va \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);\nvar vb \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);\nvar vec__11681 \x3d clojure.data.diff(va,vb);\nvar a_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11681,(0),null);\nvar b_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11681,(1),null);\nvar ab \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11681,(2),null);\nvar in_a \x3d cljs.core.contains_QMARK_(a,k);\nvar in_b \x3d cljs.core.contains_QMARK_(b,k);\nvar same \x3d ((in_a) \x26\x26 (((in_b) \x26\x26 ((((!((ab \x3d\x3d null)))) || ((((va \x3d\x3d null)) \x26\x26 ((vb \x3d\x3d null)))))))));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) \x26\x26 ((((!((a_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) \x26\x26 ((((!((b_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);\n});\n/**\n * Diff associative things a and b, comparing only keys in ks (if supplied).\n */\nclojure.data.diff_associative \x3d (function clojure$data$diff_associative(var_args){\nvar G__11686 \x3d arguments.length;\nswitch (G__11686) {\ncase 2:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));\n}));\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));\n}));\n\n(clojure.data.diff_associative.cljs$lang$maxFixedArity \x3d 3);\n\nclojure.data.diff_sequential \x3d (function clojure$data$diff_sequential(a,b){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5130__auto__ \x3d cljs.core.count(a);\nvar y__5131__auto__ \x3d cljs.core.count(b);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})()))));\n});\nclojure.data.diff_set \x3d (function clojure$data$diff_set(a,b){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);\n});\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.EqualityPartition \x3d function(){};\n\nvar clojure$data$EqualityPartition$equality_partition$dyn_11802 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (clojure.data.equality_partition[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.equality_partition[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22EqualityPartition.equality-partition\x22,x);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.equality_partition \x3d (function clojure$data$equality_partition(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 \x3d\x3d null)))))){\nreturn x.clojure$data$EqualityPartition$equality_partition$arity$1(x);\n} else {\nreturn clojure$data$EqualityPartition$equality_partition$dyn_11802(x);\n}\n});\n\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.Diff \x3d function(){};\n\nvar clojure$data$Diff$diff_similar$dyn_11803 \x3d (function (a,b){\nvar x__5393__auto__ \x3d (((a \x3d\x3d null))?null:a);\nvar m__5394__auto__ \x3d (clojure.data.diff_similar[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5394__auto__.call(null,a,b));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.diff_similar[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5392__auto__.call(null,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Diff.diff-similar\x22,a);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.diff_similar \x3d (function clojure$data$diff_similar(a,b){\nif((((!((a \x3d\x3d null)))) \x26\x26 ((!((a.clojure$data$Diff$diff_similar$arity$2 \x3d\x3d null)))))){\nreturn a.clojure$data$Diff$diff_similar$arity$2(a,b);\n} else {\nreturn clojure$data$Diff$diff_similar$dyn_11803(a,b);\n}\n});\n\n(clojure.data.EqualityPartition[\x22null\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22null\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22string\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22string\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22number\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22number\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22array\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22array\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n}));\n\n(clojure.data.EqualityPartition[\x22function\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22function\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22boolean\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22boolean\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22_\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22_\x22] \x3d (function (x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n} else {\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n\n}\n}\n}\n}));\n(clojure.data.Diff[\x22null\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22null\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22string\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22string\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22number\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22number\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22array\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22array\x22] \x3d (function (a,b){\nreturn clojure.data.diff_sequential(a,b);\n}));\n\n(clojure.data.Diff[\x22function\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22function\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22boolean\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22boolean\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22_\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22_\x22] \x3d (function (a,b){\nvar fexpr__11783 \x3d (function (){var G__11784 \x3d clojure.data.equality_partition(a);\nvar G__11784__$1 \x3d (((G__11784 instanceof cljs.core.Keyword))?G__11784.fqn:null);\nswitch (G__11784__$1) {\ncase \x22atom\x22:\nreturn clojure.data.atom_diff;\n\nbreak;\ncase \x22set\x22:\nreturn clojure.data.diff_set;\n\nbreak;\ncase \x22sequential\x22:\nreturn clojure.data.diff_sequential;\n\nbreak;\ncase \x22map\x22:\nreturn clojure.data.diff_associative;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__11784__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (fexpr__11783.cljs$core$IFn$_invoke$arity$2 ? fexpr__11783.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__11783.call(null,a,b));\n}));\n/**\n * Recursively compares a and b, returning a tuple of\n * [things-only-in-a things-only-in-b things-in-both].\n * Comparison rules:\n * \n * * For equal a and b, return [nil nil a].\n * * Maps are subdiffed where keys match and values differ.\n * * Sets are never subdiffed.\n * * All sequential things are treated as associative collections\n * by their indexes, with results returned as vectors.\n * * Everything else (including strings!) is treated as\n * an atom and compared for equality.\n */\nclojure.data.diff \x3d (function clojure$data$diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){\nreturn clojure.data.diff_similar(a,b);\n} else {\nreturn clojure.data.atom_diff(a,b);\n}\n}\n});\n"); +SHADOW_ENV.evalLoad("devtools.version.js", true , "goog.provide(\x27devtools.version\x27);\ndevtools.version.current_version \x3d \x220.9.10\x22;\ndevtools.version.get_current_version \x3d (function devtools$version$get_current_version(){\nreturn devtools.version.current_version;\n});\n"); +SHADOW_ENV.evalLoad("cljs.pprint.js", true , "goog.provide(\x27cljs.pprint\x27);\ncljs.pprint.print \x3d (function cljs$pprint$print(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14735 \x3d arguments.length;\nvar i__5770__auto___14736 \x3d (0);\nwhile(true){\nif((i__5770__auto___14736 \x3c len__5769__auto___14735)){\nargs__5775__auto__.push((arguments[i__5770__auto___14736]));\n\nvar G__14737 \x3d (i__5770__auto___14736 + (1));\ni__5770__auto___14736 \x3d G__14737;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,more));\n}));\n\n(cljs.pprint.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.print.cljs$lang$applyTo \x3d (function (seq11676){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11676));\n}));\n\ncljs.pprint.println \x3d (function cljs$pprint$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14738 \x3d arguments.length;\nvar i__5770__auto___14739 \x3d (0);\nwhile(true){\nif((i__5770__auto___14739 \x3c len__5769__auto___14738)){\nargs__5775__auto__.push((arguments[i__5770__auto___14739]));\n\nvar G__14740 \x3d (i__5770__auto___14739 + (1));\ni__5770__auto___14739 \x3d G__14740;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.print,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.println.cljs$lang$applyTo \x3d (function (seq11684){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11684));\n}));\n\ncljs.pprint.print_char \x3d (function cljs$pprint$print_char(c){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,(function (){var pred__11687 \x3d cljs.core._EQ_;\nvar expr__11688 \x3d c;\nif(cljs.core.truth_((function (){var G__11690 \x3d \x22\\b\x22;\nvar G__11691 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11690,G__11691) : pred__11687.call(null,G__11690,G__11691));\n})())){\nreturn \x22\\\\backspace\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11692 \x3d \x22 \x22;\nvar G__11693 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11692,G__11693) : pred__11687.call(null,G__11692,G__11693));\n})())){\nreturn \x22\\\\space\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11694 \x3d \x22\\t\x22;\nvar G__11695 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11694,G__11695) : pred__11687.call(null,G__11694,G__11695));\n})())){\nreturn \x22\\\\tab\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11696 \x3d \x22\\n\x22;\nvar G__11697 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11696,G__11697) : pred__11687.call(null,G__11696,G__11697));\n})())){\nreturn \x22\\\\newline\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11698 \x3d \x22\\f\x22;\nvar G__11699 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11698,G__11699) : pred__11687.call(null,G__11698,G__11699));\n})())){\nreturn \x22\\\\formfeed\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11700 \x3d \x22\\r\x22;\nvar G__11701 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11700,G__11701) : pred__11687.call(null,G__11700,G__11701));\n})())){\nreturn \x22\\\\return\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11702 \x3d \x22\\\x22\x22;\nvar G__11703 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11702,G__11703) : pred__11687.call(null,G__11702,G__11703));\n})())){\nreturn \x22\\\\\\\x22\x22;\n} else {\nif(cljs.core.truth_((function (){var G__11704 \x3d \x22\\\\\x22;\nvar G__11705 \x3d expr__11688;\nreturn (pred__11687.cljs$core$IFn$_invoke$arity$2 ? pred__11687.cljs$core$IFn$_invoke$arity$2(G__11704,G__11705) : pred__11687.call(null,G__11704,G__11705));\n})())){\nreturn \x22\\\\\\\\\x22;\n} else {\nreturn [\x22\\\\\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27);\n}\n}\n}\n}\n}\n}\n}\n}\n})());\n});\ncljs.pprint.pr \x3d (function cljs$pprint$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14741 \x3d arguments.length;\nvar i__5770__auto___14742 \x3d (0);\nwhile(true){\nif((i__5770__auto___14742 \x3c len__5769__auto___14741)){\nargs__5775__auto__.push((arguments[i__5770__auto___14742]));\n\nvar G__14743 \x3d (i__5770__auto___14742 + (1));\ni__5770__auto___14742 \x3d G__14743;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,more));\n}));\n\n(cljs.pprint.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.pr.cljs$lang$applyTo \x3d (function (seq11706){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11706));\n}));\n\ncljs.pprint.prn \x3d (function cljs$pprint$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14744 \x3d arguments.length;\nvar i__5770__auto___14745 \x3d (0);\nwhile(true){\nif((i__5770__auto___14745 \x3c len__5769__auto___14744)){\nargs__5775__auto__.push((arguments[i__5770__auto___14745]));\n\nvar G__14746 \x3d (i__5770__auto___14745 + (1));\ni__5770__auto___14745 \x3d G__14746;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pr,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.prn.cljs$lang$applyTo \x3d (function (seq11707){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11707));\n}));\n\n/**\n * Returns true if n is an float.\n */\ncljs.pprint.float_QMARK_ \x3d (function cljs$pprint$float_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((!((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))))));\n});\n/**\n * Convert char to int\n */\ncljs.pprint.char_code \x3d (function cljs$pprint$char_code(c){\nif(typeof c \x3d\x3d\x3d \x27number\x27){\nreturn c;\n} else {\nif(((typeof c \x3d\x3d\x3d \x27string\x27) \x26\x26 ((c.length \x3d\x3d\x3d (1))))){\nreturn c.charCodeAt((0));\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.pprint.map_passing_context \x3d (function cljs$pprint$map_passing_context(func,initial_context,lis){\nvar context \x3d initial_context;\nvar lis__$1 \x3d lis;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(lis__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar this$ \x3d cljs.core.first(lis__$1);\nvar remainder \x3d cljs.core.next(lis__$1);\nvar vec__11713 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11713,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11713,(1),null);\nvar G__14747 \x3d new_context;\nvar G__14748 \x3d remainder;\nvar G__14749 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__14747;\nlis__$1 \x3d G__14748;\nacc \x3d G__14749;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume \x3d (function cljs$pprint$consume(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__11722 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11722,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11722,(1),null);\nif(cljs.core.not(result)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,new_context], null);\n} else {\nvar G__14750 \x3d new_context;\nvar G__14751 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__14750;\nacc \x3d G__14751;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume_while \x3d (function cljs$pprint$consume_while(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__11728 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11728,(0),null);\nvar continue$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11728,(1),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11728,(2),null);\nif(cljs.core.not(continue$)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar G__14752 \x3d new_context;\nvar G__14753 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__14752;\nacc \x3d G__14753;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.unzip_map \x3d (function cljs$pprint$unzip_map(m){\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__11731(s__11732){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__11732__$1 \x3d s__11732;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__11732__$1);\nif(temp__5804__auto__){\nvar s__11732__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__11732__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__11732__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__11734 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__11733 \x3d (0);\nwhile(true){\nif((i__11733 \x3c size__5522__auto__)){\nvar vec__11736 \x3d cljs.core._nth(c__5521__auto__,i__11733);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11736,(0),null);\nvar vec__11739 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11736,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11739,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11739,(1),null);\ncljs.core.chunk_append(b__11734,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null));\n\nvar G__14754 \x3d (i__11733 + (1));\ni__11733 \x3d G__14754;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11734),cljs$pprint$unzip_map_$_iter__11731(cljs.core.chunk_rest(s__11732__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11734),null);\n}\n} else {\nvar vec__11742 \x3d cljs.core.first(s__11732__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11742,(0),null);\nvar vec__11745 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11742,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11745,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11745,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null),cljs$pprint$unzip_map_$_iter__11731(cljs.core.rest(s__11732__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})()),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__11749(s__11750){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__11750__$1 \x3d s__11750;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__11750__$1);\nif(temp__5804__auto__){\nvar s__11750__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__11750__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__11750__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__11752 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__11751 \x3d (0);\nwhile(true){\nif((i__11751 \x3c size__5522__auto__)){\nvar vec__11754 \x3d cljs.core._nth(c__5521__auto__,i__11751);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11754,(0),null);\nvar vec__11757 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11754,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11757,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11757,(1),null);\ncljs.core.chunk_append(b__11752,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null));\n\nvar G__14755 \x3d (i__11751 + (1));\ni__11751 \x3d G__14755;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11752),cljs$pprint$unzip_map_$_iter__11749(cljs.core.chunk_rest(s__11750__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11752),null);\n}\n} else {\nvar vec__11760 \x3d cljs.core.first(s__11750__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11760,(0),null);\nvar vec__11763 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11760,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11763,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11763,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null),cljs$pprint$unzip_map_$_iter__11749(cljs.core.rest(s__11750__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})())], null);\n});\ncljs.pprint.tuple_map \x3d (function cljs$pprint$tuple_map(m,v1){\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$tuple_map_$_iter__11768(s__11769){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__11769__$1 \x3d s__11769;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__11769__$1);\nif(temp__5804__auto__){\nvar s__11769__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__11769__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__11769__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__11771 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__11770 \x3d (0);\nwhile(true){\nif((i__11770 \x3c size__5522__auto__)){\nvar vec__11773 \x3d cljs.core._nth(c__5521__auto__,i__11770);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11773,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11773,(1),null);\ncljs.core.chunk_append(b__11771,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null));\n\nvar G__14756 \x3d (i__11770 + (1));\ni__11770 \x3d G__14756;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11771),cljs$pprint$tuple_map_$_iter__11768(cljs.core.chunk_rest(s__11769__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__11771),null);\n}\n} else {\nvar vec__11776 \x3d cljs.core.first(s__11769__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11776,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11776,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null),cljs$pprint$tuple_map_$_iter__11768(cljs.core.rest(s__11769__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})());\n});\ncljs.pprint.rtrim \x3d (function cljs$pprint$rtrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1))),c)))){\nvar n \x3d (len - (1));\nwhile(true){\nif((n \x3c (0))){\nreturn \x22\x22;\n} else {\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(n + (1)));\n} else {\nvar G__14757 \x3d (n - (1));\nn \x3d G__14757;\ncontinue;\n\n}\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.ltrim \x3d (function cljs$pprint$ltrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(0)),c)))){\nvar n \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,len)) || ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,n);\n} else {\nvar G__14758 \x3d (n + (1));\nn \x3d G__14758;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.prefix_count \x3d (function cljs$pprint$prefix_count(aseq,val){\n\nvar test \x3d ((cljs.core.coll_QMARK_(val))?cljs.core.set(val):cljs.core.PersistentHashSet.createAsIfByAssoc([val]));\nvar pos \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pos,cljs.core.count(aseq))) || (cljs.core.not((function (){var G__11779 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(aseq,pos);\nreturn (test.cljs$core$IFn$_invoke$arity$1 ? test.cljs$core$IFn$_invoke$arity$1(G__11779) : test.call(null,G__11779));\n})())))){\nreturn pos;\n} else {\nvar G__14759 \x3d (pos + (1));\npos \x3d G__14759;\ncontinue;\n}\nbreak;\n}\n});\n\n/**\n * @interface\n */\ncljs.pprint.IPrettyFlush \x3d function(){};\n\nvar cljs$pprint$IPrettyFlush$_ppflush$dyn_14760 \x3d (function (pp){\nvar x__5393__auto__ \x3d (((pp \x3d\x3d null))?null:pp);\nvar m__5394__auto__ \x3d (cljs.pprint._ppflush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5394__auto__.call(null,pp));\n} else {\nvar m__5392__auto__ \x3d (cljs.pprint._ppflush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5392__auto__.call(null,pp));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrettyFlush.-ppflush\x22,pp);\n}\n}\n});\ncljs.pprint._ppflush \x3d (function cljs$pprint$_ppflush(pp){\nif((((!((pp \x3d\x3d null)))) \x26\x26 ((!((pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d\x3d null)))))){\nreturn pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1(pp);\n} else {\nreturn cljs$pprint$IPrettyFlush$_ppflush$dyn_14760(pp);\n}\n});\n\ncljs.pprint._STAR_default_page_width_STAR_ \x3d (72);\ncljs.pprint.get_field \x3d (function cljs$pprint$get_field(this$,sym){\nvar G__11782 \x3d cljs.core.deref(cljs.core.deref(this$));\nreturn (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(G__11782) : sym.call(null,G__11782));\n});\ncljs.pprint.set_field \x3d (function cljs$pprint$set_field(this$,sym,new_val){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,sym,new_val);\n});\ncljs.pprint.get_column \x3d (function cljs$pprint$get_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599));\n});\ncljs.pprint.get_line \x3d (function cljs$pprint$get_line(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\n});\ncljs.pprint.get_max_column \x3d (function cljs$pprint$get_max_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548));\n});\ncljs.pprint.set_max_column \x3d (function cljs$pprint$set_max_column(this$,new_max){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),new_max);\n\nreturn null;\n});\ncljs.pprint.get_writer \x3d (function cljs$pprint$get_writer(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322));\n});\ncljs.pprint.c_write_char \x3d (function cljs$pprint$c_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0));\n\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + (1)));\n} else {\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + (1)));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),c);\n});\ncljs.pprint.column_writer \x3d (function cljs$pprint$column_writer(var_args){\nvar G__11787 \x3d arguments.length;\nswitch (G__11787) {\ncase 1:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (writer){\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,cljs.pprint._STAR_default_page_width_STAR_);\n}));\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (writer,max_columns){\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),max_columns,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(0),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),writer], null));\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint11788 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint11788 \x3d (function (writer,max_columns,fields,meta11789){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.fields \x3d fields;\nthis.meta11789 \x3d meta11789;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint11788.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_11790,meta11789__$1){\nvar self__ \x3d this;\nvar _11790__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint11788(self__.writer,self__.max_columns,self__.fields,meta11789__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint11788.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_11790){\nvar self__ \x3d this;\nvar _11790__$1 \x3d this;\nreturn self__.meta11789;\n}));\n\n(cljs.pprint.t_cljs$pprint11788.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint11788.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint11788.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__11791 \x3d cljs.core._EQ_;\nvar expr__11792 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__11791.cljs$core$IFn$_invoke$arity$2 ? pred__11791.cljs$core$IFn$_invoke$arity$2(String,expr__11792) : pred__11791.call(null,String,expr__11792)))){\nvar s \x3d x;\nvar nl \x3d s.lastIndexOf(\x22\\n\x22);\nif((nl \x3c (0))){\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + cljs.core.count(s)));\n} else {\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),((cljs.core.count(s) - nl) - (1)));\n\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__11785_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__11785_SHARP_,\x22\\n\x22);\n}),s))));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),s);\n} else {\nif(cljs.core.truth_((pred__11791.cljs$core$IFn$_invoke$arity$2 ? pred__11791.cljs$core$IFn$_invoke$arity$2(Number,expr__11792) : pred__11791.call(null,Number,expr__11792)))){\nreturn cljs.pprint.c_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__11792)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint11788.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta11789\x22,\x22meta11789\x22,1635301863,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint11788.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint11788.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint11788\x22);\n\n(cljs.pprint.t_cljs$pprint11788.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint11788\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint11788.\n */\ncljs.pprint.__GT_t_cljs$pprint11788 \x3d (function cljs$pprint$__GT_t_cljs$pprint11788(writer__$1,max_columns__$1,fields__$1,meta11789){\nreturn (new cljs.pprint.t_cljs$pprint11788(writer__$1,max_columns__$1,fields__$1,meta11789));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint11788(writer,max_columns,fields,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.pprint.column_writer.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.logical_block \x3d (function (parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,__meta,__extmap,__hash){\nthis.parent \x3d parent;\nthis.section \x3d section;\nthis.start_col \x3d start_col;\nthis.indent \x3d indent;\nthis.done_nl \x3d done_nl;\nthis.intra_block_nl \x3d intra_block_nl;\nthis.prefix \x3d prefix;\nthis.per_line_prefix \x3d per_line_prefix;\nthis.suffix \x3d suffix;\nthis.logical_block_callback \x3d logical_block_callback;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k11826,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__11840 \x3d k11826;\nvar G__11840__$1 \x3d (((G__11840 instanceof cljs.core.Keyword))?G__11840.fqn:null);\nswitch (G__11840__$1) {\ncase \x22parent\x22:\nreturn self__.parent;\n\nbreak;\ncase \x22section\x22:\nreturn self__.section;\n\nbreak;\ncase \x22start-col\x22:\nreturn self__.start_col;\n\nbreak;\ncase \x22indent\x22:\nreturn self__.indent;\n\nbreak;\ncase \x22done-nl\x22:\nreturn self__.done_nl;\n\nbreak;\ncase \x22intra-block-nl\x22:\nreturn self__.intra_block_nl;\n\nbreak;\ncase \x22prefix\x22:\nreturn self__.prefix;\n\nbreak;\ncase \x22per-line-prefix\x22:\nreturn self__.per_line_prefix;\n\nbreak;\ncase \x22suffix\x22:\nreturn self__.suffix;\n\nbreak;\ncase \x22logical-block-callback\x22:\nreturn self__.logical_block_callback;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k11826,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__11848){\nvar vec__11849 \x3d p__11848;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11849,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11849,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.logical-block{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__11825){\nvar self__ \x3d this;\nvar G__11825__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__11825__$1,10,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (10 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1977012399 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this11827,other11828){\nvar self__ \x3d this;\nvar this11827__$1 \x3d this;\nreturn (((!((other11828 \x3d\x3d null)))) \x26\x26 ((((this11827__$1.constructor \x3d\x3d\x3d other11828.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.parent,other11828.parent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.section,other11828.section)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.start_col,other11828.start_col)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.indent,other11828.indent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.done_nl,other11828.done_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.intra_block_nl,other11828.intra_block_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.prefix,other11828.prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.per_line_prefix,other11828.per_line_prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.suffix,other11828.suffix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.logical_block_callback,other11828.logical_block_callback)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this11827__$1.__extmap,other11828.__extmap)))))))))))))))))))))))));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 10, [new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k11826){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__12219 \x3d k11826;\nvar G__12219__$1 \x3d (((G__12219 instanceof cljs.core.Keyword))?G__12219.fqn:null);\nswitch (G__12219__$1) {\ncase \x22parent\x22:\ncase \x22section\x22:\ncase \x22start-col\x22:\ncase \x22indent\x22:\ncase \x22done-nl\x22:\ncase \x22intra-block-nl\x22:\ncase \x22prefix\x22:\ncase \x22per-line-prefix\x22:\ncase \x22suffix\x22:\ncase \x22logical-block-callback\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k11826);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__11825){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__12234 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__12235 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__12235)))){\nreturn (new cljs.pprint.logical_block(G__11825,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,G__11825,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,G__11825,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,G__11825,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,G__11825,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,G__11825,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,G__11825,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,G__11825,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,G__11825,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12234.cljs$core$IFn$_invoke$arity$2 ? pred__12234.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__12235) : pred__12234.call(null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__12235)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,G__11825,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__11825),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__11825){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,G__11825,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.logical_block.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22parent\x22,\x22parent\x22,761652748,null),new cljs.core.Symbol(null,\x22section\x22,\x22section\x22,1340390001,null),new cljs.core.Symbol(null,\x22start-col\x22,\x22start-col\x22,-1986355626,null),new cljs.core.Symbol(null,\x22indent\x22,\x22indent\x22,1492331402,null),new cljs.core.Symbol(null,\x22done-nl\x22,\x22done-nl\x22,1259507187,null),new cljs.core.Symbol(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,-845608894,null),new cljs.core.Symbol(null,\x22prefix\x22,\x22prefix\x22,1374623062,null),new cljs.core.Symbol(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,-1807493956,null),new cljs.core.Symbol(null,\x22suffix\x22,\x22suffix\x22,2007904584,null),new cljs.core.Symbol(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,-1041744575,null)], null);\n}));\n\n(cljs.pprint.logical_block.cljs$lang$type \x3d true);\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/logical-block\x22,null,(1),null));\n}));\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/logical-block\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/logical-block.\n */\ncljs.pprint.__GT_logical_block \x3d (function cljs$pprint$__GT_logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback){\nreturn (new cljs.pprint.logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/logical-block, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_logical_block \x3d (function cljs$pprint$map__GT_logical_block(G__11834){\nvar extmap__5385__auto__ \x3d (function (){var G__12274 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__11834,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], 0));\nif(cljs.core.record_QMARK_(G__11834)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__12274);\n} else {\nreturn G__12274;\n}\n})();\nreturn (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(G__11834),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(G__11834),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.ancestor_QMARK_ \x3d (function cljs$pprint$ancestor_QMARK_(parent,child){\nvar child__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child);\nwhile(true){\nif((child__$1 \x3d\x3d null)){\nreturn false;\n} else {\nif((parent \x3d\x3d\x3d child__$1)){\nreturn true;\n} else {\nvar G__14771 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child__$1);\nchild__$1 \x3d G__14771;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.buffer_length \x3d (function cljs$pprint$buffer_length(l){\nvar l__$1 \x3d cljs.core.seq(l);\nif(l__$1){\nreturn (new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(cljs.core.last(l__$1)) - new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(cljs.core.first(l__$1)));\n} else {\nreturn (0);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.buffer_blob \x3d (function (type_tag,data,trailing_white_space,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.data \x3d data;\nthis.trailing_white_space \x3d trailing_white_space;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k12407,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__12476 \x3d k12407;\nvar G__12476__$1 \x3d (((G__12476 instanceof cljs.core.Keyword))?G__12476.fqn:null);\nswitch (G__12476__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22data\x22:\nreturn self__.data;\n\nbreak;\ncase \x22trailing-white-space\x22:\nreturn self__.trailing_white_space;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k12407,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__12478){\nvar vec__12479 \x3d p__12478;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12479,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12479,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.buffer-blob{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__12406){\nvar self__ \x3d this;\nvar G__12406__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__12406__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1809113693 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this12409,other12410){\nvar self__ \x3d this;\nvar this12409__$1 \x3d this;\nreturn (((!((other12410 \x3d\x3d null)))) \x26\x26 ((((this12409__$1.constructor \x3d\x3d\x3d other12410.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.type_tag,other12410.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.data,other12410.data)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.trailing_white_space,other12410.trailing_white_space)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.start_pos,other12410.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.end_pos,other12410.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12409__$1.__extmap,other12410.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k12407){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__12494 \x3d k12407;\nvar G__12494__$1 \x3d (((G__12494 instanceof cljs.core.Keyword))?G__12494.fqn:null);\nswitch (G__12494__$1) {\ncase \x22type-tag\x22:\ncase \x22data\x22:\ncase \x22trailing-white-space\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k12407);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__12406){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__12502 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__12503 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__12502.cljs$core$IFn$_invoke$arity$2 ? pred__12502.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12503) : pred__12502.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12503)))){\nreturn (new cljs.pprint.buffer_blob(G__12406,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12502.cljs$core$IFn$_invoke$arity$2 ? pred__12502.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__12503) : pred__12502.call(null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__12503)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,G__12406,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12502.cljs$core$IFn$_invoke$arity$2 ? pred__12502.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__12503) : pred__12502.call(null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__12503)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,G__12406,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12502.cljs$core$IFn$_invoke$arity$2 ? pred__12502.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12503) : pred__12502.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12503)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,G__12406,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12502.cljs$core$IFn$_invoke$arity$2 ? pred__12502.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12503) : pred__12502.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12503)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,G__12406,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__12406),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__12406){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,G__12406,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.buffer_blob.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.Symbol(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,-1158428773,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$type \x3d true);\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/buffer-blob\x22,null,(1),null));\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/buffer-blob\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/buffer-blob.\n */\ncljs.pprint.__GT_buffer_blob \x3d (function cljs$pprint$__GT_buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/buffer-blob, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_buffer_blob \x3d (function cljs$pprint$map__GT_buffer_blob(G__12457){\nvar extmap__5385__auto__ \x3d (function (){var G__12552 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12457,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__12457)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__12552);\n} else {\nreturn G__12552;\n}\n})();\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__12457),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(G__12457),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(G__12457),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__12457),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__12457),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_buffer_blob \x3d (function cljs$pprint$make_buffer_blob(data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.buffer_blob_QMARK_ \x3d (function cljs$pprint$buffer_blob_QMARK_(x__11555__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__11555__auto__),new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.nl_t \x3d (function (type_tag,type,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.type \x3d type;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k12586,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__12597 \x3d k12586;\nvar G__12597__$1 \x3d (((G__12597 instanceof cljs.core.Keyword))?G__12597.fqn:null);\nswitch (G__12597__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22type\x22:\nreturn self__.type;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k12586,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__12598){\nvar vec__12599 \x3d p__12598;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12599,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12599,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.nl-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__12585){\nvar self__ \x3d this;\nvar G__12585__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__12585__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1640656800 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this12587,other12588){\nvar self__ \x3d this;\nvar this12587__$1 \x3d this;\nreturn (((!((other12588 \x3d\x3d null)))) \x26\x26 ((((this12587__$1.constructor \x3d\x3d\x3d other12588.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.type_tag,other12588.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.type,other12588.type)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.logical_block,other12588.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.start_pos,other12588.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.end_pos,other12588.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12587__$1.__extmap,other12588.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k12586){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__12650 \x3d k12586;\nvar G__12650__$1 \x3d (((G__12650 instanceof cljs.core.Keyword))?G__12650.fqn:null);\nswitch (G__12650__$1) {\ncase \x22type-tag\x22:\ncase \x22type\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k12586);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__12585){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__12665 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__12666 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__12665.cljs$core$IFn$_invoke$arity$2 ? pred__12665.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12666) : pred__12665.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12666)))){\nreturn (new cljs.pprint.nl_t(G__12585,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12665.cljs$core$IFn$_invoke$arity$2 ? pred__12665.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__12666) : pred__12665.call(null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__12666)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,G__12585,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12665.cljs$core$IFn$_invoke$arity$2 ? pred__12665.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12666) : pred__12665.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12666)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,G__12585,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12665.cljs$core$IFn$_invoke$arity$2 ? pred__12665.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12666) : pred__12665.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12666)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,G__12585,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12665.cljs$core$IFn$_invoke$arity$2 ? pred__12665.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12666) : pred__12665.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12666)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,G__12585,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__12585),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__12585){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,G__12585,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.nl_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.nl_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/nl-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/nl-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/nl-t.\n */\ncljs.pprint.__GT_nl_t \x3d (function cljs$pprint$__GT_nl_t(type_tag,type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(type_tag,type,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/nl-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_nl_t \x3d (function cljs$pprint$map__GT_nl_t(G__12591){\nvar extmap__5385__auto__ \x3d (function (){var G__12679 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12591,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__12591)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__12679);\n} else {\nreturn G__12679;\n}\n})();\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__12591),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__12591),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__12591),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__12591),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__12591),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_nl_t \x3d (function cljs$pprint$make_nl_t(type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),type,logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.nl_t_QMARK_ \x3d (function cljs$pprint$nl_t_QMARK_(x__11555__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__11555__auto__),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.start_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k12681,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__12689 \x3d k12681;\nvar G__12689__$1 \x3d (((G__12689 instanceof cljs.core.Keyword))?G__12689.fqn:null);\nswitch (G__12689__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k12681,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__12695){\nvar vec__12701 \x3d p__12695;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12701,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12701,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.start-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__12680){\nvar self__ \x3d this;\nvar G__12680__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__12680__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-414877272 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this12682,other12683){\nvar self__ \x3d this;\nvar this12682__$1 \x3d this;\nreturn (((!((other12683 \x3d\x3d null)))) \x26\x26 ((((this12682__$1.constructor \x3d\x3d\x3d other12683.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12682__$1.type_tag,other12683.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12682__$1.logical_block,other12683.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12682__$1.start_pos,other12683.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12682__$1.end_pos,other12683.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12682__$1.__extmap,other12683.__extmap)))))))))))));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k12681){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__12813 \x3d k12681;\nvar G__12813__$1 \x3d (((G__12813 instanceof cljs.core.Keyword))?G__12813.fqn:null);\nswitch (G__12813__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k12681);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__12680){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__12832 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__12833 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__12832.cljs$core$IFn$_invoke$arity$2 ? pred__12832.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12833) : pred__12832.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12833)))){\nreturn (new cljs.pprint.start_block_t(G__12680,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12832.cljs$core$IFn$_invoke$arity$2 ? pred__12832.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12833) : pred__12832.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12833)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,G__12680,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12832.cljs$core$IFn$_invoke$arity$2 ? pred__12832.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12833) : pred__12832.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12833)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,G__12680,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12832.cljs$core$IFn$_invoke$arity$2 ? pred__12832.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12833) : pred__12832.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12833)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__12680,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__12680),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__12680){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__12680,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.start_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/start-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/start-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/start-block-t.\n */\ncljs.pprint.__GT_start_block_t \x3d (function cljs$pprint$__GT_start_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/start-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_start_block_t \x3d (function cljs$pprint$map__GT_start_block_t(G__12684){\nvar extmap__5385__auto__ \x3d (function (){var G__12852 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12684,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__12684)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__12852);\n} else {\nreturn G__12852;\n}\n})();\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__12684),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__12684),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__12684),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__12684),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_start_block_t \x3d (function cljs$pprint$make_start_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.start_block_t_QMARK_ \x3d (function cljs$pprint$start_block_t_QMARK_(x__11555__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__11555__auto__),new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.end_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k12861,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__12873 \x3d k12861;\nvar G__12873__$1 \x3d (((G__12873 instanceof cljs.core.Keyword))?G__12873.fqn:null);\nswitch (G__12873__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k12861,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__12878){\nvar vec__12879 \x3d p__12878;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12879,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12879,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.end-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__12860){\nvar self__ \x3d this;\nvar G__12860__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__12860__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1365867980 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this12862,other12863){\nvar self__ \x3d this;\nvar this12862__$1 \x3d this;\nreturn (((!((other12863 \x3d\x3d null)))) \x26\x26 ((((this12862__$1.constructor \x3d\x3d\x3d other12863.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12862__$1.type_tag,other12863.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12862__$1.logical_block,other12863.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12862__$1.start_pos,other12863.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12862__$1.end_pos,other12863.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12862__$1.__extmap,other12863.__extmap)))))))))))));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k12861){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__12919 \x3d k12861;\nvar G__12919__$1 \x3d (((G__12919 instanceof cljs.core.Keyword))?G__12919.fqn:null);\nswitch (G__12919__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k12861);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__12860){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__12923 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__12924 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__12923.cljs$core$IFn$_invoke$arity$2 ? pred__12923.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12924) : pred__12923.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__12924)))){\nreturn (new cljs.pprint.end_block_t(G__12860,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12923.cljs$core$IFn$_invoke$arity$2 ? pred__12923.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12924) : pred__12923.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__12924)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,G__12860,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12923.cljs$core$IFn$_invoke$arity$2 ? pred__12923.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12924) : pred__12923.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__12924)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,G__12860,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__12923.cljs$core$IFn$_invoke$arity$2 ? pred__12923.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12924) : pred__12923.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__12924)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__12860,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__12860),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__12860){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__12860,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.end_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/end-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/end-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/end-block-t.\n */\ncljs.pprint.__GT_end_block_t \x3d (function cljs$pprint$__GT_end_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/end-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_end_block_t \x3d (function cljs$pprint$map__GT_end_block_t(G__12869){\nvar extmap__5385__auto__ \x3d (function (){var G__12948 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12869,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__12869)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__12948);\n} else {\nreturn G__12948;\n}\n})();\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__12869),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__12869),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__12869),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__12869),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_end_block_t \x3d (function cljs$pprint$make_end_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.end_block_t_QMARK_ \x3d (function cljs$pprint$end_block_t_QMARK_(x__11555__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__11555__auto__),new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.indent_t \x3d (function (type_tag,logical_block,relative_to,offset,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.relative_to \x3d relative_to;\nthis.offset \x3d offset;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k12961,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__12981 \x3d k12961;\nvar G__12981__$1 \x3d (((G__12981 instanceof cljs.core.Keyword))?G__12981.fqn:null);\nswitch (G__12981__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22relative-to\x22:\nreturn self__.relative_to;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k12961,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__12995){\nvar vec__12996 \x3d p__12995;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12996,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12996,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.indent-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__12960){\nvar self__ \x3d this;\nvar G__12960__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__12960__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1602780238 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this12962,other12963){\nvar self__ \x3d this;\nvar this12962__$1 \x3d this;\nreturn (((!((other12963 \x3d\x3d null)))) \x26\x26 ((((this12962__$1.constructor \x3d\x3d\x3d other12963.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.type_tag,other12963.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.logical_block,other12963.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.relative_to,other12963.relative_to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.offset,other12963.offset)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.start_pos,other12963.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.end_pos,other12963.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this12962__$1.__extmap,other12963.__extmap)))))))))))))))));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k12961){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__13025 \x3d k12961;\nvar G__13025__$1 \x3d (((G__13025 instanceof cljs.core.Keyword))?G__13025.fqn:null);\nswitch (G__13025__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22relative-to\x22:\ncase \x22offset\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k12961);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__12960){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__13032 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__13033 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__13033)))){\nreturn (new cljs.pprint.indent_t(G__12960,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__13033)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,G__12960,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__13033)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,G__12960,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__13033)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,G__12960,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__13033)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,G__12960,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13032.cljs$core$IFn$_invoke$arity$2 ? pred__13032.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__13033) : pred__13032.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__13033)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,G__12960,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__12960),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__12960){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,G__12960,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.indent_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22relative-to\x22,\x22relative-to\x22,1170431476,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.indent_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/indent-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/indent-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/indent-t.\n */\ncljs.pprint.__GT_indent_t \x3d (function cljs$pprint$__GT_indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/indent-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_indent_t \x3d (function cljs$pprint$map__GT_indent_t(G__12964){\nvar extmap__5385__auto__ \x3d (function (){var G__13052 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12964,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__12964)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__13052);\n} else {\nreturn G__13052;\n}\n})();\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__12964),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__12964),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(G__12964),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__12964),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__12964),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__12964),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_indent_t \x3d (function cljs$pprint$make_indent_t(logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.indent_t_QMARK_ \x3d (function cljs$pprint$indent_t_QMARK_(x__11555__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__11555__auto__),new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969));\n});\ncljs.pprint.pp_newline \x3d (function cljs$pprint$pp_newline(){\nreturn \x22\\n\x22;\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.write_token !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.write_token \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__13082 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__13082.cljs$core$IFn$_invoke$arity$0 ? fexpr__13082.cljs$core$IFn$_invoke$arity$0() : fexpr__13082.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22write-token\x22),(function (p1__13070_SHARP_,p2__13069_SHARP_){\nreturn new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(p2__13069_SHARP_);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),(function (this$,token){\nvar temp__5804__auto___14784 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___14784)){\nvar cb_14785 \x3d temp__5804__auto___14784;\n(cb_14785.cljs$core$IFn$_invoke$arity$1 ? cb_14785.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_14785.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nvar temp__5804__auto___14786 \x3d new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(temp__5804__auto___14786)){\nvar prefix_14787 \x3d temp__5804__auto___14786;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix_14787);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb),col);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),col);\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),(function (this$,token){\nvar temp__5804__auto___14788 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___14788)){\nvar cb_14789 \x3d temp__5804__auto___14788;\n(cb_14789.cljs$core$IFn$_invoke$arity$1 ? cb_14789.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_14789.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar suffix \x3d temp__5804__auto__;\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\nreturn null;\n}\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),(function (this$,token){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(token) + (function (){var pred__13090 \x3d cljs.core._EQ_;\nvar expr__13091 \x3d new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(token);\nif(cljs.core.truth_((pred__13090.cljs$core$IFn$_invoke$arity$2 ? pred__13090.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__13091) : pred__13090.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__13091)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__13090.cljs$core$IFn$_invoke$arity$2 ? pred__13090.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__13091) : pred__13090.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__13091)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__13091)].join(\x27\x27)));\n}\n}\n})()));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),(function (this$,token){\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(token));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),(function (this$,token){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889))));\nif(and__5043__auto__){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token)));\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\n(cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(this$,token) : cljs.pprint.emit_nl.call(null,this$,token));\n} else {\nvar temp__5802__auto___14791 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___14791)){\nvar tws_14792 \x3d temp__5802__auto___14791;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_14792);\n} else {\n}\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n}));\ncljs.pprint.write_tokens \x3d (function cljs$pprint$write_tokens(this$,tokens,force_trailing_whitespace){\nvar seq__13112 \x3d cljs.core.seq(tokens);\nvar chunk__13113 \x3d null;\nvar count__13114 \x3d (0);\nvar i__13115 \x3d (0);\nwhile(true){\nif((i__13115 \x3c count__13114)){\nvar token \x3d chunk__13113.cljs$core$IIndexed$_nth$arity$2(null,i__13115);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___14793 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___14793)){\nvar tws_14794 \x3d temp__5802__auto___14793;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_14794);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_14795 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_14795;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_14795);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__14796 \x3d seq__13112;\nvar G__14797 \x3d chunk__13113;\nvar G__14798 \x3d count__13114;\nvar G__14799 \x3d (i__13115 + (1));\nseq__13112 \x3d G__14796;\nchunk__13113 \x3d G__14797;\ncount__13114 \x3d G__14798;\ni__13115 \x3d G__14799;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__13112);\nif(temp__5804__auto__){\nvar seq__13112__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__13112__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__13112__$1);\nvar G__14800 \x3d cljs.core.chunk_rest(seq__13112__$1);\nvar G__14801 \x3d c__5568__auto__;\nvar G__14802 \x3d cljs.core.count(c__5568__auto__);\nvar G__14803 \x3d (0);\nseq__13112 \x3d G__14800;\nchunk__13113 \x3d G__14801;\ncount__13114 \x3d G__14802;\ni__13115 \x3d G__14803;\ncontinue;\n} else {\nvar token \x3d cljs.core.first(seq__13112__$1);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___14804 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___14804)){\nvar tws_14805 \x3d temp__5802__auto___14804;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_14805);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_14806 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_14806;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_14806);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__14807 \x3d cljs.core.next(seq__13112__$1);\nvar G__14808 \x3d null;\nvar G__14809 \x3d (0);\nvar G__14810 \x3d (0);\nseq__13112 \x3d G__14807;\nchunk__13113 \x3d G__14808;\ncount__13114 \x3d G__14809;\ni__13115 \x3d G__14810;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.pprint.tokens_fit_QMARK_ \x3d (function cljs$pprint$tokens_fit_QMARK_(this$,tokens){\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nreturn (((maxcol \x3d\x3d null)) || (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))) + cljs.pprint.buffer_length(tokens)) \x3c maxcol)));\n});\ncljs.pprint.linear_nl_QMARK_ \x3d (function cljs$pprint$linear_nl_QMARK_(this$,lb,section){\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (!(cljs.pprint.tokens_fit_QMARK_(this$,section)));\n}\n});\ncljs.pprint.miser_nl_QMARK_ \x3d (function cljs$pprint$miser_nl_QMARK_(this$,lb,section){\nvar miser_width \x3d cljs.pprint.get_miser_width(this$);\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nvar and__5043__auto__ \x3d miser_width;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d maxcol;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb)) \x3e\x3d (maxcol - miser_width));\nif(and__5043__auto____$2){\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.emit_nl_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.emit_nl_QMARK_ \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__13152 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__13152.cljs$core$IFn$_invoke$arity$0 ? fexpr__13152.cljs$core$IFn$_invoke$arity$0() : fexpr__13152.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22emit-nl?\x22),(function (t,_,___$1,___$2){\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(t);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),(function (newl,this$,section,subsection){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,subsection)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}\n}\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),(function (_,___$1,___$2,___$3){\nreturn true;\n}));\ncljs.pprint.get_section \x3d (function cljs$pprint$get_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__13166_SHARP_){\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__13166_SHARP_)) \x26\x26 (cljs.pprint.ancestor_QMARK_(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__13166_SHARP_),lb)))));\n}),cljs.core.next(buffer)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [section,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((cljs.core.count(section) + (1)),buffer))], null);\n});\ncljs.pprint.get_sub_section \x3d (function cljs$pprint$get_sub_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__13175_SHARP_){\nvar nl_lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__13175_SHARP_);\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__13175_SHARP_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(nl_lb,lb)) || (cljs.pprint.ancestor_QMARK_(nl_lb,lb)))))));\n}),cljs.core.next(buffer)));\nreturn section;\n});\ncljs.pprint.update_nl_state \x3d (function cljs$pprint$update_nl_state(lb){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb),true);\n\nvar lb__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb);\nwhile(true){\nif(cljs.core.truth_(lb__$1)){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\nvar G__14811 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb__$1);\nlb__$1 \x3d G__14811;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.emit_nl \x3d (function cljs$pprint$emit_nl(this$,nl){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar istr_14812 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((cljs.core.deref(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb)) - cljs.core.count(prefix)),\x22 \x22));\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),istr_14812);\n\nreturn cljs.pprint.update_nl_state(lb);\n});\ncljs.pprint.split_at_newline \x3d (function cljs$pprint$split_at_newline(tokens){\nvar pre \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__13348_SHARP_){\nreturn (!(cljs.pprint.nl_t_QMARK_(p1__13348_SHARP_)));\n}),tokens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(pre),tokens))], null);\n});\ncljs.pprint.write_token_string \x3d (function cljs$pprint$write_token_string(this$,tokens){\nvar vec__13352 \x3d cljs.pprint.split_at_newline(tokens);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13352,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13352,(1),null);\nif(cljs.core.truth_(a)){\ncljs.pprint.write_tokens(this$,a,false);\n} else {\n}\n\nif(cljs.core.truth_(b)){\nvar vec__13355 \x3d cljs.pprint.get_section(b);\nvar section \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13355,(0),null);\nvar remainder \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13355,(1),null);\nvar newl \x3d cljs.core.first(b);\nvar do_nl \x3d cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(newl,this$,section,cljs.pprint.get_sub_section(b));\nvar result \x3d (cljs.core.truth_(do_nl)?(function (){\ncljs.pprint.emit_nl(this$,newl);\n\nreturn cljs.core.next(b);\n})()\n:b);\nvar long_section \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,result)));\nvar result__$1 \x3d ((long_section)?(function (){var rem2 \x3d (cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(this$,section) : cljs.pprint.write_token_string.call(null,this$,section));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(rem2,section)){\ncljs.pprint.write_tokens(this$,section,false);\n\nreturn remainder;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(rem2,remainder));\n}\n})():result);\nreturn result__$1;\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_line \x3d (function cljs$pprint$write_line(this$){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nwhile(true){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,buffer));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,buffer)))){\nvar new_buffer \x3d cljs.pprint.write_token_string(this$,buffer);\nif((!((buffer \x3d\x3d\x3d new_buffer)))){\nvar G__14813 \x3d new_buffer;\nbuffer \x3d G__14813;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.add_to_buffer \x3d (function cljs$pprint$add_to_buffer(this$,token){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),token));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))))){\nreturn cljs.pprint.write_line(this$);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_buffered_output \x3d (function cljs$pprint$write_buffered_output(this$){\ncljs.pprint.write_line(this$);\n\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar buf \x3d temp__5802__auto__;\ncljs.pprint.write_tokens(this$,buf,true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_white_space \x3d (function cljs$pprint$write_white_space(this$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar tws \x3d temp__5804__auto__;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_initial_lines \x3d (function cljs$pprint$write_initial_lines(this$,s){\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,\x22\\n\x22,(-1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(lines),(1))){\nreturn s;\n} else {\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(cljs.core.first(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))));\nvar l \x3d cljs.core.first(lines);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))){\nvar oldpos_14817 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_14818 \x3d (oldpos_14817 + cljs.core.count(l));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_14818);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(l,null,oldpos_14817,newpos_14818));\n\ncljs.pprint.write_buffered_output(this$);\n} else {\ncljs.pprint.write_white_space(this$);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l);\n}\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),\x22\\n\x22);\n\nvar seq__13379_14819 \x3d cljs.core.seq(cljs.core.next(cljs.core.butlast(lines)));\nvar chunk__13380_14820 \x3d null;\nvar count__13381_14821 \x3d (0);\nvar i__13382_14822 \x3d (0);\nwhile(true){\nif((i__13382_14822 \x3c count__13381_14821)){\nvar l_14823__$1 \x3d chunk__13380_14820.cljs$core$IIndexed$_nth$arity$2(null,i__13382_14822);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_14823__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__14824 \x3d seq__13379_14819;\nvar G__14825 \x3d chunk__13380_14820;\nvar G__14826 \x3d count__13381_14821;\nvar G__14827 \x3d (i__13382_14822 + (1));\nseq__13379_14819 \x3d G__14824;\nchunk__13380_14820 \x3d G__14825;\ncount__13381_14821 \x3d G__14826;\ni__13382_14822 \x3d G__14827;\ncontinue;\n} else {\nvar temp__5804__auto___14828 \x3d cljs.core.seq(seq__13379_14819);\nif(temp__5804__auto___14828){\nvar seq__13379_14829__$1 \x3d temp__5804__auto___14828;\nif(cljs.core.chunked_seq_QMARK_(seq__13379_14829__$1)){\nvar c__5568__auto___14830 \x3d cljs.core.chunk_first(seq__13379_14829__$1);\nvar G__14831 \x3d cljs.core.chunk_rest(seq__13379_14829__$1);\nvar G__14832 \x3d c__5568__auto___14830;\nvar G__14833 \x3d cljs.core.count(c__5568__auto___14830);\nvar G__14834 \x3d (0);\nseq__13379_14819 \x3d G__14831;\nchunk__13380_14820 \x3d G__14832;\ncount__13381_14821 \x3d G__14833;\ni__13382_14822 \x3d G__14834;\ncontinue;\n} else {\nvar l_14835__$1 \x3d cljs.core.first(seq__13379_14829__$1);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_14835__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__14836 \x3d cljs.core.next(seq__13379_14829__$1);\nvar G__14837 \x3d null;\nvar G__14838 \x3d (0);\nvar G__14839 \x3d (0);\nseq__13379_14819 \x3d G__14836;\nchunk__13380_14820 \x3d G__14837;\ncount__13381_14821 \x3d G__14838;\ni__13382_14822 \x3d G__14839;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108));\n\nreturn cljs.core.last(lines);\n}\n});\ncljs.pprint.p_write_char \x3d (function cljs$pprint$p_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),c);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\nreturn cljs.pprint.write_initial_lines(this$,\x22\\n\x22);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(cljs.core.char$(c),null,oldpos,newpos));\n}\n}\n});\ncljs.pprint.pretty_writer \x3d (function cljs$pprint$pretty_writer(writer,max_columns,miser_width){\nvar lb \x3d (new cljs.pprint.logical_block(null,null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),null,null,null,null,null,null,null));\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437),new cljs.core.Keyword(null,\x22buffer-block\x22,\x22buffer-block\x22,-10937307),new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267),new cljs.core.Keyword(null,\x22sections\x22,\x22sections\x22,-886710106),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.Keyword(null,\x22buffer-level\x22,\x22buffer-level\x22,928864731),new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198)],[lb,miser_width,lb,true,null,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108),(0),null,cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,max_columns),(1),cljs.core.PersistentVector.EMPTY]));\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint13432 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.pprint.IPrettyFlush}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint13432 \x3d (function (writer,max_columns,miser_width,lb,fields,meta13433){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.miser_width \x3d miser_width;\nthis.lb \x3d lb;\nthis.fields \x3d fields;\nthis.meta13433 \x3d meta13433;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_13434,meta13433__$1){\nvar self__ \x3d this;\nvar _13434__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint13432(self__.writer,self__.max_columns,self__.miser_width,self__.lb,self__.fields,meta13433__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_13434){\nvar self__ \x3d this;\nvar _13434__$1 \x3d this;\nreturn self__.meta13433;\n}));\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__13455 \x3d cljs.core._EQ_;\nvar expr__13456 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__13455.cljs$core$IFn$_invoke$arity$2 ? pred__13455.cljs$core$IFn$_invoke$arity$2(String,expr__13456) : pred__13455.call(null,String,expr__13456)))){\nvar s0 \x3d cljs.pprint.write_initial_lines(this$__$1,x);\nvar s \x3d clojure.string.replace_first(s0,/\\s+$/,\x22\x22);\nvar white_space \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s0,((s).length));\nvar mode \x3d new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),s);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),white_space);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nvar newpos \x3d (oldpos + cljs.core.count(s0));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$__$1,cljs.pprint.make_buffer_blob(s,white_space,oldpos,newpos));\n}\n} else {\nif(cljs.core.truth_((pred__13455.cljs$core$IFn$_invoke$arity$2 ? pred__13455.cljs$core$IFn$_invoke$arity$2(Number,expr__13456) : pred__13455.call(null,Number,expr__13456)))){\nreturn cljs.pprint.p_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__13456)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthis$__$1.cljs$pprint$IPrettyFlush$_ppflush$arity$1(null);\n\nreturn cljs.core._flush(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))));\n}));\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$pprint$IPrettyFlush$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.pprint.t_cljs$pprint13432.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613))){\ncljs.pprint.write_tokens(this$__$1,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn cljs.pprint.write_white_space(this$__$1);\n}\n}));\n\n(cljs.pprint.t_cljs$pprint13432.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22miser-width\x22,\x22miser-width\x22,330482090,null),new cljs.core.Symbol(null,\x22lb\x22,\x22lb\x22,950310490,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta13433\x22,\x22meta13433\x22,-1192483601,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint13432.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint13432.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint13432\x22);\n\n(cljs.pprint.t_cljs$pprint13432.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint13432\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint13432.\n */\ncljs.pprint.__GT_t_cljs$pprint13432 \x3d (function cljs$pprint$pretty_writer_$___GT_t_cljs$pprint13432(writer__$1,max_columns__$1,miser_width__$1,lb__$1,fields__$1,meta13433){\nreturn (new cljs.pprint.t_cljs$pprint13432(writer__$1,max_columns__$1,miser_width__$1,lb__$1,fields__$1,meta13433));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint13432(writer,max_columns,miser_width,lb,fields,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.start_block \x3d (function cljs$pprint$start_block(this$,prefix,per_line_prefix,suffix){\nvar lb \x3d (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),prefix,per_line_prefix,suffix,null,null,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),lb);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nvar temp__5804__auto___14844 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___14844)){\nvar cb_14845 \x3d temp__5804__auto___14844;\n(cb_14845.cljs$core$IFn$_invoke$arity$1 ? cb_14845.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_14845.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(lb.start_col,col);\n\nreturn cljs.core.reset_BANG_(lb.indent,col);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (cljs.core.truth_(prefix)?cljs.core.count(prefix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_start_block_t(lb,oldpos,newpos));\n}\n});\ncljs.pprint.end_block \x3d (function cljs$pprint$end_block(this$){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar suffix \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nif(cljs.core.truth_(suffix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\n}\n\nvar temp__5804__auto___14846 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___14846)){\nvar cb_14847 \x3d temp__5804__auto___14846;\n(cb_14847.cljs$core$IFn$_invoke$arity$1 ? cb_14847.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_14847.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n} else {\nvar oldpos_14848 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_14849 \x3d (oldpos_14848 + (cljs.core.truth_(suffix)?cljs.core.count(suffix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_14849);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_end_block_t(lb,oldpos_14848,newpos_14849));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb));\n});\ncljs.pprint.nl \x3d (function cljs$pprint$nl(this$,type){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613));\n\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_nl_t(type,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),pos,pos));\n});\ncljs.pprint.indent \x3d (function cljs$pprint$indent(this$,relative_to,offset){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(offset + (function (){var pred__13541 \x3d cljs.core._EQ_;\nvar expr__13543 \x3d relative_to;\nif(cljs.core.truth_((pred__13541.cljs$core$IFn$_invoke$arity$2 ? pred__13541.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__13543) : pred__13541.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__13543)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__13541.cljs$core$IFn$_invoke$arity$2 ? pred__13541.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__13543) : pred__13541.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__13543)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__13543)].join(\x27\x27)));\n}\n}\n})()));\n} else {\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_indent_t(lb,relative_to,offset,pos,pos));\n}\n});\ncljs.pprint.get_miser_width \x3d (function cljs$pprint$get_miser_width(this$){\nreturn new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\n});\n/**\n * Bind to true if you want write to use pretty printing\n */\ncljs.pprint._STAR_print_pretty_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function. Use with-pprint-dispatch or\n * set-pprint-dispatch to modify.\n */\ncljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d null;\n}\n/**\n * Pretty printing will try to avoid anything going beyond this column.\n * Set it to nil to have pprint let the line be arbitrarily long. This will ignore all\n * non-mandatory newlines.\n */\ncljs.pprint._STAR_print_right_margin_STAR_ \x3d (72);\n/**\n * The column at which to enter miser style. Depending on the dispatch table,\n * miser style add newlines in more places to try to keep lines short allowing for further\n * levels of nesting.\n */\ncljs.pprint._STAR_print_miser_width_STAR_ \x3d (40);\n/**\n * Maximum number of lines to print in a pretty print instance (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_lines_STAR_ \x3d null;\n/**\n * Mark circular structures (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_circle_STAR_ \x3d null;\n/**\n * Mark repeated structures rather than repeat them (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_shared_STAR_ \x3d null;\n/**\n * Don\x27t print namespaces with symbols. This is particularly useful when\n * pretty printing the results of macro expansions\n */\ncljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d null;\n/**\n * Print a radix specifier in front of integers and rationals. If *print-base* is 2, 8,\n * or 16, then the radix specifier used is #b, #o, or #x, respectively. Otherwise the\n * radix specifier is in the form #XXr where XX is the decimal value of *print-base* \n */\ncljs.pprint._STAR_print_radix_STAR_ \x3d null;\n/**\n * The base to use for printing integers and rationals.\n */\ncljs.pprint._STAR_print_base_STAR_ \x3d (10);\ncljs.pprint._STAR_current_level_STAR_ \x3d (0);\ncljs.pprint._STAR_current_length_STAR_ \x3d null;\ncljs.pprint.table_ize \x3d (function cljs$pprint$table_ize(t,m){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__13578_SHARP_){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(t,cljs.core.key(p1__13578_SHARP_));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,cljs.core.val(p1__13578_SHARP_)], null);\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m], 0)));\n});\n/**\n * Return true iff x is a PrettyWriter\n */\ncljs.pprint.pretty_writer_QMARK_ \x3d (function cljs$pprint$pretty_writer_QMARK_(x){\nvar and__5043__auto__ \x3d (((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(x)));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Wrap base-writer in a PrettyWriter with the specified right-margin and miser-width\n */\ncljs.pprint.make_pretty_writer \x3d (function cljs$pprint$make_pretty_writer(base_writer,right_margin,miser_width){\nreturn cljs.pprint.pretty_writer(base_writer,right_margin,miser_width);\n});\n/**\n * Write an object to *out* subject to the current bindings of the printer control\n * variables. Use the kw-args argument to override individual variables for this call (and\n * any recursive calls).\n * \n * *out* must be a PrettyWriter if pretty printing is enabled. This is the responsibility\n * of the caller.\n * \n * This method is primarily intended for use by pretty print dispatch functions that\n * already know that the pretty printer will have set up their environment appropriately.\n * Normal library clients should use the standard \x22write\x22 interface. \n */\ncljs.pprint.write_out \x3d (function cljs$pprint$write_out(object){\nvar length_reached \x3d (function (){var and__5043__auto__ \x3d cljs.pprint._STAR_current_length_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d cljs.core._STAR_print_length_STAR_;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (cljs.pprint._STAR_current_length_STAR_ \x3e\x3d cljs.core._STAR_print_length_STAR_);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.not(cljs.pprint._STAR_print_pretty_STAR_)){\ncljs.pprint.pr.call(null,object);\n} else {\nif(cljs.core.truth_(length_reached)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)){\n(cljs.pprint._STAR_current_length_STAR_ \x3d (cljs.pprint._STAR_current_length_STAR_ + (1)));\n} else {\n}\n\ncljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,object);\n}\n}\n\nreturn length_reached;\n});\n/**\n * Write an object subject to the current bindings of the printer control variables.\n * Use the kw-args argument to override individual variables for this call (and any\n * recursive calls). Returns the string result if :stream is nil or nil otherwise.\n * \n * The following keyword arguments can be passed with values:\n * Keyword Meaning Default value\n * :stream Writer for output or nil true (indicates *out*)\n * :base Base to use for writing rationals Current value of *print-base*\n * :circle* If true, mark circular structures Current value of *print-circle*\n * :length Maximum elements to show in sublists Current value of *print-length*\n * :level Maximum depth Current value of *print-level*\n * :lines* Maximum lines of output Current value of *print-lines*\n * :miser-width Width to enter miser mode Current value of *print-miser-width*\n * :dispatch The pretty print dispatch function Current value of *print-pprint-dispatch*\n * :pretty If true, do pretty printing Current value of *print-pretty*\n * :radix If true, prepend a radix specifier Current value of *print-radix*\n * :readably* If true, print readably Current value of *print-readably*\n * :right-margin The column for the right margin Current value of *print-right-margin*\n * :suppress-namespaces If true, no namespaces in symbols Current value of *print-suppress-namespaces*\n * \n * * \x3d not yet supported\n */\ncljs.pprint.write \x3d (function cljs$pprint$write(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14853 \x3d arguments.length;\nvar i__5770__auto___14854 \x3d (0);\nwhile(true){\nif((i__5770__auto___14854 \x3c len__5769__auto___14853)){\nargs__5775__auto__.push((arguments[i__5770__auto___14854]));\n\nvar G__14855 \x3d (i__5770__auto___14854 + (1));\ni__5770__auto___14854 \x3d G__14855;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,kw_args){\nvar options \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),true], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,kw_args)], 0));\nvar _STAR_print_base_STAR__orig_val__13640 \x3d cljs.pprint._STAR_print_base_STAR_;\nvar _STAR_print_circle_STAR__orig_val__13641 \x3d cljs.pprint._STAR_print_circle_STAR_;\nvar _STAR_print_length_STAR__orig_val__13642 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__13643 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_lines_STAR__orig_val__13644 \x3d cljs.pprint._STAR_print_lines_STAR_;\nvar _STAR_print_miser_width_STAR__orig_val__13645 \x3d cljs.pprint._STAR_print_miser_width_STAR_;\nvar _STAR_print_pprint_dispatch_STAR__orig_val__13646 \x3d cljs.pprint._STAR_print_pprint_dispatch_STAR_;\nvar _STAR_print_pretty_STAR__orig_val__13647 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_radix_STAR__orig_val__13648 \x3d cljs.pprint._STAR_print_radix_STAR_;\nvar _STAR_print_readably_STAR__orig_val__13649 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_right_margin_STAR__orig_val__13650 \x3d cljs.pprint._STAR_print_right_margin_STAR_;\nvar _STAR_print_suppress_namespaces_STAR__orig_val__13651 \x3d cljs.pprint._STAR_print_suppress_namespaces_STAR_;\nvar _STAR_print_base_STAR__temp_val__13652 \x3d new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_base_STAR_);\nvar _STAR_print_circle_STAR__temp_val__13653 \x3d new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_circle_STAR_);\nvar _STAR_print_length_STAR__temp_val__13654 \x3d new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_length_STAR_);\nvar _STAR_print_level_STAR__temp_val__13655 \x3d new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_level_STAR_);\nvar _STAR_print_lines_STAR__temp_val__13656 \x3d new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_lines_STAR_);\nvar _STAR_print_miser_width_STAR__temp_val__13659 \x3d new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_miser_width_STAR_);\nvar _STAR_print_pprint_dispatch_STAR__temp_val__13660 \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pprint_dispatch_STAR_);\nvar _STAR_print_pretty_STAR__temp_val__13661 \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pretty_STAR_);\nvar _STAR_print_radix_STAR__temp_val__13662 \x3d new cljs.core.Keyword(null,\x22radix\x22,\x22radix\x22,857016463).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_radix_STAR_);\nvar _STAR_print_readably_STAR__temp_val__13663 \x3d new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_readably_STAR_);\nvar _STAR_print_right_margin_STAR__temp_val__13664 \x3d new cljs.core.Keyword(null,\x22right-margin\x22,\x22right-margin\x22,-810413306).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_right_margin_STAR_);\nvar _STAR_print_suppress_namespaces_STAR__temp_val__13665 \x3d new cljs.core.Keyword(null,\x22suppress-namespaces\x22,\x22suppress-namespaces\x22,2130686956).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_suppress_namespaces_STAR_);\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__temp_val__13652);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__temp_val__13653);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__13654);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__13655);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__temp_val__13656);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__temp_val__13659);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__temp_val__13660);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__13661);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__temp_val__13662);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__13663);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__temp_val__13664);\n\n(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__temp_val__13665);\n\ntry{try{var sb \x3d (new goog.string.StringBuffer());\nvar optval \x3d ((cljs.core.contains_QMARK_(options,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648)))?new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648).cljs$core$IFn$_invoke$arity$1(options):true);\nvar base_writer \x3d ((((optval \x3d\x3d\x3d true) || ((optval \x3d\x3d null))))?(new cljs.core.StringBufferWriter(sb)):optval);\nif(cljs.core.truth_(cljs.pprint._STAR_print_pretty_STAR_)){\nvar base_writer__11524__auto___14861 \x3d base_writer;\nvar new_writer__11526__auto___14862 \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__11524__auto___14861));\nvar _STAR_out_STAR__orig_val__13682_14863 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__13683_14864 \x3d ((new_writer__11526__auto___14862)?cljs.pprint.make_pretty_writer(base_writer__11524__auto___14861,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__11524__auto___14861);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__13683_14864);\n\ntry{cljs.pprint.write_out(object);\n\ncljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__13682_14863);\n}} else {\nvar _STAR_out_STAR__orig_val__13689_14865 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__13690_14866 \x3d base_writer;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__13690_14866);\n\ntry{cljs.pprint.pr.call(null,object);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__13689_14865);\n}}\n\nif(optval \x3d\x3d\x3d true){\ncljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\n}\n\nif((optval \x3d\x3d null)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nreturn null;\n}\n}finally {}}finally {(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__orig_val__13651);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__orig_val__13650);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__13649);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__orig_val__13648);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__13647);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__orig_val__13646);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__orig_val__13645);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__orig_val__13644);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__13643);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__13642);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__orig_val__13641);\n\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__orig_val__13640);\n}}));\n\n(cljs.pprint.write.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.pprint.write.cljs$lang$applyTo \x3d (function (seq13625){\nvar G__13626 \x3d cljs.core.first(seq13625);\nvar seq13625__$1 \x3d cljs.core.next(seq13625);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__13626,seq13625__$1);\n}));\n\ncljs.pprint.pprint \x3d (function cljs$pprint$pprint(var_args){\nvar G__13718 \x3d arguments.length;\nswitch (G__13718) {\ncase 1:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nvar sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__13743 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__13745 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__13745);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(object,cljs.core._STAR_out_STAR_);\n\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__13743);\n}}));\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,writer){\nvar base_writer__11524__auto__ \x3d writer;\nvar new_writer__11526__auto__ \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__11524__auto__));\nvar _STAR_out_STAR__orig_val__13746 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__13747 \x3d ((new_writer__11526__auto__)?cljs.pprint.make_pretty_writer(base_writer__11524__auto__,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__11524__auto__);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__13747);\n\ntry{var _STAR_print_pretty_STAR__orig_val__13750_14869 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_pretty_STAR__temp_val__13751_14870 \x3d true;\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__13751_14870);\n\ntry{cljs.pprint.write_out(object);\n}finally {(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__13750_14869);\n}\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(cljs.core._STAR_out_STAR_))))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n} else {\n}\n\nreturn cljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__13746);\n}}));\n\n(cljs.pprint.pprint.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.pprint.set_pprint_dispatch \x3d (function cljs$pprint$set_pprint_dispatch(function$){\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d function$);\n\nreturn null;\n});\ncljs.pprint.check_enumerated_arg \x3d (function cljs$pprint$check_enumerated_arg(arg,choices){\nif(cljs.core.not((choices.cljs$core$IFn$_invoke$arity$1 ? choices.cljs$core$IFn$_invoke$arity$1(arg) : choices.call(null,arg)))){\nthrow (new Error([\x22Bad argument: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg),\x22. It must be one of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(choices)].join(\x27\x27)));\n} else {\nreturn null;\n}\n});\ncljs.pprint.level_exceeded \x3d (function cljs$pprint$level_exceeded(){\nvar and__5043__auto__ \x3d cljs.core._STAR_print_level_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.pprint._STAR_current_level_STAR_ \x3e\x3d cljs.core._STAR_print_level_STAR_);\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Print a conditional newline to a pretty printing stream. kind specifies if the\n * newline is :linear, :miser, :fill, or :mandatory.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_newline \x3d (function cljs$pprint$pprint_newline(kind){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),null], null), null));\n\nreturn cljs.pprint.nl(cljs.core._STAR_out_STAR_,kind);\n});\n/**\n * Create an indent at this point in the pretty printing stream. This defines how\n * following lines are indented. relative-to can be either :block or :current depending\n * whether the indent should be computed relative to the start of the logical block or\n * the current column position. n is an offset.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_indent \x3d (function cljs$pprint$pprint_indent(relative_to,n){\ncljs.pprint.check_enumerated_arg(relative_to,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),null], null), null));\n\nreturn cljs.pprint.indent(cljs.core._STAR_out_STAR_,relative_to,n);\n});\n/**\n * Tab at this point in the pretty printing stream. kind specifies whether the tab\n * is :line, :section, :line-relative, or :section-relative.\n * \n * Colnum and colinc specify the target column and the increment to move the target\n * forward if the output is already past the original target.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n * \n * THIS FUNCTION IS NOT YET IMPLEMENTED.\n */\ncljs.pprint.pprint_tab \x3d (function cljs$pprint$pprint_tab(kind,colnum,colinc){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22line-relative\x22,\x22line-relative\x22,1149548219),null,new cljs.core.Keyword(null,\x22section-relative\x22,\x22section-relative\x22,-658298724),null], null), null));\n\nthrow (new Error(\x22pprint-tab is not yet implemented\x22));\n});\n/**\n * An implementation of a Common Lisp compatible format function. cl-format formats its\n * arguments to an output stream or string based on the format control string given. It\n * supports sophisticated formatting of structured data.\n * \n * Writer satisfies IWriter, true to output via *print-fn* or nil to output\n * to a string, format-in is the format control string and the remaining arguments\n * are the data to be formatted.\n * \n * The format control string is a string to be output with embedded \x27format directives\x27\n * describing how to format the various arguments passed in.\n * \n * If writer is nil, cl-format returns the formatted result string. Otherwise, cl-format\n * returns nil.\n * \n * For example:\n * (let [results [46 38 22]]\n * (cl-format true \x22There ~[are~;is~:;are~]~:* ~d result~:p: ~{~d~^, ~}~%\x22\n * (count results) results))\n * \n * Prints via *print-fn*:\n * There are 3 results: 46, 38, 22\n * \n * Detailed documentation on format control strings is available in the \x22Common Lisp the\n * Language, 2nd edition\x22, Chapter 22 (available online at:\n * http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000)\n * and in the Common Lisp HyperSpec at\n * http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm\n */\ncljs.pprint.cl_format \x3d (function cljs$pprint$cl_format(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14873 \x3d arguments.length;\nvar i__5770__auto___14874 \x3d (0);\nwhile(true){\nif((i__5770__auto___14874 \x3c len__5769__auto___14873)){\nargs__5775__auto__.push((arguments[i__5770__auto___14874]));\n\nvar G__14876 \x3d (i__5770__auto___14874 + (1));\ni__5770__auto___14874 \x3d G__14876;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,format_in,args){\nvar compiled_format \x3d ((typeof format_in \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(format_in):format_in);\nvar navigator__$1 \x3d cljs.pprint.init_navigator(args);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(writer,compiled_format,navigator__$1);\n}));\n\n(cljs.pprint.cl_format.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.pprint.cl_format.cljs$lang$applyTo \x3d (function (seq13794){\nvar G__13795 \x3d cljs.core.first(seq13794);\nvar seq13794__$1 \x3d cljs.core.next(seq13794);\nvar G__13796 \x3d cljs.core.first(seq13794__$1);\nvar seq13794__$2 \x3d cljs.core.next(seq13794__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__13795,G__13796,seq13794__$2);\n}));\n\ncljs.pprint._STAR_format_str_STAR_ \x3d null;\ncljs.pprint.format_error \x3d (function cljs$pprint$format_error(message,offset){\nvar full_message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(offset,\x22 \x22))),\x22^\x22,\x22\\n\x22].join(\x27\x27);\nthrow Error(full_message);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.arg_navigator \x3d (function (seq,rest,pos,__meta,__extmap,__hash){\nthis.seq \x3d seq;\nthis.rest \x3d rest;\nthis.pos \x3d pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k13861,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__13892 \x3d k13861;\nvar G__13892__$1 \x3d (((G__13892 instanceof cljs.core.Keyword))?G__13892.fqn:null);\nswitch (G__13892__$1) {\ncase \x22seq\x22:\nreturn self__.seq;\n\nbreak;\ncase \x22rest\x22:\nreturn self__.rest;\n\nbreak;\ncase \x22pos\x22:\nreturn self__.pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k13861,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__13893){\nvar vec__13894 \x3d p__13893;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13894,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13894,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.arg-navigator{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__13860){\nvar self__ \x3d this;\nvar G__13860__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__13860__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (3 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-402038447 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this13873,other13874){\nvar self__ \x3d this;\nvar this13873__$1 \x3d this;\nreturn (((!((other13874 \x3d\x3d null)))) \x26\x26 ((((this13873__$1.constructor \x3d\x3d\x3d other13874.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this13873__$1.seq,other13874.seq)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this13873__$1.rest,other13874.rest)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this13873__$1.pos,other13874.pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this13873__$1.__extmap,other13874.__extmap)))))))))));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k13861){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__13925 \x3d k13861;\nvar G__13925__$1 \x3d (((G__13925 instanceof cljs.core.Keyword))?G__13925.fqn:null);\nswitch (G__13925__$1) {\ncase \x22seq\x22:\ncase \x22rest\x22:\ncase \x22pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k13861);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__13860){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__13926 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__13927 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__13926.cljs$core$IFn$_invoke$arity$2 ? pred__13926.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__13927) : pred__13926.call(null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__13927)))){\nreturn (new cljs.pprint.arg_navigator(G__13860,self__.rest,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13926.cljs$core$IFn$_invoke$arity$2 ? pred__13926.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__13927) : pred__13926.call(null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__13927)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,G__13860,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__13926.cljs$core$IFn$_invoke$arity$2 ? pred__13926.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__13927) : pred__13926.call(null,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__13927)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,G__13860,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__13860),null));\n}\n}\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__13860){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,G__13860,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.arg_navigator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22pos\x22,\x22pos\x22,775924307,null)], null);\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$type \x3d true);\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/arg-navigator\x22,null,(1),null));\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/arg-navigator\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/arg-navigator.\n */\ncljs.pprint.__GT_arg_navigator \x3d (function cljs$pprint$__GT_arg_navigator(seq,rest,pos){\nreturn (new cljs.pprint.arg_navigator(seq,rest,pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/arg-navigator, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_arg_navigator \x3d (function cljs$pprint$map__GT_arg_navigator(G__13887){\nvar extmap__5385__auto__ \x3d (function (){var G__13933 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__13887,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], 0));\nif(cljs.core.record_QMARK_(G__13887)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__13933);\n} else {\nreturn G__13933;\n}\n})();\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(G__13887),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(G__13887),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(G__13887),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n/**\n * Create a new arg-navigator from the sequence with the position set to 0\n */\ncljs.pprint.init_navigator \x3d (function cljs$pprint$init_navigator(s){\nvar s__$1 \x3d cljs.core.seq(s);\nreturn (new cljs.pprint.arg_navigator(s__$1,s__$1,(0),null,null,null));\n});\ncljs.pprint.next_arg \x3d (function cljs$pprint$next_arg(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nthrow Error(\x22Not enough arguments for format definition\x22);\n}\n});\ncljs.pprint.next_arg_or_nil \x3d (function cljs$pprint$next_arg_or_nil(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,navigator], null);\n}\n});\ncljs.pprint.get_format_arg \x3d (function cljs$pprint$get_format_arg(navigator){\nvar vec__13997 \x3d cljs.pprint.next_arg(navigator);\nvar raw_format \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13997,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13997,(1),null);\nvar compiled_format \x3d ((typeof raw_format \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(raw_format):raw_format);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [compiled_format,navigator__$1], null);\n});\ncljs.pprint.absolute_reposition \x3d (function cljs$pprint$absolute_reposition(navigator,position){\nif((position \x3e\x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator))){\nvar G__14000 \x3d navigator;\nvar G__14001 \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) - position);\nreturn (cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(G__14000,G__14001) : cljs.pprint.relative_reposition.call(null,G__14000,G__14001));\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator)),position,null,null,null));\n}\n});\ncljs.pprint.relative_reposition \x3d (function cljs$pprint$relative_reposition(navigator,position){\nvar newpos \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + position);\nif((position \x3c (0))){\nreturn cljs.pprint.absolute_reposition(navigator,newpos);\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),newpos,null,null,null));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.compiled_directive \x3d (function (func,def,params,offset,__meta,__extmap,__hash){\nthis.func \x3d func;\nthis.def \x3d def;\nthis.params \x3d params;\nthis.offset \x3d offset;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k14057,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__14070 \x3d k14057;\nvar G__14070__$1 \x3d (((G__14070 instanceof cljs.core.Keyword))?G__14070.fqn:null);\nswitch (G__14070__$1) {\ncase \x22func\x22:\nreturn self__.func;\n\nbreak;\ncase \x22def\x22:\nreturn self__.def;\n\nbreak;\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k14057,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__14074){\nvar vec__14075 \x3d p__14074;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14075,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14075,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.compiled-directive{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__14056){\nvar self__ \x3d this;\nvar G__14056__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__14056__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-829256337 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this14058,other14059){\nvar self__ \x3d this;\nvar this14058__$1 \x3d this;\nreturn (((!((other14059 \x3d\x3d null)))) \x26\x26 ((((this14058__$1.constructor \x3d\x3d\x3d other14059.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this14058__$1.func,other14059.func)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this14058__$1.def,other14059.def)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this14058__$1.params,other14059.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this14058__$1.offset,other14059.offset)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this14058__$1.__extmap,other14059.__extmap)))))))))))));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k14057){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__14100 \x3d k14057;\nvar G__14100__$1 \x3d (((G__14100 instanceof cljs.core.Keyword))?G__14100.fqn:null);\nswitch (G__14100__$1) {\ncase \x22func\x22:\ncase \x22def\x22:\ncase \x22params\x22:\ncase \x22offset\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k14057);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__14056){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__14104 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__14105 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__14104.cljs$core$IFn$_invoke$arity$2 ? pred__14104.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__14105) : pred__14104.call(null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__14105)))){\nreturn (new cljs.pprint.compiled_directive(G__14056,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__14104.cljs$core$IFn$_invoke$arity$2 ? pred__14104.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__14105) : pred__14104.call(null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__14105)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,G__14056,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__14104.cljs$core$IFn$_invoke$arity$2 ? pred__14104.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__14105) : pred__14104.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__14105)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,G__14056,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__14104.cljs$core$IFn$_invoke$arity$2 ? pred__14104.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__14105) : pred__14104.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__14105)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,G__14056,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__14056),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__14056){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,G__14056,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.compiled_directive.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22func\x22,\x22func\x22,1401825487,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null)], null);\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$type \x3d true);\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/compiled-directive\x22,null,(1),null));\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/compiled-directive\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/compiled-directive.\n */\ncljs.pprint.__GT_compiled_directive \x3d (function cljs$pprint$__GT_compiled_directive(func,def,params,offset){\nreturn (new cljs.pprint.compiled_directive(func,def,params,offset,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/compiled-directive, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_compiled_directive \x3d (function cljs$pprint$map__GT_compiled_directive(G__14060){\nvar extmap__5385__auto__ \x3d (function (){var G__14124 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__14060,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], 0));\nif(cljs.core.record_QMARK_(G__14060)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__14124);\n} else {\nreturn G__14124;\n}\n})();\nreturn (new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(G__14060),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(G__14060),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__14060),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__14060),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.realize_parameter \x3d (function cljs$pprint$realize_parameter(p__14131,navigator){\nvar vec__14132 \x3d p__14131;\nvar param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14132,(0),null);\nvar vec__14135 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14132,(1),null);\nvar raw_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14135,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14135,(1),null);\nvar vec__14139 \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),param))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196)))?cljs.pprint.next_arg(navigator):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.count(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),navigator], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null)\n)));\nvar real_param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14139,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14139,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [real_param,offset], null)], null),new_navigator], null);\n});\ncljs.pprint.realize_parameter_list \x3d (function cljs$pprint$realize_parameter_list(parameter_map,navigator){\nvar vec__14142 \x3d cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,navigator,parameter_map);\nvar pairs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14142,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14142,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,pairs),new_navigator], null);\n});\ncljs.pprint.special_radix_markers \x3d new cljs.core.PersistentArrayMap(null, 3, [(2),\x22#b\x22,(8),\x22#o\x22,(16),\x22#x\x22], null);\ncljs.pprint.format_simple_number \x3d (function cljs$pprint$format_simple_number(n){\nif(cljs.core.integer_QMARK_(n)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,(10))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?\x22.\x22:null)].join(\x27\x27);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?(function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),\x22r\x22].join(\x27\x27);\n}\n})():null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,n))].join(\x27\x27);\n}\n} else {\nreturn null;\n\n}\n});\ncljs.pprint.format_ascii \x3d (function cljs$pprint$format_ascii(print_func,params,arg_navigator,offsets){\nvar vec__14146 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14146,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14146,(1),null);\nvar base_output \x3d (function (){var or__5045__auto__ \x3d cljs.pprint.format_simple_number(arg);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (print_func.cljs$core$IFn$_invoke$arity$1 ? print_func.cljs$core$IFn$_invoke$arity$1(arg) : print_func.call(null,arg));\n}\n})();\nvar base_width \x3d base_output.length;\nvar min_width \x3d (base_width + new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params));\nvar width \x3d (((min_width \x3e\x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?min_width:(min_width + ((cljs.core.quot(((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - min_width) - (1)),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params)) + (1)) * new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params))));\nvar chars \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((width - base_width),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars),cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output)].join(\x27\x27)], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output),cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars)].join(\x27\x27)], 0));\n}\n\nreturn arg_navigator__$1;\n});\n/**\n * returns true if a number is actually an integer (that is, has no fractional part)\n */\ncljs.pprint.integral_QMARK_ \x3d (function cljs$pprint$integral_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn true;\n} else {\nif(cljs.pprint.float_QMARK_(x)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,Math.floor(x));\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Return the list of remainders (essentially the \x27digits\x27) of val in the given base\n */\ncljs.pprint.remainders \x3d (function cljs$pprint$remainders(base,val){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (p1__14154_SHARP_){\nif((p1__14154_SHARP_ \x3e (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rem(p1__14154_SHARP_,base),cljs.core.quot(p1__14154_SHARP_,base)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n}\n}),val)));\n});\n/**\n * Return val as a string in the given base\n */\ncljs.pprint.base_str \x3d (function cljs$pprint$base_str(base,val){\nif((val \x3d\x3d\x3d (0))){\nreturn \x220\x22;\n} else {\nvar xlated_val \x3d val\n;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14155_SHARP_){\nif((p1__14155_SHARP_ \x3c (10))){\nreturn cljs.core.char$((cljs.pprint.char_code(\x220\x22) + p1__14155_SHARP_));\n} else {\nreturn cljs.core.char$((cljs.pprint.char_code(\x22a\x22) + (p1__14155_SHARP_ - (10))));\n}\n}),cljs.pprint.remainders(base,val)));\n}\n});\ncljs.pprint.javascript_base_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [(8),\x22%o\x22,(10),\x22%d\x22,(16),\x22%x\x22], null);\n/**\n * Return val as a string in the given base. No cljs format, so no improved performance.\n */\ncljs.pprint.opt_base_str \x3d (function cljs$pprint$opt_base_str(base,val){\nreturn cljs.pprint.base_str(base,val);\n});\ncljs.pprint.group_by_STAR_ \x3d (function cljs$pprint$group_by_STAR_(unit,lis){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(unit,x))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(unit,x))], null);\n}),cljs.core.reverse(lis))));\n});\ncljs.pprint.format_integer \x3d (function cljs$pprint$format_integer(base,params,arg_navigator,offsets){\nvar vec__14167 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14167,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14167,(1),null);\nif(cljs.pprint.integral_QMARK_(arg)){\nvar neg_14920 \x3d (arg \x3c (0));\nvar pos_arg_14921 \x3d ((neg_14920)?(- arg):arg);\nvar raw_str_14922 \x3d cljs.pprint.opt_base_str(base,pos_arg_14921);\nvar group_str_14923 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(function (){var groups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14166_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,p1__14166_SHARP_);\n}),cljs.pprint.group_by_STAR_(new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083).cljs$core$IFn$_invoke$arity$1(params),raw_str_14922));\nvar commas \x3d cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(groups),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327).cljs$core$IFn$_invoke$arity$1(params));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(commas,groups)));\n})():raw_str_14922);\nvar signed_str_14924 \x3d ((neg_14920)?[\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_14923)].join(\x27\x27):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?[\x22+\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_14923)].join(\x27\x27):group_str_14923\n));\nvar padded_str_14925 \x3d (((signed_str_14924.length \x3c new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - signed_str_14924.length),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(signed_str_14924)].join(\x27\x27):signed_str_14924);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([padded_str_14925], 0));\n} else {\ncljs.pprint.format_ascii(cljs.core.print_str,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),(1),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),null);\n}\n\nreturn arg_navigator__$1;\n});\ncljs.pprint.english_cardinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zero\x22,\x22one\x22,\x22two\x22,\x22three\x22,\x22four\x22,\x22five\x22,\x22six\x22,\x22seven\x22,\x22eight\x22,\x22nine\x22,\x22ten\x22,\x22eleven\x22,\x22twelve\x22,\x22thirteen\x22,\x22fourteen\x22,\x22fifteen\x22,\x22sixteen\x22,\x22seventeen\x22,\x22eighteen\x22,\x22nineteen\x22], null);\ncljs.pprint.english_ordinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zeroth\x22,\x22first\x22,\x22second\x22,\x22third\x22,\x22fourth\x22,\x22fifth\x22,\x22sixth\x22,\x22seventh\x22,\x22eighth\x22,\x22ninth\x22,\x22tenth\x22,\x22eleventh\x22,\x22twelfth\x22,\x22thirteenth\x22,\x22fourteenth\x22,\x22fifteenth\x22,\x22sixteenth\x22,\x22seventeenth\x22,\x22eighteenth\x22,\x22nineteenth\x22], null);\ncljs.pprint.english_cardinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twenty\x22,\x22thirty\x22,\x22forty\x22,\x22fifty\x22,\x22sixty\x22,\x22seventy\x22,\x22eighty\x22,\x22ninety\x22], null);\ncljs.pprint.english_ordinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twentieth\x22,\x22thirtieth\x22,\x22fortieth\x22,\x22fiftieth\x22,\x22sixtieth\x22,\x22seventieth\x22,\x22eightieth\x22,\x22ninetieth\x22], null);\ncljs.pprint.english_scale_numbers \x3d new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22thousand\x22,\x22million\x22,\x22billion\x22,\x22trillion\x22,\x22quadrillion\x22,\x22quintillion\x22,\x22sextillion\x22,\x22septillion\x22,\x22octillion\x22,\x22nonillion\x22,\x22decillion\x22,\x22undecillion\x22,\x22duodecillion\x22,\x22tredecillion\x22,\x22quattuordecillion\x22,\x22quindecillion\x22,\x22sexdecillion\x22,\x22septendecillion\x22,\x22octodecillion\x22,\x22novemdecillion\x22,\x22vigintillion\x22], null);\n/**\n * Convert a number less than 1000 to a cardinal english string\n */\ncljs.pprint.format_simple_cardinal \x3d (function cljs$pprint$format_simple_cardinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,unit_digit):null))].join(\x27\x27);\n})()):null))].join(\x27\x27);\n});\n/**\n * Take a sequence of parts, add scale numbers (e.g., million) and combine into a string\n * offset is a factor of 10^3 to multiply by\n */\ncljs.pprint.add_english_scales \x3d (function cljs$pprint$add_english_scales(parts,offset){\nvar cnt \x3d cljs.core.count(parts);\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar pos \x3d (cnt - (1));\nvar this$ \x3d cljs.core.first(parts);\nvar remainder \x3d cljs.core.next(parts);\nwhile(true){\nif((remainder \x3d\x3d null)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,acc))),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 ((!(cljs.core.empty_QMARK_(acc))))))?\x22, \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 (((pos + offset) \x3e (0)))))?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27):null)].join(\x27\x27);\n} else {\nvar G__14929 \x3d ((cljs.core.empty_QMARK_(this$))?acc:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27)));\nvar G__14930 \x3d (pos - (1));\nvar G__14931 \x3d cljs.core.first(remainder);\nvar G__14932 \x3d cljs.core.next(remainder);\nacc \x3d G__14929;\npos \x3d G__14930;\nthis$ \x3d G__14931;\nremainder \x3d G__14932;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.format_cardinal_english \x3d (function cljs$pprint$format_cardinal_english(params,navigator,offsets){\nvar vec__14204 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14204,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14204,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zero\x22], 0));\n} else {\nvar abs_arg_14934 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_14935 \x3d cljs.pprint.remainders((1000),abs_arg_14934);\nif((cljs.core.count(parts_14935) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_14936 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,parts_14935);\nvar full_str_14937 \x3d cljs.pprint.add_english_scales(parts_strs_14936,(0));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),full_str_14937].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n}\n\nreturn navigator__$1;\n});\n/**\n * Convert a number less than 1000 to a ordinal english string\n * Note this should only be used for the last one in the sequence\n */\ncljs.pprint.format_simple_ordinal \x3d (function cljs$pprint$format_simple_ordinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nif((((ten_digit \x3e (0))) \x26\x26 ((!((unit_digit \x3e (0))))))){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_tens,ten_digit);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,unit_digit):null))].join(\x27\x27);\n}\n})()):(((hundreds \x3e (0)))?\x22th\x22:null)))].join(\x27\x27);\n});\ncljs.pprint.format_ordinal_english \x3d (function cljs$pprint$format_ordinal_english(params,navigator,offsets){\nvar vec__14208 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14208,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14208,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zeroth\x22], 0));\n} else {\nvar abs_arg_14940 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_14941 \x3d cljs.pprint.remainders((1000),abs_arg_14940);\nif((cljs.core.count(parts_14941) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_14942 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(parts_14941));\nvar head_str_14943 \x3d cljs.pprint.add_english_scales(parts_strs_14942,(1));\nvar tail_str_14944 \x3d cljs.pprint.format_simple_ordinal(cljs.core.last(parts_14941));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),(((((!(cljs.core.empty_QMARK_(head_str_14943)))) \x26\x26 ((!(cljs.core.empty_QMARK_(tail_str_14944))))))?[head_str_14943,\x22, \x22,tail_str_14944].join(\x27\x27):(((!(cljs.core.empty_QMARK_(head_str_14943))))?[head_str_14943,\x22th\x22].join(\x27\x27):tail_str_14944\n))].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n\nvar low_two_digits_14946 \x3d cljs.core.rem(arg,(100));\nvar not_teens_14947 \x3d ((((11) \x3c low_two_digits_14946)) || (((19) \x3e low_two_digits_14946)));\nvar low_digit_14948 \x3d cljs.core.rem(low_two_digits_14946,(10));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(((((low_digit_14948 \x3d\x3d\x3d (1))) \x26\x26 (not_teens_14947)))?\x22st\x22:(((((low_digit_14948 \x3d\x3d\x3d (2))) \x26\x26 (not_teens_14947)))?\x22nd\x22:(((((low_digit_14948 \x3d\x3d\x3d (3))) \x26\x26 (not_teens_14947)))?\x22rd\x22:\x22th\x22\n)))], 0));\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.old_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IIII\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22VIIII\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XXXX\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22LXXXX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CCCC\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22DCCCC\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\ncljs.pprint.new_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IV\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22IX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XL\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22XC\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CD\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22CM\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\n/**\n * Format a roman numeral using the specified look-up table\n */\ncljs.pprint.format_roman \x3d (function cljs$pprint$format_roman(table,params,navigator,offsets){\nvar vec__14211 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14211,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14211,(1),null);\nif(((typeof arg \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((arg \x3e (0))) \x26\x26 ((arg \x3c (4000))))))){\nvar digits_14957 \x3d cljs.pprint.remainders((10),arg);\nvar acc_14958 \x3d cljs.core.PersistentVector.EMPTY;\nvar pos_14959 \x3d (cljs.core.count(digits_14957) - (1));\nvar digits_14960__$1 \x3d digits_14957;\nwhile(true){\nif(cljs.core.empty_QMARK_(digits_14960__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,acc_14958)], 0));\n} else {\nvar digit_14961 \x3d cljs.core.first(digits_14960__$1);\nvar G__14962 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),digit_14961))?acc_14958:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc_14958,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(table,pos_14959),(digit_14961 - (1)))));\nvar G__14963 \x3d (pos_14959 - (1));\nvar G__14964 \x3d cljs.core.next(digits_14960__$1);\nacc_14958 \x3d G__14962;\npos_14959 \x3d G__14963;\ndigits_14960__$1 \x3d G__14964;\ncontinue;\n}\nbreak;\n}\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.format_old_roman \x3d (function cljs$pprint$format_old_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.old_roman_table,params,navigator,offsets);\n});\ncljs.pprint.format_new_roman \x3d (function cljs$pprint$format_new_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.new_roman_table,params,navigator,offsets);\n});\ncljs.pprint.special_chars \x3d new cljs.core.PersistentArrayMap(null, 5, [(8),\x22Backspace\x22,(9),\x22Tab\x22,(10),\x22Newline\x22,(13),\x22Return\x22,(32),\x22Space\x22], null);\ncljs.pprint.pretty_character \x3d (function cljs$pprint$pretty_character(params,navigator,offsets){\nvar vec__14215 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14215,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14215,(1),null);\nvar as_int \x3d cljs.pprint.char_code(c);\nvar base_char \x3d (as_int \x26 (127));\nvar meta \x3d (as_int \x26 (128));\nvar special \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,base_char);\nif((meta \x3e (0))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Meta-\x22], 0));\n} else {\n}\n\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(special)?special:(((base_char \x3c (32)))?[\x22Control-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$((base_char + (64))))].join(\x27\x27):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(base_char,(127)))?\x22Control-?\x22:cljs.core.char$(base_char)\n)))], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.readable_character \x3d (function cljs$pprint$readable_character(params,navigator,offsets){\nvar vec__14221 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14221,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14221,(1),null);\nvar pred__14224_14965 \x3d cljs.core._EQ_;\nvar expr__14225_14966 \x3d new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_((function (){var G__14227 \x3d \x22o\x22;\nvar G__14228 \x3d expr__14225_14966;\nreturn (pred__14224_14965.cljs$core$IFn$_invoke$arity$2 ? pred__14224_14965.cljs$core$IFn$_invoke$arity$2(G__14227,G__14228) : pred__14224_14965.call(null,G__14227,G__14228));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\o~3,\x270o\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((function (){var G__14229 \x3d \x22u\x22;\nvar G__14230 \x3d expr__14225_14966;\nreturn (pred__14224_14965.cljs$core$IFn$_invoke$arity$2 ? pred__14224_14965.cljs$core$IFn$_invoke$arity$2(G__14229,G__14230) : pred__14224_14965.call(null,G__14229,G__14230));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\u~4,\x270x\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((pred__14224_14965.cljs$core$IFn$_invoke$arity$2 ? pred__14224_14965.cljs$core$IFn$_invoke$arity$2(null,expr__14225_14966) : pred__14224_14965.call(null,null,expr__14225_14966)))){\ncljs.pprint.print_char(c);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__14225_14966)].join(\x27\x27)));\n}\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.plain_character \x3d (function cljs$pprint$plain_character(params,navigator,offsets){\nvar vec__14231 \x3d cljs.pprint.next_arg(navigator);\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14231,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14231,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([char$], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.abort_QMARK_ \x3d (function cljs$pprint$abort_QMARK_(context){\nvar token \x3d cljs.core.first(context);\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),token)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),token)));\n});\ncljs.pprint.execute_sub_format \x3d (function cljs$pprint$execute_sub_format(format,args,base_args){\nreturn cljs.core.second(cljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__14238 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14238,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14238,(1),null);\nvar vec__14241 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14241,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14241,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),base_args);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format));\n});\n/**\n * Produce string parts for the mantissa (normalize 1-9) and exponent\n */\ncljs.pprint.float_parts_base \x3d (function cljs$pprint$float_parts_base(f){\nvar s \x3d clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));\nvar exploc \x3d s.indexOf(\x22e\x22);\nvar dotloc \x3d s.indexOf(\x22.\x22);\nif((exploc \x3c (0))){\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((s).length) - (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),dotloc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(dotloc + (1)))].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1((dotloc - (1)))], null);\n}\n} else {\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),exploc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1)),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(2),exploc)].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n}\n}\n});\n/**\n * Take care of leading and trailing zeros in decomposed floats\n */\ncljs.pprint.float_parts \x3d (function cljs$pprint$float_parts(f){\nvar vec__14245 \x3d cljs.pprint.float_parts_base(f);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14245,(0),null);\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14245,(1),null);\nvar m1 \x3d cljs.pprint.rtrim(m,\x220\x22);\nvar m2 \x3d cljs.pprint.ltrim(m1,\x220\x22);\nvar delta \x3d (cljs.core.count(m1) - cljs.core.count(m2));\nvar e__$1 \x3d (((((cljs.core.count(e) \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(e,(0)),\x22+\x22))))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,(1)):e);\nif(cljs.core.empty_QMARK_(m2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m2,(parseInt(e__$1,(10)) - delta)], null);\n}\n});\n/**\n * Assumption: The input string consists of one or more decimal digits,\n * and no other characters. Return a string containing one or more\n * decimal digits containing a decimal number one larger than the input\n * string. The output string will always be the same length as the input\n * string, or one character longer.\n */\ncljs.pprint.inc_s \x3d (function cljs$pprint$inc_s(s){\nvar len_1 \x3d (cljs.core.count(s) - (1));\nvar i \x3d (len_1 | (0));\nwhile(true){\nif((i \x3c (0))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x221\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 + (1)),\x220\x22));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x229\x22,s.charAt(i))){\nvar G__14971 \x3d (i - (1));\ni \x3d G__14971;\ncontinue;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i),cljs.core.char$((cljs.pprint.char_code(s.charAt(i)) + (1))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 - i),\x220\x22));\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.round_str \x3d (function cljs$pprint$round_str(m,e,d,w){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d d;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn w;\n}\n})())){\nvar len \x3d cljs.core.count(m);\nvar w__$1 \x3d (cljs.core.truth_(w)?(function (){var x__5130__auto__ \x3d (2);\nvar y__5131__auto__ \x3d w;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(0));\nvar round_pos \x3d (cljs.core.truth_(d)?((e + d) + (1)):(((e \x3e\x3d (0)))?(function (){var x__5130__auto__ \x3d (e + (1));\nvar y__5131__auto__ \x3d (w__$1 - (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(w__$1 + e)\n));\nvar vec__14252 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(round_pos,(0)))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x220\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(e + (1)),(1),(len + (1))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,round_pos,len], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14252,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14252,(1),null);\nvar round_pos__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14252,(2),null);\nvar len__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14252,(3),null);\nif(cljs.core.truth_(round_pos__$1)){\nif((round_pos__$1 \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0),false], null);\n} else {\nif((len__$1 \x3e round_pos__$1)){\nvar round_char \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(m1,round_pos__$1);\nvar result \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m1,(0),round_pos__$1);\nif((cljs.pprint.char_code(round_char) \x3e\x3d cljs.pprint.char_code(\x225\x22))){\nvar round_up_result \x3d cljs.pprint.inc_s(result);\nvar expanded \x3d (cljs.core.count(round_up_result) \x3e ((result).length));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((expanded)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(round_up_result,(0),(cljs.core.count(round_up_result) - (1))):round_up_result),e1,expanded], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [result,e1,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n});\ncljs.pprint.expand_fixed \x3d (function cljs$pprint$expand_fixed(m,e,d){\nvar vec__14255 \x3d (((e \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((- e) - (1)),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(-1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14255,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14255,(1),null);\nvar len \x3d cljs.core.count(m1);\nvar target_len \x3d (cljs.core.truth_(d)?((e1 + d) + (1)):(e1 + (1)));\nif((len \x3c target_len)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(m1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((target_len - len),\x220\x22)))].join(\x27\x27);\n} else {\nreturn m1;\n}\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_decimal \x3d (function cljs$pprint$insert_decimal(m,e){\nif((e \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nvar loc \x3d (e + (1));\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),loc),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,loc)].join(\x27\x27);\n}\n});\ncljs.pprint.get_fixed \x3d (function cljs$pprint$get_fixed(m,e,d){\nreturn cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(m,e,d),e);\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_scaled_decimal \x3d (function cljs$pprint$insert_scaled_decimal(m,k){\nif((k \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),k),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,k)].join(\x27\x27);\n}\n});\ncljs.pprint.convert_ratio \x3d (function cljs$pprint$convert_ratio(x){\nreturn x;\n});\ncljs.pprint.fixed_float \x3d (function cljs$pprint$fixed_float(params,navigator,offsets){\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__14262 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14262,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14262,(1),null);\nvar vec__14266 \x3d (((arg \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22-\x22,(- arg)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22+\x22,arg], null));\nvar sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14266,(0),null);\nvar abs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14266,(1),null);\nvar abs__$1 \x3d cljs.pprint.convert_ratio(abs);\nvar vec__14269 \x3d cljs.pprint.float_parts(abs__$1);\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14269,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14269,(1),null);\nvar scaled_exp \x3d (exp + new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params));\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar append_zero \x3d ((cljs.core.not(d)) \x26\x26 (((cljs.core.count(mantissa) - (1)) \x3c\x3d scaled_exp)));\nvar vec__14272 \x3d cljs.pprint.round_str(mantissa,scaled_exp,d,(cljs.core.truth_(w)?(w - (cljs.core.truth_(add_sign)?(1):(0))):null));\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14272,(0),null);\nvar scaled_exp__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14272,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14272,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp__$1 + (1)):scaled_exp__$1),d);\nvar fixed_repr__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d w;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d d;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (((d \x3e\x3d (1))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((0)),\x220\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((1)),\x22.\x22)) \x26\x26 ((((fixed_repr).length) \x3e (w - (cljs.core.truth_(add_sign)?(1):(0))))))))));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(fixed_repr,(1)):fixed_repr);\nvar prepend_zero \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fixed_repr__$1),\x22.\x22);\nif(cljs.core.truth_(w)){\nvar len_14974 \x3d ((fixed_repr__$1).length);\nvar signed_len_14975 \x3d (cljs.core.truth_(add_sign)?(len_14974 + (1)):len_14974);\nvar prepend_zero_14976__$1 \x3d ((prepend_zero) \x26\x26 ((!((signed_len_14975 \x3e\x3d w)))));\nvar append_zero_14977__$1 \x3d ((append_zero) \x26\x26 ((!((signed_len_14975 \x3e\x3d w)))));\nvar full_len_14978 \x3d ((((prepend_zero_14976__$1) || (append_zero_14977__$1)))?(signed_len_14975 + (1)):signed_len_14975);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (full_len_14978 \x3e w);\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len_14978),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero_14976__$1)?\x220\x22:null),fixed_repr__$1,((append_zero_14977__$1)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero)?\x220\x22:null),fixed_repr__$1,((append_zero)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.exponential_float \x3d (function cljs$pprint$exponential_float(params,navigator,offset){\nvar vec__14295 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14295,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14295,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar G__14305_14979 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar vec__14310_14980 \x3d G__14305_14979;\nvar mantissa_14981 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14310_14980,(0),null);\nvar exp_14982 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14310_14980,(1),null);\nvar G__14305_14983__$1 \x3d G__14305_14979;\nwhile(true){\nvar vec__14313_14984 \x3d G__14305_14983__$1;\nvar mantissa_14985__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14313_14984,(0),null);\nvar exp_14986__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14313_14984,(1),null);\nvar w_14987 \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d_14988 \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e_14989 \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar k_14990 \x3d new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params);\nvar expchar_14991 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22E\x22;\n}\n})();\nvar add_sign_14992 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg__$1 \x3c (0));\n}\n})();\nvar prepend_zero_14993 \x3d (k_14990 \x3c\x3d (0));\nvar scaled_exp_14994 \x3d (exp_14986__$1 - (k_14990 - (1)));\nvar scaled_exp_str_14995 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(scaled_exp_14994));\nvar scaled_exp_str_14996__$1 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(expchar_14991),(((scaled_exp_14994 \x3c (0)))?\x22-\x22:\x22+\x22),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(e_14989)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((e_14989 - ((scaled_exp_str_14995).length)),\x220\x22)):null)),scaled_exp_str_14995].join(\x27\x27);\nvar exp_width_14997 \x3d ((scaled_exp_str_14996__$1).length);\nvar base_mantissa_width_14998 \x3d cljs.core.count(mantissa_14985__$1);\nvar scaled_mantissa_14999 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((- k_14990),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(mantissa_14985__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(d_14988)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((d_14988 - (base_mantissa_width_14998 - (1))) - (((k_14990 \x3c (0)))?(- k_14990):(0))),\x220\x22)):null))].join(\x27\x27);\nvar w_mantissa_15000 \x3d (cljs.core.truth_(w_14987)?(w_14987 - exp_width_14997):null);\nvar vec__14316_15001 \x3d cljs.pprint.round_str(scaled_mantissa_14999,(0),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_14990,(0)))?(d_14988 - (1)):(((k_14990 \x3e (0)))?d_14988:(((k_14990 \x3c (0)))?(d_14988 - (1)):null))),(cljs.core.truth_(w_mantissa_15000)?(w_mantissa_15000 - (cljs.core.truth_(add_sign_14992)?(1):(0))):null));\nvar rounded_mantissa_15002 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14316_15001,(0),null);\nvar __15003 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14316_15001,(1),null);\nvar incr_exp_15004 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14316_15001,(2),null);\nvar full_mantissa_15005 \x3d cljs.pprint.insert_scaled_decimal(rounded_mantissa_15002,k_14990);\nvar append_zero_15006 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_14990,cljs.core.count(rounded_mantissa_15002))) \x26\x26 ((d_14988 \x3d\x3d null)));\nif(cljs.core.not(incr_exp_15004)){\nif(cljs.core.truth_(w_14987)){\nvar len_15009 \x3d (((full_mantissa_15005).length) + exp_width_14997);\nvar signed_len_15010 \x3d (cljs.core.truth_(add_sign_14992)?(len_15009 + (1)):len_15009);\nvar prepend_zero_15011__$1 \x3d ((prepend_zero_14993) \x26\x26 ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(signed_len_15010,w_14987)))));\nvar full_len_15012 \x3d ((prepend_zero_15011__$1)?(signed_len_15010 + (1)):signed_len_15010);\nvar append_zero_15013__$1 \x3d ((append_zero_15006) \x26\x26 ((full_len_15012 \x3c w_14987)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d (full_len_15012 \x3e w_14987);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d e_14989;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ((exp_width_14997 - (2)) \x3e e_14989);\n} else {\nreturn and__5043__auto__;\n}\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w_14987,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((w_14987 - full_len_15012) - ((append_zero_15013__$1)?(1):(0))),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_(add_sign_14992)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_15011__$1)?\x220\x22:null),full_mantissa_15005,((append_zero_15013__$1)?\x220\x22:null),scaled_exp_str_14996__$1].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_(add_sign_14992)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_14993)?\x220\x22:null),full_mantissa_15005,((append_zero_15006)?\x220\x22:null),scaled_exp_str_14996__$1].join(\x27\x27)], 0));\n}\n} else {\nvar G__15014 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rounded_mantissa_15002,(exp_14986__$1 + (1))], null);\nG__14305_14983__$1 \x3d G__15014;\ncontinue;\n}\nbreak;\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.general_float \x3d (function cljs$pprint$general_float(params,navigator,offsets){\nvar vec__14322 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14322,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14322,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar vec__14325 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14325,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14325,(1),null);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg__$1,0.0))?(0):(exp + (1)));\nvar ee \x3d (cljs.core.truth_(e)?(e + (2)):(4));\nvar ww \x3d (cljs.core.truth_(w)?(w - ee):null);\nvar d__$1 \x3d (cljs.core.truth_(d)?d:(function (){var x__5130__auto__ \x3d cljs.core.count(mantissa);\nvar y__5131__auto__ \x3d (function (){var x__5133__auto__ \x3d n;\nvar y__5134__auto__ \x3d (7);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nvar dd \x3d (d__$1 - n);\nif(((((0) \x3c\x3d dd)) \x26\x26 ((dd \x3c\x3d d__$1)))){\nvar navigator__$1 \x3d cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),ww,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),dd,new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),(0),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params)], null),navigator,offsets);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(ee,\x22 \x22))], 0));\n\nreturn navigator__$1;\n} else {\nreturn cljs.pprint.exponential_float(params,navigator,offsets);\n}\n});\ncljs.pprint.dollar_float \x3d (function cljs$pprint$dollar_float(params,navigator,offsets){\nvar vec__14328 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14328,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14328,(1),null);\nvar vec__14331 \x3d cljs.pprint.float_parts(Math.abs(arg));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14331,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14331,(1),null);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar vec__14334 \x3d cljs.pprint.round_str(mantissa,exp,d,null);\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14334,(0),null);\nvar scaled_exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14334,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14334,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp + (1)):scaled_exp),d);\nvar full_repr \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((n - fixed_repr.indexOf(\x22.\x22)),\x220\x22))),fixed_repr].join(\x27\x27);\nvar full_len \x3d (((full_repr).length) + (cljs.core.truth_(add_sign)?(1):(0)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params));\nif(and__5043__auto__){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),full_repr].join(\x27\x27)], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.choice_conditional \x3d (function cljs$pprint$choice_conditional(params,arg_navigator,offsets){\nvar arg \x3d new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__14338 \x3d (cljs.core.truth_(arg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg,arg_navigator], null):cljs.pprint.next_arg(arg_navigator));\nvar arg__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14338,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14338,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (((((arg__$1 \x3c (0))) || ((arg__$1 \x3e\x3d cljs.core.count(clauses)))))?cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params)):cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,arg__$1));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.boolean_conditional \x3d (function cljs$pprint$boolean_conditional(params,arg_navigator,offsets){\nvar vec__14341 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14341,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14341,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.second(clauses):cljs.core.first(clauses));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.check_arg_conditional \x3d (function cljs$pprint$check_arg_conditional(params,arg_navigator,offsets){\nvar vec__14344 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14344,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14344,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.first(clauses):null);\nif(cljs.core.truth_(arg)){\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,arg_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn arg_navigator;\n}\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.iterate_sublist \x3d (function cljs$pprint$iterate_sublist(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__14350 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14350,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14350,(1),null);\nvar vec__14353 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14353,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14353,(1),null);\nvar args \x3d cljs.pprint.init_navigator(arg_list);\nvar count \x3d (0);\nvar args__$1 \x3d args;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(args__$1))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,args__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__15016 \x3d (count + (1));\nvar G__15017 \x3d iter_result;\nvar G__15018 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1);\ncount \x3d G__15016;\nargs__$1 \x3d G__15017;\nlast_pos \x3d G__15018;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_list_of_sublists \x3d (function cljs$pprint$iterate_list_of_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__14362 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14362,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14362,(1),null);\nvar vec__14365 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14365,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14365,(1),null);\nvar count \x3d (0);\nvar arg_list__$1 \x3d arg_list;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(arg_list__$1)) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(cljs.core.first(arg_list__$1)),cljs.pprint.init_navigator(cljs.core.next(arg_list__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__15020 \x3d (count + (1));\nvar G__15021 \x3d cljs.core.next(arg_list__$1);\ncount \x3d G__15020;\narg_list__$1 \x3d G__15021;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_list \x3d (function cljs$pprint$iterate_main_list(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__14370 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14370,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14370,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%@{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn cljs.core.second(iter_result);\n} else {\nvar G__15022 \x3d (count + (1));\nvar G__15023 \x3d iter_result;\nvar G__15024 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2);\ncount \x3d G__15022;\nnavigator__$2 \x3d G__15023;\nlast_pos \x3d G__15024;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_sublists \x3d (function cljs$pprint$iterate_main_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__14376 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14376,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14376,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar vec__14382 \x3d cljs.pprint.next_arg_or_nil(navigator__$2);\nvar sublist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14382,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14382,(1),null);\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(sublist),navigator__$3);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$3;\n} else {\nvar G__15025 \x3d (count + (1));\nvar G__15026 \x3d navigator__$3;\ncount \x3d G__15025;\nnavigator__$2 \x3d G__15026;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.logical_block_or_justify \x3d (function cljs$pprint$logical_block_or_justify(params,navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn cljs.pprint.format_logical_block(params,navigator,offsets);\n} else {\nreturn cljs.pprint.justify_clauses(params,navigator,offsets);\n}\n});\ncljs.pprint.render_clauses \x3d (function cljs$pprint$render_clauses(clauses,navigator,base_navigator){\nvar clauses__$1 \x3d clauses;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar navigator__$1 \x3d navigator;\nwhile(true){\nif(cljs.core.empty_QMARK_(clauses__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,navigator__$1], null);\n} else {\nvar clause \x3d cljs.core.first(clauses__$1);\nvar vec__14394 \x3d (function (){var sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__14397 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__14398 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__14398);\n\ntry{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.execute_sub_format(clause,navigator__$1,base_navigator),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)], null);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__14397);\n}})();\nvar iter_result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14394,(0),null);\nvar result_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14394,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,cljs.core.second(iter_result)], null);\n} else {\nvar G__15029 \x3d cljs.core.next(clauses__$1);\nvar G__15030 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result_str);\nvar G__15031 \x3d iter_result;\nclauses__$1 \x3d G__15029;\nacc \x3d G__15030;\nnavigator__$1 \x3d G__15031;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.justify_clauses \x3d (function cljs$pprint$justify_clauses(params,navigator,offsets){\nvar vec__14399 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar else$ \x3d temp__5804__auto__;\nreturn cljs.pprint.render_clauses(else$,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn null;\n}\n})();\nvar vec__14402 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14399,(0),null);\nvar eol_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14402,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14399,(1),null);\nvar navigator__$1 \x3d (function (){var or__5045__auto__ \x3d new_navigator;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator;\n}\n})();\nvar vec__14405 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p \x3d temp__5804__auto__;\nreturn cljs.pprint.realize_parameter_list(p,navigator__$1);\n} else {\nreturn null;\n}\n})();\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14405,(0),null);\nvar new_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14405,(1),null);\nvar navigator__$2 \x3d (function (){var or__5045__auto__ \x3d new_navigator__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator__$1;\n}\n})();\nvar min_remaining \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})();\nvar max_columns \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_);\n}\n})();\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__14408 \x3d cljs.pprint.render_clauses(clauses,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nvar strs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14408,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14408,(1),null);\nvar slots \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d (((cljs.core.count(strs) - (1)) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(1):(0))) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?(1):(0)));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar chars \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,strs));\nvar mincol \x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params);\nvar minpad \x3d new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar minout \x3d (chars + (slots * minpad));\nvar result_columns \x3d (((minout \x3c\x3d mincol))?mincol:(mincol + (colinc * ((1) + cljs.core.quot(((minout - mincol) - (1)),colinc)))));\nvar total_pad \x3d (result_columns - chars);\nvar pad \x3d (function (){var x__5130__auto__ \x3d minpad;\nvar y__5131__auto__ \x3d cljs.core.quot(total_pad,slots);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar extra_pad \x3d (total_pad - (pad * slots));\nvar pad_str \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(pad,new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d eol_str;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))) + min_remaining) + result_columns) \x3e max_columns);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([eol_str], 0));\n} else {\n}\n\nvar slots_15032__$1 \x3d slots;\nvar extra_pad_15033__$1 \x3d extra_pad;\nvar strs_15034__$1 \x3d strs;\nvar pad_only_15035 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(strs_15034__$1),(1))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))));\n}\n})();\nwhile(true){\nif(cljs.core.seq(strs_15034__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cljs.core.not(pad_only_15035))?cljs.core.first(strs_15034__$1):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_((function (){var or__5045__auto__ \x3d pad_only_15035;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.next(strs_15034__$1);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\n}\n}\n})())?pad_str:null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((extra_pad_15033__$1 \x3e (0)))?new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params):null))].join(\x27\x27)], 0));\n\nvar G__15036 \x3d (slots_15032__$1 - (1));\nvar G__15037 \x3d (extra_pad_15033__$1 - (1));\nvar G__15038 \x3d (cljs.core.truth_(pad_only_15035)?strs_15034__$1:cljs.core.next(strs_15034__$1));\nvar G__15039 \x3d false;\nslots_15032__$1 \x3d G__15036;\nextra_pad_15033__$1 \x3d G__15037;\nstrs_15034__$1 \x3d G__15038;\npad_only_15035 \x3d G__15039;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn navigator__$3;\n});\n/**\n * Returns a proxy that wraps writer, converting all characters to lower case\n */\ncljs.pprint.downcase_writer \x3d (function cljs$pprint$downcase_writer(writer){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint14411 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint14411 \x3d (function (writer,meta14412){\nthis.writer \x3d writer;\nthis.meta14412 \x3d meta14412;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint14411.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14413,meta14412__$1){\nvar self__ \x3d this;\nvar _14413__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint14411(self__.writer,meta14412__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint14411.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14413){\nvar self__ \x3d this;\nvar _14413__$1 \x3d this;\nreturn self__.meta14412;\n}));\n\n(cljs.pprint.t_cljs$pprint14411.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint14411.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__14414 \x3d cljs.core._EQ_;\nvar expr__14415 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__14414.cljs$core$IFn$_invoke$arity$2 ? pred__14414.cljs$core$IFn$_invoke$arity$2(String,expr__14415) : pred__14414.call(null,String,expr__14415)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n} else {\nif(cljs.core.truth_((pred__14414.cljs$core$IFn$_invoke$arity$2 ? pred__14414.cljs$core$IFn$_invoke$arity$2(Number,expr__14415) : pred__14414.call(null,Number,expr__14415)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__14415)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint14411.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta14412\x22,\x22meta14412\x22,1802991368,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint14411.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint14411.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint14411\x22);\n\n(cljs.pprint.t_cljs$pprint14411.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint14411\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint14411.\n */\ncljs.pprint.__GT_t_cljs$pprint14411 \x3d (function cljs$pprint$downcase_writer_$___GT_t_cljs$pprint14411(writer__$1,meta14412){\nreturn (new cljs.pprint.t_cljs$pprint14411(writer__$1,meta14412));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint14411(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Returns a proxy that wraps writer, converting all characters to upper case\n */\ncljs.pprint.upcase_writer \x3d (function cljs$pprint$upcase_writer(writer){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint14417 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint14417 \x3d (function (writer,meta14418){\nthis.writer \x3d writer;\nthis.meta14418 \x3d meta14418;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint14417.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14419,meta14418__$1){\nvar self__ \x3d this;\nvar _14419__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint14417(self__.writer,meta14418__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint14417.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14419){\nvar self__ \x3d this;\nvar _14419__$1 \x3d this;\nreturn self__.meta14418;\n}));\n\n(cljs.pprint.t_cljs$pprint14417.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint14417.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__14420 \x3d cljs.core._EQ_;\nvar expr__14421 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__14420.cljs$core$IFn$_invoke$arity$2 ? pred__14420.cljs$core$IFn$_invoke$arity$2(String,expr__14421) : pred__14420.call(null,String,expr__14421)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(s));\n} else {\nif(cljs.core.truth_((pred__14420.cljs$core$IFn$_invoke$arity$2 ? pred__14420.cljs$core$IFn$_invoke$arity$2(Number,expr__14421) : pred__14420.call(null,Number,expr__14421)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__14421)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint14417.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta14418\x22,\x22meta14418\x22,-7600292,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint14417.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint14417.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint14417\x22);\n\n(cljs.pprint.t_cljs$pprint14417.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint14417\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint14417.\n */\ncljs.pprint.__GT_t_cljs$pprint14417 \x3d (function cljs$pprint$upcase_writer_$___GT_t_cljs$pprint14417(writer__$1,meta14418){\nreturn (new cljs.pprint.t_cljs$pprint14417(writer__$1,meta14418));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint14417(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Capitalizes the words in a string. If first? is false, don\x27t capitalize the\n * first character of the string even if it\x27s a letter.\n */\ncljs.pprint.capitalize_string \x3d (function cljs$pprint$capitalize_string(s,first_QMARK_){\nvar f \x3d cljs.core.first(s);\nvar s__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d first_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d f;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn goog.string.isUnicodeChar(f);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?[clojure.string.upper_case(f),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27):s);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.first(cljs.pprint.consume((function (s__$2){\nif(cljs.core.empty_QMARK_(s__$2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n} else {\nvar m \x3d RegExp(\x22\\\\W\\\\w\x22,\x22g\x22).exec(s__$2);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (m.index + (1));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s__$2,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s__$2,offset))].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$2,(offset + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$2,null], null);\n}\n}\n}),s__$1)));\n});\n/**\n * Returns a proxy that wraps writer, capitalizing all words\n */\ncljs.pprint.capitalize_word_writer \x3d (function cljs$pprint$capitalize_word_writer(writer){\nvar last_was_whitespace_QMARK_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint14423 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint14423 \x3d (function (writer,last_was_whitespace_QMARK_,meta14424){\nthis.writer \x3d writer;\nthis.last_was_whitespace_QMARK_ \x3d last_was_whitespace_QMARK_;\nthis.meta14424 \x3d meta14424;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint14423.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14425,meta14424__$1){\nvar self__ \x3d this;\nvar _14425__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint14423(self__.writer,self__.last_was_whitespace_QMARK_,meta14424__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint14423.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14425){\nvar self__ \x3d this;\nvar _14425__$1 \x3d this;\nreturn self__.meta14424;\n}));\n\n(cljs.pprint.t_cljs$pprint14423.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint14423.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__14426 \x3d cljs.core._EQ_;\nvar expr__14427 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__14426.cljs$core$IFn$_invoke$arity$2 ? pred__14426.cljs$core$IFn$_invoke$arity$2(String,expr__14427) : pred__14426.call(null,String,expr__14427)))){\nvar s \x3d x;\ncljs.core._write(self__.writer,cljs.pprint.capitalize_string(s.toLowerCase(),cljs.core.deref(self__.last_was_whitespace_QMARK_)));\n\nif((s.length \x3e (0))){\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1)))));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.truth_((pred__14426.cljs$core$IFn$_invoke$arity$2 ? pred__14426.cljs$core$IFn$_invoke$arity$2(Number,expr__14427) : pred__14426.call(null,Number,expr__14427)))){\nvar c \x3d cljs.core.char$(x);\nvar mod_c \x3d (cljs.core.truth_(cljs.core.deref(self__.last_was_whitespace_QMARK_))?clojure.string.upper_case(c):c);\ncljs.core._write(self__.writer,mod_c);\n\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__14427)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint14423.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22last-was-whitespace?\x22,\x22last-was-whitespace?\x22,-1073928093,null),new cljs.core.Symbol(null,\x22meta14424\x22,\x22meta14424\x22,777021280,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint14423.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint14423.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint14423\x22);\n\n(cljs.pprint.t_cljs$pprint14423.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint14423\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint14423.\n */\ncljs.pprint.__GT_t_cljs$pprint14423 \x3d (function cljs$pprint$capitalize_word_writer_$___GT_t_cljs$pprint14423(writer__$1,last_was_whitespace_QMARK___$1,meta14424){\nreturn (new cljs.pprint.t_cljs$pprint14423(writer__$1,last_was_whitespace_QMARK___$1,meta14424));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint14423(writer,last_was_whitespace_QMARK_,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Returns a proxy that wraps writer, capitalizing the first word\n */\ncljs.pprint.init_cap_writer \x3d (function cljs$pprint$init_cap_writer(writer){\nvar capped \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.t_cljs$pprint14429 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint14429 \x3d (function (writer,capped,meta14430){\nthis.writer \x3d writer;\nthis.capped \x3d capped;\nthis.meta14430 \x3d meta14430;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint14429.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14431,meta14430__$1){\nvar self__ \x3d this;\nvar _14431__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint14429(self__.writer,self__.capped,meta14430__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint14429.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14431){\nvar self__ \x3d this;\nvar _14431__$1 \x3d this;\nreturn self__.meta14430;\n}));\n\n(cljs.pprint.t_cljs$pprint14429.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint14429.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__14432 \x3d cljs.core._EQ_;\nvar expr__14433 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__14432.cljs$core$IFn$_invoke$arity$2 ? pred__14432.cljs$core$IFn$_invoke$arity$2(String,expr__14433) : pred__14432.call(null,String,expr__14433)))){\nvar s \x3d clojure.string.lower_case(x);\nif(cljs.core.not(cljs.core.deref(self__.capped))){\nvar m \x3d RegExp(\x22\\\\S\x22,\x22g\x22).exec(s);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn m.index;\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\ncljs.core._write(self__.writer,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,offset)),clojure.string.lower_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(offset + (1))))].join(\x27\x27));\n\nreturn cljs.core.reset_BANG_(self__.capped,true);\n} else {\nreturn cljs.core._write(self__.writer,s);\n}\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n}\n} else {\nif(cljs.core.truth_((pred__14432.cljs$core$IFn$_invoke$arity$2 ? pred__14432.cljs$core$IFn$_invoke$arity$2(Number,expr__14433) : pred__14432.call(null,Number,expr__14433)))){\nvar c \x3d cljs.core.char$(x);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(cljs.core.deref(self__.capped));\nif(and__5043__auto__){\nreturn goog.string.isUnicodeChar(c);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.reset_BANG_(self__.capped,true);\n\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(c));\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(c));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__14433)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint14429.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22capped\x22,\x22capped\x22,-1650988402,null),new cljs.core.Symbol(null,\x22meta14430\x22,\x22meta14430\x22,-334716151,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint14429.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint14429.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint14429\x22);\n\n(cljs.pprint.t_cljs$pprint14429.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint14429\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint14429.\n */\ncljs.pprint.__GT_t_cljs$pprint14429 \x3d (function cljs$pprint$init_cap_writer_$___GT_t_cljs$pprint14429(writer__$1,capped__$1,meta14430){\nreturn (new cljs.pprint.t_cljs$pprint14429(writer__$1,capped__$1,meta14430));\n});\n\n}\n\nreturn (new cljs.pprint.t_cljs$pprint14429(writer,capped,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.modify_case \x3d (function cljs$pprint$modify_case(make_writer,params,navigator,offsets){\nvar clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar _STAR_out_STAR__orig_val__14435 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__14436 \x3d (make_writer.cljs$core$IFn$_invoke$arity$1 ? make_writer.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_out_STAR_) : make_writer.call(null,cljs.core._STAR_out_STAR_));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__14436);\n\ntry{return cljs.pprint.execute_sub_format(clause,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__14435);\n}});\n/**\n * Returns the IWriter passed in wrapped in a pretty writer proxy, unless it\x27s\n * already a pretty writer. Generally, it is unnecessary to call this function, since pprint,\n * write, and cl-format all call it if they need to. However if you want the state to be\n * preserved across calls, you will want to wrap them with this.\n * \n * For example, when you want to generate column-aware output with multiple calls to cl-format,\n * do it like in this example:\n * \n * (defn print-table [aseq column-width]\n * (binding [*out* (get-pretty-writer *out*)]\n * (doseq [row aseq]\n * (doseq [col row]\n * (cl-format true \x22~4D~7,vT\x22 col column-width))\n * (prn))))\n * \n * Now when you run:\n * \n * user\x3e (print-table (map #(vector % (* % %) (* % % %)) (range 1 11)) 8)\n * \n * It prints a table of squares and cubes for the numbers from 1 to 10:\n * \n * 1 1 1\n * 2 4 8\n * 3 9 27\n * 4 16 64\n * 5 25 125\n * 6 36 216\n * 7 49 343\n * 8 64 512\n * 9 81 729\n * 10 100 1000\n */\ncljs.pprint.get_pretty_writer \x3d (function cljs$pprint$get_pretty_writer(writer){\nif(cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_(writer))){\nreturn writer;\n} else {\nreturn cljs.pprint.pretty_writer(writer,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_);\n}\n});\n/**\n * Make a newline if *out* is not already at the beginning of the line. If *out* is\n * not a pretty writer (which keeps track of columns), this function always outputs a newline.\n */\ncljs.pprint.fresh_line \x3d (function cljs$pprint$fresh_line(){\nif((((!((cljs.core._STAR_out_STAR_ \x3d\x3d null))))?(((((cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d cljs.core._STAR_out_STAR_.cljs$core$IDeref$))))?true:(((!cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_))){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))))))){\nreturn cljs.pprint.prn();\n} else {\nreturn null;\n}\n} else {\nreturn cljs.pprint.prn();\n}\n});\ncljs.pprint.absolute_tabulation \x3d (function cljs$pprint$absolute_tabulation(params,navigator,offsets){\nvar colnum_15051 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_15052 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar current_15053 \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))));\nvar space_count_15054 \x3d (((current_15053 \x3c colnum_15051))?(colnum_15051 - current_15053):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(colinc_15052,(0)))?(0):(colinc_15052 - cljs.core.rem((current_15053 - colnum_15051),colinc_15052))\n));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_15054,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.relative_tabulation \x3d (function cljs$pprint$relative_tabulation(params,navigator,offsets){\nvar colrel_15059 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_15060 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar start_col_15061 \x3d (colrel_15059 + cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))));\nvar offset_15062 \x3d (((colinc_15060 \x3e (0)))?cljs.core.rem(start_col_15061,colinc_15060):(0));\nvar space_count_15063 \x3d (colrel_15059 + ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),offset_15062))?(0):(colinc_15060 - offset_15062)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_15063,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.format_logical_block \x3d (function cljs$pprint$format_logical_block(params,navigator,offsets){\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause_count \x3d cljs.core.count(clauses);\nvar prefix \x3d (((clause_count \x3e (1)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.first(clauses)))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22(\x22:null));\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(((clause_count \x3e (1)))?(1):(0)));\nvar suffix \x3d (((clause_count \x3e (2)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(2))))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22)\x22:null));\nvar vec__14438 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14438,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14438,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14441_15068 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14442_15069 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14443_15070 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14444_15071 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14443_15070);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14444_15071);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,suffix);\n\ncljs.pprint.execute_sub_format(body,cljs.pprint.init_navigator(arg),new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14442_15069);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14441_15068);\n}}\n\n\nreturn navigator__$1;\n});\ncljs.pprint.set_indent \x3d (function cljs$pprint$set_indent(params,navigator,offsets){\nvar relative_to \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210));\ncljs.pprint.pprint_indent(relative_to,new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params));\n\nreturn navigator;\n});\ncljs.pprint.conditional_newline \x3d (function cljs$pprint$conditional_newline(params,navigator,offsets){\nvar kind \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336):new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889)):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186):new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697)));\ncljs.pprint.pprint_newline(kind);\n\nreturn navigator;\n});\ncljs.pprint.directive_table \x3d cljs.core.PersistentHashMap.fromArrays([\x22A\x22,\x22S\x22,\x22D\x22,\x22B\x22,\x22O\x22,\x22X\x22,\x22R\x22,\x22P\x22,\x22C\x22,\x22F\x22,\x22E\x22,\x22G\x22,\x22$\x22,\x22%\x22,\x22\x26\x22,\x22|\x22,\x22~\x22,\x22\\n\x22,\x22T\x22,\x22*\x22,\x22?\x22,\x22(\x22,\x22)\x22,\x22[\x22,\x22;\x22,\x22]\x22,\x22{\x22,\x22}\x22,\x22\x3c\x22,\x22\x3e\x22,\x22^\x22,\x22W\x22,\x22_\x22,\x22I\x22],[new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22A\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14445_SHARP_,p2__14446_SHARP_,p3__14447_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.print_str,p1__14445_SHARP_,p2__14446_SHARP_,p3__14447_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22S\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14448_SHARP_,p2__14449_SHARP_,p3__14450_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.pr_str,p1__14448_SHARP_,p2__14449_SHARP_,p3__14450_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22D\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14451_SHARP_,p2__14452_SHARP_,p3__14453_SHARP_){\nreturn cljs.pprint.format_integer((10),p1__14451_SHARP_,p2__14452_SHARP_,p3__14453_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22B\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14454_SHARP_,p2__14455_SHARP_,p3__14456_SHARP_){\nreturn cljs.pprint.format_integer((2),p1__14454_SHARP_,p2__14455_SHARP_,p3__14456_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22O\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14457_SHARP_,p2__14458_SHARP_,p3__14459_SHARP_){\nreturn cljs.pprint.format_integer((8),p1__14457_SHARP_,p2__14458_SHARP_,p3__14459_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22X\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__14460_SHARP_,p2__14461_SHARP_,p3__14462_SHARP_){\nreturn cljs.pprint.format_integer((16),p1__14460_SHARP_,p2__14461_SHARP_,p3__14462_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22R\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(cljs.core.first(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn (function (p1__14463_SHARP_,p2__14464_SHARP_,p3__14465_SHARP_){\nreturn cljs.pprint.format_integer(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(p1__14463_SHARP_),p1__14463_SHARP_,p2__14464_SHARP_,p3__14465_SHARP_);\n});\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (function (p1__14466_SHARP_,p2__14467_SHARP_,p3__14468_SHARP_){\nreturn cljs.pprint.format_old_roman(p1__14466_SHARP_,p2__14467_SHARP_,p3__14468_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__14469_SHARP_,p2__14470_SHARP_,p3__14471_SHARP_){\nreturn cljs.pprint.format_new_roman(p1__14469_SHARP_,p2__14470_SHARP_,p3__14471_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__14472_SHARP_,p2__14473_SHARP_,p3__14474_SHARP_){\nreturn cljs.pprint.format_ordinal_english(p1__14472_SHARP_,p2__14473_SHARP_,p3__14474_SHARP_);\n});\n} else {\nreturn (function (p1__14475_SHARP_,p2__14476_SHARP_,p3__14477_SHARP_){\nreturn cljs.pprint.format_cardinal_english(p1__14475_SHARP_,p2__14476_SHARP_,p3__14477_SHARP_);\n});\n\n}\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22P\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar navigator__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.pprint.relative_reposition(navigator,(-1)):navigator);\nvar strs \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22y\x22,\x22ies\x22], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22s\x22], null));\nvar vec__14487 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14487,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14487,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg,(1)))?cljs.core.first(strs):cljs.core.second(strs))], 0));\n\nreturn navigator__$2;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22C\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.pretty_character;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.readable_character;\n} else {\nreturn cljs.pprint.plain_character;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22F\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.fixed_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22E\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.exponential_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22G\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.general_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22$\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),Number], null),new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.dollar_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22%\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___15087 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_15088 \x3d (0);\nwhile(true){\nif((i_15088 \x3c n__5636__auto___15087)){\ncljs.pprint.prn();\n\nvar G__15089 \x3d (i_15088 + (1));\ni_15088 \x3d G__15089;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x26\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar cnt_15090 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nif((cnt_15090 \x3e (0))){\ncljs.pprint.fresh_line();\n} else {\n}\n\nvar n__5636__auto___15091 \x3d (cnt_15090 - (1));\nvar i_15092 \x3d (0);\nwhile(true){\nif((i_15092 \x3c n__5636__auto___15091)){\ncljs.pprint.prn();\n\nvar G__15093 \x3d (i_15092 + (1));\ni_15092 \x3d G__15093;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22|\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___15094 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_15095 \x3d (0);\nwhile(true){\nif((i_15095 \x3c n__5636__auto___15094)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\f\x22], 0));\n\nvar G__15096 \x3d (i_15095 + (1));\ni_15095 \x3d G__15096;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22~\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,\x22~\x22))], 0));\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\\n\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\ncljs.pprint.prn();\n} else {\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22T\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__14478_SHARP_,p2__14479_SHARP_,p3__14480_SHARP_){\nreturn cljs.pprint.relative_tabulation(p1__14478_SHARP_,p2__14479_SHARP_,p3__14480_SHARP_);\n});\n} else {\nreturn (function (p1__14481_SHARP_,p2__14482_SHARP_,p3__14483_SHARP_){\nreturn cljs.pprint.absolute_tabulation(p1__14481_SHARP_,p2__14482_SHARP_,p3__14483_SHARP_);\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22*\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\nreturn cljs.pprint.absolute_reposition(navigator,n);\n} else {\nreturn cljs.pprint.relative_reposition(navigator,(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?(- n):n));\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22?\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (params__$1,navigator,offsets){\nvar vec__14490 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14490,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14490,(1),null);\nreturn cljs.pprint.execute_sub_format(subformat,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__14493 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14493,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14493,(1),null);\nvar vec__14496 \x3d cljs.pprint.next_arg(navigator__$1);\nvar subargs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14496,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14496,(1),null);\nvar sub_navigator \x3d cljs.pprint.init_navigator(subargs);\ncljs.pprint.execute_sub_format(subformat,sub_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n\nreturn navigator__$2;\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22(\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22)\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),null,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nvar mod_case_writer \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.pprint.upcase_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.capitalize_word_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer\n)));\nreturn (function (p1__14484_SHARP_,p2__14485_SHARP_,p3__14486_SHARP_){\nreturn cljs.pprint.modify_case(mod_case_writer,p1__14484_SHARP_,p2__14485_SHARP_,p3__14486_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22)\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22[\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22]\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22last\x22,\x22last\x22,1105735132)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.boolean_conditional;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.check_arg_conditional;\n} else {\nreturn cljs.pprint.choice_conditional;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22;\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),true], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22]\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22{\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22}\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),false], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.iterate_main_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_list_of_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_main_list;\n} else {\nreturn cljs.pprint.iterate_sublist;\n\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22}\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3c\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22\x3e\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.logical_block_or_justify;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3e\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22^\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(3),[new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar arg1 \x3d new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg2 \x3d new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg3 \x3d new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar exit \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007):new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d arg2;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn arg3;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif((((arg1 \x3c\x3d arg2)) \x26\x26 ((arg2 \x3c\x3d arg3)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn arg2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,arg2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_(arg1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,(0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif((cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1))):cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n\n}\n}\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22W\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n}\n})())){\nvar bindings \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552),null,new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),null], null):cljs.core.PersistentVector.EMPTY),(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),true], null):cljs.core.PersistentVector.EMPTY));\nreturn (function (params__$1,navigator,offsets){\nvar vec__14499 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14499,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14499,(1),null);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.pprint.write,arg,bindings))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__14502 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14502,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14502,(1),null);\nif(cljs.core.truth_(cljs.pprint.write_out(arg))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22_\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.conditional_newline;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22I\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.set_indent;\n})], null)]);\ncljs.pprint.param_pattern \x3d /^([vV]|#|(\x27.)|([+-]?\\d+)|(?\x3d,))/;\ncljs.pprint.special_params \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335),null,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196),null], null), null);\ncljs.pprint.extract_param \x3d (function cljs$pprint$extract_param(p__14505){\nvar vec__14506 \x3d p__14505;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14506,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14506,(1),null);\nvar saw_comma \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14506,(2),null);\nvar m \x3d (new RegExp(cljs.pprint.param_pattern.source,\x22g\x22));\nvar param \x3d m.exec(s);\nif(cljs.core.truth_(param)){\nvar token_str \x3d cljs.core.first(param);\nvar remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,m.lastIndex);\nvar new_offset \x3d (offset + m.lastIndex);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22,\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(remainder,(0)))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder,new_offset,false], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,(1)),(new_offset + (1)),true], null)], null);\n}\n} else {\nif(cljs.core.truth_(saw_comma)){\nreturn cljs.pprint.format_error(\x22Badly formed parameters in format directive\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset], null)], null);\n}\n}\n});\ncljs.pprint.extract_params \x3d (function cljs$pprint$extract_params(s,offset){\nreturn cljs.pprint.consume(cljs.pprint.extract_param,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,false], null));\n});\n/**\n * Translate the string representation of a param to the internalized\n * representation\n */\ncljs.pprint.translate_param \x3d (function cljs$pprint$translate_param(p__14509){\nvar vec__14510 \x3d p__14509;\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14510,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14510,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(0)))?null:((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22V\x22,null,\x22v\x22,null], null), null),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(2))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(1)):parseInt(p,(10))\n)))),offset], null);\n});\ncljs.pprint.flag_defs \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22:\x22,new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),\x22@\x22,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349)], null);\ncljs.pprint.extract_flags \x3d (function cljs$pprint$extract_flags(s,offset){\nreturn cljs.pprint.consume((function (p__14513){\nvar vec__14514 \x3d p__14513;\nvar s__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14514,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14514,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14514,(2),null);\nif(cljs.core.empty_QMARK_(s__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n} else {\nvar flag \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.flag_defs,cljs.core.first(s__$1));\nif(cljs.core.truth_(flag)){\nif(cljs.core.contains_QMARK_(flags,flag)){\nreturn cljs.pprint.format_error([\x22Flag \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(s__$1)),\x22\\\x22 appears more than once in a directive\x22].join(\x27\x27),offset__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$1,(1)),(offset__$1 + (1)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(flags,flag,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,offset__$1], null))], null)], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.pprint.check_flags \x3d (function cljs$pprint$check_flags(def,flags){\nvar allowed \x3d new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(def);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22@\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22:\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.format_error([\x22Cannot combine \\\x22@\\\x22 and \\\x22:\\\x22 flags for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),(function (){var x__5133__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1));\nvar y__5134__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1));\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})());\n} else {\nreturn null;\n}\n});\n/**\n * Takes a directive definition and the list of actual parameters and\n * a map of flags and returns a map of the parameters and flags with defaults\n * filled in. We check to make sure that there are the right types and number\n * of parameters as well.\n */\ncljs.pprint.map_params \x3d (function cljs$pprint$map_params(def,params,flags,offset){\ncljs.pprint.check_flags(def,flags);\n\nif((cljs.core.count(params) \x3e cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)))){\ncljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,\x22Too many parameters for directive \\\x22~C\\\x22: ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def),cljs.core.count(params),cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def))], 0)),cljs.core.second(cljs.core.first(params)));\n} else {\n}\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__14517_SHARP_,p2__14518_SHARP_){\nvar val \x3d cljs.core.first(p1__14517_SHARP_);\nif((!((((val \x3d\x3d null)) || (((cljs.core.contains_QMARK_(cljs.pprint.special_params,val)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(p2__14518_SHARP_)),cljs.core.type(val))))))))){\nreturn cljs.pprint.format_error([\x22Parameter \x22,cljs.core.name(cljs.core.first(p2__14518_SHARP_)),\x22 has bad type in directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(val))].join(\x27\x27),cljs.core.second(p1__14517_SHARP_));\n} else {\nreturn null;\n}\n}),params,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)));\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse((function (){var iter__5523__auto__ \x3d (function cljs$pprint$map_params_$_iter__14522(s__14523){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__14523__$1 \x3d s__14523;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__14523__$1);\nif(temp__5804__auto__){\nvar s__14523__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__14523__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__14523__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__14525 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__14524 \x3d (0);\nwhile(true){\nif((i__14524 \x3c size__5522__auto__)){\nvar vec__14526 \x3d cljs.core._nth(c__5521__auto__,i__14524);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14526,(0),null);\nvar vec__14529 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14526,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14529,(0),null);\ncljs.core.chunk_append(b__14525,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null));\n\nvar G__15158 \x3d (i__14524 + (1));\ni__14524 \x3d G__15158;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14525),cljs$pprint$map_params_$_iter__14522(cljs.core.chunk_rest(s__14523__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14525),null);\n}\n} else {\nvar vec__14532 \x3d cljs.core.first(s__14523__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14532,(0),null);\nvar vec__14535 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14532,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14535,(0),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null),cljs$pprint$map_params_$_iter__14522(cljs.core.rest(s__14523__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def));\n})())),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__14519_SHARP_,p2__14520_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc,p1__14519_SHARP_,p2__14520_SHARP_);\n}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__14521_SHARP_){\nreturn cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__14521_SHARP_,(1)));\n}),cljs.core.zipmap(cljs.core.keys(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)),params))),flags], 0));\n});\ncljs.pprint.compile_directive \x3d (function cljs$pprint$compile_directive(s,offset){\nvar vec__14538 \x3d cljs.pprint.extract_params(s,offset);\nvar raw_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14538,(0),null);\nvar vec__14541 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14538,(1),null);\nvar rest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14541,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14541,(1),null);\nvar vec__14544 \x3d cljs.pprint.extract_flags(rest,offset__$1);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14544,(0),null);\nvar vec__14547 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14544,(1),null);\nvar rest__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14547,(0),null);\nvar offset__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14547,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14547,(2),null);\nvar directive \x3d cljs.core.first(rest__$1);\nvar def \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.directive_table,clojure.string.upper_case(directive));\nvar params \x3d (cljs.core.truth_(def)?cljs.pprint.map_params(def,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.translate_param,raw_params),flags,offset__$2):null);\nif(cljs.core.not(directive)){\ncljs.pprint.format_error(\x22Format string ended in the middle of a directive\x22,offset__$2);\n} else {\n}\n\nif(cljs.core.not(def)){\ncljs.pprint.format_error([\x22Directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(directive),\x22\\\x22 is undefined\x22].join(\x27\x27),offset__$2);\n} else {\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive((function (){var fexpr__14550 \x3d new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656).cljs$core$IFn$_invoke$arity$1(def);\nreturn (fexpr__14550.cljs$core$IFn$_invoke$arity$2 ? fexpr__14550.cljs$core$IFn$_invoke$arity$2(params,offset__$2) : fexpr__14550.call(null,params,offset__$2));\n})(),def,params,offset__$2,null,null,null)),(function (){var remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(rest__$1,(1));\nvar offset__$3 \x3d (offset__$2 + (1));\nvar trim_QMARK_ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))));\nvar trim_count \x3d ((trim_QMARK_)?cljs.pprint.prefix_count(remainder,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,\x22\\t\x22], null)):(0));\nvar remainder__$1 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,trim_count);\nvar offset__$4 \x3d (offset__$3 + trim_count);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder__$1,offset__$4], null);\n})()], null);\n});\ncljs.pprint.compile_raw_string \x3d (function cljs$pprint$compile_raw_string(s,offset){\nreturn (new cljs.pprint.compiled_directive((function (_,a,___$1){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s], 0));\n\nreturn a;\n}),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),s], null),offset,null,null,null));\n});\ncljs.pprint.right_bracket \x3d (function cljs$pprint$right_bracket(this$){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.separator_QMARK_ \x3d (function cljs$pprint$separator_QMARK_(this$){\nreturn new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.else_separator_QMARK_ \x3d (function cljs$pprint$else_separator_QMARK_(this$){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.pprint.process_bracket \x3d (function cljs$pprint$process_bracket(this$,remainder){\nvar vec__14551 \x3d cljs.pprint.collect_clauses(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),remainder);\nvar subex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14551,(0),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14551,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(this$),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),cljs.pprint.tuple_map(subex,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$))], 0)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),null,null,null)),remainder__$1], null);\n});\ncljs.pprint.process_clause \x3d (function cljs$pprint$process_clause(bracket_info,offset,remainder){\nreturn cljs.pprint.consume((function (remainder__$1){\nif(cljs.core.empty_QMARK_(remainder__$1)){\nreturn cljs.pprint.format_error(\x22No closing bracket found.\x22,offset);\n} else {\nvar this$ \x3d cljs.core.first(remainder__$1);\nvar remainder__$2 \x3d cljs.core.next(remainder__$1);\nif(cljs.core.truth_(cljs.pprint.right_bracket(this$))){\nreturn cljs.pprint.process_bracket(this$,remainder__$2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket_info),new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),null,remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.else_separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),null,null,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$2], null);\n\n}\n}\n}\n}\n}\n}),remainder);\n});\ncljs.pprint.collect_clauses \x3d (function cljs$pprint$collect_clauses(bracket_info,offset,remainder){\nreturn cljs.core.second(cljs.pprint.consume((function (p__14554){\nvar vec__14555 \x3d p__14554;\nvar clause_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14555,(0),null);\nvar saw_else \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14555,(1),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14555,(2),null);\nvar vec__14558 \x3d cljs.pprint.process_clause(bracket_info,offset,remainder__$1);\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14558,(0),null);\nvar vec__14561 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14558,(1),null);\nvar type \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14561,(0),null);\nvar right_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14561,(1),null);\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14561,(2),null);\nvar remainder__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14561,(3),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,cljs.core.PersistentArrayMap.createAsIfByAssoc([(cljs.core.truth_(saw_else)?new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146):new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237),right_params])], 0)),remainder__$2], null)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(clause_map))){\nreturn cljs.pprint.format_error(\x22Two else clauses (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22An else clause (\\\x22~:;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))) \x26\x26 (cljs.core.seq(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(clause_map))))){\nreturn cljs.pprint.format_error(\x22The else clause (\\\x22~:;\\\x22) is only allowed in the first position for this directive.\x22,offset);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646),else_params], null)], 0)),false,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),true,remainder__$2], null)], null);\n}\n\n}\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125))){\nif(cljs.core.truth_(saw_else)){\nreturn cljs.pprint.format_error(\x22A plain clause (with \\\x22~;\\\x22) follows an else clause (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22A separator (\\\x22~;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),false,remainder__$2], null)], null);\n\n}\n}\n} else {\nreturn null;\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),cljs.core.PersistentVector.EMPTY], null),false,remainder], null)));\n});\n/**\n * Take a linearly compiled format and process the bracket directives to give it\n * the appropriate tree structure\n */\ncljs.pprint.process_nesting \x3d (function cljs$pprint$process_nesting(format){\nreturn cljs.core.first(cljs.pprint.consume((function (remainder){\nvar this$ \x3d cljs.core.first(remainder);\nvar remainder__$1 \x3d cljs.core.next(remainder);\nvar bracket \x3d new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket))){\nreturn cljs.pprint.process_bracket(this$,remainder__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$1], null);\n}\n}),format));\n});\n/**\n * Compiles format-str into a compiled format which can be used as an argument\n * to cl-format just like a plain format string. Use this function for improved\n * performance when you\x27re using the same format string repeatedly\n */\ncljs.pprint.compile_format \x3d (function cljs$pprint$compile_format(format_str){\nvar _STAR_format_str_STAR__orig_val__14564 \x3d cljs.pprint._STAR_format_str_STAR_;\nvar _STAR_format_str_STAR__temp_val__14565 \x3d format_str;\n(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__temp_val__14565);\n\ntry{return cljs.pprint.process_nesting(cljs.core.first(cljs.pprint.consume((function (p__14566){\nvar vec__14567 \x3d p__14566;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14567,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14567,(1),null);\nif(cljs.core.empty_QMARK_(s)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,s], null);\n} else {\nvar tilde \x3d s.indexOf(\x22~\x22);\nif((tilde \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(s,offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,(offset + s.length)], null)], null);\n} else {\nif((tilde \x3d\x3d\x3d (0))){\nreturn cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)),(offset + (1)));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),tilde),offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,tilde),(tilde + offset)], null)], null);\n\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [format_str,(0)], null))));\n}finally {(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__orig_val__14564);\n}});\n/**\n * determine whether a given compiled format has any directives that depend on the\n * column number or pretty printing\n */\ncljs.pprint.needs_pretty \x3d (function cljs$pprint$needs_pretty(format){\nvar format__$1 \x3d format;\nwhile(true){\nif(cljs.core.empty_QMARK_(format__$1)){\nreturn false;\n} else {\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1))));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\n}\n}\n})())){\nreturn true;\n} else {\nvar G__15170 \x3d cljs.core.next(format__$1);\nformat__$1 \x3d G__15170;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Executes the format with the arguments.\n */\ncljs.pprint.execute_format \x3d (function cljs$pprint$execute_format(var_args){\nvar G__14571 \x3d arguments.length;\nswitch (G__14571) {\ncase 3:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,format,args){\nvar sb \x3d (new goog.string.StringBuffer());\nvar real_stream \x3d ((((cljs.core.not(stream)) || (stream \x3d\x3d\x3d true)))?(new cljs.core.StringBufferWriter(sb)):stream);\nvar wrapped_stream \x3d ((((cljs.pprint.needs_pretty(format)) \x26\x26 (cljs.core.not(cljs.pprint.pretty_writer_QMARK_(real_stream)))))?cljs.pprint.get_pretty_writer(real_stream):real_stream);\nvar _STAR_out_STAR__orig_val__14572 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__14573 \x3d wrapped_stream;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__14573);\n\ntry{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(format,args);\n}finally {if((!((real_stream \x3d\x3d\x3d wrapped_stream)))){\ncljs.core._flush(wrapped_stream);\n} else {\n}\n}\nif(cljs.core.not(stream)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(stream \x3d\x3d\x3d true){\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nreturn null;\n\n}\n}\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__14572);\n}}));\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2 \x3d (function (format,args){\ncljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__14574 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14574,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14574,(1),null);\nvar vec__14577 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14577,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14577,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),args__$1);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format);\n\nreturn null;\n}));\n\n(cljs.pprint.execute_format.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.pprint.cached_compile \x3d cljs.core.memoize(cljs.pprint.compile_format);\n/**\n * Installs a function as a new method of multimethod associated with dispatch-value. \n */\ncljs.pprint.use_method \x3d (function cljs$pprint$use_method(multifn,dispatch_val,func){\nreturn cljs.core._add_method(multifn,dispatch_val,func);\n});\ncljs.pprint.reader_macros \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22\x27\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22#\x27\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),\x22@\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),\x22~\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),\x22@\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22unquote\x22,\x22cljs.core/unquote\x22,1013085760,null),\x22~\x22], null);\ncljs.pprint.pprint_reader_macro \x3d (function cljs$pprint$pprint_reader_macro(alis){\nvar macro_char \x3d (function (){var G__14580 \x3d cljs.core.first(alis);\nreturn (cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(G__14580) : cljs.pprint.reader_macros.call(null,G__14580));\n})();\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d macro_char;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(alis));\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(cljs.core._STAR_out_STAR_,macro_char);\n\ncljs.pprint.write_out(cljs.core.second(alis));\n\nreturn true;\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_simple_list \x3d (function cljs$pprint$pprint_simple_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14581_15179 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14582_15180 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14583_15181 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14584_15182 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14583_15181);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14584_15182);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nvar length_count14585_15184 \x3d (0);\nvar alis_15185__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14585_15184 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_15185__$1){\ncljs.pprint.write_out(cljs.core.first(alis_15185__$1));\n\nif(cljs.core.next(alis_15185__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15186 \x3d (length_count14585_15184 + (1));\nvar G__15187 \x3d cljs.core.next(alis_15185__$1);\nlength_count14585_15184 \x3d G__15186;\nalis_15185__$1 \x3d G__15187;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14582_15180);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14581_15179);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_list \x3d (function cljs$pprint$pprint_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nreturn cljs.pprint.pprint_simple_list(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_vector \x3d (function cljs$pprint$pprint_vector(avec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14586_15189 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14587_15190 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14588_15191 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14589_15192 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14588_15191);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14589_15192);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count14590_15193 \x3d (0);\nvar aseq_15194 \x3d cljs.core.seq(avec);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14590_15193 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_15194){\ncljs.pprint.write_out(cljs.core.first(aseq_15194));\n\nif(cljs.core.next(aseq_15194)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15197 \x3d (length_count14590_15193 + (1));\nvar G__15198 \x3d cljs.core.next(aseq_15194);\nlength_count14590_15193 \x3d G__15197;\naseq_15194 \x3d G__15198;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14587_15190);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14586_15189);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_array \x3d (function (){var format_in__11657__auto__ \x3d \x22~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15201__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15201 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15202__i \x3d 0, G__15202__a \x3d new Array(arguments.length - 0);\nwhile (G__15202__i \x3c G__15202__a.length) {G__15202__a[G__15202__i] \x3d arguments[G__15202__i + 0]; ++G__15202__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15202__a,0,null);\n} \nreturn G__15201__delegate.call(this,args__11659__auto__);};\nG__15201.cljs$lang$maxFixedArity \x3d 0;\nG__15201.cljs$lang$applyTo \x3d (function (arglist__15203){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15203);\nreturn G__15201__delegate(args__11659__auto__);\n});\nG__15201.cljs$core$IFn$_invoke$arity$variadic \x3d G__15201__delegate;\nreturn G__15201;\n})()\n;\n})();\ncljs.pprint.pprint_map \x3d (function cljs$pprint$pprint_map(amap){\nvar vec__14591 \x3d (((!(cljs.core.record_QMARK_(amap))))?(function (){var fexpr__14594 \x3d new cljs.core.Var(function(){return cljs.core.lift_ns;},new cljs.core.Symbol(\x22cljs.core\x22,\x22lift-ns\x22,\x22cljs.core/lift-ns\x22,463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22lift-ns\x22,\x22lift-ns\x22,602311926,null),\x22cljs/core.cljs\x22,15,1,10543,10543,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null)], null)),\x22Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\x22,(cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null)]));\nreturn (fexpr__14594.cljs$core$IFn$_invoke$arity$1 ? fexpr__14594.cljs$core$IFn$_invoke$arity$1(amap) : fexpr__14594.call(null,amap));\n})():null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14591,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14591,(1),null);\nvar amap__$1 \x3d (function (){var or__5045__auto__ \x3d lift_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn amap;\n}\n})();\nvar prefix \x3d (cljs.core.truth_(ns)?[\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22{\x22].join(\x27\x27):\x22{\x22);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14595_15204 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14596_15205 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14597_15206 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14598_15207 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14597_15206);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14598_15207);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22}\x22);\n\nvar length_count14599_15208 \x3d (0);\nvar aseq_15209 \x3d cljs.core.seq(amap__$1);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14599_15208 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_15209){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14600_15210 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14601_15211 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14602_15212 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14603_15213 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14602_15212);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14603_15213);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\ncljs.pprint.write_out(cljs.core.ffirst(aseq_15209));\n\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d (0));\n\ncljs.pprint.write_out(cljs.core.fnext(cljs.core.first(aseq_15209)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14601_15211);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14600_15210);\n}}\n\n\nif(cljs.core.next(aseq_15209)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22, \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15214 \x3d (length_count14599_15208 + (1));\nvar G__15215 \x3d cljs.core.next(aseq_15209);\nlength_count14599_15208 \x3d G__15214;\naseq_15209 \x3d G__15215;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14596_15205);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14595_15204);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_simple_default \x3d (function cljs$pprint$pprint_simple_default(obj){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\ncljs.pprint.pprint_set \x3d (function (){var format_in__11657__auto__ \x3d \x22~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15216__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15216 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15217__i \x3d 0, G__15217__a \x3d new Array(arguments.length - 0);\nwhile (G__15217__i \x3c G__15217__a.length) {G__15217__a[G__15217__i] \x3d arguments[G__15217__i + 0]; ++G__15217__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15217__a,0,null);\n} \nreturn G__15216__delegate.call(this,args__11659__auto__);};\nG__15216.cljs$lang$maxFixedArity \x3d 0;\nG__15216.cljs$lang$applyTo \x3d (function (arglist__15218){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15218);\nreturn G__15216__delegate(args__11659__auto__);\n});\nG__15216.cljs$core$IFn$_invoke$arity$variadic \x3d G__15216__delegate;\nreturn G__15216;\n})()\n;\n})();\ncljs.pprint.type_map \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22core$future_call\x22,\x22Future\x22,\x22core$promise\x22,\x22Promise\x22], null);\n/**\n * Map ugly type names to something simpler\n */\ncljs.pprint.map_ref_type \x3d (function cljs$pprint$map_ref_type(name){\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.re_find(/^[^$]+\\$[^$]+/,name);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar match \x3d temp__5804__auto__;\nreturn (cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1(match) : cljs.pprint.type_map.call(null,match));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn name;\n}\n});\ncljs.pprint.pprint_ideref \x3d (function cljs$pprint$pprint_ideref(o){\nvar prefix \x3d [\x22#\x3c\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type(cljs.core.type(o).name)),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(o)),\x22: \x22].join(\x27\x27);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14604_15219 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14605_15220 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14606_15221 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14607_15222 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14606_15221);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14607_15222);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22\x3e\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(- (((prefix).length) - (2))));\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\ncljs.pprint.write_out((((function (){var and__5043__auto__ \x3d (((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition1$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IPending$))))?true:(((!o.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o));\nif(and__5043__auto__){\nreturn (!(cljs.core._realized_QMARK_(o)));\n} else {\nreturn and__5043__auto__;\n}\n})())?new cljs.core.Keyword(null,\x22not-delivered\x22,\x22not-delivered\x22,1599158697):cljs.core.deref(o)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14605_15220);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14604_15219);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_pqueue \x3d (function (){var format_in__11657__auto__ \x3d \x22~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15223__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15223 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15224__i \x3d 0, G__15224__a \x3d new Array(arguments.length - 0);\nwhile (G__15224__i \x3c G__15224__a.length) {G__15224__a[G__15224__i] \x3d arguments[G__15224__i + 0]; ++G__15224__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15224__a,0,null);\n} \nreturn G__15223__delegate.call(this,args__11659__auto__);};\nG__15223.cljs$lang$maxFixedArity \x3d 0;\nG__15223.cljs$lang$applyTo \x3d (function (arglist__15225){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15225);\nreturn G__15223__delegate(args__11659__auto__);\n});\nG__15223.cljs$core$IFn$_invoke$arity$variadic \x3d G__15223__delegate;\nreturn G__15223;\n})()\n;\n})();\ncljs.pprint.type_dispatcher \x3d (function cljs$pprint$type_dispatcher(obj){\nif((obj instanceof cljs.core.PersistentQueue)){\nreturn new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj))){\nreturn new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696);\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.vector_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.set_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.simple_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for simple data structure format.\n */\ncljs.pprint.simple_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__14610 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__14610.cljs$core$IFn$_invoke$arity$0 ? fexpr__14610.cljs$core$IFn$_invoke$arity$0() : fexpr__14610.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22simple-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_list);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,null,(function (){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)));\n}));\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\n/**\n * Figure out which kind of brackets to use\n */\ncljs.pprint.brackets \x3d (function cljs$pprint$brackets(form){\nif(cljs.core.vector_QMARK_(form)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22[\x22,\x22]\x22], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22(\x22,\x22)\x22], null);\n}\n});\n/**\n * Pretty print a single reference (import, use, etc.) from a namespace decl\n */\ncljs.pprint.pprint_ns_reference \x3d (function cljs$pprint$pprint_ns_reference(reference){\nif(cljs.core.sequential_QMARK_(reference)){\nvar vec__14611 \x3d cljs.pprint.brackets(reference);\nvar start \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14611,(0),null);\nvar end \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14611,(1),null);\nvar vec__14614 \x3d reference;\nvar seq__14615 \x3d cljs.core.seq(vec__14614);\nvar first__14616 \x3d cljs.core.first(seq__14615);\nvar seq__14615__$1 \x3d cljs.core.next(seq__14615);\nvar keyw \x3d first__14616;\nvar args \x3d seq__14615__$1;\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14617_15230 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14618_15231 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14619_15232 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14620_15233 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14619_15232);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14620_15233);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start,null,end);\n\n(function (){var format_in__11657__auto__ \x3d \x22~w~:i\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15234__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15234 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15235__i \x3d 0, G__15235__a \x3d new Array(arguments.length - 0);\nwhile (G__15235__i \x3c G__15235__a.length) {G__15235__a[G__15235__i] \x3d arguments[G__15235__i + 0]; ++G__15235__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15235__a,0,null);\n} \nreturn G__15234__delegate.call(this,args__11659__auto__);};\nG__15234.cljs$lang$maxFixedArity \x3d 0;\nG__15234.cljs$lang$applyTo \x3d (function (arglist__15236){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15236);\nreturn G__15234__delegate(args__11659__auto__);\n});\nG__15234.cljs$core$IFn$_invoke$arity$variadic \x3d G__15234__delegate;\nreturn G__15234;\n})()\n;\n})()(keyw);\n\nvar args_15237__$1 \x3d args;\nwhile(true){\nif(cljs.core.seq(args_15237__$1)){\n(function (){var format_in__11657__auto__ \x3d \x22 \x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15238__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15238 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15239__i \x3d 0, G__15239__a \x3d new Array(arguments.length - 0);\nwhile (G__15239__i \x3c G__15239__a.length) {G__15239__a[G__15239__i] \x3d arguments[G__15239__i + 0]; ++G__15239__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15239__a,0,null);\n} \nreturn G__15238__delegate.call(this,args__11659__auto__);};\nG__15238.cljs$lang$maxFixedArity \x3d 0;\nG__15238.cljs$lang$applyTo \x3d (function (arglist__15240){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15240);\nreturn G__15238__delegate(args__11659__auto__);\n});\nG__15238.cljs$core$IFn$_invoke$arity$variadic \x3d G__15238__delegate;\nreturn G__15238;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})()();\n\nvar arg_15241 \x3d cljs.core.first(args_15237__$1);\nif(cljs.core.sequential_QMARK_(arg_15241)){\nvar vec__14621_15242 \x3d cljs.pprint.brackets(arg_15241);\nvar start_15243__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14621_15242,(0),null);\nvar end_15244__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14621_15242,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14624_15245 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14625_15246 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14626_15247 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14627_15248 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14626_15247);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14627_15248);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start_15243__$1,null,end_15244__$1);\n\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arg_15241),(3))) \x26\x26 ((cljs.core.second(arg_15241) instanceof cljs.core.Keyword)))){\nvar vec__14628_15249 \x3d arg_15241;\nvar ns_15250 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14628_15249,(0),null);\nvar kw_15251 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14628_15249,(1),null);\nvar lis_15252 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14628_15249,(2),null);\n(function (){var format_in__11657__auto__ \x3d \x22~w ~w \x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14628_15249,ns_15250,kw_15251,lis_15252,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15254__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15254 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15258__i \x3d 0, G__15258__a \x3d new Array(arguments.length - 0);\nwhile (G__15258__i \x3c G__15258__a.length) {G__15258__a[G__15258__i] \x3d arguments[G__15258__i + 0]; ++G__15258__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15258__a,0,null);\n} \nreturn G__15254__delegate.call(this,args__11659__auto__);};\nG__15254.cljs$lang$maxFixedArity \x3d 0;\nG__15254.cljs$lang$applyTo \x3d (function (arglist__15259){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15259);\nreturn G__15254__delegate(args__11659__auto__);\n});\nG__15254.cljs$core$IFn$_invoke$arity$variadic \x3d G__15254__delegate;\nreturn G__15254;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14628_15249,ns_15250,kw_15251,lis_15252,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})()(ns_15250,kw_15251);\n\nif(cljs.core.sequential_QMARK_(lis_15252)){\n(function (){var format_in__11657__auto__ \x3d ((cljs.core.vector_QMARK_(lis_15252))?\x22~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e\x22:\x22~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e\x22);\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14628_15249,ns_15250,kw_15251,lis_15252,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15260__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15260 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15261__i \x3d 0, G__15261__a \x3d new Array(arguments.length - 0);\nwhile (G__15261__i \x3c G__15261__a.length) {G__15261__a[G__15261__i] \x3d arguments[G__15261__i + 0]; ++G__15261__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15261__a,0,null);\n} \nreturn G__15260__delegate.call(this,args__11659__auto__);};\nG__15260.cljs$lang$maxFixedArity \x3d 0;\nG__15260.cljs$lang$applyTo \x3d (function (arglist__15262){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15262);\nreturn G__15260__delegate(args__11659__auto__);\n});\nG__15260.cljs$core$IFn$_invoke$arity$variadic \x3d G__15260__delegate;\nreturn G__15260;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14628_15249,ns_15250,kw_15251,lis_15252,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})()(lis_15252);\n} else {\ncljs.pprint.write_out(lis_15252);\n}\n} else {\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__11657__auto__ \x3d \x22~w ~:i~@{~w~^ ~:_~}\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15263__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15263 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15264__i \x3d 0, G__15264__a \x3d new Array(arguments.length - 0);\nwhile (G__15264__i \x3c G__15264__a.length) {G__15264__a[G__15264__i] \x3d arguments[G__15264__i + 0]; ++G__15264__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15264__a,0,null);\n} \nreturn G__15263__delegate.call(this,args__11659__auto__);};\nG__15263.cljs$lang$maxFixedArity \x3d 0;\nG__15263.cljs$lang$applyTo \x3d (function (arglist__15265){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15265);\nreturn G__15263__delegate(args__11659__auto__);\n});\nG__15263.cljs$core$IFn$_invoke$arity$variadic \x3d G__15263__delegate;\nreturn G__15263;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,_STAR_current_level_STAR__orig_val__14624_15245,_STAR_current_length_STAR__orig_val__14625_15246,_STAR_current_level_STAR__temp_val__14626_15247,_STAR_current_length_STAR__temp_val__14627_15248,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})(),arg_15241);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14625_15246);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14624_15245);\n}}\n\n\nif(cljs.core.next(args_15237__$1)){\n(function (){var format_in__11657__auto__ \x3d \x22~_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15266__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15266 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15267__i \x3d 0, G__15267__a \x3d new Array(arguments.length - 0);\nwhile (G__15267__i \x3c G__15267__a.length) {G__15267__a[G__15267__i] \x3d arguments[G__15267__i + 0]; ++G__15267__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15267__a,0,null);\n} \nreturn G__15266__delegate.call(this,args__11659__auto__);};\nG__15266.cljs$lang$maxFixedArity \x3d 0;\nG__15266.cljs$lang$applyTo \x3d (function (arglist__15268){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15268);\nreturn G__15266__delegate(args__11659__auto__);\n});\nG__15266.cljs$core$IFn$_invoke$arity$variadic \x3d G__15266__delegate;\nreturn G__15266;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,vec__14621_15242,start_15243__$1,end_15244__$1,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})()();\n} else {\n}\n} else {\ncljs.pprint.write_out(arg_15241);\n\nif(cljs.core.next(args_15237__$1)){\n(function (){var format_in__11657__auto__ \x3d \x22~:_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn ((function (args_15237__$1,format_in__11657__auto__,cf__11658__auto__,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args){\nreturn (function() { \nvar G__15269__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15269 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15270__i \x3d 0, G__15270__a \x3d new Array(arguments.length - 0);\nwhile (G__15270__i \x3c G__15270__a.length) {G__15270__a[G__15270__i] \x3d arguments[G__15270__i + 0]; ++G__15270__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15270__a,0,null);\n} \nreturn G__15269__delegate.call(this,args__11659__auto__);};\nG__15269.cljs$lang$maxFixedArity \x3d 0;\nG__15269.cljs$lang$applyTo \x3d (function (arglist__15271){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15271);\nreturn G__15269__delegate(args__11659__auto__);\n});\nG__15269.cljs$core$IFn$_invoke$arity$variadic \x3d G__15269__delegate;\nreturn G__15269;\n})()\n;\n;})(args_15237__$1,format_in__11657__auto__,cf__11658__auto__,arg_15241,_STAR_current_level_STAR__orig_val__14617_15230,_STAR_current_length_STAR__orig_val__14618_15231,_STAR_current_level_STAR__temp_val__14619_15232,_STAR_current_length_STAR__temp_val__14620_15233,vec__14611,start,end,vec__14614,seq__14615,first__14616,seq__14615__$1,keyw,args))\n})()();\n} else {\n}\n}\n\nvar G__15272 \x3d cljs.core.next(args_15237__$1);\nargs_15237__$1 \x3d G__15272;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14618_15231);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14617_15230);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(reference);\n}\n});\n/**\n * The pretty print dispatch chunk for the ns macro\n */\ncljs.pprint.pprint_ns \x3d (function cljs$pprint$pprint_ns(alis){\nif(cljs.core.next(alis)){\nvar vec__14631 \x3d alis;\nvar seq__14632 \x3d cljs.core.seq(vec__14631);\nvar first__14633 \x3d cljs.core.first(seq__14632);\nvar seq__14632__$1 \x3d cljs.core.next(seq__14632);\nvar ns_sym \x3d first__14633;\nvar first__14633__$1 \x3d cljs.core.first(seq__14632__$1);\nvar seq__14632__$2 \x3d cljs.core.next(seq__14632__$1);\nvar ns_name \x3d first__14633__$1;\nvar stuff \x3d seq__14632__$2;\nvar vec__14634 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14634,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14634,(1),null);\nvar vec__14637 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14637,(0),null);\nvar references \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14637,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14640_15276 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14641_15277 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14642_15278 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14643_15279 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14642_15278);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14643_15279);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__11657__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15280__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15280 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15281__i \x3d 0, G__15281__a \x3d new Array(arguments.length - 0);\nwhile (G__15281__i \x3c G__15281__a.length) {G__15281__a[G__15281__i] \x3d arguments[G__15281__i + 0]; ++G__15281__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15281__a,0,null);\n} \nreturn G__15280__delegate.call(this,args__11659__auto__);};\nG__15280.cljs$lang$maxFixedArity \x3d 0;\nG__15280.cljs$lang$applyTo \x3d (function (arglist__15282){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15282);\nreturn G__15280__delegate(args__11659__auto__);\n});\nG__15280.cljs$core$IFn$_invoke$arity$variadic \x3d G__15280__delegate;\nreturn G__15280;\n})()\n;\n})()(ns_sym,ns_name);\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.seq(references);\n}\n}\n})())){\n(function (){var format_in__11657__auto__ \x3d \x22~@:_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15283__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15283 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15284__i \x3d 0, G__15284__a \x3d new Array(arguments.length - 0);\nwhile (G__15284__i \x3c G__15284__a.length) {G__15284__a[G__15284__i] \x3d arguments[G__15284__i + 0]; ++G__15284__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15284__a,0,null);\n} \nreturn G__15283__delegate.call(this,args__11659__auto__);};\nG__15283.cljs$lang$maxFixedArity \x3d 0;\nG__15283.cljs$lang$applyTo \x3d (function (arglist__15285){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15285);\nreturn G__15283__delegate(args__11659__auto__);\n});\nG__15283.cljs$core$IFn$_invoke$arity$variadic \x3d G__15283__delegate;\nreturn G__15283;\n})()\n;\n})()();\n} else {\n}\n\nif(cljs.core.truth_(doc_str)){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\x22~a\\\x22~:[~;~:@_~]\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([doc_str,(function (){var or__5045__auto__ \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.seq(references);\n}\n})()], 0));\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__11657__auto__ \x3d \x22~w~:[~;~:@_~]\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15288__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15288 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15289__i \x3d 0, G__15289__a \x3d new Array(arguments.length - 0);\nwhile (G__15289__i \x3c G__15289__a.length) {G__15289__a[G__15289__i] \x3d arguments[G__15289__i + 0]; ++G__15289__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15289__a,0,null);\n} \nreturn G__15288__delegate.call(this,args__11659__auto__);};\nG__15288.cljs$lang$maxFixedArity \x3d 0;\nG__15288.cljs$lang$applyTo \x3d (function (arglist__15290){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15290);\nreturn G__15288__delegate(args__11659__auto__);\n});\nG__15288.cljs$core$IFn$_invoke$arity$variadic \x3d G__15288__delegate;\nreturn G__15288;\n})()\n;\n})()(attr_map,cljs.core.seq(references));\n} else {\n}\n\nvar references_15291__$1 \x3d references;\nwhile(true){\ncljs.pprint.pprint_ns_reference(cljs.core.first(references_15291__$1));\n\nvar temp__5804__auto___15292 \x3d cljs.core.next(references_15291__$1);\nif(temp__5804__auto___15292){\nvar references_15293__$2 \x3d temp__5804__auto___15292;\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15294 \x3d references_15293__$2;\nreferences_15291__$1 \x3d G__15294;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14641_15277);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14640_15276);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(alis);\n}\n});\ncljs.pprint.pprint_hold_first \x3d (function (){var format_in__11657__auto__ \x3d \x22~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15295__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15295 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15296__i \x3d 0, G__15296__a \x3d new Array(arguments.length - 0);\nwhile (G__15296__i \x3c G__15296__a.length) {G__15296__a[G__15296__i] \x3d arguments[G__15296__i + 0]; ++G__15296__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15296__a,0,null);\n} \nreturn G__15295__delegate.call(this,args__11659__auto__);};\nG__15295.cljs$lang$maxFixedArity \x3d 0;\nG__15295.cljs$lang$applyTo \x3d (function (arglist__15297){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15297);\nreturn G__15295__delegate(args__11659__auto__);\n});\nG__15295.cljs$core$IFn$_invoke$arity$variadic \x3d G__15295__delegate;\nreturn G__15295;\n})()\n;\n})();\ncljs.pprint.single_defn \x3d (function cljs$pprint$single_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nif(cljs.core.truth_(has_doc_str_QMARK_)){\n(function (){var format_in__11657__auto__ \x3d \x22 ~_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15298__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15298 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15299__i \x3d 0, G__15299__a \x3d new Array(arguments.length - 0);\nwhile (G__15299__i \x3c G__15299__a.length) {G__15299__a[G__15299__i] \x3d arguments[G__15299__i + 0]; ++G__15299__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15299__a,0,null);\n} \nreturn G__15298__delegate.call(this,args__11659__auto__);};\nG__15298.cljs$lang$maxFixedArity \x3d 0;\nG__15298.cljs$lang$applyTo \x3d (function (arglist__15300){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15300);\nreturn G__15298__delegate(args__11659__auto__);\n});\nG__15298.cljs$core$IFn$_invoke$arity$variadic \x3d G__15298__delegate;\nreturn G__15298;\n})()\n;\n})()();\n} else {\n(function (){var format_in__11657__auto__ \x3d \x22 ~@_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15301__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15301 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15302__i \x3d 0, G__15302__a \x3d new Array(arguments.length - 0);\nwhile (G__15302__i \x3c G__15302__a.length) {G__15302__a[G__15302__i] \x3d arguments[G__15302__i + 0]; ++G__15302__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15302__a,0,null);\n} \nreturn G__15301__delegate.call(this,args__11659__auto__);};\nG__15301.cljs$lang$maxFixedArity \x3d 0;\nG__15301.cljs$lang$applyTo \x3d (function (arglist__15303){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15303);\nreturn G__15301__delegate(args__11659__auto__);\n});\nG__15301.cljs$core$IFn$_invoke$arity$variadic \x3d G__15301__delegate;\nreturn G__15301;\n})()\n;\n})()();\n}\n\nreturn (function (){var format_in__11657__auto__ \x3d \x22~{~w~^ ~_~}\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15304__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15304 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15305__i \x3d 0, G__15305__a \x3d new Array(arguments.length - 0);\nwhile (G__15305__i \x3c G__15305__a.length) {G__15305__a[G__15305__i] \x3d arguments[G__15305__i + 0]; ++G__15305__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15305__a,0,null);\n} \nreturn G__15304__delegate.call(this,args__11659__auto__);};\nG__15304.cljs$lang$maxFixedArity \x3d 0;\nG__15304.cljs$lang$applyTo \x3d (function (arglist__15306){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15306);\nreturn G__15304__delegate(args__11659__auto__);\n});\nG__15304.cljs$core$IFn$_invoke$arity$variadic \x3d G__15304__delegate;\nreturn G__15304;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.multi_defn \x3d (function cljs$pprint$multi_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nreturn (function (){var format_in__11657__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15307__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15307 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15308__i \x3d 0, G__15308__a \x3d new Array(arguments.length - 0);\nwhile (G__15308__i \x3c G__15308__a.length) {G__15308__a[G__15308__i] \x3d arguments[G__15308__i + 0]; ++G__15308__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15308__a,0,null);\n} \nreturn G__15307__delegate.call(this,args__11659__auto__);};\nG__15307.cljs$lang$maxFixedArity \x3d 0;\nG__15307.cljs$lang$applyTo \x3d (function (arglist__15309){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15309);\nreturn G__15307__delegate(args__11659__auto__);\n});\nG__15307.cljs$core$IFn$_invoke$arity$variadic \x3d G__15307__delegate;\nreturn G__15307;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_defn \x3d (function cljs$pprint$pprint_defn(alis){\nif(cljs.core.next(alis)){\nvar vec__14644 \x3d alis;\nvar seq__14645 \x3d cljs.core.seq(vec__14644);\nvar first__14646 \x3d cljs.core.first(seq__14645);\nvar seq__14645__$1 \x3d cljs.core.next(seq__14645);\nvar defn_sym \x3d first__14646;\nvar first__14646__$1 \x3d cljs.core.first(seq__14645__$1);\nvar seq__14645__$2 \x3d cljs.core.next(seq__14645__$1);\nvar defn_name \x3d first__14646__$1;\nvar stuff \x3d seq__14645__$2;\nvar vec__14647 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14647,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14647,(1),null);\nvar vec__14650 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14650,(0),null);\nvar stuff__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14650,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14653_15310 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14654_15311 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14655_15312 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14656_15313 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14655_15312);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14656_15313);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__11657__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15314__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15314 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15315__i \x3d 0, G__15315__a \x3d new Array(arguments.length - 0);\nwhile (G__15315__i \x3c G__15315__a.length) {G__15315__a[G__15315__i] \x3d arguments[G__15315__i + 0]; ++G__15315__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15315__a,0,null);\n} \nreturn G__15314__delegate.call(this,args__11659__auto__);};\nG__15314.cljs$lang$maxFixedArity \x3d 0;\nG__15314.cljs$lang$applyTo \x3d (function (arglist__15316){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15316);\nreturn G__15314__delegate(args__11659__auto__);\n});\nG__15314.cljs$core$IFn$_invoke$arity$variadic \x3d G__15314__delegate;\nreturn G__15314;\n})()\n;\n})()(defn_sym,defn_name);\n\nif(cljs.core.truth_(doc_str)){\n(function (){var format_in__11657__auto__ \x3d \x22 ~_~w\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15317__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15317 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15318__i \x3d 0, G__15318__a \x3d new Array(arguments.length - 0);\nwhile (G__15318__i \x3c G__15318__a.length) {G__15318__a[G__15318__i] \x3d arguments[G__15318__i + 0]; ++G__15318__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15318__a,0,null);\n} \nreturn G__15317__delegate.call(this,args__11659__auto__);};\nG__15317.cljs$lang$maxFixedArity \x3d 0;\nG__15317.cljs$lang$applyTo \x3d (function (arglist__15319){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15319);\nreturn G__15317__delegate(args__11659__auto__);\n});\nG__15317.cljs$core$IFn$_invoke$arity$variadic \x3d G__15317__delegate;\nreturn G__15317;\n})()\n;\n})()(doc_str);\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__11657__auto__ \x3d \x22 ~_~w\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15320__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15320 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15321__i \x3d 0, G__15321__a \x3d new Array(arguments.length - 0);\nwhile (G__15321__i \x3c G__15321__a.length) {G__15321__a[G__15321__i] \x3d arguments[G__15321__i + 0]; ++G__15321__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15321__a,0,null);\n} \nreturn G__15320__delegate.call(this,args__11659__auto__);};\nG__15320.cljs$lang$maxFixedArity \x3d 0;\nG__15320.cljs$lang$applyTo \x3d (function (arglist__15322){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15322);\nreturn G__15320__delegate(args__11659__auto__);\n});\nG__15320.cljs$core$IFn$_invoke$arity$variadic \x3d G__15320__delegate;\nreturn G__15320;\n})()\n;\n})()(attr_map);\n} else {\n}\n\nif(cljs.core.vector_QMARK_(cljs.core.first(stuff__$2))){\ncljs.pprint.single_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n} else {\ncljs.pprint.multi_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14654_15311);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14653_15310);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_binding_form \x3d (function cljs$pprint$pprint_binding_form(binding_vec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14657_15326 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14658_15327 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14659_15328 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14660_15329 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14659_15328);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14660_15329);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count14661_15330 \x3d (0);\nvar binding_15331 \x3d binding_vec;\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14661_15330 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(cljs.core.seq(binding_15331)){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14662_15332 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14663_15333 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14664_15334 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14665_15335 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14664_15334);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14665_15335);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(binding_15331));\n\nif(cljs.core.next(binding_15331)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(binding_15331));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14663_15333);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14662_15332);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(binding_15331))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15336 \x3d (length_count14661_15330 + (1));\nvar G__15337 \x3d cljs.core.next(cljs.core.rest(binding_15331));\nlength_count14661_15330 \x3d G__15336;\nbinding_15331 \x3d G__15337;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14658_15327);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14657_15326);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_let \x3d (function cljs$pprint$pprint_let(alis){\nvar base_sym \x3d cljs.core.first(alis);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14666_15338 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14667_15339 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14668_15340 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14669_15341 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14668_15340);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14669_15341);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nif(((cljs.core.next(alis)) \x26\x26 (cljs.core.vector_QMARK_(cljs.core.second(alis))))){\n(function (){var format_in__11657__auto__ \x3d \x22~w ~1I~@_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15342__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15342 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15343__i \x3d 0, G__15343__a \x3d new Array(arguments.length - 0);\nwhile (G__15343__i \x3c G__15343__a.length) {G__15343__a[G__15343__i] \x3d arguments[G__15343__i + 0]; ++G__15343__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15343__a,0,null);\n} \nreturn G__15342__delegate.call(this,args__11659__auto__);};\nG__15342.cljs$lang$maxFixedArity \x3d 0;\nG__15342.cljs$lang$applyTo \x3d (function (arglist__15344){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15344);\nreturn G__15342__delegate(args__11659__auto__);\n});\nG__15342.cljs$core$IFn$_invoke$arity$variadic \x3d G__15342__delegate;\nreturn G__15342;\n})()\n;\n})()(base_sym);\n\ncljs.pprint.pprint_binding_form(cljs.core.second(alis));\n\n(function (){var format_in__11657__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15345__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15345 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15347__i \x3d 0, G__15347__a \x3d new Array(arguments.length - 0);\nwhile (G__15347__i \x3c G__15347__a.length) {G__15347__a[G__15347__i] \x3d arguments[G__15347__i + 0]; ++G__15347__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15347__a,0,null);\n} \nreturn G__15345__delegate.call(this,args__11659__auto__);};\nG__15345.cljs$lang$maxFixedArity \x3d 0;\nG__15345.cljs$lang$applyTo \x3d (function (arglist__15348){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15348);\nreturn G__15345__delegate(args__11659__auto__);\n});\nG__15345.cljs$core$IFn$_invoke$arity$variadic \x3d G__15345__delegate;\nreturn G__15345;\n})()\n;\n})()(cljs.core.next(cljs.core.rest(alis)));\n} else {\ncljs.pprint.pprint_simple_code_list(alis);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14667_15339);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14666_15338);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_if \x3d (function (){var format_in__11657__auto__ \x3d \x22~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15352__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15352 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15353__i \x3d 0, G__15353__a \x3d new Array(arguments.length - 0);\nwhile (G__15353__i \x3c G__15353__a.length) {G__15353__a[G__15353__i] \x3d arguments[G__15353__i + 0]; ++G__15353__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15353__a,0,null);\n} \nreturn G__15352__delegate.call(this,args__11659__auto__);};\nG__15352.cljs$lang$maxFixedArity \x3d 0;\nG__15352.cljs$lang$applyTo \x3d (function (arglist__15354){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15354);\nreturn G__15352__delegate(args__11659__auto__);\n});\nG__15352.cljs$core$IFn$_invoke$arity$variadic \x3d G__15352__delegate;\nreturn G__15352;\n})()\n;\n})();\ncljs.pprint.pprint_cond \x3d (function cljs$pprint$pprint_cond(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14670_15355 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14671_15356 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14672_15357 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14673_15358 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14672_15357);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14673_15358);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.pprint.write_out(cljs.core.first(alis));\n\nif(cljs.core.next(alis)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar length_count14674_15359 \x3d (0);\nvar alis_15360__$1 \x3d cljs.core.next(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14674_15359 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_15360__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14675_15361 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14676_15362 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14677_15363 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14678_15364 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14677_15363);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14678_15364);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_15360__$1));\n\nif(cljs.core.next(alis_15360__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_15360__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14676_15362);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14675_15361);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_15360__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15365 \x3d (length_count14674_15359 + (1));\nvar G__15366 \x3d cljs.core.next(cljs.core.rest(alis_15360__$1));\nlength_count14674_15359 \x3d G__15365;\nalis_15360__$1 \x3d G__15366;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14671_15356);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14670_15355);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_condp \x3d (function cljs$pprint$pprint_condp(alis){\nif((cljs.core.count(alis) \x3e (3))){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14679_15369 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14680_15371 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14681_15372 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14682_15373 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14681_15372);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14682_15373);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__11657__auto__ \x3d \x22~w ~@_~w ~@_~w ~_\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15374__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15374 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15375__i \x3d 0, G__15375__a \x3d new Array(arguments.length - 0);\nwhile (G__15375__i \x3c G__15375__a.length) {G__15375__a[G__15375__i] \x3d arguments[G__15375__i + 0]; ++G__15375__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15375__a,0,null);\n} \nreturn G__15374__delegate.call(this,args__11659__auto__);};\nG__15374.cljs$lang$maxFixedArity \x3d 0;\nG__15374.cljs$lang$applyTo \x3d (function (arglist__15376){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15376);\nreturn G__15374__delegate(args__11659__auto__);\n});\nG__15374.cljs$core$IFn$_invoke$arity$variadic \x3d G__15374__delegate;\nreturn G__15374;\n})()\n;\n})(),alis);\n\nvar length_count14683_15377 \x3d (0);\nvar alis_15378__$1 \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((3),alis));\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14683_15377 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_15378__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14684_15379 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14685_15380 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14686_15381 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14687_15382 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14686_15381);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14687_15382);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_15378__$1));\n\nif(cljs.core.next(alis_15378__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_15378__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14685_15380);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14684_15379);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_15378__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15383 \x3d (length_count14683_15377 + (1));\nvar G__15384 \x3d cljs.core.next(cljs.core.rest(alis_15378__$1));\nlength_count14683_15377 \x3d G__15383;\nalis_15378__$1 \x3d G__15384;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14680_15371);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14679_15369);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint._STAR_symbol_map_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.pprint.pprint_anon_func \x3d (function cljs$pprint$pprint_anon_func(alis){\nvar args \x3d cljs.core.second(alis);\nvar nlis \x3d cljs.core.first(cljs.core.rest(cljs.core.rest(alis)));\nif(cljs.core.vector_QMARK_(args)){\nvar _STAR_symbol_map_STAR__orig_val__14690 \x3d cljs.pprint._STAR_symbol_map_STAR_;\nvar _STAR_symbol_map_STAR__temp_val__14691 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(args)))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first(args),\x22%\x22]):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__14688_SHARP_,p2__14689_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__14688_SHARP_,[\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p2__14689_SHARP_)].join(\x27\x27)],null));\n}),args,cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(cljs.core.count(args) + (1))))));\n(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__temp_val__14691);\n\ntry{return (function (){var format_in__11657__auto__ \x3d \x22~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e\x22;\nvar cf__11658__auto__ \x3d ((typeof format_in__11657__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__11657__auto__):format_in__11657__auto__);\nreturn (function() { \nvar G__15389__delegate \x3d function (args__11659__auto__){\nvar navigator__11660__auto__ \x3d cljs.pprint.init_navigator(args__11659__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__11658__auto__,navigator__11660__auto__);\n};\nvar G__15389 \x3d function (var_args){\nvar args__11659__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15390__i \x3d 0, G__15390__a \x3d new Array(arguments.length - 0);\nwhile (G__15390__i \x3c G__15390__a.length) {G__15390__a[G__15390__i] \x3d arguments[G__15390__i + 0]; ++G__15390__i;}\n args__11659__auto__ \x3d new cljs.core.IndexedSeq(G__15390__a,0,null);\n} \nreturn G__15389__delegate.call(this,args__11659__auto__);};\nG__15389.cljs$lang$maxFixedArity \x3d 0;\nG__15389.cljs$lang$applyTo \x3d (function (arglist__15391){\nvar args__11659__auto__ \x3d cljs.core.seq(arglist__15391);\nreturn G__15389__delegate(args__11659__auto__);\n});\nG__15389.cljs$core$IFn$_invoke$arity$variadic \x3d G__15389__delegate;\nreturn G__15389;\n})()\n;\n})()(nlis);\n}finally {(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__orig_val__14690);\n}} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_simple_code_list \x3d (function cljs$pprint$pprint_simple_code_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__14692_15392 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__14693_15393 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__14694_15394 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__14695_15395 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__14694_15394);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__14695_15395);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\nvar length_count14696_15396 \x3d (0);\nvar alis_15397__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count14696_15396 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_15397__$1){\ncljs.pprint.write_out(cljs.core.first(alis_15397__$1));\n\nif(cljs.core.next(alis_15397__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__15399 \x3d (length_count14696_15396 + (1));\nvar G__15400 \x3d cljs.core.next(alis_15397__$1);\nlength_count14696_15396 \x3d G__15399;\nalis_15397__$1 \x3d G__15400;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__14693_15393);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__14692_15392);\n}}\n\nreturn null;\n});\ncljs.pprint.two_forms \x3d (function cljs$pprint$two_forms(amap){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var iter__5523__auto__ \x3d (function cljs$pprint$two_forms_$_iter__14697(s__14698){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__14698__$1 \x3d s__14698;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__14698__$1);\nif(temp__5804__auto__){\nvar s__14698__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__14698__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__14698__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__14700 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__14699 \x3d (0);\nwhile(true){\nif((i__14699 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__14699);\ncljs.core.chunk_append(b__14700,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null));\n\nvar G__15401 \x3d (i__14699 + (1));\ni__14699 \x3d G__15401;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14700),cljs$pprint$two_forms_$_iter__14697(cljs.core.chunk_rest(s__14698__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14700),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__14698__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null),cljs$pprint$two_forms_$_iter__14697(cljs.core.rest(s__14698__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(amap);\n})()], 0)));\n});\ncljs.pprint.add_core_ns \x3d (function cljs$pprint$add_core_ns(amap){\nvar core \x3d \x22clojure.core\x22;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14701_SHARP_){\nvar vec__14702 \x3d p1__14701_SHARP_;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14702,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14702,(1),null);\nif(cljs.core.not((function (){var or__5045__auto__ \x3d cljs.core.namespace(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.special_symbol_QMARK_(s);\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(core,cljs.core.name(s)),f], null);\n} else {\nreturn p1__14701_SHARP_;\n}\n}),amap));\n});\ncljs.pprint._STAR_code_table_STAR_ \x3d cljs.pprint.two_forms(cljs.pprint.add_core_ns(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22struct\x22,\x22struct\x22,325972931,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22struct-map\x22,\x22struct-map\x22,-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));\ncljs.pprint.pprint_code_list \x3d (function cljs$pprint$pprint_code_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nvar temp__5802__auto__ \x3d cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first(alis));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar special_form \x3d temp__5802__auto__;\nreturn (special_form.cljs$core$IFn$_invoke$arity$1 ? special_form.cljs$core$IFn$_invoke$arity$1(alis) : special_form.call(null,alis));\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_code_symbol \x3d (function cljs$pprint$pprint_code_symbol(sym){\nvar temp__5802__auto__ \x3d (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_symbol_map_STAR_) : sym.call(null,cljs.pprint._STAR_symbol_map_STAR_));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arg_num \x3d temp__5802__auto__;\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arg_num], 0));\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)){\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.name(sym)], 0));\n} else {\nreturn cljs.pprint.pr.call(null,sym);\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.code_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for pretty printing Clojure code.\n */\ncljs.pprint.code_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__14705 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__14705.cljs$core$IFn$_invoke$arity$0 ? fexpr__14705.cljs$core$IFn$_invoke$arity$0() : fexpr__14705.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22code-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_code_list);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),cljs.pprint.pprint_code_symbol);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.pprint.pprint_pqueue);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),cljs.pprint.pprint_ideref);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,null,cljs.pprint.pr);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\ncljs.pprint.add_padding \x3d (function cljs$pprint$add_padding(width,s){\nvar padding \x3d (function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (width - cljs.core.count(s));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(padding,\x22 \x22)),s);\n});\n/**\n * Prints a collection of maps in a textual table. Prints table headings\n * ks, and then a line of output for each row, corresponding to the keys\n * in ks. If ks are not specified, use the keys of the first item in rows.\n */\ncljs.pprint.print_table \x3d (function cljs$pprint$print_table(var_args){\nvar G__14710 \x3d arguments.length;\nswitch (G__14710) {\ncase 2:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2 \x3d (function (ks,rows){\nif(cljs.core.seq(rows)){\nvar widths \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,((cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)).length),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14706_SHARP_){\nreturn ((cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(p1__14706_SHARP_,k))).length);\n}),rows));\n}),ks);\nvar spacers \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14707_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(p1__14707_SHARP_,\x22-\x22));\n}),widths);\nvar fmt_row \x3d (function (leader,divider,trailer,row){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(leader),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(divider,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$iter__14721(s__14722){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__14722__$1 \x3d s__14722;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__14722__$1);\nif(temp__5804__auto__){\nvar s__14722__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__14722__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__14722__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__14724 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__14723 \x3d (0);\nwhile(true){\nif((i__14723 \x3c size__5522__auto__)){\nvar vec__14725 \x3d cljs.core._nth(c__5521__auto__,i__14723);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14725,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14725,(1),null);\ncljs.core.chunk_append(b__14724,cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)));\n\nvar G__15412 \x3d (i__14723 + (1));\ni__14723 \x3d G__15412;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14724),cljs$pprint$iter__14721(cljs.core.chunk_rest(s__14722__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__14724),null);\n}\n} else {\nvar vec__14728 \x3d cljs.core.first(s__14722__$2);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14728,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14728,(1),null);\nreturn cljs.core.cons(cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)),cljs$pprint$iter__14721(cljs.core.rest(s__14722__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14708_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(row,p1__14708_SHARP_);\n}),ks),widths));\n})()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(trailer)].join(\x27\x27);\n});\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,cljs.core.zipmap(ks,ks))], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22|-\x22,\x22-+-\x22,\x22-|\x22,cljs.core.zipmap(ks,spacers))], 0));\n\nvar seq__14731 \x3d cljs.core.seq(rows);\nvar chunk__14732 \x3d null;\nvar count__14733 \x3d (0);\nvar i__14734 \x3d (0);\nwhile(true){\nif((i__14734 \x3c count__14733)){\nvar row \x3d chunk__14732.cljs$core$IIndexed$_nth$arity$2(null,i__14734);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__15413 \x3d seq__14731;\nvar G__15414 \x3d chunk__14732;\nvar G__15415 \x3d count__14733;\nvar G__15416 \x3d (i__14734 + (1));\nseq__14731 \x3d G__15413;\nchunk__14732 \x3d G__15414;\ncount__14733 \x3d G__15415;\ni__14734 \x3d G__15416;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__14731);\nif(temp__5804__auto__){\nvar seq__14731__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__14731__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__14731__$1);\nvar G__15417 \x3d cljs.core.chunk_rest(seq__14731__$1);\nvar G__15418 \x3d c__5568__auto__;\nvar G__15419 \x3d cljs.core.count(c__5568__auto__);\nvar G__15420 \x3d (0);\nseq__14731 \x3d G__15417;\nchunk__14732 \x3d G__15418;\ncount__14733 \x3d G__15419;\ni__14734 \x3d G__15420;\ncontinue;\n} else {\nvar row \x3d cljs.core.first(seq__14731__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__15421 \x3d cljs.core.next(seq__14731__$1);\nvar G__15422 \x3d null;\nvar G__15423 \x3d (0);\nvar G__15424 \x3d (0);\nseq__14731 \x3d G__15421;\nchunk__14732 \x3d G__15422;\ncount__14733 \x3d G__15423;\ni__14734 \x3d G__15424;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1 \x3d (function (rows){\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(cljs.core.first(rows)),rows);\n}));\n\n(cljs.pprint.print_table.cljs$lang$maxFixedArity \x3d 2);\n\n"); +SHADOW_ENV.evalLoad("devtools.util.js", true , "goog.provide(\x27devtools.util\x27);\ndevtools.util.lib_info_style \x3d \x22color:black;font-weight:bold;\x22;\ndevtools.util.reset_style \x3d \x22color:black\x22;\ndevtools.util.advanced_build_explanation_url \x3d \x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-custom-formatters-do-not-work-for-advanced-builds\x22;\ndevtools.util._STAR_custom_formatters_active_STAR_ \x3d false;\ndevtools.util._STAR_console_open_STAR_ \x3d false;\ndevtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d false;\ndevtools.util.pprint_str \x3d (function devtools$util$pprint_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14871 \x3d arguments.length;\nvar i__5770__auto___14872 \x3d (0);\nwhile(true){\nif((i__5770__auto___14872 \x3c len__5769__auto___14871)){\nargs__5775__auto__.push((arguments[i__5770__auto___14872]));\n\nvar G__14875 \x3d (i__5770__auto___14872 + (1));\ni__5770__auto___14872 \x3d G__14875;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__14765_14877 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__14766_14878 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__14767_14879 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__14768_14880 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__14767_14879);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__14768_14880);\n\ntry{var _STAR_print_level_STAR__orig_val__14769_14881 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__14770_14882 \x3d (300);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__14770_14882);\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pprint,args);\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__14769_14881);\n}}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__14766_14878);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__14765_14877);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n}));\n\n(devtools.util.pprint_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.util.pprint_str.cljs$lang$applyTo \x3d (function (seq14761){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14761));\n}));\n\ndevtools.util.make_version_info \x3d (function devtools$util$make_version_info(){\nreturn \x220.9.10\x22;\n});\ndevtools.util.make_lib_info \x3d (function devtools$util$make_lib_info(){\nreturn [\x22CLJS DevTools \x22,devtools.util.make_version_info.call(null)].join(\x27\x27);\n});\ndevtools.util.get_lib_info \x3d (function devtools$util$get_lib_info(){\nreturn devtools.util.make_lib_info.call(null);\n});\ndevtools.util.get_node_info \x3d (function devtools$util$get_node_info(root){\ntry{var process__$1 \x3d (root[\x22process\x22]);\nvar version \x3d (process__$1[\x22version\x22]);\nvar platform \x3d (process__$1[\x22platform\x22]);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d version;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn platform;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),version,new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114),platform], null);\n} else {\nreturn null;\n}\n}catch (e14773){var _ \x3d e14773;\nreturn null;\n}});\ndevtools.util.get_node_description \x3d (function devtools$util$get_node_description(node_info){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22?\x22;\n}\n})()),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22?\x22;\n}\n})())].join(\x27\x27);\n});\ndevtools.util.in_node_context_QMARK_ \x3d (function devtools$util$in_node_context_QMARK_(){\nreturn (!((devtools.util.get_node_info.call(null,devtools.context.get_root.call(null)) \x3d\x3d null)));\n});\ndevtools.util.get_js_context_description \x3d (function devtools$util$get_js_context_description(){\nvar temp__5802__auto__ \x3d devtools.util.get_node_info.call(null,devtools.context.get_root.call(null));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node_info \x3d temp__5802__auto__;\nreturn [\x22node/\x22,devtools.util.get_node_description.call(null,node_info)].join(\x27\x27);\n} else {\nvar user_agent \x3d goog.userAgent.getUserAgentString();\nif(cljs.core.empty_QMARK_(user_agent)){\nreturn \x22\x3cunknown context\x3e\x22;\n} else {\nreturn user_agent;\n}\n}\n});\ndevtools.util.unknown_feature_msg \x3d (function devtools$util$unknown_feature_msg(feature,known_features,lib_info){\nreturn [\x22No such feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 is currently available in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib_info),\x22. \x22,\x22The list of supported features is \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([known_features], 0)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.feature_not_available_msg \x3d (function devtools$util$feature_not_available_msg(feature){\nreturn [\x22Feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 cannot be installed. \x22,\x22Unsupported Javascript context: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.util.get_js_context_description.call(null)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.custom_formatters_not_active_msg \x3d (function devtools$util$custom_formatters_not_active_msg(){\nreturn [\x22CLJS DevTools: some custom formatters were not rendered.\\n\x22,\x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-some-custom-formatters-were-not-rendered\x22].join(\x27\x27);\n});\ndevtools.util.formatter_key \x3d \x22devtoolsFormatters\x22;\ndevtools.util.get_formatters_safe \x3d (function devtools$util$get_formatters_safe(){\nvar formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(formatters)){\nreturn formatters;\n} else {\nreturn [];\n}\n});\ndevtools.util.set_formatters_safe_BANG_ \x3d (function devtools$util$set_formatters_safe_BANG_(new_formatters){\nif((((new_formatters \x3d\x3d null)) || (cljs.core.array_QMARK_(new_formatters)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? new-formatters) (array? new-formatters))\x22));\n}\n\nreturn (devtools.context.get_root.call(null)[devtools.util.formatter_key] \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:new_formatters));\n});\ndevtools.util.print_config_overrides_if_requested_BANG_ \x3d (function devtools$util$print_config_overrides_if_requested_BANG_(msg){\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965)))){\nvar diff \x3d cljs.core.second(clojure.data.diff(cljs.core.deref(devtools.prefs.default_config),devtools.prefs.get_prefs()));\nif((!(cljs.core.empty_QMARK_(diff)))){\nreturn devtools.context.get_console.call(null).info(msg,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([diff], 0)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.util.CustomFormattersDetector \x3d (function (){\n});\n\n(devtools.util.CustomFormattersDetector.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.util.CustomFormattersDetector.cljs$lang$type \x3d true);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorStr \x3d \x22devtools.util/CustomFormattersDetector\x22);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22devtools.util/CustomFormattersDetector\x22);\n}));\n\n/**\n * Positional factory function for devtools.util/CustomFormattersDetector.\n */\ndevtools.util.__GT_CustomFormattersDetector \x3d (function devtools$util$__GT_CustomFormattersDetector(){\nreturn (new devtools.util.CustomFormattersDetector());\n});\n\ndevtools.util.make_detector \x3d (function devtools$util$make_detector(){\nvar detector \x3d (new devtools.util.CustomFormattersDetector());\n(detector[\x22header\x22] \x3d (function (_object,_config){\n(devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n\nreturn null;\n}));\n\n(detector[\x22hasBody\x22] \x3d cljs.core.constantly(false));\n\n(detector[\x22body\x22] \x3d cljs.core.constantly(null));\n\nreturn detector;\n});\ndevtools.util.install_detector_BANG_ \x3d (function devtools$util$install_detector_BANG_(detector){\nvar formatters \x3d devtools.util.get_formatters_safe();\nformatters.push(detector);\n\nreturn devtools.util.set_formatters_safe_BANG_(formatters);\n});\ndevtools.util.uninstall_detector_BANG_ \x3d (function devtools$util$uninstall_detector_BANG_(detector){\nvar current_formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(current_formatters)){\nvar new_formatters \x3d current_formatters.filter((function (p1__14782_SHARP_){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(detector,p1__14782_SHARP_)));\n}));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters);\n} else {\nreturn null;\n}\n});\ndevtools.util.check_custom_formatters_active_BANG_ \x3d (function devtools$util$check_custom_formatters_active_BANG_(){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d devtools.util._STAR_console_open_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(devtools.util._STAR_custom_formatters_active_STAR_);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif(cljs.core.truth_(devtools.util._STAR_custom_formatters_warning_reported_STAR_)){\nreturn null;\n} else {\n(devtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d true);\n\nreturn devtools.context.get_console.call(null).warn(devtools.util.custom_formatters_not_active_msg.call(null));\n}\n} else {\nreturn null;\n}\n});\ndevtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_ \x3d (function devtools$util$uninstall_detector_and_check_custom_formatters_active_BANG_(detector){\ndevtools.util.uninstall_detector_BANG_(detector);\n\nreturn devtools.util.check_custom_formatters_active_BANG_();\n});\ndevtools.util.make_detection_printer \x3d (function devtools$util$make_detection_printer(){\nvar f \x3d (function (){\nreturn null;\n});\nvar G__14790_14885 \x3d f;\nvar target__11946__auto___14886 \x3d G__14790_14885;\nif(cljs.core.truth_(target__11946__auto___14886)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__14790_14885)].join(\x27\x27),\x22\\n\x22,\x22target__11946__auto__\x22].join(\x27\x27)));\n}\n\n(target__11946__auto___14886[\x22toString\x22] \x3d (function (){\n(devtools.util._STAR_console_open_STAR_ \x3d true);\n\nsetTimeout(devtools.util.check_custom_formatters_active_BANG_,(0));\n\nreturn \x22\x22;\n}));\n\n\nreturn f;\n});\ndevtools.util.wrap_with_custom_formatter_detection_BANG_ \x3d (function devtools$util$wrap_with_custom_formatter_detection_BANG_(f){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-detect-custom-formatters\x22,\x22dont-detect-custom-formatters\x22,-29005804)))){\nvar detector \x3d devtools.util.make_detector();\ndevtools.util.install_detector_BANG_(detector);\n\nvar G__14814_14887 \x3d \x22%c%s\x22;\nvar G__14815_14888 \x3d \x22color:transparent\x22;\nvar G__14816_14889 \x3d devtools.util.make_detection_printer();\n(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__14814_14887,G__14815_14888,G__14816_14889) : f.call(null,G__14814_14887,G__14815_14888,G__14816_14889));\n\nreturn setTimeout(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_,detector),(0));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n});\ndevtools.util.feature_for_display \x3d (function devtools$util$feature_for_display(installed_features,feature){\nvar color \x3d (cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),installed_features))?\x22color:#0000ff\x22:\x22color:#ccc\x22);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22%c%s\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [color,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature)], null)], null);\n});\ndevtools.util.feature_list_display \x3d (function devtools$util$feature_list_display(installed_features,feature_groups){\nvar labels \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.feature_for_display,installed_features),new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups));\nvar _STAR_ \x3d (function (accum,val){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(accum)),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(val))].join(\x27\x27),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.second(accum),cljs.core.second(val))], null);\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.first(labels),cljs.core.rest(labels));\n});\ndevtools.util.display_banner_BANG_ \x3d (function devtools$util$display_banner_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14893 \x3d arguments.length;\nvar i__5770__auto___14894 \x3d (0);\nwhile(true){\nif((i__5770__auto___14894 \x3c len__5769__auto___14893)){\nargs__5775__auto__.push((arguments[i__5770__auto___14894]));\n\nvar G__14895 \x3d (i__5770__auto___14894 + (1));\ni__5770__auto___14894 \x3d G__14895;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((3) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);\n});\n\n(devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (installed_features,feature_groups,fmt,params){\nvar vec__14850 \x3d devtools.util.feature_list_display(installed_features,feature_groups);\nvar fmt_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14850,(0),null);\nvar fmt_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14850,(1),null);\nreturn devtools.util.wrap_with_custom_formatter_detection_BANG_((function() { \nvar G__14896__delegate \x3d function (add_fmt,add_args){\nvar items \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt_str),cljs.core.str.cljs$core$IFn$_invoke$arity$1(add_fmt)].join(\x27\x27)], null),params,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_params,add_args], 0));\nvar console__$1 \x3d devtools.context.get_console.call(null);\nreturn console__$1.info.apply(console__$1,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(items));\n};\nvar G__14896 \x3d function (add_fmt,var_args){\nvar add_args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__14897__i \x3d 0, G__14897__a \x3d new Array(arguments.length - 1);\nwhile (G__14897__i \x3c G__14897__a.length) {G__14897__a[G__14897__i] \x3d arguments[G__14897__i + 1]; ++G__14897__i;}\n add_args \x3d new cljs.core.IndexedSeq(G__14897__a,0,null);\n} \nreturn G__14896__delegate.call(this,add_fmt,add_args);};\nG__14896.cljs$lang$maxFixedArity \x3d 1;\nG__14896.cljs$lang$applyTo \x3d (function (arglist__14898){\nvar add_fmt \x3d cljs.core.first(arglist__14898);\nvar add_args \x3d cljs.core.rest(arglist__14898);\nreturn G__14896__delegate(add_fmt,add_args);\n});\nG__14896.cljs$core$IFn$_invoke$arity$variadic \x3d G__14896__delegate;\nreturn G__14896;\n})()\n);\n}));\n\n(devtools.util.display_banner_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.util.display_banner_BANG_.cljs$lang$applyTo \x3d (function (seq14840){\nvar G__14841 \x3d cljs.core.first(seq14840);\nvar seq14840__$1 \x3d cljs.core.next(seq14840);\nvar G__14842 \x3d cljs.core.first(seq14840__$1);\nvar seq14840__$2 \x3d cljs.core.next(seq14840__$1);\nvar G__14843 \x3d cljs.core.first(seq14840__$2);\nvar seq14840__$3 \x3d cljs.core.next(seq14840__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14841,G__14842,G__14843,seq14840__$3);\n}));\n\ndevtools.util.display_banner_if_needed_BANG_ \x3d (function devtools$util$display_banner_if_needed_BANG_(features_to_install,feature_groups){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-banner\x22,\x22dont-display-banner\x22,-1175550370)))){\nvar banner \x3d \x22Installing %c%s%c and enabling features\x22;\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic(features_to_install,feature_groups,banner,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style], 0));\n} else {\nreturn (devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n}\n});\ndevtools.util.report_unknown_features_BANG_ \x3d (function devtools$util$report_unknown_features_BANG_(features,known_features){\nvar lib_info \x3d devtools.util.get_lib_info();\nvar seq__14856 \x3d cljs.core.seq(features);\nvar chunk__14857 \x3d null;\nvar count__14858 \x3d (0);\nvar i__14859 \x3d (0);\nwhile(true){\nif((i__14859 \x3c count__14858)){\nvar feature \x3d chunk__14857.cljs$core$IIndexed$_nth$arity$2(null,i__14859);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__14900 \x3d seq__14856;\nvar G__14901 \x3d chunk__14857;\nvar G__14902 \x3d count__14858;\nvar G__14903 \x3d (i__14859 + (1));\nseq__14856 \x3d G__14900;\nchunk__14857 \x3d G__14901;\ncount__14858 \x3d G__14902;\ni__14859 \x3d G__14903;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__14856);\nif(temp__5804__auto__){\nvar seq__14856__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__14856__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__14856__$1);\nvar G__14904 \x3d cljs.core.chunk_rest(seq__14856__$1);\nvar G__14905 \x3d c__5568__auto__;\nvar G__14906 \x3d cljs.core.count(c__5568__auto__);\nvar G__14907 \x3d (0);\nseq__14856 \x3d G__14904;\nchunk__14857 \x3d G__14905;\ncount__14858 \x3d G__14906;\ni__14859 \x3d G__14907;\ncontinue;\n} else {\nvar feature \x3d cljs.core.first(seq__14856__$1);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__14908 \x3d cljs.core.next(seq__14856__$1);\nvar G__14909 \x3d null;\nvar G__14910 \x3d (0);\nvar G__14911 \x3d (0);\nseq__14856 \x3d G__14908;\nchunk__14857 \x3d G__14909;\ncount__14858 \x3d G__14910;\ni__14859 \x3d G__14911;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.util.is_known_feature_QMARK_ \x3d (function devtools$util$is_known_feature_QMARK_(known_features,feature){\nreturn cljs.core.boolean$(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features));\n});\ndevtools.util.convert_legacy_feature \x3d (function devtools$util$convert_legacy_feature(feature){\nvar G__14860 \x3d feature;\nvar G__14860__$1 \x3d (((G__14860 instanceof cljs.core.Keyword))?G__14860.fqn:null);\nswitch (G__14860__$1) {\ncase \x22custom-formatters\x22:\nreturn new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118);\n\nbreak;\ncase \x22sanity-hints\x22:\nreturn new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151);\n\nbreak;\ndefault:\nreturn feature;\n\n}\n});\ndevtools.util.convert_legacy_features \x3d (function devtools$util$convert_legacy_features(features){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.convert_legacy_feature,features);\n});\ndevtools.util.sanititze_features_BANG_ \x3d (function devtools$util$sanititze_features_BANG_(features,feature_groups){\nvar known_features \x3d new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups);\nvar features__$1 \x3d devtools.util.convert_legacy_features(features);\ndevtools.util.report_unknown_features_BANG_(features__$1,known_features);\n\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.is_known_feature_QMARK_,known_features),features__$1);\n});\ndevtools.util.resolve_features_BANG_ \x3d (function devtools$util$resolve_features_BANG_(features_desc,feature_groups){\nvar features \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d (features_desc instanceof cljs.core.Keyword);\nif(and__5043__auto__){\nreturn (features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups));\n} else {\nreturn and__5043__auto__;\n}\n})())?(features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups)):(((features_desc \x3d\x3d null))?new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(feature_groups):((cljs.core.seqable_QMARK_(features_desc))?features_desc:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [features_desc], null)\n)));\nreturn devtools.util.sanititze_features_BANG_(features,feature_groups);\n});\ndevtools.util.under_advanced_build_QMARK_ \x3d (function devtools$util$under_advanced_build_QMARK_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539)))){\nreturn ((function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o14868 \x3d temp__5802__auto__;\nreturn (o14868[\x22version\x22]);\n} else {\nreturn null;\n}\n})() \x3d\x3d null);\n} else {\nreturn null;\n}\n});\ndevtools.util.display_advanced_build_warning_if_needed_BANG_ \x3d (function devtools$util$display_advanced_build_warning_if_needed_BANG_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-advanced-build-warning\x22,\x22dont-display-advanced-build-warning\x22,-91321563)))){\nvar banner \x3d [\x22%cNOT%c installing %c%s%c under advanced build. See \x22,devtools.util.advanced_build_explanation_url,\x22.\x22].join(\x27\x27);\nreturn devtools.context.get_console.call(null).warn(banner,\x22font-weight:bold\x22,devtools.util.reset_style,devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style);\n} else {\nreturn null;\n}\n});\ndevtools.util.install_feature_BANG_ \x3d (function devtools$util$install_feature_BANG_(feature,features_to_install,available_fn,install_fn){\nif(cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),features_to_install))){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (available_fn.cljs$core$IFn$_invoke$arity$1 ? available_fn.cljs$core$IFn$_invoke$arity$1(feature) : available_fn.call(null,feature));\n}\n})())){\nreturn (install_fn.cljs$core$IFn$_invoke$arity$0 ? install_fn.cljs$core$IFn$_invoke$arity$0() : install_fn.call(null));\n} else {\nreturn devtools.context.get_console.call(null).warn(devtools.util.feature_not_available_msg.call(null,feature));\n}\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("devtools.format.js", true , "goog.provide(\x27devtools.format\x27);\n\n/**\n * @interface\n */\ndevtools.format.IDevtoolsFormat \x3d function(){};\n\nvar devtools$format$IDevtoolsFormat$_header$dyn_12199 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.format._header[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.format._header[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-header\x22,value);\n}\n}\n});\ndevtools.format._header \x3d (function devtools$format$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_header$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_header$dyn_12199(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_has_body$dyn_12203 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.format._has_body[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.format._has_body[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.format._has_body \x3d (function devtools$format$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_has_body$dyn_12203(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_body$dyn_12210 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.format._body[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.format._body[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-body\x22,value);\n}\n}\n});\ndevtools.format._body \x3d (function devtools$format$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_body$dyn_12210(value);\n}\n});\n\ndevtools.format.setup_BANG_ \x3d (function devtools$format$setup_BANG_(){\nif(cljs.core.truth_(devtools.format._STAR_setup_done_STAR_)){\nreturn null;\n} else {\n(devtools.format._STAR_setup_done_STAR_ \x3d true);\n\ndevtools.format.make_template_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12016 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12016[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12017 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12017[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12018 \x3d temp__5802__auto____$2;\nreturn (o12018[\x22make_template\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_group_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12023 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12023[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12024 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12024[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12025 \x3d temp__5802__auto____$2;\nreturn (o12025[\x22make_group\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_reference_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12026 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12026[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12027 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12027[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12028 \x3d temp__5802__auto____$2;\nreturn (o12028[\x22make_reference\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_surrogate_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12029 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12029[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12030 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12030[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12031 \x3d temp__5802__auto____$2;\nreturn (o12031[\x22make_surrogate\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.render_markup_fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12033 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12033[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12034 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12034[\x22templating\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12035 \x3d temp__5802__auto____$2;\nreturn (o12035[\x22render_markup\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_header_GT__fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12039 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12039[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12040 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12040[\x22markup\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12041 \x3d temp__5802__auto____$2;\nreturn (o12041[\x22_LT_header_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_standard_body_GT__fn \x3d (function (){var temp__5802__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o12042 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o12042[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o12043 \x3d temp__5802__auto____$1;\nvar temp__5802__auto____$2 \x3d (o12043[\x22markup\x22]);\nif(cljs.core.truth_(temp__5802__auto____$2)){\nvar o12044 \x3d temp__5802__auto____$2;\nreturn (o12044[\x22_LT_standard_body_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\nif(cljs.core.truth_(devtools.format.make_template_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-template-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_group_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-group-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_reference_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-reference-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_surrogate_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-surrogate-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.render_markup_fn)){\n} else {\nthrow (new Error(\x22Assert failed: render-markup-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_header_GT__fn)){\n} else {\nthrow (new Error(\x22Assert failed: \x3cheader\x3e-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_standard_body_GT__fn)){\nreturn null;\n} else {\nthrow (new Error(\x22Assert failed: \x3cstandard-body\x3e-fn\x22));\n}\n}\n});\ndevtools.format.render_markup \x3d (function devtools$format$render_markup(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12256 \x3d arguments.length;\nvar i__5770__auto___12257 \x3d (0);\nwhile(true){\nif((i__5770__auto___12257 \x3c len__5769__auto___12256)){\nargs__5775__auto__.push((arguments[i__5770__auto___12257]));\n\nvar G__12260 \x3d (i__5770__auto___12257 + (1));\ni__5770__auto___12257 \x3d G__12260;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.render_markup_fn,args);\n}));\n\n(devtools.format.render_markup.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.render_markup.cljs$lang$applyTo \x3d (function (seq12048){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12048));\n}));\n\ndevtools.format.make_template \x3d (function devtools$format$make_template(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12265 \x3d arguments.length;\nvar i__5770__auto___12266 \x3d (0);\nwhile(true){\nif((i__5770__auto___12266 \x3c len__5769__auto___12265)){\nargs__5775__auto__.push((arguments[i__5770__auto___12266]));\n\nvar G__12268 \x3d (i__5770__auto___12266 + (1));\ni__5770__auto___12266 \x3d G__12268;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.make_template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_template.cljs$lang$applyTo \x3d (function (seq12050){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12050));\n}));\n\ndevtools.format.make_group \x3d (function devtools$format$make_group(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12271 \x3d arguments.length;\nvar i__5770__auto___12272 \x3d (0);\nwhile(true){\nif((i__5770__auto___12272 \x3c len__5769__auto___12271)){\nargs__5775__auto__.push((arguments[i__5770__auto___12272]));\n\nvar G__12273 \x3d (i__5770__auto___12272 + (1));\ni__5770__auto___12272 \x3d G__12273;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_group.cljs$lang$applyTo \x3d (function (seq12059){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12059));\n}));\n\ndevtools.format.make_surrogate \x3d (function devtools$format$make_surrogate(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12276 \x3d arguments.length;\nvar i__5770__auto___12277 \x3d (0);\nwhile(true){\nif((i__5770__auto___12277 \x3c len__5769__auto___12276)){\nargs__5775__auto__.push((arguments[i__5770__auto___12277]));\n\nvar G__12279 \x3d (i__5770__auto___12277 + (1));\ni__5770__auto___12277 \x3d G__12279;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.make_surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_surrogate.cljs$lang$applyTo \x3d (function (seq12080){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12080));\n}));\n\ndevtools.format.template \x3d (function devtools$format$template(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12281 \x3d arguments.length;\nvar i__5770__auto___12282 \x3d (0);\nwhile(true){\nif((i__5770__auto___12282 \x3c len__5769__auto___12281)){\nargs__5775__auto__.push((arguments[i__5770__auto___12282]));\n\nvar G__12284 \x3d (i__5770__auto___12282 + (1));\ni__5770__auto___12282 \x3d G__12284;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.template.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.template.cljs$lang$applyTo \x3d (function (seq12081){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12081));\n}));\n\ndevtools.format.group \x3d (function devtools$format$group(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12286 \x3d arguments.length;\nvar i__5770__auto___12287 \x3d (0);\nwhile(true){\nif((i__5770__auto___12287 \x3c len__5769__auto___12286)){\nargs__5775__auto__.push((arguments[i__5770__auto___12287]));\n\nvar G__12288 \x3d (i__5770__auto___12287 + (1));\ni__5770__auto___12287 \x3d G__12288;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.group.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.group.cljs$lang$applyTo \x3d (function (seq12083){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12083));\n}));\n\ndevtools.format.surrogate \x3d (function devtools$format$surrogate(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12291 \x3d arguments.length;\nvar i__5770__auto___12292 \x3d (0);\nwhile(true){\nif((i__5770__auto___12292 \x3c len__5769__auto___12291)){\nargs__5775__auto__.push((arguments[i__5770__auto___12292]));\n\nvar G__12293 \x3d (i__5770__auto___12292 + (1));\ni__5770__auto___12292 \x3d G__12293;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.surrogate.cljs$lang$applyTo \x3d (function (seq12087){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12087));\n}));\n\ndevtools.format.reference \x3d (function devtools$format$reference(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12295 \x3d arguments.length;\nvar i__5770__auto___12296 \x3d (0);\nwhile(true){\nif((i__5770__auto___12296 \x3c len__5769__auto___12295)){\nargs__5775__auto__.push((arguments[i__5770__auto___12296]));\n\nvar G__12298 \x3d (i__5770__auto___12296 + (1));\ni__5770__auto___12296 \x3d G__12298;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__12102){\nvar vec__12104 \x3d p__12102;\nvar state_override \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12104,(0),null);\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_reference_fn,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [object,(function (p1__12092_SHARP_){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__12092_SHARP_,state_override], 0));\n})], null));\n}));\n\n(devtools.format.reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.reference.cljs$lang$applyTo \x3d (function (seq12094){\nvar G__12095 \x3d cljs.core.first(seq12094);\nvar seq12094__$1 \x3d cljs.core.next(seq12094);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12095,seq12094__$1);\n}));\n\ndevtools.format.standard_reference \x3d (function devtools$format$standard_reference(target){\ndevtools.format.setup_BANG_();\n\nvar G__12111 \x3d new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051);\nvar G__12112 \x3d new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615);\nvar G__12113 \x3d (function (){var G__12163 \x3d new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921);\nvar G__12164 \x3d new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955);\nvar G__12165 \x3d (devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1 ? devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1(target) : devtools.format.make_reference_fn.call(null,target));\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__12163,G__12164,G__12165) : devtools.format.make_template_fn.call(null,G__12163,G__12164,G__12165));\n})();\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__12111,G__12112,G__12113) : devtools.format.make_template_fn.call(null,G__12111,G__12112,G__12113));\n});\ndevtools.format.build_header \x3d (function devtools$format$build_header(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12324 \x3d arguments.length;\nvar i__5770__auto___12327 \x3d (0);\nwhile(true){\nif((i__5770__auto___12327 \x3c len__5769__auto___12324)){\nargs__5775__auto__.push((arguments[i__5770__auto___12327]));\n\nvar G__12329 \x3d (i__5770__auto___12327 + (1));\ni__5770__auto___12327 \x3d G__12329;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_header_GT__fn,args)], 0));\n}));\n\n(devtools.format.build_header.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.build_header.cljs$lang$applyTo \x3d (function (seq12174){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12174));\n}));\n\ndevtools.format.standard_body_template \x3d (function devtools$format$standard_body_template(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12337 \x3d arguments.length;\nvar i__5770__auto___12338 \x3d (0);\nwhile(true){\nif((i__5770__auto___12338 \x3c len__5769__auto___12337)){\nargs__5775__auto__.push((arguments[i__5770__auto___12338]));\n\nvar G__12339 \x3d (i__5770__auto___12338 + (1));\ni__5770__auto___12338 \x3d G__12339;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (lines,rest){\ndevtools.format.setup_BANG_();\n\nvar args \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [x], null);\n}),lines)], null),rest);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_standard_body_GT__fn,args)], 0));\n}));\n\n(devtools.format.standard_body_template.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.standard_body_template.cljs$lang$applyTo \x3d (function (seq12184){\nvar G__12185 \x3d cljs.core.first(seq12184);\nvar seq12184__$1 \x3d cljs.core.next(seq12184);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12185,seq12184__$1);\n}));\n\n"); +SHADOW_ENV.evalLoad("devtools.protocols.js", true , "goog.provide(\x27devtools.protocols\x27);\n\n/**\n * Marker protocol indicating a devtools template.\n * @interface\n */\ndevtools.protocols.ITemplate \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools group.\n * @interface\n */\ndevtools.protocols.IGroup \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools surrogate object.\n * @interface\n */\ndevtools.protocols.ISurrogate \x3d function(){};\n\n\n/**\n * @interface\n */\ndevtools.protocols.IFormat \x3d function(){};\n\nvar devtools$protocols$IFormat$_header$dyn_12626 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.protocols._header[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.protocols._header[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-header\x22,value);\n}\n}\n});\ndevtools.protocols._header \x3d (function devtools$protocols$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_header$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_header$dyn_12626(value);\n}\n});\n\nvar devtools$protocols$IFormat$_has_body$dyn_12635 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.protocols._has_body[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.protocols._has_body[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.protocols._has_body \x3d (function devtools$protocols$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_has_body$dyn_12635(value);\n}\n});\n\nvar devtools$protocols$IFormat$_body$dyn_12638 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (devtools.protocols._body[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (devtools.protocols._body[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-body\x22,value);\n}\n}\n});\ndevtools.protocols._body \x3d (function devtools$protocols$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_body$dyn_12638(value);\n}\n});\n\n"); +SHADOW_ENV.evalLoad("devtools.reporter.js", true , "goog.provide(\x27devtools.reporter\x27);\ndevtools.reporter.issues_url \x3d \x22https://github.com/binaryage/cljs-devtools/issues\x22;\ndevtools.reporter.report_internal_error_BANG_ \x3d (function devtools$reporter$report_internal_error_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14926 \x3d arguments.length;\nvar i__5770__auto___14927 \x3d (0);\nwhile(true){\nif((i__5770__auto___14927 \x3c len__5769__auto___14926)){\nargs__5775__auto__.push((arguments[i__5770__auto___14927]));\n\nvar G__14928 \x3d (i__5770__auto___14927 + (1));\ni__5770__auto___14927 \x3d G__14928;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (e,p__14912){\nvar vec__14914 \x3d p__14912;\nvar context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14914,(0),null);\nvar footer \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14914,(1),null);\nvar console__$1 \x3d devtools.context.get_console.call(null);\ntry{var message \x3d (((e instanceof Error))?(function (){var or__5045__auto__ \x3d e.message;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn e;\n}\n})():e);\nvar header \x3d [\x22%cCLJS DevTools Error%c%s\x22,\x22background-color:red;color:white;font-weight:bold;padding:0px 3px;border-radius:2px;\x22,\x22color:red\x22,[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(message)].join(\x27\x27)];\nvar context_msg \x3d [\x22In \x22,devtools.util.get_lib_info(),(cljs.core.truth_(context)?[\x22, \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(context),\x22.\x22].join(\x27\x27):\x22.\x22),\x22\\n\\n\x22].join(\x27\x27);\nvar footer_msg \x3d (((!((footer \x3d\x3d null))))?footer:[\x22\\n\\n\x22,\x22---\\n\x22,\x22Please report the issue here: \x22,devtools.reporter.issues_url].join(\x27\x27));\nvar details \x3d [context_msg,e,footer_msg];\nvar group_collapsed \x3d (console__$1[\x22groupCollapsed\x22]);\nvar log \x3d (console__$1[\x22log\x22]);\nvar group_end \x3d (console__$1[\x22groupEnd\x22]);\nif(cljs.core.truth_(group_collapsed)){\n} else {\nthrow (new Error(\x22Assert failed: group-collapsed\x22));\n}\n\nif(cljs.core.truth_(log)){\n} else {\nthrow (new Error(\x22Assert failed: log\x22));\n}\n\nif(cljs.core.truth_(group_end)){\n} else {\nthrow (new Error(\x22Assert failed: group-end\x22));\n}\n\ngroup_collapsed.apply(console__$1,header);\n\nlog.apply(console__$1,details);\n\nreturn group_end.call(console__$1);\n}catch (e14918){var e__$1 \x3d e14918;\nreturn console__$1.error(\x22FATAL: report-internal-error! failed\x22,e__$1);\n}}));\n\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$applyTo \x3d (function (seq14890){\nvar G__14891 \x3d cljs.core.first(seq14890);\nvar seq14890__$1 \x3d cljs.core.next(seq14890);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14891,seq14890__$1);\n}));\n\n"); +SHADOW_ENV.evalLoad("clojure.walk.js", true , "goog.provide(\x27clojure.walk\x27);\n/**\n * Traverses form, an arbitrary data structure. inner and outer are\n * functions. Applies inner to each element of form, building up a\n * data structure of the same type, then applies outer to the result.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.walk \x3d (function clojure$walk$walk(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nvar G__13891 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__13891) : outer.call(null,G__13891));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__13899 \x3d (new cljs.core.MapEntry((function (){var G__13900 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__13900) : inner.call(null,G__13900));\n})(),(function (){var G__13901 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__13901) : inner.call(null,G__13901));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__13899) : outer.call(null,G__13899));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nvar G__13902 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__13902) : outer.call(null,G__13902));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__13904 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__13904) : outer.call(null,G__13904));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__13905 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__13905) : outer.call(null,G__13905));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Performs a depth-first, post-order traversal of form. Calls f on\n * each sub-form, uses f\x27s return value in place of the original.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.postwalk \x3d (function clojure$walk$postwalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,f),f,form);\n});\n/**\n * Like postwalk, but does pre-order traversal.\n */\nclojure.walk.prewalk \x3d (function clojure$walk$prewalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,f),cljs.core.identity,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(form) : f.call(null,form)));\n});\n/**\n * Recursively transforms all map keys from strings to keywords.\n */\nclojure.walk.keywordize_keys \x3d (function clojure$walk$keywordize_keys(m){\nvar f \x3d (function (p__13910){\nvar vec__13911 \x3d p__13910;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13911,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13911,(1),null);\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms all map keys from keywords to strings.\n */\nclojure.walk.stringify_keys \x3d (function clojure$walk$stringify_keys(m){\nvar f \x3d (function (p__13914){\nvar vec__13915 \x3d p__13914;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13915,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13915,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the root of the tree first.\n */\nclojure.walk.prewalk_replace \x3d (function clojure$walk$prewalk_replace(smap,form){\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the leaves of the tree first.\n */\nclojure.walk.postwalk_replace \x3d (function clojure$walk$postwalk_replace(smap,form){\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n"); +SHADOW_ENV.evalLoad("devtools.munging.js", true , "goog.provide(\x27devtools.munging\x27);\ngoog.scope(function(){\n devtools.munging.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ndevtools.munging.dollar_replacement \x3d \x22~\\uFE69~\x22;\ndevtools.munging.max_fixed_arity_to_scan \x3d (64);\ndevtools.munging.get_global_scope \x3d (function devtools$munging$get_global_scope(){\nreturn devtools.context.get_root.call(null);\n});\ndevtools.munging.js_reserved_QMARK_ \x3d (function devtools$munging$js_reserved_QMARK_(x){\nvar temp__5802__auto__ \x3d (function (){var temp__5802__auto__ \x3d (devtools.munging.get_global_scope.call(null)[\x22cljs\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o13897 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o13897[\x22core\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o13898 \x3d temp__5802__auto____$1;\nreturn (o13898[\x22js_reserved_QMARK_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar js_reserved_fn \x3d temp__5802__auto__;\nreturn (js_reserved_fn.cljs$core$IFn$_invoke$arity$1 ? js_reserved_fn.cljs$core$IFn$_invoke$arity$1(x) : js_reserved_fn.call(null,x));\n} else {\nreturn null;\n}\n});\ndevtools.munging.get_fn_source_safely \x3d (function devtools$munging$get_fn_source_safely(f){\ntry{if(cljs.core.truth_(\x22toString\x22 in f)){\nvar o__11939__auto__ \x3d f;\nreturn (o__11939__auto__[\x22toString\x22]).call(o__11939__auto__);\n} else {\nreturn \x22\x22;\n}\n}catch (e13903){var _ \x3d e13903;\nreturn \x22\x22;\n}});\ndevtools.munging.get_fn_fixed_arity \x3d (function devtools$munging$get_fn_fixed_arity(f,n){\nreturn (f[[\x22cljs$core$IFn$_invoke$arity$\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)]);\n});\ndevtools.munging.get_fn_variadic_arity \x3d (function devtools$munging$get_fn_variadic_arity(f){\nreturn (f[\x22cljs$core$IFn$_invoke$arity$variadic\x22]);\n});\ndevtools.munging.get_fn_max_fixed_arity \x3d (function devtools$munging$get_fn_max_fixed_arity(f){\nreturn (f[\x22cljs$lang$maxFixedArity\x22]);\n});\ndevtools.munging.get_type_name \x3d (function devtools$munging$get_type_name(t){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ntry{var o__11939__auto___14258 \x3d t;\n(o__11939__auto___14258[\x22cljs$lang$ctorPrWriter\x22]).call(o__11939__auto___14258,t,writer);\n}catch (e13909){var __14259 \x3d e13909;\n}\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\n/**\n * Given a character with a single digit converts it into a subscript character.\n * Zero chracter maps to unicode \x27SUBSCRIPT ZERO\x27 (U+2080).\n */\ndevtools.munging.char_to_subscript \x3d (function devtools$munging$char_to_subscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__11939__auto__ \x3d (new String(char$));\nreturn (o__11939__auto__[\x22charCodeAt\x22]).call(o__11939__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar subscript_code \x3d ((8320) + num_code);\nvar o__11939__auto__ \x3d String;\nreturn (o__11939__auto__[\x22fromCharCode\x22]).call(o__11939__auto__,subscript_code);\n});\n/**\n * Given a subscript number converts it into a string representation consisting of unicode subscript characters (digits).\n */\ndevtools.munging.make_subscript \x3d (function devtools$munging$make_subscript(subscript){\nif(typeof subscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? subscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_subscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(subscript)));\n});\n/**\n * Given a character with a single digit converts it into a superscript character.\n * Zero chracter maps to unicode \x27SUPERSCRIPT ZERO\x27 (U+2070).\n */\ndevtools.munging.char_to_superscript \x3d (function devtools$munging$char_to_superscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__11939__auto__ \x3d (new String(char$));\nreturn (o__11939__auto__[\x22charCodeAt\x22]).call(o__11939__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar superscript_code \x3d (function (){var G__13931 \x3d num_code;\nswitch (G__13931) {\ncase (1):\nreturn (185);\n\nbreak;\ncase (2):\nreturn (178);\n\nbreak;\ncase (3):\nreturn (179);\n\nbreak;\ndefault:\nreturn ((8304) + num_code);\n\n}\n})();\nvar o__11939__auto__ \x3d String;\nreturn (o__11939__auto__[\x22fromCharCode\x22]).call(o__11939__auto__,superscript_code);\n});\n/**\n * Given a superscript number converts it into a string representation consisting of unicode superscript characters (digits).\n */\ndevtools.munging.make_superscript \x3d (function devtools$munging$make_superscript(superscript){\nif(typeof superscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? superscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_superscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(superscript)));\n});\n/**\n * Given a Javascript name answers if the name was likely generated by ClojureScript.\n * We use a simple heuristic here:\n * The name must contain at least two separate dollars because we assume two-segment namespaces.\n */\ndevtools.munging.cljs_fn_name_QMARK_ \x3d (function devtools$munging$cljs_fn_name_QMARK_(munged_name){\nif(typeof munged_name \x3d\x3d\x3d \x27string\x27){\nreturn (!((cljs.core.re_matches(/^[^$]*\\$[^$]+\\$.*$/,munged_name) \x3d\x3d null)));\n} else {\nreturn null;\n}\n});\n/**\n * Given a function source code parses out [name args]. Note that both strings are still munged.\n * Suitable for further processing.\n * \n * For exampe for input below the function will return [\x22devtools_sample$core$hello\x22 \x22name, unused_param\x22]:\n * \n * function devtools_sample$core$hello(name, unused_param){\n * return [cljs.core.str(\x22hello, \x22),cljs.core.str(name),cljs.core.str(\x22!\x22)].join(\x27\x27);\n * }\n * \n */\ndevtools.munging.parse_fn_source \x3d (function devtools$munging$parse_fn_source(fn_source){\nvar temp__5802__auto__ \x3d cljs.core.second(cljs.core.re_find(/function\\s(.*?)\\{/,fn_source));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar meat \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d cljs.core.re_find(/(.*?)\\((.*)\\)/,meat);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar match \x3d temp__5802__auto____$1;\nreturn cljs.core.rest(match);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.trivial_fn_source_QMARK_ \x3d (function devtools$munging$trivial_fn_source_QMARK_(fn_source){\nif(typeof fn_source \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? fn-source)\x22));\n}\n\nreturn (((!((cljs.core.re_matches(/function\\s*\\(\\s*\\)\\s*\\{\\s*\\}\\s*/,fn_source) \x3d\x3d null)))) || ((!((cljs.core.re_matches(/function.*\\(\\)\\s*\\{\\s*\\[native code\\]\\s*\\}\\s*/,fn_source) \x3d\x3d null)))));\n});\n/**\n * Given a Javascript function object returns true if the function looks like a ClojureScript function.\n * \n * Uses various heuristics:\n * 1. must be fn? (is javascript function or satisfies Fn and IFn protocols)\n * 2. and name must be cljs-fn-name? (name can come from f.name or parsed out of function source)\n * 3. or if anonymous function, must be non-trivial\n */\ndevtools.munging.cljs_fn_QMARK_ \x3d (function devtools$munging$cljs_fn_QMARK_(f){\nif(cljs.core.truth_((function (){try{return cljs.core.fn_QMARK_(f);\n}catch (e13984){var _e__11955__auto__ \x3d e13984;\nreturn false;\n}})())){\nvar name \x3d (f[cljs.core.name]);\nif((!(cljs.core.empty_QMARK_(name)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name);\n} else {\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nvar vec__13994 \x3d devtools.munging.parse_fn_source(fn_source);\nvar name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13994,(0),null);\nif((!(cljs.core.empty_QMARK_(name__$1)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name__$1);\n} else {\nreturn (!(devtools.munging.trivial_fn_source_QMARK_(fn_source)));\n}\n}\n} else {\nreturn null;\n}\n});\n/**\n * Standard cljs.core/demunge is too agresive in replacing dollars.\n * This wrapper function works around it by leaving dollars intact.\n */\ndevtools.munging.dollar_preserving_demunge \x3d (function devtools$munging$dollar_preserving_demunge(munged_name){\nreturn clojure.string.replace(cljs.core.demunge(clojure.string.replace(munged_name,\x22$\x22,devtools.munging.dollar_replacement)),devtools.munging.dollar_replacement,\x22$\x22);\n});\ndevtools.munging.revert_reserved \x3d (function devtools$munging$revert_reserved(s){\nvar or__5045__auto__ \x3d (function (){var temp__5802__auto__ \x3d cljs.core.re_matches(/(.*)\\$/,s);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nif(cljs.core.truth_(devtools.munging.js_reserved_QMARK_(cljs.core.second(m)))){\nreturn cljs.core.second(m);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn s;\n}\n});\ndevtools.munging.reserved_aware_demunge \x3d (function devtools$munging$reserved_aware_demunge(munged_name){\nreturn devtools.munging.revert_reserved(devtools.munging.dollar_preserving_demunge(munged_name));\n});\ndevtools.munging.proper_demunge \x3d (function devtools$munging$proper_demunge(munged_name){\nreturn devtools.munging.reserved_aware_demunge(munged_name);\n});\ndevtools.munging.proper_arg_demunge \x3d (function devtools$munging$proper_arg_demunge(munged_arg_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_arg_name),/^-(.*)$/,\x22_$1\x22);\n});\ndevtools.munging.proper_ns_demunge \x3d (function devtools$munging$proper_ns_demunge(munged_ns_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_ns_name),\x22$\x22,\x22.\x22);\n});\ndevtools.munging.ns_exists_QMARK_ \x3d (function devtools$munging$ns_exists_QMARK_(ns_module_name){\nif(typeof ns_module_name \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? ns-module-name)\x22));\n}\n\nvar temp__5802__auto__ \x3d (function (){var temp__5802__auto__ \x3d (devtools.munging.get_global_scope.call(null)[\x22goog\x22]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar o14052 \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (o14052[\x22dependencies_\x22]);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar o14053 \x3d temp__5802__auto____$1;\nreturn (o14053[\x22nameToPath\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar goog_namespaces \x3d temp__5802__auto__;\nreturn (!(((goog_namespaces[ns_module_name]) \x3d\x3d null)));\n} else {\nreturn null;\n}\n});\n/**\n * Given a name broken into namespace parts returns [detected-ns remaining-parts],\n * where detected-ns is a string representing longest detected existing namespace and\n * remaining-parts is a vector of remaing input parts not included in the detected-ns concatenation.\n * \n * For given input [\x22cljs\x22 \x22core\x22 \x22first\x22] returns [\x22cljs.core\x22 [\x22first\x22]] (asumming cljs.core exists)\n */\ndevtools.munging.detect_namespace_prefix \x3d (function devtools$munging$detect_namespace_prefix(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14261 \x3d arguments.length;\nvar i__5770__auto___14265 \x3d (0);\nwhile(true){\nif((i__5770__auto___14265 \x3c len__5769__auto___14261)){\nargs__5775__auto__.push((arguments[i__5770__auto___14265]));\n\nvar G__14275 \x3d (i__5770__auto___14265 + (1));\ni__5770__auto___14265 \x3d G__14275;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tokens,p__14063){\nvar vec__14067 \x3d p__14063;\nvar ns_detector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14067,(0),null);\nvar effective_detector \x3d (function (){var or__5045__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nvar remaining_tokens \x3d tokens;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,name_tokens], null);\n} else {\nvar ns_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,remaining_tokens);\nif(cljs.core.truth_((effective_detector.cljs$core$IFn$_invoke$arity$1 ? effective_detector.cljs$core$IFn$_invoke$arity$1(ns_name) : effective_detector.call(null,ns_name)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_name,name_tokens], null);\n} else {\nvar G__14276 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.last(remaining_tokens)], null),name_tokens);\nvar G__14277 \x3d cljs.core.butlast(remaining_tokens);\nname_tokens \x3d G__14276;\nremaining_tokens \x3d G__14277;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(devtools.munging.detect_namespace_prefix.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.detect_namespace_prefix.cljs$lang$applyTo \x3d (function (seq14061){\nvar G__14062 \x3d cljs.core.first(seq14061);\nvar seq14061__$1 \x3d cljs.core.next(seq14061);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14062,seq14061__$1);\n}));\n\ndevtools.munging.normalize_arity \x3d (function devtools$munging$normalize_arity(arity_tokens){\nif((!(cljs.core.empty_QMARK_(arity_tokens)))){\nvar arity \x3d cljs.core.first(arity_tokens);\nvar G__14079 \x3d arity;\nswitch (G__14079) {\ncase \x22variadic\x22:\nreturn arity;\n\nbreak;\ndefault:\nreturn parseInt(arity,(10));\n\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.strip_arity \x3d (function devtools$munging$strip_arity(tokens){\nvar vec__14082 \x3d cljs.core.split_with((function (p1__14081_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(p1__14081_SHARP_,\x22arity\x22);\n}),tokens);\nvar prefix_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14082,(0),null);\nvar arity_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14082,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [prefix_tokens,devtools.munging.normalize_arity(cljs.core.rest(arity_tokens))], null);\n});\ndevtools.munging.parse_protocol \x3d (function devtools$munging$parse_protocol(tokens,detector){\nvar remaining_tokens \x3d tokens;\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens], null);\n} else {\nvar vec__14096 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(remaining_tokens,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([detector], 0));\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14096,(0),null);\nvar name_and_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14096,(1),null);\nif(cljs.core.empty_QMARK_(protocol_ns)){\nvar G__14279 \x3d cljs.core.rest(remaining_tokens);\nvar G__14280 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(name_tokens,cljs.core.first(remaining_tokens));\nremaining_tokens \x3d G__14279;\nname_tokens \x3d G__14280;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens,protocol_ns,cljs.core.first(name_and_method_tokens),cljs.core.rest(name_and_method_tokens)], null);\n}\n}\nbreak;\n}\n});\n/**\n * Given a munged-name from Javascript lands attempts to break it into:\n * [fn-ns fn-name protocol-ns protocol-name protocol-method arity].\n * \n * Protocol and arity elements are optional. Function elements are always present or \x22\x22.\n * \n * examples for input:\n * cljs$core$rest \x3d\x3e [\x27cljs.core\x27, \x27rest\x27]\n * cljs.core.reduce$cljs$core$IFn$_invoke$arity$3 \x3d\x3e [\x27cljs.core\x27 \x27reduce\x27 \x27cljs.core\x27 \x27IFn\x27 \x27_invoke\x27 3]\n */\ndevtools.munging.break_munged_name \x3d (function devtools$munging$break_munged_name(var_args){\nvar G__14101 \x3d arguments.length;\nswitch (G__14101) {\ncase 1:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nif(cljs.core.empty_QMARK_(munged_name)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n} else {\nvar effective_detector \x3d (function (){var or__5045__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar tokens \x3d cljs.core.vec(munged_name.split(/[$.]/));\nvar vec__14110 \x3d devtools.munging.strip_arity(tokens);\nvar tokens__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14110,(0),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14110,(1),null);\nvar vec__14113 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(tokens__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([effective_detector], 0));\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14113,(0),null);\nvar tokens__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14113,(1),null);\nvar vec__14116 \x3d devtools.munging.parse_protocol(tokens__$2,effective_detector);\nvar fn_name_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14116,(0),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14116,(1),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14116,(2),null);\nvar protocol_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14116,(3),null);\nvar fn_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,fn_name_tokens);\nvar protocol_method \x3d (cljs.core.truth_(protocol_method_tokens)?clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,protocol_method_tokens):null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [fn_ns,fn_name,protocol_ns,protocol_name,protocol_method,arity], null);\n}\n}));\n\n(devtools.munging.break_munged_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given a munged-name from Javascript lands attempts to break it into a namespace part and remaining short name.\n * Then applies appropriate demunging on them and returns ClojureScript versions of the names.\n */\ndevtools.munging.break_and_demunge_name \x3d (function devtools$munging$break_and_demunge_name(var_args){\nvar G__14120 \x3d arguments.length;\nswitch (G__14120) {\ncase 1:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nvar result \x3d devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar vec__14121 \x3d result;\nvar munged_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(0),null);\nvar munged_name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(1),null);\nvar munged_protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(2),null);\nvar munged_protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(3),null);\nvar munged_protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14121,(5),null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.munging.proper_ns_demunge(munged_ns),devtools.munging.proper_demunge(munged_name__$1),(cljs.core.truth_(munged_protocol_ns)?devtools.munging.proper_ns_demunge(munged_protocol_ns):null),(cljs.core.truth_(munged_protocol_name)?devtools.munging.proper_demunge(munged_protocol_name):null),(cljs.core.truth_(munged_protocol_method)?devtools.munging.proper_demunge(munged_protocol_method):null),arity], null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given function source code tries to retrieve [ns name \x26 args] on best effort basis, where\n * ns is demunged namespace part of the function name (or \x22\x22 if namespace cannot be detected)\n * name is demunged short name (or \x22\x22 if function is anonymous or name cannot be retrieved)\n * args is optional number of demunged argument names.\n * \n * Please note that this function always returns a vector with something. In worst cases [\x22\x22 \x22\x22].\n * \n */\ndevtools.munging.parse_fn_source_info \x3d (function devtools$munging$parse_fn_source_info(fn_source){\nvar temp__5802__auto__ \x3d devtools.munging.parse_fn_source(fn_source);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__14125 \x3d temp__5802__auto__;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14125,(0),null);\nvar args \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14125,(1),null);\nvar vec__14128 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1(munged_name);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14128,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14128,(1),null);\nvar demunged_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_arg_demunge,clojure.string.trim),clojure.string.split.cljs$core$IFn$_invoke$arity$2(args,/,/));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name], null),demunged_args);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n}\n});\n/**\n * Given Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-source-info (on best effort basis).\n */\ndevtools.munging.parse_fn_info \x3d (function devtools$munging$parse_fn_info(f){\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nreturn devtools.munging.parse_fn_source_info(fn_source);\n});\n/**\n * Given a Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-info (on best effort basis).\n * \n * The difference from parse-fn-info is that this function prefers to read args from arities if available.\n * It recurses arbitrary deep following IFn protocol leads.\n * \n * If we hit multi-arity situation in leaf, we don\x27t attempt to list arguments and return ::multi-arity placeholder instead.\n * \n * The reason for reading arities is that it gives more accurate parameter names in some cases.\n * We observed that variadic functions don\x27t always contain original parameter names, but individual IFn arity functions do.\n */\ndevtools.munging.parse_fn_info_deep \x3d (function devtools$munging$parse_fn_info_deep(f){\nvar fn_info \x3d devtools.munging.parse_fn_info(f);\nvar arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(f) : devtools.munging.collect_fn_arities.call(null,f));\nif((!((arities \x3d\x3d null)))){\nif((cljs.core.count(arities) \x3e (1))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),new cljs.core.Keyword(\x22devtools.munging\x22,\x22multi-arity\x22,\x22devtools.munging/multi-arity\x22,-2011705837));\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),(function (){var G__14138 \x3d cljs.core.second(cljs.core.first(arities));\nreturn (devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1(G__14138) : devtools.munging.parse_fn_info_deep.call(null,G__14138));\n})()));\n}\n} else {\nreturn fn_info;\n}\n});\n/**\n * Given a demunged ClojureScript parameter name. Tries to detect human readable part and returns the index where it ends.\n * Returns nil if no prefix can be detected.\n * \n * The idea is to convert macro-generated parameters and other generated names to more friendly names.\n * We observed that param names generated by gensym have prefix followed by big numbers.\n * Other generated names contain two dashes after prefix (originally probably using underscores).\n */\ndevtools.munging.find_index_of_human_prefix \x3d (function devtools$munging$find_index_of_human_prefix(name){\nvar sep_start \x3d name.indexOf(\x22--\x22);\nvar num_prefix \x3d cljs.core.count(cljs.core.second(cljs.core.re_find(/(.*?)\\d{2,}/,name)));\nvar finds \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.pos_QMARK_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sep_start,num_prefix], null));\nif((!(cljs.core.empty_QMARK_(finds)))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.min,finds);\n} else {\nreturn null;\n}\n});\n/**\n * Given a name and intermediate state. Convert name to a human readable version by keeping human readable prefix with\n * optional subscribt postfix and store it in ::result. Subscript number is picked based on state. State keeps track of\n * previously assigned subscripts. Returns a new state.\n */\ndevtools.munging.humanize_name \x3d (function devtools$munging$humanize_name(state,name){\nvar index \x3d devtools.munging.find_index_of_human_prefix(name);\nvar prefix \x3d (((index \x3e (0)))?name.substring((0),index):name);\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(state,prefix);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar subscript \x3d temp__5802__auto__;\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),devtools.munging.make_subscript(subscript)].join(\x27\x27)),prefix,cljs.core.inc);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,prefix),prefix,(2));\n}\n});\n/**\n * Given a list of names, returns a list of human-readable versions of those names.\n * It detects human-readable prefix using a simple heuristics. When names repeat it assigns simple subscripts starting with 2.\n * Subscripts are assigned left-to-right.\n * \n * Given [\x22p--a\x22 \x22p--b\x22 \x22x\x22 \x22p--c\x22] returns [\x22p\x22 \x22p\u2082\x22 \x22x\x22 \x22p\u2083\x22]\n */\ndevtools.munging.humanize_names \x3d (function devtools$munging$humanize_names(names){\nreturn cljs.core.with_meta(new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166).cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(devtools.munging.humanize_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.PersistentVector.EMPTY], null),names)),cljs.core.meta(names));\n});\ndevtools.munging.collect_fn_fixed_arities \x3d (function devtools$munging$collect_fn_fixed_arities(f,max_arity){\nvar arity \x3d (0);\nvar collection \x3d cljs.core.PersistentArrayMap.EMPTY;\nwhile(true){\nif((arity \x3e max_arity)){\nreturn collection;\n} else {\nvar G__14292 \x3d (arity + (1));\nvar G__14293 \x3d (function (){var temp__5802__auto__ \x3d devtools.munging.get_fn_fixed_arity(f,arity);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arity_fn \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(collection,arity,arity_fn);\n} else {\nreturn collection;\n}\n})();\narity \x3d G__14292;\ncollection \x3d G__14293;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.munging.collect_fn_variadic_arities \x3d (function devtools$munging$collect_fn_variadic_arities(f){\nvar temp__5802__auto__ \x3d devtools.munging.get_fn_variadic_arity(f);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar variadic_arity \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),variadic_arity], null);\n} else {\nreturn null;\n}\n});\ndevtools.munging.review_arity \x3d (function devtools$munging$review_arity(p__14150){\nvar vec__14151 \x3d p__14150;\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14151,(0),null);\nvar arity_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14151,(1),null);\nvar sub_arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(arity_fn) : devtools.munging.collect_fn_arities.call(null,arity_fn));\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(sub_arities))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),arity_fn], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arity,arity_fn], null);\n}\n});\n/**\n * Some arities can be marked as fixed arity but in fact point to a variadic-arity function. We want to detect this case\n * and turn such improperly categorized arities to ::variadic.\n */\ndevtools.munging.review_arities \x3d (function devtools$munging$review_arities(arities){\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(arities))){\nreturn arities;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.review_arity,arities));\n}\n});\n/**\n * Given a Javascript function object, tries to inspect known arity properties generated by ClojureScript compiler and\n * collects all available arity functions into a map. Arities are keyed by arity count and variadic arity gets ::variadic key.\n */\ndevtools.munging.collect_fn_arities \x3d (function devtools$munging$collect_fn_arities(f){\nvar max_fixed_arity \x3d devtools.munging.get_fn_max_fixed_arity(f);\nvar fixed_arities \x3d devtools.munging.collect_fn_fixed_arities(f,(function (){var or__5045__auto__ \x3d max_fixed_arity;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.munging.max_fixed_arity_to_scan;\n}\n})());\nvar variadic_arities \x3d devtools.munging.collect_fn_variadic_arities(f);\nvar arities \x3d devtools.munging.review_arities(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fixed_arities,variadic_arities], 0)));\nif((!(cljs.core.empty_QMARK_(arities)))){\nreturn arities;\n} else {\nreturn null;\n}\n});\n/**\n * ::variadic goes last, other keywords compare by name.\n */\ndevtools.munging.arity_keywords_comparator \x3d (function devtools$munging$arity_keywords_comparator(x,y){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),x)){\nreturn (1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),y)){\nreturn (-1);\n} else {\nreturn cljs.core.compare(cljs.core.name(x),cljs.core.name(y));\n\n}\n}\n});\n/**\n * numbers go first (ordered), then keywords (ordered by name), and then ::variadic sticks last\n */\ndevtools.munging.arities_key_comparator \x3d (function devtools$munging$arities_key_comparator(x,y){\nvar kx_QMARK_ \x3d (x instanceof cljs.core.Keyword);\nvar ky_QMARK_ \x3d (y instanceof cljs.core.Keyword);\nif(((kx_QMARK_) \x26\x26 (ky_QMARK_))){\nreturn devtools.munging.arity_keywords_comparator(x,y);\n} else {\nif(kx_QMARK_){\nreturn (1);\n} else {\nif(ky_QMARK_){\nreturn (-1);\n} else {\nreturn cljs.core.compare(x,y);\n\n}\n}\n}\n});\ndevtools.munging.arities_to_args_lists_STAR_ \x3d (function devtools$munging$arities_to_args_lists_STAR_(arities){\nvar sorted_keys \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.arities_key_comparator,cljs.core.keys(arities));\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14164_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,p1__14164_SHARP_);\n}),sorted_keys);\nvar sorted_infos \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.parse_fn_info_deep,sorted_fns);\nvar sorted_args_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14165_SHARP_){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),p1__14165_SHARP_);\n}),sorted_infos);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.last(sorted_keys),new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast(sorted_args_lists),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.last(sorted_args_lists),cljs.core.assoc,new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),true)], null));\n} else {\nreturn sorted_args_lists;\n}\n});\n/**\n * Given a map of arity functions. Tries to parse individual functions and prepare an arguments list for each arity.\n * Returned list of arguments list is sorted by arity count, variadic arity goes last if available.\n * \n * The function also optionally humanizes argument names in each arguments list if requested.\n */\ndevtools.munging.arities_to_args_lists \x3d (function devtools$munging$arities_to_args_lists(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14301 \x3d arguments.length;\nvar i__5770__auto___14302 \x3d (0);\nwhile(true){\nif((i__5770__auto___14302 \x3c len__5769__auto___14301)){\nargs__5775__auto__.push((arguments[i__5770__auto___14302]));\n\nvar G__14303 \x3d (i__5770__auto___14302 + (1));\ni__5770__auto___14302 \x3d G__14303;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic \x3d (function (arities,p__14189){\nvar vec__14190 \x3d p__14189;\nvar humanize_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14190,(0),null);\nvar args_lists \x3d devtools.munging.arities_to_args_lists_STAR_(arities);\nif(cljs.core.truth_(humanize_QMARK_)){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.humanize_names,args_lists);\n} else {\nreturn args_lists;\n}\n}));\n\n(devtools.munging.arities_to_args_lists.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.arities_to_args_lists.cljs$lang$applyTo \x3d (function (seq14170){\nvar G__14180 \x3d cljs.core.first(seq14170);\nvar seq14170__$1 \x3d cljs.core.next(seq14170);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14180,seq14170__$1);\n}));\n\n/**\n * Converts a list of arguments lists into a list of strings suitable for UI presentation.\n */\ndevtools.munging.args_lists_to_strings \x3d (function devtools$munging$args_lists_to_strings(args_lists,spacer_symbol,multi_arity_symbol,rest_symbol){\nvar string_mapper \x3d (function (arg){\nvar G__14194 \x3d arg;\nvar G__14194__$1 \x3d (((G__14194 instanceof cljs.core.Keyword))?G__14194.fqn:null);\nswitch (G__14194__$1) {\ncase \x22devtools.munging/multi-arity\x22:\nreturn multi_arity_symbol;\n\nbreak;\ndefault:\nreturn arg;\n\n}\n});\nvar printer \x3d (function (args_list){\nvar variadic_QMARK_ \x3d new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(args_list));\nvar args_strings \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(string_mapper,args_list);\nreturn [clojure.string.join.cljs$core$IFn$_invoke$arity$2(spacer_symbol,cljs.core.butlast(args_strings)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(variadic_QMARK_)?rest_symbol:spacer_symbol)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(args_strings))].join(\x27\x27);\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.string.trim,cljs.core.map.cljs$core$IFn$_invoke$arity$2(printer,args_lists));\n});\ndevtools.munging.extract_arities \x3d (function devtools$munging$extract_arities(f,humanize_QMARK_,spacer_symbol,multi_arity_symbol,rest_symbol){\nreturn devtools.munging.args_lists_to_strings(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((function (){var or__5045__auto__ \x3d devtools.munging.collect_fn_arities(f);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22naked\x22,\x22naked\x22,373474222),f], null);\n}\n})(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([humanize_QMARK_], 0)),spacer_symbol,multi_arity_symbol,rest_symbol);\n});\ndevtools.munging.common_protocol_QMARK_ \x3d (function devtools$munging$common_protocol_QMARK_(protocol_ns,protocol_name){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_ns,\x22cljs.core\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_name,\x22IFn\x22)));\n});\ndevtools.munging.present_fn_part \x3d (function devtools$munging$present_fn_part(fn_ns,fn_name,include_ns_QMARK_){\nreturn [(cljs.core.truth_((function (){var and__5043__auto__ \x3d include_ns_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(cljs.core.empty_QMARK_(fn_ns)));\n} else {\nreturn and__5043__auto__;\n}\n})())?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_ns),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_name)].join(\x27\x27);\n});\ndevtools.munging.present_protocol_part \x3d (function devtools$munging$present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(include_protocol_ns_QMARK_)?protocol_ns:null)),(((!(cljs.core.empty_QMARK_(protocol_name))))?[(cljs.core.truth_(include_protocol_ns_QMARK_)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27):null),(((!(cljs.core.empty_QMARK_(protocol_method))))?[(cljs.core.truth_((function (){var or__5045__auto__ \x3d include_protocol_ns_QMARK_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (!(cljs.core.empty_QMARK_(protocol_name)));\n}\n})())?\x22:\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_method)].join(\x27\x27):null)].join(\x27\x27);\n});\n/**\n * Given javascript function name tries to present it as plain string for display in UI on best effort basis.\n */\ndevtools.munging.present_function_name \x3d (function devtools$munging$present_function_name(munged_name,options){\nvar map__14200 \x3d options;\nvar map__14200__$1 \x3d cljs.core.__destructure_map(map__14200);\nvar include_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14200__$1,new cljs.core.Keyword(null,\x22include-ns?\x22,\x22include-ns?\x22,-341372810));\nvar include_protocol_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14200__$1,new cljs.core.Keyword(null,\x22include-protocol-ns?\x22,\x22include-protocol-ns?\x22,989250951));\nvar silence_common_protocols_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14200__$1,new cljs.core.Keyword(null,\x22silence-common-protocols?\x22,\x22silence-common-protocols?\x22,2012431893));\nvar ns_detector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14200__$1,new cljs.core.Keyword(null,\x22ns-detector\x22,\x22ns-detector\x22,-2041592760));\nvar vec__14201 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(0),null);\nvar fn_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(1),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(2),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(3),null);\nvar protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14201,(5),null);\nvar arity_str \x3d (((!((arity \x3d\x3d null))))?((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arity,\x22variadic\x22))?\x22\\u207F\x22:devtools.munging.make_superscript(arity)):null);\nif(cljs.core.empty_QMARK_(fn_name)){\nreturn munged_name;\n} else {\nvar fn_part \x3d devtools.munging.present_fn_part(fn_ns,fn_name,include_ns_QMARK_);\nvar protocol_part \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d protocol_ns;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not((function (){var and__5043__auto____$1 \x3d silence_common_protocols_QMARK_;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn devtools.munging.common_protocol_QMARK_(protocol_ns,protocol_name);\n} else {\nreturn and__5043__auto____$1;\n}\n})());\n} else {\nreturn and__5043__auto__;\n}\n})())?devtools.munging.present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_):null);\nreturn [(function (){var or__5045__auto__ \x3d protocol_part;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn fn_part;\n}\n})(),arity_str,(cljs.core.truth_(protocol_part)?[\x22 (\x22,fn_part,\x22)\x22].join(\x27\x27):null)].join(\x27\x27);\n}\n});\ndevtools.munging.get_basis \x3d (function devtools$munging$get_basis(f){\nvar o__11939__auto__ \x3d f;\nreturn (o__11939__auto__[\x22getBasis\x22]).call(o__11939__auto__);\n});\n/**\n * Given a Javascript constructor function tries to retrieve [ns name basis]. Returns nil if not a cljs type.\n */\ndevtools.munging.parse_constructor_info \x3d (function devtools$munging$parse_constructor_info(f){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar type_name \x3d devtools.munging.get_type_name(f);\nvar parts \x3d type_name.split(/\\//);\nvar basis \x3d (function (){try{return devtools.munging.get_basis(f);\n}catch (e14207){var _e__11955__auto__ \x3d e14207;\nreturn cljs.core.PersistentVector.EMPTY;\n}})();\nif((cljs.core.count(parts) \x3c\x3d (2))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c\x3d (count parts) 2)\x22));\n}\n\nwhile(true){\nif((cljs.core.count(parts) \x3c (2))){\nparts.unshift(null);\n\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(parts),basis);\n} else {\nreturn null;\n}\n});\ndevtools.munging.protocol_path \x3d (function devtools$munging$protocol_path(protocol_selector){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(protocol_selector,/\\./);\n});\ndevtools.munging.get_protocol_object \x3d (function devtools$munging$get_protocol_object(protocol_selector){\nvar obj \x3d devtools.munging.get_global_scope.call(null);\nvar path \x3d devtools.munging.protocol_path(protocol_selector);\nwhile(true){\nif(cljs.core.empty_QMARK_(path)){\nreturn obj;\n} else {\nif(cljs.core.truth_(goog.isObject(obj))){\nvar G__14307 \x3d (obj[cljs.core.first(path)]);\nvar G__14308 \x3d cljs.core.rest(path);\nobj \x3d G__14307;\npath \x3d G__14308;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.munging.protocol_exists_QMARK_ \x3d (function devtools$munging$protocol_exists_QMARK_(protocol_selector){\nreturn (!((devtools.munging.get_protocol_object(protocol_selector) \x3d\x3d null)));\n});\ndevtools.munging.get_protocol_selector \x3d (function devtools$munging$get_protocol_selector(key){\nvar temp__5802__auto__ \x3d cljs.core.re_matches(/(.*)\\$$/,key);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar m \x3d temp__5802__auto__;\nif((!(clojure.string.includes_QMARK_(key,\x22cljs$lang$protocol_mask$partition\x22)))){\nvar protocol_selector \x3d clojure.string.replace(cljs.core.second(m),\x22$\x22,\x22.\x22);\nif(devtools.munging.protocol_exists_QMARK_(protocol_selector)){\nreturn protocol_selector;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.demunge_protocol_selector \x3d (function devtools$munging$demunge_protocol_selector(protocol_selector){\nvar parts \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_demunge,devtools.munging.protocol_path(protocol_selector));\nvar _ \x3d (((cljs.core.count(parts) \x3e\x3d (2)))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22expected protocol selector to contain at least one dot: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_selector),\x22\x27\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3e\x3d (count parts) 2)\x22].join(\x27\x27)))})());\nvar ns \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,cljs.core.butlast(parts));\nvar name \x3d cljs.core.last(parts);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name,protocol_selector], null);\n});\ndevtools.munging.fast_path_protocols_lookup_table \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [(0),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(524288),(128),(1048576),(1),(32768),(4),(268435456),(512),(33554432),(32),(256),(1024),(134217728),(16777216),(64),(262144),(2),(4194304),(131072),(67108864),(8388608),(16),(2097152),(1073741824),(2147483648),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IStack\x22,\x22cljs.core.IStack\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISet\x22,\x22cljs.core.ISet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReduce\x22,\x22cljs.core.IReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INext\x22,\x22cljs.core.INext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IKVReduce\x22,\x22cljs.core.IKVReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IFn\x22,\x22cljs.core.IFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDeref\x22,\x22cljs.core.IDeref\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEmptyableCollection\x22,\x22cljs.core.IEmptyableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISorted\x22,\x22cljs.core.ISorted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAssociative\x22,\x22cljs.core.IAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IList\x22,\x22cljs.core.IList\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ASeq\x22,\x22cljs.core.ASeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ILookup\x22,\x22cljs.core.ILookup\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMap\x22,\x22cljs.core.IMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReversible\x22,\x22cljs.core.IReversible\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISequential\x22,\x22cljs.core.ISequential\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeq\x22,\x22cljs.core.ISeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWithMeta\x22,\x22cljs.core.IWithMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICounted\x22,\x22cljs.core.ICounted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IHash\x22,\x22cljs.core.IHash\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMeta\x22,\x22cljs.core.IMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IRecord\x22,\x22cljs.core.IRecord\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeqable\x22,\x22cljs.core.ISeqable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIndexed\x22,\x22cljs.core.IIndexed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEquiv\x22,\x22cljs.core.IEquiv\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWriter\x22,\x22cljs.core.IWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPrintWithWriter\x22,\x22cljs.core.IPrintWithWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMapEntry\x22,\x22cljs.core.IMapEntry\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICollection\x22,\x22cljs.core.ICollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDerefWithTimeout\x22,\x22cljs.core.IDerefWithTimeout\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IVector\x22,\x22cljs.core.IVector\x22], null)]),(1),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(128),(1),(32768),(4),(512),(32),(256),(1024),(64),(2),(131072),(16),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICloneable\x22,\x22cljs.core.ICloneable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INamed\x22,\x22cljs.core.INamed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientSet\x22,\x22cljs.core.ITransientSet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPending\x22,\x22cljs.core.IPending\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReset\x22,\x22cljs.core.IReset\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEditableCollection\x22,\x22cljs.core.IEditableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedSeq\x22,\x22cljs.core.IChunkedSeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientMap\x22,\x22cljs.core.ITransientMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMultiFn\x22,\x22cljs.core.IMultiFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedNext\x22,\x22cljs.core.IChunkedNext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientVector\x22,\x22cljs.core.ITransientVector\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWatchable\x22,\x22cljs.core.IWatchable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIterable\x22,\x22cljs.core.IIterable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientAssociative\x22,\x22cljs.core.ITransientAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IComparable\x22,\x22cljs.core.IComparable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientCollection\x22,\x22cljs.core.ITransientCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISwap\x22,\x22cljs.core.ISwap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAtom\x22,\x22cljs.core.IAtom\x22], null)])], null);\n}),null));\ndevtools.munging.key_for_protocol_partition \x3d (function devtools$munging$key_for_protocol_partition(partition){\nreturn [\x22cljs$lang$protocol_mask$partition\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition),\x22$\x22].join(\x27\x27);\n});\ndevtools.munging.scan_fast_path_protocols_partition \x3d (function devtools$munging$scan_fast_path_protocols_partition(obj,partition){\nif(typeof partition \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? partition)\x22));\n}\n\nvar partition_key \x3d devtools.munging.key_for_protocol_partition(partition);\nvar partition_bits \x3d (function (){var or__5045__auto__ \x3d (obj[partition_key]);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})();\nif((partition_bits \x3e (0))){\nvar lookup_table \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.munging.fast_path_protocols_lookup_table),partition);\nvar _ \x3d ((cljs.core.map_QMARK_(lookup_table))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22fast-path-protocols-lookup-table does not contain lookup table for partition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition)].join(\x27\x27),\x22\\n\x22,\x22(map? lookup-table)\x22].join(\x27\x27)))})());\nvar _STAR_ \x3d (function (accum,p__14214){\nvar vec__14218 \x3d p__14214;\nvar bit \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14218,(0),null);\nvar protocol \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14218,(1),null);\nif(((partition_bits \x26 bit) \x3d\x3d\x3d (0))){\nreturn accum;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(accum,protocol);\n}\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.PersistentVector.EMPTY,lookup_table);\n} else {\nreturn null;\n}\n});\ndevtools.munging.scan_fast_path_protocols \x3d (function devtools$munging$scan_fast_path_protocols(obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.scan_fast_path_protocols_partition,obj),cljs.core.range.cljs$core$IFn$_invoke$arity$1((2))));\n});\ndevtools.munging.scan_slow_path_protocols \x3d (function devtools$munging$scan_slow_path_protocols(obj){\nvar keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar selectors \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.munging.get_protocol_selector,keys);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.demunge_protocol_selector,selectors);\n});\ndevtools.munging.make_protocol_descriptor \x3d (function devtools$munging$make_protocol_descriptor(ns,name,selector,fast_QMARK_){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),selector,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150),fast_QMARK_], null);\n});\ndevtools.munging.convert_to_protocol_descriptor \x3d (function devtools$munging$convert_to_protocol_descriptor(fast_QMARK_,p__14234){\nvar vec__14235 \x3d p__14234;\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14235,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14235,(1),null);\nvar selector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14235,(2),null);\nreturn devtools.munging.make_protocol_descriptor(ns,name,selector,fast_QMARK_);\n});\ndevtools.munging.protocol_descriptors_comparator \x3d (function devtools$munging$protocol_descriptors_comparator(a,b){\nreturn cljs.core.compare(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(b));\n});\ndevtools.munging.scan_protocols \x3d (function devtools$munging$scan_protocols(obj){\nvar fast_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,true),devtools.munging.scan_fast_path_protocols(obj));\nvar slow_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,false),devtools.munging.scan_slow_path_protocols(obj));\nvar all_protocols \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fast_path_protocols,slow_path_protocols);\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.protocol_descriptors_comparator,all_protocols);\n});\ndevtools.munging.collect_protocol_methods \x3d (function devtools$munging$collect_protocol_methods(obj,protocol_selector){\nvar key_prefix \x3d clojure.string.replace(protocol_selector,/\\./,\x22\\\\$\x22);\nvar pattern \x3d cljs.core.re_pattern([\x22^\x22,key_prefix,\x22\\\\$(.*)\\\\$arity\\\\$(\\\\d+)$\x22].join(\x27\x27));\nvar all_keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar matches \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.re_matches,pattern),all_keys);\nvar methods$ \x3d cljs.core.group_by(cljs.core.second,matches);\nvar match_to_arity \x3d (function (match){\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(match,(2));\nreturn parseInt(arity,(10));\n});\nvar match_arity_comparator \x3d (function (a,b){\nreturn cljs.core.compare(match_to_arity(a),match_to_arity(b));\n});\nvar post_process \x3d (function (p__14248){\nvar vec__14249 \x3d p__14248;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14249,(0),null);\nvar matches__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14249,(1),null);\nvar name \x3d devtools.munging.proper_demunge(munged_name);\nvar sorted_matches \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(match_arity_comparator,matches__$1);\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__14244_SHARP_){\nreturn (obj[cljs.core.first(p1__14244_SHARP_)]);\n}),sorted_matches);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,sorted_fns], null);\n});\nvar by_name_comparator \x3d (function (a,b){\nreturn cljs.core.compare(cljs.core.first(a),cljs.core.first(b));\n});\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(by_name_comparator,cljs.core.map.cljs$core$IFn$_invoke$arity$2(post_process,methods$));\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.helpers.js", true , "goog.provide(\x27devtools.formatters.helpers\x27);\ndevtools.formatters.helpers.pref \x3d (function devtools$formatters$helpers$pref(v){\nwhile(true){\nif((v instanceof cljs.core.Keyword)){\nvar G__14309 \x3d devtools.prefs.pref(v);\nv \x3d G__14309;\ncontinue;\n} else {\nreturn v;\n}\nbreak;\n}\n});\ndevtools.formatters.helpers.get_prototype \x3d (function devtools$formatters$helpers$get_prototype(o){\nreturn o.prototype;\n});\ndevtools.formatters.helpers.get_constructor \x3d (function devtools$formatters$helpers$get_constructor(o){\nreturn o.constructor;\n});\ndevtools.formatters.helpers.is_prototype_QMARK_ \x3d (function devtools$formatters$helpers$is_prototype_QMARK_(o){\nreturn (devtools.formatters.helpers.get_prototype(devtools.formatters.helpers.get_constructor(o)) \x3d\x3d\x3d o);\n});\ndevtools.formatters.helpers.is_js_symbol_QMARK_ \x3d (function devtools$formatters$helpers$is_js_symbol_QMARK_(o){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(goog.typeOf(o),\x22symbol\x22);\n});\ndevtools.formatters.helpers.cljs_function_QMARK_ \x3d (function devtools$formatters$helpers$cljs_function_QMARK_(value){\nvar and__5043__auto__ \x3d cljs.core.not(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837)));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (!(cljs.core.var_QMARK_(value)));\nif(and__5043__auto____$1){\nreturn devtools.munging.cljs_fn_QMARK_(value);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.helpers.has_formatting_protocol_QMARK_ \x3d (function devtools$formatters$helpers$has_formatting_protocol_QMARK_(value){\nvar or__5045__auto__ \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n}\n}catch (e14282){var _e__11955__auto__ \x3d e14282;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e14285){var _e__11955__auto__ \x3d e14285;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\ntry{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e14287){var _e__11955__auto__ \x3d e14287;\nreturn false;\n}}\n}\n});\ndevtools.formatters.helpers.cljs_type_QMARK_ \x3d (function devtools$formatters$helpers$cljs_type_QMARK_(f){\nvar and__5043__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (!(devtools.formatters.helpers.is_prototype_QMARK_(f)));\nif(and__5043__auto____$1){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_instance_QMARK_ \x3d (function devtools$formatters$helpers$cljs_instance_QMARK_(value){\nvar and__5043__auto__ \x3d goog.isObject(value);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn devtools.formatters.helpers.cljs_type_QMARK_(devtools.formatters.helpers.get_constructor(value));\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_land_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_land_value_QMARK_(value){\nvar or__5045__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.has_formatting_protocol_QMARK_(value);\n}\n});\ndevtools.formatters.helpers.cljs_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_value_QMARK_(value){\nvar and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d devtools.formatters.helpers.cljs_land_value_QMARK_(value);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.cljs_function_QMARK_(value);\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((!(devtools.formatters.helpers.is_prototype_QMARK_(value)))) \x26\x26 ((!(devtools.formatters.helpers.is_js_symbol_QMARK_(value)))));\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.helpers.bool_QMARK_ \x3d (function devtools$formatters$helpers$bool_QMARK_(value){\nreturn ((value \x3d\x3d\x3d true) || (value \x3d\x3d\x3d false));\n});\ndevtools.formatters.helpers.instance_of_a_well_known_type_QMARK_ \x3d (function devtools$formatters$helpers$instance_of_a_well_known_type_QMARK_(value){\nvar well_known_types \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649));\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__14289 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14289,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14289,(1),null);\nvar fully_qualified_type_name \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27);\nreturn cljs.core.contains_QMARK_(well_known_types,fully_qualified_type_name);\n});\ndevtools.formatters.helpers.should_render_instance_QMARK_ \x3d (function devtools$formatters$helpers$should_render_instance_QMARK_(value){\nvar and__5043__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(value)));\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.helpers.directly_printable_QMARK_ \x3d (function devtools$formatters$helpers$directly_printable_QMARK_(value){\nreturn ((typeof value \x3d\x3d\x3d \x27string\x27) || (((typeof value \x3d\x3d\x3d \x27number\x27) || (devtools.formatters.helpers.bool_QMARK_(value)))));\n});\ndevtools.formatters.helpers.abbreviated_QMARK_ \x3d (function devtools$formatters$helpers$abbreviated_QMARK_(template){\nreturn cljs.core.some((function (p1__14294_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935)),p1__14294_SHARP_);\n}),template);\n});\ndevtools.formatters.helpers.abbreviate_long_string \x3d (function devtools$formatters$helpers$abbreviate_long_string(string,marker,prefix_limit,postfix_limit){\nvar prefix \x3d string.slice((0),prefix_limit);\nvar postfix \x3d string.slice((string.length - postfix_limit));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),cljs.core.str.cljs$core$IFn$_invoke$arity$1(marker),cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.formatters.helpers.get_more_marker \x3d (function devtools$formatters$helpers$get_more_marker(more_count){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(more_count),cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242)))].join(\x27\x27);\n});\ndevtools.formatters.helpers.wrap_arity \x3d (function devtools$formatters$helpers$wrap_arity(arity){\nvar args_open_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557));\nvar args_close_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_open_symbol),cljs.core.str.cljs$core$IFn$_invoke$arity$1(arity),cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_close_symbol)].join(\x27\x27);\n});\ndevtools.formatters.helpers.fetch_field_value \x3d (function devtools$formatters$helpers$fetch_field_value(obj,field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(obj[cljs.core.munge(field)])], null);\n});\ndevtools.formatters.helpers.fetch_fields_values \x3d (function devtools$formatters$helpers$fetch_fields_values(obj,fields){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.fetch_field_value,obj),fields);\n});\ndevtools.formatters.helpers.expandable_QMARK_ \x3d (function devtools$formatters$helpers$expandable_QMARK_(obj){\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$ISeqable$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj))){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(((devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(obj))?new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081):new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar min_count \x3d temp__5802__auto__;\nif((!(cljs.core.empty_QMARK_(obj)))){\nvar actual_count \x3d cljs.core.bounded_count(min_count,obj);\nreturn (actual_count \x3e\x3d min_count);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.helpers.should_render_QMARK_ \x3d (function devtools$formatters$helpers$should_render_QMARK_(pref_key,value,default_check){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(pref_key);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar render_pref \x3d temp__5802__auto__;\nif(render_pref \x3d\x3d\x3d true){\nreturn (default_check.cljs$core$IFn$_invoke$arity$1 ? default_check.cljs$core$IFn$_invoke$arity$1(value) : default_check.call(null,value));\n} else {\nif(cljs.core.fn_QMARK_(render_pref)){\nreturn (render_pref.cljs$core$IFn$_invoke$arity$1 ? render_pref.cljs$core$IFn$_invoke$arity$1(value) : render_pref.call(null,value));\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.state.js", true , "goog.provide(\x27devtools.formatters.state\x27);\ndevtools.formatters.state._STAR_current_state_STAR_ \x3d null;\ndevtools.formatters.state.valid_current_state_QMARK_ \x3d (function devtools$formatters$state$valid_current_state_QMARK_(){\nreturn (!((devtools.formatters.state._STAR_current_state_STAR_ \x3d\x3d null)));\n});\ndevtools.formatters.state.get_default_state \x3d (function devtools$formatters$state$get_default_state(){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n});\ndevtools.formatters.state.get_current_state \x3d (function devtools$formatters$state$get_current_state(){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn devtools.formatters.state._STAR_current_state_STAR_;\n});\ndevtools.formatters.state.update_current_state_BANG_ \x3d (function devtools$formatters$state$update_current_state_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14107 \x3d arguments.length;\nvar i__5770__auto___14108 \x3d (0);\nwhile(true){\nif((i__5770__auto___14108 \x3c len__5769__auto___14107)){\nargs__5775__auto__.push((arguments[i__5770__auto___14108]));\n\nvar G__14109 \x3d (i__5770__auto___14108 + (1));\ni__5770__auto___14108 \x3d G__14109;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn (devtools.formatters.state._STAR_current_state_STAR_ \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.formatters.state._STAR_current_state_STAR_,args));\n}));\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$applyTo \x3d (function (seq14064){\nvar G__14065 \x3d cljs.core.first(seq14064);\nvar seq14064__$1 \x3d cljs.core.next(seq14064);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14065,seq14064__$1);\n}));\n\ndevtools.formatters.state.push_object_to_current_history_BANG_ \x3d (function devtools$formatters$state$push_object_to_current_history_BANG_(object){\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.conj,object], 0));\n});\ndevtools.formatters.state.get_current_history \x3d (function devtools$formatters$state$get_current_history(){\nreturn new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.is_circular_QMARK_ \x3d (function devtools$formatters$state$is_circular_QMARK_(object){\nvar history__$1 \x3d devtools.formatters.state.get_current_history();\nreturn cljs.core.some((function (p1__14080_SHARP_){\nreturn (p1__14080_SHARP_ \x3d\x3d\x3d object);\n}),history__$1);\n});\ndevtools.formatters.state.prevent_recursion_QMARK_ \x3d (function devtools$formatters$state$prevent_recursion_QMARK_(){\nreturn cljs.core.boolean$(new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state()));\n});\ndevtools.formatters.state.set_prevent_recursion \x3d (function devtools$formatters$state$set_prevent_recursion(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606));\n}\n});\ndevtools.formatters.state.get_managed_print_level \x3d (function devtools$formatters$state$get_managed_print_level(){\nreturn new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_managed_print_level \x3d (function devtools$formatters$state$set_managed_print_level(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473));\n}\n});\ndevtools.formatters.state.get_depth_budget \x3d (function devtools$formatters$state$get_depth_budget(){\nreturn new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_depth_budget \x3d (function devtools$formatters$state$set_depth_budget(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888));\n}\n});\ndevtools.formatters.state.reset_depth_limits \x3d (function devtools$formatters$state$reset_depth_limits(state){\nreturn devtools.formatters.state.set_managed_print_level(devtools.formatters.state.set_depth_budget(state,null),null);\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.templating.js", true , "goog.provide(\x27devtools.formatters.templating\x27);\ndevtools.formatters.templating.mark_as_group_BANG_ \x3d (function devtools$formatters$templating$mark_as_group_BANG_(value){\nvar x14892_15076 \x3d value;\n(x14892_15076.devtools$protocols$IGroup$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.group_QMARK_ \x3d (function devtools$formatters$templating$group_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IGroup$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n}\n});\ndevtools.formatters.templating.mark_as_template_BANG_ \x3d (function devtools$formatters$templating$mark_as_template_BANG_(value){\nvar x14933_15077 \x3d value;\n(x14933_15077.devtools$protocols$ITemplate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.template_QMARK_ \x3d (function devtools$formatters$templating$template_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ITemplate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n}\n});\ndevtools.formatters.templating.mark_as_surrogate_BANG_ \x3d (function devtools$formatters$templating$mark_as_surrogate_BANG_(value){\nvar x14939_15078 \x3d value;\n(x14939_15078.devtools$protocols$ISurrogate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.surrogate_QMARK_ \x3d (function devtools$formatters$templating$surrogate_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ISurrogate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n}\n});\ndevtools.formatters.templating.reference_QMARK_ \x3d (function devtools$formatters$templating$reference_QMARK_(value){\nreturn ((devtools.formatters.templating.group_QMARK_(value)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((value[(0)]),\x22object\x22)));\n});\ndevtools.formatters.templating.make_group \x3d (function devtools$formatters$templating$make_group(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15079 \x3d arguments.length;\nvar i__5770__auto___15080 \x3d (0);\nwhile(true){\nif((i__5770__auto___15080 \x3c len__5769__auto___15079)){\nargs__5775__auto__.push((arguments[i__5770__auto___15080]));\n\nvar G__15081 \x3d (i__5770__auto___15080 + (1));\ni__5770__auto___15080 \x3d G__15081;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items){\nvar group \x3d devtools.formatters.templating.mark_as_group_BANG_([]);\nvar seq__14950_15082 \x3d cljs.core.seq(items);\nvar chunk__14951_15083 \x3d null;\nvar count__14952_15084 \x3d (0);\nvar i__14953_15085 \x3d (0);\nwhile(true){\nif((i__14953_15085 \x3c count__14952_15084)){\nvar item_15086 \x3d chunk__14951_15083.cljs$core$IIndexed$_nth$arity$2(null,i__14953_15085);\nif((!((item_15086 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_15086)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_15086)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_15086));\n}\n} else {\n}\n\n\nvar G__15098 \x3d seq__14950_15082;\nvar G__15099 \x3d chunk__14951_15083;\nvar G__15100 \x3d count__14952_15084;\nvar G__15101 \x3d (i__14953_15085 + (1));\nseq__14950_15082 \x3d G__15098;\nchunk__14951_15083 \x3d G__15099;\ncount__14952_15084 \x3d G__15100;\ni__14953_15085 \x3d G__15101;\ncontinue;\n} else {\nvar temp__5804__auto___15102 \x3d cljs.core.seq(seq__14950_15082);\nif(temp__5804__auto___15102){\nvar seq__14950_15104__$1 \x3d temp__5804__auto___15102;\nif(cljs.core.chunked_seq_QMARK_(seq__14950_15104__$1)){\nvar c__5568__auto___15105 \x3d cljs.core.chunk_first(seq__14950_15104__$1);\nvar G__15106 \x3d cljs.core.chunk_rest(seq__14950_15104__$1);\nvar G__15107 \x3d c__5568__auto___15105;\nvar G__15108 \x3d cljs.core.count(c__5568__auto___15105);\nvar G__15109 \x3d (0);\nseq__14950_15082 \x3d G__15106;\nchunk__14951_15083 \x3d G__15107;\ncount__14952_15084 \x3d G__15108;\ni__14953_15085 \x3d G__15109;\ncontinue;\n} else {\nvar item_15110 \x3d cljs.core.first(seq__14950_15104__$1);\nif((!((item_15110 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_15110)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_15110)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_15110));\n}\n} else {\n}\n\n\nvar G__15111 \x3d cljs.core.next(seq__14950_15104__$1);\nvar G__15112 \x3d null;\nvar G__15113 \x3d (0);\nvar G__15114 \x3d (0);\nseq__14950_15082 \x3d G__15111;\nchunk__14951_15083 \x3d G__15112;\ncount__14952_15084 \x3d G__15113;\ni__14953_15085 \x3d G__15114;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn group;\n}));\n\n(devtools.formatters.templating.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_group.cljs$lang$applyTo \x3d (function (seq14949){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14949));\n}));\n\ndevtools.formatters.templating.make_template \x3d (function devtools$formatters$templating$make_template(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15115 \x3d arguments.length;\nvar i__5770__auto___15116 \x3d (0);\nwhile(true){\nif((i__5770__auto___15116 \x3c len__5769__auto___15115)){\nargs__5775__auto__.push((arguments[i__5770__auto___15116]));\n\nvar G__15117 \x3d (i__5770__auto___15116 + (1));\ni__5770__auto___15116 \x3d G__15117;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tag,style,children){\nvar tag__$1 \x3d devtools.formatters.helpers.pref(tag);\nvar style__$1 \x3d devtools.formatters.helpers.pref(style);\nvar template \x3d devtools.formatters.templating.mark_as_template_BANG_([tag__$1,((cljs.core.empty_QMARK_(style__$1))?({}):({\x22style\x22: style__$1}))]);\nvar seq__14967_15118 \x3d cljs.core.seq(children);\nvar chunk__14968_15119 \x3d null;\nvar count__14969_15120 \x3d (0);\nvar i__14970_15121 \x3d (0);\nwhile(true){\nif((i__14970_15121 \x3c count__14969_15120)){\nvar child_15122 \x3d chunk__14968_15119.cljs$core$IIndexed$_nth$arity$2(null,i__14970_15121);\nif((!((child_15122 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_15122)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_15122))));\n} else {\nvar temp__5802__auto___15124 \x3d devtools.formatters.helpers.pref(child_15122);\nif(cljs.core.truth_(temp__5802__auto___15124)){\nvar child_value_15125 \x3d temp__5802__auto___15124;\ntemplate.push(child_value_15125);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__15126 \x3d seq__14967_15118;\nvar G__15127 \x3d chunk__14968_15119;\nvar G__15128 \x3d count__14969_15120;\nvar G__15129 \x3d (i__14970_15121 + (1));\nseq__14967_15118 \x3d G__15126;\nchunk__14968_15119 \x3d G__15127;\ncount__14969_15120 \x3d G__15128;\ni__14970_15121 \x3d G__15129;\ncontinue;\n} else {\nvar temp__5804__auto___15130 \x3d cljs.core.seq(seq__14967_15118);\nif(temp__5804__auto___15130){\nvar seq__14967_15131__$1 \x3d temp__5804__auto___15130;\nif(cljs.core.chunked_seq_QMARK_(seq__14967_15131__$1)){\nvar c__5568__auto___15132 \x3d cljs.core.chunk_first(seq__14967_15131__$1);\nvar G__15133 \x3d cljs.core.chunk_rest(seq__14967_15131__$1);\nvar G__15134 \x3d c__5568__auto___15132;\nvar G__15135 \x3d cljs.core.count(c__5568__auto___15132);\nvar G__15136 \x3d (0);\nseq__14967_15118 \x3d G__15133;\nchunk__14968_15119 \x3d G__15134;\ncount__14969_15120 \x3d G__15135;\ni__14970_15121 \x3d G__15136;\ncontinue;\n} else {\nvar child_15137 \x3d cljs.core.first(seq__14967_15131__$1);\nif((!((child_15137 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_15137)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_15137))));\n} else {\nvar temp__5802__auto___15138 \x3d devtools.formatters.helpers.pref(child_15137);\nif(cljs.core.truth_(temp__5802__auto___15138)){\nvar child_value_15139 \x3d temp__5802__auto___15138;\ntemplate.push(child_value_15139);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__15140 \x3d cljs.core.next(seq__14967_15131__$1);\nvar G__15141 \x3d null;\nvar G__15142 \x3d (0);\nvar G__15143 \x3d (0);\nseq__14967_15118 \x3d G__15140;\nchunk__14968_15119 \x3d G__15141;\ncount__14969_15120 \x3d G__15142;\ni__14970_15121 \x3d G__15143;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn template;\n}));\n\n(devtools.formatters.templating.make_template.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_template.cljs$lang$applyTo \x3d (function (seq14954){\nvar G__14955 \x3d cljs.core.first(seq14954);\nvar seq14954__$1 \x3d cljs.core.next(seq14954);\nvar G__14956 \x3d cljs.core.first(seq14954__$1);\nvar seq14954__$2 \x3d cljs.core.next(seq14954__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14955,G__14956,seq14954__$2);\n}));\n\ndevtools.formatters.templating.concat_templates_BANG_ \x3d (function devtools$formatters$templating$concat_templates_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15144 \x3d arguments.length;\nvar i__5770__auto___15145 \x3d (0);\nwhile(true){\nif((i__5770__auto___15145 \x3c len__5769__auto___15144)){\nargs__5775__auto__.push((arguments[i__5770__auto___15145]));\n\nvar G__15146 \x3d (i__5770__auto___15145 + (1));\ni__5770__auto___15145 \x3d G__15146;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,templates){\nreturn devtools.formatters.templating.mark_as_template_BANG_((template[\x22concat\x22]).apply(template,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.into_array,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,templates)))));\n}));\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$applyTo \x3d (function (seq14972){\nvar G__14973 \x3d cljs.core.first(seq14972);\nvar seq14972__$1 \x3d cljs.core.next(seq14972);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14973,seq14972__$1);\n}));\n\ndevtools.formatters.templating.extend_template_BANG_ \x3d (function devtools$formatters$templating$extend_template_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15148 \x3d arguments.length;\nvar i__5770__auto___15149 \x3d (0);\nwhile(true){\nif((i__5770__auto___15149 \x3c len__5769__auto___15148)){\nargs__5775__auto__.push((arguments[i__5770__auto___15149]));\n\nvar G__15150 \x3d (i__5770__auto___15149 + (1));\ni__5770__auto___15149 \x3d G__15150;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,args){\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic(template,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n}));\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$applyTo \x3d (function (seq15007){\nvar G__15008 \x3d cljs.core.first(seq15007);\nvar seq15007__$1 \x3d cljs.core.next(seq15007);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15008,seq15007__$1);\n}));\n\ndevtools.formatters.templating.make_surrogate \x3d (function devtools$formatters$templating$make_surrogate(var_args){\nvar G__15019 \x3d arguments.length;\nswitch (G__15019) {\ncase 1:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2(object,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,header){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3(object,header,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3 \x3d (function (object,header,body){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4(object,header,body,(0));\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4 \x3d (function (object,header,body,start_index){\nreturn devtools.formatters.templating.mark_as_surrogate_BANG_((function (){var obj15028 \x3d ({\x22target\x22:object,\x22header\x22:header,\x22body\x22:body,\x22startIndex\x22:(function (){var or__5045__auto__ \x3d start_index;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})()});\nreturn obj15028;\n})());\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$lang$maxFixedArity \x3d 4);\n\ndevtools.formatters.templating.get_surrogate_target \x3d (function devtools$formatters$templating$get_surrogate_target(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22target\x22]);\n});\ndevtools.formatters.templating.get_surrogate_header \x3d (function devtools$formatters$templating$get_surrogate_header(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22header\x22]);\n});\ndevtools.formatters.templating.get_surrogate_body \x3d (function devtools$formatters$templating$get_surrogate_body(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22body\x22]);\n});\ndevtools.formatters.templating.get_surrogate_start_index \x3d (function devtools$formatters$templating$get_surrogate_start_index(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22startIndex\x22]);\n});\ndevtools.formatters.templating.make_reference \x3d (function devtools$formatters$templating$make_reference(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15152 \x3d arguments.length;\nvar i__5770__auto___15153 \x3d (0);\nwhile(true){\nif((i__5770__auto___15153 \x3c len__5769__auto___15152)){\nargs__5775__auto__.push((arguments[i__5770__auto___15153]));\n\nvar G__15154 \x3d (i__5770__auto___15153 + (1));\ni__5770__auto___15153 \x3d G__15154;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__15042){\nvar vec__15043 \x3d p__15042;\nvar state_override_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15043,(0),null);\nif((((state_override_fn \x3d\x3d null)) || (cljs.core.fn_QMARK_(state_override_fn)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? state-override-fn) (fn? state-override-fn))\x22));\n}\n\nif((object \x3d\x3d null)){\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], 0));\n} else {\nvar sub_state \x3d (((!((state_override_fn \x3d\x3d null))))?(function (){var G__15046 \x3d devtools.formatters.state.get_current_state();\nreturn (state_override_fn.cljs$core$IFn$_invoke$arity$1 ? state_override_fn.cljs$core$IFn$_invoke$arity$1(G__15046) : state_override_fn.call(null,G__15046));\n})():devtools.formatters.state.get_current_state());\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22object\x22,({\x22object\x22: object, \x22config\x22: sub_state})], 0));\n}\n}));\n\n(devtools.formatters.templating.make_reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_reference.cljs$lang$applyTo \x3d (function (seq15040){\nvar G__15041 \x3d cljs.core.first(seq15040);\nvar seq15040__$1 \x3d cljs.core.next(seq15040);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15041,seq15040__$1);\n}));\n\ndevtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating._STAR_current_render_path_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating.print_preview \x3d (function devtools$formatters$templating$print_preview(markup){\nvar _STAR_print_level_STAR__orig_val__15047 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__15048 \x3d (1);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__15048);\n\ntry{return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([markup], 0));\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__15047);\n}});\ndevtools.formatters.templating.add_stack_separators \x3d (function devtools$formatters$templating$add_stack_separators(stack){\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22-------------\x22,stack);\n});\ndevtools.formatters.templating.replace_fns_with_markers \x3d (function devtools$formatters$templating$replace_fns_with_markers(stack){\nvar f \x3d (function (v){\nif(cljs.core.fn_QMARK_(v)){\nreturn \x22##fn##\x22;\n} else {\nreturn v;\n}\n});\nreturn clojure.walk.prewalk(f,stack);\n});\ndevtools.formatters.templating.pprint_render_calls \x3d (function devtools$formatters$templating$pprint_render_calls(stack){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.pprint_str,stack);\n});\ndevtools.formatters.templating.pprint_render_stack \x3d (function devtools$formatters$templating$pprint_render_stack(stack){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,devtools.formatters.templating.add_stack_separators(devtools.formatters.templating.pprint_render_calls(devtools.formatters.templating.replace_fns_with_markers(cljs.core.reverse(stack)))));\n});\ndevtools.formatters.templating.pprint_render_path \x3d (function devtools$formatters$templating$pprint_render_path(path){\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path], 0));\n});\ndevtools.formatters.templating.assert_markup_error \x3d (function devtools$formatters$templating$assert_markup_error(msg){\nthrow (new Error([\x22Assert failed: \x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),\x22\\n\x22,\x22Render path: \x22,devtools.formatters.templating.pprint_render_path(devtools.formatters.templating._STAR_current_render_path_STAR_),\x22\\n\x22,\x22Render stack:\\n\x22,devtools.formatters.templating.pprint_render_stack(devtools.formatters.templating._STAR_current_render_stack_STAR_)].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.surrogate_markup_QMARK_ \x3d (function devtools$formatters$templating$surrogate_markup_QMARK_(markup){\nreturn ((cljs.core.sequential_QMARK_(markup)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(markup),\x22surrogate\x22)));\n});\ndevtools.formatters.templating.render_special \x3d (function devtools$formatters$templating$render_special(name,args){\nvar G__15050 \x3d name;\nswitch (G__15050) {\ncase \x22surrogate\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest(args));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_surrogate,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [obj], null),converted_args));\n\nbreak;\ncase \x22reference\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_obj \x3d ((devtools.formatters.templating.surrogate_markup_QMARK_(obj))?(devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1 ? devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1(obj) : devtools.formatters.templating.render_json_ml_STAR_.call(null,obj)):obj);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_reference,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [converted_obj], null),cljs.core.rest(args)));\n\nbreak;\ndefault:\nreturn devtools.formatters.templating.assert_markup_error([\x22no matching special tag name: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27\x22].join(\x27\x27));\n\n}\n});\ndevtools.formatters.templating.emptyish_QMARK_ \x3d (function devtools$formatters$templating$emptyish_QMARK_(v){\nif(((cljs.core.seqable_QMARK_(v)) || (((cljs.core.array_QMARK_(v)) || (typeof v \x3d\x3d\x3d \x27string\x27))))){\nreturn cljs.core.empty_QMARK_(v);\n} else {\nreturn false;\n}\n});\ndevtools.formatters.templating.render_subtree \x3d (function devtools$formatters$templating$render_subtree(tag,children){\nvar vec__15056 \x3d tag;\nvar html_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15056,(0),null);\nvar style \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15056,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.templating.make_template,html_tag,style,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.emptyish_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,children))));\n});\ndevtools.formatters.templating.render_json_ml_STAR_ \x3d (function devtools$formatters$templating$render_json_ml_STAR_(markup){\nif((!(cljs.core.sequential_QMARK_(markup)))){\nreturn markup;\n} else {\nvar _STAR_current_render_path_STAR__orig_val__15066 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_path_STAR__temp_val__15067 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,cljs.core.first(markup));\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__15067);\n\ntry{var tag \x3d devtools.formatters.helpers.pref(cljs.core.first(markup));\nif(typeof tag \x3d\x3d\x3d \x27string\x27){\nreturn devtools.formatters.templating.render_special(tag,cljs.core.rest(markup));\n} else {\nif(cljs.core.sequential_QMARK_(tag)){\nreturn devtools.formatters.templating.render_subtree(tag,cljs.core.rest(markup));\n} else {\nreturn devtools.formatters.templating.assert_markup_error([\x22invalid json-ml markup at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.print_preview(markup)),\x22:\x22].join(\x27\x27));\n\n}\n}\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__15066);\n}}\n});\ndevtools.formatters.templating.render_json_ml \x3d (function devtools$formatters$templating$render_json_ml(markup){\nvar _STAR_current_render_stack_STAR__orig_val__15072 \x3d devtools.formatters.templating._STAR_current_render_stack_STAR_;\nvar _STAR_current_render_path_STAR__orig_val__15073 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_stack_STAR__temp_val__15074 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_stack_STAR_,markup);\nvar _STAR_current_render_path_STAR__temp_val__15075 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,\x22\x3crender-json-ml\x3e\x22);\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__temp_val__15074);\n\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__15075);\n\ntry{return devtools.formatters.templating.render_json_ml_STAR_(markup);\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__15073);\n\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__orig_val__15072);\n}});\ndevtools.formatters.templating.assert_failed_markup_rendering \x3d (function devtools$formatters$templating$assert_failed_markup_rendering(initial_value,value){\nthrow (new Error([\x22Assert failed: \x22,[\x22result of markup rendering must be a template,\\n\x22,\x22resolved to \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),\x22initial value: \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([initial_value], 0))].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.render_markup_STAR_ \x3d (function devtools$formatters$templating$render_markup_STAR_(initial_value,value){\nwhile(true){\nif(cljs.core.fn_QMARK_(value)){\nvar G__15159 \x3d initial_value;\nvar G__15160 \x3d (value.cljs$core$IFn$_invoke$arity$0 ? value.cljs$core$IFn$_invoke$arity$0() : value.call(null));\ninitial_value \x3d G__15159;\nvalue \x3d G__15160;\ncontinue;\n} else {\nif((value instanceof cljs.core.Keyword)){\nvar G__15161 \x3d initial_value;\nvar G__15162 \x3d devtools.formatters.helpers.pref(value);\ninitial_value \x3d G__15161;\nvalue \x3d G__15162;\ncontinue;\n} else {\nif(cljs.core.sequential_QMARK_(value)){\nvar G__15163 \x3d initial_value;\nvar G__15164 \x3d devtools.formatters.templating.render_json_ml(value);\ninitial_value \x3d G__15163;\nvalue \x3d G__15164;\ncontinue;\n} else {\nif(devtools.formatters.templating.template_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.reference_QMARK_(value)){\nreturn value;\n} else {\nreturn devtools.formatters.templating.assert_failed_markup_rendering.call(null,initial_value,value);\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ndevtools.formatters.templating.render_markup \x3d (function devtools$formatters$templating$render_markup(value){\nreturn devtools.formatters.templating.render_markup_STAR_(value,value);\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.printing.js", true , "goog.provide(\x27devtools.formatters.printing\x27);\ndevtools.formatters.printing.markup_QMARK_ \x3d (function devtools$formatters$printing$markup_QMARK_(value){\nreturn new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(value));\n});\ndevtools.formatters.printing.mark_as_markup \x3d (function devtools$formatters$printing$mark_as_markup(value){\nreturn cljs.core.with_meta(value,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186),true], null));\n});\ndevtools.formatters.printing.build_markup \x3d (function devtools$formatters$printing$build_markup(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___14373 \x3d arguments.length;\nvar i__5770__auto___14374 \x3d (0);\nwhile(true){\nif((i__5770__auto___14374 \x3c len__5769__auto___14373)){\nargs__5775__auto__.push((arguments[i__5770__auto___14374]));\n\nvar G__14375 \x3d (i__5770__auto___14374 + (1));\ni__5770__auto___14374 \x3d G__14375;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markup_db,fn_key,args){\nvar f \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(markup_db,fn_key);\nif(cljs.core.truth_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22missing markup method in markup-db: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_key)].join(\x27\x27),\x22\\n\x22,\x22f\x22].join(\x27\x27)));\n}\n\nreturn devtools.formatters.printing.mark_as_markup(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args));\n}));\n\n(devtools.formatters.printing.build_markup.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.printing.build_markup.cljs$lang$applyTo \x3d (function (seq14319){\nvar G__14320 \x3d cljs.core.first(seq14319);\nvar seq14319__$1 \x3d cljs.core.next(seq14319);\nvar G__14321 \x3d cljs.core.first(seq14319__$1);\nvar seq14319__$2 \x3d cljs.core.next(seq14319__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14320,G__14321,seq14319__$2);\n}));\n\ndevtools.formatters.printing.wrap_value_as_reference_if_needed \x3d (function devtools$formatters$printing$wrap_value_as_reference_if_needed(markup_db,value){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d devtools.formatters.helpers.directly_printable_QMARK_(value);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.printing.markup_QMARK_(value);\n}\n})())){\nreturn value;\n} else {\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ndevtools.formatters.printing.TemplateWriter \x3d (function (group,markup_db){\nthis.group \x3d group;\nthis.markup_db \x3d markup_db;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.formatters.printing.TemplateWriter.prototype.merge \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,a));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.get_group \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.group;\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,o){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.wrap_value_as_reference_if_needed(self__.markup_db,o)], null)));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(devtools.formatters.printing.TemplateWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22group\x22,\x22group\x22,-2071839637,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22markup-db\x22,\x22markup-db\x22,-1841597035,null)], null);\n}));\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$type \x3d true);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorStr \x3d \x22devtools.formatters.printing/TemplateWriter\x22);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22devtools.formatters.printing/TemplateWriter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters.printing/TemplateWriter.\n */\ndevtools.formatters.printing.__GT_TemplateWriter \x3d (function devtools$formatters$printing$__GT_TemplateWriter(group,markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(group,markup_db));\n});\n\ndevtools.formatters.printing.make_template_writer \x3d (function devtools$formatters$printing$make_template_writer(markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(cljs.core.PersistentVector.EMPTY,markup_db));\n});\ndevtools.formatters.printing.already_reference_QMARK_ \x3d (function devtools$formatters$printing$already_reference_QMARK_(group){\nvar temp__5802__auto__ \x3d cljs.core.first(cljs.core.first(group));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar tag \x3d temp__5802__auto__;\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(tag,\x22reference\x22);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.printing.wrap_group_in_reference_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_reference_if_needed(group,obj,markup_db){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(devtools.formatters.printing.already_reference_QMARK_(group));\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d devtools.formatters.helpers.expandable_QMARK_(obj);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.abbreviated_QMARK_(group);\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar expandable_markup \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),group);\nvar surrogate_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,expandable_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0));\nvar reference_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([surrogate_markup], 0));\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [reference_markup], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_circular_warning_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_circular_warning_if_needed(group,markup_db,circular_QMARK_){\nif(cljs.core.truth_(circular_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_meta_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_meta_if_needed(group,value,markup_db){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),value,(function (p1__14337_SHARP_){\nreturn (!((cljs.core.meta(p1__14337_SHARP_) \x3d\x3d null)));\n})))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587).cljs$core$IFn$_invoke$arity$1(markup_db),cljs.core.meta(value)),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.detect_edge_case_and_patch_it \x3d (function devtools$formatters$printing$detect_edge_case_and_patch_it(group,obj,markup_db){\nif(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22\\\x22]\x22)))))) || (((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22]\x22)))))) || (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22]\x22)))))))))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#\x3c\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(1)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22\x3e\x22)))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),devtools.formatters.printing.build_markup(new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2))], null);\n} else {\nreturn group;\n\n}\n}\n});\ndevtools.formatters.printing.post_process_printed_output \x3d (function devtools$formatters$printing$post_process_printed_output(output_group,obj,markup_db,circular_QMARK_){\nreturn devtools.formatters.printing.wrap_group_in_meta_if_needed(devtools.formatters.printing.wrap_group_in_circular_warning_if_needed(devtools.formatters.printing.wrap_group_in_reference_if_needed(devtools.formatters.printing.detect_edge_case_and_patch_it(output_group,obj,markup_db),obj,markup_db),markup_db,circular_QMARK_),obj,markup_db);\n});\ndevtools.formatters.printing.alt_printer_job \x3d (function devtools$formatters$printing$alt_printer_job(obj,writer,opts){\nvar map__14347 \x3d opts;\nvar map__14347__$1 \x3d cljs.core.__destructure_map(map__14347);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14347__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d (function (){try{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n}\n}catch (e14348){var _e__11955__auto__ \x3d e14348;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\ntry{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n}\n}catch (e14356){var _e__11955__auto__ \x3d e14356;\nreturn false;\n}}\n})())){\nreturn cljs.core._write(writer,devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n} else {\nvar temp__5802__auto__ \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar atomic_markup \x3d temp__5802__auto__;\nreturn cljs.core._write(writer,atomic_markup);\n} else {\nvar default_impl \x3d new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995).cljs$core$IFn$_invoke$arity$1(opts);\nvar inner_opts \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._STAR_print_level_STAR_,(1)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),(0)):opts);\nreturn (default_impl.cljs$core$IFn$_invoke$arity$3 ? default_impl.cljs$core$IFn$_invoke$arity$3(obj,writer,inner_opts) : default_impl.call(null,obj,writer,inner_opts));\n}\n}\n});\ndevtools.formatters.printing.alt_printer_impl \x3d (function devtools$formatters$printing$alt_printer_impl(obj,writer,opts){\nvar _STAR_current_state_STAR__orig_val__14358 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__14359 \x3d devtools.formatters.state.get_current_state();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__14359);\n\ntry{var map__14360 \x3d opts;\nvar map__14360__$1 \x3d cljs.core.__destructure_map(map__14360);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14360__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nvar circular_QMARK_ \x3d devtools.formatters.state.is_circular_QMARK_(obj);\nvar inner_writer \x3d devtools.formatters.printing.make_template_writer(new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734).cljs$core$IFn$_invoke$arity$1(opts));\ndevtools.formatters.state.push_object_to_current_history_BANG_(obj);\n\ndevtools.formatters.printing.alt_printer_job(obj,inner_writer,opts);\n\nreturn writer.merge(devtools.formatters.printing.post_process_printed_output(inner_writer.get_group(),obj,markup_db,circular_QMARK_));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__14358);\n}});\ndevtools.formatters.printing.managed_print \x3d (function devtools$formatters$printing$managed_print(tag,markup_db,printer){\nvar writer \x3d devtools.formatters.printing.make_template_writer(markup_db);\nvar opts \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595),devtools.formatters.printing.alt_printer_impl,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734),markup_db,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),devtools.prefs.pref(new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864)),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),devtools.prefs.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935))], null);\nvar job_fn \x3d (function (){\nreturn (printer.cljs$core$IFn$_invoke$arity$2 ? printer.cljs$core$IFn$_invoke$arity$2(writer,opts) : printer.call(null,writer,opts));\n});\nvar temp__5802__auto___14388 \x3d devtools.formatters.state.get_managed_print_level();\nif(cljs.core.truth_(temp__5802__auto___14388)){\nvar managed_print_level_14389 \x3d temp__5802__auto___14388;\nvar _STAR_print_level_STAR__orig_val__14368_14390 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__14369_14391 \x3d managed_print_level_14389;\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__14369_14391);\n\ntry{devtools.formatters.state.update_current_state_BANG_((function (p1__14361_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__14361_SHARP_,null);\n}));\n\njob_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__14368_14390);\n}} else {\njob_fn();\n}\n\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.prefs.pref(tag)], null),writer.get_group());\n});\ndevtools.formatters.printing.managed_print_via_writer \x3d (function devtools$formatters$printing$managed_print_via_writer(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core.pr_seq_writer(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [value], null),writer,opts);\n}));\n});\ndevtools.formatters.printing.managed_print_via_protocol \x3d (function devtools$formatters$printing$managed_print_via_protocol(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core._pr_writer(value,writer,opts);\n}));\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.markup.js", true , "goog.provide(\x27devtools.formatters.markup\x27);\ndevtools.formatters.markup.print_with \x3d (function devtools$formatters$markup$print_with(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15505 \x3d arguments.length;\nvar i__5770__auto___15507 \x3d (0);\nwhile(true){\nif((i__5770__auto___15507 \x3c len__5769__auto___15505)){\nargs__5775__auto__.push((arguments[i__5770__auto___15507]));\n\nvar G__15508 \x3d (i__5770__auto___15507 + (1));\ni__5770__auto___15507 \x3d G__15508;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((3) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (method,value,tag,p__15253){\nvar vec__15255 \x3d p__15253;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15255,(0),null);\nvar job_fn \x3d (function (){\nvar G__15273 \x3d value;\nvar G__15274 \x3d tag;\nvar G__15275 \x3d (devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0 ? devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0() : devtools.formatters.markup.get_markup_db.call(null));\nreturn (method.cljs$core$IFn$_invoke$arity$3 ? method.cljs$core$IFn$_invoke$arity$3(G__15273,G__15274,G__15275) : method.call(null,G__15273,G__15274,G__15275));\n});\nif((!((max_level \x3d\x3d null)))){\nvar _STAR_print_level_STAR__orig_val__15286 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__15287 \x3d (max_level + (1));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__15287);\n\ntry{return job_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__15286);\n}} else {\nreturn job_fn();\n}\n}));\n\n(devtools.formatters.markup.print_with.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_with.cljs$lang$applyTo \x3d (function (seq15226){\nvar G__15227 \x3d cljs.core.first(seq15226);\nvar seq15226__$1 \x3d cljs.core.next(seq15226);\nvar G__15228 \x3d cljs.core.first(seq15226__$1);\nvar seq15226__$2 \x3d cljs.core.next(seq15226__$1);\nvar G__15229 \x3d cljs.core.first(seq15226__$2);\nvar seq15226__$3 \x3d cljs.core.next(seq15226__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15227,G__15228,G__15229,seq15226__$3);\n}));\n\ndevtools.formatters.markup.print_via_writer \x3d (function devtools$formatters$markup$print_via_writer(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15511 \x3d arguments.length;\nvar i__5770__auto___15512 \x3d (0);\nwhile(true){\nif((i__5770__auto___15512 \x3c len__5769__auto___15511)){\nargs__5775__auto__.push((arguments[i__5770__auto___15512]));\n\nvar G__15513 \x3d (i__5770__auto___15512 + (1));\ni__5770__auto___15512 \x3d G__15513;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__15346){\nvar vec__15349 \x3d p__15346;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15349,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_writer,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_writer.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_writer.cljs$lang$applyTo \x3d (function (seq15323){\nvar G__15324 \x3d cljs.core.first(seq15323);\nvar seq15323__$1 \x3d cljs.core.next(seq15323);\nvar G__15325 \x3d cljs.core.first(seq15323__$1);\nvar seq15323__$2 \x3d cljs.core.next(seq15323__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15324,G__15325,seq15323__$2);\n}));\n\ndevtools.formatters.markup.print_via_protocol \x3d (function devtools$formatters$markup$print_via_protocol(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15515 \x3d arguments.length;\nvar i__5770__auto___15516 \x3d (0);\nwhile(true){\nif((i__5770__auto___15516 \x3c len__5769__auto___15515)){\nargs__5775__auto__.push((arguments[i__5770__auto___15516]));\n\nvar G__15517 \x3d (i__5770__auto___15516 + (1));\ni__5770__auto___15516 \x3d G__15517;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__15385){\nvar vec__15386 \x3d p__15385;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15386,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_protocol,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_protocol.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_protocol.cljs$lang$applyTo \x3d (function (seq15367){\nvar G__15368 \x3d cljs.core.first(seq15367);\nvar seq15367__$1 \x3d cljs.core.next(seq15367);\nvar G__15370 \x3d cljs.core.first(seq15367__$1);\nvar seq15367__$2 \x3d cljs.core.next(seq15367__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15368,G__15370,seq15367__$2);\n}));\n\ndevtools.formatters.markup._LT_expandable_GT_ \x3d (function devtools$formatters$markup$_LT_expandable_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15518 \x3d arguments.length;\nvar i__5770__auto___15519 \x3d (0);\nwhile(true){\nif((i__5770__auto___15519 \x3c len__5769__auto___15518)){\nargs__5775__auto__.push((arguments[i__5770__auto___15519]));\n\nvar G__15520 \x3d (i__5770__auto___15519 + (1));\ni__5770__auto___15519 \x3d G__15520;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nvar inner_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560)], null),children);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),inner_markup], null);\n}));\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$applyTo \x3d (function (seq15398){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15398));\n}));\n\ndevtools.formatters.markup._LT_raw_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_raw_surrogate_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15521 \x3d arguments.length;\nvar i__5770__auto___15522 \x3d (0);\nwhile(true){\nif((i__5770__auto___15522 \x3c len__5769__auto___15521)){\nargs__5775__auto__.push((arguments[i__5770__auto___15522]));\n\nvar G__15523 \x3d (i__5770__auto___15522 + (1));\ni__5770__auto___15522 \x3d G__15523;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22surrogate\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq15402){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15402));\n}));\n\ndevtools.formatters.markup._LT_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15524 \x3d arguments.length;\nvar i__5770__auto___15525 \x3d (0);\nwhile(true){\nif((i__5770__auto___15525 \x3c len__5769__auto___15524)){\nargs__5775__auto__.push((arguments[i__5770__auto___15525]));\n\nvar G__15526 \x3d (i__5770__auto___15525 + (1));\ni__5770__auto___15525 \x3d G__15526;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__15404){\nvar vec__15405 \x3d p__15404;\nvar object \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15405,(0),null);\nvar header \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15405,(1),null);\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15405,(2),null);\nvar start_index \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15405,(3),null);\nvar header__$1 \x3d (((!((body \x3d\x3d null))))?devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header], 0)):header);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,header__$1,body,start_index], 0));\n}));\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq15403){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15403));\n}));\n\ndevtools.formatters.markup._LT_reference_GT_ \x3d (function devtools$formatters$markup$_LT_reference_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15528 \x3d arguments.length;\nvar i__5770__auto___15529 \x3d (0);\nwhile(true){\nif((i__5770__auto___15529 \x3c len__5769__auto___15528)){\nargs__5775__auto__.push((arguments[i__5770__auto___15529]));\n\nvar G__15530 \x3d (i__5770__auto___15529 + (1));\ni__5770__auto___15529 \x3d G__15530;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22reference\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$applyTo \x3d (function (seq15408){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15408));\n}));\n\ndevtools.formatters.markup._LT_reference_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_reference_surrogate_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15531 \x3d arguments.length;\nvar i__5770__auto___15532 \x3d (0);\nwhile(true){\nif((i__5770__auto___15532 \x3c len__5769__auto___15531)){\nargs__5775__auto__.push((arguments[i__5770__auto___15532]));\n\nvar G__15533 \x3d (i__5770__auto___15532 + (1));\ni__5770__auto___15532 \x3d G__15533;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_surrogate_GT_,args)], 0));\n}));\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq15409){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15409));\n}));\n\ndevtools.formatters.markup._LT_circular_reference_GT_ \x3d (function devtools$formatters$markup$_LT_circular_reference_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15534 \x3d arguments.length;\nvar i__5770__auto___15535 \x3d (0);\nwhile(true){\nif((i__5770__auto___15535 \x3c len__5769__auto___15534)){\nargs__5775__auto__.push((arguments[i__5770__auto___15535]));\n\nvar G__15536 \x3d (i__5770__auto___15535 + (1));\ni__5770__auto___15535 \x3d G__15536;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919)], null),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023)], null),children)], 0));\n}));\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$applyTo \x3d (function (seq15411){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15411));\n}));\n\ndevtools.formatters.markup._LT_native_reference_GT_ \x3d (function devtools$formatters$markup$_LT_native_reference_GT_(object){\nvar reference \x3d devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,(function (p1__15425_SHARP_){\nreturn devtools.formatters.state.set_prevent_recursion(p1__15425_SHARP_,true);\n})], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),reference], null)], null);\n});\ndevtools.formatters.markup._LT_header_expander_GT_ \x3d (function devtools$formatters$markup$_LT_header_expander_GT_(object){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0)),devtools.formatters.state.reset_depth_limits], 0));\n});\ndevtools.formatters.markup._LT_cljs_land_GT_ \x3d (function devtools$formatters$markup$_LT_cljs_land_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15538 \x3d arguments.length;\nvar i__5770__auto___15539 \x3d (0);\nwhile(true){\nif((i__5770__auto___15539 \x3c len__5769__auto___15538)){\nargs__5775__auto__.push((arguments[i__5770__auto___15539]));\n\nvar G__15540 \x3d (i__5770__auto___15539 + (1));\ni__5770__auto___15539 \x3d G__15540;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377)], null),children);\n}));\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$applyTo \x3d (function (seq15426){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15426));\n}));\n\ndevtools.formatters.markup._LT_nil_GT_ \x3d (function devtools$formatters$markup$_LT_nil_GT_(){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], null);\n});\ndevtools.formatters.markup._LT_bool_GT_ \x3d (function devtools$formatters$markup$_LT_bool_GT_(bool){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),cljs.core.str.cljs$core$IFn$_invoke$arity$1(bool)], null);\n});\ndevtools.formatters.markup._LT_keyword_GT_ \x3d (function devtools$formatters$markup$_LT_keyword_GT_(keyword){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),cljs.core.str.cljs$core$IFn$_invoke$arity$1(keyword)], null);\n});\ndevtools.formatters.markup._LT_symbol_GT_ \x3d (function devtools$formatters$markup$_LT_symbol_GT_(symbol){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)], null);\n});\ndevtools.formatters.markup._LT_number_GT_ \x3d (function devtools$formatters$markup$_LT_number_GT_(number){\nif(cljs.core.integer_QMARK_(number)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),number], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),number], null);\n}\n});\ndevtools.formatters.markup._LT_string_GT_ \x3d (function devtools$formatters$markup$_LT_string_GT_(string){\nvar dq \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860));\nvar re_nl \x3d (new RegExp(\x22\\n\x22,\x22g\x22));\nvar nl_marker \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206));\nvar inline_string \x3d string.replace(re_nl,nl_marker);\nvar max_inline_string_size \x3d (devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)) + devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar quote_string \x3d (function (s){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq),cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq)].join(\x27\x27);\n});\nvar should_abbreviate_QMARK_ \x3d (cljs.core.count(inline_string) \x3e max_inline_string_size);\nif(should_abbreviate_QMARK_){\nvar abbreviated_string \x3d devtools.formatters.helpers.abbreviate_long_string(inline_string,devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar abbreviated_string_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(abbreviated_string)], null);\nvar string_with_nl_markers \x3d string.replace(re_nl,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(nl_marker),\x22\\n\x22].join(\x27\x27));\nvar details_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),string_with_nl_markers], null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([string,abbreviated_string_markup,details_markup], 0));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(inline_string)], null);\n}\n});\ndevtools.formatters.markup._LT_preview_GT_ \x3d (function devtools$formatters$markup$_LT_preview_GT_(value){\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413))], 0));\n});\ndevtools.formatters.markup._LT_body_GT_ \x3d (function devtools$formatters$markup$_LT_body_GT_(markup){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),markup], null);\n});\ndevtools.formatters.markup._LT_aligned_body_GT_ \x3d (function devtools$formatters$markup$_LT_aligned_body_GT_(markups_lists){\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722)], null),line);\n} else {\nreturn null;\n}\n});\nvar aligned_lines \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn devtools.formatters.markup._LT_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747)], null),aligned_lines));\n});\ndevtools.formatters.markup._LT_standard_body_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15543 \x3d arguments.length;\nvar i__5770__auto___15544 \x3d (0);\nwhile(true){\nif((i__5770__auto___15544 \x3c len__5769__auto___15543)){\nargs__5775__auto__.push((arguments[i__5770__auto___15544]));\n\nvar G__15545 \x3d (i__5770__auto___15544 + (1));\ni__5770__auto___15544 \x3d G__15545;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markups_lists,p__15429){\nvar vec__15430 \x3d p__15429;\nvar no_margin_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15430,(0),null);\nvar ol_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747):new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433));\nvar li_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468):new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876));\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [li_tag], null),line);\n} else {\nreturn null;\n}\n});\nvar lines_markups \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ol_tag], null),lines_markups);\n}));\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$applyTo \x3d (function (seq15427){\nvar G__15428 \x3d cljs.core.first(seq15427);\nvar seq15427__$1 \x3d cljs.core.next(seq15427);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15428,seq15427__$1);\n}));\n\ndevtools.formatters.markup._LT_standard_body_reference_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_reference_GT_(o){\nreturn devtools.formatters.markup._LT_standard_body_GT_(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([o], 0))], null)], null));\n});\ndevtools.formatters.markup._LT_index_GT_ \x3d (function devtools$formatters$markup$_LT_index_GT_(value){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),value,new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246)], null);\n});\ndevtools.formatters.markup.body_line \x3d (function devtools$formatters$markup$body_line(index,value){\nvar index_markup \x3d devtools.formatters.markup._LT_index_GT_(index);\nvar value_markup \x3d devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623))], 0));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [index_markup,value_markup], null);\n});\ndevtools.formatters.markup.prepare_body_lines \x3d (function devtools$formatters$markup$prepare_body_lines(data,starting_index){\nvar work \x3d data;\nvar index \x3d starting_index;\nvar lines \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(work)){\nreturn lines;\n} else {\nvar G__15547 \x3d cljs.core.rest(work);\nvar G__15548 \x3d (index + (1));\nvar G__15549 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,devtools.formatters.markup.body_line(index,cljs.core.first(work)));\nwork \x3d G__15547;\nindex \x3d G__15548;\nlines \x3d G__15549;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.formatters.markup.body_lines \x3d (function devtools$formatters$markup$body_lines(value,starting_index){\nvar seq \x3d cljs.core.seq(value);\nvar max_number_body_items \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624));\nvar chunk \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar rest \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar lines \x3d devtools.formatters.markup.prepare_body_lines(chunk,starting_index);\nvar continue_QMARK_ \x3d (!(cljs.core.empty_QMARK_(cljs.core.take.cljs$core$IFn$_invoke$arity$2((1),rest))));\nif((!(continue_QMARK_))){\nreturn lines;\n} else {\nvar more_label_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123)], null);\nvar start_index \x3d (starting_index + max_number_body_items);\nvar more_markup \x3d devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([rest,more_label_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),start_index], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [more_markup], null));\n}\n});\ndevtools.formatters.markup._LT_details_GT_ \x3d (function devtools$formatters$markup$_LT_details_GT_(value,starting_index){\nvar has_continuation_QMARK_ \x3d (starting_index \x3e (0));\nvar body_markup \x3d devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup.body_lines(value,starting_index),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([has_continuation_QMARK_], 0));\nif(has_continuation_QMARK_){\nreturn body_markup;\n} else {\nreturn devtools.formatters.markup._LT_body_GT_(body_markup);\n}\n});\ndevtools.formatters.markup._LT_list_details_GT_ \x3d (function devtools$formatters$markup$_LT_list_details_GT_(items,_opts){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,items));\n});\ndevtools.formatters.markup._LT_list_GT_ \x3d (function devtools$formatters$markup$_LT_list_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15551 \x3d arguments.length;\nvar i__5770__auto___15553 \x3d (0);\nwhile(true){\nif((i__5770__auto___15553 \x3c len__5769__auto___15551)){\nargs__5775__auto__.push((arguments[i__5770__auto___15553]));\n\nvar G__15554 \x3d (i__5770__auto___15553 + (1));\ni__5770__auto___15553 \x3d G__15554;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items,max_count,p__15436){\nvar vec__15437 \x3d p__15436;\nvar opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15437,(0),null);\nvar items_markups \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_count,items);\nvar more_count \x3d (cljs.core.count(items) - max_count);\nvar more_QMARK_ \x3d (more_count \x3e (0));\nvar separator \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185);\n}\n})();\nvar more_symbol \x3d ((more_QMARK_)?(function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar more_symbol \x3d temp__5802__auto__;\nif(cljs.core.fn_QMARK_(more_symbol)){\nreturn (more_symbol.cljs$core$IFn$_invoke$arity$1 ? more_symbol.cljs$core$IFn$_invoke$arity$1(more_count) : more_symbol.call(null,more_count));\n} else {\nreturn more_symbol;\n}\n} else {\nreturn devtools.formatters.helpers.get_more_marker(more_count);\n}\n})():null);\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884);\n}\n})(),(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443);\n}\n})()], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(separator,items_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [separator,more_symbol], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586);\n}\n})()], null)], 0));\nif(more_QMARK_){\nvar details_markup \x3d new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411).cljs$core$IFn$_invoke$arity$1(opts);\nvar default_details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$3(devtools.formatters.markup._LT_list_details_GT_,items,opts);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,(function (){var or__5045__auto__ \x3d details_markup;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn default_details_fn;\n}\n})()], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$applyTo \x3d (function (seq15433){\nvar G__15434 \x3d cljs.core.first(seq15433);\nvar seq15433__$1 \x3d cljs.core.next(seq15433);\nvar G__15435 \x3d cljs.core.first(seq15433__$1);\nvar seq15433__$2 \x3d cljs.core.next(seq15433__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15434,G__15435,seq15433__$2);\n}));\n\ndevtools.formatters.markup._LT_meta_GT_ \x3d (function devtools$formatters$markup$_LT_meta_GT_(metadata){\nvar body_fn \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),devtools.formatters.markup._LT_preview_GT_(metadata)], null);\n});\nvar header \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),\x22meta\x22], null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([metadata,header,body_fn], 0))], null);\n});\ndevtools.formatters.markup._LT_meta_wrapper_GT_ \x3d (function devtools$formatters$markup$_LT_meta_wrapper_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15561 \x3d arguments.length;\nvar i__5770__auto___15562 \x3d (0);\nwhile(true){\nif((i__5770__auto___15562 \x3c len__5769__auto___15561)){\nargs__5775__auto__.push((arguments[i__5770__auto___15562]));\n\nvar G__15563 \x3d (i__5770__auto___15562 + (1));\ni__5770__auto___15562 \x3d G__15563;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (metadata,children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038)], null),children,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_meta_GT_(metadata)], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$applyTo \x3d (function (seq15440){\nvar G__15441 \x3d cljs.core.first(seq15440);\nvar seq15440__$1 \x3d cljs.core.next(seq15440);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15441,seq15440__$1);\n}));\n\ndevtools.formatters.markup._LT_function_details_GT_ \x3d (function devtools$formatters$markup$_LT_function_details_GT_(fn_obj,ns,_name,arities,prefix){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar arities__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.wrap_arity,arities);\nvar make_arity_markup_list \x3d (function (arity){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),prefix], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),arity], null)], null);\n});\nvar arities_markupts_lists \x3d (((cljs.core.count(arities__$1) \x3e (1)))?cljs.core.map.cljs$core$IFn$_invoke$arity$2(make_arity_markup_list,arities__$1):null);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar native_markups_list \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(fn_obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(arities_markupts_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_arities_GT_ \x3d (function devtools$formatters$markup$_LT_arities_GT_(arities){\nvar multi_arity_QMARK_ \x3d (cljs.core.count(arities) \x3e (1));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),devtools.formatters.helpers.wrap_arity(((multi_arity_QMARK_)?devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653)):cljs.core.first(arities)))], null);\n});\ndevtools.formatters.markup._LT_function_GT_ \x3d (function devtools$formatters$markup$_LT_function_GT_(fn_obj){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar vec__15442 \x3d devtools.munging.parse_fn_info(fn_obj);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15442,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15442,(1),null);\nvar lambda_QMARK_ \x3d cljs.core.empty_QMARK_(name);\nvar spacer_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139));\nvar rest_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174));\nvar multi_arity_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653));\nvar arities \x3d devtools.munging.extract_arities(fn_obj,true,spacer_symbol,multi_arity_symbol,rest_symbol);\nvar arities_markup \x3d devtools.formatters.markup._LT_arities_GT_(arities);\nvar name_markup \x3d (((!(lambda_QMARK_)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),name], null):null);\nvar icon_markup \x3d ((lambda_QMARK_)?new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546):new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288));\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),icon_markup,name_markup], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),prefix_markup,arities_markup], null);\nvar details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_function_details_GT_,fn_obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arities,prefix_markup], 0));\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fn_obj,preview_markup,details_fn], 0));\n});\ndevtools.formatters.markup._LT_type_basis_item_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_item_GT_(basis_item){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),cljs.core.name(basis_item)], null);\n});\ndevtools.formatters.markup._LT_type_basis_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_GT_(basis){\nvar item_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_type_basis_item_GT_,basis);\nvar children_markups \x3d cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-basis-item-separator\x22,\x22type-basis-item-separator\x22,-2029193896),item_markups);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204)], null),children_markups);\n});\ndevtools.formatters.markup._LT_type_details_GT_ \x3d (function devtools$formatters$markup$_LT_type_details_GT_(constructor_fn,ns,_name,basis){\nvar ns_markup \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar basis_markup \x3d ((cljs.core.empty_QMARK_(basis))?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),devtools.formatters.markup._LT_type_basis_GT_(basis)], null));\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(constructor_fn)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [basis_markup,ns_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_type_GT_ \x3d (function devtools$formatters$markup$_LT_type_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15576 \x3d arguments.length;\nvar i__5770__auto___15577 \x3d (0);\nwhile(true){\nif((i__5770__auto___15577 \x3c len__5769__auto___15576)){\nargs__5775__auto__.push((arguments[i__5770__auto___15577]));\n\nvar G__15578 \x3d (i__5770__auto___15577 + (1));\ni__5770__auto___15577 \x3d G__15578;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__15447){\nvar vec__15448 \x3d p__15447;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15448,(0),null);\nvar vec__15451 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15451,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15451,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15451,(2),null);\nvar name_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),name], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5045__auto__ \x3d header_tag;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265);\n}\n})(),new cljs.core.Keyword(null,\x22type-symbol\x22,\x22type-symbol\x22,-941894755),name_markup], null);\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_type_details_GT_,constructor_fn,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([basis], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([constructor_fn,preview_markup,details_markup_fn], 0))], null)], null);\n}));\n\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$applyTo \x3d (function (seq15445){\nvar G__15446 \x3d cljs.core.first(seq15445);\nvar seq15445__$1 \x3d cljs.core.next(seq15445);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15446,seq15445__$1);\n}));\n\ndevtools.formatters.markup._LT_standalone_type_GT_ \x3d (function devtools$formatters$markup$_LT_standalone_type_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15579 \x3d arguments.length;\nvar i__5770__auto___15580 \x3d (0);\nwhile(true){\nif((i__5770__auto___15580 \x3c len__5769__auto___15579)){\nargs__5775__auto__.push((arguments[i__5770__auto___15580]));\n\nvar G__15581 \x3d (i__5770__auto___15580 + (1));\ni__5770__auto___15580 \x3d G__15581;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__15456){\nvar vec__15457 \x3d p__15456;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15457,(0),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header_tag], 0))], null);\n}));\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$applyTo \x3d (function (seq15454){\nvar G__15455 \x3d cljs.core.first(seq15454);\nvar seq15454__$1 \x3d cljs.core.next(seq15454);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15455,seq15454__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_arity_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arity_GT_(arity_fn){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arity_fn], 0));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_details_GT_(fns){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,fns));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15584 \x3d arguments.length;\nvar i__5770__auto___15585 \x3d (0);\nwhile(true){\nif((i__5770__auto___15585 \x3c len__5769__auto___15584)){\nargs__5775__auto__.push((arguments[i__5770__auto___15585]));\n\nvar G__15586 \x3d (i__5770__auto___15585 + (1));\ni__5770__auto___15585 \x3d G__15586;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fns,p__15462){\nvar vec__15463 \x3d p__15462;\nvar max_fns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15463,(0),null);\nvar max_fns__$1 \x3d (function (){var or__5045__auto__ \x3d max_fns;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fns) \x3e max_fns__$1);\nvar aritites_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fns__$1,fns));\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22protocol-method-arities-header-open-symbol\x22,\x22protocol-method-arities-header-open-symbol\x22,1704200465)], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),aritites_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522)], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-close-symbol\x22,\x22protocol-method-arities-header-close-symbol\x22,-1375237120)], null)], 0));\nif(more_QMARK_){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arities_details_GT_,fns);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,details_markup_fn], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$applyTo \x3d (function (seq15460){\nvar G__15461 \x3d cljs.core.first(seq15460);\nvar seq15460__$1 \x3d cljs.core.next(seq15460);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15461,seq15460__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_GT_(name,arities){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),name], null),devtools.formatters.markup._LT_protocol_method_arities_GT_(arities)], null);\n});\ndevtools.formatters.markup._LT_protocol_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_details_GT_(obj,ns,_name,selector,_fast_QMARK_){\nvar protocol_obj \x3d devtools.munging.get_protocol_object(selector);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),ns], null)], null):null);\nvar native_markups_list \x3d (((!((protocol_obj \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(protocol_obj)], null):null);\nvar methods$ \x3d devtools.munging.collect_protocol_methods(obj,selector);\nvar methods_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__15466){\nvar vec__15467 \x3d p__15466;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15467,(0),null);\nvar arities \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15467,(1),null);\nreturn devtools.formatters.markup._LT_protocol_method_GT_(name,arities);\n}),methods$);\nvar methods_markups_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,methods_markups);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(methods_markups_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_protocol_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15587 \x3d arguments.length;\nvar i__5770__auto___15588 \x3d (0);\nwhile(true){\nif((i__5770__auto___15588 \x3c len__5769__auto___15587)){\nargs__5775__auto__.push((arguments[i__5770__auto___15588]));\n\nvar G__15589 \x3d (i__5770__auto___15588 + (1));\ni__5770__auto___15588 \x3d G__15589;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocol,p__15473){\nvar vec__15474 \x3d p__15473;\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15474,(0),null);\nvar map__15477 \x3d protocol;\nvar map__15477__$1 \x3d cljs.core.__destructure_map(map__15477);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15477__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15477__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar selector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15477__$1,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866));\nvar fast_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15477__$1,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150));\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5045__auto__ \x3d tag;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310);\n}\n})(),name], null);\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(fast_QMARK_)?new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065):new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467)),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794)], null);\nif((!((obj \x3d\x3d null)))){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_protocol_details_GT_,obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([selector,fast_QMARK_], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,preview_markup,details_markup_fn], 0)));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,preview_markup);\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$applyTo \x3d (function (seq15470){\nvar G__15471 \x3d cljs.core.first(seq15470);\nvar seq15470__$1 \x3d cljs.core.next(seq15470);\nvar G__15472 \x3d cljs.core.first(seq15470__$1);\nvar seq15470__$2 \x3d cljs.core.next(seq15470__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15471,G__15472,seq15470__$2);\n}));\n\ndevtools.formatters.markup._LT_more_protocols_GT_ \x3d (function devtools$formatters$markup$_LT_more_protocols_GT_(more_count){\nvar fake_protocol \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),devtools.formatters.helpers.get_more_marker(more_count)], null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic(null,fake_protocol,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865)], 0));\n});\ndevtools.formatters.markup._LT_protocols_list_GT_ \x3d (function devtools$formatters$markup$_LT_protocols_list_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15593 \x3d arguments.length;\nvar i__5770__auto___15594 \x3d (0);\nwhile(true){\nif((i__5770__auto___15594 \x3c len__5769__auto___15593)){\nargs__5775__auto__.push((arguments[i__5770__auto___15594]));\n\nvar G__15595 \x3d (i__5770__auto___15594 + (1));\ni__5770__auto___15594 \x3d G__15595;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocols,p__15481){\nvar vec__15482 \x3d p__15481;\nvar max_protocols \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15482,(0),null);\nvar max_protocols__$1 \x3d (function (){var or__5045__auto__ \x3d max_protocols;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129));\n}\n})();\nvar protocols_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_GT_,obj),protocols);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic(protocols_markups,max_protocols__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825),new cljs.core.Keyword(null,\x22protocols-list-open-symbol\x22,\x22protocols-list-open-symbol\x22,-729713043),new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165),new cljs.core.Keyword(null,\x22protocols-list-close-symbol\x22,\x22protocols-list-close-symbol\x22,652072902),new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),new cljs.core.Keyword(null,\x22header-protocol-separator\x22,\x22header-protocol-separator\x22,445531439),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),devtools.formatters.markup._LT_more_protocols_GT_], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$applyTo \x3d (function (seq15478){\nvar G__15479 \x3d cljs.core.first(seq15478);\nvar seq15478__$1 \x3d cljs.core.next(seq15478);\nvar G__15480 \x3d cljs.core.first(seq15478__$1);\nvar seq15478__$2 \x3d cljs.core.next(seq15478__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15479,G__15480,seq15478__$2);\n}));\n\ndevtools.formatters.markup._LT_field_GT_ \x3d (function devtools$formatters$markup$_LT_field_GT_(name,value){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),(function (p1__15485_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__15485_SHARP_,(1));\n})], 0))], null),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018)], null);\n});\ndevtools.formatters.markup._LT_fields_details_row_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_row_GT_(field){\nvar vec__15486 \x3d field;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15486,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15486,(1),null);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22body-field-symbol\x22,\x22body-field-symbol\x22,256897537),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0))], null)], null)], null);\n});\ndevtools.formatters.markup._LT_fields_GT_ \x3d (function devtools$formatters$markup$_LT_fields_GT_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15596 \x3d arguments.length;\nvar i__5770__auto___15597 \x3d (0);\nwhile(true){\nif((i__5770__auto___15597 \x3c len__5769__auto___15596)){\nargs__5775__auto__.push((arguments[i__5770__auto___15597]));\n\nvar G__15598 \x3d (i__5770__auto___15597 + (1));\ni__5770__auto___15597 \x3d G__15598;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fields,p__15491){\nvar vec__15492 \x3d p__15491;\nvar max_fields \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15492,(0),null);\nif((cljs.core.count(fields) \x3d\x3d\x3d (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979)], null);\n} else {\nvar max_fields__$1 \x3d (function (){var or__5045__auto__ \x3d max_fields;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fields) \x3e max_fields__$1);\nvar fields_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__15495){\nvar vec__15496 \x3d p__15495;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15496,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15496,(1),null);\nreturn devtools.formatters.markup._LT_field_GT_(name,value);\n}),cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fields__$1,fields));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798)], null),fields_markups,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((more_QMARK_)?new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882):null),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116)], null)], 0));\n}\n}));\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$applyTo \x3d (function (seq15489){\nvar G__15490 \x3d cljs.core.first(seq15489);\nvar seq15489__$1 \x3d cljs.core.next(seq15489);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15490,seq15489__$1);\n}));\n\ndevtools.formatters.markup._LT_fields_details_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_GT_(fields,obj){\nvar protocols \x3d devtools.munging.scan_protocols(obj);\nvar has_protocols_QMARK_ \x3d (!(cljs.core.empty_QMARK_(protocols)));\nvar fields_markup \x3d (((!((cljs.core.count(fields) \x3d\x3d\x3d (0)))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776)], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_fields_details_row_GT_,fields))], null):null);\nvar protocols_list_markup \x3d ((has_protocols_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),devtools.formatters.markup._LT_protocols_list_GT_(obj,protocols)], null):null);\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [fields_markup,protocols_list_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_instance_GT_ \x3d (function devtools$formatters$markup$_LT_instance_GT_(value){\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__15499 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar _ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15499,(0),null);\nvar _name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15499,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15499,(2),null);\nvar custom_printing_QMARK_ \x3d (((!((value \x3d\x3d null))))?(((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$))))?true:false):false);\nvar type_markup \x3d devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989)], 0));\nvar fields \x3d devtools.formatters.helpers.fetch_fields_values(value,basis);\nvar fields_markup \x3d devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic(fields,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((custom_printing_QMARK_)?(0):null)], 0));\nvar fields_details_markup_fn \x3d (function (){\nreturn devtools.formatters.markup._LT_fields_details_GT_(fields,value);\n});\nvar fields_preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value,fields_markup,fields_details_markup_fn], 0))], null);\nvar custom_printing_markup \x3d ((custom_printing_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),devtools.formatters.markup.print_via_protocol(value,new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432))], null):null);\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),fields_preview_markup,custom_printing_markup,type_markup], null);\n});\ndevtools.formatters.markup._LT_header_GT_ \x3d (function devtools$formatters$markup$_LT_header_GT_(value){\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_preview_GT_(value)], 0));\n});\ndevtools.formatters.markup._LT_surrogate_header_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_header_GT_(surrogate){\nvar or__5045__auto__ \x3d devtools.formatters.templating.get_surrogate_header(surrogate);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.markup._LT_preview_GT_(devtools.formatters.templating.get_surrogate_target(surrogate));\n}\n});\ndevtools.formatters.markup._LT_surrogate_target_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_target_GT_(surrogate){\nvar target \x3d devtools.formatters.templating.get_surrogate_target(surrogate);\nif(cljs.core.seqable_QMARK_(target)){\nvar starting_index \x3d devtools.formatters.templating.get_surrogate_start_index(surrogate);\nreturn devtools.formatters.markup._LT_details_GT_(target,starting_index);\n} else {\nreturn devtools.formatters.markup._LT_standard_body_reference_GT_(target);\n}\n});\ndevtools.formatters.markup._LT_surrogate_body_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_body_GT_(surrogate){\nvar temp__5802__auto__ \x3d devtools.formatters.templating.get_surrogate_body(surrogate);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar body \x3d temp__5802__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),body)){\nreturn devtools.formatters.markup._LT_surrogate_target_GT_(surrogate);\n} else {\nreturn body;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.markup._LT_atomic_GT_ \x3d (function devtools$formatters$markup$_LT_atomic_GT_(value){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),value,cljs.core.nil_QMARK_))){\nreturn devtools.formatters.markup._LT_nil_GT_();\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),value,devtools.formatters.helpers.bool_QMARK_))){\nreturn devtools.formatters.markup._LT_bool_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),value,cljs.core.string_QMARK_))){\nreturn devtools.formatters.markup._LT_string_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),value,cljs.core.number_QMARK_))){\nreturn devtools.formatters.markup._LT_number_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),value,cljs.core.keyword_QMARK_))){\nreturn devtools.formatters.markup._LT_keyword_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),value,cljs.core.symbol_QMARK_))){\nreturn devtools.formatters.markup._LT_symbol_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),value,devtools.formatters.helpers.should_render_instance_QMARK_))){\nreturn devtools.formatters.markup._LT_instance_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),value,devtools.formatters.helpers.cljs_type_QMARK_))){\nreturn devtools.formatters.markup._LT_standalone_type_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),value,devtools.formatters.helpers.cljs_function_QMARK_))){\nreturn devtools.formatters.markup._LT_function_GT_(value);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\ndevtools.formatters.markup.get_markup_db \x3d (function devtools$formatters$markup$get_markup_db(){\nif((devtools.formatters.markup._STAR_markup_db_STAR_ \x3d\x3d null)){\n(devtools.formatters.markup._STAR_markup_db_STAR_ \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22aligned-body\x22,\x22aligned-body\x22,-2124118747),new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),new cljs.core.Keyword(null,\x22protocol-method-arities\x22,\x22protocol-method-arities\x22,-545542044),new cljs.core.Keyword(null,\x22surrogate-header\x22,\x22surrogate-header\x22,1705524526),new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411),new cljs.core.Keyword(null,\x22more-protocols\x22,\x22more-protocols\x22,359555207),new cljs.core.Keyword(null,\x22field\x22,\x22field\x22,-1302436500),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),new cljs.core.Keyword(null,\x22fields-details\x22,\x22fields-details\x22,-269572714),new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),new cljs.core.Keyword(null,\x22standard-body\x22,\x22standard-body\x22,-1563020798),new cljs.core.Keyword(null,\x22type-basis\x22,\x22type-basis\x22,-1825246054),new cljs.core.Keyword(null,\x22bool\x22,\x22bool\x22,1444635321),new cljs.core.Keyword(null,\x22standalone-type\x22,\x22standalone-type\x22,-802565278),new cljs.core.Keyword(null,\x22preview\x22,\x22preview\x22,451279890),new cljs.core.Keyword(null,\x22header\x22,\x22header\x22,119441134),new cljs.core.Keyword(null,\x22protocol-method\x22,\x22protocol-method\x22,1794903206),new cljs.core.Keyword(null,\x22cljs-land\x22,\x22cljs-land\x22,1255896927),new cljs.core.Keyword(null,\x22type-basis-item\x22,\x22type-basis-item\x22,-1662150132),new cljs.core.Keyword(null,\x22protocol-method-arities-details\x22,\x22protocol-method-arities-details\x22,1944702118),new cljs.core.Keyword(null,\x22fields-details-row\x22,\x22fields-details-row\x22,2066344936),new cljs.core.Keyword(null,\x22standard-body-reference\x22,\x22standard-body-reference\x22,1513301561),new cljs.core.Keyword(null,\x22surrogate-body\x22,\x22surrogate-body\x22,-1618569585),new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22protocol-method-arity\x22,\x22protocol-method-arity\x22,-1861927833),new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),new cljs.core.Keyword(null,\x22type-details\x22,\x22type-details\x22,477755178),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587),new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915),new cljs.core.Keyword(null,\x22surrogate\x22,\x22surrogate\x22,2122284260),new cljs.core.Keyword(null,\x22protocols-list\x22,\x22protocols-list\x22,371434187),new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),new cljs.core.Keyword(null,\x22instance\x22,\x22instance\x22,-2121349050),new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),new cljs.core.Keyword(null,\x22function-details\x22,\x22function-details\x22,1501147310),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),new cljs.core.Keyword(null,\x22arities\x22,\x22arities\x22,-1781122917),new cljs.core.Keyword(null,\x22header-expander\x22,\x22header-expander\x22,-1606368578),new cljs.core.Keyword(null,\x22list-details\x22,\x22list-details\x22,46031799),new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),new cljs.core.Keyword(null,\x22surrogate-target\x22,\x22surrogate-target\x22,-1262730220),new cljs.core.Keyword(null,\x22fields\x22,\x22fields\x22,-1932066230),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438),new cljs.core.Keyword(null,\x22protocol-details\x22,\x22protocol-details\x22,-121549824)],[devtools.formatters.markup._LT_aligned_body_GT_,devtools.formatters.markup._LT_native_reference_GT_,devtools.formatters.markup._LT_reference_surrogate_GT_,devtools.formatters.markup._LT_keyword_GT_,devtools.formatters.markup._LT_protocol_method_arities_GT_,devtools.formatters.markup._LT_surrogate_header_GT_,devtools.formatters.markup._LT_details_GT_,devtools.formatters.markup._LT_more_protocols_GT_,devtools.formatters.markup._LT_field_GT_,devtools.formatters.markup._LT_symbol_GT_,devtools.formatters.markup._LT_fields_details_GT_,devtools.formatters.markup._LT_atomic_GT_,devtools.formatters.markup._LT_string_GT_,devtools.formatters.markup._LT_standard_body_GT_,devtools.formatters.markup._LT_type_basis_GT_,devtools.formatters.markup._LT_bool_GT_,devtools.formatters.markup._LT_standalone_type_GT_,devtools.formatters.markup._LT_preview_GT_,devtools.formatters.markup._LT_header_GT_,devtools.formatters.markup._LT_protocol_method_GT_,devtools.formatters.markup._LT_cljs_land_GT_,devtools.formatters.markup._LT_type_basis_item_GT_,devtools.formatters.markup._LT_protocol_method_arities_details_GT_,devtools.formatters.markup._LT_fields_details_row_GT_,devtools.formatters.markup._LT_standard_body_reference_GT_,devtools.formatters.markup._LT_surrogate_body_GT_,devtools.formatters.markup._LT_expandable_GT_,devtools.formatters.markup._LT_type_GT_,devtools.formatters.markup._LT_protocol_method_arity_GT_,devtools.formatters.markup._LT_raw_surrogate_GT_,devtools.formatters.markup._LT_type_details_GT_,devtools.formatters.markup._LT_list_GT_,devtools.formatters.markup._LT_meta_wrapper_GT_,devtools.formatters.markup._LT_protocol_GT_,devtools.formatters.markup._LT_index_GT_,devtools.formatters.markup._LT_surrogate_GT_,devtools.formatters.markup._LT_protocols_list_GT_,devtools.formatters.markup._LT_meta_GT_,devtools.formatters.markup._LT_instance_GT_,devtools.formatters.markup._LT_reference_GT_,devtools.formatters.markup._LT_function_details_GT_,devtools.formatters.markup._LT_function_GT_,devtools.formatters.markup._LT_arities_GT_,devtools.formatters.markup._LT_header_expander_GT_,devtools.formatters.markup._LT_list_details_GT_,devtools.formatters.markup._LT_circular_reference_GT_,devtools.formatters.markup._LT_surrogate_target_GT_,devtools.formatters.markup._LT_fields_GT_,devtools.formatters.markup._LT_nil_GT_,devtools.formatters.markup._LT_body_GT_,devtools.formatters.markup._LT_number_GT_,devtools.formatters.markup._LT_protocol_details_GT_]));\n} else {\n}\n\nreturn devtools.formatters.markup._STAR_markup_db_STAR_;\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.budgeting.js", true , "goog.provide(\x27devtools.formatters.budgeting\x27);\ndevtools.formatters.budgeting.header_expander_depth_cost \x3d (2);\ndevtools.formatters.budgeting.over_budget_values \x3d (((typeof WeakSet !\x3d\x3d \x27undefined\x27))?(new WeakSet()):cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$add_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__11939__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__11939__auto__[\x22add\x22]).call(o__11939__auto__,value);\n}\n});\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$delete_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.disj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__11939__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__11939__auto__[\x22delete\x22]).call(o__11939__auto__,value);\n}\n});\ndevtools.formatters.budgeting.has_over_budget_value_QMARK_ \x3d (function devtools$formatters$budgeting$has_over_budget_value_QMARK_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value);\n} else {\nvar o__11939__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__11939__auto__[\x22has\x22]).call(o__11939__auto__,value);\n}\n});\ndevtools.formatters.budgeting.object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$object_reference_QMARK_(json_ml){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(json_ml),\x22object\x22);\n});\ndevtools.formatters.budgeting.determine_depth \x3d (function devtools$formatters$budgeting$determine_depth(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.budgeting.determine_depth,json_ml)) + (1));\n} else {\nreturn (0);\n}\n});\ndevtools.formatters.budgeting.has_any_object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$has_any_object_reference_QMARK_(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\nreturn true;\n} else {\nreturn cljs.core.some(devtools.formatters.budgeting.has_any_object_reference_QMARK_,json_ml);\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_ \x3d (function devtools$formatters$budgeting$transfer_remaining_depth_budget_BANG_(object_reference,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nvar data \x3d cljs.core.second(object_reference);\nvar _ \x3d ((cljs.core.object_QMARK_(data))?null:(function(){throw (new Error(\x22Assert failed: (object? data)\x22))})());\nvar config \x3d (data[\x22config\x22]);\nvar G__15599 \x3d data;\nvar target__11946__auto__ \x3d G__15599;\nif(cljs.core.truth_(target__11946__auto__)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__15599)].join(\x27\x27),\x22\\n\x22,\x22target__11946__auto__\x22].join(\x27\x27)));\n}\n\n(target__11946__auto__[\x22config\x22] \x3d devtools.formatters.state.set_depth_budget(config,depth_budget));\n\nreturn G__15599;\n});\ndevtools.formatters.budgeting.distribute_budget_BANG_ \x3d (function devtools$formatters$budgeting$distribute_budget_BANG_(json_ml,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nif(cljs.core.array_QMARK_(json_ml)){\nvar new_depth_budget_15609 \x3d (depth_budget - (1));\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_(json_ml,new_depth_budget_15609);\n} else {\nvar seq__15600_15610 \x3d cljs.core.seq(json_ml);\nvar chunk__15601_15611 \x3d null;\nvar count__15602_15612 \x3d (0);\nvar i__15603_15613 \x3d (0);\nwhile(true){\nif((i__15603_15613 \x3c count__15602_15612)){\nvar item_15614 \x3d chunk__15601_15611.cljs$core$IIndexed$_nth$arity$2(null,i__15603_15613);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_15614,new_depth_budget_15609) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_15614,new_depth_budget_15609));\n\n\nvar G__15616 \x3d seq__15600_15610;\nvar G__15617 \x3d chunk__15601_15611;\nvar G__15618 \x3d count__15602_15612;\nvar G__15619 \x3d (i__15603_15613 + (1));\nseq__15600_15610 \x3d G__15616;\nchunk__15601_15611 \x3d G__15617;\ncount__15602_15612 \x3d G__15618;\ni__15603_15613 \x3d G__15619;\ncontinue;\n} else {\nvar temp__5804__auto___15620 \x3d cljs.core.seq(seq__15600_15610);\nif(temp__5804__auto___15620){\nvar seq__15600_15621__$1 \x3d temp__5804__auto___15620;\nif(cljs.core.chunked_seq_QMARK_(seq__15600_15621__$1)){\nvar c__5568__auto___15622 \x3d cljs.core.chunk_first(seq__15600_15621__$1);\nvar G__15623 \x3d cljs.core.chunk_rest(seq__15600_15621__$1);\nvar G__15624 \x3d c__5568__auto___15622;\nvar G__15625 \x3d cljs.core.count(c__5568__auto___15622);\nvar G__15626 \x3d (0);\nseq__15600_15610 \x3d G__15623;\nchunk__15601_15611 \x3d G__15624;\ncount__15602_15612 \x3d G__15625;\ni__15603_15613 \x3d G__15626;\ncontinue;\n} else {\nvar item_15627 \x3d cljs.core.first(seq__15600_15621__$1);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_15627,new_depth_budget_15609) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_15627,new_depth_budget_15609));\n\n\nvar G__15628 \x3d cljs.core.next(seq__15600_15621__$1);\nvar G__15629 \x3d null;\nvar G__15630 \x3d (0);\nvar G__15631 \x3d (0);\nseq__15600_15610 \x3d G__15628;\nchunk__15601_15611 \x3d G__15629;\ncount__15602_15612 \x3d G__15630;\ni__15603_15613 \x3d G__15631;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n} else {\n}\n\nreturn json_ml;\n});\ndevtools.formatters.budgeting.was_over_budget_QMARK__BANG_ \x3d (function devtools$formatters$budgeting$was_over_budget_QMARK__BANG_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.has_over_budget_value_QMARK_(value))){\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_(value);\n\nreturn true;\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_ \x3d (function devtools$formatters$budgeting$alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml){\nvar temp__5802__auto__ \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar initial_hierarchy_depth_budget \x3d temp__5802__auto__;\nvar remaining_depth_budget \x3d (function (){var or__5045__auto__ \x3d devtools.formatters.state.get_depth_budget();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (initial_hierarchy_depth_budget - (1));\n}\n})();\nvar depth \x3d devtools.formatters.budgeting.determine_depth(json_ml);\nvar final_QMARK_ \x3d cljs.core.not(devtools.formatters.budgeting.has_any_object_reference_QMARK_(json_ml));\nvar needed_depth \x3d ((final_QMARK_)?depth:(depth + devtools.formatters.budgeting.header_expander_depth_cost));\nif((remaining_depth_budget \x3e\x3d needed_depth)){\nreturn devtools.formatters.budgeting.distribute_budget_BANG_(json_ml,remaining_depth_budget);\n} else {\nvar expander_ml \x3d devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_expander_GT_(value));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_(value);\n\nreturn expander_ml;\n}\n} else {\nreturn json_ml;\n}\n});\n"); +SHADOW_ENV.evalLoad("devtools.formatters.core.js", true , "goog.provide(\x27devtools.formatters.core\x27);\ndevtools.formatters.core.want_value_QMARK__STAR_ \x3d (function devtools$formatters$core$want_value_QMARK__STAR_(value){\nvar and__5043__auto__ \x3d cljs.core.not(devtools.formatters.state.prevent_recursion_QMARK_());\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d devtools.formatters.helpers.cljs_value_QMARK_(value);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.templating.surrogate_QMARK_(value);\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ndevtools.formatters.core.header_STAR_ \x3d (function devtools$formatters$core$header_STAR_(value){\nvar json_ml \x3d ((devtools.formatters.templating.surrogate_QMARK_(value))?devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_header_GT_(value)):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e15633){var _e__11955__auto__ \x3d e15633;\nreturn false;\n}})())?devtools.format._header(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e15635){var _e__11955__auto__ \x3d e15635;\nreturn false;\n}})())?devtools.protocols._header(value):devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_GT_(value))\n)));\nreturn devtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml);\n});\ndevtools.formatters.core.has_body_STAR_ \x3d (function devtools$formatters$core$has_body_STAR_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.was_over_budget_QMARK__BANG_(value))){\nreturn false;\n} else {\nreturn cljs.core.boolean$(((devtools.formatters.templating.surrogate_QMARK_(value))?(!((devtools.formatters.templating.get_surrogate_body(value) \x3d\x3d null))):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e15641){var _e__11955__auto__ \x3d e15641;\nreturn false;\n}})())?devtools.format._has_body(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e15643){var _e__11955__auto__ \x3d e15643;\nreturn false;\n}})())?devtools.protocols._has_body(value):false\n))));\n}\n});\ndevtools.formatters.core.body_STAR_ \x3d (function devtools$formatters$core$body_STAR_(value){\ndevtools.formatters.state.update_current_state_BANG_(devtools.formatters.state.reset_depth_limits);\n\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_body_GT_(value));\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e15645){var _e__11955__auto__ \x3d e15645;\nreturn false;\n}})())){\nreturn devtools.format._body(value);\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e15647){var _e__11955__auto__ \x3d e15647;\nreturn false;\n}})())){\nreturn devtools.protocols._body(value);\n} else {\nreturn null;\n}\n}\n}\n});\ndevtools.formatters.core.config_wrapper \x3d (function devtools$formatters$core$config_wrapper(raw_fn){\nreturn (function (value,config){\nvar _STAR_current_state_STAR__orig_val__15653 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__15654 \x3d (function (){var or__5045__auto__ \x3d config;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn devtools.formatters.state.get_default_state();\n}\n})();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__15654);\n\ntry{return (raw_fn.cljs$core$IFn$_invoke$arity$1 ? raw_fn.cljs$core$IFn$_invoke$arity$1(value) : raw_fn.call(null,value));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__15653);\n}});\n});\ndevtools.formatters.core.want_value_QMARK_ \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.want_value_QMARK__STAR_);\ndevtools.formatters.core.header \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.header_STAR_);\ndevtools.formatters.core.has_body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.has_body_STAR_);\ndevtools.formatters.core.body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.body_STAR_);\ndevtools.formatters.core.wrap_with_exception_guard \x3d (function devtools$formatters$core$wrap_with_exception_guard(f){\nreturn (function() { \nvar G__15657__delegate \x3d function (args){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e15655){var e \x3d e15655;\ndevtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic(e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22an exception was raised during value formatting\x22], 0));\n\nreturn null;\n}};\nvar G__15657 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15658__i \x3d 0, G__15658__a \x3d new Array(arguments.length - 0);\nwhile (G__15658__i \x3c G__15658__a.length) {G__15658__a[G__15658__i] \x3d arguments[G__15658__i + 0]; ++G__15658__i;}\n args \x3d new cljs.core.IndexedSeq(G__15658__a,0,null);\n} \nreturn G__15657__delegate.call(this,args);};\nG__15657.cljs$lang$maxFixedArity \x3d 0;\nG__15657.cljs$lang$applyTo \x3d (function (arglist__15659){\nvar args \x3d cljs.core.seq(arglist__15659);\nreturn G__15657__delegate(args);\n});\nG__15657.cljs$core$IFn$_invoke$arity$variadic \x3d G__15657__delegate;\nreturn G__15657;\n})()\n;\n});\ndevtools.formatters.core.build_api_call \x3d (function devtools$formatters$core$build_api_call(raw_fn,pre_handler_key,post_handler_key){\n\nvar handler \x3d (function (value,config){\nvar pre_handler \x3d (function (){var or__5045__auto__ \x3d devtools.prefs.pref(pre_handler_key);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar post_handler \x3d (function (){var or__5045__auto__ \x3d devtools.prefs.pref(post_handler_key);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar preprocessed_value \x3d (pre_handler.cljs$core$IFn$_invoke$arity$1 ? pre_handler.cljs$core$IFn$_invoke$arity$1(value) : pre_handler.call(null,value));\nvar result \x3d (cljs.core.truth_(devtools.formatters.core.want_value_QMARK_(preprocessed_value,config))?(raw_fn.cljs$core$IFn$_invoke$arity$2 ? raw_fn.cljs$core$IFn$_invoke$arity$2(preprocessed_value,config) : raw_fn.call(null,preprocessed_value,config)):null);\nreturn (post_handler.cljs$core$IFn$_invoke$arity$1 ? post_handler.cljs$core$IFn$_invoke$arity$1(result) : post_handler.call(null,result));\n});\nreturn devtools.formatters.core.wrap_with_exception_guard(handler);\n});\ndevtools.formatters.core.header_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.header,new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22header-post-handler\x22,\x22header-post-handler\x22,514828618));\ndevtools.formatters.core.has_body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.has_body,new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271));\ndevtools.formatters.core.body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.body,new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424));\n"); +SHADOW_ENV.evalLoad("devtools.formatters.js", true , "goog.provide(\x27devtools.formatters\x27);\ngoog.scope(function(){\n devtools.formatters.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.formatters._STAR_installed_STAR_ \x3d false;\ndevtools.formatters._STAR_sanitizer_enabled_STAR_ \x3d true;\ndevtools.formatters._STAR_monitor_enabled_STAR_ \x3d false;\ndevtools.formatters.obsolete_formatter_key \x3d \x22devtoolsFormatter\x22;\ndevtools.formatters.available_QMARK_ \x3d (function devtools$formatters$available_QMARK_(){\nvar or__5045__auto__ \x3d devtools.util.in_node_context_QMARK_.call(null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((47));\n} else {\nreturn and__5043__auto__;\n}\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.formatters.CLJSDevtoolsFormatter \x3d (function (){\n});\n\n(devtools.formatters.CLJSDevtoolsFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$type \x3d true);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorStr \x3d \x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters/CLJSDevtoolsFormatter.\n */\ndevtools.formatters.__GT_CLJSDevtoolsFormatter \x3d (function devtools$formatters$__GT_CLJSDevtoolsFormatter(){\nreturn (new devtools.formatters.CLJSDevtoolsFormatter());\n});\n\ndevtools.formatters.find_fn_in_debug_ns \x3d (function devtools$formatters$find_fn_in_debug_ns(fn_name){\ntry{return (devtools.context.get_root.call(null)[\x22devtools\x22][\x22debug\x22][fn_name]);\n}catch (e15660){var _ \x3d e15660;\nreturn null;\n}});\ndevtools.formatters.monitor_api_call_if_avail \x3d (function devtools$formatters$monitor_api_call_if_avail(name,api_call,args){\nvar temp__5802__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22monitor_api_call\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar monitor_api_call \x3d temp__5802__auto__;\nreturn (monitor_api_call.cljs$core$IFn$_invoke$arity$3 ? monitor_api_call.cljs$core$IFn$_invoke$arity$3(name,api_call,args) : monitor_api_call.call(null,name,api_call,args));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}\n});\ndevtools.formatters.log_exception_if_avail \x3d (function devtools$formatters$log_exception_if_avail(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15681 \x3d arguments.length;\nvar i__5770__auto___15682 \x3d (0);\nwhile(true){\nif((i__5770__auto___15682 \x3c len__5769__auto___15681)){\nargs__5775__auto__.push((arguments[i__5770__auto___15682]));\n\nvar G__15683 \x3d (i__5770__auto___15682 + (1));\ni__5770__auto___15682 \x3d G__15683;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar temp__5802__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22log_exception\x22);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar log_exception \x3d temp__5802__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(log_exception,args);\n} else {\nreturn null;\n}\n}));\n\n(devtools.formatters.log_exception_if_avail.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.log_exception_if_avail.cljs$lang$applyTo \x3d (function (seq15665){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15665));\n}));\n\ndevtools.formatters.monitor_api_calls \x3d (function devtools$formatters$monitor_api_calls(name,api_call){\nreturn (function() { \nvar G__15684__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_monitor_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\nreturn devtools.formatters.monitor_api_call_if_avail(name,api_call,args);\n}\n};\nvar G__15684 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15685__i \x3d 0, G__15685__a \x3d new Array(arguments.length - 0);\nwhile (G__15685__i \x3c G__15685__a.length) {G__15685__a[G__15685__i] \x3d arguments[G__15685__i + 0]; ++G__15685__i;}\n args \x3d new cljs.core.IndexedSeq(G__15685__a,0,null);\n} \nreturn G__15684__delegate.call(this,args);};\nG__15684.cljs$lang$maxFixedArity \x3d 0;\nG__15684.cljs$lang$applyTo \x3d (function (arglist__15686){\nvar args \x3d cljs.core.seq(arglist__15686);\nreturn G__15684__delegate(args);\n});\nG__15684.cljs$core$IFn$_invoke$arity$variadic \x3d G__15684__delegate;\nreturn G__15684;\n})()\n;\n});\ndevtools.formatters.sanitize \x3d (function devtools$formatters$sanitize(name,api_call){\nreturn (function() { \nvar G__15687__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_sanitizer_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}catch (e15677){var e \x3d e15677;\ndevtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(\x27\x27)], 0));\n\nreturn null;\n}}\n};\nvar G__15687 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__15688__i \x3d 0, G__15688__a \x3d new Array(arguments.length - 0);\nwhile (G__15688__i \x3c G__15688__a.length) {G__15688__a[G__15688__i] \x3d arguments[G__15688__i + 0]; ++G__15688__i;}\n args \x3d new cljs.core.IndexedSeq(G__15688__a,0,null);\n} \nreturn G__15687__delegate.call(this,args);};\nG__15687.cljs$lang$maxFixedArity \x3d 0;\nG__15687.cljs$lang$applyTo \x3d (function (arglist__15689){\nvar args \x3d cljs.core.seq(arglist__15689);\nreturn G__15687__delegate(args);\n});\nG__15687.cljs$core$IFn$_invoke$arity$variadic \x3d G__15687__delegate;\nreturn G__15687;\n})()\n;\n});\ndevtools.formatters.build_cljs_formatter \x3d (function devtools$formatters$build_cljs_formatter(){\nvar wrap \x3d (function (name,api_call){\nvar monitor \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.monitor_api_calls,name);\nvar sanitizer \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.sanitize,name);\ncljs.core.comp.cljs$core$IFn$_invoke$arity$2(monitor,sanitizer)(api_call);\n\nreturn api_call;\n});\nvar formatter \x3d (new devtools.formatters.CLJSDevtoolsFormatter());\nvar define_BANG_ \x3d (function (name,fn){\nreturn (formatter[name] \x3d wrap(name,fn));\n});\ndefine_BANG_(\x22header\x22,devtools.formatters.core.header_api_call);\n\ndefine_BANG_(\x22hasBody\x22,devtools.formatters.core.has_body_api_call);\n\ndefine_BANG_(\x22body\x22,devtools.formatters.core.body_api_call);\n\nreturn formatter;\n});\ndevtools.formatters.is_ours_QMARK_ \x3d (function devtools$formatters$is_ours_QMARK_(o){\nreturn (o instanceof devtools.formatters.CLJSDevtoolsFormatter);\n});\ndevtools.formatters.present_QMARK_ \x3d (function devtools$formatters$present_QMARK_(){\nvar formatters \x3d devtools.util.get_formatters_safe();\nreturn cljs.core.boolean$(cljs.core.some(devtools.formatters.is_ours_QMARK_,formatters));\n});\ndevtools.formatters.install_our_formatter_BANG_ \x3d (function devtools$formatters$install_our_formatter_BANG_(formatter){\nvar formatters \x3d devtools.util.get_formatters_safe().slice();\nformatters.push(formatter);\n\ndevtools.util.set_formatters_safe_BANG_(formatters);\n\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22legacy-formatter\x22,\x22legacy-formatter\x22,-1954119499)))){\nreturn (devtools.context.get_root.call(null)[devtools.formatters.obsolete_formatter_key] \x3d formatter);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.uninstall_our_formatters_BANG_ \x3d (function devtools$formatters$uninstall_our_formatters_BANG_(){\nvar new_formatters \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.is_ours_QMARK_,cljs.core.vec(devtools.util.get_formatters_safe()));\nvar new_formatters_js \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(new_formatters));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters_js);\n});\ndevtools.formatters.installed_QMARK_ \x3d (function devtools$formatters$installed_QMARK_(){\nreturn devtools.formatters._STAR_installed_STAR_;\n});\ndevtools.formatters.install_BANG_ \x3d (function devtools$formatters$install_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.formatters._STAR_installed_STAR_ \x3d true);\n\ndevtools.formatters.install_our_formatter_BANG_(devtools.formatters.build_cljs_formatter());\n\nreturn true;\n}\n});\ndevtools.formatters.uninstall_BANG_ \x3d (function devtools$formatters$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\n(devtools.formatters._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.formatters.uninstall_our_formatters_BANG_();\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("goog.debug.entrypointregistry.js", true , "goog.provide(\x22goog.debug.EntryPointMonitor\x22);\ngoog.provide(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.debug.entryPointRegistry.EntryPointMonitor \x3d function() {\n};\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.wrap;\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.unwrap;\ngoog.debug.EntryPointMonitor \x3d goog.debug.entryPointRegistry.EntryPointMonitor;\ngoog.debug.entryPointRegistry.refList_ \x3d [];\ngoog.debug.entryPointRegistry.monitors_ \x3d [];\ngoog.debug.entryPointRegistry.monitorsMayExist_ \x3d false;\ngoog.debug.entryPointRegistry.register \x3d function(callback) {\n goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] \x3d callback;\n if (goog.debug.entryPointRegistry.monitorsMayExist_) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n for (var i \x3d 0; i \x3c monitors.length; i++) {\n callback(goog.bind(monitors[i].wrap, monitors[i]));\n }\n }\n};\ngoog.debug.entryPointRegistry.monitorAll \x3d function(monitor) {\n goog.debug.entryPointRegistry.monitorsMayExist_ \x3d true;\n var transformer \x3d goog.bind(monitor.wrap, monitor);\n for (var i \x3d 0; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n goog.debug.entryPointRegistry.monitors_.push(monitor);\n};\ngoog.debug.entryPointRegistry.unmonitorAllIfPossible \x3d function(monitor) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n goog.asserts.assert(monitor \x3d\x3d monitors[monitors.length - 1], \x22Only the most recent monitor can be unwrapped.\x22);\n var transformer \x3d goog.bind(monitor.unwrap, monitor);\n for (var i \x3d 0; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n monitors.length--;\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.browserfeature.js", true , "goog.provide(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_NO_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.detectOffscreenCanvas_ \x3d function(contextName) {\n try {\n return Boolean((new self.OffscreenCanvas(0, 0)).getContext(contextName));\n } catch (ex) {\n }\n return false;\n};\ngoog.dom.BrowserFeature.OFFSCREEN_CANVAS_2D \x3d !goog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x26\x26 (goog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS || goog.dom.BrowserFeature.detectOffscreenCanvas_(\x222d\x22));\ngoog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_INNER_TEXT \x3d false;\ngoog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY \x3d goog.userAgent.IE || goog.userAgent.WEBKIT;\ngoog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT \x3d goog.userAgent.IE;\n"); +SHADOW_ENV.evalLoad("goog.math.math.js", true , "goog.provide(\x22goog.math\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.math.randomInt \x3d function(a) {\n return Math.floor(Math.random() * a);\n};\ngoog.math.uniformRandom \x3d function(a, b) {\n return a + Math.random() * (b - a);\n};\ngoog.math.clamp \x3d function(value, min, max) {\n return Math.min(Math.max(value, min), max);\n};\ngoog.math.modulo \x3d function(a, b) {\n var r \x3d a % b;\n return r * b \x3c 0 ? r + b : r;\n};\ngoog.math.lerp \x3d function(a, b, x) {\n return a + x * (b - a);\n};\ngoog.math.nearlyEquals \x3d function(a, b, opt_tolerance) {\n return Math.abs(a - b) \x3c\x3d (opt_tolerance || 0.000001);\n};\ngoog.math.standardAngle \x3d function(angle) {\n return goog.math.modulo(angle, 360);\n};\ngoog.math.standardAngleInRadians \x3d function(angle) {\n return goog.math.modulo(angle, 2 * Math.PI);\n};\ngoog.math.toRadians \x3d function(angleDegrees) {\n return angleDegrees * Math.PI / 180;\n};\ngoog.math.toDegrees \x3d function(angleRadians) {\n return angleRadians * 180 / Math.PI;\n};\ngoog.math.angleDx \x3d function(degrees, radius) {\n return radius * Math.cos(goog.math.toRadians(degrees));\n};\ngoog.math.angleDy \x3d function(degrees, radius) {\n return radius * Math.sin(goog.math.toRadians(degrees));\n};\ngoog.math.angle \x3d function(x1, y1, x2, y2) {\n return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(y2 - y1, x2 - x1)));\n};\ngoog.math.angleDifference \x3d function(startAngle, endAngle) {\n var d \x3d goog.math.standardAngle(endAngle) - goog.math.standardAngle(startAngle);\n if (d \x3e 180) {\n d \x3d d - 360;\n } else if (d \x3c\x3d -180) {\n d \x3d 360 + d;\n }\n return d;\n};\ngoog.math.sign \x3d function(x) {\n if (x \x3e 0) {\n return 1;\n }\n if (x \x3c 0) {\n return -1;\n }\n return x;\n};\ngoog.math.longestCommonSubsequence \x3d function(array1, array2, opt_compareFn, opt_collectorFn) {\n var compare \x3d opt_compareFn || function(a, b) {\n return a \x3d\x3d b;\n };\n var collect \x3d opt_collectorFn || function(i1, i2) {\n return array1[i1];\n };\n var length1 \x3d array1.length;\n var length2 \x3d array2.length;\n var arr \x3d [];\n for (var i \x3d 0; i \x3c length1 + 1; i++) {\n arr[i] \x3d [];\n arr[i][0] \x3d 0;\n }\n for (var j \x3d 0; j \x3c length2 + 1; j++) {\n arr[0][j] \x3d 0;\n }\n for (i \x3d 1; i \x3c\x3d length1; i++) {\n for (j \x3d 1; j \x3c\x3d length2; j++) {\n if (compare(array1[i - 1], array2[j - 1])) {\n arr[i][j] \x3d arr[i - 1][j - 1] + 1;\n } else {\n arr[i][j] \x3d Math.max(arr[i - 1][j], arr[i][j - 1]);\n }\n }\n }\n var result \x3d [];\n var i \x3d length1, j \x3d length2;\n while (i \x3e 0 \x26\x26 j \x3e 0) {\n if (compare(array1[i - 1], array2[j - 1])) {\n result.unshift(collect(i - 1, j - 1));\n i--;\n j--;\n } else {\n if (arr[i - 1][j] \x3e arr[i][j - 1]) {\n i--;\n } else {\n j--;\n }\n }\n }\n return result;\n};\ngoog.math.sum \x3d function(var_args) {\n return Array.prototype.reduce.call(arguments, function(sum, value) {\n return sum + value;\n }, 0);\n};\ngoog.math.average \x3d function(var_args) {\n return goog.math.sum.apply(null, arguments) / arguments.length;\n};\ngoog.math.sampleVariance \x3d function(var_args) {\n var sampleSize \x3d arguments.length;\n if (sampleSize \x3c 2) {\n return 0;\n }\n var mean \x3d goog.math.average.apply(null, arguments);\n var variance \x3d goog.math.sum.apply(null, Array.prototype.map.call(arguments, function(val) {\n return Math.pow(val - mean, 2);\n })) / (sampleSize - 1);\n return variance;\n};\ngoog.math.standardDeviation \x3d function(var_args) {\n return Math.sqrt(goog.math.sampleVariance.apply(null, arguments));\n};\ngoog.math.isInt \x3d function(num) {\n return isFinite(num) \x26\x26 num % 1 \x3d\x3d 0;\n};\ngoog.math.isFiniteNumber \x3d function(num) {\n return isFinite(num);\n};\ngoog.math.isNegativeZero \x3d function(num) {\n return num \x3d\x3d 0 \x26\x26 1 / num \x3c 0;\n};\ngoog.math.log10Floor \x3d function(num) {\n if (num \x3e 0) {\n var x \x3d Math.round(Math.log(num) * Math.LOG10E);\n return x - (parseFloat(\x221e\x22 + x) \x3e num ? 1 : 0);\n }\n return num \x3d\x3d 0 ? -Infinity : NaN;\n};\ngoog.math.safeFloor \x3d function(num, opt_epsilon) {\n goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n return Math.floor(num + (opt_epsilon || 2e-15));\n};\ngoog.math.safeCeil \x3d function(num, opt_epsilon) {\n goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n return Math.ceil(num - (opt_epsilon || 2e-15));\n};\n"); +SHADOW_ENV.evalLoad("goog.math.coordinate.js", true , "goog.provide(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math\x22);\ngoog.math.Coordinate \x3d function(opt_x, opt_y) {\n this.x \x3d opt_x !\x3d\x3d undefined ? opt_x : 0;\n this.y \x3d opt_y !\x3d\x3d undefined ? opt_y : 0;\n};\ngoog.math.Coordinate.prototype.clone \x3d function() {\n return new goog.math.Coordinate(this.x, this.y);\n};\nif (goog.DEBUG) {\n goog.math.Coordinate.prototype.toString \x3d function() {\n return \x22(\x22 + this.x + \x22, \x22 + this.y + \x22)\x22;\n };\n}\ngoog.math.Coordinate.prototype.equals \x3d function(other) {\n return other instanceof goog.math.Coordinate \x26\x26 goog.math.Coordinate.equals(this, other);\n};\ngoog.math.Coordinate.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.x \x3d\x3d b.x \x26\x26 a.y \x3d\x3d b.y;\n};\ngoog.math.Coordinate.distance \x3d function(a, b) {\n var dx \x3d a.x - b.x;\n var dy \x3d a.y - b.y;\n return Math.sqrt(dx * dx + dy * dy);\n};\ngoog.math.Coordinate.magnitude \x3d function(a) {\n return Math.sqrt(a.x * a.x + a.y * a.y);\n};\ngoog.math.Coordinate.azimuth \x3d function(a) {\n return goog.math.angle(0, 0, a.x, a.y);\n};\ngoog.math.Coordinate.squaredDistance \x3d function(a, b) {\n var dx \x3d a.x - b.x;\n var dy \x3d a.y - b.y;\n return dx * dx + dy * dy;\n};\ngoog.math.Coordinate.difference \x3d function(a, b) {\n return new goog.math.Coordinate(a.x - b.x, a.y - b.y);\n};\ngoog.math.Coordinate.sum \x3d function(a, b) {\n return new goog.math.Coordinate(a.x + b.x, a.y + b.y);\n};\ngoog.math.Coordinate.prototype.ceil \x3d function() {\n this.x \x3d Math.ceil(this.x);\n this.y \x3d Math.ceil(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.floor \x3d function() {\n this.x \x3d Math.floor(this.x);\n this.y \x3d Math.floor(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.round \x3d function() {\n this.x \x3d Math.round(this.x);\n this.y \x3d Math.round(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.x +\x3d tx.x;\n this.y +\x3d tx.y;\n } else {\n this.x +\x3d Number(tx);\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.y +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Coordinate.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.x *\x3d sx;\n this.y *\x3d sy;\n return this;\n};\ngoog.math.Coordinate.prototype.rotateRadians \x3d function(radians, opt_center) {\n var center \x3d opt_center || new goog.math.Coordinate(0, 0);\n var x \x3d this.x;\n var y \x3d this.y;\n var cos \x3d Math.cos(radians);\n var sin \x3d Math.sin(radians);\n this.x \x3d (x - center.x) * cos - (y - center.y) * sin + center.x;\n this.y \x3d (x - center.x) * sin + (y - center.y) * cos + center.y;\n};\ngoog.math.Coordinate.prototype.rotateDegrees \x3d function(degrees, opt_center) {\n this.rotateRadians(goog.math.toRadians(degrees), opt_center);\n};\n"); +SHADOW_ENV.evalLoad("goog.math.size.js", true , "goog.provide(\x22goog.math.Size\x22);\ngoog.math.Size \x3d function(width, height) {\n this.width \x3d width;\n this.height \x3d height;\n};\ngoog.math.Size.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.width \x3d\x3d b.width \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Size.prototype.clone \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\nif (goog.DEBUG) {\n goog.math.Size.prototype.toString \x3d function() {\n return \x22(\x22 + this.width + \x22 x \x22 + this.height + \x22)\x22;\n };\n}\ngoog.math.Size.prototype.getLongest \x3d function() {\n return Math.max(this.width, this.height);\n};\ngoog.math.Size.prototype.getShortest \x3d function() {\n return Math.min(this.width, this.height);\n};\ngoog.math.Size.prototype.area \x3d function() {\n return this.width * this.height;\n};\ngoog.math.Size.prototype.perimeter \x3d function() {\n return (this.width + this.height) * 2;\n};\ngoog.math.Size.prototype.aspectRatio \x3d function() {\n return this.width / this.height;\n};\ngoog.math.Size.prototype.isEmpty \x3d function() {\n return !this.area();\n};\ngoog.math.Size.prototype.ceil \x3d function() {\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Size.prototype.fitsInside \x3d function(target) {\n return this.width \x3c\x3d target.width \x26\x26 this.height \x3c\x3d target.height;\n};\ngoog.math.Size.prototype.floor \x3d function() {\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Size.prototype.round \x3d function() {\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Size.prototype.scale \x3d function(sx, opt_sy) {\n const sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.width *\x3d sx;\n this.height *\x3d sy;\n return this;\n};\ngoog.math.Size.prototype.scaleToCover \x3d function(target) {\n const s \x3d this.aspectRatio() \x3c\x3d target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\ngoog.math.Size.prototype.scaleToFit \x3d function(target) {\n const s \x3d this.aspectRatio() \x3e target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.dom.js", true , "goog.provide(\x22goog.dom\x22);\ngoog.provide(\x22goog.dom.Appendable\x22);\ngoog.provide(\x22goog.dom.DomHelper\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.ASSUME_QUIRKS_MODE \x3d goog.define(\x22goog.dom.ASSUME_QUIRKS_MODE\x22, false);\ngoog.dom.ASSUME_STANDARDS_MODE \x3d goog.define(\x22goog.dom.ASSUME_STANDARDS_MODE\x22, false);\ngoog.dom.COMPAT_MODE_KNOWN_ \x3d goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;\ngoog.dom.getDomHelper \x3d function(opt_element) {\n return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ \x3d new goog.dom.DomHelper());\n};\ngoog.dom.defaultDomHelper_;\ngoog.dom.getDocument \x3d function() {\n return document;\n};\ngoog.dom.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(document, element);\n};\ngoog.dom.getHTMLElement \x3d function(id) {\n const element \x3d goog.dom.getElement(id);\n if (!element) {\n return null;\n }\n return goog.asserts.assertInstanceof(element, HTMLElement);\n};\ngoog.dom.getElementHelper_ \x3d function(doc, element) {\n return typeof element \x3d\x3d\x3d \x22string\x22 ? doc.getElementById(element) : element;\n};\ngoog.dom.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(document, id);\n};\ngoog.dom.getRequiredHTMLElement \x3d function(id) {\n return goog.asserts.assertInstanceof(goog.dom.getRequiredElementHelper_(document, id), HTMLElement);\n};\ngoog.dom.getRequiredElementHelper_ \x3d function(doc, id) {\n goog.asserts.assertString(id);\n var element \x3d goog.dom.getElementHelper_(doc, id);\n element \x3d goog.asserts.assertElement(element, \x22No element found with id: \x22 + id);\n return element;\n};\ngoog.dom.$ \x3d goog.dom.getElement;\ngoog.dom.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || document;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementsByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n if (goog.dom.canUseQuerySelector_(parent)) {\n return parent.querySelectorAll(\x22.\x22 + className);\n }\n return goog.dom.getElementsByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n};\ngoog.dom.getElementByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n var retVal \x3d null;\n if (parent.getElementsByClassName) {\n retVal \x3d parent.getElementsByClassName(className)[0];\n } else {\n retVal \x3d goog.dom.getElementByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n }\n return retVal || null;\n};\ngoog.dom.getHTMLElementByClass \x3d function(className, opt_parent) {\n const element \x3d goog.dom.getElementByClass(className, opt_parent);\n if (!element) {\n return null;\n }\n return goog.asserts.assertInstanceof(element, HTMLElement);\n};\ngoog.dom.getRequiredElementByClass \x3d function(className, opt_root) {\n var retValue \x3d goog.dom.getElementByClass(className, opt_root);\n return goog.asserts.assert(retValue, \x22No element found with className: \x22 + className);\n};\ngoog.dom.getRequiredHTMLElementByClass \x3d function(className, opt_parent) {\n const retValue \x3d goog.dom.getElementByClass(className, opt_parent);\n return goog.asserts.assertInstanceof(retValue, HTMLElement, \x22No HTMLElement found with className: \x22 + className);\n};\ngoog.dom.canUseQuerySelector_ \x3d function(parent) {\n return !!(parent.querySelectorAll \x26\x26 parent.querySelector);\n};\ngoog.dom.getElementsByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tagName \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tagName || opt_class)) {\n var query \x3d tagName + (opt_class ? \x22.\x22 + opt_class : \x22\x22);\n return parent.querySelectorAll(query);\n }\n if (opt_class \x26\x26 parent.getElementsByClassName) {\n var els \x3d parent.getElementsByClassName(opt_class);\n if (tagName) {\n var arrayLike \x3d {};\n var len \x3d 0;\n for (var i \x3d 0, el; el \x3d els[i]; i++) {\n if (tagName \x3d\x3d el.nodeName) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n }\n var els \x3d parent.getElementsByTagName(tagName || \x22*\x22);\n if (opt_class) {\n var arrayLike \x3d {};\n var len \x3d 0;\n for (var i \x3d 0, el; el \x3d els[i]; i++) {\n var className \x3d el.className;\n if (typeof className.split \x3d\x3d \x22function\x22 \x26\x26 goog.array.contains(className.split(/\\s+/), opt_class)) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n};\ngoog.dom.getElementByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tag \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tag || opt_class)) {\n return parent.querySelector(tag + (opt_class ? \x22.\x22 + opt_class : \x22\x22));\n }\n var elements \x3d goog.dom.getElementsByTagNameAndClass_(doc, opt_tag, opt_class, opt_el);\n return elements[0] || null;\n};\ngoog.dom.$$ \x3d goog.dom.getElementsByTagNameAndClass;\ngoog.dom.setProperties \x3d function(element, properties) {\n goog.object.forEach(properties, function(val, key) {\n if (val \x26\x26 typeof val \x3d\x3d \x22object\x22 \x26\x26 val.implementsGoogStringTypedString) {\n val \x3d val.getTypedStringValue();\n }\n if (key \x3d\x3d \x22style\x22) {\n element.style.cssText \x3d val;\n } else if (key \x3d\x3d \x22class\x22) {\n element.className \x3d val;\n } else if (key \x3d\x3d \x22for\x22) {\n element.htmlFor \x3d val;\n } else if (goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(key)) {\n element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val);\n } else if (goog.string.startsWith(key, \x22aria-\x22) || goog.string.startsWith(key, \x22data-\x22)) {\n element.setAttribute(key, val);\n } else {\n element[key] \x3d val;\n }\n });\n};\ngoog.dom.DIRECT_ATTRIBUTE_MAP_ \x3d {\x22cellpadding\x22:\x22cellPadding\x22, \x22cellspacing\x22:\x22cellSpacing\x22, \x22colspan\x22:\x22colSpan\x22, \x22frameborder\x22:\x22frameBorder\x22, \x22height\x22:\x22height\x22, \x22maxlength\x22:\x22maxLength\x22, \x22nonce\x22:\x22nonce\x22, \x22role\x22:\x22role\x22, \x22rowspan\x22:\x22rowSpan\x22, \x22type\x22:\x22type\x22, \x22usemap\x22:\x22useMap\x22, \x22valign\x22:\x22vAlign\x22, \x22width\x22:\x22width\x22};\ngoog.dom.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize_(opt_window || window);\n};\ngoog.dom.getViewportSize_ \x3d function(win) {\n var doc \x3d win.document;\n var el \x3d goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;\n return new goog.math.Size(el.clientWidth, el.clientHeight);\n};\ngoog.dom.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(window);\n};\ngoog.dom.getDocumentHeightForWindow \x3d function(win) {\n return goog.dom.getDocumentHeight_(win);\n};\ngoog.dom.getDocumentHeight_ \x3d function(win) {\n var doc \x3d win.document;\n var height \x3d 0;\n if (doc) {\n var body \x3d doc.body;\n var docEl \x3d doc.documentElement;\n if (!(docEl \x26\x26 body)) {\n return 0;\n }\n var vh \x3d goog.dom.getViewportSize_(win).height;\n if (goog.dom.isCss1CompatMode_(doc) \x26\x26 docEl.scrollHeight) {\n height \x3d docEl.scrollHeight !\x3d vh ? docEl.scrollHeight : docEl.offsetHeight;\n } else {\n var sh \x3d docEl.scrollHeight;\n var oh \x3d docEl.offsetHeight;\n if (docEl.clientHeight !\x3d oh) {\n sh \x3d body.scrollHeight;\n oh \x3d body.offsetHeight;\n }\n if (sh \x3e vh) {\n height \x3d sh \x3e oh ? sh : oh;\n } else {\n height \x3d sh \x3c oh ? sh : oh;\n }\n }\n }\n return height;\n};\ngoog.dom.getPageScroll \x3d function(opt_window) {\n var win \x3d opt_window || goog.global || window;\n return goog.dom.getDomHelper(win.document).getDocumentScroll();\n};\ngoog.dom.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(document);\n};\ngoog.dom.getDocumentScroll_ \x3d function(doc) {\n var el \x3d goog.dom.getDocumentScrollElement_(doc);\n var win \x3d goog.dom.getWindow_(doc);\n if (goog.userAgent.IE \x26\x26 goog.userAgent.isVersionOrHigher(\x2210\x22) \x26\x26 win.pageYOffset !\x3d el.scrollTop) {\n return new goog.math.Coordinate(el.scrollLeft, el.scrollTop);\n }\n return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);\n};\ngoog.dom.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(document);\n};\ngoog.dom.getDocumentScrollElement_ \x3d function(doc) {\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n if (!goog.userAgent.WEBKIT \x26\x26 goog.dom.isCss1CompatMode_(doc)) {\n return doc.documentElement;\n }\n return doc.body || doc.documentElement;\n};\ngoog.dom.getWindow \x3d function(opt_doc) {\n return opt_doc ? goog.dom.getWindow_(opt_doc) : window;\n};\ngoog.dom.getWindow_ \x3d function(doc) {\n return doc.parentWindow || doc.defaultView;\n};\ngoog.dom.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(document, arguments);\n};\ngoog.dom.createDom_ \x3d function(doc, args) {\n var tagName \x3d String(args[0]);\n var attributes \x3d args[1];\n var element \x3d goog.dom.createElement_(doc, tagName);\n if (attributes) {\n if (typeof attributes \x3d\x3d\x3d \x22string\x22) {\n element.className \x3d attributes;\n } else if (Array.isArray(attributes)) {\n element.className \x3d attributes.join(\x22 \x22);\n } else {\n goog.dom.setProperties(element, attributes);\n }\n }\n if (args.length \x3e 2) {\n goog.dom.append_(doc, element, args, 2);\n }\n return element;\n};\ngoog.dom.append_ \x3d function(doc, parent, args, startIndex) {\n function childHandler(child) {\n if (child) {\n parent.appendChild(typeof child \x3d\x3d\x3d \x22string\x22 ? doc.createTextNode(child) : child);\n }\n }\n for (var i \x3d startIndex; i \x3c args.length; i++) {\n var arg \x3d args[i];\n if (goog.isArrayLike(arg) \x26\x26 !goog.dom.isNodeLike(arg)) {\n goog.array.forEach(goog.dom.isNodeList(arg) ? goog.array.toArray(arg) : arg, childHandler);\n } else {\n childHandler(arg);\n }\n }\n};\ngoog.dom.$dom \x3d goog.dom.createDom;\ngoog.dom.createElement \x3d function(name) {\n return goog.dom.createElement_(document, name);\n};\ngoog.dom.createElement_ \x3d function(doc, name) {\n name \x3d String(name);\n if (doc.contentType \x3d\x3d\x3d \x22application/xhtml+xml\x22) {\n name \x3d name.toLowerCase();\n }\n return doc.createElement(name);\n};\ngoog.dom.createTextNode \x3d function(content) {\n return document.createTextNode(String(content));\n};\ngoog.dom.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.createTable_ \x3d function(doc, rows, columns, fillWithNbsp) {\n var table \x3d goog.dom.createElement_(doc, goog.dom.TagName.TABLE);\n var tbody \x3d table.appendChild(goog.dom.createElement_(doc, goog.dom.TagName.TBODY));\n for (var i \x3d 0; i \x3c rows; i++) {\n var tr \x3d goog.dom.createElement_(doc, goog.dom.TagName.TR);\n for (var j \x3d 0; j \x3c columns; j++) {\n var td \x3d goog.dom.createElement_(doc, goog.dom.TagName.TD);\n if (fillWithNbsp) {\n goog.dom.setTextContent(td, goog.string.Unicode.NBSP);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n return table;\n};\ngoog.dom.constHtmlToNode \x3d function(var_args) {\n var stringArray \x3d Array.prototype.map.call(arguments, goog.string.Const.unwrap);\n var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML string, that gets turned into a \x22 + \x22Node later, so it will be automatically balanced.\x22), stringArray.join(\x22\x22));\n return goog.dom.safeHtmlToNode(safeHtml);\n};\ngoog.dom.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(document, html);\n};\ngoog.dom.safeHtmlToNode_ \x3d function(doc, html) {\n var tempDiv \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) {\n goog.dom.safe.setInnerHtml(tempDiv, goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, html));\n tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n goog.dom.safe.setInnerHtml(tempDiv, html);\n }\n return goog.dom.childrenToNode_(doc, tempDiv);\n};\ngoog.dom.childrenToNode_ \x3d function(doc, tempDiv) {\n if (tempDiv.childNodes.length \x3d\x3d 1) {\n return tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n var fragment \x3d doc.createDocumentFragment();\n while (tempDiv.firstChild) {\n fragment.appendChild(tempDiv.firstChild);\n }\n return fragment;\n }\n};\ngoog.dom.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(document);\n};\ngoog.dom.isCss1CompatMode_ \x3d function(doc) {\n if (goog.dom.COMPAT_MODE_KNOWN_) {\n return goog.dom.ASSUME_STANDARDS_MODE;\n }\n return doc.compatMode \x3d\x3d \x22CSS1Compat\x22;\n};\ngoog.dom.canHaveChildren \x3d function(node) {\n if (node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n return false;\n }\n switch(node.tagName) {\n case String(goog.dom.TagName.APPLET):\n case String(goog.dom.TagName.AREA):\n case String(goog.dom.TagName.BASE):\n case String(goog.dom.TagName.BR):\n case String(goog.dom.TagName.COL):\n case String(goog.dom.TagName.COMMAND):\n case String(goog.dom.TagName.EMBED):\n case String(goog.dom.TagName.FRAME):\n case String(goog.dom.TagName.HR):\n case String(goog.dom.TagName.IMG):\n case String(goog.dom.TagName.INPUT):\n case String(goog.dom.TagName.IFRAME):\n case String(goog.dom.TagName.ISINDEX):\n case String(goog.dom.TagName.KEYGEN):\n case String(goog.dom.TagName.LINK):\n case String(goog.dom.TagName.NOFRAMES):\n case String(goog.dom.TagName.NOSCRIPT):\n case String(goog.dom.TagName.META):\n case String(goog.dom.TagName.OBJECT):\n case String(goog.dom.TagName.PARAM):\n case String(goog.dom.TagName.SCRIPT):\n case String(goog.dom.TagName.SOURCE):\n case String(goog.dom.TagName.STYLE):\n case String(goog.dom.TagName.TRACK):\n case String(goog.dom.TagName.WBR):\n return false;\n }\n return true;\n};\ngoog.dom.appendChild \x3d function(parent, child) {\n goog.asserts.assert(parent !\x3d null \x26\x26 child !\x3d null, \x22goog.dom.appendChild expects non-null arguments\x22);\n parent.appendChild(child);\n};\ngoog.dom.append \x3d function(parent, var_args) {\n goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);\n};\ngoog.dom.removeChildren \x3d function(node) {\n var child;\n while (child \x3d node.firstChild) {\n node.removeChild(child);\n }\n};\ngoog.dom.insertSiblingBefore \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingBefore expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode);\n }\n};\ngoog.dom.insertSiblingAfter \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingAfter expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode.nextSibling);\n }\n};\ngoog.dom.insertChildAt \x3d function(parent, child, index) {\n goog.asserts.assert(parent !\x3d null, \x22goog.dom.insertChildAt expects a non-null parent\x22);\n parent.insertBefore(child, parent.childNodes[index] || null);\n};\ngoog.dom.removeNode \x3d function(node) {\n return node \x26\x26 node.parentNode ? node.parentNode.removeChild(node) : null;\n};\ngoog.dom.replaceNode \x3d function(newNode, oldNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 oldNode !\x3d null, \x22goog.dom.replaceNode expects non-null arguments\x22);\n var parent \x3d oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n};\ngoog.dom.copyContents \x3d function(target, source) {\n goog.asserts.assert(target !\x3d null \x26\x26 source !\x3d null, \x22goog.dom.copyContents expects non-null arguments\x22);\n var childNodes \x3d source.cloneNode(true).childNodes;\n goog.dom.removeChildren(target);\n while (childNodes.length) {\n target.appendChild(childNodes[0]);\n }\n};\ngoog.dom.flattenElement \x3d function(element) {\n var child, parent \x3d element.parentNode;\n if (parent \x26\x26 parent.nodeType !\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT) {\n if (element.removeNode) {\n return element.removeNode(false);\n } else {\n while (child \x3d element.firstChild) {\n parent.insertBefore(child, element);\n }\n return goog.dom.removeNode(element);\n }\n }\n};\ngoog.dom.getChildren \x3d function(element) {\n if (element.children !\x3d undefined) {\n return element.children;\n }\n return Array.prototype.filter.call(element.childNodes, function(node) {\n return node.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n });\n};\ngoog.dom.getFirstElementChild \x3d function(node) {\n if (node.firstElementChild !\x3d\x3d undefined) {\n return node.firstElementChild;\n }\n return goog.dom.getNextElementNode_(node.firstChild, true);\n};\ngoog.dom.getLastElementChild \x3d function(node) {\n if (node.lastElementChild !\x3d\x3d undefined) {\n return node.lastElementChild;\n }\n return goog.dom.getNextElementNode_(node.lastChild, false);\n};\ngoog.dom.getNextElementSibling \x3d function(node) {\n if (node.nextElementSibling !\x3d\x3d undefined) {\n return node.nextElementSibling;\n }\n return goog.dom.getNextElementNode_(node.nextSibling, true);\n};\ngoog.dom.getPreviousElementSibling \x3d function(node) {\n if (node.previousElementSibling !\x3d\x3d undefined) {\n return node.previousElementSibling;\n }\n return goog.dom.getNextElementNode_(node.previousSibling, false);\n};\ngoog.dom.getNextElementNode_ \x3d function(node, forward) {\n while (node \x26\x26 node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n node \x3d forward ? node.nextSibling : node.previousSibling;\n }\n return node;\n};\ngoog.dom.getNextNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (node.firstChild) {\n return node.firstChild;\n }\n while (node \x26\x26 !node.nextSibling) {\n node \x3d node.parentNode;\n }\n return node ? node.nextSibling : null;\n};\ngoog.dom.getPreviousNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (!node.previousSibling) {\n return node.parentNode;\n }\n node \x3d node.previousSibling;\n while (node \x26\x26 node.lastChild) {\n node \x3d node.lastChild;\n }\n return node;\n};\ngoog.dom.isNodeLike \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3e 0;\n};\ngoog.dom.isElement \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n};\ngoog.dom.isWindow \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj[\x22window\x22] \x3d\x3d obj;\n};\ngoog.dom.getParentElement \x3d function(element) {\n var parent;\n if (goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY) {\n var isIe9 \x3d goog.userAgent.IE \x26\x26 goog.userAgent.isVersionOrHigher(\x229\x22) \x26\x26 !goog.userAgent.isVersionOrHigher(\x2210\x22);\n if (!(isIe9 \x26\x26 goog.global[\x22SVGElement\x22] \x26\x26 element instanceof goog.global[\x22SVGElement\x22])) {\n parent \x3d element.parentElement;\n if (parent) {\n return parent;\n }\n }\n }\n parent \x3d element.parentNode;\n return goog.dom.isElement(parent) ? parent : null;\n};\ngoog.dom.contains \x3d function(parent, descendant) {\n if (!parent || !descendant) {\n return false;\n }\n if (parent.contains \x26\x26 descendant.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return parent \x3d\x3d descendant || parent.contains(descendant);\n }\n if (typeof parent.compareDocumentPosition !\x3d \x22undefined\x22) {\n return parent \x3d\x3d descendant || Boolean(parent.compareDocumentPosition(descendant) \x26 16);\n }\n while (descendant \x26\x26 parent !\x3d descendant) {\n descendant \x3d descendant.parentNode;\n }\n return descendant \x3d\x3d parent;\n};\ngoog.dom.compareNodeOrder \x3d function(node1, node2) {\n if (node1 \x3d\x3d node2) {\n return 0;\n }\n if (node1.compareDocumentPosition) {\n return node1.compareDocumentPosition(node2) \x26 2 ? 1 : -1;\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n if (node1.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return -1;\n }\n if (node2.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return 1;\n }\n }\n if (\x22sourceIndex\x22 in node1 || node1.parentNode \x26\x26 \x22sourceIndex\x22 in node1.parentNode) {\n var isElement1 \x3d node1.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n var isElement2 \x3d node2.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n if (isElement1 \x26\x26 isElement2) {\n return node1.sourceIndex - node2.sourceIndex;\n } else {\n var parent1 \x3d node1.parentNode;\n var parent2 \x3d node2.parentNode;\n if (parent1 \x3d\x3d parent2) {\n return goog.dom.compareSiblingOrder_(node1, node2);\n }\n if (!isElement1 \x26\x26 goog.dom.contains(parent1, node2)) {\n return -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2);\n }\n if (!isElement2 \x26\x26 goog.dom.contains(parent2, node1)) {\n return goog.dom.compareParentsDescendantNodeIe_(node2, node1);\n }\n return (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);\n }\n }\n var doc \x3d goog.dom.getOwnerDocument(node1);\n var range1, range2;\n range1 \x3d doc.createRange();\n range1.selectNode(node1);\n range1.collapse(true);\n range2 \x3d doc.createRange();\n range2.selectNode(node2);\n range2.collapse(true);\n return range1.compareBoundaryPoints(goog.global[\x22Range\x22].START_TO_END, range2);\n};\ngoog.dom.compareParentsDescendantNodeIe_ \x3d function(textNode, node) {\n var parent \x3d textNode.parentNode;\n if (parent \x3d\x3d node) {\n return -1;\n }\n var sibling \x3d node;\n while (sibling.parentNode !\x3d parent) {\n sibling \x3d sibling.parentNode;\n }\n return goog.dom.compareSiblingOrder_(sibling, textNode);\n};\ngoog.dom.compareSiblingOrder_ \x3d function(node1, node2) {\n var s \x3d node2;\n while (s \x3d s.previousSibling) {\n if (s \x3d\x3d node1) {\n return -1;\n }\n }\n return 1;\n};\ngoog.dom.findCommonAncestor \x3d function(var_args) {\n var i, count \x3d arguments.length;\n if (!count) {\n return null;\n } else if (count \x3d\x3d 1) {\n return arguments[0];\n }\n var paths \x3d [];\n var minLength \x3d Infinity;\n for (i \x3d 0; i \x3c count; i++) {\n var ancestors \x3d [];\n var node \x3d arguments[i];\n while (node) {\n ancestors.unshift(node);\n node \x3d node.parentNode;\n }\n paths.push(ancestors);\n minLength \x3d Math.min(minLength, ancestors.length);\n }\n var output \x3d null;\n for (i \x3d 0; i \x3c minLength; i++) {\n var first \x3d paths[0][i];\n for (var j \x3d 1; j \x3c count; j++) {\n if (first !\x3d paths[j][i]) {\n return output;\n }\n }\n output \x3d first;\n }\n return output;\n};\ngoog.dom.isInDocument \x3d function(node) {\n return (node.ownerDocument.compareDocumentPosition(node) \x26 16) \x3d\x3d 16;\n};\ngoog.dom.getOwnerDocument \x3d function(node) {\n goog.asserts.assert(node, \x22Node cannot be null or undefined.\x22);\n return node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document;\n};\ngoog.dom.getFrameContentDocument \x3d function(frame) {\n return frame.contentDocument || frame.contentWindow.document;\n};\ngoog.dom.getFrameContentWindow \x3d function(frame) {\n try {\n return frame.contentWindow || (frame.contentDocument ? goog.dom.getWindow(frame.contentDocument) : null);\n } catch (e) {\n }\n return null;\n};\ngoog.dom.setTextContent \x3d function(node, text) {\n goog.asserts.assert(node !\x3d null, \x22goog.dom.setTextContent expects a non-null value for node\x22);\n if (\x22textContent\x22 in node) {\n node.textContent \x3d text;\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n node.data \x3d String(text);\n } else if (node.firstChild \x26\x26 node.firstChild.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n while (node.lastChild !\x3d node.firstChild) {\n node.removeChild(goog.asserts.assert(node.lastChild));\n }\n node.firstChild.data \x3d String(text);\n } else {\n goog.dom.removeChildren(node);\n var doc \x3d goog.dom.getOwnerDocument(node);\n node.appendChild(doc.createTextNode(String(text)));\n }\n};\ngoog.dom.getOuterHtml \x3d function(element) {\n goog.asserts.assert(element !\x3d\x3d null, \x22goog.dom.getOuterHtml expects a non-null value for element\x22);\n if (\x22outerHTML\x22 in element) {\n return element.outerHTML;\n } else {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var div \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n div.appendChild(element.cloneNode(true));\n return div.innerHTML;\n }\n};\ngoog.dom.findNode \x3d function(root, p) {\n var rv \x3d [];\n var found \x3d goog.dom.findNodes_(root, p, rv, true);\n return found ? rv[0] : undefined;\n};\ngoog.dom.findNodes \x3d function(root, p) {\n var rv \x3d [];\n goog.dom.findNodes_(root, p, rv, false);\n return rv;\n};\ngoog.dom.findNodes_ \x3d function(root, p, rv, findOne) {\n if (root !\x3d null) {\n var child \x3d root.firstChild;\n while (child) {\n if (p(child)) {\n rv.push(child);\n if (findOne) {\n return true;\n }\n }\n if (goog.dom.findNodes_(child, p, rv, findOne)) {\n return true;\n }\n child \x3d child.nextSibling;\n }\n }\n return false;\n};\ngoog.dom.findElement \x3d function(root, pred) {\n var stack \x3d goog.dom.getChildrenReverse_(root);\n while (stack.length \x3e 0) {\n var next \x3d stack.pop();\n if (pred(next)) {\n return next;\n }\n for (var c \x3d next.lastElementChild; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return null;\n};\ngoog.dom.findElements \x3d function(root, pred) {\n var result \x3d [], stack \x3d goog.dom.getChildrenReverse_(root);\n while (stack.length \x3e 0) {\n var next \x3d stack.pop();\n if (pred(next)) {\n result.push(next);\n }\n for (var c \x3d next.lastElementChild; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return result;\n};\ngoog.dom.getChildrenReverse_ \x3d function(node) {\n if (node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return [node.documentElement];\n } else {\n var children \x3d [];\n for (var c \x3d node.lastElementChild; c; c \x3d c.previousElementSibling) {\n children.push(c);\n }\n return children;\n }\n};\ngoog.dom.TAGS_TO_IGNORE_ \x3d {\x22SCRIPT\x22:1, \x22STYLE\x22:1, \x22HEAD\x22:1, \x22IFRAME\x22:1, \x22OBJECT\x22:1};\ngoog.dom.PREDEFINED_TAG_VALUES_ \x3d {\x22IMG\x22:\x22 \x22, \x22BR\x22:\x22\\n\x22};\ngoog.dom.isFocusableTabIndex \x3d function(element) {\n return goog.dom.hasSpecifiedTabIndex_(element) \x26\x26 goog.dom.isTabIndexFocusable_(element);\n};\ngoog.dom.setFocusableTabIndex \x3d function(element, enable) {\n if (enable) {\n element.tabIndex \x3d 0;\n } else {\n element.tabIndex \x3d -1;\n element.removeAttribute(\x22tabIndex\x22);\n }\n};\ngoog.dom.isFocusable \x3d function(element) {\n var focusable;\n if (goog.dom.nativelySupportsFocus_(element)) {\n focusable \x3d !element.disabled \x26\x26 (!goog.dom.hasSpecifiedTabIndex_(element) || goog.dom.isTabIndexFocusable_(element));\n } else {\n focusable \x3d goog.dom.isFocusableTabIndex(element);\n }\n return focusable \x26\x26 goog.userAgent.IE ? goog.dom.hasNonZeroBoundingRect_(element) : focusable;\n};\ngoog.dom.hasSpecifiedTabIndex_ \x3d function(element) {\n return element.hasAttribute(\x22tabindex\x22);\n};\ngoog.dom.isTabIndexFocusable_ \x3d function(element) {\n var index \x3d element.tabIndex;\n return typeof index \x3d\x3d\x3d \x22number\x22 \x26\x26 index \x3e\x3d 0 \x26\x26 index \x3c 32768;\n};\ngoog.dom.nativelySupportsFocus_ \x3d function(element) {\n return element.tagName \x3d\x3d goog.dom.TagName.A \x26\x26 element.hasAttribute(\x22href\x22) || element.tagName \x3d\x3d goog.dom.TagName.INPUT || element.tagName \x3d\x3d goog.dom.TagName.TEXTAREA || element.tagName \x3d\x3d goog.dom.TagName.SELECT || element.tagName \x3d\x3d goog.dom.TagName.BUTTON;\n};\ngoog.dom.hasNonZeroBoundingRect_ \x3d function(element) {\n var rect;\n if (typeof element[\x22getBoundingClientRect\x22] !\x3d\x3d \x22function\x22 || goog.userAgent.IE \x26\x26 element.parentElement \x3d\x3d null) {\n rect \x3d {\x22height\x22:element.offsetHeight, \x22width\x22:element.offsetWidth};\n } else {\n rect \x3d element.getBoundingClientRect();\n }\n return rect !\x3d null \x26\x26 rect.height \x3e 0 \x26\x26 rect.width \x3e 0;\n};\ngoog.dom.getTextContent \x3d function(node) {\n var textContent;\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, true);\n textContent \x3d buf.join(\x22\x22);\n textContent \x3d textContent.replace(/ \\xAD /g, \x22 \x22).replace(/\\xAD/g, \x22\x22);\n textContent \x3d textContent.replace(/\\u200B/g, \x22\x22);\n textContent \x3d textContent.replace(/ +/g, \x22 \x22);\n if (textContent !\x3d \x22 \x22) {\n textContent \x3d textContent.replace(/^\\s*/, \x22\x22);\n }\n return textContent;\n};\ngoog.dom.getRawTextContent \x3d function(node) {\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, false);\n return buf.join(\x22\x22);\n};\ngoog.dom.getTextContent_ \x3d function(node, buf, normalizeWhitespace) {\n if (node.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n if (normalizeWhitespace) {\n buf.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, \x22\x22));\n } else {\n buf.push(node.nodeValue);\n }\n } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);\n } else {\n var child \x3d node.firstChild;\n while (child) {\n goog.dom.getTextContent_(child, buf, normalizeWhitespace);\n child \x3d child.nextSibling;\n }\n }\n};\ngoog.dom.getNodeTextLength \x3d function(node) {\n return goog.dom.getTextContent(node).length;\n};\ngoog.dom.getNodeTextOffset \x3d function(node, opt_offsetParent) {\n var root \x3d opt_offsetParent || goog.dom.getOwnerDocument(node).body;\n var buf \x3d [];\n while (node \x26\x26 node !\x3d root) {\n var cur \x3d node;\n while (cur \x3d cur.previousSibling) {\n buf.unshift(goog.dom.getTextContent(cur));\n }\n node \x3d node.parentNode;\n }\n return goog.string.trimLeft(buf.join(\x22\x22)).replace(/ +/g, \x22 \x22).length;\n};\ngoog.dom.getNodeAtOffset \x3d function(parent, offset, opt_result) {\n var stack \x3d [parent], pos \x3d 0, cur \x3d null;\n while (stack.length \x3e 0 \x26\x26 pos \x3c offset) {\n cur \x3d stack.pop();\n if (cur.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (cur.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n var text \x3d cur.nodeValue.replace(/(\\r\\n|\\r|\\n)/g, \x22\x22).replace(/ +/g, \x22 \x22);\n pos +\x3d text.length;\n } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n pos +\x3d goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;\n } else {\n for (var i \x3d cur.childNodes.length - 1; i \x3e\x3d 0; i--) {\n stack.push(cur.childNodes[i]);\n }\n }\n }\n if (goog.isObject(opt_result)) {\n opt_result.remainder \x3d cur ? cur.nodeValue.length + offset - pos - 1 : 0;\n opt_result.node \x3d cur;\n }\n return cur;\n};\ngoog.dom.isNodeList \x3d function(val) {\n if (val \x26\x26 typeof val.length \x3d\x3d \x22number\x22) {\n if (goog.isObject(val)) {\n return typeof val.item \x3d\x3d \x22function\x22 || typeof val.item \x3d\x3d \x22string\x22;\n } else if (typeof val \x3d\x3d\x3d \x22function\x22) {\n return typeof val.item \x3d\x3d \x22function\x22;\n }\n }\n return false;\n};\ngoog.dom.getAncestorByTagNameAndClass \x3d function(element, opt_tag, opt_class, opt_maxSearchSteps) {\n if (!opt_tag \x26\x26 !opt_class) {\n return null;\n }\n var tagName \x3d opt_tag ? String(opt_tag).toUpperCase() : null;\n return goog.dom.getAncestor(element, function(node) {\n return (!tagName || node.nodeName \x3d\x3d tagName) \x26\x26 (!opt_class || typeof node.className \x3d\x3d\x3d \x22string\x22 \x26\x26 goog.array.contains(node.className.split(/\\s+/), opt_class));\n }, true, opt_maxSearchSteps);\n};\ngoog.dom.getAncestorByClass \x3d function(element, className, opt_maxSearchSteps) {\n return goog.dom.getAncestorByTagNameAndClass(element, null, className, opt_maxSearchSteps);\n};\ngoog.dom.getAncestor \x3d function(element, matcher, opt_includeNode, opt_maxSearchSteps) {\n if (element \x26\x26 !opt_includeNode) {\n element \x3d element.parentNode;\n }\n var steps \x3d 0;\n while (element \x26\x26 (opt_maxSearchSteps \x3d\x3d null || steps \x3c\x3d opt_maxSearchSteps)) {\n goog.asserts.assert(element.name !\x3d \x22parentNode\x22);\n if (matcher(element)) {\n return element;\n }\n element \x3d element.parentNode;\n steps++;\n }\n return null;\n};\ngoog.dom.getActiveElement \x3d function(doc) {\n try {\n var activeElement \x3d doc \x26\x26 doc.activeElement;\n return activeElement \x26\x26 activeElement.nodeName ? activeElement : null;\n } catch (e) {\n return null;\n }\n};\ngoog.dom.getPixelRatio \x3d function() {\n var win \x3d goog.dom.getWindow();\n if (win.devicePixelRatio !\x3d\x3d undefined) {\n return win.devicePixelRatio;\n } else if (win.matchMedia) {\n return goog.dom.matchesPixelRatio_(3) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(1) || .75;\n }\n return 1;\n};\ngoog.dom.matchesPixelRatio_ \x3d function(pixelRatio) {\n var win \x3d goog.dom.getWindow();\n var dpiPerDppx \x3d 96;\n var query \x3d \x22(min-resolution: \x22 + pixelRatio + \x22dppx),\x22 + \x22(min--moz-device-pixel-ratio: \x22 + pixelRatio + \x22),\x22 + \x22(min-resolution: \x22 + pixelRatio * dpiPerDppx + \x22dpi)\x22;\n return win.matchMedia(query).matches ? pixelRatio : 0;\n};\ngoog.dom.getCanvasContext2D \x3d function(canvas) {\n return canvas.getContext(\x222d\x22);\n};\ngoog.dom.DomHelper \x3d function(opt_document) {\n this.document_ \x3d opt_document || goog.global.document || document;\n};\ngoog.dom.DomHelper.prototype.getDomHelper \x3d goog.dom.getDomHelper;\ngoog.dom.DomHelper.prototype.setDocument \x3d function(document) {\n this.document_ \x3d document;\n};\ngoog.dom.DomHelper.prototype.getDocument \x3d function() {\n return this.document_;\n};\ngoog.dom.DomHelper.prototype.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(this.document_, element);\n};\ngoog.dom.DomHelper.prototype.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(this.document_, id);\n};\ngoog.dom.DomHelper.prototype.$ \x3d goog.dom.DomHelper.prototype.getElement;\ngoog.dom.DomHelper.prototype.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || this.document_;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.DomHelper.prototype.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementsByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementsByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getElementByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getRequiredElementByClass \x3d function(className, opt_root) {\n var root \x3d opt_root || this.document_;\n return goog.dom.getRequiredElementByClass(className, root);\n};\ngoog.dom.DomHelper.prototype.$$ \x3d goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;\ngoog.dom.DomHelper.prototype.setProperties \x3d goog.dom.setProperties;\ngoog.dom.DomHelper.prototype.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize(opt_window || this.getWindow());\n};\ngoog.dom.DomHelper.prototype.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(this.getWindow());\n};\ngoog.dom.Appendable;\ngoog.dom.DomHelper.prototype.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(this.document_, arguments);\n};\ngoog.dom.DomHelper.prototype.$dom \x3d goog.dom.DomHelper.prototype.createDom;\ngoog.dom.DomHelper.prototype.createElement \x3d function(name) {\n return goog.dom.createElement_(this.document_, name);\n};\ngoog.dom.DomHelper.prototype.createTextNode \x3d function(content) {\n return this.document_.createTextNode(String(content));\n};\ngoog.dom.DomHelper.prototype.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.DomHelper.prototype.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(this.document_, html);\n};\ngoog.dom.DomHelper.prototype.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getWindow \x3d function() {\n return goog.dom.getWindow_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getActiveElement \x3d function(opt_doc) {\n return goog.dom.getActiveElement(opt_doc || this.document_);\n};\ngoog.dom.DomHelper.prototype.appendChild \x3d goog.dom.appendChild;\ngoog.dom.DomHelper.prototype.append \x3d goog.dom.append;\ngoog.dom.DomHelper.prototype.canHaveChildren \x3d goog.dom.canHaveChildren;\ngoog.dom.DomHelper.prototype.removeChildren \x3d goog.dom.removeChildren;\ngoog.dom.DomHelper.prototype.insertSiblingBefore \x3d goog.dom.insertSiblingBefore;\ngoog.dom.DomHelper.prototype.insertSiblingAfter \x3d goog.dom.insertSiblingAfter;\ngoog.dom.DomHelper.prototype.insertChildAt \x3d goog.dom.insertChildAt;\ngoog.dom.DomHelper.prototype.removeNode \x3d goog.dom.removeNode;\ngoog.dom.DomHelper.prototype.replaceNode \x3d goog.dom.replaceNode;\ngoog.dom.DomHelper.prototype.copyContents \x3d goog.dom.copyContents;\ngoog.dom.DomHelper.prototype.flattenElement \x3d goog.dom.flattenElement;\ngoog.dom.DomHelper.prototype.getChildren \x3d goog.dom.getChildren;\ngoog.dom.DomHelper.prototype.getFirstElementChild \x3d goog.dom.getFirstElementChild;\ngoog.dom.DomHelper.prototype.getLastElementChild \x3d goog.dom.getLastElementChild;\ngoog.dom.DomHelper.prototype.getNextElementSibling \x3d goog.dom.getNextElementSibling;\ngoog.dom.DomHelper.prototype.getPreviousElementSibling \x3d goog.dom.getPreviousElementSibling;\ngoog.dom.DomHelper.prototype.getNextNode \x3d goog.dom.getNextNode;\ngoog.dom.DomHelper.prototype.getPreviousNode \x3d goog.dom.getPreviousNode;\ngoog.dom.DomHelper.prototype.isNodeLike \x3d goog.dom.isNodeLike;\ngoog.dom.DomHelper.prototype.isElement \x3d goog.dom.isElement;\ngoog.dom.DomHelper.prototype.isWindow \x3d goog.dom.isWindow;\ngoog.dom.DomHelper.prototype.getParentElement \x3d goog.dom.getParentElement;\ngoog.dom.DomHelper.prototype.contains \x3d goog.dom.contains;\ngoog.dom.DomHelper.prototype.compareNodeOrder \x3d goog.dom.compareNodeOrder;\ngoog.dom.DomHelper.prototype.findCommonAncestor \x3d goog.dom.findCommonAncestor;\ngoog.dom.DomHelper.prototype.getOwnerDocument \x3d goog.dom.getOwnerDocument;\ngoog.dom.DomHelper.prototype.getFrameContentDocument \x3d goog.dom.getFrameContentDocument;\ngoog.dom.DomHelper.prototype.getFrameContentWindow \x3d goog.dom.getFrameContentWindow;\ngoog.dom.DomHelper.prototype.setTextContent \x3d goog.dom.setTextContent;\ngoog.dom.DomHelper.prototype.getOuterHtml \x3d goog.dom.getOuterHtml;\ngoog.dom.DomHelper.prototype.findNode \x3d goog.dom.findNode;\ngoog.dom.DomHelper.prototype.findNodes \x3d goog.dom.findNodes;\ngoog.dom.DomHelper.prototype.isFocusableTabIndex \x3d goog.dom.isFocusableTabIndex;\ngoog.dom.DomHelper.prototype.setFocusableTabIndex \x3d goog.dom.setFocusableTabIndex;\ngoog.dom.DomHelper.prototype.isFocusable \x3d goog.dom.isFocusable;\ngoog.dom.DomHelper.prototype.getTextContent \x3d goog.dom.getTextContent;\ngoog.dom.DomHelper.prototype.getNodeTextLength \x3d goog.dom.getNodeTextLength;\ngoog.dom.DomHelper.prototype.getNodeTextOffset \x3d goog.dom.getNodeTextOffset;\ngoog.dom.DomHelper.prototype.getNodeAtOffset \x3d goog.dom.getNodeAtOffset;\ngoog.dom.DomHelper.prototype.isNodeList \x3d goog.dom.isNodeList;\ngoog.dom.DomHelper.prototype.getAncestorByTagNameAndClass \x3d goog.dom.getAncestorByTagNameAndClass;\ngoog.dom.DomHelper.prototype.getAncestorByClass \x3d goog.dom.getAncestorByClass;\ngoog.dom.DomHelper.prototype.getAncestor \x3d goog.dom.getAncestor;\ngoog.dom.DomHelper.prototype.getCanvasContext2D \x3d goog.dom.getCanvasContext2D;\n"); +SHADOW_ENV.evalLoad("goog.async.nexttick.js", true , "goog.provide(\x22goog.async.nextTick\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.async.nextTick \x3d function(callback, opt_context, opt_useSetImmediate) {\n var cb \x3d callback;\n if (opt_context) {\n cb \x3d goog.bind(callback, opt_context);\n }\n cb \x3d goog.async.nextTick.wrapCallback_(cb);\n if (typeof goog.global.setImmediate \x3d\x3d\x3d \x22function\x22 \x26\x26 (opt_useSetImmediate || goog.async.nextTick.useSetImmediate_())) {\n goog.global.setImmediate(cb);\n return;\n }\n if (!goog.async.nextTick.setImmediate_) {\n goog.async.nextTick.setImmediate_ \x3d goog.async.nextTick.getSetImmediateEmulator_();\n }\n goog.async.nextTick.setImmediate_(cb);\n};\ngoog.async.nextTick.useSetImmediate_ \x3d function() {\n if (!goog.global.Window || !goog.global.Window.prototype) {\n return true;\n }\n if (goog.labs.userAgent.browser.isEdge() || goog.global.Window.prototype.setImmediate !\x3d goog.global.setImmediate) {\n return true;\n }\n return false;\n};\ngoog.async.nextTick.setImmediate_;\ngoog.async.nextTick.getSetImmediateEmulator_ \x3d function() {\n var Channel \x3d goog.global[\x22MessageChannel\x22];\n if (typeof Channel \x3d\x3d\x3d \x22undefined\x22 \x26\x26 typeof window !\x3d\x3d \x22undefined\x22 \x26\x26 window.postMessage \x26\x26 window.addEventListener \x26\x26 !goog.labs.userAgent.engine.isPresto()) {\n Channel \x3d function() {\n var iframe \x3d goog.dom.createElement(goog.dom.TagName.IFRAME);\n iframe.style.display \x3d \x22none\x22;\n document.documentElement.appendChild(iframe);\n var win \x3d iframe.contentWindow;\n var doc \x3d win.document;\n doc.open();\n doc.close();\n var message \x3d \x22callImmediate\x22 + Math.random();\n var origin \x3d win.location.protocol \x3d\x3d \x22file:\x22 ? \x22*\x22 : win.location.protocol + \x22//\x22 + win.location.host;\n var onmessage \x3d goog.bind(function(e) {\n if (origin !\x3d \x22*\x22 \x26\x26 e.origin !\x3d origin || e.data !\x3d message) {\n return;\n }\n this[\x22port1\x22].onmessage();\n }, this);\n win.addEventListener(\x22message\x22, onmessage, false);\n this[\x22port1\x22] \x3d {};\n this[\x22port2\x22] \x3d {postMessage:function() {\n win.postMessage(message, origin);\n }};\n };\n }\n if (typeof Channel !\x3d\x3d \x22undefined\x22 \x26\x26 !goog.labs.userAgent.browser.isIE()) {\n var channel \x3d new Channel();\n var head \x3d {};\n var tail \x3d head;\n channel[\x22port1\x22].onmessage \x3d function() {\n if (head.next !\x3d\x3d undefined) {\n head \x3d head.next;\n var cb \x3d head.cb;\n head.cb \x3d null;\n cb();\n }\n };\n return function(cb) {\n tail.next \x3d {cb:cb};\n tail \x3d tail.next;\n channel[\x22port2\x22].postMessage(0);\n };\n }\n return function(cb) {\n goog.global.setTimeout(cb, 0);\n };\n};\ngoog.async.nextTick.wrapCallback_ \x3d goog.functions.identity;\ngoog.debug.entryPointRegistry.register(function(transformer) {\n goog.async.nextTick.wrapCallback_ \x3d transformer;\n});\n"); +SHADOW_ENV.evalLoad("devtools.async.js", true , "goog.provide(\x27devtools.async\x27);\ngoog.scope(function(){\n devtools.async.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.async.available_QMARK_ \x3d (function devtools$async$available_QMARK_(){\nreturn (typeof Promise !\x3d\x3d \x27undefined\x27);\n});\ndevtools.async.fixed_chrome_version_for_async \x3d \x2265.0.3321\x22;\ndevtools.async.needed_QMARK_ \x3d (function devtools$async$needed_QMARK_(){\nreturn cljs.core.not((function (){var and__5043__auto__ \x3d devtools.async.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn devtools.async.goog$module$goog$labs$userAgent$browser.isVersionOrHigher(devtools.async.fixed_chrome_version_for_async);\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\ndevtools.async.get_not_needed_message \x3d (function devtools$async$get_not_needed_message(){\nreturn [\x22cljs-devtools: the :async feature is no longer needed since Chrome \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.async.fixed_chrome_version_for_async),\x22, \x22,\x22see https://github.com/binaryage/cljs-devtools/issues/20\x22].join(\x27\x27);\n});\ndevtools.async._STAR_installed_STAR_ \x3d false;\ndevtools.async._STAR_original_set_immediate_STAR_ \x3d null;\ndevtools.async.rethrow_outside_promise \x3d (function devtools$async$rethrow_outside_promise(e){\nreturn setTimeout((function (){\nthrow e;\n}),(0));\n});\ndevtools.async.promise_based_set_immediate \x3d (function devtools$async$promise_based_set_immediate(callback){\nvar o__11939__auto___15055 \x3d (function (){var o__11939__auto___15055 \x3d (function (){var o__11939__auto___15055 \x3d Promise;\nreturn (o__11939__auto___15055[\x22resolve\x22]).call(o__11939__auto___15055);\n})();\nreturn (o__11939__auto___15055[\x22then\x22]).call(o__11939__auto___15055,callback);\n})();\n(o__11939__auto___15055[\x22catch\x22]).call(o__11939__auto___15055,devtools.async.rethrow_outside_promise);\n\nreturn null;\n});\ndevtools.async.install_async_set_immediate_BANG_ \x3d (function devtools$async$install_async_set_immediate_BANG_(){\n(devtools.async._STAR_original_set_immediate_STAR_ \x3d goog.async.nextTick.setImmediate_);\n\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async.promise_based_set_immediate);\n});\ndevtools.async.uninstall_async_set_immediate_BANG_ \x3d (function devtools$async$uninstall_async_set_immediate_BANG_(){\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async._STAR_original_set_immediate_STAR_);\n});\ndevtools.async.installed_QMARK_ \x3d (function devtools$async$installed_QMARK_(){\nreturn devtools.async._STAR_installed_STAR_;\n});\ndevtools.async.install_BANG_ \x3d (function devtools$async$install_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.async._STAR_installed_STAR_ \x3d true);\n\nvar G__15049_15064 \x3d Error;\nvar target__11946__auto___15065 \x3d G__15049_15064;\nif(cljs.core.truth_(target__11946__auto___15065)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__15049_15064)].join(\x27\x27),\x22\\n\x22,\x22target__11946__auto__\x22].join(\x27\x27)));\n}\n\n(target__11946__auto___15065[\x22stackTraceLimit\x22] \x3d Infinity);\n\n\ndevtools.async.install_async_set_immediate_BANG_();\n\nif(devtools.async.needed_QMARK_.call(null)){\n} else {\ndevtools.context.get_console.call(null).info(devtools.async.get_not_needed_message.call(null));\n}\n\nreturn true;\n}\n});\ndevtools.async.uninstall_BANG_ \x3d (function devtools$async$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\n(devtools.async._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.async.uninstall_async_set_immediate_BANG_();\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("devtools.toolbox.js", true , "goog.provide(\x27devtools.toolbox\x27);\n/**\n * This is a simple wrapper for logging \x22busy\x22 objects.\n * This is especially handy when you happen to be logging javascript objects with many properties.\n * Standard javascript console renderer tends to print a lot of infomation in the header in some cases and that can make\n * console output pretty busy. By using envelope you can force your own short header and let the details expand on demand\n * via disclosure triangle. The header can be styled and you can optionally specify preferred wrapping tag (advanced).\n */\ndevtools.toolbox.envelope \x3d (function devtools$toolbox$envelope(var_args){\nvar G__15583 \x3d arguments.length;\nswitch (G__15583) {\ncase 1:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1 \x3d (function (obj){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2(obj,new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,header){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3(obj,header,new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,header,style){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4(obj,header,style,new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,header,style,tag){\nif((typeof devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof devtools.toolbox !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof devtools.toolbox.t_devtools$toolbox15590 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {devtools.protocols.IFormat}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ndevtools.toolbox.t_devtools$toolbox15590 \x3d (function (obj,header,style,tag,meta15591){\nthis.obj \x3d obj;\nthis.header \x3d header;\nthis.style \x3d style;\nthis.tag \x3d tag;\nthis.meta15591 \x3d meta15591;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.toolbox.t_devtools$toolbox15590.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15592,meta15591__$1){\nvar self__ \x3d this;\nvar _15592__$1 \x3d this;\nreturn (new devtools.toolbox.t_devtools$toolbox15590(self__.obj,self__.header,self__.style,self__.tag,meta15591__$1));\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15592){\nvar self__ \x3d this;\nvar _15592__$1 \x3d this;\nreturn self__.meta15591;\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.prototype.devtools$protocols$IFormat$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(devtools.toolbox.t_devtools$toolbox15590.prototype.devtools$protocols$IFormat$_header$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.tag,self__.style], null),((cljs.core.fn_QMARK_(self__.header))?(self__.header.cljs$core$IFn$_invoke$arity$1 ? self__.header.cljs$core$IFn$_invoke$arity$1(self__.obj) : self__.header.call(null,self__.obj)):self__.header)], null));\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.prototype.devtools$protocols$IFormat$_has_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.prototype.devtools$protocols$IFormat$_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_body_GT_(devtools.formatters.markup._LT_standard_body_reference_GT_(self__.obj)));\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),new cljs.core.Symbol(null,\x22style\x22,\x22style\x22,1143888791,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta15591\x22,\x22meta15591\x22,-798345718,null)], null);\n}));\n\n(devtools.toolbox.t_devtools$toolbox15590.cljs$lang$type \x3d true);\n\n(devtools.toolbox.t_devtools$toolbox15590.cljs$lang$ctorStr \x3d \x22devtools.toolbox/t_devtools$toolbox15590\x22);\n\n(devtools.toolbox.t_devtools$toolbox15590.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22devtools.toolbox/t_devtools$toolbox15590\x22);\n}));\n\n/**\n * Positional factory function for devtools.toolbox/t_devtools$toolbox15590.\n */\ndevtools.toolbox.__GT_t_devtools$toolbox15590 \x3d (function devtools$toolbox$__GT_t_devtools$toolbox15590(obj__$1,header__$1,style__$1,tag__$1,meta15591){\nreturn (new devtools.toolbox.t_devtools$toolbox15590(obj__$1,header__$1,style__$1,tag__$1,meta15591));\n});\n\n}\n\nreturn (new devtools.toolbox.t_devtools$toolbox15590(obj,header,style,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(devtools.toolbox.envelope.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Forces object to be rendered by cljs-devtools during console logging.\n * \n * Unfortunately custom formatters subsystem in DevTools is not applied to primitive values like numbers, strings, null, etc.\n * This wrapper can be used as a workaround if you really need to force cljs-devtools rendering:\n * \n * (.log js/console nil) ; will render \x27null\x27\n * (.log js/console (force-format nil)) ; will render \x27nil\x27 and not \x27null\x27\n * \n * See https://github.com/binaryage/cljs-devtools/issues/17\n * \n */\ndevtools.toolbox.force_format \x3d (function devtools$toolbox$force_format(obj){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\n"); +SHADOW_ENV.evalLoad("devtools.core.js", true , "goog.provide(\x27devtools.core\x27);\ndevtools.core.is_feature_available_QMARK_ \x3d (function devtools$core$is_feature_available_QMARK_(feature){\nvar G__15691 \x3d feature;\nvar G__15691__$1 \x3d (((G__15691 instanceof cljs.core.Keyword))?G__15691.fqn:null);\nswitch (G__15691__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.available_QMARK_.call(null);\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.available_QMARK_.call(null);\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.available_QMARK_.call(null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__15691__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.available_QMARK_ \x3d (function devtools$core$available_QMARK_(var_args){\nvar G__15693 \x3d arguments.length;\nswitch (G__15693) {\ncase 0:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_available_QMARK_,features);\n}\n}));\n\n(devtools.core.available_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.is_feature_installed_QMARK_ \x3d (function devtools$core$is_feature_installed_QMARK_(feature){\nvar G__15696 \x3d feature;\nvar G__15696__$1 \x3d (((G__15696 instanceof cljs.core.Keyword))?G__15696.fqn:null);\nswitch (G__15696__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.installed_QMARK_();\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.installed_QMARK_();\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.installed_QMARK_();\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__15696__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.installed_QMARK_ \x3d (function devtools$core$installed_QMARK_(var_args){\nvar G__15698 \x3d arguments.length;\nswitch (G__15698) {\ncase 0:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_installed_QMARK_,features);\n}\n}));\n\n(devtools.core.installed_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.install_BANG_ \x3d (function devtools$core$install_BANG_(var_args){\nvar G__15700 \x3d arguments.length;\nswitch (G__15700) {\ncase 0:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nif(cljs.core.truth_(devtools.util.under_advanced_build_QMARK_())){\nreturn devtools.util.display_advanced_build_warning_if_needed_BANG_();\n} else {\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\ndevtools.util.display_banner_if_needed_BANG_(features,cljs.core.deref(devtools.defaults.feature_groups));\n\ndevtools.util.print_config_overrides_if_requested_BANG_(\x22config overrides prior install:\\n\x22);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),features,devtools.core.is_feature_available_QMARK_,devtools.formatters.install_BANG_);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),features,devtools.core.is_feature_available_QMARK_,devtools.hints.install_BANG_);\n\nreturn devtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601),features,devtools.core.is_feature_available_QMARK_,devtools.async.install_BANG_);\n}\n}));\n\n(devtools.core.install_BANG_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.uninstall_BANG_ \x3d (function devtools$core$uninstall_BANG_(){\ndevtools.formatters.uninstall_BANG_();\n\ndevtools.hints.uninstall_BANG_();\n\nreturn devtools.async.uninstall_BANG_();\n});\ndevtools.core.set_prefs_BANG_ \x3d (function devtools$core$set_prefs_BANG_(new_prefs){\nreturn devtools.prefs.set_prefs_BANG_(new_prefs);\n});\ndevtools.core.get_prefs \x3d (function devtools$core$get_prefs(){\nreturn devtools.prefs.get_prefs();\n});\ndevtools.core.set_pref_BANG_ \x3d (function devtools$core$set_pref_BANG_(pref,val){\nreturn devtools.prefs.set_pref_BANG_(pref,val);\n});\ndevtools.core.enable_BANG_ \x3d (function devtools$core$enable_BANG_(){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/enable! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e remove the call\x22].join(\x27\x27));\n});\ndevtools.core.disable_BANG_ \x3d (function devtools$core$disable_BANG_(){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/disable! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e remove the call\x22].join(\x27\x27));\n});\ndevtools.core.set_single_feature_BANG_ \x3d (function devtools$core$set_single_feature_BANG_(_feature,_val){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/set-single-feature! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use (devtools.core/install! features) to install custom features\x22].join(\x27\x27));\n});\ndevtools.core.enable_single_feature_BANG_ \x3d (function devtools$core$enable_single_feature_BANG_(_feature){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/enable-single-feature! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use (devtools.core/install! features) to install custom features\x22].join(\x27\x27));\n});\ndevtools.core.disable_single_feature_BANG_ \x3d (function devtools$core$disable_single_feature_BANG_(_feature){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/disable-single-feature! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use (devtools.core/install! features) to install custom features\x22].join(\x27\x27));\n});\ndevtools.core.enable_feature_BANG_ \x3d (function devtools$core$enable_feature_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15709 \x3d arguments.length;\nvar i__5770__auto___15710 \x3d (0);\nwhile(true){\nif((i__5770__auto___15710 \x3c len__5769__auto___15709)){\nargs__5775__auto__.push((arguments[i__5770__auto___15710]));\n\nvar G__15711 \x3d (i__5770__auto___15710 + (1));\ni__5770__auto___15710 \x3d G__15711;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.core.enable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.core.enable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_features){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/enable-feature! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use (devtools.core/install! features) to install custom features\x22].join(\x27\x27));\n}));\n\n(devtools.core.enable_feature_BANG_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.core.enable_feature_BANG_.cljs$lang$applyTo \x3d (function (seq15701){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15701));\n}));\n\ndevtools.core.disable_feature_BANG_ \x3d (function devtools$core$disable_feature_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15712 \x3d arguments.length;\nvar i__5770__auto___15713 \x3d (0);\nwhile(true){\nif((i__5770__auto___15713 \x3c len__5769__auto___15712)){\nargs__5775__auto__.push((arguments[i__5770__auto___15713]));\n\nvar G__15714 \x3d (i__5770__auto___15713 + (1));\ni__5770__auto___15713 \x3d G__15714;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.core.disable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.core.disable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_features){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/disable-feature! was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use (devtools.core/install! features) to install custom features\x22].join(\x27\x27));\n}));\n\n(devtools.core.disable_feature_BANG_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.core.disable_feature_BANG_.cljs$lang$applyTo \x3d (function (seq15702){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15702));\n}));\n\ndevtools.core.single_feature_available_QMARK_ \x3d (function devtools$core$single_feature_available_QMARK_(_feature){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/single-feature-available? was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use devtools.core/is-feature-available? instead\x22].join(\x27\x27));\n});\ndevtools.core.feature_available_QMARK_ \x3d (function devtools$core$feature_available_QMARK_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15715 \x3d arguments.length;\nvar i__5770__auto___15716 \x3d (0);\nwhile(true){\nif((i__5770__auto___15716 \x3c len__5769__auto___15715)){\nargs__5775__auto__.push((arguments[i__5770__auto___15716]));\n\nvar G__15717 \x3d (i__5770__auto___15716 + (1));\ni__5770__auto___15716 \x3d G__15717;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn devtools.core.feature_available_QMARK_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(devtools.core.feature_available_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_features){\nreturn devtools.context.get_console.call(null).warn([\x22devtools.core/feature-available? was removed \x22,\x22and has no effect in \x22,devtools.util.make_lib_info.call(null),\x22 \x22,\x22\x3d\x3e use devtools.core/is-feature-available? instead\x22].join(\x27\x27));\n}));\n\n(devtools.core.feature_available_QMARK_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.core.feature_available_QMARK_.cljs$lang$applyTo \x3d (function (seq15703){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15703));\n}));\n\n"); +SHADOW_ENV.evalLoad("devtools.preload.js", true , "goog.provide(\x27devtools.preload\x27);\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090)))){\ndevtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n} else {\n}\n"); +SHADOW_ENV.evalLoad("goog.useragent.product.js", true , "goog.provide(\x22goog.userAgent.product\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.userAgent.product.ASSUME_FIREFOX \x3d goog.define(\x22goog.userAgent.product.ASSUME_FIREFOX\x22, false);\ngoog.userAgent.product.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPHONE\x22, false);\ngoog.userAgent.product.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPAD\x22, false);\ngoog.userAgent.product.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.product.ASSUME_ANDROID\x22, false);\ngoog.userAgent.product.ASSUME_CHROME \x3d goog.define(\x22goog.userAgent.product.ASSUME_CHROME\x22, false);\ngoog.userAgent.product.ASSUME_SAFARI \x3d goog.define(\x22goog.userAgent.product.ASSUME_SAFARI\x22, false);\ngoog.userAgent.product.PRODUCT_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;\ngoog.userAgent.product.OPERA \x3d goog.userAgent.OPERA;\ngoog.userAgent.product.IE \x3d goog.userAgent.IE;\ngoog.userAgent.product.EDGE \x3d goog.userAgent.EDGE;\ngoog.userAgent.product.FIREFOX \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox();\ngoog.userAgent.product.isIphoneOrIpod_ \x3d function() {\n return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpod();\n};\ngoog.userAgent.product.IPHONE \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_();\ngoog.userAgent.product.IPAD \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.product.ANDROID \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_ANDROID : goog.labs.userAgent.browser.isAndroidBrowser();\ngoog.userAgent.product.CHROME \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : goog.labs.userAgent.browser.isChrome();\ngoog.userAgent.product.isSafariDesktop_ \x3d function() {\n return goog.labs.userAgent.browser.isSafari() \x26\x26 !goog.labs.userAgent.platform.isIos();\n};\ngoog.userAgent.product.SAFARI \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_();\n"); +SHADOW_ENV.evalLoad("shadow.json.js", true , "goog.provide(\x27shadow.json\x27);\ngoog.scope(function(){\n shadow.json.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n/**\n * simplified js-\x3eclj for JSON data, :key-fn default to keyword\n */\nshadow.json.to_clj \x3d (function shadow$json$to_clj(var_args){\nvar G__15506 \x3d arguments.length;\nswitch (G__15506) {\ncase 1:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(x,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,opts){\nif((x \x3d\x3d null)){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nif(cljs.core.boolean_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.array_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__15503_SHARP_){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(p1__15503_SHARP_,opts);\n})),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(x));\n} else {\nvar key_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22key-fn\x22,\x22key-fn\x22,-636154479),cljs.core.keyword);\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,key){\nvar value \x3d shadow.json.goog$module$goog$object.get(x,key);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(result,((typeof key \x3d\x3d\x3d \x27string\x27)?(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(key) : key_fn.call(null,key)):shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(key,opts)),shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(value,opts));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.json.goog$module$goog$object.getKeys(x)));\n\n}\n}\n}\n}\n}\n}));\n\n(shadow.json.to_clj.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.json.read_str \x3d (function shadow$json$read_str(str,opts){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(JSON.parse(str),opts);\n});\nshadow.json.write_str \x3d (function shadow$json$write_str(obj){\nreturn JSON.stringify(cljs.core.clj__GT_js(obj));\n});\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.impl.utils.js", true , "goog.provide(\x27cljs.tools.reader.impl.utils\x27);\ncljs.tools.reader.impl.utils.char$ \x3d (function cljs$tools$reader$impl$utils$char(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.char$(x);\n}\n});\ncljs.tools.reader.impl.utils.ex_info_QMARK_ \x3d (function cljs$tools$reader$impl$utils$ex_info_QMARK_(ex){\nreturn (ex instanceof cljs.core.ExceptionInfo);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.tools.reader.impl.utils.ReaderConditional \x3d (function (splicing_QMARK_,form,__meta,__extmap,__hash){\nthis.splicing_QMARK_ \x3d splicing_QMARK_;\nthis.form \x3d form;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k15606,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__15632 \x3d k15606;\nvar G__15632__$1 \x3d (((G__15632 instanceof cljs.core.Keyword))?G__15632.fqn:null);\nswitch (G__15632__$1) {\ncase \x22splicing?\x22:\nreturn self__.splicing_QMARK_;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k15606,else__5346__auto__);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__15636){\nvar vec__15637 \x3d p__15636;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15637,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15637,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.tools.reader.impl.utils.ReaderConditional{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form],null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__15605){\nvar self__ \x3d this;\nvar G__15605__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__15605__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-209062840 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this15607,other15608){\nvar self__ \x3d this;\nvar this15607__$1 \x3d this;\nreturn (((!((other15608 \x3d\x3d null)))) \x26\x26 ((((this15607__$1.constructor \x3d\x3d\x3d other15608.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this15607__$1.splicing_QMARK_,other15608.splicing_QMARK_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this15607__$1.form,other15608.form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this15607__$1.__extmap,other15608.__extmap)))))))));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k15606){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__15649 \x3d k15606;\nvar G__15649__$1 \x3d (((G__15649 instanceof cljs.core.Keyword))?G__15649.fqn:null);\nswitch (G__15649__$1) {\ncase \x22splicing?\x22:\ncase \x22form\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k15606);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__15605){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__15650 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__15651 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__15650.cljs$core$IFn$_invoke$arity$2 ? pred__15650.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__15651) : pred__15650.call(null,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__15651)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(G__15605,self__.form,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__15650.cljs$core$IFn$_invoke$arity$2 ? pred__15650.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__15651) : pred__15650.call(null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__15651)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,G__15605,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__15605),null));\n}\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form,null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__15605){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,G__15605,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22splicing?\x22,\x22splicing?\x22,1211935161,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22,null,(1),null));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.impl.utils/ReaderConditional.\n */\ncljs.tools.reader.impl.utils.__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$__GT_ReaderConditional(splicing_QMARK_,form){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n\n/**\n * Factory function for cljs.tools.reader.impl.utils/ReaderConditional, taking a map of keywords to field values.\n */\ncljs.tools.reader.impl.utils.map__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$map__GT_ReaderConditional(G__15615){\nvar extmap__5385__auto__ \x3d (function (){var G__15656 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__15615,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], 0));\nif(cljs.core.record_QMARK_(G__15615)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__15656);\n} else {\nreturn G__15656;\n}\n})();\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366).cljs$core$IFn$_invoke$arity$1(G__15615),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471).cljs$core$IFn$_invoke$arity$1(G__15615),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n/**\n * Return true if the value is the data representation of a reader conditional\n */\ncljs.tools.reader.impl.utils.reader_conditional_QMARK_ \x3d (function cljs$tools$reader$impl$utils$reader_conditional_QMARK_(value){\nreturn (value instanceof cljs.tools.reader.impl.utils.ReaderConditional);\n});\n/**\n * Construct a data representation of a reader conditional.\n * If true, splicing? indicates read-cond-splicing.\n */\ncljs.tools.reader.impl.utils.reader_conditional \x3d (function cljs$tools$reader$impl$utils$reader_conditional(form,splicing_QMARK_){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\ncljs.core._write(writer,[\x22#?\x22,(cljs.core.truth_(coll__$1.splicing_QMARK_)?\x22@\x22:null)].join(\x27\x27));\n\nreturn cljs.core.pr_writer(coll__$1.form,writer,opts);\n}));\ncljs.tools.reader.impl.utils.ws_rx \x3d /[\\s]/;\n/**\n * Checks whether a given character is whitespace\n */\ncljs.tools.reader.impl.utils.whitespace_QMARK_ \x3d (function cljs$tools$reader$impl$utils$whitespace_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nif((ch \x3d\x3d\x3d \x22,\x22)){\nreturn true;\n} else {\nreturn cljs.tools.reader.impl.utils.ws_rx.test(ch);\n}\n}\n});\n/**\n * Checks whether a given character is numeric\n */\ncljs.tools.reader.impl.utils.numeric_QMARK_ \x3d (function cljs$tools$reader$impl$utils$numeric_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nreturn goog.string.isNumeric(ch);\n}\n});\n/**\n * Checks whether the character is a newline\n */\ncljs.tools.reader.impl.utils.newline_QMARK_ \x3d (function cljs$tools$reader$impl$utils$newline_QMARK_(c){\nreturn (((\x22\\n\x22 \x3d\x3d\x3d c)) || ((((\x22\\n\x22 \x3d\x3d\x3d c)) || ((c \x3d\x3d null)))));\n});\n/**\n * Resolves syntactical sugar in metadata\n */\ncljs.tools.reader.impl.utils.desugar_meta \x3d (function cljs$tools$reader$impl$utils$desugar_meta(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nreturn f;\n\n}\n}\n}\n});\ncljs.tools.reader.impl.utils.last_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\ncljs.tools.reader.impl.utils.next_id \x3d (function cljs$tools$reader$impl$utils$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.utils.last_id,cljs.core.inc);\n});\ncljs.tools.reader.impl.utils.namespace_keys \x3d (function cljs$tools$reader$impl$utils$namespace_keys(ns,keys){\nvar iter__5523__auto__ \x3d (function cljs$tools$reader$impl$utils$namespace_keys_$_iter__15661(s__15662){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__15662__$1 \x3d s__15662;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__15662__$1);\nif(temp__5804__auto__){\nvar s__15662__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__15662__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__15662__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__15664 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__15663 \x3d (0);\nwhile(true){\nif((i__15663 \x3c size__5522__auto__)){\nvar key \x3d cljs.core._nth(c__5521__auto__,i__15663);\ncljs.core.chunk_append(b__15664,(((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__15666 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15666,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15666,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key));\n\nvar G__15695 \x3d (i__15663 + (1));\ni__15663 \x3d G__15695;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15664),cljs$tools$reader$impl$utils$namespace_keys_$_iter__15661(cljs.core.chunk_rest(s__15662__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15664),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__15662__$2);\nreturn cljs.core.cons((((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__15670 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15670,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15670,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key),cljs$tools$reader$impl$utils$namespace_keys_$_iter__15661(cljs.core.rest(s__15662__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(keys);\n});\ncljs.tools.reader.impl.utils.second_SINGLEQUOTE_ \x3d (function cljs$tools$reader$impl$utils$second_SINGLEQUOTE_(p__15673){\nvar vec__15674 \x3d p__15673;\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15674,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15674,(1),null);\nif(cljs.core.truth_(a)){\nreturn null;\n} else {\nreturn b;\n}\n});\ncljs.tools.reader.impl.utils.char_code \x3d (function cljs$tools$reader$impl$utils$char_code(ch,base){\nvar code \x3d parseInt(ch,base);\nif(cljs.core.truth_(isNaN(code))){\nreturn (-1);\n} else {\nreturn code;\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.reader_types.js", true , "goog.provide(\x27cljs.tools.reader.reader_types\x27);\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.Reader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$Reader$read_char$dyn_15750 \x3d (function (reader){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.read_char[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5394__auto__.call(null,reader));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.read_char[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5392__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.read-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader, nil if the end of stream has been reached\n */\ncljs.tools.reader.reader_types.read_char \x3d (function cljs$tools$reader$reader_types$read_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$read_char$dyn_15750(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$Reader$peek_char$dyn_15751 \x3d (function (reader){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5394__auto__.call(null,reader));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5392__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.peek-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader without removing it from the reader stream\n */\ncljs.tools.reader.reader_types.peek_char \x3d (function cljs$tools$reader$reader_types$peek_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$peek_char$dyn_15751(reader);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IPushbackReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_15753 \x3d (function (reader,ch){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.unread[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5394__auto__.call(null,reader,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.unread[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5392__auto__.call(null,reader,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22IPushbackReader.unread\x22,reader);\n}\n}\n});\n/**\n * Pushes back a single character on to the stream\n */\ncljs.tools.reader.reader_types.unread \x3d (function cljs$tools$reader$reader_types$unread(reader,ch){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(reader,ch);\n} else {\nreturn cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_15753(reader,ch);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IndexingReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_15754 \x3d (function (reader){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5394__auto__.call(null,reader));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5392__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-line-number\x22,reader);\n}\n}\n});\n/**\n * Returns the line number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_line_number \x3d (function cljs$tools$reader$reader_types$get_line_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_15754(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_15755 \x3d (function (reader){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5394__auto__.call(null,reader));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5392__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-column-number\x22,reader);\n}\n}\n});\n/**\n * Returns the column number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_column_number \x3d (function cljs$tools$reader$reader_types$get_column_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_15755(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_15756 \x3d (function (reader){\nvar x__5393__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5394__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5394__auto__.call(null,reader));\n} else {\nvar m__5392__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5392__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-file-name\x22,reader);\n}\n}\n});\n/**\n * Returns the file name the reader is reading from, or nil\n */\ncljs.tools.reader.reader_types.get_file_name \x3d (function cljs$tools$reader$reader_types$get_file_name(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_15756(reader);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.StringReader \x3d (function (s,s_len,s_pos){\nthis.s \x3d s;\nthis.s_len \x3d s_len;\nthis.s_pos \x3d s_pos;\n});\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nvar r \x3d self__.s.charAt(self__.s_pos);\n(self__.s_pos \x3d (self__.s_pos + (1)));\n\nreturn r;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nreturn self__.s.charAt(self__.s_pos);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.Symbol(null,\x22s-len\x22,\x22s-len\x22,1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s-pos\x22,\x22s-pos\x22,-540562492,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/StringReader\x22);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.tools.reader.reader-types/StringReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/StringReader.\n */\ncljs.tools.reader.reader_types.__GT_StringReader \x3d (function cljs$tools$reader$reader_types$__GT_StringReader(s,s_len,s_pos){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,s_len,s_pos));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.NodeReadableReader \x3d (function (readable,buf){\nthis.readable \x3d readable;\nthis.buf \x3d buf;\n});\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\nvar c \x3d (self__.buf[(0)]);\n(self__.buf \x3d null);\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nvar c \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1)));\nif(cljs.core.truth_(c)){\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\n} else {\n(self__.buf \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1))));\n}\n\nif(cljs.core.truth_(self__.buf)){\nreturn cljs.tools.reader.impl.utils.char$((self__.buf[(0)]));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22readable\x22,\x22readable\x22,2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/NodeReadableReader.\n */\ncljs.tools.reader.reader_types.__GT_NodeReadableReader \x3d (function cljs$tools$reader$reader_types$__GT_NodeReadableReader(readable,buf){\nreturn (new cljs.tools.reader.reader_types.NodeReadableReader(readable,buf));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.PushbackReader \x3d (function (rdr,buf,buf_len,buf_pos){\nthis.rdr \x3d rdr;\nthis.buf \x3d buf;\nthis.buf_len \x3d buf_len;\nthis.buf_pos \x3d buf_pos;\n});\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null));\nif((self__.buf_pos \x3c self__.buf_len)){\n(self__.buf_pos \x3d (self__.buf_pos + (1)));\n} else {\n}\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null));\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(ch)){\nif((self__.buf_pos \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Pushback buffer is full\x22));\n} else {\n}\n\n(self__.buf_pos \x3d (self__.buf_pos - (1)));\n\nreturn (self__.buf[self__.buf_pos] \x3d ch);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22buf-len\x22,\x22buf-len\x22,404510846,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf-pos\x22,\x22buf-pos\x22,-807229033,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/PushbackReader\x22);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.tools.reader.reader-types/PushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/PushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_PushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_PushbackReader(rdr,buf,buf_len,buf_pos){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(rdr,buf,buf_len,buf_pos));\n});\n\ncljs.tools.reader.reader_types.normalize_newline \x3d (function cljs$tools$reader$reader_types$normalize_newline(rdr,ch){\nif((\x22\\r\x22 \x3d\x3d\x3d ch)){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif((((\x22\\f\x22 \x3d\x3d\x3d c)) || ((\x22\\n\x22 \x3d\x3d\x3d c)))){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n} else {\n}\n\nreturn \x22\\n\x22;\n} else {\nreturn ch;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.IndexingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\n});\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5804__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ch \x3d temp__5804__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/IndexingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_IndexingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name));\n});\n\n/**\n * Returns an object of the same type and value as `obj`, with its\n * metadata merged over `m`.\n */\ncljs.tools.reader.reader_types.merge_meta \x3d (function cljs$tools$reader$reader_types$merge_meta(obj,m){\nvar orig_meta \x3d cljs.core.meta(obj);\nreturn cljs.core.with_meta(obj,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(orig_meta,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539))], 0)));\n});\n/**\n * Returns a string containing the contents of the top most source\n * logging frame.\n */\ncljs.tools.reader.reader_types.peek_source_log \x3d (function cljs$tools$reader$reader_types$peek_source_log(frames){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames)),cljs.core.first(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(frames)));\n});\n/**\n * Logs `char` to all currently active source logging frames.\n */\ncljs.tools.reader.reader_types.log_source_char \x3d (function cljs$tools$reader$reader_types$log_source_char(frames,char$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar buffer \x3d temp__5804__auto__;\nreturn buffer.append(char$);\n} else {\nreturn null;\n}\n});\n/**\n * Removes the last logged character from all currently active source\n * logging frames. Called when pushing a character back.\n */\ncljs.tools.reader.reader_types.drop_last_logged_char \x3d (function cljs$tools$reader$reader_types$drop_last_logged_char(frames){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar buffer \x3d temp__5804__auto__;\nreturn buffer.set(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.str.cljs$core$IFn$_invoke$arity$1(buffer),(0),(buffer.getLength() - (1))));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.SourceLoggingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\nthis.frames \x3d frames;\n});\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5804__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ch \x3d temp__5804__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\ncljs.tools.reader.reader_types.log_source_char(cljs.core.deref(self__.frames),ch__$1);\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nif(cljs.core.truth_(ch)){\ncljs.tools.reader.reader_types.drop_last_logged_char(cljs.core.deref(self__.frames));\n} else {\n}\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null),new cljs.core.Symbol(null,\x22frames\x22,\x22frames\x22,-888748272,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/SourceLoggingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames));\n});\n\n/**\n * Returns true if the reader satisfies IndexingReader\n */\ncljs.tools.reader.reader_types.indexing_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$indexing_reader_QMARK_(rdr){\nif((!((rdr \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Creates a StringReader from a given string\n */\ncljs.tools.reader.reader_types.string_reader \x3d (function cljs$tools$reader$reader_types$string_reader(s){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,cljs.core.count(s),(0)));\n});\n/**\n * Creates a PushbackReader from a given string\n */\ncljs.tools.reader.reader_types.string_push_back_reader \x3d (function cljs$tools$reader$reader_types$string_push_back_reader(var_args){\nvar G__15739 \x3d arguments.length;\nswitch (G__15739) {\ncase 1:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s,(1));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,buf_len){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader(s),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.tools.reader.reader_types.node_readable_push_back_reader \x3d (function cljs$tools$reader$reader_types$node_readable_push_back_reader(readable){\nreturn (new cljs.tools.reader.reader_types.PushbackReader((new cljs.tools.reader.reader_types.NodeReadableReader(readable,null)),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((1)),(1),(1)));\n});\n/**\n * Creates an IndexingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.indexing_push_back_reader \x3d (function cljs$tools$reader$reader_types$indexing_push_back_reader(var_args){\nvar G__15741 \x3d arguments.length;\nswitch (G__15741) {\ncase 1:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a SourceLoggingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.source_logging_push_back_reader \x3d (function cljs$tools$reader$reader_types$source_logging_push_back_reader(var_args){\nvar G__15748 \x3d arguments.length;\nswitch (G__15748) {\ncase 1:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name,cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),(new goog.string.StringBuffer()),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),cljs.core.list((0))], null))));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads a line from the reader or from *in* if no reader is specified\n */\ncljs.tools.reader.reader_types.read_line \x3d (function cljs$tools$reader$reader_types$read_line(rdr){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar s \x3d (new goog.string.StringBuffer());\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(c)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(s);\n} else {\nvar G__15803 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__15804 \x3d s.append(c);\nc \x3d G__15803;\ns \x3d G__15804;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.reader_types.source_logging_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$source_logging_reader_QMARK_(rdr){\nreturn (rdr instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader);\n});\n/**\n * Returns true if rdr is an IndexingReader and the current char starts a new line\n */\ncljs.tools.reader.reader_types.line_start_QMARK_ \x3d (function cljs$tools$reader$reader_types$line_start_QMARK_(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn ((1) \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.reader_types.log_source_STAR_ \x3d (function cljs$tools$reader$reader_types$log_source_STAR_(reader,f){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(reader.frames));\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([buffer.getLength()], 0));\n\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif((((!((ret \x3d\x3d null))))?(((((ret.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ret.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.tools.reader.reader_types.merge_meta(ret,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),cljs.tools.reader.reader_types.peek_source_log(cljs.core.deref(reader.frames))], null));\n} else {\nreturn ret;\n}\n}finally {cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.rest);\n}});\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.impl.inspect.js", true , "goog.provide(\x27cljs.tools.reader.impl.inspect\x27);\ncljs.tools.reader.impl.inspect.inspect_STAR__col \x3d (function cljs$tools$reader$impl$inspect$inspect_STAR__col(truncate,col,start,end){\nvar n \x3d cljs.core.count(col);\nvar l \x3d (cljs.core.truth_(truncate)?(0):(function (){var x__5133__auto__ \x3d (10);\nvar y__5134__auto__ \x3d n;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})());\nvar elements \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.inspect.inspect_STAR_,true),cljs.core.take.cljs$core$IFn$_invoke$arity$2(l,col));\nvar content \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22 \x22,elements));\nvar suffix \x3d (((l \x3c n))?\x22...\x22:null);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(start),cljs.core.str.cljs$core$IFn$_invoke$arity$1(content),suffix,cljs.core.str.cljs$core$IFn$_invoke$arity$1(end)].join(\x27\x27);\n});\ncljs.tools.reader.impl.inspect.dispatch_inspect \x3d (function cljs$tools$reader$impl$inspect$dispatch_inspect(_,x){\nif((x \x3d\x3d null)){\nreturn new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586);\n} else {\nif((x instanceof cljs.core.Keyword)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif((x instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core.vector_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.list_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.set_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,true)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,false)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nreturn cljs.core.type(x);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect.inspect_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.impl.inspect.inspect_STAR_ \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__15669 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__15669.cljs$core$IFn$_invoke$arity$0 ? fexpr__15669.cljs$core$IFn$_invoke$arity$0() : fexpr__15669.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.tools.reader.impl.inspect\x22,\x22inspect*\x22),cljs.tools.reader.impl.inspect.dispatch_inspect,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),(function (truncate,x){\nvar n \x3d (cljs.core.truth_(truncate)?(5):(20));\nvar suffix \x3d (((x.length \x3e n))?\x22...\\\x22\x22:\x22\\\x22\x22);\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x.substring((0),(function (){var x__5133__auto__ \x3d n;\nvar y__5134__auto__ \x3d x.length;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})())),suffix].join(\x27\x27);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047),(function (truncate,x){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.IndexedSeq,(function (truncate,x){\nreturn \x22\x3cindexed seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.PersistentArrayMapSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.NodeSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.Cons,(function (truncate,x){\nreturn \x22\x3ccons\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.LazySeq,(function (truncate,x){\nreturn \x22\x3clazy seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),(function (_,___$1){\nreturn \x22nil\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22(\x22,\x22)\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),(function (truncate,m){\nvar len \x3d cljs.core.count(m);\nvar n_shown \x3d (cljs.core.truth_(truncate)?(0):len);\nvar contents \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n_shown,m));\nvar suffix \x3d (((len \x3e n_shown))?\x22...}\x22:\x22}\x22);\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,contents,\x22{\x22,suffix);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22#{\x22,\x22}\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22[\x22,\x22]\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (truncate,x){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(x)], 0));\n}));\n/**\n * Return a string description of the value supplied.\n * May be the a string version of the value itself (e.g. \x22true\x22)\n * or it may be a description (e.g. \x22an instance of Foo\x22).\n * If truncate is true then return a very terse version of\n * the inspection.\n */\ncljs.tools.reader.impl.inspect.inspect \x3d (function cljs$tools$reader$impl$inspect$inspect(var_args){\nvar G__15679 \x3d arguments.length;\nswitch (G__15679) {\ncase 1:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(false,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2 \x3d (function (truncate,x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(truncate,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity \x3d 2);\n\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.impl.errors.js", true , "goog.provide(\x27cljs.tools.reader.impl.errors\x27);\ncljs.tools.reader.impl.errors.ex_details \x3d (function cljs$tools$reader$impl$errors$ex_details(rdr,ex_type){\nvar details \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22ex-kind\x22,\x22ex-kind\x22,1581199296),ex_type], null);\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(details,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(rdr),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(rdr),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),cljs.tools.reader.reader_types.get_column_number(rdr)], 0));\n} else {\nreturn details;\n}\n});\n/**\n * Throw an ex-info error.\n */\ncljs.tools.reader.impl.errors.throw_ex \x3d (function cljs$tools$reader$impl$errors$throw_ex(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15847 \x3d arguments.length;\nvar i__5770__auto___15848 \x3d (0);\nwhile(true){\nif((i__5770__auto___15848 \x3c len__5769__auto___15847)){\nargs__5775__auto__.push((arguments[i__5770__auto___15848]));\n\nvar G__15849 \x3d (i__5770__auto___15848 + (1));\ni__5770__auto___15848 \x3d G__15849;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,ex_type,msg){\nvar details \x3d cljs.tools.reader.impl.errors.ex_details(rdr,ex_type);\nvar file \x3d new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(details);\nvar line \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(details);\nvar col \x3d new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(details);\nvar msg1 \x3d (cljs.core.truth_(file)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file),\x22 \x22].join(\x27\x27):null);\nvar msg2 \x3d (cljs.core.truth_(line)?[\x22[line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22, col \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27):null);\nvar msg3 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d msg1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn msg2;\n}\n})())?\x22 \x22:null);\nvar full_msg \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg1,msg2,msg3,msg);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(full_msg,details);\n}));\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$applyTo \x3d (function (seq15758){\nvar G__15759 \x3d cljs.core.first(seq15758);\nvar seq15758__$1 \x3d cljs.core.next(seq15758);\nvar G__15760 \x3d cljs.core.first(seq15758__$1);\nvar seq15758__$2 \x3d cljs.core.next(seq15758__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15759,G__15760,seq15758__$2);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.reader_error \x3d (function cljs$tools$reader$impl$errors$reader_error(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15850 \x3d arguments.length;\nvar i__5770__auto___15851 \x3d (0);\nwhile(true){\nif((i__5770__auto___15851 \x3c len__5769__auto___15850)){\nargs__5775__auto__.push((arguments[i__5770__auto___15851]));\n\nvar G__15852 \x3d (i__5770__auto___15851 + (1));\ni__5770__auto___15851 \x3d G__15852;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22reader-error\x22,\x22reader-error\x22,1610253121),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$applyTo \x3d (function (seq15796){\nvar G__15797 \x3d cljs.core.first(seq15796);\nvar seq15796__$1 \x3d cljs.core.next(seq15796);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15797,seq15796__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.illegal_arg_error \x3d (function cljs$tools$reader$impl$errors$illegal_arg_error(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15853 \x3d arguments.length;\nvar i__5770__auto___15854 \x3d (0);\nwhile(true){\nif((i__5770__auto___15854 \x3c len__5769__auto___15853)){\nargs__5775__auto__.push((arguments[i__5770__auto___15854]));\n\nvar G__15855 \x3d (i__5770__auto___15854 + (1));\ni__5770__auto___15854 \x3d G__15855;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22illegal-argument\x22,\x22illegal-argument\x22,-1845493170),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$applyTo \x3d (function (seq15801){\nvar G__15802 \x3d cljs.core.first(seq15801);\nvar seq15801__$1 \x3d cljs.core.next(seq15801);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15802,seq15801__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.eof_error \x3d (function cljs$tools$reader$impl$errors$eof_error(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15857 \x3d arguments.length;\nvar i__5770__auto___15858 \x3d (0);\nwhile(true){\nif((i__5770__auto___15858 \x3c len__5769__auto___15857)){\nargs__5775__auto__.push((arguments[i__5770__auto___15858]));\n\nvar G__15859 \x3d (i__5770__auto___15858 + (1));\ni__5770__auto___15858 \x3d G__15859;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$applyTo \x3d (function (seq15805){\nvar G__15806 \x3d cljs.core.first(seq15805);\nvar seq15805__$1 \x3d cljs.core.next(seq15805);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15806,seq15805__$1);\n}));\n\ncljs.tools.reader.impl.errors.throw_eof_delimited \x3d (function cljs$tools$reader$impl$errors$throw_eof_delimited(var_args){\nvar G__15810 \x3d arguments.length;\nswitch (G__15810) {\ncase 4:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4 \x3d (function (rdr,kind,column,line){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,line,column,null);\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,kind,line,column,n){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading \x22,(cljs.core.truth_(n)?[\x22item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 of \x22].join(\x27\x27):null),cljs.core.name(kind),(cljs.core.truth_(line)?[\x22, starting at line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 and column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):null),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.impl.errors.throw_odd_map \x3d (function cljs$tools$reader$impl$errors$throw_odd_map(rdr,line,col,elements){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22The map literal starting with \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(cljs.core.first(elements)),(cljs.core.truth_(line)?[\x22 on line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)].join(\x27\x27):null),\x22 contains \x22,cljs.core.count(elements),\x22 form(s). Map literals must contain an even number of forms.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_number \x3d (function cljs$tools$reader$impl$errors$throw_invalid_number(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid number: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_literal(rdr,token){\nthrow cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal: \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_escape \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_escape(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode escape: \\\\u\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid \x3d (function cljs$tools$reader$impl$errors$throw_invalid(rdr,kind,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid \x22,cljs.core.name(kind),\x22: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_start \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_start(rdr,kind){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading start of \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_char(rdr,kind,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character: \x22,ch,\x22 found while reading \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_dispatch \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_dispatch(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading dispatch character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unmatch_delimiter \x3d (function cljs$tools$reader$impl$errors$throw_unmatch_delimiter(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unmatched delimiter \x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_reading \x3d (function cljs$tools$reader$impl$errors$throw_eof_reading(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15863 \x3d arguments.length;\nvar i__5770__auto___15864 \x3d (0);\nwhile(true){\nif((i__5770__auto___15864 \x3c len__5769__auto___15863)){\nargs__5775__auto__.push((arguments[i__5770__auto___15864]));\n\nvar G__15865 \x3d (i__5770__auto___15864 + (1));\ni__5770__auto___15864 \x3d G__15865;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,kind,start){\nvar init \x3d (function (){var G__15823 \x3d kind;\nvar G__15823__$1 \x3d (((G__15823 instanceof cljs.core.Keyword))?G__15823.fqn:null);\nswitch (G__15823__$1) {\ncase \x22regex\x22:\nreturn \x22#\\\x22\x22;\n\nbreak;\ncase \x22string\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__15823__$1)].join(\x27\x27)));\n\n}\n})();\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF reading \x22,cljs.core.name(kind),\x22 starting \x22,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,init,start),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$applyTo \x3d (function (seq15814){\nvar G__15815 \x3d cljs.core.first(seq15814);\nvar seq15814__$1 \x3d cljs.core.next(seq15814);\nvar G__15816 \x3d cljs.core.first(seq15814__$1);\nvar seq15814__$2 \x3d cljs.core.next(seq15814__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15815,G__15816,seq15814__$2);\n}));\n\ncljs.tools.reader.impl.errors.throw_invalid_unicode_char \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_char(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit_in_token(rdr,ch,token){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit(rdr,ch){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_len(rdr,actual,expected){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal. Unicode literals should be \x22,expected,\x22characters long. \x22,\x22Value supplied is \x22,actual,\x22 characters long.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_character_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_character_literal(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character literal \\\\u\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_octal_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_octal_len(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid octal escape sequence in a character literal: \x22,token,\x22. Octal escape sequences must be 3 or fewer digits.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_octal_number \x3d (function cljs$tools$reader$impl$errors$throw_bad_octal_number(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Octal escape sequence must be in range [0, 377].\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unsupported_character \x3d (function cljs$tools$reader$impl$errors$throw_unsupported_character(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported character: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_in_character \x3d (function cljs$tools$reader$impl$errors$throw_eof_in_character(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_escape_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_escape_char(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported escape character: \\\\\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_single_colon \x3d (function cljs$tools$reader$impl$errors$throw_single_colon(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22A single colon is not a valid keyword.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata(rdr,x){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(x),\x22. Metadata must be a Symbol, Keyword, String or Map.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata_target \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata_target(rdr,target){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata can not be applied to \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(target),\x22. \x22,\x22Metadata can only be applied to IMetas.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_feature_not_keyword \x3d (function cljs$tools$reader$impl$errors$throw_feature_not_keyword(rdr,feature){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(feature),\x22. Features must be keywords.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_ns_map_no_map \x3d (function cljs$tools$reader$impl$errors$throw_ns_map_no_map(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Namespaced map with namespace \x22,ns_name,\x22 does not specify a map.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_ns \x3d (function cljs$tools$reader$impl$errors$throw_bad_ns(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid value used as namespace in namespaced map: \x22,ns_name,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_bad_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid reader tag: \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22. Reader tags must be symbols.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unknown_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_unknown_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22No reader function for tag \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.duplicate_keys_error \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error(msg,coll){\nvar duplicates \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates(seq){\nvar iter__5523__auto__ \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__15837(s__15838){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__15838__$1 \x3d s__15838;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__15838__$1);\nif(temp__5804__auto__){\nvar s__15838__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__15838__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__15838__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__15840 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__15839 \x3d (0);\nwhile(true){\nif((i__15839 \x3c size__5522__auto__)){\nvar vec__15841 \x3d cljs.core._nth(c__5521__auto__,i__15839);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15841,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15841,(1),null);\nif((freq \x3e (1))){\ncljs.core.chunk_append(b__15840,id);\n\nvar G__15867 \x3d (i__15839 + (1));\ni__15839 \x3d G__15867;\ncontinue;\n} else {\nvar G__15868 \x3d (i__15839 + (1));\ni__15839 \x3d G__15868;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15840),cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__15837(cljs.core.chunk_rest(s__15838__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15840),null);\n}\n} else {\nvar vec__15844 \x3d cljs.core.first(s__15838__$2);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15844,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15844,(1),null);\nif((freq \x3e (1))){\nreturn cljs.core.cons(id,cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__15837(cljs.core.rest(s__15838__$2)));\n} else {\nvar G__15869 \x3d cljs.core.rest(s__15838__$2);\ns__15838__$1 \x3d G__15869;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.frequencies(seq));\n});\nvar dups \x3d duplicates(coll);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg,(((cljs.core.count(dups) \x3e (1)))?\x22s\x22:null),\x22: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,dups));\n});\ncljs.tools.reader.impl.errors.throw_dup_keys \x3d (function cljs$tools$reader$impl$errors$throw_dup_keys(rdr,kind,ks){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.duplicate_keys_error([clojure.string.capitalize(cljs.core.name(kind)),\x22 literal contains duplicate key\x22].join(\x27\x27),ks)], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_error \x3d (function cljs$tools$reader$impl$errors$throw_eof_error(rdr,line){\nif(cljs.core.truth_(line)){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading, starting at line \x22,line,\x22.\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading.\x22], 0));\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.impl.commons.js", true , "goog.provide(\x27cljs.tools.reader.impl.commons\x27);\n/**\n * Checks whether the reader is at the start of a number literal\n */\ncljs.tools.reader.impl.commons.number_literal_QMARK_ \x3d (function cljs$tools$reader$impl$commons$number_literal_QMARK_(reader,initch){\nreturn ((cljs.tools.reader.impl.utils.numeric_QMARK_(initch)) || ((((((\x22+\x22 \x3d\x3d\x3d initch)) || ((\x22-\x22 \x3d\x3d\x3d initch)))) \x26\x26 (cljs.tools.reader.impl.utils.numeric_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))));\n});\n/**\n * Read until first character that doesn\x27t match pred, returning\n * char.\n */\ncljs.tools.reader.impl.commons.read_past \x3d (function cljs$tools$reader$impl$commons$read_past(pred,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(ch) : pred.call(null,ch))){\nvar G__15881 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__15881;\ncontinue;\n} else {\nreturn ch;\n}\nbreak;\n}\n});\n/**\n * Advances the reader to the end of a line. Returns the reader\n */\ncljs.tools.reader.impl.commons.skip_line \x3d (function cljs$tools$reader$impl$commons$skip_line(reader){\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null))){\n} else {\ncontinue;\n}\nbreak;\n}\n\nreturn reader;\n});\ncljs.tools.reader.impl.commons.int_pattern \x3d /^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;\ncljs.tools.reader.impl.commons.ratio_pattern \x3d /([-+]?[0-9]+)\\/([0-9]+)/;\ncljs.tools.reader.impl.commons.float_pattern \x3d /([-+]?[0-9]+(\\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;\ncljs.tools.reader.impl.commons.match_int \x3d (function cljs$tools$reader$impl$commons$match_int(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.int_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2))) \x3d\x3d null)))){\nreturn (0);\n} else {\nvar negate_QMARK_ \x3d (\x22-\x22 \x3d\x3d\x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\nvar a \x3d (((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))),(10)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))),(16)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))),(8)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))),parseInt((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((6)) : m.call(null,(6))))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null)\n))));\nvar n \x3d (a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((0)) : a.call(null,(0)));\nif((n \x3d\x3d null)){\nreturn null;\n} else {\nvar bn \x3d parseInt(n,(a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((1)) : a.call(null,(1))));\nvar bn__$1 \x3d ((negate_QMARK_)?((-1) * bn):bn);\nif(cljs.core.truth_(isNaN(bn__$1))){\nreturn null;\n} else {\nreturn bn__$1;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.match_ratio \x3d (function cljs$tools$reader$impl$commons$match_ratio(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.ratio_pattern,s));\nvar numerator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1)));\nvar denominator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2)));\nvar numerator__$1 \x3d (cljs.core.truth_(cljs.core.re_find(/^\\+/,numerator))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(numerator,(1)):numerator);\nreturn (parseInt(numerator__$1) / parseInt(denominator));\n});\ncljs.tools.reader.impl.commons.match_float \x3d (function cljs$tools$reader$impl$commons$match_float(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.float_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null)))){\nreturn parseFloat((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\n} else {\nreturn parseFloat(s);\n}\n});\ncljs.tools.reader.impl.commons.matches_QMARK_ \x3d (function cljs$tools$reader$impl$commons$matches_QMARK_(pattern,s){\nvar vec__15870 \x3d cljs.core.re_find(pattern,s);\nvar match \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15870,(0),null);\nreturn (match \x3d\x3d\x3d s);\n});\ncljs.tools.reader.impl.commons.match_number \x3d (function cljs$tools$reader$impl$commons$match_number(s){\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.int_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_int(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.float_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_float(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.ratio_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_ratio(s);\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * Parses a string into a vector of the namespace and symbol\n */\ncljs.tools.reader.impl.commons.parse_symbol \x3d (function cljs$tools$reader$impl$commons$parse_symbol(token){\nif((((\x22\x22 \x3d\x3d\x3d token)) || (((/:$/.test(token) \x3d\x3d\x3d true) || (/^::/.test(token) \x3d\x3d\x3d true))))){\nreturn null;\n} else {\nvar ns_idx \x3d token.indexOf(\x22/\x22);\nvar ns \x3d (((ns_idx \x3e (0)))?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(token,(0),ns_idx):null);\nif((!((ns \x3d\x3d null)))){\nvar ns_idx__$1 \x3d (ns_idx + (1));\nif((ns_idx__$1 \x3d\x3d\x3d cljs.core.count(token))){\nreturn null;\n} else {\nvar sym \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,ns_idx__$1);\nif((((!(cljs.tools.reader.impl.utils.numeric_QMARK_(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(sym,(0)))))) \x26\x26 ((((!((\x22\x22 \x3d\x3d\x3d sym)))) \x26\x26 (((/:$/.test(ns) \x3d\x3d\x3d false) \x26\x26 ((((sym \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d sym.indexOf(\x22/\x22))))))))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nreturn null;\n}\n}\n} else {\nif((((token \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d token.indexOf(\x22/\x22))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.read_comment \x3d (function cljs$tools$reader$impl$commons$read_comment(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15882 \x3d arguments.length;\nvar i__5770__auto___15883 \x3d (0);\nwhile(true){\nif((i__5770__auto___15883 \x3c len__5769__auto___15882)){\nargs__5775__auto__.push((arguments[i__5770__auto___15883]));\n\nvar G__15884 \x3d (i__5770__auto___15883 + (1));\ni__5770__auto___15883 \x3d G__15884;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,_){\nreturn cljs.tools.reader.impl.commons.skip_line(rdr);\n}));\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo \x3d (function (seq15873){\nvar G__15874 \x3d cljs.core.first(seq15873);\nvar seq15873__$1 \x3d cljs.core.next(seq15873);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15874,seq15873__$1);\n}));\n\ncljs.tools.reader.impl.commons.throwing_reader \x3d (function cljs$tools$reader$impl$commons$throwing_reader(msg){\nreturn (function() { \nvar G__15885__delegate \x3d function (rdr,_){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n};\nvar G__15885 \x3d function (rdr,var_args){\nvar _ \x3d null;\nif (arguments.length \x3e 1) {\nvar G__15886__i \x3d 0, G__15886__a \x3d new Array(arguments.length - 1);\nwhile (G__15886__i \x3c G__15886__a.length) {G__15886__a[G__15886__i] \x3d arguments[G__15886__i + 1]; ++G__15886__i;}\n _ \x3d new cljs.core.IndexedSeq(G__15886__a,0,null);\n} \nreturn G__15885__delegate.call(this,rdr,_);};\nG__15885.cljs$lang$maxFixedArity \x3d 1;\nG__15885.cljs$lang$applyTo \x3d (function (arglist__15887){\nvar rdr \x3d cljs.core.first(arglist__15887);\nvar _ \x3d cljs.core.rest(arglist__15887);\nreturn G__15885__delegate(rdr,_);\n});\nG__15885.cljs$core$IFn$_invoke$arity$variadic \x3d G__15885__delegate;\nreturn G__15885;\n})()\n;\n});\n"); +SHADOW_ENV.evalLoad("cljs.tools.reader.js", true , "goog.provide(\x27cljs.tools.reader\x27);\ngoog.scope(function(){\n cljs.tools.reader.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n\n\n\n\n\ncljs.tools.reader.macro_terminating_QMARK_ \x3d (function cljs$tools$reader$macro_terminating_QMARK_(ch){\nvar G__17481 \x3d ch;\nswitch (G__17481) {\ncase \x22\\\x22\x22:\ncase \x22;\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\ncljs.tools.reader.sb \x3d (new goog.string.StringBuffer());\n/**\n * Read in a single logical token from the reader\n */\ncljs.tools.reader.read_token \x3d (function cljs$tools$reader$read_token(rdr,kind,initch){\nif((initch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\ncljs.tools.reader.sb.clear();\n\nvar ch \x3d initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nif((ch \x3d\x3d null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nreturn cljs.tools.reader.sb.toString();\n} else {\ncljs.tools.reader.sb.append(ch);\n\nvar G__18339 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__18339;\ncontinue;\n}\nbreak;\n}\n}\n});\ncljs.tools.reader.read_dispatch \x3d (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d (cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar dm \x3d temp__5802__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$4 ? dm.cljs$core$IFn$_invoke$arity$4(rdr,ch,opts,pending_forms) : dm.call(null,rdr,ch,opts,pending_forms));\n} else {\nvar G__17537 \x3d (function (){var G__17541 \x3d rdr;\nG__17541.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nreturn G__17541;\n})();\nvar G__17538 \x3d ch;\nvar G__17539 \x3d opts;\nvar G__17540 \x3d pending_forms;\nreturn (cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4(G__17537,G__17538,G__17539,G__17540) : cljs.tools.reader.read_tagged.call(null,G__17537,G__17538,G__17539,G__17540));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.read_unmatched_delimiter \x3d (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.read_regex \x3d (function cljs$tools$reader$read_regex(rdr,ch,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\x22\\\x22\x22 \x3d\x3d\x3d ch__$1)){\nreturn cljs.core.re_pattern(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nif((ch__$1 \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\nsb.append(ch__$1);\n\nif((\x22\\\\\x22 \x3d\x3d\x3d ch__$1)){\nvar ch_18348__$2 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_18348__$2 \x3d\x3d null)){\ncljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\n}\n\nsb.append(ch_18348__$2);\n} else {\n}\n\nvar G__18349 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch__$1 \x3d G__18349;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_unicode_char \x3d (function cljs$tools$reader$read_unicode_char(var_args){\nvar G__17565 \x3d arguments.length;\nswitch (G__17565) {\ncase 4:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (token,offset,length,base){\nvar l \x3d (offset + length);\nif((cljs.core.count(token) \x3d\x3d\x3d l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i \x3d offset;\nvar uc \x3d (0);\nwhile(true){\nif((i \x3d\x3d\x3d l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__18352 \x3d (i + (1));\nvar G__18353 \x3d (d + (uc * base));\ni \x3d G__18352;\nuc \x3d G__18353;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,initch,base,length,exact_QMARK_){\nvar i \x3d (1);\nvar uc \x3d cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i \x3d\x3d\x3d length)))){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(ch,base);\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__18354 \x3d (i + (1));\nvar G__18355 \x3d (d + (uc * base));\ni \x3d G__18354;\nuc \x3d G__18355;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.upper_limit \x3d \x22\\uD7FF\x22.charCodeAt((0));\ncljs.tools.reader.lower_limit \x3d \x22\\uE000\x22.charCodeAt((0));\ncljs.tools.reader.valid_octal_QMARK_ \x3d (function cljs$tools$reader$valid_octal_QMARK_(token,base){\nreturn (parseInt(token,base) \x3c\x3d (255));\n});\n/**\n * Read in a character literal\n */\ncljs.tools.reader.read_char_STAR_ \x3d (function cljs$tools$reader$read_char_STAR_(rdr,backslash,opts,pending_forms){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!((ch \x3d\x3d null)))){\nvar token \x3d ((((cljs.tools.reader.macro_terminating_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22character\x22,\x22character\x22,380652989),ch));\nvar token_len \x3d token.length;\nif(((1) \x3d\x3d\x3d token_len)){\nreturn token.charAt((0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22newline\x22)){\nreturn \x22\\n\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22space\x22)){\nreturn \x22 \x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22tab\x22)){\nreturn \x22\\t\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22backspace\x22)){\nreturn \x22\\b\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22formfeed\x22)){\nreturn \x22\\f\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22return\x22)){\nreturn \x22\\r\x22;\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22u\x22))){\nvar c \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic \x3d c.charCodeAt((0));\nif((((ic \x3e cljs.tools.reader.upper_limit)) \x26\x26 ((ic \x3c cljs.tools.reader.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22o\x22))){\nvar len \x3d (token_len - (1));\nif((len \x3e (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar offset \x3d (1);\nvar base \x3d (8);\nvar uc \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,offset,len,base);\nif((!(cljs.tools.reader.valid_octal_QMARK_(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,offset),base)))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.starting_line_col_info \x3d (function cljs$tools$reader$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),((rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.ending_line_col_info \x3d (function cljs$tools$reader$ending_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null)], null);\n} else {\nreturn null;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_EOF !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_EOF \x3d (new Object());\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_FINISHED !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_FINISHED \x3d (new Object());\n}\ncljs.tools.reader._STAR_read_delim_STAR_ \x3d false;\ncljs.tools.reader.read_delimited_internal \x3d (function cljs$tools$reader$read_delimited_internal(kind,delim,rdr,opts,pending_forms){\nvar vec__17577 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17577,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17577,(1),null);\nvar delim__$1 \x3d cljs.tools.reader.impl.utils.char$(delim);\nvar a \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar form \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms));\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n} else {\nvar G__18364 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,form);\na \x3d G__18364;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Reads and returns a collection ended with delim\n */\ncljs.tools.reader.read_delimited \x3d (function cljs$tools$reader$read_delimited(kind,delim,rdr,opts,pending_forms){\nvar _STAR_read_delim_STAR__orig_val__17583 \x3d cljs.tools.reader._STAR_read_delim_STAR_;\nvar _STAR_read_delim_STAR__temp_val__17584 \x3d true;\n(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__temp_val__17584);\n\ntry{return cljs.tools.reader.read_delimited_internal(kind,delim,rdr,opts,pending_forms);\n}finally {(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__orig_val__17583);\n}});\n/**\n * Read in a list, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_list \x3d (function cljs$tools$reader$read_list(rdr,_,opts,pending_forms){\nvar vec__17587 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17587,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17587,(1),null);\nvar the_list \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),\x22)\x22,rdr,opts,pending_forms);\nvar vec__17590 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17590,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17590,(1),null);\nreturn cljs.core.with_meta(((cljs.core.empty_QMARK_(the_list))?cljs.core.List.EMPTY:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a vector, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_vector \x3d (function cljs$tools$reader$read_vector(rdr,_,opts,pending_forms){\nvar vec__17594 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17594,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17594,(1),null);\nvar the_vector \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),\x22]\x22,rdr,opts,pending_forms);\nvar vec__17597 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17597,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17597,(1),null);\nreturn cljs.core.with_meta(the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a map, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_map \x3d (function cljs$tools$reader$read_map(rdr,_,opts,pending_forms){\nvar vec__17606 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17606,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17606,(1),null);\nvar the_map \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),\x22}\x22,rdr,opts,pending_forms);\nvar map_count \x3d cljs.core.count(the_map);\nvar ks \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set \x3d cljs.core.set(ks);\nvar vec__17609 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17609,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17609,(1),null);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks);\n}\n\nreturn cljs.core.with_meta((((map_count \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)))?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\ncljs.tools.reader.read_number \x3d (function cljs$tools$reader$read_number(rdr,initch){\nvar sb \x3d (function (){var G__17619 \x3d (new goog.string.StringBuffer());\nG__17619.append(initch);\n\nreturn G__17619;\n})();\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nvar or__5045__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__18370 \x3d (function (){var G__17620 \x3d sb;\nG__17620.append(ch);\n\nreturn G__17620;\n})();\nvar G__18371 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__18370;\nch \x3d G__18371;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.escape_char \x3d (function cljs$tools$reader$escape_char(sb,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__17625 \x3d ch;\nswitch (G__17625) {\ncase \x22t\x22:\nreturn \x22\\t\x22;\n\nbreak;\ncase \x22r\x22:\nreturn \x22\\r\x22;\n\nbreak;\ncase \x22n\x22:\nreturn \x22\\n\x22;\n\nbreak;\ncase \x22\\\\\x22:\nreturn \x22\\\\\x22;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ncase \x22b\x22:\nreturn \x22\\b\x22;\n\nbreak;\ncase \x22f\x22:\nreturn \x22\\f\x22;\n\nbreak;\ncase \x22u\x22:\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(((-1) \x3d\x3d\x3d parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.read_string_STAR_ \x3d (function cljs$tools$reader$read_string_STAR_(reader,_,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((ch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(reader,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\\x22\x22,sb], 0));\n} else {\nvar G__17630 \x3d ch;\nswitch (G__17630) {\ncase \x22\\\\\x22:\nvar G__18375 \x3d (function (){var G__17631 \x3d sb;\nG__17631.append(cljs.tools.reader.escape_char(sb,reader));\n\nreturn G__17631;\n})();\nvar G__18376 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__18375;\nch \x3d G__18376;\ncontinue;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n\nbreak;\ndefault:\nvar G__18377 \x3d (function (){var G__17632 \x3d sb;\nG__17632.append(ch);\n\nreturn G__17632;\n})();\nvar G__18378 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__18377;\nch \x3d G__18378;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.loc_info \x3d (function cljs$tools$reader$loc_info(rdr,line,column){\nif((line \x3d\x3d null)){\nreturn null;\n} else {\nvar file \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nvar filem \x3d (((file \x3d\x3d null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null));\nvar vec__17635 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17635,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17635,(1),null);\nvar lcm \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filem,lcm], 0));\n}\n});\ncljs.tools.reader.read_symbol \x3d (function cljs$tools$reader$read_symbol(rdr,initch){\nvar vec__17640 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17640,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17640,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif((token \x3d\x3d null)){\nreturn null;\n} else {\nvar G__17643 \x3d token;\nswitch (G__17643) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar p \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((p \x3d\x3d null)))){\nvar sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(p.cljs$core$IIndexed$_nth$arity$2(null,(0)),p.cljs$core$IIndexed$_nth$arity$2(null,(1)));\nreturn sym.cljs$core$IWithMeta$_with_meta$arity$2(null,cljs.tools.reader.loc_info(rdr,line,column));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),token);\n}\n\n}\n}\n});\n/**\n * Map from ns alias to ns, if non-nil, it will be used to resolve read-time\n * ns aliases.\n * \n * Defaults to nil\n */\ncljs.tools.reader._STAR_alias_map_STAR_ \x3d null;\ncljs.tools.reader.resolve_alias \x3d (function cljs$tools$reader$resolve_alias(sym){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader._STAR_alias_map_STAR_,sym);\n});\ncljs.tools.reader.resolve_ns \x3d (function cljs$tools$reader$resolve_ns(sym){\nvar or__5045__auto__ \x3d cljs.tools.reader.resolve_alias(sym);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.find_ns(sym);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(ns));\n} else {\nreturn null;\n}\n}\n});\ncljs.tools.reader.read_keyword \x3d (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token \x3d cljs.tools.reader.read_token(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),ch);\nvar s \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((s \x3d\x3d null)))){\nvar ns \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar name \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(1));\nif((\x22:\x22 \x3d\x3d\x3d token.charAt((0)))){\nif((!((ns \x3d\x3d null)))){\nvar temp__5802__auto__ \x3d cljs.tools.reader.resolve_alias(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(ns,(1))));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns__$1 \x3d temp__5802__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),name);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.core._STAR_ns_STAR_;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns__$1 \x3d temp__5802__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(name,(1)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(reader,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid token: :\x22,token], 0));\n}\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\n/**\n * Returns a function which wraps a reader in a call to sym\n */\ncljs.tools.reader.wrapping_reader \x3d (function cljs$tools$reader$wrapping_reader(sym){\nreturn (function (rdr,_,opts,pending_forms){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)),null,(1),null)),(2),null));\n});\n});\n/**\n * Read metadata and return the following object with the metadata applied\n */\ncljs.tools.reader.read_meta \x3d (function cljs$tools$reader$read_meta(rdr,_,opts,pending_forms){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(rdr)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(rdr))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(rdr,(function (){\nvar vec__17656 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17656,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17656,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d line;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}));\n} else {\nvar vec__17698 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17698,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17698,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d line;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}\n});\ncljs.tools.reader.read_set \x3d (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){\nvar vec__17712 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17712,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17712,(1),null);\nvar start_column__$1 \x3d (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null);\nvar coll \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),\x22}\x22,rdr,opts,pending_forms);\nvar the_set \x3d cljs.core.set(coll);\nvar vec__17715 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17715,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17715,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll)], 0));\n}\n\nreturn cljs.core.with_meta(the_set,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column__$1,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read and discard the first object from rdr\n */\ncljs.tools.reader.read_discard \x3d (function cljs$tools$reader$read_discard(rdr,_,opts,pending_forms){\nvar G__17722 \x3d rdr;\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__17722,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,G__17722,true,null,opts,pending_forms));\n\nreturn G__17722;\n});\ncljs.tools.reader.read_symbolic_value \x3d (function cljs$tools$reader$read_symbolic_value(rdr,_,opts,pending_forms){\nvar sym \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nvar G__17724 \x3d sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22NaN\x22,\x22NaN\x22,666918153,null),G__17724)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-Inf\x22,\x22-Inf\x22,-2123243689,null),G__17724)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Inf\x22,\x22Inf\x22,647172781,null),G__17724)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Invalid token: ##\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.RESERVED_FEATURES \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22none\x22,\x22none\x22,1333468478),null], null), null);\ncljs.tools.reader.has_feature_QMARK_ \x3d (function cljs$tools$reader$has_feature_QMARK_(rdr,feature,opts){\nif((feature instanceof cljs.core.Keyword)){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),feature)) || (cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336)),feature)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature should be a keyword: \x22,feature], 0));\n}\n});\ncljs.tools.reader.check_eof_error \x3d (function cljs$tools$reader$check_eof_error(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(rdr,(function (){var and__5043__auto__ \x3d (first_line \x3c (0));\nif(and__5043__auto__){\nreturn first_line;\n} else {\nreturn and__5043__auto__;\n}\n})());\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_reserved_features \x3d (function cljs$tools$reader$check_reserved_features(rdr,form){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,form))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature name \x22,form,\x22 is reserved\x22], 0));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_invalid_read_cond \x3d (function cljs$tools$reader$check_invalid_read_cond(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nif((first_line \x3c (0))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond requires an even number of forms\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond starting on line \x22,first_line,\x22 requires an even number of forms\x22], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Read next form and suppress. Return nil or READ_FINISHED.\n */\ncljs.tools.reader.read_suppress \x3d (function cljs$tools$reader$read_suppress(first_line,rdr,opts,pending_forms){\nvar _STAR_suppress_read_STAR__orig_val__17744 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__17745 \x3d true;\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__17745);\n\ntry{var form \x3d (function (){var G__17750 \x3d rdr;\nvar G__17751 \x3d false;\nvar G__17752 \x3d cljs.tools.reader.READ_EOF;\nvar G__17753 \x3d \x22)\x22;\nvar G__17754 \x3d opts;\nvar G__17755 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__17750,G__17751,G__17752,G__17753,G__17754,G__17755) : cljs.tools.reader.read_STAR_.call(null,G__17750,G__17751,G__17752,G__17753,G__17754,G__17755));\n})();\ncljs.tools.reader.check_eof_error(form,rdr,first_line);\n\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nreturn null;\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__17744);\n}});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.NO_MATCH !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.NO_MATCH \x3d (new Object());\n}\n/**\n * Read next feature. If matched, read next form and return.\n * Otherwise, read and skip next form, returning READ_FINISHED or nil.\n */\ncljs.tools.reader.match_feature \x3d (function cljs$tools$reader$match_feature(first_line,rdr,opts,pending_forms){\nvar feature \x3d (function (){var G__17762 \x3d rdr;\nvar G__17763 \x3d false;\nvar G__17764 \x3d cljs.tools.reader.READ_EOF;\nvar G__17765 \x3d \x22)\x22;\nvar G__17766 \x3d opts;\nvar G__17767 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__17762,G__17763,G__17764,G__17765,G__17766,G__17767) : cljs.tools.reader.read_STAR_.call(null,G__17762,G__17763,G__17764,G__17765,G__17766,G__17767));\n})();\ncljs.tools.reader.check_eof_error(feature,rdr,first_line);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(feature,cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\ncljs.tools.reader.check_reserved_features(rdr,feature);\n\nif(cljs.tools.reader.has_feature_QMARK_(rdr,feature,opts)){\nvar G__17769 \x3d (function (){var G__17770 \x3d rdr;\nvar G__17771 \x3d false;\nvar G__17772 \x3d cljs.tools.reader.READ_EOF;\nvar G__17773 \x3d \x22)\x22;\nvar G__17774 \x3d opts;\nvar G__17775 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__17770,G__17771,G__17772,G__17773,G__17774,G__17775) : cljs.tools.reader.read_STAR_.call(null,G__17770,G__17771,G__17772,G__17773,G__17774,G__17775));\n})();\ncljs.tools.reader.check_eof_error(G__17769,rdr,first_line);\n\ncljs.tools.reader.check_invalid_read_cond(G__17769,rdr,first_line);\n\nreturn G__17769;\n} else {\nvar or__5045__auto__ \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.tools.reader.NO_MATCH;\n}\n}\n}\n});\ncljs.tools.reader.read_cond_delimited \x3d (function cljs$tools$reader$read_cond_delimited(rdr,splicing,opts,pending_forms){\nvar first_line \x3d ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr))?cljs.tools.reader.reader_types.get_line_number(rdr):(-1));\nvar result \x3d (function (){var matched \x3d cljs.tools.reader.NO_MATCH;\nvar finished \x3d null;\nwhile(true){\nif((matched \x3d\x3d\x3d cljs.tools.reader.NO_MATCH)){\nvar match \x3d cljs.tools.reader.match_feature(first_line,rdr,opts,pending_forms);\nif((match \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nvar G__18430 \x3d match;\nvar G__18431 \x3d null;\nmatched \x3d G__18430;\nfinished \x3d G__18431;\ncontinue;\n}\n} else {\nif((!((finished \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)))){\nvar G__18432 \x3d matched;\nvar G__18433 \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nmatched \x3d G__18432;\nfinished \x3d G__18433;\ncontinue;\n} else {\nreturn matched;\n\n}\n}\nbreak;\n}\n})();\nif((result \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn rdr;\n} else {\nif(cljs.core.truth_(splicing)){\nif((((!((result \x3d\x3d null))))?(((((result.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d result.cljs$core$ISequential$))))?true:false):false)){\ncljs.tools.reader.goog$module$goog$array.insertArrayAt(pending_forms,cljs.core.to_array(result),(0));\n\nreturn rdr;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spliced form list in read-cond-splicing must implement ISequential\x22], 0));\n}\n} else {\nreturn result;\n}\n}\n});\ncljs.tools.reader.read_cond \x3d (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){\nif(cljs.core.not((function (){var and__5043__auto__ \x3d opts;\nif(cljs.core.truth_(and__5043__auto__)){\nvar G__17792 \x3d new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts);\nvar fexpr__17791 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),null,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),null], null), null);\nreturn (fexpr__17791.cljs$core$IFn$_invoke$arity$1 ? fexpr__17791.cljs$core$IFn$_invoke$arity$1(G__17792) : fexpr__17791.call(null,G__17792));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Conditional read not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\n}\n\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nvar splicing \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22@\x22);\nvar ch__$1 \x3d ((splicing)?rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):ch);\nif(splicing){\nif(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22cond-splice not in list\x22], 0));\n}\n} else {\n}\n\nvar temp__5802__auto____$1 \x3d ((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch__$1))?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1);\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ch__$2 \x3d temp__5802__auto____$1;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(ch__$2,\x22(\x22)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22read-cond body must be a list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\nvar _STAR_suppress_read_STAR__orig_val__17805 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__17807 \x3d (function (){var or__5045__auto__ \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts));\n}\n})();\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__17807);\n\ntry{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(rdr,ch__$2,opts,pending_forms),splicing);\n} else {\nreturn cljs.tools.reader.read_cond_delimited(rdr,splicing,opts,pending_forms);\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__17805);\n}}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.arg_env \x3d null;\n/**\n * Get a symbol for an anonymous ?argument?\n */\ncljs.tools.reader.garg \x3d (function cljs$tools$reader$garg(n){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([((((-1) \x3d\x3d\x3d n))?\x22rest\x22:[\x22p\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22#\x22].join(\x27\x27));\n});\ncljs.tools.reader.read_fn \x3d (function cljs$tools$reader$read_fn(rdr,_,opts,pending_forms){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Nested #()s are not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar arg_env_orig_val__17816 \x3d cljs.tools.reader.arg_env;\nvar arg_env_temp_val__17817 \x3d cljs.core.sorted_map();\n(cljs.tools.reader.arg_env \x3d arg_env_temp_val__17817);\n\ntry{var form \x3d (function (){var G__17819 \x3d (function (){var G__17824 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__17824,\x22(\x22);\n\nreturn G__17824;\n})();\nvar G__17820 \x3d true;\nvar G__17821 \x3d null;\nvar G__17822 \x3d opts;\nvar G__17823 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__17819,G__17820,G__17821,G__17822,G__17823) : cljs.tools.reader.read_STAR_.call(null,G__17819,G__17820,G__17821,G__17822,G__17823));\n})();\nvar rargs \x3d cljs.core.rseq(cljs.tools.reader.arg_env);\nvar args \x3d ((rargs)?(function (){var higharg \x3d cljs.core.key(cljs.core.first(rargs));\nvar args \x3d (function (){var i \x3d (1);\nvar args \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif((i \x3e higharg)){\nreturn cljs.core.persistent_BANG_(args);\n} else {\nvar G__18482 \x3d (i + (1));\nvar G__18483 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(args,(function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,i);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.tools.reader.garg(i);\n}\n})());\ni \x3d G__18482;\nargs \x3d G__18483;\ncontinue;\n}\nbreak;\n}\n})();\nvar args__$1 \x3d (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.call(null,(-1))], 0)):args);\nreturn args__$1;\n})():cljs.core.PersistentVector.EMPTY);\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),(new cljs.core.List(null,args,(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n}finally {(cljs.tools.reader.arg_env \x3d arg_env_orig_val__17816);\n}});\n/**\n * Registers an argument to the arg-env\n */\ncljs.tools.reader.register_arg \x3d (function cljs$tools$reader$register_arg(n){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nvar temp__5802__auto__ \x3d cljs.tools.reader.arg_env.call(null,n);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn ret;\n} else {\nvar g \x3d cljs.tools.reader.garg(n);\n(cljs.tools.reader.arg_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.arg_env,n,g));\n\nreturn g;\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal not in #()\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n}\n});\ncljs.tools.reader.read_arg \x3d (function cljs$tools$reader$read_arg(rdr,pct,opts,pending_forms){\nif((cljs.tools.reader.arg_env \x3d\x3d null)){\nreturn cljs.tools.reader.read_symbol(rdr,pct);\n} else {\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nreturn cljs.tools.reader.register_arg((1));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22\x26\x22)){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn cljs.tools.reader.register_arg((-1));\n} else {\nvar n \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!(cljs.core.integer_QMARK_(n)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal must be %, %\x26 or %integer\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\nreturn cljs.tools.reader.register_arg(n);\n}\n\n}\n}\n}\n});\ncljs.tools.reader.gensym_env \x3d null;\ncljs.tools.reader.read_unquote \x3d (function cljs$tools$reader$read_unquote(rdr,comma,opts,pending_forms){\nvar temp__5802__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ch \x3d temp__5802__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,ch)){\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))((function (){var G__17884 \x3d rdr;\nG__17884.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn G__17884;\n})(),\x22@\x22,opts,pending_forms);\n} else {\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))(rdr,\x22~\x22,opts,pending_forms);\n}\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.unquote_splicing_QMARK_ \x3d (function cljs$tools$reader$unquote_splicing_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))));\n});\ncljs.tools.reader.unquote_QMARK_ \x3d (function cljs$tools$reader$unquote_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))));\n});\n/**\n * Expand a list by resolving its syntax quotes and unquotes\n */\ncljs.tools.reader.expand_list \x3d (function cljs$tools$reader$expand_list(s){\nvar s__$1 \x3d cljs.core.seq(s);\nvar r \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s__$1){\nvar item \x3d cljs.core.first(s__$1);\nvar ret \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(r,((cljs.tools.reader.unquote_QMARK_(item))?(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,cljs.core.second(item),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_splicing_QMARK_(item))?cljs.core.second(item):(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,(cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(item) : cljs.tools.reader.syntax_quote_STAR_.call(null,item)),null,(1),null)),(2),null))\n)));\nvar G__18523 \x3d cljs.core.next(s__$1);\nvar G__18524 \x3d ret;\ns__$1 \x3d G__18523;\nr \x3d G__18524;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(r));\n}\nbreak;\n}\n});\n/**\n * Flatten a map into a seq of alternate keys and values\n */\ncljs.tools.reader.flatten_map \x3d (function cljs$tools$reader$flatten_map(form){\nvar s \x3d cljs.core.seq(form);\nvar key_vals \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__18526 \x3d cljs.core.next(s);\nvar G__18527 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(key_vals,cljs.core.key(e)),cljs.core.val(e));\ns \x3d G__18526;\nkey_vals \x3d G__18527;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(key_vals));\n}\nbreak;\n}\n});\ncljs.tools.reader.register_gensym \x3d (function cljs$tools$reader$register_gensym(sym){\nif(cljs.core.not(cljs.tools.reader.gensym_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Gensym literal not in syntax-quote\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.gensym_env,sym);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar gs \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.name(sym),(0),(((cljs.core.name(sym)).length) - (1))),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22__auto__\x22].join(\x27\x27));\n(cljs.tools.reader.gensym_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.gensym_env,sym,gs));\n\nreturn gs;\n}\n});\ncljs.tools.reader.add_meta \x3d (function cljs$tools$reader$add_meta(form,ret){\nif((function (){var and__5043__auto__ \x3d (((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5043__auto__){\nreturn cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(form),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539)], 0)));\n} else {\nreturn and__5043__auto__;\n}\n})()){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),(new cljs.core.List(null,ret,(new cljs.core.List(null,(function (){var G__17917 \x3d cljs.core.meta(form);\nreturn (cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(G__17917) : cljs.tools.reader.syntax_quote_STAR_.call(null,G__17917));\n})(),null,(1),null)),(2),null)),(3),null));\n} else {\nreturn ret;\n}\n});\ncljs.tools.reader.syntax_quote_coll \x3d (function cljs$tools$reader$syntax_quote_coll(type,coll){\nvar res \x3d (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequence\x22,\x22cljs.core/sequence\x22,1908459032,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),cljs.tools.reader.expand_list(coll)),null,(1),null)),(2),null));\nif(cljs.core.truth_(type)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),(new cljs.core.List(null,type,(new cljs.core.List(null,res,null,(1),null)),(2),null)),(3),null));\n} else {\nreturn res;\n}\n});\n/**\n * Decide which map type to use, array-map if less than 16 elements\n */\ncljs.tools.reader.map_func \x3d (function cljs$tools$reader$map_func(coll){\nif((cljs.core.count(coll) \x3e\x3d (16))){\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null);\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22array-map\x22,\x22cljs.core/array-map\x22,-1519210683,null);\n}\n});\ncljs.tools.reader.bool_QMARK_ \x3d (function cljs$tools$reader$bool_QMARK_(x){\nreturn (((x instanceof Boolean)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))));\n});\n/**\n * Resolve a symbol s into its fully qualified namespace version\n */\ncljs.tools.reader.resolve_symbol \x3d (function cljs$tools$reader$resolve_symbol(s){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22resolve-symbol is not implemented\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22sym\x22,\x22sym\x22,-1444860305),s], null));\n});\ncljs.tools.reader.syntax_quote_STAR_ \x3d (function cljs$tools$reader$syntax_quote_STAR_(form){\nreturn cljs.tools.reader.add_meta(form,((cljs.core.special_symbol_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null)):(((form instanceof cljs.core.Symbol))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(cljs.core.namespace(form));\nif(and__5043__auto__){\nreturn goog.string.endsWith(cljs.core.name(form),\x22#\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.tools.reader.register_gensym(form):(function (){var sym \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(form);\nif(cljs.core.truth_(goog.string.endsWith(sym,\x22.\x22))){\nvar csym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym,(0),(((sym).length) - (1))));\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.resolve_symbol.call(null,csym)),\x22.\x22].join(\x27\x27));\n} else {\nreturn cljs.tools.reader.resolve_symbol.call(null,form);\n}\n})()),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_QMARK_(form))?cljs.core.second(form):((cljs.tools.reader.unquote_splicing_QMARK_(form))?(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unquote-splice not in list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null))})():((cljs.core.coll_QMARK_(form))?(((((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IRecord$))))?true:false):false))?form:((cljs.core.map_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(cljs.tools.reader.map_func(form),cljs.tools.reader.flatten_map(form)):((cljs.core.vector_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22vec\x22,\x22cljs.core/vec\x22,307622519,null),(new cljs.core.List(null,cljs.tools.reader.syntax_quote_coll(null,form),null,(1),null)),(2),null)):((cljs.core.set_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-set\x22,\x22cljs.core/hash-set\x22,1130426749,null),form):((((cljs.core.seq_QMARK_(form)) || (cljs.core.list_QMARK_(form))))?(function (){var seq \x3d cljs.core.seq(form);\nif(seq){\nreturn cljs.tools.reader.syntax_quote_coll(null,seq);\n} else {\nreturn cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22list\x22,\x22cljs.core/list\x22,-1331406371,null));\n}\n})():(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Unknown Collection type\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22unsupported-operation\x22,\x22unsupported-operation\x22,1890540953)], null))})()\n))))):(((((form instanceof cljs.core.Keyword)) || (((typeof form \x3d\x3d\x3d \x27number\x27) || (((typeof form \x3d\x3d\x3d \x27string\x27) || ((((form \x3d\x3d null)) || (((cljs.tools.reader.bool_QMARK_(form)) || ((form instanceof RegExp))))))))))))?form:(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null))\n)))))));\n});\ncljs.tools.reader.read_syntax_quote \x3d (function cljs$tools$reader$read_syntax_quote(rdr,backquote,opts,pending_forms){\nvar gensym_env_orig_val__18059 \x3d cljs.tools.reader.gensym_env;\nvar gensym_env_temp_val__18060 \x3d cljs.core.PersistentArrayMap.EMPTY;\n(cljs.tools.reader.gensym_env \x3d gensym_env_temp_val__18060);\n\ntry{return cljs.tools.reader.syntax_quote_STAR_((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n}finally {(cljs.tools.reader.gensym_env \x3d gensym_env_orig_val__18059);\n}});\ncljs.tools.reader.read_namespaced_map \x3d (function cljs$tools$reader$read_namespaced_map(rdr,_,opts,pending_forms){\nvar vec__18067 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18067,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18067,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),cljs.tools.reader.reader_types.read_char(rdr));\nvar temp__5802__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22:\x22))?cljs.core.ns_name(cljs.core._STAR_ns_STAR_):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,cljs.core.first(token)))?(function (){var G__18071 \x3d token;\nvar G__18071__$1 \x3d (((G__18071 \x3d\x3d null))?null:cljs.core.subs.cljs$core$IFn$_invoke$arity$2(G__18071,(1)));\nvar G__18071__$2 \x3d (((G__18071__$1 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__18071__$1));\nvar G__18071__$3 \x3d (((G__18071__$2 \x3d\x3d null))?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__18071__$2));\nvar G__18071__$4 \x3d (((G__18071__$3 \x3d\x3d null))?null:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__18071__$3));\nif((G__18071__$4 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.resolve_ns(G__18071__$4);\n}\n})():(function (){var G__18075 \x3d token;\nvar G__18075__$1 \x3d (((G__18075 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__18075));\nif((G__18075__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__18075__$1);\n}\n})()\n));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ns \x3d temp__5802__auto__;\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif((ch \x3d\x3d\x3d \x22{\x22)){\nvar items \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),\x22}\x22,rdr,opts,pending_forms);\nvar vec__18077 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18077,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18077,(1),null);\nif(cljs.core.odd_QMARK_(cljs.core.count(items))){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,null,null,items);\n} else {\n}\n\nvar keys \x3d cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),items));\nvar vals \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(items));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(keys)),cljs.core.count(keys))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),keys);\n}\n\nreturn cljs.core.with_meta(cljs.core.zipmap(keys,vals),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5804__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar file \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_ns_map_no_map(rdr,token);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_ns(rdr,token);\n}\n});\ncljs.tools.reader.macros \x3d (function cljs$tools$reader$macros(ch){\nvar G__18084 \x3d ch;\nswitch (G__18084) {\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_string_STAR_;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_keyword;\n\nbreak;\ncase \x22;\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null));\n\nbreak;\ncase \x22@\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null));\n\nbreak;\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22`\x22:\nreturn cljs.tools.reader.read_syntax_quote;\n\nbreak;\ncase \x22~\x22:\nreturn cljs.tools.reader.read_unquote;\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_list;\n\nbreak;\ncase \x22)\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22[\x22:\nreturn cljs.tools.reader.read_vector;\n\nbreak;\ncase \x22]\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_map;\n\nbreak;\ncase \x22}\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22\\\\\x22:\nreturn cljs.tools.reader.read_char_STAR_;\n\nbreak;\ncase \x22%\x22:\nreturn cljs.tools.reader.read_arg;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_dispatch;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.dispatch_macros \x3d (function cljs$tools$reader$dispatch_macros(ch){\nvar G__18091 \x3d ch;\nswitch (G__18091) {\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null));\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_fn;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_set;\n\nbreak;\ncase \x22\x3c\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22Unreadable form\x22);\n\nbreak;\ncase \x22\x3d\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22read-eval not supported\x22);\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_regex;\n\nbreak;\ncase \x22!\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22_\x22:\nreturn cljs.tools.reader.read_discard;\n\nbreak;\ncase \x22?\x22:\nreturn cljs.tools.reader.read_cond;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_namespaced_map;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_symbolic_value;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.read_tagged \x3d (function cljs$tools$reader$read_tagged(rdr,initch,opts,pending_forms){\nvar tag \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!((tag instanceof cljs.core.Symbol)))){\ncljs.tools.reader.impl.errors.throw_bad_reader_tag(rdr,tag);\n} else {\n}\n\nif(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.core.tagged_literal(tag,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n} else {\nvar temp__5802__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.tools.reader._STAR_data_readers_STAR_.call(null,tag);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(tag) : cljs.tools.reader.default_data_readers.call(null,tag));\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f \x3d temp__5802__auto__;\nvar G__18119 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__18119) : f.call(null,G__18119));\n} else {\nvar temp__5802__auto____$1 \x3d cljs.tools.reader._STAR_default_data_reader_fn_STAR_;\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar f \x3d temp__5802__auto____$1;\nvar G__18121 \x3d tag;\nvar G__18122 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__18121,G__18122) : f.call(null,G__18121,G__18122));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unknown_reader_tag(rdr,tag);\n}\n}\n}\n});\n/**\n * Map from reader tag symbols to data reader Vars.\n * Reader tags without namespace qualifiers are reserved for Clojure.\n * This light version of tools.reader has no implementation for default\n * reader tags such as #inst and #uuid.\n */\ncljs.tools.reader._STAR_data_readers_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\n/**\n * When no data reader is found for a tag and *default-data-reader-fn*\n * is non-nil, it will be called with two arguments, the tag and the value.\n * If *default-data-reader-fn* is nil (the default value), an exception\n * will be thrown for the unknown tag.\n */\ncljs.tools.reader._STAR_default_data_reader_fn_STAR_ \x3d null;\ncljs.tools.reader._STAR_suppress_read_STAR_ \x3d false;\n/**\n * Default map of data reader functions provided by Clojure.\n * May be overridden by binding *data-readers*\n */\ncljs.tools.reader.default_data_readers \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.tools.reader.read_STAR__internal \x3d (function cljs$tools$reader$read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\nwhile(true){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(reader,(function (){\nwhile(true){\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\nbreak;\n}\n}));\n} else {\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_STAR_ \x3d (function cljs$tools$reader$read_STAR_(var_args){\nvar G__18142 \x3d arguments.length;\nswitch (G__18142) {\ncase 5:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 \x3d (function (reader,eof_error_QMARK_,sentinel,opts,pending_forms){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,opts,pending_forms);\n}));\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 \x3d (function (reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\ntry{return cljs.tools.reader.read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms);\n}catch (e18192){if((e18192 instanceof Error)){\nvar e \x3d e18192;\nif(cljs.tools.reader.impl.utils.ex_info_QMARK_(e)){\nvar d \x3d cljs.core.ex_data(e);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d))){\nthrow e;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),d,((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow e18192;\n\n}\n}}));\n\n(cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Reads the first object from an IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true.\n * Otherwise returns sentinel. If no stream is provided, *in* will be used.\n * \n * Opts is a persistent map with valid keys:\n * :read-cond - :allow to process reader conditionals, or\n * :preserve to keep all branches\n * :features - persistent set of feature keywords for reader conditionals\n * :eof - on eof, return value unless :eofthrow, then throw.\n * if not specified, will throw\n * \n * To read data structures only, use cljs.tools.reader.edn/read\n * \n * Note that the function signature of cljs.tools.reader/read and\n * cljs.tools.reader.edn/read is not the same for eof-handling\n */\ncljs.tools.reader.read \x3d (function cljs$tools$reader$read(var_args){\nvar G__18215 \x3d arguments.length;\nswitch (G__18215) {\ncase 1:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(reader,true,null);\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__18278,reader){\nvar map__18283 \x3d p__18278;\nvar map__18283__$1 \x3d cljs.core.__destructure_map(map__18283);\nvar opts \x3d map__18283__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__18283__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531));\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(eof,new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531)),eof,null,opts,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3 \x3d (function (reader,eof_error_QMARK_,sentinel){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * To read data structures only, use cljs.tools.reader.edn/read-string\n * \n * Note that the function signature of cljs.tools.reader/read-string and\n * cljs.tools.reader.edn/read-string is not the same for eof-handling\n */\ncljs.tools.reader.read_string \x3d (function cljs$tools$reader$read_string(var_args){\nvar G__18290 \x3d arguments.length;\nswitch (G__18290) {\ncase 1:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,s);\n}));\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d s;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!((s \x3d\x3d\x3d \x22\x22)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.read_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Like read, and taking the same args. reader must be a SourceLoggingPushbackReader.\n * Returns a vector containing the object read and the (whitespace-trimmed) string read.\n */\ncljs.tools.reader.read_PLUS_string \x3d (function cljs$tools$reader$read_PLUS_string(var_args){\nvar G__18301 \x3d arguments.length;\nswitch (G__18301) {\ncase 1:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (stream){\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3(stream,true,null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,eof_error_QMARK_,eof_value){\nvar buf \x3d (function (stream__$1){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream__$1.frames)));\n});\nvar offset \x3d ((buf(stream)).length);\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value));\nvar s \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(buf(stream),offset).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,stream){\nvar buf \x3d (function (stream__$1){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream__$1.frames)));\n});\nvar offset \x3d ((buf(stream)).length);\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream));\nvar s \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(buf(stream),offset).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.env.js", true , "goog.provide(\x27shadow.cljs.devtools.client.env\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.env.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.active_modules_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded \x3d (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ \x3d (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.runtime_id !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.runtime_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled \x3d goog.define(\x22shadow.cljs.devtools.client.env.enabled\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.log \x3d goog.define(\x22shadow.cljs.devtools.client.env.log\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload \x3d goog.define(\x22shadow.cljs.devtools.client.env.autoload\x22,true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format \x3d goog.define(\x22shadow.cljs.devtools.client.env.module_format\x22,\x22goog\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_with_state\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.build_id\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.proc_id\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.worker_client_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.worker_client_id\x22,(0));\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_host\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_hosts \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_hosts\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.connect_timeout \x3d goog.define(\x22shadow.cljs.devtools.client.env.connect_timeout\x22,(1000));\nshadow.cljs.devtools.client.env.selected_host \x3d null;\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_port\x22,(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint \x3d goog.define(\x22shadow.cljs.devtools.client.env.repl_pprint\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_host\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_protocol \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_protocol\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url \x3d goog.define(\x22shadow.cljs.devtools.client.env.devtools_url\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_strategy\x22,\x22optimized\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_token \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_token\x22,\x22missing\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl \x3d goog.define(\x22shadow.cljs.devtools.client.env.ssl\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.env.ignore_warnings\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style \x3d goog.define(\x22shadow.cljs.devtools.client.env.log_style\x22,\x22font-weight: bold;\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.custom_notify_fn \x3d goog.define(\x22shadow.cljs.devtools.client.env.custom_notify_fn\x22,\x22\x22);\nshadow.cljs.devtools.client.env.devtools_info \x3d (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\x22server_port\x22: shadow.cljs.devtools.client.env.server_port, \x22server_host\x22: shadow.cljs.devtools.client.env.server_host, \x22build_id\x22: shadow.cljs.devtools.client.env.build_id, \x22proc_id\x22: shadow.cljs.devtools.client.env.proc_id, \x22runtime_id\x22: shadow.cljs.devtools.client.env.runtime_id, \x22ssl\x22: shadow.cljs.devtools.client.env.ssl});\n});\nshadow.cljs.devtools.client.env.get_server_protocol \x3d (function shadow$cljs$devtools$client$env$get_server_protocol(){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_protocol;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.protocol);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn clojure.string.replace(goog.global.location.protocol,\x22:\x22,\x22\x22);\n} else {\nreturn [\x22http\x22,((shadow.cljs.devtools.client.env.ssl)?\x22s\x22:null)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_server_host \x3d (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.selected_host)){\nreturn shadow.cljs.devtools.client.env.selected_host;\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_host;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.hostname);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn goog.global.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \x22localhost\x22;\n\n}\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base \x3d (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [shadow.cljs.devtools.client.env.get_server_protocol(),\x22://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base \x3d (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\x22ws\x22);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_path \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_path(){\nreturn [\x22/api/remote-relay?server-token\x3d\x22,shadow.cljs.devtools.client.env.server_token].join(\x27\x27);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_url \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_url(){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),shadow.cljs.devtools.client.env.get_ws_relay_path()].join(\x27\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.was_print_newline !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.was_print_newline \x3d cljs.core._STAR_print_newline_STAR_;\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn \x3d cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn \x3d cljs.core._STAR_print_err_fn_STAR_;\n(cljs.core._STAR_print_newline_STAR_ \x3d true);\n\n(cljs.core.enable_console_print_BANG_ \x3d (function (){\nreturn null;\n}));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d shadow.cljs.devtools.client.env.was_print_newline);\n\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_err_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_err_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_err_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_err_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5804__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.patch_goog_BANG_ \x3d (function shadow$cljs$devtools$client$env$patch_goog_BANG_(){\n(goog.provide \x3d goog.constructNamespace_);\n\nreturn (goog.require \x3d goog.module.get);\n});\nshadow.cljs.devtools.client.env.add_warnings_to_info \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info(p__18533){\nvar map__18534 \x3d p__18533;\nvar map__18534__$1 \x3d cljs.core.__destructure_map(map__18534);\nvar msg \x3d map__18534__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18534__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__18537(s__18538){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__18538__$1 \x3d s__18538;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__18538__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__18544 \x3d cljs.core.first(xs__6360__auto__);\nvar map__18544__$1 \x3d cljs.core.__destructure_map(map__18544);\nvar src \x3d map__18544__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18544__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18544__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__18538__$1,map__18544,map__18544__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__18534,map__18534__$1,msg,info){\nreturn (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__18537_$_iter__18539(s__18540){\nreturn (new cljs.core.LazySeq(null,((function (s__18538__$1,map__18544,map__18544__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__18534,map__18534__$1,msg,info){\nreturn (function (){\nvar s__18540__$1 \x3d s__18540;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__18540__$1);\nif(temp__5804__auto____$1){\nvar s__18540__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__18540__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__18540__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__18542 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__18541 \x3d (0);\nwhile(true){\nif((i__18541 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__18541);\ncljs.core.chunk_append(b__18542,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__18787 \x3d (i__18541 + (1));\ni__18541 \x3d G__18787;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18542),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__18537_$_iter__18539(cljs.core.chunk_rest(s__18540__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18542),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__18540__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__18537_$_iter__18539(cljs.core.rest(s__18540__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__18538__$1,map__18544,map__18544__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__18534,map__18534__$1,msg,info))\n,null,null));\n});})(s__18538__$1,map__18544,map__18544__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__18534,map__18534__$1,msg,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__18537(cljs.core.rest(s__18538__$1)));\n} else {\nvar G__18789 \x3d cljs.core.rest(s__18538__$1);\ns__18538__$1 \x3d G__18789;\ncontinue;\n}\n} else {\nvar G__18790 \x3d cljs.core.rest(s__18538__$1);\ns__18538__$1 \x3d G__18790;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nreturn cljs.core.assoc_in(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651)], null),warnings);\n});\nshadow.cljs.devtools.client.env.custom_notify_types \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472),null,new cljs.core.Keyword(null,\x22build-init\x22,\x22build-init\x22,-1115755563),null,new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466),null,new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480),null], null), null);\nshadow.cljs.devtools.client.env.run_custom_notify_BANG_ \x3d (function shadow$cljs$devtools$client$env$run_custom_notify_BANG_(msg){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.custom_notify_fn)){\nvar fn \x3d goog.getObjectByName(shadow.cljs.devtools.client.env.custom_notify_fn,$CLJS);\nif((!(cljs.core.fn_QMARK_(fn)))){\nreturn console.warn(\x22couldn\x27t find custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n} else {\ntry{return (fn.cljs$core$IFn$_invoke$arity$1 ? fn.cljs$core$IFn$_invoke$arity$1(msg) : fn.call(null,msg));\n}catch (e18546){var e \x3d e18546;\nconsole.error(\x22Failed to run custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n\nreturn console.error(e);\n}}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.make_task_fn \x3d (function shadow$cljs$devtools$client$env$make_task_fn(p__18553,p__18554){\nvar map__18555 \x3d p__18553;\nvar map__18555__$1 \x3d cljs.core.__destructure_map(map__18555);\nvar log_missing_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18555__$1,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765));\nvar log_call_async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18555__$1,new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192));\nvar log_call \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18555__$1,new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391));\nvar map__18556 \x3d p__18554;\nvar map__18556__$1 \x3d cljs.core.__destructure_map(map__18556);\nvar fn_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18556__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_str \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18556__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18556__$1,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\nreturn (function (next){\ntry{var fn_obj \x3d goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj \x3d\x3d null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn (fn_obj.cljs$core$IFn$_invoke$arity$1 ? fn_obj.cljs$core$IFn$_invoke$arity$1(next) : fn_obj.call(null,next));\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\n(fn_obj.cljs$core$IFn$_invoke$arity$0 ? fn_obj.cljs$core$IFn$_invoke$arity$0() : fn_obj.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e18559){var ex \x3d e18559;\nconsole.warn(\x22error when calling lifecycle function\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ \x3d (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__18571){\nvar vec__18572 \x3d p__18571;\nvar seq__18573 \x3d cljs.core.seq(vec__18572);\nvar first__18574 \x3d cljs.core.first(seq__18573);\nvar seq__18573__$1 \x3d cljs.core.next(seq__18573);\nvar task \x3d first__18574;\nvar remaining_tasks \x3d seq__18573__$1;\nif(cljs.core.truth_(task)){\ntry{var G__18582 \x3d (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__18582) : task.call(null,G__18582));\n}catch (e18580){var e \x3d e18580;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload \x3d (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__18597 \x3d arguments.length;\nswitch (G__18597) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\x22JS reload failed\x22,error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__18602,load_code_fn,complete_fn,failure_fn){\nvar map__18603 \x3d p__18602;\nvar map__18603__$1 \x3d cljs.core.__destructure_map(map__18603);\nvar msg \x3d map__18603__$1;\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18603__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar load_tasks \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__18583_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__18583_SHARP_);\n}),new cljs.core.Keyword(null,\x22before-load\x22,\x22before-load\x22,-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),(function (next){\n(load_code_fn.cljs$core$IFn$_invoke$arity$0 ? load_code_fn.cljs$core$IFn$_invoke$arity$0() : load_code_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n})),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__18590_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__18590_SHARP_);\n})),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.cljs.devtools.client.env.before_load_src \x3d (function shadow$cljs$devtools$client$env$before_load_src(p__18608){\nvar map__18609 \x3d p__18608;\nvar map__18609__$1 \x3d cljs.core.__destructure_map(map__18609);\nvar src \x3d map__18609__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18609__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18609__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),type)){\nvar seq__18611 \x3d cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__18612 \x3d null;\nvar count__18613 \x3d (0);\nvar i__18614 \x3d (0);\nwhile(true){\nif((i__18614 \x3c count__18613)){\nvar x \x3d chunk__18612.cljs$core$IIndexed$_nth$arity$2(null,i__18614);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__18810 \x3d seq__18611;\nvar G__18811 \x3d chunk__18612;\nvar G__18812 \x3d count__18613;\nvar G__18813 \x3d (i__18614 + (1));\nseq__18611 \x3d G__18810;\nchunk__18612 \x3d G__18811;\ncount__18613 \x3d G__18812;\ni__18614 \x3d G__18813;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18611);\nif(temp__5804__auto__){\nvar seq__18611__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18611__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18611__$1);\nvar G__18814 \x3d cljs.core.chunk_rest(seq__18611__$1);\nvar G__18815 \x3d c__5568__auto__;\nvar G__18816 \x3d cljs.core.count(c__5568__auto__);\nvar G__18817 \x3d (0);\nseq__18611 \x3d G__18814;\nchunk__18612 \x3d G__18815;\ncount__18613 \x3d G__18816;\ni__18614 \x3d G__18817;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__18611__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__18819 \x3d cljs.core.next(seq__18611__$1);\nvar G__18820 \x3d null;\nvar G__18821 \x3d (0);\nvar G__18822 \x3d (0);\nseq__18611 \x3d G__18819;\nchunk__18612 \x3d G__18820;\ncount__18613 \x3d G__18821;\ni__18614 \x3d G__18822;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.build.classpath\x22,\x22resource\x22,\x22shadow.build.classpath/resource\x22,-879517823),\x22goog/base.js\x22], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__18624){\nvar map__18626 \x3d p__18624;\nvar map__18626__$1 \x3d cljs.core.__destructure_map(map__18626);\nvar src \x3d map__18626__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18626__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18626__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources \x3d (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__18632){\nvar map__18633 \x3d p__18632;\nvar map__18633__$1 \x3d cljs.core.__destructure_map(map__18633);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18633__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22never-load\x22,\x22never-load\x22,1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__18635){\nvar map__18636 \x3d p__18635;\nvar map__18636__$1 \x3d cljs.core.__destructure_map(map__18636);\nvar rc \x3d map__18636__$1;\nvar module__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18636__$1,new cljs.core.Keyword(null,\x22module\x22,\x22module\x22,1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module__$1)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__18640,reload_info){\nvar map__18641 \x3d p__18640;\nvar map__18641__$1 \x3d cljs.core.__destructure_map(map__18641);\nvar info \x3d map__18641__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18641__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18641__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__18643){\nvar map__18644 \x3d p__18643;\nvar map__18644__$1 \x3d cljs.core.__destructure_map(map__18644);\nvar src \x3d map__18644__$1;\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18644__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18644__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (((cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__18646,reload_info){\nvar map__18647 \x3d p__18646;\nvar map__18647__$1 \x3d cljs.core.__destructure_map(map__18647);\nvar info \x3d map__18647__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18647__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18647__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nvar affected \x3d cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get \x3d cljs.core.PersistentVector.EMPTY;\nvar G__18652 \x3d shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__18653 \x3d G__18652;\nvar seq__18654 \x3d cljs.core.seq(vec__18653);\nvar first__18655 \x3d cljs.core.first(seq__18654);\nvar seq__18654__$1 \x3d cljs.core.next(seq__18654);\nvar src \x3d first__18655;\nvar more \x3d seq__18654__$1;\nvar affected__$1 \x3d affected;\nvar sources_to_get__$1 \x3d sources_to_get;\nvar G__18652__$1 \x3d G__18652;\nwhile(true){\nvar affected__$2 \x3d affected__$1;\nvar sources_to_get__$2 \x3d sources_to_get__$1;\nvar vec__18663 \x3d G__18652__$1;\nvar seq__18664 \x3d cljs.core.seq(vec__18663);\nvar first__18665 \x3d cljs.core.first(seq__18664);\nvar seq__18664__$1 \x3d cljs.core.next(seq__18664);\nvar src__$1 \x3d first__18665;\nvar more__$1 \x3d seq__18664__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__18666 \x3d src__$1;\nvar map__18666__$1 \x3d cljs.core.__destructure_map(map__18666);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18666__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18666__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar deps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18666__$1,new cljs.core.Keyword(null,\x22deps\x22,\x22deps\x22,1883360319));\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18666__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar should_reload_QMARK_ \x3d (function (){var or__5045__auto__ \x3d cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d (function (){var or__5045__auto____$2 \x3d cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__5045__auto____$2){\nreturn or__5045__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__18826 \x3d affected__$2;\nvar G__18827 \x3d sources_to_get__$2;\nvar G__18828 \x3d more__$1;\naffected__$1 \x3d G__18826;\nsources_to_get__$1 \x3d G__18827;\nG__18652__$1 \x3d G__18828;\ncontinue;\n} else {\nvar G__18829 \x3d clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__18830 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__18831 \x3d more__$1;\naffected__$1 \x3d G__18829;\nsources_to_get__$1 \x3d G__18830;\nG__18652__$1 \x3d G__18831;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources \x3d (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22full\x22,shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.console.js", true , "goog.provide(\x27shadow.cljs.devtools.client.console\x27);\nshadow.cljs.devtools.client.console.push_all \x3d (function shadow$cljs$devtools$client$console$push_all(arr,item){\nif(cljs.core.vector_QMARK_(item)){\nvar seq__15718 \x3d cljs.core.seq(item);\nvar chunk__15719 \x3d null;\nvar count__15720 \x3d (0);\nvar i__15721 \x3d (0);\nwhile(true){\nif((i__15721 \x3c count__15720)){\nvar it \x3d chunk__15719.cljs$core$IIndexed$_nth$arity$2(null,i__15721);\narr.push(it);\n\n\nvar G__15761 \x3d seq__15718;\nvar G__15762 \x3d chunk__15719;\nvar G__15763 \x3d count__15720;\nvar G__15764 \x3d (i__15721 + (1));\nseq__15718 \x3d G__15761;\nchunk__15719 \x3d G__15762;\ncount__15720 \x3d G__15763;\ni__15721 \x3d G__15764;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15718);\nif(temp__5804__auto__){\nvar seq__15718__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15718__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15718__$1);\nvar G__15765 \x3d cljs.core.chunk_rest(seq__15718__$1);\nvar G__15766 \x3d c__5568__auto__;\nvar G__15767 \x3d cljs.core.count(c__5568__auto__);\nvar G__15768 \x3d (0);\nseq__15718 \x3d G__15765;\nchunk__15719 \x3d G__15766;\ncount__15720 \x3d G__15767;\ni__15721 \x3d G__15768;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__15718__$1);\narr.push(it);\n\n\nvar G__15769 \x3d cljs.core.next(seq__15718__$1);\nvar G__15770 \x3d null;\nvar G__15771 \x3d (0);\nvar G__15772 \x3d (0);\nseq__15718 \x3d G__15769;\nchunk__15719 \x3d G__15770;\ncount__15720 \x3d G__15771;\ni__15721 \x3d G__15772;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn arr.push(item);\n}\n});\nshadow.cljs.devtools.client.console.object_ref \x3d (function shadow$cljs$devtools$client$console$object_ref(obj){\nif(cljs.core.truth_(obj)){\nreturn [\x22object\x22,({\x22object\x22: obj})];\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.map__GT_style \x3d (function shadow$cljs$devtools$client$console$map__GT_style(m){\nreturn ({\x22style\x22: clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__15722){\nvar vec__15723 \x3d p__15722;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15723,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15723,(1),null);\nreturn [cljs.core.name(k),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22;\x22].join(\x27\x27);\n}),m))});\n});\nshadow.cljs.devtools.client.console.clj__GT_jsonml \x3d (function shadow$cljs$devtools$client$console$clj__GT_jsonml(struct){\nif((struct \x3d\x3d null)){\nreturn null;\n} else {\nif(cljs.core.array_QMARK_(struct)){\nreturn struct;\n} else {\nif(cljs.core.vector_QMARK_(struct)){\nvar vec__15726 \x3d struct;\nvar seq__15727 \x3d cljs.core.seq(vec__15726);\nvar first__15728 \x3d cljs.core.first(seq__15727);\nvar seq__15727__$1 \x3d cljs.core.next(seq__15727);\nvar tag \x3d first__15728;\nvar first__15728__$1 \x3d cljs.core.first(seq__15727__$1);\nvar seq__15727__$2 \x3d cljs.core.next(seq__15727__$1);\nvar attrs \x3d first__15728__$1;\nvar children \x3d seq__15727__$2;\nvar js \x3d [cljs.core.name(tag),shadow.cljs.devtools.client.console.map__GT_style(attrs)];\nvar seq__15729_15773 \x3d cljs.core.seq(children);\nvar chunk__15730_15774 \x3d null;\nvar count__15731_15775 \x3d (0);\nvar i__15732_15776 \x3d (0);\nwhile(true){\nif((i__15732_15776 \x3c count__15731_15775)){\nvar child_15777 \x3d chunk__15730_15774.cljs$core$IIndexed$_nth$arity$2(null,i__15732_15776);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_15777) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_15777)));\n\n\nvar G__15778 \x3d seq__15729_15773;\nvar G__15779 \x3d chunk__15730_15774;\nvar G__15780 \x3d count__15731_15775;\nvar G__15781 \x3d (i__15732_15776 + (1));\nseq__15729_15773 \x3d G__15778;\nchunk__15730_15774 \x3d G__15779;\ncount__15731_15775 \x3d G__15780;\ni__15732_15776 \x3d G__15781;\ncontinue;\n} else {\nvar temp__5804__auto___15782 \x3d cljs.core.seq(seq__15729_15773);\nif(temp__5804__auto___15782){\nvar seq__15729_15783__$1 \x3d temp__5804__auto___15782;\nif(cljs.core.chunked_seq_QMARK_(seq__15729_15783__$1)){\nvar c__5568__auto___15784 \x3d cljs.core.chunk_first(seq__15729_15783__$1);\nvar G__15785 \x3d cljs.core.chunk_rest(seq__15729_15783__$1);\nvar G__15786 \x3d c__5568__auto___15784;\nvar G__15787 \x3d cljs.core.count(c__5568__auto___15784);\nvar G__15788 \x3d (0);\nseq__15729_15773 \x3d G__15785;\nchunk__15730_15774 \x3d G__15786;\ncount__15731_15775 \x3d G__15787;\ni__15732_15776 \x3d G__15788;\ncontinue;\n} else {\nvar child_15789 \x3d cljs.core.first(seq__15729_15783__$1);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_15789) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_15789)));\n\n\nvar G__15790 \x3d cljs.core.next(seq__15729_15783__$1);\nvar G__15791 \x3d null;\nvar G__15792 \x3d (0);\nvar G__15793 \x3d (0);\nseq__15729_15773 \x3d G__15790;\nchunk__15730_15774 \x3d G__15791;\ncount__15731_15775 \x3d G__15792;\ni__15732_15776 \x3d G__15793;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn js;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27string\x27){\nreturn struct;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27number\x27){\nreturn struct;\n} else {\nif(cljs.core.seq_QMARK_(struct)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.console.clj__GT_jsonml),struct);\n} else {\nreturn shadow.cljs.devtools.client.console.object_ref(struct);\n\n}\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SeqFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((cljs.core.sequential_QMARK_(obj)) || (cljs.core.set_QMARK_(obj)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.body \x3d (function (s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),(0)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__15735(s__15736){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__15736__$1 \x3d s__15736;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__15736__$1);\nif(temp__5804__auto__){\nvar s__15736__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__15736__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__15736__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__15738 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__15737 \x3d (0);\nwhile(true){\nif((i__15737 \x3c size__5522__auto__)){\nvar value \x3d cljs.core._nth(c__5521__auto__,i__15737);\ncljs.core.chunk_append(b__15738,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null));\n\nvar G__15794 \x3d (i__15737 + (1));\ni__15737 \x3d G__15794;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15738),shadow$cljs$devtools$client$console$iter__15735(cljs.core.chunk_rest(s__15736__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15738),null);\n}\n} else {\nvar value \x3d cljs.core.first(s__15736__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null),shadow$cljs$devtools$client$console$iter__15735(cljs.core.rest(s__15736__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(s);\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SeqFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SeqFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SeqFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SeqFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.MapFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.PersistentHashMap)) || ((((obj instanceof cljs.core.PersistentArrayMap)) || (cljs.core.record_QMARK_(obj)))))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x22100%\x22,new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__15742(s__15743){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__15743__$1 \x3d s__15743;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__15743__$1);\nif(temp__5804__auto__){\nvar s__15743__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__15743__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__15743__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__15745 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__15744 \x3d (0);\nwhile(true){\nif((i__15744 \x3c size__5522__auto__)){\nvar key \x3d cljs.core._nth(c__5521__auto__,i__15744);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\ncljs.core.chunk_append(b__15745,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null));\n\nvar G__15795 \x3d (i__15744 + (1));\ni__15744 \x3d G__15795;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15745),shadow$cljs$devtools$client$console$iter__15742(cljs.core.chunk_rest(s__15743__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__15745),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__15743__$2);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null),shadow$cljs$devtools$client$console$iter__15742(cljs.core.rest(s__15743__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__((function (){var k \x3d cljs.core.keys(m);\ntry{return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(k);\n}catch (e15747){var e \x3d e15747;\nreturn k;\n}})());\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/MapFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_MapFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_MapFormatter(){\nreturn (new shadow.cljs.devtools.client.console.MapFormatter());\n});\n\nshadow.cljs.devtools.client.console.keyword_style \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22rgb(136, 19, 145)\x22], null);\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.KeywordFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Keyword)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/KeywordFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_KeywordFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_KeywordFormatter(){\nreturn (new shadow.cljs.devtools.client.console.KeywordFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SymbolFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Symbol)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SymbolFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SymbolFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SymbolFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SymbolFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.DerefFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.Atom)) || ((obj instanceof cljs.core.Volatile)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,[\x22@DEREF \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0))].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.body \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),shadow.cljs.devtools.client.console.object_ref(cljs.core.deref(v))], null));\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/DerefFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_DerefFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_DerefFormatter(){\nreturn (new shadow.cljs.devtools.client.console.DerefFormatter());\n});\n\nshadow.cljs.devtools.client.console.install_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$install_all_BANG_(){\nvar temp__5804__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nvar G__15752 \x3d f;\nG__15752.push((new shadow.cljs.devtools.client.console.KeywordFormatter()));\n\nG__15752.push((new shadow.cljs.devtools.client.console.MapFormatter()));\n\nG__15752.push((new shadow.cljs.devtools.client.console.SeqFormatter()));\n\nG__15752.push((new shadow.cljs.devtools.client.console.SymbolFormatter()));\n\nG__15752.push((new shadow.cljs.devtools.client.console.DerefFormatter()));\n\nreturn G__15752;\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$remove_all_BANG_(){\nvar all \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__15757_SHARP_){\nreturn goog.object.get(p1__15757_SHARP_,\x22shadow$formatter\x22);\n}),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [];\n}\n})())));\nreturn goog.object.set(goog.global,\x22devtoolsFormatters\x22,all);\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_();\nshadow.cljs.devtools.client.console.install_all_BANG_();\n"); +SHADOW_ENV.evalLoad("goog.dom.inputtype.js", true , "goog.provide(\x22goog.dom.InputType\x22);\ngoog.dom.InputType \x3d {BUTTON:\x22button\x22, CHECKBOX:\x22checkbox\x22, COLOR:\x22color\x22, DATE:\x22date\x22, DATETIME:\x22datetime\x22, DATETIME_LOCAL:\x22datetime-local\x22, EMAIL:\x22email\x22, FILE:\x22file\x22, HIDDEN:\x22hidden\x22, IMAGE:\x22image\x22, MENU:\x22menu\x22, MONTH:\x22month\x22, NUMBER:\x22number\x22, PASSWORD:\x22password\x22, RADIO:\x22radio\x22, RANGE:\x22range\x22, RESET:\x22reset\x22, SEARCH:\x22search\x22, SELECT_MULTIPLE:\x22select-multiple\x22, SELECT_ONE:\x22select-one\x22, SUBMIT:\x22submit\x22, TEL:\x22tel\x22, TEXT:\x22text\x22, TEXTAREA:\x22textarea\x22, TIME:\x22time\x22, URL:\x22url\x22, WEEK:\x22week\x22};\n"); +SHADOW_ENV.evalLoad("goog.collections.iters.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.collections.iters\x22);\n goog.module.declareLegacyNamespace();\n function getIterator(iterable) {\n return iterable[goog.global.Symbol.iterator]();\n }\n exports.getIterator \x3d getIterator;\n exports.forEach \x3d function(iterable, f) {\n for (const elem of iterable) {\n f(elem);\n }\n };\n class MapIterator {\n constructor(childIter, mapFn) {\n this.childIterator_ \x3d getIterator(childIter);\n this.mapFn_ \x3d mapFn;\n this.nextIndex_ \x3d 0;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n const childResult \x3d this.childIterator_.next();\n return {value:childResult.done ? undefined : this.mapFn_.call(undefined, childResult.value, this.nextIndex_++), done:childResult.done,};\n }\n }\n exports.map \x3d function(iterable, f) {\n return new MapIterator(iterable, f);\n };\n class FilterIterator {\n constructor(childIter, filterFn) {\n this.childIter_ \x3d getIterator(childIter);\n this.filterFn_ \x3d filterFn;\n this.nextIndex_ \x3d 0;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n while (true) {\n const childResult \x3d this.childIter_.next();\n if (childResult.done) {\n return {done:true, value:undefined};\n }\n const passesFilter \x3d this.filterFn_.call(undefined, childResult.value, this.nextIndex_++);\n if (passesFilter) {\n return childResult;\n }\n }\n }\n }\n exports.filter \x3d function(iterable, f) {\n return new FilterIterator(iterable, f);\n };\n class ConcatIterator {\n constructor(iterators) {\n this.iterators_ \x3d iterators;\n this.iterIndex_ \x3d 0;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n while (this.iterIndex_ \x3c this.iterators_.length) {\n const result \x3d this.iterators_[this.iterIndex_].next();\n if (!result.done) {\n return result;\n }\n this.iterIndex_++;\n }\n return {done:true};\n }\n }\n exports.concat \x3d function(...iterables) {\n return new ConcatIterator(iterables.map(getIterator));\n };\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.debug.errorcontext.js", true , "goog.provide(\x22goog.debug.errorcontext\x22);\ngoog.debug.errorcontext.addErrorContext \x3d function(err, contextKey, contextValue) {\n if (!err[goog.debug.errorcontext.CONTEXT_KEY_]) {\n err[goog.debug.errorcontext.CONTEXT_KEY_] \x3d {};\n }\n err[goog.debug.errorcontext.CONTEXT_KEY_][contextKey] \x3d contextValue;\n};\ngoog.debug.errorcontext.getErrorContext \x3d function(err) {\n return err[goog.debug.errorcontext.CONTEXT_KEY_] || {};\n};\ngoog.debug.errorcontext.CONTEXT_KEY_ \x3d \x22__closure__error__context__984382\x22;\n"); +SHADOW_ENV.evalLoad("goog.debug.debug.js", true , "goog.provide(\x22goog.debug\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.debug.errorcontext\x22);\ngoog.debug.LOGGING_ENABLED \x3d goog.define(\x22goog.debug.LOGGING_ENABLED\x22, goog.DEBUG);\ngoog.debug.FORCE_SLOPPY_STACKS \x3d goog.define(\x22goog.debug.FORCE_SLOPPY_STACKS\x22, false);\ngoog.debug.CHECK_FOR_THROWN_EVENT \x3d goog.define(\x22goog.debug.CHECK_FOR_THROWN_EVENT\x22, false);\ngoog.debug.catchErrors \x3d function(logFunc, opt_cancel, opt_target) {\n var target \x3d opt_target || goog.global;\n var oldErrorHandler \x3d target.onerror;\n var retVal \x3d !!opt_cancel;\n target.onerror \x3d function(message, url, line, opt_col, opt_error) {\n if (oldErrorHandler) {\n oldErrorHandler(message, url, line, opt_col, opt_error);\n }\n logFunc({message:message, fileName:url, line:line, lineNumber:line, col:opt_col, error:opt_error});\n return retVal;\n };\n};\ngoog.debug.expose \x3d function(obj, opt_showFn) {\n if (typeof obj \x3d\x3d \x22undefined\x22) {\n return \x22undefined\x22;\n }\n if (obj \x3d\x3d null) {\n return \x22NULL\x22;\n }\n var str \x3d [];\n for (var x in obj) {\n if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n continue;\n }\n var s \x3d x + \x22 \\x3d \x22;\n try {\n s +\x3d obj[x];\n } catch (e) {\n s +\x3d \x22*** \x22 + e + \x22 ***\x22;\n }\n str.push(s);\n }\n return str.join(\x22\\n\x22);\n};\ngoog.debug.deepExpose \x3d function(obj, opt_showFn) {\n var str \x3d [];\n var uidsToCleanup \x3d [];\n var ancestorUids \x3d {};\n var helper \x3d function(obj, space) {\n var nestspace \x3d space + \x22 \x22;\n var indentMultiline \x3d function(str) {\n return str.replace(/\\n/g, \x22\\n\x22 + space);\n };\n try {\n if (obj \x3d\x3d\x3d undefined) {\n str.push(\x22undefined\x22);\n } else if (obj \x3d\x3d\x3d null) {\n str.push(\x22NULL\x22);\n } else if (typeof obj \x3d\x3d\x3d \x22string\x22) {\n str.push(\x27\x22\x27 + indentMultiline(obj) + \x27\x22\x27);\n } else if (typeof obj \x3d\x3d\x3d \x22function\x22) {\n str.push(indentMultiline(String(obj)));\n } else if (goog.isObject(obj)) {\n if (!goog.hasUid(obj)) {\n uidsToCleanup.push(obj);\n }\n var uid \x3d goog.getUid(obj);\n if (ancestorUids[uid]) {\n str.push(\x22*** reference loop detected (id\\x3d\x22 + uid + \x22) ***\x22);\n } else {\n ancestorUids[uid] \x3d true;\n str.push(\x22{\x22);\n for (var x in obj) {\n if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n continue;\n }\n str.push(\x22\\n\x22);\n str.push(nestspace);\n str.push(x + \x22 \\x3d \x22);\n helper(obj[x], nestspace);\n }\n str.push(\x22\\n\x22 + space + \x22}\x22);\n delete ancestorUids[uid];\n }\n } else {\n str.push(obj);\n }\n } catch (e) {\n str.push(\x22*** \x22 + e + \x22 ***\x22);\n }\n };\n helper(obj, \x22\x22);\n for (var i \x3d 0; i \x3c uidsToCleanup.length; i++) {\n goog.removeUid(uidsToCleanup[i]);\n }\n return str.join(\x22\x22);\n};\ngoog.debug.exposeArray \x3d function(arr) {\n var str \x3d [];\n for (var i \x3d 0; i \x3c arr.length; i++) {\n if (Array.isArray(arr[i])) {\n str.push(goog.debug.exposeArray(arr[i]));\n } else {\n str.push(arr[i]);\n }\n }\n return \x22[ \x22 + str.join(\x22, \x22) + \x22 ]\x22;\n};\ngoog.debug.normalizeErrorObject \x3d function(err) {\n var href \x3d goog.getObjectByName(\x22window.location.href\x22);\n if (err \x3d\x3d null) {\n err \x3d \x27Unknown Error of type \x22null/undefined\x22\x27;\n }\n if (typeof err \x3d\x3d\x3d \x22string\x22) {\n return {\x22message\x22:err, \x22name\x22:\x22Unknown error\x22, \x22lineNumber\x22:\x22Not available\x22, \x22fileName\x22:href, \x22stack\x22:\x22Not available\x22};\n }\n var lineNumber, fileName;\n var threwError \x3d false;\n try {\n lineNumber \x3d err.lineNumber || err.line || \x22Not available\x22;\n } catch (e) {\n lineNumber \x3d \x22Not available\x22;\n threwError \x3d true;\n }\n try {\n fileName \x3d err.fileName || err.filename || err.sourceURL || goog.global[\x22$googDebugFname\x22] || href;\n } catch (e) {\n fileName \x3d \x22Not available\x22;\n threwError \x3d true;\n }\n var stack \x3d goog.debug.serializeErrorStack_(err);\n if (threwError || !err.lineNumber || !err.fileName || !err.stack || !err.message || !err.name) {\n var message \x3d err.message;\n if (message \x3d\x3d null) {\n if (err.constructor \x26\x26 err.constructor instanceof Function) {\n var ctorName \x3d err.constructor.name ? err.constructor.name : goog.debug.getFunctionName(err.constructor);\n message \x3d \x27Unknown Error of type \x22\x27 + ctorName + \x27\x22\x27;\n if (goog.debug.CHECK_FOR_THROWN_EVENT \x26\x26 ctorName \x3d\x3d \x22Event\x22) {\n try {\n message \x3d message + \x27 with Event.type \x22\x27 + (err.type || \x22\x22) + \x27\x22\x27;\n } catch (e) {\n }\n }\n } else {\n message \x3d \x22Unknown Error of unknown type\x22;\n }\n if (typeof err.toString \x3d\x3d\x3d \x22function\x22 \x26\x26 Object.prototype.toString !\x3d\x3d err.toString) {\n message +\x3d \x22: \x22 + err.toString();\n }\n }\n return {\x22message\x22:message, \x22name\x22:err.name || \x22UnknownError\x22, \x22lineNumber\x22:lineNumber, \x22fileName\x22:fileName, \x22stack\x22:stack || \x22Not available\x22};\n }\n err.stack \x3d stack;\n return {\x22message\x22:err.message, \x22name\x22:err.name, \x22lineNumber\x22:err.lineNumber, \x22fileName\x22:err.fileName, \x22stack\x22:err.stack};\n};\ngoog.debug.serializeErrorStack_ \x3d function(e, seen) {\n if (!seen) {\n seen \x3d {};\n }\n seen[goog.debug.serializeErrorAsKey_(e)] \x3d true;\n var stack \x3d e[\x22stack\x22] || \x22\x22;\n var cause \x3d e.cause;\n if (cause \x26\x26 !seen[goog.debug.serializeErrorAsKey_(cause)]) {\n stack +\x3d \x22\\nCaused by: \x22;\n if (!cause.stack || cause.stack.indexOf(cause.toString()) !\x3d 0) {\n stack +\x3d typeof cause \x3d\x3d\x3d \x22string\x22 ? cause : cause.message + \x22\\n\x22;\n }\n stack +\x3d goog.debug.serializeErrorStack_(cause, seen);\n }\n return stack;\n};\ngoog.debug.serializeErrorAsKey_ \x3d function(e) {\n var keyPrefix \x3d \x22\x22;\n if (typeof e.toString \x3d\x3d\x3d \x22function\x22) {\n keyPrefix \x3d \x22\x22 + e;\n }\n return keyPrefix + e[\x22stack\x22];\n};\ngoog.debug.enhanceError \x3d function(err, opt_message) {\n var error;\n if (!(err instanceof Error)) {\n error \x3d Error(err);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, goog.debug.enhanceError);\n }\n } else {\n error \x3d err;\n }\n if (!error.stack) {\n error.stack \x3d goog.debug.getStacktrace(goog.debug.enhanceError);\n }\n if (opt_message) {\n var x \x3d 0;\n while (error[\x22message\x22 + x]) {\n ++x;\n }\n error[\x22message\x22 + x] \x3d String(opt_message);\n }\n return error;\n};\ngoog.debug.enhanceErrorWithContext \x3d function(err, opt_context) {\n var error \x3d goog.debug.enhanceError(err);\n if (opt_context) {\n for (var key in opt_context) {\n goog.debug.errorcontext.addErrorContext(error, key, opt_context[key]);\n }\n }\n return error;\n};\ngoog.debug.getStacktraceSimple \x3d function(opt_depth) {\n if (!goog.debug.FORCE_SLOPPY_STACKS) {\n var stack \x3d goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);\n if (stack) {\n return stack;\n }\n }\n var sb \x3d [];\n var fn \x3d arguments.callee.caller;\n var depth \x3d 0;\n while (fn \x26\x26 (!opt_depth || depth \x3c opt_depth)) {\n sb.push(goog.debug.getFunctionName(fn));\n sb.push(\x22()\\n\x22);\n try {\n fn \x3d fn.caller;\n } catch (e) {\n sb.push(\x22[exception trying to get caller]\\n\x22);\n break;\n }\n depth++;\n if (depth \x3e\x3d goog.debug.MAX_STACK_DEPTH) {\n sb.push(\x22[...long stack...]\x22);\n break;\n }\n }\n if (opt_depth \x26\x26 depth \x3e\x3d opt_depth) {\n sb.push(\x22[...reached max depth limit...]\x22);\n } else {\n sb.push(\x22[end]\x22);\n }\n return sb.join(\x22\x22);\n};\ngoog.debug.MAX_STACK_DEPTH \x3d 50;\ngoog.debug.getNativeStackTrace_ \x3d function(fn) {\n var tempErr \x3d new Error();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(tempErr, fn);\n return String(tempErr.stack);\n } else {\n try {\n throw tempErr;\n } catch (e) {\n tempErr \x3d e;\n }\n var stack \x3d tempErr.stack;\n if (stack) {\n return String(stack);\n }\n }\n return null;\n};\ngoog.debug.getStacktrace \x3d function(fn) {\n var stack;\n if (!goog.debug.FORCE_SLOPPY_STACKS) {\n var contextFn \x3d fn || goog.debug.getStacktrace;\n stack \x3d goog.debug.getNativeStackTrace_(contextFn);\n }\n if (!stack) {\n stack \x3d goog.debug.getStacktraceHelper_(fn || arguments.callee.caller, []);\n }\n return stack;\n};\ngoog.debug.getStacktraceHelper_ \x3d function(fn, visited) {\n var sb \x3d [];\n if (goog.array.contains(visited, fn)) {\n sb.push(\x22[...circular reference...]\x22);\n } else if (fn \x26\x26 visited.length \x3c goog.debug.MAX_STACK_DEPTH) {\n sb.push(goog.debug.getFunctionName(fn) + \x22(\x22);\n var args \x3d fn.arguments;\n for (var i \x3d 0; args \x26\x26 i \x3c args.length; i++) {\n if (i \x3e 0) {\n sb.push(\x22, \x22);\n }\n var argDesc;\n var arg \x3d args[i];\n switch(typeof arg) {\n case \x22object\x22:\n argDesc \x3d arg ? \x22object\x22 : \x22null\x22;\n break;\n case \x22string\x22:\n argDesc \x3d arg;\n break;\n case \x22number\x22:\n argDesc \x3d String(arg);\n break;\n case \x22boolean\x22:\n argDesc \x3d arg ? \x22true\x22 : \x22false\x22;\n break;\n case \x22function\x22:\n argDesc \x3d goog.debug.getFunctionName(arg);\n argDesc \x3d argDesc ? argDesc : \x22[fn]\x22;\n break;\n case \x22undefined\x22:\n default:\n argDesc \x3d typeof arg;\n break;\n }\n if (argDesc.length \x3e 40) {\n argDesc \x3d argDesc.substr(0, 40) + \x22...\x22;\n }\n sb.push(argDesc);\n }\n visited.push(fn);\n sb.push(\x22)\\n\x22);\n try {\n sb.push(goog.debug.getStacktraceHelper_(fn.caller, visited));\n } catch (e) {\n sb.push(\x22[exception trying to get caller]\\n\x22);\n }\n } else if (fn) {\n sb.push(\x22[...long stack...]\x22);\n } else {\n sb.push(\x22[end]\x22);\n }\n return sb.join(\x22\x22);\n};\ngoog.debug.getFunctionName \x3d function(fn) {\n if (goog.debug.fnNameCache_[fn]) {\n return goog.debug.fnNameCache_[fn];\n }\n var functionSource \x3d String(fn);\n if (!goog.debug.fnNameCache_[functionSource]) {\n var matches \x3d /function\\s+([^\\(]+)/m.exec(functionSource);\n if (matches) {\n var method \x3d matches[1];\n goog.debug.fnNameCache_[functionSource] \x3d method;\n } else {\n goog.debug.fnNameCache_[functionSource] \x3d \x22[Anonymous]\x22;\n }\n }\n return goog.debug.fnNameCache_[functionSource];\n};\ngoog.debug.makeWhitespaceVisible \x3d function(string) {\n return string.replace(/ /g, \x22[_]\x22).replace(/\\f/g, \x22[f]\x22).replace(/\\n/g, \x22[n]\\n\x22).replace(/\\r/g, \x22[r]\x22).replace(/\\t/g, \x22[t]\x22);\n};\ngoog.debug.runtimeType \x3d function(value) {\n if (value instanceof Function) {\n return value.displayName || value.name || \x22unknown type name\x22;\n } else if (value instanceof Object) {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } else {\n return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n};\ngoog.debug.fnNameCache_ \x3d {};\ngoog.debug.freezeInternal_ \x3d goog.DEBUG \x26\x26 Object.freeze || function(arg) {\n return arg;\n};\ngoog.debug.freeze \x3d function(arg) {\n return {valueOf:function() {\n return goog.debug.freezeInternal_(arg);\n }}.valueOf();\n};\n"); +SHADOW_ENV.evalLoad("goog.iter.iter.js", true , "goog.provide(\x22goog.iter\x22);\ngoog.provide(\x22goog.iter.Iterable\x22);\ngoog.provide(\x22goog.iter.Iterator\x22);\ngoog.provide(\x22goog.iter.StopIteration\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.math\x22);\ngoog.iter.Iterable;\ngoog.iter.StopIteration \x3d \x22StopIteration\x22 in goog.global ? goog.global[\x22StopIteration\x22] : {message:\x22StopIteration\x22, stack:\x22\x22};\ngoog.iter.Iterator \x3d function() {\n};\ngoog.iter.Iterator.prototype.nextValueOrThrow \x3d function() {\n throw goog.iter.StopIteration;\n};\ngoog.iter.Iterator.prototype.next \x3d function() {\n return goog.iter.ES6_ITERATOR_DONE;\n};\ngoog.iter.ES6_ITERATOR_DONE \x3d goog.debug.freeze({done:true, value:undefined});\ngoog.iter.createEs6IteratorYield \x3d function(value) {\n return {value, done:false};\n};\ngoog.iter.toEs4IteratorNext \x3d function(es6NextValue) {\n if (es6NextValue.done) {\n throw goog.iter.StopIteration;\n }\n return es6NextValue.value;\n};\ngoog.iter.checkNoImplicitStopIterationInEs6 \x3d function(ex) {\n if (ex \x3d\x3d\x3d goog.iter.StopIteration) {\n throw new Error(\x22ES6 Iteration protocol does NOT adjust control flow when \x22 + \x22StopIteration is thrown from callback helper functions. If your code\x22 + \x22 relies on this behavior, consider throwing a different error and \x22 + \x22catching it to terminate iteration.\x22);\n }\n throw ex;\n};\ngoog.iter.Iterator.prototype.__iterator__ \x3d function(opt_keys) {\n return this;\n};\ngoog.iter.toIterator \x3d function(iterable) {\n if (iterable instanceof goog.iter.Iterator) {\n return iterable;\n }\n if (typeof iterable.__iterator__ \x3d\x3d \x22function\x22) {\n return iterable.__iterator__(false);\n }\n if (goog.isArrayLike(iterable)) {\n var like \x3d iterable;\n var i \x3d 0;\n var newIter \x3d new goog.iter.Iterator();\n newIter.nextValueOrThrow \x3d function() {\n while (true) {\n if (i \x3e\x3d like.length) {\n throw goog.iter.StopIteration;\n }\n if (!(i in like)) {\n i++;\n continue;\n }\n return like[i++];\n }\n };\n return newIter;\n }\n throw new Error(\x22Not implemented\x22);\n};\ngoog.iter.forEach \x3d function(iterable, f, opt_obj) {\n if (goog.isArrayLike(iterable)) {\n try {\n goog.array.forEach(iterable, f, opt_obj);\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n }\n } else {\n iterable \x3d goog.iter.toIterator(iterable);\n try {\n while (true) {\n f.call(opt_obj, iterable.nextValueOrThrow(), undefined, iterable);\n }\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n }\n }\n};\ngoog.iter.filter \x3d function(iterable, f, opt_obj) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var newIter \x3d new goog.iter.Iterator();\n newIter.nextValueOrThrow \x3d function() {\n while (true) {\n var val \x3d iterator.nextValueOrThrow();\n if (f.call(opt_obj, val, undefined, iterator)) {\n return val;\n }\n }\n };\n return newIter;\n};\ngoog.iter.filterFalse \x3d function(iterable, f, opt_obj) {\n return goog.iter.filter(iterable, goog.functions.not(f), opt_obj);\n};\ngoog.iter.range \x3d function(startOrStop, opt_stop, opt_step) {\n var start \x3d 0;\n var stop \x3d startOrStop;\n var step \x3d opt_step || 1;\n if (arguments.length \x3e 1) {\n start \x3d startOrStop;\n stop \x3d +opt_stop;\n }\n if (step \x3d\x3d 0) {\n throw new Error(\x22Range step argument must not be zero\x22);\n }\n var newIter \x3d new goog.iter.Iterator();\n newIter.nextValueOrThrow \x3d function() {\n if (step \x3e 0 \x26\x26 start \x3e\x3d stop || step \x3c 0 \x26\x26 start \x3c\x3d stop) {\n throw goog.iter.StopIteration;\n }\n var rv \x3d start;\n start +\x3d step;\n return rv;\n };\n return newIter;\n};\ngoog.iter.join \x3d function(iterable, deliminator) {\n return goog.iter.toArray(iterable).join(deliminator);\n};\ngoog.iter.map \x3d function(iterable, f, opt_obj) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var newIter \x3d new goog.iter.Iterator();\n newIter.nextValueOrThrow \x3d function() {\n var val \x3d iterator.nextValueOrThrow();\n return f.call(opt_obj, val, undefined, iterator);\n };\n return newIter;\n};\ngoog.iter.reduce \x3d function(iterable, f, val, opt_obj) {\n var rval \x3d val;\n goog.iter.forEach(iterable, function(val) {\n rval \x3d f.call(opt_obj, rval, val);\n });\n return rval;\n};\ngoog.iter.some \x3d function(iterable, f, opt_obj) {\n iterable \x3d goog.iter.toIterator(iterable);\n try {\n while (true) {\n if (f.call(opt_obj, iterable.nextValueOrThrow(), undefined, iterable)) {\n return true;\n }\n }\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n }\n return false;\n};\ngoog.iter.every \x3d function(iterable, f, opt_obj) {\n iterable \x3d goog.iter.toIterator(iterable);\n try {\n while (true) {\n if (!f.call(opt_obj, iterable.nextValueOrThrow(), undefined, iterable)) {\n return false;\n }\n }\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n }\n return true;\n};\ngoog.iter.chain \x3d function(var_args) {\n return goog.iter.chainFromIterable(arguments);\n};\ngoog.iter.chainFromIterable \x3d function(iterable) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var iter \x3d new goog.iter.Iterator();\n var current \x3d null;\n iter.nextValueOrThrow \x3d function() {\n while (true) {\n if (current \x3d\x3d null) {\n var it \x3d iterator.nextValueOrThrow();\n current \x3d goog.iter.toIterator(it);\n }\n try {\n return current.nextValueOrThrow();\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n current \x3d null;\n }\n }\n };\n return iter;\n};\ngoog.iter.dropWhile \x3d function(iterable, f, opt_obj) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var newIter \x3d new goog.iter.Iterator();\n var dropping \x3d true;\n newIter.nextValueOrThrow \x3d function() {\n while (true) {\n var val \x3d iterator.nextValueOrThrow();\n if (dropping \x26\x26 f.call(opt_obj, val, undefined, iterator)) {\n continue;\n } else {\n dropping \x3d false;\n }\n return val;\n }\n };\n return newIter;\n};\ngoog.iter.takeWhile \x3d function(iterable, f, opt_obj) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d function() {\n var val \x3d iterator.nextValueOrThrow();\n if (f.call(opt_obj, val, undefined, iterator)) {\n return val;\n }\n throw goog.iter.StopIteration;\n };\n return iter;\n};\ngoog.iter.toArray \x3d function(iterable) {\n if (goog.isArrayLike(iterable)) {\n return goog.array.toArray(iterable);\n }\n iterable \x3d goog.iter.toIterator(iterable);\n var array \x3d [];\n goog.iter.forEach(iterable, function(val) {\n array.push(val);\n });\n return array;\n};\ngoog.iter.equals \x3d function(iterable1, iterable2, opt_equalsFn) {\n var fillValue \x3d {};\n var pairs \x3d goog.iter.zipLongest(fillValue, iterable1, iterable2);\n var equalsFn \x3d opt_equalsFn || goog.array.defaultCompareEquality;\n return goog.iter.every(pairs, function(pair) {\n return equalsFn(pair[0], pair[1]);\n });\n};\ngoog.iter.nextOrValue \x3d function(iterable, defaultValue) {\n try {\n return goog.iter.toIterator(iterable).nextValueOrThrow();\n } catch (e) {\n if (e !\x3d goog.iter.StopIteration) {\n throw e;\n }\n return defaultValue;\n }\n};\ngoog.iter.product \x3d function(var_args) {\n var someArrayEmpty \x3d Array.prototype.some.call(arguments, function(arr) {\n return !arr.length;\n });\n if (someArrayEmpty || !arguments.length) {\n return new goog.iter.Iterator();\n }\n var iter \x3d new goog.iter.Iterator();\n var arrays \x3d arguments;\n var indicies \x3d goog.array.repeat(0, arrays.length);\n iter.nextValueOrThrow \x3d function() {\n if (indicies) {\n var retVal \x3d goog.array.map(indicies, function(valueIndex, arrayIndex) {\n return arrays[arrayIndex][valueIndex];\n });\n for (var i \x3d indicies.length - 1; i \x3e\x3d 0; i--) {\n goog.asserts.assert(indicies);\n if (indicies[i] \x3c arrays[i].length - 1) {\n indicies[i]++;\n break;\n }\n if (i \x3d\x3d 0) {\n indicies \x3d null;\n break;\n }\n indicies[i] \x3d 0;\n }\n return retVal;\n }\n throw goog.iter.StopIteration;\n };\n return iter;\n};\ngoog.iter.cycle \x3d function(iterable) {\n var baseIterator \x3d goog.iter.toIterator(iterable);\n var cache \x3d [];\n var cacheIndex \x3d 0;\n var iter \x3d new goog.iter.Iterator();\n var useCache \x3d false;\n iter.nextValueOrThrow \x3d function() {\n var returnElement \x3d null;\n if (!useCache) {\n try {\n returnElement \x3d baseIterator.nextValueOrThrow();\n cache.push(returnElement);\n return returnElement;\n } catch (e) {\n if (e !\x3d goog.iter.StopIteration || goog.array.isEmpty(cache)) {\n throw e;\n }\n useCache \x3d true;\n }\n }\n returnElement \x3d cache[cacheIndex];\n cacheIndex \x3d (cacheIndex + 1) % cache.length;\n return returnElement;\n };\n return iter;\n};\ngoog.iter.count \x3d function(opt_start, opt_step) {\n var counter \x3d opt_start || 0;\n var step \x3d opt_step !\x3d\x3d undefined ? opt_step : 1;\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d function() {\n var returnValue \x3d counter;\n counter +\x3d step;\n return returnValue;\n };\n return iter;\n};\ngoog.iter.repeat \x3d function(value) {\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d goog.functions.constant(value);\n return iter;\n};\ngoog.iter.accumulate \x3d function(iterable) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var total \x3d 0;\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d function() {\n total +\x3d iterator.nextValueOrThrow();\n return total;\n };\n return iter;\n};\ngoog.iter.zip \x3d function(var_args) {\n var args \x3d arguments;\n var iter \x3d new goog.iter.Iterator();\n if (args.length \x3e 0) {\n var iterators \x3d goog.array.map(args, goog.iter.toIterator);\n iter.nextValueOrThrow \x3d function() {\n var arr \x3d goog.array.map(iterators, function(it) {\n return it.nextValueOrThrow();\n });\n return arr;\n };\n }\n return iter;\n};\ngoog.iter.zipLongest \x3d function(fillValue, var_args) {\n var args \x3d Array.prototype.slice.call(arguments, 1);\n var iter \x3d new goog.iter.Iterator();\n if (args.length \x3e 0) {\n var iterators \x3d goog.array.map(args, goog.iter.toIterator);\n iter.nextValueOrThrow \x3d function() {\n var iteratorsHaveValues \x3d false;\n var arr \x3d goog.array.map(iterators, function(it) {\n var returnValue;\n try {\n returnValue \x3d it.nextValueOrThrow();\n iteratorsHaveValues \x3d true;\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n returnValue \x3d fillValue;\n }\n return returnValue;\n });\n if (!iteratorsHaveValues) {\n throw goog.iter.StopIteration;\n }\n return arr;\n };\n }\n return iter;\n};\ngoog.iter.compress \x3d function(iterable, selectors) {\n var selectorIterator \x3d goog.iter.toIterator(selectors);\n return goog.iter.filter(iterable, function() {\n return !!selectorIterator.nextValueOrThrow();\n });\n};\ngoog.iter.GroupByIterator_ \x3d function(iterable, opt_keyFunc) {\n this.iterator \x3d goog.iter.toIterator(iterable);\n this.keyFunc \x3d opt_keyFunc || goog.functions.identity;\n this.targetKey;\n this.currentKey;\n this.currentValue;\n};\ngoog.inherits(goog.iter.GroupByIterator_, goog.iter.Iterator);\ngoog.iter.GroupByIterator_.prototype.nextValueOrThrow \x3d function() {\n while (this.currentKey \x3d\x3d this.targetKey) {\n this.currentValue \x3d this.iterator.nextValueOrThrow();\n this.currentKey \x3d this.keyFunc(this.currentValue);\n }\n this.targetKey \x3d this.currentKey;\n return [this.currentKey, this.groupItems_(this.targetKey)];\n};\ngoog.iter.GroupByIterator_.prototype.groupItems_ \x3d function(targetKey) {\n var arr \x3d [];\n while (this.currentKey \x3d\x3d targetKey) {\n arr.push(this.currentValue);\n try {\n this.currentValue \x3d this.iterator.nextValueOrThrow();\n } catch (ex) {\n if (ex !\x3d\x3d goog.iter.StopIteration) {\n throw ex;\n }\n break;\n }\n this.currentKey \x3d this.keyFunc(this.currentValue);\n }\n return arr;\n};\ngoog.iter.groupBy \x3d function(iterable, opt_keyFunc) {\n return new goog.iter.GroupByIterator_(iterable, opt_keyFunc);\n};\ngoog.iter.starMap \x3d function(iterable, f, opt_obj) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d function() {\n var args \x3d goog.iter.toArray(iterator.nextValueOrThrow());\n return f.apply(opt_obj, goog.array.concat(args, undefined, iterator));\n };\n return iter;\n};\ngoog.iter.tee \x3d function(iterable, opt_num) {\n var iterator \x3d goog.iter.toIterator(iterable);\n var num \x3d typeof opt_num \x3d\x3d\x3d \x22number\x22 ? opt_num : 2;\n var buffers \x3d goog.array.map(goog.array.range(num), function() {\n return [];\n });\n var addNextIteratorValueToBuffers \x3d function() {\n var val \x3d iterator.nextValueOrThrow();\n goog.array.forEach(buffers, function(buffer) {\n buffer.push(val);\n });\n };\n var createIterator \x3d function(buffer) {\n var iter \x3d new goog.iter.Iterator();\n iter.nextValueOrThrow \x3d function() {\n if (goog.array.isEmpty(buffer)) {\n addNextIteratorValueToBuffers();\n }\n goog.asserts.assert(!goog.array.isEmpty(buffer));\n return buffer.shift();\n };\n return iter;\n };\n return goog.array.map(buffers, createIterator);\n};\ngoog.iter.enumerate \x3d function(iterable, opt_start) {\n return goog.iter.zip(goog.iter.count(opt_start), iterable);\n};\ngoog.iter.limit \x3d function(iterable, limitSize) {\n goog.asserts.assert(goog.math.isInt(limitSize) \x26\x26 limitSize \x3e\x3d 0);\n var iterator \x3d goog.iter.toIterator(iterable);\n var iter \x3d new goog.iter.Iterator();\n var remaining \x3d limitSize;\n iter.nextValueOrThrow \x3d function() {\n if (remaining-- \x3e 0) {\n return iterator.nextValueOrThrow();\n }\n throw goog.iter.StopIteration;\n };\n return iter;\n};\ngoog.iter.consume \x3d function(iterable, count) {\n goog.asserts.assert(goog.math.isInt(count) \x26\x26 count \x3e\x3d 0);\n var iterator \x3d goog.iter.toIterator(iterable);\n while (count-- \x3e 0) {\n goog.iter.nextOrValue(iterator, null);\n }\n return iterator;\n};\ngoog.iter.slice \x3d function(iterable, start, opt_end) {\n goog.asserts.assert(goog.math.isInt(start) \x26\x26 start \x3e\x3d 0);\n var iterator \x3d goog.iter.consume(iterable, start);\n if (typeof opt_end \x3d\x3d\x3d \x22number\x22) {\n goog.asserts.assert(goog.math.isInt(opt_end) \x26\x26 opt_end \x3e\x3d start);\n iterator \x3d goog.iter.limit(iterator, opt_end - start);\n }\n return iterator;\n};\ngoog.iter.hasDuplicates_ \x3d function(arr) {\n var deduped \x3d [];\n goog.array.removeDuplicates(arr, deduped);\n return arr.length !\x3d deduped.length;\n};\ngoog.iter.permutations \x3d function(iterable, opt_length) {\n var elements \x3d goog.iter.toArray(iterable);\n var length \x3d typeof opt_length \x3d\x3d\x3d \x22number\x22 ? opt_length : elements.length;\n var sets \x3d goog.array.repeat(elements, length);\n var product \x3d goog.iter.product.apply(undefined, sets);\n return goog.iter.filter(product, function(arr) {\n return !goog.iter.hasDuplicates_(arr);\n });\n};\ngoog.iter.combinations \x3d function(iterable, length) {\n var elements \x3d goog.iter.toArray(iterable);\n var indexes \x3d goog.iter.range(elements.length);\n var indexIterator \x3d goog.iter.permutations(indexes, length);\n var sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n return goog.array.isSorted(arr);\n });\n var iter \x3d new goog.iter.Iterator();\n function getIndexFromElements(index) {\n return elements[index];\n }\n iter.nextValueOrThrow \x3d function() {\n return goog.array.map(sortedIndexIterator.nextValueOrThrow(), getIndexFromElements);\n };\n return iter;\n};\ngoog.iter.combinationsWithReplacement \x3d function(iterable, length) {\n var elements \x3d goog.iter.toArray(iterable);\n var indexes \x3d goog.array.range(elements.length);\n var sets \x3d goog.array.repeat(indexes, length);\n var indexIterator \x3d goog.iter.product.apply(undefined, sets);\n var sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n return goog.array.isSorted(arr);\n });\n var iter \x3d new goog.iter.Iterator();\n function getIndexFromElements(index) {\n return elements[index];\n }\n iter.nextValueOrThrow \x3d function() {\n return goog.array.map(sortedIndexIterator.nextValueOrThrow(), getIndexFromElements);\n };\n return iter;\n};\n"); +SHADOW_ENV.evalLoad("goog.iter.es6.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.iter.es6\x22);\n goog.module.declareLegacyNamespace();\n const GoogIterable \x3d goog.require(\x22goog.iter.Iterable\x22);\n const GoogIterator \x3d goog.require(\x22goog.iter.Iterator\x22);\n const StopIteration \x3d goog.require(\x22goog.iter.StopIteration\x22);\n class ShimIterable {\n __iterator__() {\n }\n toGoog() {\n }\n toEs6() {\n }\n static of(iter) {\n if (iter instanceof ShimIterableImpl || iter instanceof ShimGoogIterator || iter instanceof ShimEs6Iterator) {\n return iter;\n } else if (typeof iter.nextValueOrThrow \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e wrapGoog(iter));\n } else if (typeof iter[Symbol.iterator] \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e iter[Symbol.iterator]());\n } else if (typeof iter.__iterator__ \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e wrapGoog(iter.__iterator__()));\n }\n throw new Error(\x22Not an iterator or iterable.\x22);\n }\n }\n const wrapGoog \x3d iter \x3d\x3e {\n if (!(iter instanceof GoogIterator)) {\n return iter;\n }\n let done \x3d false;\n return {next() {\n let value;\n while (!done) {\n try {\n value \x3d iter.nextValueOrThrow();\n break;\n } catch (err) {\n if (err !\x3d\x3d StopIteration) {\n throw err;\n }\n done \x3d true;\n }\n }\n return {value, done};\n },};\n };\n class ShimIterableImpl {\n constructor(func) {\n this.func_ \x3d func;\n }\n __iterator__() {\n return new ShimGoogIterator(this.func_());\n }\n toGoog() {\n return new ShimGoogIterator(this.func_());\n }\n [Symbol.iterator]() {\n return new ShimEs6Iterator(this.func_());\n }\n toEs6() {\n return new ShimEs6Iterator(this.func_());\n }\n }\n class ShimGoogIterator extends GoogIterator {\n constructor(iter) {\n super();\n this.iter_ \x3d iter;\n }\n nextValueOrThrow() {\n const result \x3d this.iter_.next();\n if (result.done) {\n throw StopIteration;\n }\n return result.value;\n }\n toGoog() {\n return this;\n }\n [Symbol.iterator]() {\n return new ShimEs6Iterator(this.iter_);\n }\n toEs6() {\n return new ShimEs6Iterator(this.iter_);\n }\n }\n class ShimEs6Iterator extends ShimIterableImpl {\n constructor(iter) {\n super(() \x3d\x3e iter);\n this.iter_ \x3d iter;\n }\n next() {\n return this.iter_.next();\n }\n }\n exports \x3d {ShimIterable, ShimEs6Iterator, ShimGoogIterator,};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.structs.map.js", true , "goog.provide(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.collections.iters\x22);\ngoog.require(\x22goog.iter.Iterator\x22);\ngoog.require(\x22goog.iter.StopIteration\x22);\ngoog.require(\x22goog.iter.es6\x22);\ngoog.structs.Map \x3d function(opt_map, var_args) {\n this.map_ \x3d {};\n this.keys_ \x3d [];\n this.size \x3d 0;\n this.version_ \x3d 0;\n var argLength \x3d arguments.length;\n if (argLength \x3e 1) {\n if (argLength % 2) {\n throw new Error(\x22Uneven number of arguments\x22);\n }\n for (var i \x3d 0; i \x3c argLength; i +\x3d 2) {\n this.set(arguments[i], arguments[i + 1]);\n }\n } else if (opt_map) {\n this.addAll(opt_map);\n }\n};\ngoog.structs.Map.prototype.getCount \x3d function() {\n return this.size;\n};\ngoog.structs.Map.prototype.getValues \x3d function() {\n this.cleanupKeysArray_();\n var rv \x3d [];\n for (var i \x3d 0; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n rv.push(this.map_[key]);\n }\n return rv;\n};\ngoog.structs.Map.prototype.getKeys \x3d function() {\n this.cleanupKeysArray_();\n return this.keys_.concat();\n};\ngoog.structs.Map.prototype.containsKey \x3d function(key) {\n return this.has(key);\n};\ngoog.structs.Map.prototype.has \x3d function(key) {\n return goog.structs.Map.hasKey_(this.map_, key);\n};\ngoog.structs.Map.prototype.containsValue \x3d function(val) {\n for (var i \x3d 0; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n if (goog.structs.Map.hasKey_(this.map_, key) \x26\x26 this.map_[key] \x3d\x3d val) {\n return true;\n }\n }\n return false;\n};\ngoog.structs.Map.prototype.equals \x3d function(otherMap, opt_equalityFn) {\n if (this \x3d\x3d\x3d otherMap) {\n return true;\n }\n if (this.size !\x3d otherMap.getCount()) {\n return false;\n }\n var equalityFn \x3d opt_equalityFn || goog.structs.Map.defaultEquals;\n this.cleanupKeysArray_();\n for (var key, i \x3d 0; key \x3d this.keys_[i]; i++) {\n if (!equalityFn(this.get(key), otherMap.get(key))) {\n return false;\n }\n }\n return true;\n};\ngoog.structs.Map.defaultEquals \x3d function(a, b) {\n return a \x3d\x3d\x3d b;\n};\ngoog.structs.Map.prototype.isEmpty \x3d function() {\n return this.size \x3d\x3d 0;\n};\ngoog.structs.Map.prototype.clear \x3d function() {\n this.map_ \x3d {};\n this.keys_.length \x3d 0;\n this.setSizeInternal_(0);\n this.version_ \x3d 0;\n};\ngoog.structs.Map.prototype.remove \x3d function(key) {\n return this.delete(key);\n};\ngoog.structs.Map.prototype.delete \x3d function(key) {\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n delete this.map_[key];\n this.setSizeInternal_(this.size - 1);\n this.version_++;\n if (this.keys_.length \x3e 2 * this.size) {\n this.cleanupKeysArray_();\n }\n return true;\n }\n return false;\n};\ngoog.structs.Map.prototype.cleanupKeysArray_ \x3d function() {\n if (this.size !\x3d this.keys_.length) {\n var srcIndex \x3d 0;\n var destIndex \x3d 0;\n while (srcIndex \x3c this.keys_.length) {\n var key \x3d this.keys_[srcIndex];\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n this.keys_[destIndex++] \x3d key;\n }\n srcIndex++;\n }\n this.keys_.length \x3d destIndex;\n }\n if (this.size !\x3d this.keys_.length) {\n var seen \x3d {};\n var srcIndex \x3d 0;\n var destIndex \x3d 0;\n while (srcIndex \x3c this.keys_.length) {\n var key \x3d this.keys_[srcIndex];\n if (!goog.structs.Map.hasKey_(seen, key)) {\n this.keys_[destIndex++] \x3d key;\n seen[key] \x3d 1;\n }\n srcIndex++;\n }\n this.keys_.length \x3d destIndex;\n }\n};\ngoog.structs.Map.prototype.get \x3d function(key, opt_val) {\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n return this.map_[key];\n }\n return opt_val;\n};\ngoog.structs.Map.prototype.set \x3d function(key, value) {\n if (!goog.structs.Map.hasKey_(this.map_, key)) {\n this.setSizeInternal_(this.size + 1);\n this.keys_.push(key);\n this.version_++;\n }\n this.map_[key] \x3d value;\n};\ngoog.structs.Map.prototype.addAll \x3d function(map) {\n if (map instanceof goog.structs.Map) {\n var keys \x3d map.getKeys();\n for (var i \x3d 0; i \x3c keys.length; i++) {\n this.set(keys[i], map.get(keys[i]));\n }\n } else {\n for (var key in map) {\n this.set(key, map[key]);\n }\n }\n};\ngoog.structs.Map.prototype.forEach \x3d function(f, opt_obj) {\n var keys \x3d this.getKeys();\n for (var i \x3d 0; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var value \x3d this.get(key);\n f.call(opt_obj, value, key, this);\n }\n};\ngoog.structs.Map.prototype.clone \x3d function() {\n return new goog.structs.Map(this);\n};\ngoog.structs.Map.prototype.transpose \x3d function() {\n var transposed \x3d new goog.structs.Map();\n for (var i \x3d 0; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n var value \x3d this.map_[key];\n transposed.set(value, key);\n }\n return transposed;\n};\ngoog.structs.Map.prototype.toObject \x3d function() {\n this.cleanupKeysArray_();\n var obj \x3d {};\n for (var i \x3d 0; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n obj[key] \x3d this.map_[key];\n }\n return obj;\n};\ngoog.structs.Map.prototype.getKeyIterator \x3d function() {\n return this.__iterator__(true);\n};\ngoog.structs.Map.prototype.keys \x3d function() {\n return goog.iter.es6.ShimIterable.of(this.getKeyIterator()).toEs6();\n};\ngoog.structs.Map.prototype.getValueIterator \x3d function() {\n return this.__iterator__(false);\n};\ngoog.structs.Map.prototype.values \x3d function() {\n return goog.iter.es6.ShimIterable.of(this.getValueIterator()).toEs6();\n};\ngoog.structs.Map.prototype.entries \x3d function() {\n const self \x3d this;\n return goog.collections.iters.map(this.keys(), function(key) {\n return [key, self.get(key)];\n });\n};\ngoog.structs.Map.prototype.__iterator__ \x3d function(opt_keys) {\n this.cleanupKeysArray_();\n var i \x3d 0;\n var version \x3d this.version_;\n var selfObj \x3d this;\n var newIter \x3d new goog.iter.Iterator();\n newIter.nextValueOrThrow \x3d function() {\n if (version !\x3d selfObj.version_) {\n throw new Error(\x22The map has changed since the iterator was created\x22);\n }\n if (i \x3e\x3d selfObj.keys_.length) {\n throw goog.iter.StopIteration;\n }\n var key \x3d selfObj.keys_[i++];\n return opt_keys ? key : selfObj.map_[key];\n };\n return newIter;\n};\ngoog.structs.Map.prototype.setSizeInternal_ \x3d function(newSize) {\n this.size \x3d newSize;\n};\ngoog.structs.Map.hasKey_ \x3d function(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n"); +SHADOW_ENV.evalLoad("goog.window.window.js", true , "goog.provide(\x22goog.window\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.string.TypedString\x22);\ngoog.window.DEFAULT_POPUP_HEIGHT \x3d 500;\ngoog.window.DEFAULT_POPUP_WIDTH \x3d 690;\ngoog.window.DEFAULT_POPUP_TARGET \x3d \x22google_popup\x22;\ngoog.window.createFakeWindow_ \x3d function() {\n return {};\n};\ngoog.window.open \x3d function(linkRef, opt_options, opt_parentWin) {\n if (!opt_options) {\n opt_options \x3d {};\n }\n var parentWin \x3d opt_parentWin || window;\n var safeLinkRef;\n if (linkRef instanceof goog.html.SafeUrl) {\n safeLinkRef \x3d linkRef;\n } else {\n var url \x3d typeof linkRef.href !\x3d \x22undefined\x22 ? linkRef.href : String(linkRef);\n safeLinkRef \x3d goog.html.SafeUrl.sanitize(url);\n }\n const browserSupportsCoop \x3d self.crossOriginIsolation !\x3d\x3d undefined;\n let referrerPolicy \x3d \x22strict-origin-when-cross-origin\x22;\n if (window.Request) {\n referrerPolicy \x3d (new Request(\x22/\x22)).referrerPolicy;\n }\n const pageSetsUnsafeReferrerPolicy \x3d referrerPolicy \x3d\x3d\x3d \x22unsafe-url\x22;\n if (browserSupportsCoop \x26\x26 opt_options[\x22noreferrer\x22]) {\n if (pageSetsUnsafeReferrerPolicy) {\n throw new Error(\x22Cannot use the noreferrer option on a page that sets a referrer-policy of `unsafe-url` in modern browsers!\x22);\n }\n opt_options[\x22noreferrer\x22] \x3d false;\n }\n var target \x3d opt_options.target || linkRef.target;\n var sb \x3d [];\n for (var option in opt_options) {\n switch(option) {\n case \x22width\x22:\n case \x22height\x22:\n case \x22top\x22:\n case \x22left\x22:\n sb.push(option + \x22\\x3d\x22 + opt_options[option]);\n break;\n case \x22target\x22:\n case \x22noopener\x22:\n case \x22noreferrer\x22:\n break;\n default:\n sb.push(option + \x22\\x3d\x22 + (opt_options[option] ? 1 : 0));\n }\n }\n var optionString \x3d sb.join(\x22,\x22);\n var newWin;\n if (goog.labs.userAgent.platform.isIos() \x26\x26 parentWin.navigator \x26\x26 parentWin.navigator[\x22standalone\x22] \x26\x26 target \x26\x26 target !\x3d \x22_self\x22) {\n var a \x3d goog.dom.createElement(goog.dom.TagName.A);\n goog.dom.safe.setAnchorHref(a, safeLinkRef);\n a.setAttribute(\x22target\x22, target);\n if (opt_options[\x22noreferrer\x22]) {\n a.setAttribute(\x22rel\x22, \x22noreferrer\x22);\n }\n var click \x3d document.createEvent(\x22MouseEvent\x22);\n click.initMouseEvent(\x22click\x22, true, true, parentWin, 1);\n a.dispatchEvent(click);\n newWin \x3d goog.window.createFakeWindow_();\n } else if (opt_options[\x22noreferrer\x22]) {\n newWin \x3d goog.dom.safe.openInWindow(\x22\x22, parentWin, target, optionString);\n var sanitizedLinkRef \x3d goog.html.SafeUrl.unwrap(safeLinkRef);\n if (newWin) {\n if (goog.userAgent.EDGE_OR_IE) {\n if (goog.string.contains(sanitizedLinkRef, \x22;\x22)) {\n sanitizedLinkRef \x3d \x22\x27\x22 + sanitizedLinkRef.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n }\n }\n newWin.opener \x3d null;\n var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22b/12014412, meta tag with sanitized URL\x22), \x27\\x3cmeta name\\x3d\x22referrer\x22 content\\x3d\x22no-referrer\x22\\x3e\x27 + \x27\\x3cmeta http-equiv\\x3d\x22refresh\x22 content\\x3d\x220; url\\x3d\x27 + goog.string.htmlEscape(sanitizedLinkRef) + \x27\x22\\x3e\x27);\n var newDoc \x3d newWin.document;\n if (newDoc \x26\x26 newDoc.write) {\n goog.dom.safe.documentWrite(newDoc, safeHtml);\n newDoc.close();\n }\n }\n } else {\n newWin \x3d goog.dom.safe.openInWindow(safeLinkRef, parentWin, target, optionString);\n if (newWin \x26\x26 opt_options[\x22noopener\x22]) {\n newWin.opener \x3d null;\n }\n }\n return newWin;\n};\ngoog.window.openBlank \x3d function(opt_message, opt_options, opt_parentWin) {\n var loadingMessage;\n if (!opt_message) {\n loadingMessage \x3d \x22\x22;\n } else {\n loadingMessage \x3d goog.string.escapeString(goog.string.htmlEscape(opt_message));\n }\n var url \x3d goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22b/12014412, encoded string in javascript: URL\x22), \x27javascript:\x22\x27 + encodeURI(loadingMessage) + \x27\x22\x27);\n return goog.window.open(url, opt_options, opt_parentWin);\n};\ngoog.window.popup \x3d function(linkRef, opt_options) {\n if (!opt_options) {\n opt_options \x3d {};\n }\n opt_options[\x22target\x22] \x3d opt_options[\x22target\x22] || linkRef[\x22target\x22] || goog.window.DEFAULT_POPUP_TARGET;\n opt_options[\x22width\x22] \x3d opt_options[\x22width\x22] || goog.window.DEFAULT_POPUP_WIDTH;\n opt_options[\x22height\x22] \x3d opt_options[\x22height\x22] || goog.window.DEFAULT_POPUP_HEIGHT;\n var newWin \x3d goog.window.open(linkRef, opt_options);\n if (!newWin) {\n return true;\n }\n newWin.focus();\n return false;\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.forms.js", true , "goog.provide(\x22goog.dom.forms\x22);\ngoog.require(\x22goog.dom.InputType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.window\x22);\ngoog.dom.forms.submitFormInNewWindow \x3d function(form, opt_submitElement) {\n var formData \x3d goog.dom.forms.getFormDataMap(form);\n var action \x3d form.action;\n var method \x3d form.method;\n if (opt_submitElement) {\n if (goog.dom.InputType.SUBMIT !\x3d opt_submitElement.type.toLowerCase()) {\n throw new Error(\x22opt_submitElement does not have a valid type.\x22);\n }\n var submitValue \x3d goog.dom.forms.getValue(opt_submitElement);\n if (submitValue !\x3d null) {\n goog.dom.forms.addFormDataToMap_(formData, opt_submitElement.name, submitValue);\n }\n if (opt_submitElement.getAttribute(\x22formaction\x22)) {\n action \x3d opt_submitElement.getAttribute(\x22formaction\x22);\n }\n if (opt_submitElement.getAttribute(\x22formmethod\x22)) {\n method \x3d opt_submitElement.getAttribute(\x22formmethod\x22);\n }\n }\n return goog.dom.forms.submitFormDataInNewWindow(action, method, formData);\n};\ngoog.dom.forms.submitFormDataInNewWindow \x3d function(actionUri, method, formData) {\n var newWin \x3d goog.window.openBlank(\x22\x22, {noreferrer:true});\n if (!newWin) {\n return false;\n }\n var newDocument \x3d newWin.document;\n var newForm \x3d newDocument.createElement(\x22form\x22);\n newForm.method \x3d method;\n goog.dom.safe.setFormElementAction(newForm, actionUri);\n formData.forEach(function(fieldValues, fieldName) {\n for (var i \x3d 0; i \x3c fieldValues.length; i++) {\n var fieldValue \x3d fieldValues[i];\n var newInput \x3d newDocument.createElement(\x22input\x22);\n newInput.name \x3d fieldName;\n newInput.value \x3d fieldValue;\n newInput.type \x3d \x22hidden\x22;\n HTMLFormElement.prototype.appendChild.call(newForm, newInput);\n }\n });\n HTMLFormElement.prototype.submit.call(newForm);\n return true;\n};\ngoog.dom.forms.getFormDataMap \x3d function(form) {\n var map \x3d new goog.structs.Map();\n goog.dom.forms.getFormDataHelper_(form, map, goog.dom.forms.addFormDataToMap_);\n return map;\n};\ngoog.dom.forms.getFormDataString \x3d function(form) {\n var sb \x3d [];\n goog.dom.forms.getFormDataHelper_(form, sb, goog.dom.forms.addFormDataToStringBuffer_);\n return sb.join(\x22\\x26\x22);\n};\ngoog.dom.forms.getFormDataHelper_ \x3d function(form, result, fnAppend) {\n var els \x3d form.elements;\n for (var el, i \x3d 0; el \x3d els.item(i); i++) {\n if (el.form !\x3d form || el.disabled || el.tagName \x3d\x3d goog.dom.TagName.FIELDSET) {\n continue;\n }\n var name \x3d el.name;\n switch(el.type.toLowerCase()) {\n case goog.dom.InputType.FILE:\n case goog.dom.InputType.SUBMIT:\n case goog.dom.InputType.RESET:\n case goog.dom.InputType.BUTTON:\n break;\n case goog.dom.InputType.SELECT_MULTIPLE:\n var values \x3d goog.dom.forms.getValue(el);\n if (values !\x3d null) {\n for (var value, j \x3d 0; value \x3d values[j]; j++) {\n fnAppend(result, name, value);\n }\n }\n break;\n default:\n var value \x3d goog.dom.forms.getValue(el);\n if (value !\x3d null) {\n fnAppend(result, name, value);\n }\n }\n }\n var inputs \x3d form.getElementsByTagName(String(goog.dom.TagName.INPUT));\n for (var input, i \x3d 0; input \x3d inputs[i]; i++) {\n if (input.form \x3d\x3d form \x26\x26 input.type.toLowerCase() \x3d\x3d goog.dom.InputType.IMAGE) {\n name \x3d input.name;\n fnAppend(result, name, input.value);\n fnAppend(result, name + \x22.x\x22, \x220\x22);\n fnAppend(result, name + \x22.y\x22, \x220\x22);\n }\n }\n};\ngoog.dom.forms.addFormDataToMap_ \x3d function(map, name, value) {\n var array \x3d map.get(name);\n if (!array) {\n array \x3d [];\n map.set(name, array);\n }\n array.push(value);\n};\ngoog.dom.forms.addFormDataToStringBuffer_ \x3d function(sb, name, value) {\n sb.push(encodeURIComponent(name) + \x22\\x3d\x22 + encodeURIComponent(value));\n};\ngoog.dom.forms.hasFileInput \x3d function(form) {\n var els \x3d form.elements;\n for (var el, i \x3d 0; el \x3d els[i]; i++) {\n if (!el.disabled \x26\x26 el.type \x26\x26 el.type.toLowerCase() \x3d\x3d goog.dom.InputType.FILE) {\n return true;\n }\n }\n return false;\n};\ngoog.dom.forms.setDisabled \x3d function(el, disabled) {\n if (el.tagName \x3d\x3d goog.dom.TagName.FORM) {\n var els \x3d el.elements;\n for (var i \x3d 0; el \x3d els.item(i); i++) {\n goog.dom.forms.setDisabled(el, disabled);\n }\n } else {\n if (disabled \x3d\x3d true) {\n el.blur();\n }\n el.disabled \x3d disabled;\n }\n};\ngoog.dom.forms.focusAndSelect \x3d function(el) {\n el.focus();\n if (el.select) {\n el.select();\n }\n};\ngoog.dom.forms.hasValue \x3d function(el) {\n var value \x3d goog.dom.forms.getValue(el);\n return !!value;\n};\ngoog.dom.forms.hasValueByName \x3d function(form, name) {\n var value \x3d goog.dom.forms.getValueByName(form, name);\n return !!value;\n};\ngoog.dom.forms.getValue \x3d function(input) {\n var type \x3d input.type;\n if (typeof type \x3d\x3d\x3d \x22string\x22) {\n var el \x3d input;\n switch(type.toLowerCase()) {\n case goog.dom.InputType.CHECKBOX:\n case goog.dom.InputType.RADIO:\n return goog.dom.forms.getInputChecked_(el);\n case goog.dom.InputType.SELECT_ONE:\n return goog.dom.forms.getSelectSingle_(el);\n case goog.dom.InputType.SELECT_MULTIPLE:\n return goog.dom.forms.getSelectMultiple_(el);\n default:\n }\n }\n return input.value !\x3d null ? input.value : null;\n};\ngoog.dom.forms.getValueByName \x3d function(form, name) {\n var els \x3d form.elements[name];\n if (!els) {\n return null;\n } else if (els.type) {\n return goog.dom.forms.getValue(els);\n } else {\n for (var i \x3d 0; i \x3c els.length; i++) {\n var val \x3d goog.dom.forms.getValue(els[i]);\n if (val) {\n return val;\n }\n }\n return null;\n }\n};\ngoog.dom.forms.getInputChecked_ \x3d function(el) {\n return el.checked ? el.value : null;\n};\ngoog.dom.forms.getSelectSingle_ \x3d function(el) {\n var selectedIndex \x3d el.selectedIndex;\n return selectedIndex \x3e\x3d 0 ? el.options[selectedIndex].value : null;\n};\ngoog.dom.forms.getSelectMultiple_ \x3d function(el) {\n var values \x3d [];\n for (var option, i \x3d 0; option \x3d el.options[i]; i++) {\n if (option.selected) {\n values.push(option.value);\n }\n }\n return values.length ? values : null;\n};\ngoog.dom.forms.setValue \x3d function(el, opt_value) {\n var type \x3d el.type;\n switch(typeof type \x3d\x3d\x3d \x22string\x22 \x26\x26 type.toLowerCase()) {\n case goog.dom.InputType.CHECKBOX:\n case goog.dom.InputType.RADIO:\n goog.dom.forms.setInputChecked_(el, opt_value);\n return;\n case goog.dom.InputType.SELECT_ONE:\n goog.dom.forms.setSelectSingle_(el, opt_value);\n return;\n case goog.dom.InputType.SELECT_MULTIPLE:\n goog.dom.forms.setSelectMultiple_(el, opt_value);\n return;\n default:\n el.value \x3d opt_value !\x3d null ? opt_value : \x22\x22;\n }\n};\ngoog.dom.forms.setInputChecked_ \x3d function(el, opt_value) {\n el.checked \x3d opt_value;\n};\ngoog.dom.forms.setSelectSingle_ \x3d function(el, opt_value) {\n el.selectedIndex \x3d -1;\n if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n for (var option, i \x3d 0; option \x3d el.options[i]; i++) {\n if (option.value \x3d\x3d opt_value) {\n option.selected \x3d true;\n break;\n }\n }\n }\n};\ngoog.dom.forms.setSelectMultiple_ \x3d function(el, opt_value) {\n if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n opt_value \x3d [opt_value];\n }\n for (var option, i \x3d 0; option \x3d el.options[i]; i++) {\n option.selected \x3d false;\n if (opt_value) {\n for (var value, j \x3d 0; value \x3d opt_value[j]; j++) {\n if (option.value \x3d\x3d value) {\n option.selected \x3d true;\n }\n }\n }\n }\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.classlist.js", true , "goog.provide(\x22goog.dom.classlist\x22);\ngoog.require(\x22goog.array\x22);\ngoog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST \x3d goog.define(\x22goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST\x22, false);\ngoog.dom.classlist.getClassName_ \x3d function(element) {\n return typeof element.className \x3d\x3d \x22string\x22 ? element.className : element.getAttribute \x26\x26 element.getAttribute(\x22class\x22) || \x22\x22;\n};\ngoog.dom.classlist.get \x3d function(element) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n return element.classList;\n }\n return goog.dom.classlist.getClassName_(element).match(/\\S+/g) || [];\n};\ngoog.dom.classlist.set \x3d function(element, className) {\n if (typeof element.className \x3d\x3d \x22string\x22) {\n element.className \x3d className;\n return;\n } else if (element.setAttribute) {\n element.setAttribute(\x22class\x22, className);\n }\n};\ngoog.dom.classlist.contains \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n return element.classList.contains(className);\n }\n return goog.array.contains(goog.dom.classlist.get(element), className);\n};\ngoog.dom.classlist.add \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n element.classList.add(className);\n return;\n }\n if (!goog.dom.classlist.contains(element, className)) {\n var oldClassName \x3d goog.dom.classlist.getClassName_(element);\n goog.dom.classlist.set(element, oldClassName + (oldClassName.length \x3e 0 ? \x22 \x22 + className : className));\n }\n};\ngoog.dom.classlist.addAll \x3d function(element, classesToAdd) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n Array.prototype.forEach.call(classesToAdd, function(className) {\n goog.dom.classlist.add(element, className);\n });\n return;\n }\n var classMap \x3d {};\n Array.prototype.forEach.call(goog.dom.classlist.get(element), function(className) {\n classMap[className] \x3d true;\n });\n Array.prototype.forEach.call(classesToAdd, function(className) {\n classMap[className] \x3d true;\n });\n var newClassName \x3d \x22\x22;\n for (var className in classMap) {\n newClassName +\x3d newClassName.length \x3e 0 ? \x22 \x22 + className : className;\n }\n goog.dom.classlist.set(element, newClassName);\n};\ngoog.dom.classlist.remove \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n element.classList.remove(className);\n return;\n }\n if (goog.dom.classlist.contains(element, className)) {\n goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(c) {\n return c !\x3d className;\n }).join(\x22 \x22));\n }\n};\ngoog.dom.classlist.removeAll \x3d function(element, classesToRemove) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n Array.prototype.forEach.call(classesToRemove, function(className) {\n goog.dom.classlist.remove(element, className);\n });\n return;\n }\n goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(className) {\n return !goog.array.contains(classesToRemove, className);\n }).join(\x22 \x22));\n};\ngoog.dom.classlist.enable \x3d function(element, className, enabled) {\n if (enabled) {\n goog.dom.classlist.add(element, className);\n } else {\n goog.dom.classlist.remove(element, className);\n }\n};\ngoog.dom.classlist.enableAll \x3d function(element, classesToEnable, enabled) {\n var f \x3d enabled ? goog.dom.classlist.addAll : goog.dom.classlist.removeAll;\n f(element, classesToEnable);\n};\ngoog.dom.classlist.swap \x3d function(element, fromClass, toClass) {\n if (goog.dom.classlist.contains(element, fromClass)) {\n goog.dom.classlist.remove(element, fromClass);\n goog.dom.classlist.add(element, toClass);\n return true;\n }\n return false;\n};\ngoog.dom.classlist.toggle \x3d function(element, className) {\n var add \x3d !goog.dom.classlist.contains(element, className);\n goog.dom.classlist.enable(element, className, add);\n return add;\n};\ngoog.dom.classlist.addRemove \x3d function(element, classToRemove, classToAdd) {\n goog.dom.classlist.remove(element, classToRemove);\n goog.dom.classlist.add(element, classToAdd);\n};\n"); +SHADOW_ENV.evalLoad("goog.dom.vendor.js", true , "goog.provide(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.vendor.getVendorJsPrefix \x3d function() {\n if (goog.userAgent.WEBKIT) {\n return \x22Webkit\x22;\n } else if (goog.userAgent.GECKO) {\n return \x22Moz\x22;\n } else if (goog.userAgent.IE) {\n return \x22ms\x22;\n }\n return null;\n};\ngoog.dom.vendor.getVendorPrefix \x3d function() {\n if (goog.userAgent.WEBKIT) {\n return \x22-webkit\x22;\n } else if (goog.userAgent.GECKO) {\n return \x22-moz\x22;\n } else if (goog.userAgent.IE) {\n return \x22-ms\x22;\n }\n return null;\n};\ngoog.dom.vendor.getPrefixedPropertyName \x3d function(propertyName, opt_object) {\n if (opt_object \x26\x26 propertyName in opt_object) {\n return propertyName;\n }\n var prefix \x3d goog.dom.vendor.getVendorJsPrefix();\n if (prefix) {\n prefix \x3d prefix.toLowerCase();\n var prefixedPropertyName \x3d prefix + goog.string.toTitleCase(propertyName);\n return opt_object \x3d\x3d\x3d undefined || prefixedPropertyName in opt_object ? prefixedPropertyName : null;\n }\n return null;\n};\ngoog.dom.vendor.getPrefixedEventType \x3d function(eventType) {\n var prefix \x3d goog.dom.vendor.getVendorJsPrefix() || \x22\x22;\n return (prefix + eventType).toLowerCase();\n};\n"); +SHADOW_ENV.evalLoad("goog.math.box.js", true , "goog.provide(\x22goog.math.Box\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.math.Box \x3d function(top, right, bottom, left) {\n this.top \x3d top;\n this.right \x3d right;\n this.bottom \x3d bottom;\n this.left \x3d left;\n};\ngoog.math.Box.boundingBox \x3d function(var_args) {\n var box \x3d new goog.math.Box(arguments[0].y, arguments[0].x, arguments[0].y, arguments[0].x);\n for (var i \x3d 1; i \x3c arguments.length; i++) {\n box.expandToIncludeCoordinate(arguments[i]);\n }\n return box;\n};\ngoog.math.Box.prototype.getWidth \x3d function() {\n return this.right - this.left;\n};\ngoog.math.Box.prototype.getHeight \x3d function() {\n return this.bottom - this.top;\n};\ngoog.math.Box.prototype.clone \x3d function() {\n return new goog.math.Box(this.top, this.right, this.bottom, this.left);\n};\nif (goog.DEBUG) {\n goog.math.Box.prototype.toString \x3d function() {\n return \x22(\x22 + this.top + \x22t, \x22 + this.right + \x22r, \x22 + this.bottom + \x22b, \x22 + this.left + \x22l)\x22;\n };\n}\ngoog.math.Box.prototype.contains \x3d function(other) {\n return goog.math.Box.contains(this, other);\n};\ngoog.math.Box.prototype.expand \x3d function(top, opt_right, opt_bottom, opt_left) {\n if (goog.isObject(top)) {\n this.top -\x3d top.top;\n this.right +\x3d top.right;\n this.bottom +\x3d top.bottom;\n this.left -\x3d top.left;\n } else {\n this.top -\x3d top;\n this.right +\x3d Number(opt_right);\n this.bottom +\x3d Number(opt_bottom);\n this.left -\x3d Number(opt_left);\n }\n return this;\n};\ngoog.math.Box.prototype.expandToInclude \x3d function(box) {\n this.left \x3d Math.min(this.left, box.left);\n this.top \x3d Math.min(this.top, box.top);\n this.right \x3d Math.max(this.right, box.right);\n this.bottom \x3d Math.max(this.bottom, box.bottom);\n};\ngoog.math.Box.prototype.expandToIncludeCoordinate \x3d function(coord) {\n this.top \x3d Math.min(this.top, coord.y);\n this.right \x3d Math.max(this.right, coord.x);\n this.bottom \x3d Math.max(this.bottom, coord.y);\n this.left \x3d Math.min(this.left, coord.x);\n};\ngoog.math.Box.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.top \x3d\x3d b.top \x26\x26 a.right \x3d\x3d b.right \x26\x26 a.bottom \x3d\x3d b.bottom \x26\x26 a.left \x3d\x3d b.left;\n};\ngoog.math.Box.contains \x3d function(box, other) {\n if (!box || !other) {\n return false;\n }\n if (other instanceof goog.math.Box) {\n return other.left \x3e\x3d box.left \x26\x26 other.right \x3c\x3d box.right \x26\x26 other.top \x3e\x3d box.top \x26\x26 other.bottom \x3c\x3d box.bottom;\n }\n return other.x \x3e\x3d box.left \x26\x26 other.x \x3c\x3d box.right \x26\x26 other.y \x3e\x3d box.top \x26\x26 other.y \x3c\x3d box.bottom;\n};\ngoog.math.Box.relativePositionX \x3d function(box, coord) {\n if (coord.x \x3c box.left) {\n return coord.x - box.left;\n } else if (coord.x \x3e box.right) {\n return coord.x - box.right;\n }\n return 0;\n};\ngoog.math.Box.relativePositionY \x3d function(box, coord) {\n if (coord.y \x3c box.top) {\n return coord.y - box.top;\n } else if (coord.y \x3e box.bottom) {\n return coord.y - box.bottom;\n }\n return 0;\n};\ngoog.math.Box.distance \x3d function(box, coord) {\n var x \x3d goog.math.Box.relativePositionX(box, coord);\n var y \x3d goog.math.Box.relativePositionY(box, coord);\n return Math.sqrt(x * x + y * y);\n};\ngoog.math.Box.intersects \x3d function(a, b) {\n return a.left \x3c\x3d b.right \x26\x26 b.left \x3c\x3d a.right \x26\x26 a.top \x3c\x3d b.bottom \x26\x26 b.top \x3c\x3d a.bottom;\n};\ngoog.math.Box.intersectsWithPadding \x3d function(a, b, padding) {\n return a.left \x3c\x3d b.right + padding \x26\x26 b.left \x3c\x3d a.right + padding \x26\x26 a.top \x3c\x3d b.bottom + padding \x26\x26 b.top \x3c\x3d a.bottom + padding;\n};\ngoog.math.Box.prototype.ceil \x3d function() {\n this.top \x3d Math.ceil(this.top);\n this.right \x3d Math.ceil(this.right);\n this.bottom \x3d Math.ceil(this.bottom);\n this.left \x3d Math.ceil(this.left);\n return this;\n};\ngoog.math.Box.prototype.floor \x3d function() {\n this.top \x3d Math.floor(this.top);\n this.right \x3d Math.floor(this.right);\n this.bottom \x3d Math.floor(this.bottom);\n this.left \x3d Math.floor(this.left);\n return this;\n};\ngoog.math.Box.prototype.round \x3d function() {\n this.top \x3d Math.round(this.top);\n this.right \x3d Math.round(this.right);\n this.bottom \x3d Math.round(this.bottom);\n this.left \x3d Math.round(this.left);\n return this;\n};\ngoog.math.Box.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.left +\x3d tx.x;\n this.right +\x3d tx.x;\n this.top +\x3d tx.y;\n this.bottom +\x3d tx.y;\n } else {\n goog.asserts.assertNumber(tx);\n this.left +\x3d tx;\n this.right +\x3d tx;\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.top +\x3d opt_ty;\n this.bottom +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Box.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.left *\x3d sx;\n this.right *\x3d sx;\n this.top *\x3d sy;\n this.bottom *\x3d sy;\n return this;\n};\n"); +SHADOW_ENV.evalLoad("goog.math.irect.js", true , "goog.provide(\x22goog.math.IRect\x22);\ngoog.math.IRect \x3d function() {\n};\ngoog.math.IRect.prototype.left;\ngoog.math.IRect.prototype.top;\ngoog.math.IRect.prototype.width;\ngoog.math.IRect.prototype.height;\n"); +SHADOW_ENV.evalLoad("goog.math.rect.js", true , "goog.provide(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.IRect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.math.Rect \x3d function(x, y, w, h) {\n this.left \x3d x;\n this.top \x3d y;\n this.width \x3d w;\n this.height \x3d h;\n};\ngoog.math.Rect.prototype.clone \x3d function() {\n return new goog.math.Rect(this.left, this.top, this.width, this.height);\n};\ngoog.math.Rect.prototype.toBox \x3d function() {\n var right \x3d this.left + this.width;\n var bottom \x3d this.top + this.height;\n return new goog.math.Box(this.top, right, bottom, this.left);\n};\ngoog.math.Rect.createFromPositionAndSize \x3d function(position, size) {\n return new goog.math.Rect(position.x, position.y, size.width, size.height);\n};\ngoog.math.Rect.createFromBox \x3d function(box) {\n return new goog.math.Rect(box.left, box.top, box.right - box.left, box.bottom - box.top);\n};\nif (goog.DEBUG) {\n goog.math.Rect.prototype.toString \x3d function() {\n return \x22(\x22 + this.left + \x22, \x22 + this.top + \x22 - \x22 + this.width + \x22w x \x22 + this.height + \x22h)\x22;\n };\n}\ngoog.math.Rect.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.left \x3d\x3d b.left \x26\x26 a.width \x3d\x3d b.width \x26\x26 a.top \x3d\x3d b.top \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Rect.prototype.intersection \x3d function(rect) {\n var x0 \x3d Math.max(this.left, rect.left);\n var x1 \x3d Math.min(this.left + this.width, rect.left + rect.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(this.top, rect.top);\n var y1 \x3d Math.min(this.top + this.height, rect.top + rect.height);\n if (y0 \x3c\x3d y1) {\n this.left \x3d x0;\n this.top \x3d y0;\n this.width \x3d x1 - x0;\n this.height \x3d y1 - y0;\n return true;\n }\n }\n return false;\n};\ngoog.math.Rect.intersection \x3d function(a, b) {\n var x0 \x3d Math.max(a.left, b.left);\n var x1 \x3d Math.min(a.left + a.width, b.left + b.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(a.top, b.top);\n var y1 \x3d Math.min(a.top + a.height, b.top + b.height);\n if (y0 \x3c\x3d y1) {\n return new goog.math.Rect(x0, y0, x1 - x0, y1 - y0);\n }\n }\n return null;\n};\ngoog.math.Rect.intersects \x3d function(a, b) {\n return a.left \x3c\x3d b.left + b.width \x26\x26 b.left \x3c\x3d a.left + a.width \x26\x26 a.top \x3c\x3d b.top + b.height \x26\x26 b.top \x3c\x3d a.top + a.height;\n};\ngoog.math.Rect.prototype.intersects \x3d function(rect) {\n return goog.math.Rect.intersects(this, rect);\n};\ngoog.math.Rect.difference \x3d function(a, b) {\n var intersection \x3d goog.math.Rect.intersection(a, b);\n if (!intersection || !intersection.height || !intersection.width) {\n return [a.clone()];\n }\n var result \x3d [];\n var top \x3d a.top;\n var height \x3d a.height;\n var ar \x3d a.left + a.width;\n var ab \x3d a.top + a.height;\n var br \x3d b.left + b.width;\n var bb \x3d b.top + b.height;\n if (b.top \x3e a.top) {\n result.push(new goog.math.Rect(a.left, a.top, a.width, b.top - a.top));\n top \x3d b.top;\n height -\x3d b.top - a.top;\n }\n if (bb \x3c ab) {\n result.push(new goog.math.Rect(a.left, bb, a.width, ab - bb));\n height \x3d bb - top;\n }\n if (b.left \x3e a.left) {\n result.push(new goog.math.Rect(a.left, top, b.left - a.left, height));\n }\n if (br \x3c ar) {\n result.push(new goog.math.Rect(br, top, ar - br, height));\n }\n return result;\n};\ngoog.math.Rect.prototype.difference \x3d function(rect) {\n return goog.math.Rect.difference(this, rect);\n};\ngoog.math.Rect.prototype.boundingRect \x3d function(rect) {\n var right \x3d Math.max(this.left + this.width, rect.left + rect.width);\n var bottom \x3d Math.max(this.top + this.height, rect.top + rect.height);\n this.left \x3d Math.min(this.left, rect.left);\n this.top \x3d Math.min(this.top, rect.top);\n this.width \x3d right - this.left;\n this.height \x3d bottom - this.top;\n};\ngoog.math.Rect.boundingRect \x3d function(a, b) {\n if (!a || !b) {\n return null;\n }\n var newRect \x3d new goog.math.Rect(a.left, a.top, a.width, a.height);\n newRect.boundingRect(b);\n return newRect;\n};\ngoog.math.Rect.prototype.contains \x3d function(another) {\n if (another instanceof goog.math.Coordinate) {\n return another.x \x3e\x3d this.left \x26\x26 another.x \x3c\x3d this.left + this.width \x26\x26 another.y \x3e\x3d this.top \x26\x26 another.y \x3c\x3d this.top + this.height;\n } else {\n return this.left \x3c\x3d another.left \x26\x26 this.left + this.width \x3e\x3d another.left + another.width \x26\x26 this.top \x3c\x3d another.top \x26\x26 this.top + this.height \x3e\x3d another.top + another.height;\n }\n};\ngoog.math.Rect.prototype.squaredDistance \x3d function(point) {\n var dx \x3d point.x \x3c this.left ? this.left - point.x : Math.max(point.x - (this.left + this.width), 0);\n var dy \x3d point.y \x3c this.top ? this.top - point.y : Math.max(point.y - (this.top + this.height), 0);\n return dx * dx + dy * dy;\n};\ngoog.math.Rect.prototype.distance \x3d function(point) {\n return Math.sqrt(this.squaredDistance(point));\n};\ngoog.math.Rect.prototype.getSize \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\ngoog.math.Rect.prototype.getTopLeft \x3d function() {\n return new goog.math.Coordinate(this.left, this.top);\n};\ngoog.math.Rect.prototype.getCenter \x3d function() {\n return new goog.math.Coordinate(this.left + this.width / 2, this.top + this.height / 2);\n};\ngoog.math.Rect.prototype.getBottomRight \x3d function() {\n return new goog.math.Coordinate(this.left + this.width, this.top + this.height);\n};\ngoog.math.Rect.prototype.ceil \x3d function() {\n this.left \x3d Math.ceil(this.left);\n this.top \x3d Math.ceil(this.top);\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Rect.prototype.floor \x3d function() {\n this.left \x3d Math.floor(this.left);\n this.top \x3d Math.floor(this.top);\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Rect.prototype.round \x3d function() {\n this.left \x3d Math.round(this.left);\n this.top \x3d Math.round(this.top);\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Rect.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.left +\x3d tx.x;\n this.top +\x3d tx.y;\n } else {\n this.left +\x3d goog.asserts.assertNumber(tx);\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.top +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Rect.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.left *\x3d sx;\n this.width *\x3d sx;\n this.top *\x3d sy;\n this.height *\x3d sy;\n return this;\n};\n"); +SHADOW_ENV.evalLoad("goog.disposable.idisposable.js", true , "goog.provide(\x22goog.disposable.IDisposable\x22);\ngoog.disposable.IDisposable \x3d function() {\n};\ngoog.disposable.IDisposable.prototype.dispose \x3d goog.abstractMethod;\ngoog.disposable.IDisposable.prototype.isDisposed \x3d goog.abstractMethod;\n"); +SHADOW_ENV.evalLoad("goog.disposable.dispose.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.dispose\x22);\n goog.module.declareLegacyNamespace();\n function dispose(obj) {\n if (obj \x26\x26 typeof obj.dispose \x3d\x3d \x22function\x22) {\n obj.dispose();\n }\n }\n exports \x3d dispose;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.disposable.disposeall.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.disposeAll\x22);\n goog.module.declareLegacyNamespace();\n const dispose \x3d goog.require(\x22goog.dispose\x22);\n function disposeAll(var_args) {\n for (let i \x3d 0, len \x3d arguments.length; i \x3c len; ++i) {\n const disposable \x3d arguments[i];\n if (goog.isArrayLike(disposable)) {\n disposeAll.apply(null, disposable);\n } else {\n dispose(disposable);\n }\n }\n }\n exports \x3d disposeAll;\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.disposable.disposable.js", true , "goog.provide(\x22goog.Disposable\x22);\ngoog.require(\x22goog.disposable.IDisposable\x22);\ngoog.require(\x22goog.dispose\x22);\ngoog.require(\x22goog.disposeAll\x22);\ngoog.Disposable \x3d function() {\n this.creationStack;\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n if (goog.Disposable.INCLUDE_STACK_ON_CREATION) {\n this.creationStack \x3d (new Error()).stack;\n }\n goog.Disposable.instances_[goog.getUid(this)] \x3d this;\n }\n this.disposed_ \x3d this.disposed_;\n this.onDisposeCallbacks_ \x3d this.onDisposeCallbacks_;\n};\ngoog.Disposable.MonitoringMode \x3d {OFF:0, PERMANENT:1, INTERACTIVE:2};\ngoog.Disposable.MONITORING_MODE \x3d goog.define(\x22goog.Disposable.MONITORING_MODE\x22, 0);\ngoog.Disposable.INCLUDE_STACK_ON_CREATION \x3d goog.define(\x22goog.Disposable.INCLUDE_STACK_ON_CREATION\x22, true);\ngoog.Disposable.instances_ \x3d {};\ngoog.Disposable.getUndisposedObjects \x3d function() {\n var ret \x3d [];\n for (var id in goog.Disposable.instances_) {\n if (goog.Disposable.instances_.hasOwnProperty(id)) {\n ret.push(goog.Disposable.instances_[Number(id)]);\n }\n }\n return ret;\n};\ngoog.Disposable.clearUndisposedObjects \x3d function() {\n goog.Disposable.instances_ \x3d {};\n};\ngoog.Disposable.prototype.disposed_ \x3d false;\ngoog.Disposable.prototype.onDisposeCallbacks_;\ngoog.Disposable.prototype.isDisposed \x3d function() {\n return this.disposed_;\n};\ngoog.Disposable.prototype.getDisposed \x3d goog.Disposable.prototype.isDisposed;\ngoog.Disposable.prototype.dispose \x3d function() {\n if (!this.disposed_) {\n this.disposed_ \x3d true;\n this.disposeInternal();\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n var uid \x3d goog.getUid(this);\n if (goog.Disposable.MONITORING_MODE \x3d\x3d goog.Disposable.MonitoringMode.PERMANENT \x26\x26 !goog.Disposable.instances_.hasOwnProperty(uid)) {\n throw new Error(this + \x22 did not call the goog.Disposable base \x22 + \x22constructor or was disposed of after a clearUndisposedObjects \x22 + \x22call\x22);\n }\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF \x26\x26 this.onDisposeCallbacks_ \x26\x26 this.onDisposeCallbacks_.length \x3e 0) {\n throw new Error(this + \x22 did not empty its onDisposeCallbacks queue. This \x22 + \x22probably means it overrode dispose() or disposeInternal() \x22 + \x22without calling the superclass\x27 method.\x22);\n }\n delete goog.Disposable.instances_[uid];\n }\n }\n};\ngoog.Disposable.prototype.registerDisposable \x3d function(disposable) {\n this.addOnDisposeCallback(goog.partial(goog.dispose, disposable));\n};\ngoog.Disposable.prototype.addOnDisposeCallback \x3d function(callback, opt_scope) {\n if (this.disposed_) {\n opt_scope !\x3d\x3d undefined ? callback.call(opt_scope) : callback();\n return;\n }\n if (!this.onDisposeCallbacks_) {\n this.onDisposeCallbacks_ \x3d [];\n }\n this.onDisposeCallbacks_.push(opt_scope !\x3d\x3d undefined ? goog.bind(callback, opt_scope) : callback);\n};\ngoog.Disposable.prototype.disposeInternal \x3d function() {\n if (this.onDisposeCallbacks_) {\n while (this.onDisposeCallbacks_.length) {\n this.onDisposeCallbacks_.shift()();\n }\n }\n};\ngoog.Disposable.isDisposed \x3d function(obj) {\n if (obj \x26\x26 typeof obj.isDisposed \x3d\x3d \x22function\x22) {\n return obj.isDisposed();\n }\n return false;\n};\n"); +SHADOW_ENV.evalLoad("goog.events.eventid.js", true , "goog.provide(\x22goog.events.EventId\x22);\ngoog.events.EventId \x3d function(eventId) {\n this.id \x3d eventId;\n};\ngoog.events.EventId.prototype.toString \x3d function() {\n return this.id;\n};\n"); +SHADOW_ENV.evalLoad("goog.events.event.js", true , "goog.provide(\x22goog.events.Event\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.events.EventId\x22);\ngoog.events.Event \x3d function(type, opt_target) {\n this.type \x3d type instanceof goog.events.EventId ? String(type) : type;\n this.target \x3d opt_target;\n this.currentTarget \x3d this.target;\n this.propagationStopped_ \x3d false;\n this.defaultPrevented \x3d false;\n};\ngoog.events.Event.prototype.hasPropagationStopped \x3d function() {\n return this.propagationStopped_;\n};\ngoog.events.Event.prototype.stopPropagation \x3d function() {\n this.propagationStopped_ \x3d true;\n};\ngoog.events.Event.prototype.preventDefault \x3d function() {\n this.defaultPrevented \x3d true;\n};\ngoog.events.Event.stopPropagation \x3d function(e) {\n e.stopPropagation();\n};\ngoog.events.Event.preventDefault \x3d function(e) {\n e.preventDefault();\n};\n"); +SHADOW_ENV.evalLoad("goog.style.style.js", true , "goog.provide(\x22goog.style\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.style.setStyle \x3d function(element, style, opt_value) {\n if (typeof style \x3d\x3d\x3d \x22string\x22) {\n goog.style.setStyle_(element, opt_value, style);\n } else {\n for (var key in style) {\n goog.style.setStyle_(element, style[key], key);\n }\n }\n};\ngoog.style.setStyle_ \x3d function(element, value, style) {\n var propertyName \x3d goog.style.getVendorJsStyleName_(element, style);\n if (propertyName) {\n element.style[propertyName] \x3d value;\n }\n};\ngoog.style.styleNameCache_ \x3d {};\ngoog.style.getVendorJsStyleName_ \x3d function(element, style) {\n var propertyName \x3d goog.style.styleNameCache_[style];\n if (!propertyName) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n propertyName \x3d camelStyle;\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n propertyName \x3d prefixedStyle;\n }\n }\n goog.style.styleNameCache_[style] \x3d propertyName;\n }\n return propertyName;\n};\ngoog.style.getVendorStyleName_ \x3d function(element, style) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n return goog.dom.vendor.getVendorPrefix() + \x22-\x22 + style;\n }\n }\n return style;\n};\ngoog.style.getStyle \x3d function(element, property) {\n var styleValue \x3d element.style[goog.string.toCamelCase(property)];\n if (typeof styleValue !\x3d\x3d \x22undefined\x22) {\n return styleValue;\n }\n return element.style[goog.style.getVendorJsStyleName_(element, property)] || \x22\x22;\n};\ngoog.style.getComputedStyle \x3d function(element, property) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n if (doc.defaultView \x26\x26 doc.defaultView.getComputedStyle) {\n var styles \x3d doc.defaultView.getComputedStyle(element, null);\n if (styles) {\n return styles[property] || styles.getPropertyValue(property) || \x22\x22;\n }\n }\n return \x22\x22;\n};\ngoog.style.getCascadedStyle \x3d function(element, style) {\n return element.currentStyle ? element.currentStyle[style] : null;\n};\ngoog.style.getStyle_ \x3d function(element, style) {\n return goog.style.getComputedStyle(element, style) || goog.style.getCascadedStyle(element, style) || element.style \x26\x26 element.style[style];\n};\ngoog.style.getComputedBoxSizing \x3d function(element) {\n return goog.style.getStyle_(element, \x22boxSizing\x22) || goog.style.getStyle_(element, \x22MozBoxSizing\x22) || goog.style.getStyle_(element, \x22WebkitBoxSizing\x22) || null;\n};\ngoog.style.getComputedPosition \x3d function(element) {\n return goog.style.getStyle_(element, \x22position\x22);\n};\ngoog.style.getBackgroundColor \x3d function(element) {\n return goog.style.getStyle_(element, \x22backgroundColor\x22);\n};\ngoog.style.getComputedOverflowX \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowX\x22);\n};\ngoog.style.getComputedOverflowY \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowY\x22);\n};\ngoog.style.getComputedZIndex \x3d function(element) {\n return goog.style.getStyle_(element, \x22zIndex\x22);\n};\ngoog.style.getComputedTextAlign \x3d function(element) {\n return goog.style.getStyle_(element, \x22textAlign\x22);\n};\ngoog.style.getComputedCursor \x3d function(element) {\n return goog.style.getStyle_(element, \x22cursor\x22);\n};\ngoog.style.getComputedTransform \x3d function(element) {\n var property \x3d goog.style.getVendorStyleName_(element, \x22transform\x22);\n return goog.style.getStyle_(element, property) || goog.style.getStyle_(element, \x22transform\x22);\n};\ngoog.style.setPosition \x3d function(el, arg1, opt_arg2) {\n var x, y;\n if (arg1 instanceof goog.math.Coordinate) {\n x \x3d arg1.x;\n y \x3d arg1.y;\n } else {\n x \x3d arg1;\n y \x3d opt_arg2;\n }\n el.style.left \x3d goog.style.getPixelStyleValue_(x, false);\n el.style.top \x3d goog.style.getPixelStyleValue_(y, false);\n};\ngoog.style.getPosition \x3d function(element) {\n return new goog.math.Coordinate(element.offsetLeft, element.offsetTop);\n};\ngoog.style.getClientViewportElement \x3d function(opt_node) {\n var doc;\n if (opt_node) {\n doc \x3d goog.dom.getOwnerDocument(opt_node);\n } else {\n doc \x3d goog.dom.getDocument();\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !goog.dom.getDomHelper(doc).isCss1CompatMode()) {\n return doc.body;\n }\n return doc.documentElement;\n};\ngoog.style.getViewportPageOffset \x3d function(doc) {\n var body \x3d doc.body;\n var documentElement \x3d doc.documentElement;\n var scrollLeft \x3d body.scrollLeft || documentElement.scrollLeft;\n var scrollTop \x3d body.scrollTop || documentElement.scrollTop;\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.getBoundingClientRect_ \x3d function(el) {\n try {\n return el.getBoundingClientRect();\n } catch (e) {\n return {\x22left\x22:0, \x22top\x22:0, \x22right\x22:0, \x22bottom\x22:0};\n }\n};\ngoog.style.getOffsetParent \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(8)) {\n goog.asserts.assert(element \x26\x26 \x22offsetParent\x22 in element);\n return element.offsetParent;\n }\n var doc \x3d goog.dom.getOwnerDocument(element);\n var positionStyle \x3d goog.style.getStyle_(element, \x22position\x22);\n var skipStatic \x3d positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22;\n for (var parent \x3d element.parentNode; parent \x26\x26 parent !\x3d doc; parent \x3d parent.parentNode) {\n if (parent.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT \x26\x26 parent.host) {\n parent \x3d parent.host;\n }\n positionStyle \x3d goog.style.getStyle_(parent, \x22position\x22);\n skipStatic \x3d skipStatic \x26\x26 positionStyle \x3d\x3d \x22static\x22 \x26\x26 parent !\x3d doc.documentElement \x26\x26 parent !\x3d doc.body;\n if (!skipStatic \x26\x26 (parent.scrollWidth \x3e parent.clientWidth || parent.scrollHeight \x3e parent.clientHeight || positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22 || positionStyle \x3d\x3d \x22relative\x22)) {\n return parent;\n }\n }\n return null;\n};\ngoog.style.getVisibleRectForElement \x3d function(element) {\n var visibleRect \x3d new goog.math.Box(0, Infinity, Infinity, 0);\n var dom \x3d goog.dom.getDomHelper(element);\n var body \x3d dom.getDocument().body;\n var documentElement \x3d dom.getDocument().documentElement;\n var scrollEl \x3d dom.getDocumentScrollElement();\n for (var el \x3d element; el \x3d goog.style.getOffsetParent(el);) {\n if ((!goog.userAgent.IE || el.clientWidth !\x3d 0) \x26\x26 (!goog.userAgent.WEBKIT || el.clientHeight !\x3d 0 || el !\x3d body) \x26\x26 (el !\x3d body \x26\x26 el !\x3d documentElement \x26\x26 goog.style.getStyle_(el, \x22overflow\x22) !\x3d \x22visible\x22)) {\n var pos \x3d goog.style.getPageOffset(el);\n var client \x3d goog.style.getClientLeftTop(el);\n pos.x +\x3d client.x;\n pos.y +\x3d client.y;\n visibleRect.top \x3d Math.max(visibleRect.top, pos.y);\n visibleRect.right \x3d Math.min(visibleRect.right, pos.x + el.clientWidth);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, pos.y + el.clientHeight);\n visibleRect.left \x3d Math.max(visibleRect.left, pos.x);\n }\n }\n var scrollX \x3d scrollEl.scrollLeft, scrollY \x3d scrollEl.scrollTop;\n visibleRect.left \x3d Math.max(visibleRect.left, scrollX);\n visibleRect.top \x3d Math.max(visibleRect.top, scrollY);\n var winSize \x3d dom.getViewportSize();\n visibleRect.right \x3d Math.min(visibleRect.right, scrollX + winSize.width);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, scrollY + winSize.height);\n return visibleRect.top \x3e\x3d 0 \x26\x26 visibleRect.left \x3e\x3d 0 \x26\x26 visibleRect.bottom \x3e visibleRect.top \x26\x26 visibleRect.right \x3e visibleRect.left ? visibleRect : null;\n};\ngoog.style.getContainerOffsetToScrollInto \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var elementPos \x3d goog.style.getPageOffset(element);\n var containerPos \x3d goog.style.getPageOffset(container);\n var containerBorder \x3d goog.style.getBorderBox(container);\n if (container \x3d\x3d goog.dom.getDocumentScrollElement()) {\n var relX \x3d elementPos.x - container.scrollLeft;\n var relY \x3d elementPos.y - container.scrollTop;\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(10)) {\n relX +\x3d containerBorder.left;\n relY +\x3d containerBorder.top;\n }\n } else {\n var relX \x3d elementPos.x - containerPos.x - containerBorder.left;\n var relY \x3d elementPos.y - containerPos.y - containerBorder.top;\n }\n var elementSize \x3d goog.style.getSizeWithDisplay_(element);\n var spaceX \x3d container.clientWidth - elementSize.width;\n var spaceY \x3d container.clientHeight - elementSize.height;\n var scrollLeft \x3d container.scrollLeft;\n var scrollTop \x3d container.scrollTop;\n if (opt_center) {\n scrollLeft +\x3d relX - spaceX / 2;\n scrollTop +\x3d relY - spaceY / 2;\n } else {\n scrollLeft +\x3d Math.min(relX, Math.max(relX - spaceX, 0));\n scrollTop +\x3d Math.min(relY, Math.max(relY - spaceY, 0));\n }\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.scrollIntoContainerView \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var offset \x3d goog.style.getContainerOffsetToScrollInto(element, container, opt_center);\n container.scrollLeft \x3d offset.x;\n container.scrollTop \x3d offset.y;\n};\ngoog.style.getClientLeftTop \x3d function(el) {\n return new goog.math.Coordinate(el.clientLeft, el.clientTop);\n};\ngoog.style.getPageOffset \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n goog.asserts.assertObject(el, \x22Parameter is required\x22);\n var pos \x3d new goog.math.Coordinate(0, 0);\n var viewportElement \x3d goog.style.getClientViewportElement(doc);\n if (el \x3d\x3d viewportElement) {\n return pos;\n }\n var box \x3d goog.style.getBoundingClientRect_(el);\n var scrollCoord \x3d goog.dom.getDomHelper(doc).getDocumentScroll();\n pos.x \x3d box.left + scrollCoord.x;\n pos.y \x3d box.top + scrollCoord.y;\n return pos;\n};\ngoog.style.getPageOffsetLeft \x3d function(el) {\n return goog.style.getPageOffset(el).x;\n};\ngoog.style.getPageOffsetTop \x3d function(el) {\n return goog.style.getPageOffset(el).y;\n};\ngoog.style.getFramedPageOffset \x3d function(el, relativeWin) {\n var position \x3d new goog.math.Coordinate(0, 0);\n var currentWin \x3d goog.dom.getWindow(goog.dom.getOwnerDocument(el));\n if (!goog.reflect.canAccessProperty(currentWin, \x22parent\x22)) {\n return position;\n }\n var currentEl \x3d el;\n do {\n var offset \x3d currentWin \x3d\x3d relativeWin ? goog.style.getPageOffset(currentEl) : goog.style.getClientPositionForElement_(goog.asserts.assert(currentEl));\n position.x +\x3d offset.x;\n position.y +\x3d offset.y;\n } while (currentWin \x26\x26 currentWin !\x3d relativeWin \x26\x26 currentWin !\x3d currentWin.parent \x26\x26 (currentEl \x3d currentWin.frameElement) \x26\x26 (currentWin \x3d currentWin.parent));\n return position;\n};\ngoog.style.translateRectForAnotherFrame \x3d function(rect, origBase, newBase) {\n if (origBase.getDocument() !\x3d newBase.getDocument()) {\n var body \x3d origBase.getDocument().body;\n var pos \x3d goog.style.getFramedPageOffset(body, newBase.getWindow());\n pos \x3d goog.math.Coordinate.difference(pos, goog.style.getPageOffset(body));\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !origBase.isCss1CompatMode()) {\n pos \x3d goog.math.Coordinate.difference(pos, origBase.getDocumentScroll());\n }\n rect.left +\x3d pos.x;\n rect.top +\x3d pos.y;\n }\n};\ngoog.style.getRelativePosition \x3d function(a, b) {\n var ap \x3d goog.style.getClientPosition(a);\n var bp \x3d goog.style.getClientPosition(b);\n return new goog.math.Coordinate(ap.x - bp.x, ap.y - bp.y);\n};\ngoog.style.getClientPositionForElement_ \x3d function(el) {\n var box \x3d goog.style.getBoundingClientRect_(el);\n return new goog.math.Coordinate(box.left, box.top);\n};\ngoog.style.getClientPosition \x3d function(el) {\n goog.asserts.assert(el);\n if (el.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return goog.style.getClientPositionForElement_(el);\n } else {\n var targetEvent \x3d el.changedTouches ? el.changedTouches[0] : el;\n return new goog.math.Coordinate(targetEvent.clientX, targetEvent.clientY);\n }\n};\ngoog.style.setPageOffset \x3d function(el, x, opt_y) {\n var cur \x3d goog.style.getPageOffset(el);\n if (x instanceof goog.math.Coordinate) {\n opt_y \x3d x.y;\n x \x3d x.x;\n }\n var dx \x3d goog.asserts.assertNumber(x) - cur.x;\n var dy \x3d Number(opt_y) - cur.y;\n goog.style.setPosition(el, el.offsetLeft + dx, el.offsetTop + dy);\n};\ngoog.style.setSize \x3d function(element, w, opt_h) {\n var h;\n if (w instanceof goog.math.Size) {\n h \x3d w.height;\n w \x3d w.width;\n } else {\n if (opt_h \x3d\x3d undefined) {\n throw new Error(\x22missing height argument\x22);\n }\n h \x3d opt_h;\n }\n goog.style.setWidth(element, w);\n goog.style.setHeight(element, h);\n};\ngoog.style.getPixelStyleValue_ \x3d function(value, round) {\n if (typeof value \x3d\x3d \x22number\x22) {\n value \x3d (round ? Math.round(value) : value) + \x22px\x22;\n }\n return value;\n};\ngoog.style.setHeight \x3d function(element, height) {\n element.style.height \x3d goog.style.getPixelStyleValue_(height, true);\n};\ngoog.style.setWidth \x3d function(element, width) {\n element.style.width \x3d goog.style.getPixelStyleValue_(width, true);\n};\ngoog.style.getSize \x3d function(element) {\n return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_, element);\n};\ngoog.style.evaluateWithTemporaryDisplay_ \x3d function(fn, element) {\n if (goog.style.getStyle_(element, \x22display\x22) !\x3d \x22none\x22) {\n return fn(element);\n }\n var style \x3d element.style;\n var originalDisplay \x3d style.display;\n var originalVisibility \x3d style.visibility;\n var originalPosition \x3d style.position;\n style.visibility \x3d \x22hidden\x22;\n style.position \x3d \x22absolute\x22;\n style.display \x3d \x22inline\x22;\n var retVal \x3d fn(element);\n style.display \x3d originalDisplay;\n style.position \x3d originalPosition;\n style.visibility \x3d originalVisibility;\n return retVal;\n};\ngoog.style.getSizeWithDisplay_ \x3d function(element) {\n var offsetWidth \x3d element.offsetWidth;\n var offsetHeight \x3d element.offsetHeight;\n var webkitOffsetsZero \x3d goog.userAgent.WEBKIT \x26\x26 !offsetWidth \x26\x26 !offsetHeight;\n if ((offsetWidth \x3d\x3d\x3d undefined || webkitOffsetsZero) \x26\x26 element.getBoundingClientRect) {\n var clientRect \x3d goog.style.getBoundingClientRect_(element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n }\n return new goog.math.Size(offsetWidth, offsetHeight);\n};\ngoog.style.getTransformedSize \x3d function(element) {\n if (!element.getBoundingClientRect) {\n return null;\n }\n var clientRect \x3d goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_, element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n};\ngoog.style.getBounds \x3d function(element) {\n var o \x3d goog.style.getPageOffset(element);\n var s \x3d goog.style.getSize(element);\n return new goog.math.Rect(o.x, o.y, s.width, s.height);\n};\ngoog.style.toCamelCase \x3d function(selector) {\n return goog.string.toCamelCase(String(selector));\n};\ngoog.style.toSelectorCase \x3d function(selector) {\n return goog.string.toSelectorCase(selector);\n};\ngoog.style.getOpacity \x3d function(el) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n var result \x3d \x22\x22;\n if (\x22opacity\x22 in style) {\n result \x3d style.opacity;\n } else if (\x22MozOpacity\x22 in style) {\n result \x3d style.MozOpacity;\n } else if (\x22filter\x22 in style) {\n var match \x3d style.filter.match(/alpha\\(opacity\x3d([\\d.]+)\\)/);\n if (match) {\n result \x3d String(match[1] / 100);\n }\n }\n return result \x3d\x3d \x22\x22 ? result : Number(result);\n};\ngoog.style.setOpacity \x3d function(el, alpha) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n if (\x22opacity\x22 in style) {\n style.opacity \x3d alpha;\n } else if (\x22MozOpacity\x22 in style) {\n style.MozOpacity \x3d alpha;\n } else if (\x22filter\x22 in style) {\n if (alpha \x3d\x3d\x3d \x22\x22) {\n style.filter \x3d \x22\x22;\n } else {\n style.filter \x3d \x22alpha(opacity\\x3d\x22 + Number(alpha) * 100 + \x22)\x22;\n }\n }\n};\ngoog.style.setTransparentBackgroundImage \x3d function(el, src) {\n var style \x3d el.style;\n style.backgroundImage \x3d \x22url(\x22 + src + \x22)\x22;\n style.backgroundPosition \x3d \x22top left\x22;\n style.backgroundRepeat \x3d \x22no-repeat\x22;\n};\ngoog.style.clearTransparentBackgroundImage \x3d function(el) {\n var style \x3d el.style;\n if (\x22filter\x22 in style) {\n style.filter \x3d \x22\x22;\n } else {\n style.backgroundImage \x3d \x22none\x22;\n }\n};\ngoog.style.showElement \x3d function(el, display) {\n goog.style.setElementShown(el, display);\n};\ngoog.style.setElementShown \x3d function(el, isShown) {\n el.style.display \x3d isShown ? \x22\x22 : \x22none\x22;\n};\ngoog.style.isElementShown \x3d function(el) {\n return el.style.display !\x3d \x22none\x22;\n};\ngoog.style.installSafeStyleSheet \x3d function(safeStyleSheet, opt_node) {\n var dh \x3d goog.dom.getDomHelper(opt_node);\n var doc \x3d dh.getDocument();\n if (goog.userAgent.IE \x26\x26 doc.createStyleSheet) {\n var styleSheet \x3d doc.createStyleSheet();\n goog.style.setSafeStyleSheet(styleSheet, safeStyleSheet);\n return styleSheet;\n } else {\n var head \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.HEAD)[0];\n if (!head) {\n var body \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.BODY)[0];\n head \x3d dh.createDom(goog.dom.TagName.HEAD);\n body.parentNode.insertBefore(head, body);\n }\n var el \x3d dh.createDom(goog.dom.TagName.STYLE);\n const nonce \x3d goog.dom.safe.getStyleNonce();\n if (nonce) {\n el.setAttribute(\x22nonce\x22, nonce);\n }\n goog.style.setSafeStyleSheet(el, safeStyleSheet);\n dh.appendChild(head, el);\n return el;\n }\n};\ngoog.style.uninstallStyles \x3d function(styleSheet) {\n var node \x3d styleSheet.ownerNode || styleSheet.owningElement || styleSheet;\n goog.dom.removeNode(node);\n};\ngoog.style.setSafeStyleSheet \x3d function(element, safeStyleSheet) {\n var stylesString \x3d goog.html.SafeStyleSheet.unwrap(safeStyleSheet);\n if (goog.userAgent.IE \x26\x26 element.cssText !\x3d\x3d undefined) {\n element.cssText \x3d stylesString;\n } else if (goog.global.trustedTypes) {\n goog.dom.setTextContent(element, stylesString);\n } else {\n element.innerHTML \x3d stylesString;\n }\n};\ngoog.style.setPreWrap \x3d function(el) {\n var style \x3d el.style;\n if (goog.userAgent.GECKO) {\n style.whiteSpace \x3d \x22-moz-pre-wrap\x22;\n } else {\n style.whiteSpace \x3d \x22pre-wrap\x22;\n }\n};\ngoog.style.setInlineBlock \x3d function(el) {\n var style \x3d el.style;\n style.position \x3d \x22relative\x22;\n style.display \x3d \x22inline-block\x22;\n};\ngoog.style.isRightToLeft \x3d function(el) {\n return \x22rtl\x22 \x3d\x3d goog.style.getStyle_(el, \x22direction\x22);\n};\ngoog.style.unselectableStyle_ \x3d goog.userAgent.GECKO ? \x22MozUserSelect\x22 : goog.userAgent.WEBKIT || goog.userAgent.EDGE ? \x22WebkitUserSelect\x22 : null;\ngoog.style.isUnselectable \x3d function(el) {\n if (goog.style.unselectableStyle_) {\n return el.style[goog.style.unselectableStyle_].toLowerCase() \x3d\x3d \x22none\x22;\n } else if (goog.userAgent.IE) {\n return el.getAttribute(\x22unselectable\x22) \x3d\x3d \x22on\x22;\n }\n return false;\n};\ngoog.style.setUnselectable \x3d function(el, unselectable, opt_noRecurse) {\n var descendants \x3d !opt_noRecurse ? el.getElementsByTagName(\x22*\x22) : null;\n var name \x3d goog.style.unselectableStyle_;\n if (name) {\n var value \x3d unselectable ? \x22none\x22 : \x22\x22;\n if (el.style) {\n el.style[name] \x3d value;\n }\n if (descendants) {\n for (var i \x3d 0, descendant; descendant \x3d descendants[i]; i++) {\n if (descendant.style) {\n descendant.style[name] \x3d value;\n }\n }\n }\n } else if (goog.userAgent.IE) {\n var value \x3d unselectable ? \x22on\x22 : \x22\x22;\n el.setAttribute(\x22unselectable\x22, value);\n if (descendants) {\n for (var i \x3d 0, descendant; descendant \x3d descendants[i]; i++) {\n descendant.setAttribute(\x22unselectable\x22, value);\n }\n }\n }\n};\ngoog.style.getBorderBoxSize \x3d function(element) {\n return new goog.math.Size(element.offsetWidth, element.offsetHeight);\n};\ngoog.style.setBorderBoxSize \x3d function(element, size) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var isCss1CompatMode \x3d goog.dom.getDomHelper(doc).isCss1CompatMode();\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isVersionOrHigher(\x2210\x22) \x26\x26 !isCss1CompatMode) {\n var style \x3d element.style;\n if (isCss1CompatMode) {\n var paddingBox \x3d goog.style.getPaddingBox(element);\n var borderBox \x3d goog.style.getBorderBox(element);\n style.pixelWidth \x3d size.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right;\n style.pixelHeight \x3d size.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom;\n } else {\n style.pixelWidth \x3d size.width;\n style.pixelHeight \x3d size.height;\n }\n } else {\n goog.style.setBoxSizingSize_(element, size, \x22border-box\x22);\n }\n};\ngoog.style.getContentBoxSize \x3d function(element) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var ieCurrentStyle \x3d goog.userAgent.IE \x26\x26 element.currentStyle;\n if (ieCurrentStyle \x26\x26 goog.dom.getDomHelper(doc).isCss1CompatMode() \x26\x26 ieCurrentStyle.width !\x3d \x22auto\x22 \x26\x26 ieCurrentStyle.height !\x3d \x22auto\x22 \x26\x26 !ieCurrentStyle.boxSizing) {\n var width \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.width, \x22width\x22, \x22pixelWidth\x22);\n var height \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.height, \x22height\x22, \x22pixelHeight\x22);\n return new goog.math.Size(width, height);\n } else {\n var borderBoxSize \x3d goog.style.getBorderBoxSize(element);\n var paddingBox \x3d goog.style.getPaddingBox(element);\n var borderBox \x3d goog.style.getBorderBox(element);\n return new goog.math.Size(borderBoxSize.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right, borderBoxSize.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom);\n }\n};\ngoog.style.setContentBoxSize \x3d function(element, size) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var isCss1CompatMode \x3d goog.dom.getDomHelper(doc).isCss1CompatMode();\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isVersionOrHigher(\x2210\x22) \x26\x26 !isCss1CompatMode) {\n var style \x3d element.style;\n if (isCss1CompatMode) {\n style.pixelWidth \x3d size.width;\n style.pixelHeight \x3d size.height;\n } else {\n var paddingBox \x3d goog.style.getPaddingBox(element);\n var borderBox \x3d goog.style.getBorderBox(element);\n style.pixelWidth \x3d size.width + borderBox.left + paddingBox.left + paddingBox.right + borderBox.right;\n style.pixelHeight \x3d size.height + borderBox.top + paddingBox.top + paddingBox.bottom + borderBox.bottom;\n }\n } else {\n goog.style.setBoxSizingSize_(element, size, \x22content-box\x22);\n }\n};\ngoog.style.setBoxSizingSize_ \x3d function(element, size, boxSizing) {\n var style \x3d element.style;\n if (goog.userAgent.GECKO) {\n style.MozBoxSizing \x3d boxSizing;\n } else if (goog.userAgent.WEBKIT) {\n style.WebkitBoxSizing \x3d boxSizing;\n } else {\n style.boxSizing \x3d boxSizing;\n }\n style.width \x3d Math.max(size.width, 0) + \x22px\x22;\n style.height \x3d Math.max(size.height, 0) + \x22px\x22;\n};\ngoog.style.getIePixelValue_ \x3d function(element, value, name, pixelName) {\n if (/^\\d+px?$/.test(value)) {\n return parseInt(value, 10);\n } else {\n var oldStyleValue \x3d element.style[name];\n var oldRuntimeValue \x3d element.runtimeStyle[name];\n element.runtimeStyle[name] \x3d element.currentStyle[name];\n element.style[name] \x3d value;\n var pixelValue \x3d element.style[pixelName];\n element.style[name] \x3d oldStyleValue;\n element.runtimeStyle[name] \x3d oldRuntimeValue;\n return +pixelValue;\n }\n};\ngoog.style.getIePixelDistance_ \x3d function(element, propName) {\n var value \x3d goog.style.getCascadedStyle(element, propName);\n return value ? goog.style.getIePixelValue_(element, value, \x22left\x22, \x22pixelLeft\x22) : 0;\n};\ngoog.style.getBox_ \x3d function(element, stylePrefix) {\n if (goog.userAgent.IE) {\n var left \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Left\x22);\n var right \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Right\x22);\n var top \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Top\x22);\n var bottom \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n var left \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Left\x22);\n var right \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Right\x22);\n var top \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Top\x22);\n var bottom \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getPaddingBox \x3d function(element) {\n return goog.style.getBox_(element, \x22padding\x22);\n};\ngoog.style.getMarginBox \x3d function(element) {\n return goog.style.getBox_(element, \x22margin\x22);\n};\ngoog.style.ieBorderWidthKeywords_ \x3d {\x22thin\x22:2, \x22medium\x22:4, \x22thick\x22:6};\ngoog.style.getIePixelBorder_ \x3d function(element, prop) {\n if (goog.style.getCascadedStyle(element, prop + \x22Style\x22) \x3d\x3d \x22none\x22) {\n return 0;\n }\n var width \x3d goog.style.getCascadedStyle(element, prop + \x22Width\x22);\n if (width in goog.style.ieBorderWidthKeywords_) {\n return goog.style.ieBorderWidthKeywords_[width];\n }\n return goog.style.getIePixelValue_(element, width, \x22left\x22, \x22pixelLeft\x22);\n};\ngoog.style.getBorderBox \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n var left \x3d goog.style.getIePixelBorder_(element, \x22borderLeft\x22);\n var right \x3d goog.style.getIePixelBorder_(element, \x22borderRight\x22);\n var top \x3d goog.style.getIePixelBorder_(element, \x22borderTop\x22);\n var bottom \x3d goog.style.getIePixelBorder_(element, \x22borderBottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n var left \x3d goog.style.getComputedStyle(element, \x22borderLeftWidth\x22);\n var right \x3d goog.style.getComputedStyle(element, \x22borderRightWidth\x22);\n var top \x3d goog.style.getComputedStyle(element, \x22borderTopWidth\x22);\n var bottom \x3d goog.style.getComputedStyle(element, \x22borderBottomWidth\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getFontFamily \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n var font \x3d \x22\x22;\n if (doc.body.createTextRange \x26\x26 goog.dom.contains(doc, el)) {\n var range \x3d doc.body.createTextRange();\n range.moveToElementText(el);\n try {\n font \x3d range.queryCommandValue(\x22FontName\x22);\n } catch (e) {\n font \x3d \x22\x22;\n }\n }\n if (!font) {\n font \x3d goog.style.getStyle_(el, \x22fontFamily\x22);\n }\n var fontsArray \x3d font.split(\x22,\x22);\n if (fontsArray.length \x3e 1) {\n font \x3d fontsArray[0];\n }\n return goog.string.stripQuotes(font, \x22\\\x22\x27\x22);\n};\ngoog.style.lengthUnitRegex_ \x3d /[^\\d]+$/;\ngoog.style.getLengthUnits \x3d function(value) {\n var units \x3d value.match(goog.style.lengthUnitRegex_);\n return units \x26\x26 units[0] || null;\n};\ngoog.style.ABSOLUTE_CSS_LENGTH_UNITS_ \x3d {\x22cm\x22:1, \x22in\x22:1, \x22mm\x22:1, \x22pc\x22:1, \x22pt\x22:1};\ngoog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_ \x3d {\x22em\x22:1, \x22ex\x22:1};\ngoog.style.getFontSize \x3d function(el) {\n var fontSize \x3d goog.style.getStyle_(el, \x22fontSize\x22);\n var sizeUnits \x3d goog.style.getLengthUnits(fontSize);\n if (fontSize \x26\x26 \x22px\x22 \x3d\x3d sizeUnits) {\n return parseInt(fontSize, 10);\n }\n if (goog.userAgent.IE) {\n if (String(sizeUnits) in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {\n return goog.style.getIePixelValue_(el, fontSize, \x22left\x22, \x22pixelLeft\x22);\n } else if (el.parentNode \x26\x26 el.parentNode.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT \x26\x26 String(sizeUnits) in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {\n var parentElement \x3d el.parentNode;\n var parentSize \x3d goog.style.getStyle_(parentElement, \x22fontSize\x22);\n return goog.style.getIePixelValue_(parentElement, fontSize \x3d\x3d parentSize ? \x221em\x22 : fontSize, \x22left\x22, \x22pixelLeft\x22);\n }\n }\n var sizeElement \x3d goog.dom.createDom(goog.dom.TagName.SPAN, {\x22style\x22:\x22visibility:hidden;position:absolute;\x22 + \x22line-height:0;padding:0;margin:0;border:0;height:1em;\x22});\n goog.dom.appendChild(el, sizeElement);\n fontSize \x3d sizeElement.offsetHeight;\n goog.dom.removeNode(sizeElement);\n return fontSize;\n};\ngoog.style.parseStyleAttribute \x3d function(value) {\n var result \x3d {};\n value.split(/\\s*;\\s*/).forEach(function(pair) {\n var keyValue \x3d pair.match(/\\s*([\\w-]+)\\s*:(.+)/);\n if (keyValue) {\n var styleName \x3d keyValue[1];\n var styleValue \x3d goog.string.trim(keyValue[2]);\n result[goog.string.toCamelCase(styleName.toLowerCase())] \x3d styleValue;\n }\n });\n return result;\n};\ngoog.style.toStyleAttribute \x3d function(obj) {\n var buffer \x3d [];\n goog.object.forEach(obj, function(value, key) {\n buffer.push(goog.string.toSelectorCase(key), \x22:\x22, value, \x22;\x22);\n });\n return buffer.join(\x22\x22);\n};\ngoog.style.setFloat \x3d function(el, value) {\n el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] \x3d value;\n};\ngoog.style.getFloat \x3d function(el) {\n return el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] || \x22\x22;\n};\ngoog.style.getScrollbarWidth \x3d function(opt_className) {\n var outerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n if (opt_className) {\n outerDiv.className \x3d opt_className;\n }\n outerDiv.style.cssText \x3d \x22overflow:auto;\x22 + \x22position:absolute;top:0;width:100px;height:100px\x22;\n var innerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n goog.style.setSize(innerDiv, \x22200px\x22, \x22200px\x22);\n outerDiv.appendChild(innerDiv);\n goog.dom.appendChild(goog.dom.getDocument().body, outerDiv);\n var width \x3d outerDiv.offsetWidth - outerDiv.clientWidth;\n goog.dom.removeNode(outerDiv);\n return width;\n};\ngoog.style.MATRIX_TRANSLATION_REGEX_ \x3d new RegExp(\x22matrix\\\\([0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22[0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22([0-9\\\\.\\\\-]+)p?x?, ([0-9\\\\.\\\\-]+)p?x?\\\\)\x22);\ngoog.style.getCssTranslation \x3d function(element) {\n var transform \x3d goog.style.getComputedTransform(element);\n if (!transform) {\n return new goog.math.Coordinate(0, 0);\n }\n var matches \x3d transform.match(goog.style.MATRIX_TRANSLATION_REGEX_);\n if (!matches) {\n return new goog.math.Coordinate(0, 0);\n }\n return new goog.math.Coordinate(parseFloat(matches[1]), parseFloat(matches[2]));\n};\n"); +SHADOW_ENV.evalLoad("goog.style.transition.js", true , "goog.provide(\x22goog.style.transition\x22);\ngoog.provide(\x22goog.style.transition.Css3Property\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.style\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.style.transition.Css3Property;\ngoog.style.transition.set \x3d function(element, properties) {\n if (!Array.isArray(properties)) {\n properties \x3d [properties];\n }\n goog.asserts.assert(properties.length \x3e 0, \x22At least one Css3Property should be specified.\x22);\n var values \x3d properties.map(function(p) {\n if (typeof p \x3d\x3d\x3d \x22string\x22) {\n return p;\n } else {\n goog.asserts.assertObject(p, \x22Expected css3 property to be an object.\x22);\n var propString \x3d p.property + \x22 \x22 + p.duration + \x22s \x22 + p.timing + \x22 \x22 + p.delay + \x22s\x22;\n goog.asserts.assert(p.property \x26\x26 typeof p.duration \x3d\x3d\x3d \x22number\x22 \x26\x26 p.timing \x26\x26 typeof p.delay \x3d\x3d\x3d \x22number\x22, \x22Unexpected css3 property value: %s\x22, propString);\n return propString;\n }\n });\n goog.style.transition.setPropertyValue_(element, values.join(\x22,\x22));\n};\ngoog.style.transition.removeAll \x3d function(element) {\n goog.style.transition.setPropertyValue_(element, \x22\x22);\n};\ngoog.style.transition.isSupported \x3d goog.functions.cacheReturnValue(function() {\n if (goog.userAgent.IE) {\n return goog.userAgent.isVersionOrHigher(\x2210.0\x22);\n }\n var el \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n var transition \x3d \x22opacity 1s linear\x22;\n var vendorPrefix \x3d goog.dom.vendor.getVendorPrefix();\n var style \x3d {\x22transition\x22:transition};\n if (vendorPrefix) {\n style[vendorPrefix + \x22-transition\x22] \x3d transition;\n }\n goog.dom.safe.setInnerHtml(el, goog.html.SafeHtml.create(\x22div\x22, {\x22style\x22:style}));\n var testElement \x3d el.firstChild;\n goog.asserts.assert(testElement.nodeType \x3d\x3d Node.ELEMENT_NODE);\n return goog.style.getStyle(testElement, \x22transition\x22) !\x3d \x22\x22;\n});\ngoog.style.transition.setPropertyValue_ \x3d function(element, transitionValue) {\n goog.style.setStyle(element, \x22transition\x22, transitionValue);\n};\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.protocols.js", true , "goog.provide(\x27cljs.core.async.impl.protocols\x27);\ncljs.core.async.impl.protocols.MAX_QUEUE_SIZE \x3d (1024);\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.ReadPort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_15811 \x3d (function (port,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5394__auto__.call(null,port,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5392__auto__.call(null,port,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22ReadPort.take!\x22,port);\n}\n}\n});\n/**\n * derefable val if taken, nil if take was enqueued\n */\ncljs.core.async.impl.protocols.take_BANG_ \x3d (function cljs$core$async$impl$protocols$take_BANG_(port,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_15811(port,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.WritePort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_15812 \x3d (function (port,val,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5394__auto__.call(null,port,val,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5392__auto__.call(null,port,val,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22WritePort.put!\x22,port);\n}\n}\n});\n/**\n * derefable boolean (false if already closed) if handled, nil if put was enqueued.\n * Must throw on nil val.\n */\ncljs.core.async.impl.protocols.put_BANG_ \x3d (function cljs$core$async$impl$protocols$put_BANG_(port,val,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_15812(port,val,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Channel \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_15813 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.close!\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.close_BANG_ \x3d (function cljs$core$async$impl$protocols$close_BANG_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_15813(chan);\n}\n});\n\nvar cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_15817 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.closed?\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.closed_QMARK_ \x3d (function cljs$core$async$impl$protocols$closed_QMARK_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_15817(chan);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Handler \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_15818 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.active?\x22,h);\n}\n}\n});\n/**\n * returns true if has callback. Must work w/o lock\n */\ncljs.core.async.impl.protocols.active_QMARK_ \x3d (function cljs$core$async$impl$protocols$active_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_15818(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_15819 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.blockable?\x22,h);\n}\n}\n});\n/**\n * returns true if this handler may be blocked, otherwise it must not block\n */\ncljs.core.async.impl.protocols.blockable_QMARK_ \x3d (function cljs$core$async$impl$protocols$blockable_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_15819(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$commit$dyn_15820 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.commit[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.commit\x22,h);\n}\n}\n});\n/**\n * commit to fulfilling its end of the transfer, returns cb. Must be called within lock\n */\ncljs.core.async.impl.protocols.commit \x3d (function cljs$core$async$impl$protocols$commit(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$commit$dyn_15820(h);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Buffer \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_15821 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.full?\x22,b);\n}\n}\n});\n/**\n * returns true if buffer cannot accept put\n */\ncljs.core.async.impl.protocols.full_QMARK_ \x3d (function cljs$core$async$impl$protocols$full_QMARK_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_15821(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_15822 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.remove!\x22,b);\n}\n}\n});\n/**\n * remove and return next item from buffer, called under chan mutex\n */\ncljs.core.async.impl.protocols.remove_BANG_ \x3d (function cljs$core$async$impl$protocols$remove_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_15822(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_15824 \x3d (function (b,itm){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5394__auto__.call(null,b,itm));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5392__auto__.call(null,b,itm));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.add!*\x22,b);\n}\n}\n});\n/**\n * if room, add item to the buffer, returns b, called under chan mutex\n */\ncljs.core.async.impl.protocols.add_BANG__STAR_ \x3d (function cljs$core$async$impl$protocols$add_BANG__STAR_(b,itm){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(b,itm);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_15824(b,itm);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_15825 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.close-buf!\x22,b);\n}\n}\n});\n/**\n * called on chan closed under chan mutex, return ignored\n */\ncljs.core.async.impl.protocols.close_buf_BANG_ \x3d (function cljs$core$async$impl$protocols$close_buf_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_15825(b);\n}\n});\n\ncljs.core.async.impl.protocols.add_BANG_ \x3d (function cljs$core$async$impl$protocols$add_BANG_(var_args){\nvar G__15808 \x3d arguments.length;\nswitch (G__15808) {\ncase 1:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn b;\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,itm){\nif((!((itm \x3d\x3d null)))){\n} else {\nthrow (new Error(\x22Assert failed: (not (nil? itm))\x22));\n}\n\nreturn cljs.core.async.impl.protocols.add_BANG__STAR_(b,itm);\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.UnblockingBuffer \x3d function(){};\n\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.buffers.js", true , "goog.provide(\x27cljs.core.async.impl.buffers\x27);\ncljs.core.async.impl.buffers.acopy \x3d (function cljs$core$async$impl$buffers$acopy(src,src_start,dest,dest_start,len){\nvar cnt \x3d (0);\nwhile(true){\nif((cnt \x3c len)){\n(dest[(dest_start + cnt)] \x3d (src[(src_start + cnt)]));\n\nvar G__15856 \x3d (cnt + (1));\ncnt \x3d G__15856;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.buffers.RingBuffer \x3d (function (head,tail,length,arr){\nthis.head \x3d head;\nthis.tail \x3d tail;\nthis.length \x3d length;\nthis.arr \x3d arr;\n});\n(cljs.core.async.impl.buffers.RingBuffer.prototype.pop \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar x \x3d (self__.arr[self__.tail]);\n(self__.arr[self__.tail] \x3d null);\n\n(self__.tail \x3d ((self__.tail + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length - (1)));\n\nreturn x;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unshift \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.arr[self__.head] \x3d x);\n\n(self__.head \x3d ((self__.head + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length + (1)));\n\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift \x3d (function (x){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.length + (1)) \x3d\x3d\x3d self__.arr.length)){\nthis$.resize();\n} else {\n}\n\nreturn this$.unshift(x);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.resize \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar new_arr_size \x3d (self__.arr.length * (2));\nvar new_arr \x3d (new Array(new_arr_size));\nif((self__.tail \x3c self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),self__.length);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3e self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),(self__.arr.length - self__.tail));\n\ncljs.core.async.impl.buffers.acopy(self__.arr,(0),new_arr,(self__.arr.length - self__.tail),self__.head);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3d\x3d\x3d self__.head)){\n(self__.tail \x3d (0));\n\n(self__.head \x3d (0));\n\nreturn (self__.arr \x3d new_arr);\n} else {\nreturn null;\n}\n}\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup \x3d (function (keep_QMARK_){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar n__5636__auto__ \x3d self__.length;\nvar x \x3d (0);\nwhile(true){\nif((x \x3c n__5636__auto__)){\nvar v_15861 \x3d this$.pop();\nif((keep_QMARK_.cljs$core$IFn$_invoke$arity$1 ? keep_QMARK_.cljs$core$IFn$_invoke$arity$1(v_15861) : keep_QMARK_.call(null,v_15861))){\nthis$.unshift(v_15861);\n} else {\n}\n\nvar G__15862 \x3d (x + (1));\nx \x3d G__15862;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22head\x22,\x22head\x22,869147608,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22length\x22,\x22length\x22,-2065447907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/RingBuffer\x22);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/RingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/RingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_RingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_RingBuffer(head,tail,length,arr){\nreturn (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));\n});\n\ncljs.core.async.impl.buffers.ring_buffer \x3d (function cljs$core$async$impl$buffers$ring_buffer(n){\nif((n \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t create a ring buffer of size 0\x22,\x22\\n\x22,\x22(\x3e n 0)\x22].join(\x27\x27)));\n}\n\nreturn (new cljs.core.async.impl.buffers.RingBuffer((0),(0),(0),(new Array(n))));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.FixedBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.buf.length \x3e\x3d self__.n);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nself__.buf.unbounded_unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/FixedBuffer.\n */\ncljs.core.async.impl.buffers.__GT_FixedBuffer \x3d (function cljs$core$async$impl$buffers$__GT_FixedBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.fixed_buffer \x3d (function cljs$core$async$impl$buffers$fixed_buffer(n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.DroppingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\n} else {\nself__.buf.unshift(itm);\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/DroppingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_DroppingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_DroppingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.dropping_buffer \x3d (function cljs$core$async$impl$buffers$dropping_buffer(n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.SlidingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\nthis$__$1.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\n} else {\n}\n\nself__.buf.unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/SlidingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_SlidingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_SlidingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.sliding_buffer \x3d (function cljs$core$async$impl$buffers$sliding_buffer(n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers.NO_VAL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.async.impl.buffers.NO_VAL \x3d (new Object());\n}\ncljs.core.async.impl.buffers.undelivered_QMARK_ \x3d (function cljs$core$async$impl$buffers$undelivered_QMARK_(val){\nreturn (cljs.core.async.impl.buffers.NO_VAL \x3d\x3d\x3d val);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.PromiseBuffer \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\n(self__.val \x3d itm);\n} else {\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (self__.val \x3d null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (0);\n} else {\nreturn (1);\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/PromiseBuffer.\n */\ncljs.core.async.impl.buffers.__GT_PromiseBuffer \x3d (function cljs$core$async$impl$buffers$__GT_PromiseBuffer(val){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(val));\n});\n\ncljs.core.async.impl.buffers.promise_buffer \x3d (function cljs$core$async$impl$buffers$promise_buffer(){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL));\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.dispatch.js", true , "goog.provide(\x27cljs.core.async.impl.dispatch\x27);\ncljs.core.async.impl.dispatch.tasks \x3d cljs.core.async.impl.buffers.ring_buffer((32));\ncljs.core.async.impl.dispatch.running_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.queued_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.TASK_BATCH_SIZE \x3d (1024);\ncljs.core.async.impl.dispatch.process_messages \x3d (function cljs$core$async$impl$dispatch$process_messages(){\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d true);\n\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d false);\n\nvar count_15875 \x3d (0);\nwhile(true){\nvar m_15876 \x3d cljs.core.async.impl.dispatch.tasks.pop();\nif((m_15876 \x3d\x3d null)){\n} else {\n(m_15876.cljs$core$IFn$_invoke$arity$0 ? m_15876.cljs$core$IFn$_invoke$arity$0() : m_15876.call(null));\n\nif((count_15875 \x3c cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){\nvar G__15880 \x3d (count_15875 + (1));\ncount_15875 \x3d G__15880;\ncontinue;\n} else {\n}\n}\nbreak;\n}\n\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d false);\n\nif((cljs.core.async.impl.dispatch.tasks.length \x3e (0))){\nreturn (cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0 ? cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0() : cljs.core.async.impl.dispatch.queue_dispatcher.call(null));\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.dispatch.queue_dispatcher \x3d (function cljs$core$async$impl$dispatch$queue_dispatcher(){\nif(((cljs.core.async.impl.dispatch.queued_QMARK_) \x26\x26 (cljs.core.async.impl.dispatch.running_QMARK_))){\nreturn null;\n} else {\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d true);\n\nreturn goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages);\n}\n});\ncljs.core.async.impl.dispatch.run \x3d (function cljs$core$async$impl$dispatch$run(f){\ncljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);\n\nreturn cljs.core.async.impl.dispatch.queue_dispatcher();\n});\ncljs.core.async.impl.dispatch.queue_delay \x3d (function cljs$core$async$impl$dispatch$queue_delay(f,delay){\nreturn setTimeout(f,delay);\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.channels.js", true , "goog.provide(\x27cljs.core.async.impl.channels\x27);\ncljs.core.async.impl.channels.box \x3d (function cljs$core$async$impl$channels$box(val){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.channels !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877 \x3d (function (val,meta15878){\nthis.val \x3d val;\nthis.meta15878 \x3d meta15878;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 425984;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15879,meta15878__$1){\nvar self__ \x3d this;\nvar _15879__$1 \x3d this;\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877(self__.val,meta15878__$1));\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15879){\nvar self__ \x3d this;\nvar _15879__$1 \x3d this;\nreturn self__.meta15878;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22meta15878\x22,\x22meta15878\x22,694585293,null)], null);\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels15877\x22);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels15877\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/t_cljs$core$async$impl$channels15877.\n */\ncljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels15877 \x3d (function cljs$core$async$impl$channels$box_$___GT_t_cljs$core$async$impl$channels15877(val__$1,meta15878){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877(val__$1,meta15878));\n});\n\n}\n\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels15877(val,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.channels.PutBox \x3d (function (handler,val){\nthis.handler \x3d handler;\nthis.val \x3d val;\n});\n\n(cljs.core.async.impl.channels.PutBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/PutBox\x22);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/PutBox\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/PutBox.\n */\ncljs.core.async.impl.channels.__GT_PutBox \x3d (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){\nreturn (new cljs.core.async.impl.channels.PutBox(handler,val));\n});\n\ncljs.core.async.impl.channels.put_active_QMARK_ \x3d (function cljs$core$async$impl$channels$put_active_QMARK_(box){\nreturn cljs.core.async.impl.protocols.active_QMARK_(box.handler);\n});\ncljs.core.async.impl.channels.MAX_DIRTY \x3d (64);\n\n/**\n * @interface\n */\ncljs.core.async.impl.channels.MMC \x3d function(){};\n\nvar cljs$core$async$impl$channels$MMC$abort$dyn_16048 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.channels.abort[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.channels.abort[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22MMC.abort\x22,this$);\n}\n}\n});\ncljs.core.async.impl.channels.abort \x3d (function cljs$core$async$impl$channels$abort(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$);\n} else {\nreturn cljs$core$async$impl$channels$MMC$abort$dyn_16048(this$);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.channels.MMC}\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n*/\ncljs.core.async.impl.channels.ManyToManyChannel \x3d (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nthis.takes \x3d takes;\nthis.dirty_takes \x3d dirty_takes;\nthis.puts \x3d puts;\nthis.dirty_puts \x3d dirty_puts;\nthis.buf \x3d buf;\nthis.closed \x3d closed;\nthis.add_BANG_ \x3d add_BANG_;\n});\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nwhile(true){\nvar putter_16049 \x3d self__.puts.pop();\nif((putter_16049 \x3d\x3d null)){\n} else {\nvar put_handler_16050 \x3d putter_16049.handler;\nvar val_16051 \x3d putter_16049.val;\nif(put_handler_16050.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar put_cb_16052 \x3d put_handler_16050.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\ncljs.core.async.impl.dispatch.run(((function (put_cb_16052,put_handler_16050,val_16051,putter_16049,this$__$1){\nreturn (function (){\nreturn (put_cb_16052.cljs$core$IFn$_invoke$arity$1 ? put_cb_16052.cljs$core$IFn$_invoke$arity$1(true) : put_cb_16052.call(null,true));\n});})(put_cb_16052,put_handler_16050,val_16051,putter_16049,this$__$1))\n);\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nself__.puts.cleanup(cljs.core.constantly(false));\n\nreturn this$__$1.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (this$,val,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((val \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t put nil on a channel\x22,\x22\\n\x22,\x22(not (nil? val))\x22].join(\x27\x27)));\n}\n\nvar closed__$1 \x3d self__.closed;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn cljs.core.async.impl.channels.box((!(closed__$1)));\n} else {\nif(closed__$1){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nreturn cljs.core.async.impl.channels.box(false);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nvar done_QMARK_ \x3d cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val) : self__.add_BANG_.call(null,self__.buf,val)));\nvar take_cbs \x3d (function (){var takers \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((((self__.takes.length \x3e (0))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar taker \x3d self__.takes.pop();\nif(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar ret \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val__$1 \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar G__16060 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(takers,((function (takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1){\nreturn (function (){\nreturn (ret.cljs$core$IFn$_invoke$arity$1 ? ret.cljs$core$IFn$_invoke$arity$1(val__$1) : ret.call(null,val__$1));\n});})(takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1))\n);\ntakers \x3d G__16060;\ncontinue;\n} else {\nvar G__16062 \x3d takers;\ntakers \x3d G__16062;\ncontinue;\n}\n} else {\nreturn takers;\n}\nbreak;\n}\n})();\nif(done_QMARK_){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nif(cljs.core.seq(take_cbs)){\nvar seq__15893_16065 \x3d cljs.core.seq(take_cbs);\nvar chunk__15894_16066 \x3d null;\nvar count__15895_16067 \x3d (0);\nvar i__15896_16068 \x3d (0);\nwhile(true){\nif((i__15896_16068 \x3c count__15895_16067)){\nvar f_16069 \x3d chunk__15894_16066.cljs$core$IIndexed$_nth$arity$2(null,i__15896_16068);\ncljs.core.async.impl.dispatch.run(f_16069);\n\n\nvar G__16070 \x3d seq__15893_16065;\nvar G__16071 \x3d chunk__15894_16066;\nvar G__16072 \x3d count__15895_16067;\nvar G__16073 \x3d (i__15896_16068 + (1));\nseq__15893_16065 \x3d G__16070;\nchunk__15894_16066 \x3d G__16071;\ncount__15895_16067 \x3d G__16072;\ni__15896_16068 \x3d G__16073;\ncontinue;\n} else {\nvar temp__5804__auto___16074 \x3d cljs.core.seq(seq__15893_16065);\nif(temp__5804__auto___16074){\nvar seq__15893_16076__$1 \x3d temp__5804__auto___16074;\nif(cljs.core.chunked_seq_QMARK_(seq__15893_16076__$1)){\nvar c__5568__auto___16077 \x3d cljs.core.chunk_first(seq__15893_16076__$1);\nvar G__16078 \x3d cljs.core.chunk_rest(seq__15893_16076__$1);\nvar G__16079 \x3d c__5568__auto___16077;\nvar G__16080 \x3d cljs.core.count(c__5568__auto___16077);\nvar G__16081 \x3d (0);\nseq__15893_16065 \x3d G__16078;\nchunk__15894_16066 \x3d G__16079;\ncount__15895_16067 \x3d G__16080;\ni__15896_16068 \x3d G__16081;\ncontinue;\n} else {\nvar f_16083 \x3d cljs.core.first(seq__15893_16076__$1);\ncljs.core.async.impl.dispatch.run(f_16083);\n\n\nvar G__16084 \x3d cljs.core.next(seq__15893_16076__$1);\nvar G__16085 \x3d null;\nvar G__16086 \x3d (0);\nvar G__16087 \x3d (0);\nseq__15893_16065 \x3d G__16084;\nchunk__15894_16066 \x3d G__16085;\ncount__15895_16067 \x3d G__16086;\ni__15896_16068 \x3d G__16087;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nvar taker \x3d (function (){while(true){\nvar taker \x3d self__.takes.pop();\nif(cljs.core.truth_(taker)){\nif(cljs.core.truth_(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null))){\nreturn taker;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(taker)){\nvar take_cb \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (take_cb.cljs$core$IFn$_invoke$arity$1 ? take_cb.cljs$core$IFn$_invoke$arity$1(val) : take_cb.call(null,val));\n}));\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nif((self__.dirty_puts \x3e (64))){\n(self__.dirty_puts \x3d (0));\n\nself__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);\n} else {\n(self__.dirty_puts \x3d (self__.dirty_puts + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.puts.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending puts are allowed on a single channel.\x22,\x22 Consider using a windowed buffer.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn null;\n} else {\nif((((!((self__.buf \x3d\x3d null)))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar temp__5802__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar take_cb \x3d temp__5802__auto__;\nvar val \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar vec__15902 \x3d ((((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0)))))?(function (){var cbs \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar putter \x3d self__.puts.pop();\nvar put_handler \x3d putter.handler;\nvar val__$1 \x3d putter.val;\nvar cb \x3d (function (){var and__5043__auto__ \x3d put_handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(and__5043__auto__){\nreturn put_handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar cbs__$1 \x3d (cljs.core.truth_(cb)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cbs,cb):cbs);\nvar done_QMARK_ \x3d (cljs.core.truth_(cb)?cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val__$1) : self__.add_BANG_.call(null,self__.buf,val__$1))):null);\nif(((cljs.core.not(done_QMARK_)) \x26\x26 (((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0))))))){\nvar G__16100 \x3d cbs__$1;\ncbs \x3d G__16100;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [done_QMARK_,cbs__$1], null);\n}\nbreak;\n}\n})():null);\nvar done_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15902,(0),null);\nvar cbs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15902,(1),null);\nif(cljs.core.truth_(done_QMARK_)){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nvar seq__15928_16101 \x3d cljs.core.seq(cbs);\nvar chunk__15929_16102 \x3d null;\nvar count__15930_16103 \x3d (0);\nvar i__15931_16104 \x3d (0);\nwhile(true){\nif((i__15931_16104 \x3c count__15930_16103)){\nvar cb_16106 \x3d chunk__15929_16102.cljs$core$IIndexed$_nth$arity$2(null,i__15931_16104);\ncljs.core.async.impl.dispatch.run(((function (seq__15928_16101,chunk__15929_16102,count__15930_16103,i__15931_16104,cb_16106,val,vec__15902,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_16106.cljs$core$IFn$_invoke$arity$1 ? cb_16106.cljs$core$IFn$_invoke$arity$1(true) : cb_16106.call(null,true));\n});})(seq__15928_16101,chunk__15929_16102,count__15930_16103,i__15931_16104,cb_16106,val,vec__15902,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__16108 \x3d seq__15928_16101;\nvar G__16109 \x3d chunk__15929_16102;\nvar G__16110 \x3d count__15930_16103;\nvar G__16111 \x3d (i__15931_16104 + (1));\nseq__15928_16101 \x3d G__16108;\nchunk__15929_16102 \x3d G__16109;\ncount__15930_16103 \x3d G__16110;\ni__15931_16104 \x3d G__16111;\ncontinue;\n} else {\nvar temp__5804__auto___16112 \x3d cljs.core.seq(seq__15928_16101);\nif(temp__5804__auto___16112){\nvar seq__15928_16113__$1 \x3d temp__5804__auto___16112;\nif(cljs.core.chunked_seq_QMARK_(seq__15928_16113__$1)){\nvar c__5568__auto___16114 \x3d cljs.core.chunk_first(seq__15928_16113__$1);\nvar G__16115 \x3d cljs.core.chunk_rest(seq__15928_16113__$1);\nvar G__16116 \x3d c__5568__auto___16114;\nvar G__16117 \x3d cljs.core.count(c__5568__auto___16114);\nvar G__16118 \x3d (0);\nseq__15928_16101 \x3d G__16115;\nchunk__15929_16102 \x3d G__16116;\ncount__15930_16103 \x3d G__16117;\ni__15931_16104 \x3d G__16118;\ncontinue;\n} else {\nvar cb_16119 \x3d cljs.core.first(seq__15928_16113__$1);\ncljs.core.async.impl.dispatch.run(((function (seq__15928_16101,chunk__15929_16102,count__15930_16103,i__15931_16104,cb_16119,seq__15928_16113__$1,temp__5804__auto___16112,val,vec__15902,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_16119.cljs$core$IFn$_invoke$arity$1 ? cb_16119.cljs$core$IFn$_invoke$arity$1(true) : cb_16119.call(null,true));\n});})(seq__15928_16101,chunk__15929_16102,count__15930_16103,i__15931_16104,cb_16119,seq__15928_16113__$1,temp__5804__auto___16112,val,vec__15902,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__16121 \x3d cljs.core.next(seq__15928_16113__$1);\nvar G__16122 \x3d null;\nvar G__16123 \x3d (0);\nvar G__16124 \x3d (0);\nseq__15928_16101 \x3d G__16121;\nchunk__15929_16102 \x3d G__16122;\ncount__15930_16103 \x3d G__16123;\ni__15931_16104 \x3d G__16124;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nvar putter \x3d (function (){while(true){\nvar putter \x3d self__.puts.pop();\nif(cljs.core.truth_(putter)){\nif(cljs.core.async.impl.protocols.active_QMARK_(putter.handler)){\nreturn putter;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(putter)){\nvar put_cb \x3d cljs.core.async.impl.protocols.commit(putter.handler);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (put_cb.cljs$core$IFn$_invoke$arity$1 ? put_cb.cljs$core$IFn$_invoke$arity$1(true) : put_cb.call(null,true));\n}));\n\nreturn cljs.core.async.impl.channels.box(putter.val);\n} else {\nif(cljs.core.truth_(self__.closed)){\nif(cljs.core.truth_(self__.buf)){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar has_val \x3d (function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar val \x3d (cljs.core.truth_(has_val)?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nif((self__.dirty_takes \x3e (64))){\n(self__.dirty_takes \x3d (0));\n\nself__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);\n} else {\n(self__.dirty_takes \x3d (self__.dirty_takes + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.takes.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending takes are allowed on a single channel.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.takes.unbounded_unshift(handler);\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.closed;\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(self__.closed){\nreturn null;\n} else {\n(self__.closed \x3d true);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (self__.puts.length \x3d\x3d\x3d (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nwhile(true){\nvar taker_16131 \x3d self__.takes.pop();\nif((taker_16131 \x3d\x3d null)){\n} else {\nif(taker_16131.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar take_cb_16132 \x3d taker_16131.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val_16133 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\ncljs.core.async.impl.dispatch.run(((function (take_cb_16132,val_16133,taker_16131,this$__$1){\nreturn (function (){\nreturn (take_cb_16132.cljs$core$IFn$_invoke$arity$1 ? take_cb_16132.cljs$core$IFn$_invoke$arity$1(val_16133) : take_cb_16132.call(null,val_16133));\n});})(take_cb_16132,val_16133,taker_16131,this$__$1))\n);\n} else {\n}\n\ncontinue;\n}\nbreak;\n}\n\nif(cljs.core.truth_(self__.buf)){\nself__.buf.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(null);\n} else {\n}\n\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22takes\x22,\x22takes\x22,298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-takes\x22,\x22dirty-takes\x22,575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22puts\x22,\x22puts\x22,-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-puts\x22,\x22dirty-puts\x22,57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22closed\x22,\x22closed\x22,720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22add!\x22,\x22add!\x22,2046056845,null)], null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/ManyToManyChannel.\n */\ncljs.core.async.impl.channels.__GT_ManyToManyChannel \x3d (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_));\n});\n\ncljs.core.async.impl.channels.ex_handler \x3d (function cljs$core$async$impl$channels$ex_handler(ex){\nconsole.log(ex);\n\nreturn null;\n});\ncljs.core.async.impl.channels.handle \x3d (function cljs$core$async$impl$channels$handle(buf,exh,t){\nvar else$ \x3d (function (){var fexpr__16027 \x3d (function (){var or__5045__auto__ \x3d exh;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.async.impl.channels.ex_handler;\n}\n})();\nreturn (fexpr__16027.cljs$core$IFn$_invoke$arity$1 ? fexpr__16027.cljs$core$IFn$_invoke$arity$1(t) : fexpr__16027.call(null,t));\n})();\nif((else$ \x3d\x3d null)){\nreturn buf;\n} else {\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(buf,else$);\n}\n});\ncljs.core.async.impl.channels.chan \x3d (function cljs$core$async$impl$channels$chan(var_args){\nvar G__16031 \x3d arguments.length;\nswitch (G__16031) {\ncase 1:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(buf,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf,xform){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(buf,xform,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf,xform,exh){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer((32)),(0),cljs.core.async.impl.buffers.ring_buffer((32)),(0),buf,false,(function (){var add_BANG_ \x3d (cljs.core.truth_(xform)?(xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.add_BANG_) : xform.call(null,cljs.core.async.impl.protocols.add_BANG_)):cljs.core.async.impl.protocols.add_BANG_);\nreturn (function() {\nvar G__16203 \x3d null;\nvar G__16203__1 \x3d (function (buf__$1){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$1 ? add_BANG_.cljs$core$IFn$_invoke$arity$1(buf__$1) : add_BANG_.call(null,buf__$1));\n}catch (e16039){var t \x3d e16039;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nvar G__16203__2 \x3d (function (buf__$1,val){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$2 ? add_BANG_.cljs$core$IFn$_invoke$arity$2(buf__$1,val) : add_BANG_.call(null,buf__$1,val));\n}catch (e16040){var t \x3d e16040;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nG__16203 \x3d function(buf__$1,val){\nswitch(arguments.length){\ncase 1:\nreturn G__16203__1.call(this,buf__$1);\ncase 2:\nreturn G__16203__2.call(this,buf__$1,val);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16203.cljs$core$IFn$_invoke$arity$1 \x3d G__16203__1;\nG__16203.cljs$core$IFn$_invoke$arity$2 \x3d G__16203__2;\nreturn G__16203;\n})()\n})()));\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.timers.js", true , "goog.provide(\x27cljs.core.async.impl.timers\x27);\ncljs.core.async.impl.timers.MAX_LEVEL \x3d (15);\ncljs.core.async.impl.timers.P \x3d ((1) / (2));\ncljs.core.async.impl.timers.random_level \x3d (function cljs$core$async$impl$timers$random_level(var_args){\nvar G__17365 \x3d arguments.length;\nswitch (G__17365) {\ncase 0:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nwhile(true){\nif((((Math.random() \x3c cljs.core.async.impl.timers.P)) \x26\x26 ((level \x3c cljs.core.async.impl.timers.MAX_LEVEL)))){\nvar G__17423 \x3d (level + (1));\nlevel \x3d G__17423;\ncontinue;\n} else {\nreturn level;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipListNode \x3d (function (key,val,forward){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.forward \x3d forward;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22forward\x22,\x22forward\x22,1083186224,null)], null);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipListNode\x22);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipListNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipListNode.\n */\ncljs.core.async.impl.timers.__GT_SkipListNode \x3d (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){\nreturn (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));\n});\n\ncljs.core.async.impl.timers.skip_list_node \x3d (function cljs$core$async$impl$timers$skip_list_node(var_args){\nvar G__17381 \x3d arguments.length;\nswitch (G__17381) {\ncase 1:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,v,level){\nvar arr \x3d (new Array((level + (1))));\nvar i_17425 \x3d (0);\nwhile(true){\nif((i_17425 \x3c arr.length)){\n(arr[i_17425] \x3d null);\n\nvar G__17426 \x3d (i_17425 + (1));\ni_17425 \x3d G__17426;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.impl.timers.least_greater_node \x3d (function cljs$core$async$impl$timers$least_greater_node(var_args){\nvar G__17396 \x3d arguments.length;\nswitch (G__17396) {\ncase 3:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,k,level){\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,k,level,update){\nwhile(true){\nif((!((level \x3c (0))))){\nvar x__$1 \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar temp__5802__auto__ \x3d (((level \x3c x__$1.forward.length))?(x__$1.forward[level]):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar x_SINGLEQUOTE_ \x3d temp__5802__auto__;\nif((x_SINGLEQUOTE_.key \x3c k)){\nvar G__17428 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__17428;\ncontinue;\n} else {\nreturn x__$1;\n}\n} else {\nreturn x__$1;\n}\nbreak;\n}\n})();\nif((update \x3d\x3d null)){\n} else {\n(update[level] \x3d x__$1);\n}\n\nvar G__17429 \x3d x__$1;\nvar G__17430 \x3d k;\nvar G__17431 \x3d (level - (1));\nvar G__17432 \x3d update;\nx \x3d G__17429;\nk \x3d G__17430;\nlevel \x3d G__17431;\nupdate \x3d G__17432;\ncontinue;\n} else {\nreturn x;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipList \x3d (function (header,level){\nthis.header \x3d header;\nthis.level \x3d level;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipList.prototype.put \x3d (function (k,v){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (x.forward[(0)]);\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nreturn (x__$1.val \x3d v);\n} else {\nvar new_level \x3d cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\nif((new_level \x3e self__.level)){\nvar i_17433 \x3d (self__.level + (1));\nwhile(true){\nif((i_17433 \x3c\x3d (new_level + (1)))){\n(update[i_17433] \x3d self__.header);\n\nvar G__17434 \x3d (i_17433 + (1));\ni_17433 \x3d G__17434;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(self__.level \x3d new_level);\n} else {\n}\n\nvar x__$2 \x3d cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c\x3d self__.level)){\nvar links_17435 \x3d (update[i]).forward;\nif((i \x3c x__$2.forward.length)){\n(x__$2.forward[i] \x3d (links_17435[i]));\n} else {\nx__$2.forward.push((((i \x3c links_17435.length))?(links_17435[i]):null));\n}\n\nif((i \x3c links_17435.length)){\n(links_17435[i] \x3d x__$2);\n} else {\nlinks_17435.push(x__$2);\n}\n\nvar G__17436 \x3d (i + (1));\ni \x3d G__17436;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.remove \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (((x.forward.length \x3d\x3d\x3d (0)))?null:(x.forward[(0)]));\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nvar i_17437 \x3d (0);\nwhile(true){\nif((i_17437 \x3c\x3d self__.level)){\nvar links_17438 \x3d (update[i_17437]).forward;\nif((x__$1 \x3d\x3d\x3d (((i_17437 \x3c links_17438.length))?(links_17438[i_17437]):null))){\n(links_17438[i_17437] \x3d (x__$1.forward[i_17437]));\n\nvar G__17439 \x3d (i_17437 + (1));\ni_17437 \x3d G__17439;\ncontinue;\n} else {\nvar G__17440 \x3d (i_17437 + (1));\ni_17437 \x3d G__17440;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nwhile(true){\nif(((((((0) \x3c self__.level)) \x26\x26 ((self__.level \x3c self__.header.forward.length)))) \x26\x26 (((self__.header.forward[self__.level]) \x3d\x3d null)))){\n(self__.level \x3d (self__.level - (1)));\n\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__17441 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__17441;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__17442 \x3d nx;\nvar G__17443 \x3d (level__$1 - (1));\nx \x3d G__17442;\nlevel__$1 \x3d G__17443;\ncontinue;\n} else {\nvar G__17444 \x3d x;\nvar G__17445 \x3d (level__$1 - (1));\nx \x3d G__17444;\nlevel__$1 \x3d G__17445;\ncontinue;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){\nreturn x;\n} else {\nreturn (x.forward[(0)]);\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.floorEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__17446 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__17446;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__17447 \x3d nx;\nvar G__17448 \x3d (level__$1 - (1));\nx \x3d G__17447;\nlevel__$1 \x3d G__17448;\ncontinue;\n} else {\nvar G__17449 \x3d x;\nvar G__17450 \x3d (level__$1 - (1));\nx \x3d G__17449;\nlevel__$1 \x3d G__17450;\ncontinue;\n}\n} else {\nif((x \x3d\x3d\x3d self__.header)){\nreturn null;\n} else {\nreturn x;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar iter \x3d (function cljs$core$async$impl$timers$iter(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nif((node \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));\n}\n}),null,null));\n});\nreturn iter((self__.header.forward[(0)]));\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar pr_pair \x3d (function (keyval){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts,keyval);\n});\nreturn cljs.core.pr_sequential_writer(writer,pr_pair,\x22{\x22,\x22, \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22level\x22,\x22level\x22,-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipList\x22);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipList.\n */\ncljs.core.async.impl.timers.__GT_SkipList \x3d (function cljs$core$async$impl$timers$__GT_SkipList(header,level){\nreturn (new cljs.core.async.impl.timers.SkipList(header,level));\n});\n\ncljs.core.async.impl.timers.skip_list \x3d (function cljs$core$async$impl$timers$skip_list(){\nreturn (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));\n});\ncljs.core.async.impl.timers.timeouts_map \x3d cljs.core.async.impl.timers.skip_list();\ncljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS \x3d (10);\n/**\n * returns a channel that will close after msecs\n */\ncljs.core.async.impl.timers.timeout \x3d (function cljs$core$async$impl$timers$timeout(msecs){\nvar timeout \x3d ((new Date()).valueOf() + msecs);\nvar me \x3d cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d me;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (me.key \x3c (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));\n} else {\nreturn and__5043__auto__;\n}\n})())?me.val:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar timeout_channel \x3d cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);\ncljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);\n\ncljs.core.async.impl.dispatch.queue_delay((function (){\ncljs.core.async.impl.timers.timeouts_map.remove(timeout);\n\nreturn cljs.core.async.impl.protocols.close_BANG_(timeout_channel);\n}),msecs);\n\nreturn timeout_channel;\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.ioc_helpers.js", true , "goog.provide(\x27cljs.core.async.impl.ioc_helpers\x27);\ncljs.core.async.impl.ioc_helpers.FN_IDX \x3d (0);\ncljs.core.async.impl.ioc_helpers.STATE_IDX \x3d (1);\ncljs.core.async.impl.ioc_helpers.VALUE_IDX \x3d (2);\ncljs.core.async.impl.ioc_helpers.BINDINGS_IDX \x3d (3);\ncljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES \x3d (4);\ncljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION \x3d (5);\ncljs.core.async.impl.ioc_helpers.USER_START_IDX \x3d (6);\ncljs.core.async.impl.ioc_helpers.aset_object \x3d (function cljs$core$async$impl$ioc_helpers$aset_object(arr,idx,o){\nreturn (arr[idx][o]);\n});\ncljs.core.async.impl.ioc_helpers.aget_object \x3d (function cljs$core$async$impl$ioc_helpers$aget_object(arr,idx){\nreturn (arr[idx]);\n});\n/**\n * Returns true if the machine is in a finished state\n */\ncljs.core.async.impl.ioc_helpers.finished_QMARK_ \x3d (function cljs$core$async$impl$ioc_helpers$finished_QMARK_(state_array){\nreturn cljs.core.keyword_identical_QMARK_((state_array[(1)]),new cljs.core.Keyword(null,\x22finished\x22,\x22finished\x22,-1018867731));\n});\ncljs.core.async.impl.ioc_helpers.fn_handler \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler(f){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.ioc_helpers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369 \x3d (function (f,meta17370){\nthis.f \x3d f;\nthis.meta17370 \x3d meta17370;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_17371,meta17370__$1){\nvar self__ \x3d this;\nvar _17371__$1 \x3d this;\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369(self__.f,meta17370__$1));\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_17371){\nvar self__ \x3d this;\nvar _17371__$1 \x3d this;\nreturn self__.meta17370;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22meta17370\x22,\x22meta17370\x22,-1866081832,null)], null);\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers17369\x22);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers17369\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers17369.\n */\ncljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers17369 \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler_$___GT_t_cljs$core$async$impl$ioc_helpers17369(f__$1,meta17370){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369(f__$1,meta17370));\n});\n\n}\n\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers17369(f,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine(state){\nvar fexpr__17382 \x3d cljs.core.async.impl.ioc_helpers.aget_object(state,(0));\nreturn (fexpr__17382.cljs$core$IFn$_invoke$arity$1 ? fexpr__17382.cljs$core$IFn$_invoke$arity$1(state) : fexpr__17382.call(null,state));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine_wrapped \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine_wrapped(state){\ntry{return cljs.core.async.impl.ioc_helpers.run_state_machine(state);\n}catch (e17384){if((e17384 instanceof Object)){\nvar ex \x3d e17384;\ncljs.core.async.impl.ioc_helpers.aget_object(state,(6)).cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nthrow ex;\n} else {\nthrow e17384;\n\n}\n}});\ncljs.core.async.impl.ioc_helpers.take_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$take_BANG_(state,blk,c){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(null,cljs.core.async.impl.ioc_helpers.fn_handler((function (x){\nvar statearr_17391_17418 \x3d state;\n(statearr_17391_17418[(2)] \x3d x);\n\n(statearr_17391_17418[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_17394_17419 \x3d state;\n(statearr_17394_17419[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_17394_17419[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.put_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$put_BANG_(state,blk,c,val){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,val,cljs.core.async.impl.ioc_helpers.fn_handler((function (ret_val){\nvar statearr_17399_17420 \x3d state;\n(statearr_17399_17420[(2)] \x3d ret_val);\n\n(statearr_17399_17420[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_17400_17422 \x3d state;\n(statearr_17400_17422[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_17400_17422[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.return_chan \x3d (function cljs$core$async$impl$ioc_helpers$return_chan(state,value){\nvar c \x3d (state[(6)]);\nif((value \x3d\x3d null)){\n} else {\nc.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,value,cljs.core.async.impl.ioc_helpers.fn_handler((function (_){\nreturn null;\n})));\n}\n\nc.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nreturn c;\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.js", true , "goog.provide(\x27cljs.core.async\x27);\ngoog.scope(function(){\n cljs.core.async.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core.async.fn_handler \x3d (function cljs$core$async$fn_handler(var_args){\nvar G__17567 \x3d arguments.length;\nswitch (G__17567) {\ncase 1:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);\n}));\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,blockable){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async17568 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async17568 \x3d (function (f,blockable,meta17569){\nthis.f \x3d f;\nthis.blockable \x3d blockable;\nthis.meta17569 \x3d meta17569;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_17570,meta17569__$1){\nvar self__ \x3d this;\nvar _17570__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async17568(self__.f,self__.blockable,meta17569__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_17570){\nvar self__ \x3d this;\nvar _17570__$1 \x3d this;\nreturn self__.meta17569;\n}));\n\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.blockable;\n}));\n\n(cljs.core.async.t_cljs$core$async17568.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.t_cljs$core$async17568.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22blockable\x22,\x22blockable\x22,-28395259,null),new cljs.core.Symbol(null,\x22meta17569\x22,\x22meta17569\x22,1388677410,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async17568.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async17568.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async17568\x22);\n\n(cljs.core.async.t_cljs$core$async17568.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async17568\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async17568.\n */\ncljs.core.async.__GT_t_cljs$core$async17568 \x3d (function cljs$core$async$__GT_t_cljs$core$async17568(f__$1,blockable__$1,meta17569){\nreturn (new cljs.core.async.t_cljs$core$async17568(f__$1,blockable__$1,meta17569));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async17568(f,blockable,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.async.fn_handler.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a fixed buffer of size n. When full, puts will block/park.\n */\ncljs.core.async.buffer \x3d (function cljs$core$async$buffer(n){\nreturn cljs.core.async.impl.buffers.fixed_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete but\n * val will be dropped (no transfer).\n */\ncljs.core.async.dropping_buffer \x3d (function cljs$core$async$dropping_buffer(n){\nreturn cljs.core.async.impl.buffers.dropping_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete, and be\n * buffered, but oldest elements in buffer will be dropped (not\n * transferred).\n */\ncljs.core.async.sliding_buffer \x3d (function cljs$core$async$sliding_buffer(n){\nreturn cljs.core.async.impl.buffers.sliding_buffer(n);\n});\n/**\n * Returns true if a channel created with buff will never block. That is to say,\n * puts into this buffer will never cause the buffer to be full. \n */\ncljs.core.async.unblocking_buffer_QMARK_ \x3d (function cljs$core$async$unblocking_buffer_QMARK_(buff){\nif((!((buff \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){\nreturn true;\n} else {\nif((!buff.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n}\n});\n/**\n * Creates a channel with an optional buffer, an optional transducer (like (map f),\n * (filter p) etc or a composition thereof), and an optional exception handler.\n * If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n * transducer is supplied a buffer must be specified. ex-handler must be a\n * fn of one argument - if an exception occurs during transformation it will be called\n * with the thrown value as an argument, and any non-nil return value will be placed\n * in the channel.\n */\ncljs.core.async.chan \x3d (function cljs$core$async$chan(var_args){\nvar G__17575 \x3d arguments.length;\nswitch (G__17575) {\ncase 0:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf_or_n){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf_or_n,xform){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf_or_n,xform,ex_handler){\nvar buf_or_n__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);\nif(cljs.core.truth_(xform)){\nif(cljs.core.truth_(buf_or_n__$1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22buffer must be supplied when transducer is\x22,\x22\\n\x22,\x22buf-or-n\x22].join(\x27\x27)));\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 \x3d\x3d\x3d \x27number\x27)?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);\n}));\n\n(cljs.core.async.chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a promise channel with an optional transducer, and an optional\n * exception-handler. A promise channel can take exactly one value that consumers\n * will receive. Once full, puts complete but val is dropped (no transfer).\n * Consumers will block until either a value is placed in the channel or the\n * channel is closed. See chan for the semantics of xform and ex-handler.\n */\ncljs.core.async.promise_chan \x3d (function cljs$core$async$promise_chan(var_args){\nvar G__17580 \x3d arguments.length;\nswitch (G__17580) {\ncase 0:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (xform){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,ex_handler){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);\n}));\n\n(cljs.core.async.promise_chan.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel that will close after msecs\n */\ncljs.core.async.timeout \x3d (function cljs$core$async$timeout(msecs){\nreturn cljs.core.async.impl.timers.timeout(msecs);\n});\n/**\n * takes a val from port. Must be called inside a (go ...) block. Will\n * return nil if closed. Will park if nothing is available.\n * Returns true unless port is already closed\n */\ncljs.core.async._LT__BANG_ \x3d (function cljs$core$async$_LT__BANG_(port){\nthrow (new Error(\x22\x3c! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously takes a val from port, passing to fn1. Will pass nil\n * if closed. If on-caller? (default true) is true, and value is\n * immediately available, will call fn1 on calling thread.\n * Returns nil.\n */\ncljs.core.async.take_BANG_ \x3d (function cljs$core$async$take_BANG_(var_args){\nvar G__17586 \x3d arguments.length;\nswitch (G__17586) {\ncase 2:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,fn1){\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);\n}));\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,fn1,on_caller_QMARK_){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(ret)){\nvar val_19989 \x3d cljs.core.deref(ret);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_19989) : fn1.call(null,val_19989));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_19989) : fn1.call(null,val_19989));\n}));\n}\n} else {\n}\n\nreturn null;\n}));\n\n(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.nop \x3d (function cljs$core$async$nop(_){\nreturn null;\n});\ncljs.core.async.fhnop \x3d cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);\n/**\n * puts a val into port. nil values are not allowed. Must be called\n * inside a (go ...) block. Will park if no buffer space is available.\n * Returns true unless port is already closed.\n */\ncljs.core.async._GT__BANG_ \x3d (function cljs$core$async$_GT__BANG_(port,val){\nthrow (new Error(\x22\x3e! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously puts a val into port, calling fn1 (if supplied) when\n * complete. nil values are not allowed. Will throw if closed. If\n * on-caller? (default true) is true, and the put is immediately\n * accepted, will call fn1 on calling thread. Returns nil.\n */\ncljs.core.async.put_BANG_ \x3d (function cljs$core$async$put_BANG_(var_args){\nvar G__17605 \x3d arguments.length;\nswitch (G__17605) {\ncase 2:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,val){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn cljs.core.deref(ret);\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,val,fn1){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (port,val,fn1,on_caller_QMARK_){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar retb \x3d temp__5802__auto__;\nvar ret \x3d cljs.core.deref(retb);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n}));\n}\n\nreturn ret;\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.async.close_BANG_ \x3d (function cljs$core$async$close_BANG_(port){\nreturn cljs.core.async.impl.protocols.close_BANG_(port);\n});\ncljs.core.async.random_array \x3d (function cljs$core$async$random_array(n){\nvar a \x3d (new Array(n));\nvar n__5636__auto___19995 \x3d n;\nvar x_19996 \x3d (0);\nwhile(true){\nif((x_19996 \x3c n__5636__auto___19995)){\n(a[x_19996] \x3d x_19996);\n\nvar G__19997 \x3d (x_19996 + (1));\nx_19996 \x3d G__19997;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.core.async.goog$module$goog$array.shuffle(a);\n\nreturn a;\n});\ncljs.core.async.alt_flag \x3d (function cljs$core$async$alt_flag(){\nvar flag \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async17612 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async17612 \x3d (function (flag,meta17613){\nthis.flag \x3d flag;\nthis.meta17613 \x3d meta17613;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_17614,meta17613__$1){\nvar self__ \x3d this;\nvar _17614__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async17612(self__.flag,meta17613__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_17614){\nvar self__ \x3d this;\nvar _17614__$1 \x3d this;\nreturn self__.meta17613;\n}));\n\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.deref(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async17612.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.flag,null);\n\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async17612.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22meta17613\x22,\x22meta17613\x22,1102949405,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async17612.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async17612.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async17612\x22);\n\n(cljs.core.async.t_cljs$core$async17612.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async17612\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async17612.\n */\ncljs.core.async.__GT_t_cljs$core$async17612 \x3d (function cljs$core$async$alt_flag_$___GT_t_cljs$core$async17612(flag__$1,meta17613){\nreturn (new cljs.core.async.t_cljs$core$async17612(flag__$1,meta17613));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async17612(flag,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.alt_handler \x3d (function cljs$core$async$alt_handler(flag,cb){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async17626 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async17626 \x3d (function (flag,cb,meta17627){\nthis.flag \x3d flag;\nthis.cb \x3d cb;\nthis.meta17627 \x3d meta17627;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_17628,meta17627__$1){\nvar self__ \x3d this;\nvar _17628__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async17626(self__.flag,self__.cb,meta17627__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_17628){\nvar self__ \x3d this;\nvar _17628__$1 \x3d this;\nreturn self__.meta17627;\n}));\n\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async17626.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.async.impl.protocols.commit(self__.flag);\n\nreturn self__.cb;\n}));\n\n(cljs.core.async.t_cljs$core$async17626.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22cb\x22,\x22cb\x22,-2064487928,null),new cljs.core.Symbol(null,\x22meta17627\x22,\x22meta17627\x22,242395195,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async17626.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async17626.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async17626\x22);\n\n(cljs.core.async.t_cljs$core$async17626.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async17626\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async17626.\n */\ncljs.core.async.__GT_t_cljs$core$async17626 \x3d (function cljs$core$async$alt_handler_$___GT_t_cljs$core$async17626(flag__$1,cb__$1,meta17627){\nreturn (new cljs.core.async.t_cljs$core$async17626(flag__$1,cb__$1,meta17627));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async17626(flag,cb,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * returns derefable [val port] if immediate, nil if enqueued\n */\ncljs.core.async.do_alts \x3d (function cljs$core$async$do_alts(fret,ports,opts){\nif((cljs.core.count(ports) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22alts must have at least one channel operation\x22,\x22\\n\x22,\x22(pos? (count ports))\x22].join(\x27\x27)));\n}\n\nvar flag \x3d cljs.core.async.alt_flag();\nvar n \x3d cljs.core.count(ports);\nvar idxs \x3d cljs.core.async.random_array(n);\nvar priority \x3d new cljs.core.Keyword(null,\x22priority\x22,\x22priority\x22,1431093715).cljs$core$IFn$_invoke$arity$1(opts);\nvar ret \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar idx \x3d (cljs.core.truth_(priority)?i:(idxs[i]));\nvar port \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports,idx);\nvar wport \x3d ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);\nvar vbox \x3d (cljs.core.truth_(wport)?(function (){var val \x3d (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));\nreturn cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__17634_SHARP_){\nvar G__17644 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__17634_SHARP_,wport], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__17644) : fret.call(null,G__17644));\n});})(i,val,idx,port,wport,flag,n,idxs,priority))\n));\n})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__17638_SHARP_){\nvar G__17645 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__17638_SHARP_,port], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__17645) : fret.call(null,G__17645));\n});})(i,idx,port,wport,flag,n,idxs,priority))\n)));\nif(cljs.core.truth_(vbox)){\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5045__auto__ \x3d wport;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn port;\n}\n})()], null));\n} else {\nvar G__20002 \x3d (i + (1));\ni \x3d G__20002;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d ret;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))){\nvar temp__5804__auto__ \x3d (function (){var and__5043__auto__ \x3d flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar got \x3d temp__5804__auto__;\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Completes at most one of several channel operations. Must be called\n * inside a (go ...) block. ports is a vector of channel endpoints,\n * which can be either a channel to take from or a vector of\n * [channel-to-put-to val-to-put], in any combination. Takes will be\n * made as if by \x3c!, and puts will be made as if by \x3e!. Unless\n * the :priority option is true, if more than one port operation is\n * ready a non-deterministic choice will be made. If no operation is\n * ready and a :default value is supplied, [default-val :default] will\n * be returned, otherwise alts! will park until the first operation to\n * become ready completes. Returns [val port] of the completed\n * operation, where val is the value taken for takes, and a\n * boolean (true unless already closed, as per put!) for puts.\n * \n * opts are passed as :key val ... Supported options:\n * \n * :default val - the value to use if none of the operations are immediately ready\n * :priority true - (default nil) when true, the operations will be tried in order.\n * \n * Note: there is no guarantee that the port exps or val exprs will be\n * used, nor in what order should they be, so they should not be\n * depended upon for side effects.\n */\ncljs.core.async.alts_BANG_ \x3d (function cljs$core$async$alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20003 \x3d arguments.length;\nvar i__5770__auto___20004 \x3d (0);\nwhile(true){\nif((i__5770__auto___20004 \x3c len__5769__auto___20003)){\nargs__5775__auto__.push((arguments[i__5770__auto___20004]));\n\nvar G__20005 \x3d (i__5770__auto___20004 + (1));\ni__5770__auto___20004 \x3d G__20005;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ports,p__17650){\nvar map__17651 \x3d p__17650;\nvar map__17651__$1 \x3d cljs.core.__destructure_map(map__17651);\nvar opts \x3d map__17651__$1;\nthrow (new Error(\x22alts! used not in (go ...) block\x22));\n}));\n\n(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.async.alts_BANG_.cljs$lang$applyTo \x3d (function (seq17648){\nvar G__17649 \x3d cljs.core.first(seq17648);\nvar seq17648__$1 \x3d cljs.core.next(seq17648);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17649,seq17648__$1);\n}));\n\n/**\n * Puts a val into port if it\x27s possible to do so immediately.\n * nil values are not allowed. Never blocks. Returns true if offer succeeds.\n */\ncljs.core.async.offer_BANG_ \x3d (function cljs$core$async$offer_BANG_(port,val){\nvar ret \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes a val from port if it\x27s possible to do so immediately.\n * Never blocks. Returns value if successful, nil otherwise.\n */\ncljs.core.async.poll_BANG_ \x3d (function cljs$core$async$poll_BANG_(port){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes\n */\ncljs.core.async.pipe \x3d (function cljs$core$async$pipe(var_args){\nvar G__17655 \x3d arguments.length;\nswitch (G__17655) {\ncase 2:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 \x3d (function (from,to){\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);\n}));\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,close_QMARK_){\nvar c__17494__auto___20007 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_17693){\nvar state_val_17694 \x3d (state_17693[(1)]);\nif((state_val_17694 \x3d\x3d\x3d (7))){\nvar inst_17689 \x3d (state_17693[(2)]);\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17709_20008 \x3d state_17693__$1;\n(statearr_17709_20008[(2)] \x3d inst_17689);\n\n(statearr_17709_20008[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (1))){\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17710_20009 \x3d state_17693__$1;\n(statearr_17710_20009[(2)] \x3d null);\n\n(statearr_17710_20009[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (4))){\nvar inst_17664 \x3d (state_17693[(7)]);\nvar inst_17664__$1 \x3d (state_17693[(2)]);\nvar inst_17669 \x3d (inst_17664__$1 \x3d\x3d null);\nvar state_17693__$1 \x3d (function (){var statearr_17711 \x3d state_17693;\n(statearr_17711[(7)] \x3d inst_17664__$1);\n\nreturn statearr_17711;\n})();\nif(cljs.core.truth_(inst_17669)){\nvar statearr_17718_20010 \x3d state_17693__$1;\n(statearr_17718_20010[(1)] \x3d (5));\n\n} else {\nvar statearr_17719_20011 \x3d state_17693__$1;\n(statearr_17719_20011[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (13))){\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17720_20012 \x3d state_17693__$1;\n(statearr_17720_20012[(2)] \x3d null);\n\n(statearr_17720_20012[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (6))){\nvar inst_17664 \x3d (state_17693[(7)]);\nvar state_17693__$1 \x3d state_17693;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_17693__$1,(11),to,inst_17664);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (3))){\nvar inst_17691 \x3d (state_17693[(2)]);\nvar state_17693__$1 \x3d state_17693;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17693__$1,inst_17691);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (12))){\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17725_20013 \x3d state_17693__$1;\n(statearr_17725_20013[(2)] \x3d null);\n\n(statearr_17725_20013[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (2))){\nvar state_17693__$1 \x3d state_17693;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17693__$1,(4),from);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (11))){\nvar inst_17682 \x3d (state_17693[(2)]);\nvar state_17693__$1 \x3d state_17693;\nif(cljs.core.truth_(inst_17682)){\nvar statearr_17727_20014 \x3d state_17693__$1;\n(statearr_17727_20014[(1)] \x3d (12));\n\n} else {\nvar statearr_17728_20015 \x3d state_17693__$1;\n(statearr_17728_20015[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (9))){\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17729_20016 \x3d state_17693__$1;\n(statearr_17729_20016[(2)] \x3d null);\n\n(statearr_17729_20016[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (5))){\nvar state_17693__$1 \x3d state_17693;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_17730_20017 \x3d state_17693__$1;\n(statearr_17730_20017[(1)] \x3d (8));\n\n} else {\nvar statearr_17731_20018 \x3d state_17693__$1;\n(statearr_17731_20018[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (14))){\nvar inst_17687 \x3d (state_17693[(2)]);\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17732_20019 \x3d state_17693__$1;\n(statearr_17732_20019[(2)] \x3d inst_17687);\n\n(statearr_17732_20019[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (10))){\nvar inst_17679 \x3d (state_17693[(2)]);\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17734_20020 \x3d state_17693__$1;\n(statearr_17734_20020[(2)] \x3d inst_17679);\n\n(statearr_17734_20020[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17694 \x3d\x3d\x3d (8))){\nvar inst_17676 \x3d cljs.core.async.close_BANG_(to);\nvar state_17693__$1 \x3d state_17693;\nvar statearr_17738_20021 \x3d state_17693__$1;\n(statearr_17738_20021[(2)] \x3d inst_17676);\n\n(statearr_17738_20021[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_17739 \x3d [null,null,null,null,null,null,null,null];\n(statearr_17739[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_17739[(1)] \x3d (1));\n\nreturn statearr_17739;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_17693){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17693);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e17740){var ex__17347__auto__ \x3d e17740;\nvar statearr_17741_20025 \x3d state_17693;\n(statearr_17741_20025[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17693[(4)]))){\nvar statearr_17742_20026 \x3d state_17693;\n(statearr_17742_20026[(1)] \x3d cljs.core.first((state_17693[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20027 \x3d state_17693;\nstate_17693 \x3d G__20027;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_17693){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_17693);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_17743 \x3d f__17495__auto__();\n(statearr_17743[(6)] \x3d c__17494__auto___20007);\n\nreturn statearr_17743;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn to;\n}));\n\n(cljs.core.async.pipe.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.pipeline_STAR_ \x3d (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){\nif((n \x3e (0))){\n} else {\nthrow (new Error(\x22Assert failed: (pos? n)\x22));\n}\n\nvar jobs \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar results \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar process__$1 \x3d (function (p__17746){\nvar vec__17747 \x3d p__17746;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17747,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17747,(1),null);\nvar job \x3d vec__17747;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);\nvar c__17494__auto___20030 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_17760){\nvar state_val_17761 \x3d (state_17760[(1)]);\nif((state_val_17761 \x3d\x3d\x3d (1))){\nvar state_17760__$1 \x3d state_17760;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_17760__$1,(2),res,v);\n} else {\nif((state_val_17761 \x3d\x3d\x3d (2))){\nvar inst_17757 \x3d (state_17760[(2)]);\nvar inst_17758 \x3d cljs.core.async.close_BANG_(res);\nvar state_17760__$1 \x3d (function (){var statearr_17768 \x3d state_17760;\n(statearr_17768[(7)] \x3d inst_17757);\n\nreturn statearr_17768;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17760__$1,inst_17758);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_17776 \x3d [null,null,null,null,null,null,null,null];\n(statearr_17776[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__);\n\n(statearr_17776[(1)] \x3d (1));\n\nreturn statearr_17776;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1 \x3d (function (state_17760){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17760);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e17778){var ex__17347__auto__ \x3d e17778;\nvar statearr_17779_20034 \x3d state_17760;\n(statearr_17779_20034[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17760[(4)]))){\nvar statearr_17780_20035 \x3d state_17760;\n(statearr_17780_20035[(1)] \x3d cljs.core.first((state_17760[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20040 \x3d state_17760;\nstate_17760 \x3d G__20040;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d function(state_17760){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1.call(this,state_17760);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_17781 \x3d f__17495__auto__();\n(statearr_17781[(6)] \x3d c__17494__auto___20030);\n\nreturn statearr_17781;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar async \x3d (function (p__17783){\nvar vec__17784 \x3d p__17783;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17784,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17784,(1),null);\nvar job \x3d vec__17784;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\n(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar n__5636__auto___20044 \x3d n;\nvar __20045 \x3d (0);\nwhile(true){\nif((__20045 \x3c n__5636__auto___20044)){\nvar G__17787_20046 \x3d type;\nvar G__17787_20047__$1 \x3d (((G__17787_20046 instanceof cljs.core.Keyword))?G__17787_20046.fqn:null);\nswitch (G__17787_20047__$1) {\ncase \x22compute\x22:\nvar c__17494__auto___20052 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__20045,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d ((function (__20045,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function (state_17802){\nvar state_val_17803 \x3d (state_17802[(1)]);\nif((state_val_17803 \x3d\x3d\x3d (1))){\nvar state_17802__$1 \x3d state_17802;\nvar statearr_17804_20054 \x3d state_17802__$1;\n(statearr_17804_20054[(2)] \x3d null);\n\n(statearr_17804_20054[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (2))){\nvar state_17802__$1 \x3d state_17802;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17802__$1,(4),jobs);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (3))){\nvar inst_17800 \x3d (state_17802[(2)]);\nvar state_17802__$1 \x3d state_17802;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17802__$1,inst_17800);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (4))){\nvar inst_17790 \x3d (state_17802[(2)]);\nvar inst_17793 \x3d process__$1(inst_17790);\nvar state_17802__$1 \x3d state_17802;\nif(cljs.core.truth_(inst_17793)){\nvar statearr_17806_20055 \x3d state_17802__$1;\n(statearr_17806_20055[(1)] \x3d (5));\n\n} else {\nvar statearr_17808_20056 \x3d state_17802__$1;\n(statearr_17808_20056[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (5))){\nvar state_17802__$1 \x3d state_17802;\nvar statearr_17809_20057 \x3d state_17802__$1;\n(statearr_17809_20057[(2)] \x3d null);\n\n(statearr_17809_20057[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (6))){\nvar state_17802__$1 \x3d state_17802;\nvar statearr_17810_20058 \x3d state_17802__$1;\n(statearr_17810_20058[(2)] \x3d null);\n\n(statearr_17810_20058[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17803 \x3d\x3d\x3d (7))){\nvar inst_17798 \x3d (state_17802[(2)]);\nvar state_17802__$1 \x3d state_17802;\nvar statearr_17811_20059 \x3d state_17802__$1;\n(statearr_17811_20059[(2)] \x3d inst_17798);\n\n(statearr_17811_20059[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__20045,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n;\nreturn ((function (__20045,switch__17343__auto__,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_17812 \x3d [null,null,null,null,null,null,null];\n(statearr_17812[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__);\n\n(statearr_17812[(1)] \x3d (1));\n\nreturn statearr_17812;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1 \x3d (function (state_17802){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17802);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e17813){var ex__17347__auto__ \x3d e17813;\nvar statearr_17814_20064 \x3d state_17802;\n(statearr_17814_20064[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17802[(4)]))){\nvar statearr_17815_20065 \x3d state_17802;\n(statearr_17815_20065[(1)] \x3d cljs.core.first((state_17802[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20069 \x3d state_17802;\nstate_17802 \x3d G__20069;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d function(state_17802){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1.call(this,state_17802);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__;\n})()\n;})(__20045,switch__17343__auto__,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_17818 \x3d f__17495__auto__();\n(statearr_17818[(6)] \x3d c__17494__auto___20052);\n\nreturn statearr_17818;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n});})(__20045,c__17494__auto___20052,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n);\n\n\nbreak;\ncase \x22async\x22:\nvar c__17494__auto___20070 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__20045,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d ((function (__20045,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function (state_17837){\nvar state_val_17838 \x3d (state_17837[(1)]);\nif((state_val_17838 \x3d\x3d\x3d (1))){\nvar state_17837__$1 \x3d state_17837;\nvar statearr_17839_20074 \x3d state_17837__$1;\n(statearr_17839_20074[(2)] \x3d null);\n\n(statearr_17839_20074[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (2))){\nvar state_17837__$1 \x3d state_17837;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17837__$1,(4),jobs);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (3))){\nvar inst_17835 \x3d (state_17837[(2)]);\nvar state_17837__$1 \x3d state_17837;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17837__$1,inst_17835);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (4))){\nvar inst_17827 \x3d (state_17837[(2)]);\nvar inst_17828 \x3d async(inst_17827);\nvar state_17837__$1 \x3d state_17837;\nif(cljs.core.truth_(inst_17828)){\nvar statearr_17841_20075 \x3d state_17837__$1;\n(statearr_17841_20075[(1)] \x3d (5));\n\n} else {\nvar statearr_17842_20076 \x3d state_17837__$1;\n(statearr_17842_20076[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (5))){\nvar state_17837__$1 \x3d state_17837;\nvar statearr_17843_20077 \x3d state_17837__$1;\n(statearr_17843_20077[(2)] \x3d null);\n\n(statearr_17843_20077[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (6))){\nvar state_17837__$1 \x3d state_17837;\nvar statearr_17844_20078 \x3d state_17837__$1;\n(statearr_17844_20078[(2)] \x3d null);\n\n(statearr_17844_20078[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17838 \x3d\x3d\x3d (7))){\nvar inst_17833 \x3d (state_17837[(2)]);\nvar state_17837__$1 \x3d state_17837;\nvar statearr_17845_20079 \x3d state_17837__$1;\n(statearr_17845_20079[(2)] \x3d inst_17833);\n\n(statearr_17845_20079[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__20045,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n;\nreturn ((function (__20045,switch__17343__auto__,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_17846 \x3d [null,null,null,null,null,null,null];\n(statearr_17846[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__);\n\n(statearr_17846[(1)] \x3d (1));\n\nreturn statearr_17846;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1 \x3d (function (state_17837){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17837);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e17847){var ex__17347__auto__ \x3d e17847;\nvar statearr_17848_20080 \x3d state_17837;\n(statearr_17848_20080[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17837[(4)]))){\nvar statearr_17849_20081 \x3d state_17837;\n(statearr_17849_20081[(1)] \x3d cljs.core.first((state_17837[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20082 \x3d state_17837;\nstate_17837 \x3d G__20082;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d function(state_17837){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1.call(this,state_17837);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__;\n})()\n;})(__20045,switch__17343__auto__,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_17850 \x3d f__17495__auto__();\n(statearr_17850[(6)] \x3d c__17494__auto___20070);\n\nreturn statearr_17850;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n});})(__20045,c__17494__auto___20070,G__17787_20046,G__17787_20047__$1,n__5636__auto___20044,jobs,results,process__$1,async))\n);\n\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__17787_20047__$1)].join(\x27\x27)));\n\n}\n\nvar G__20083 \x3d (__20045 + (1));\n__20045 \x3d G__20083;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar c__17494__auto___20084 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_17872){\nvar state_val_17873 \x3d (state_17872[(1)]);\nif((state_val_17873 \x3d\x3d\x3d (7))){\nvar inst_17868 \x3d (state_17872[(2)]);\nvar state_17872__$1 \x3d state_17872;\nvar statearr_17898_20085 \x3d state_17872__$1;\n(statearr_17898_20085[(2)] \x3d inst_17868);\n\n(statearr_17898_20085[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (1))){\nvar state_17872__$1 \x3d state_17872;\nvar statearr_17899_20086 \x3d state_17872__$1;\n(statearr_17899_20086[(2)] \x3d null);\n\n(statearr_17899_20086[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (4))){\nvar inst_17853 \x3d (state_17872[(7)]);\nvar inst_17853__$1 \x3d (state_17872[(2)]);\nvar inst_17854 \x3d (inst_17853__$1 \x3d\x3d null);\nvar state_17872__$1 \x3d (function (){var statearr_17900 \x3d state_17872;\n(statearr_17900[(7)] \x3d inst_17853__$1);\n\nreturn statearr_17900;\n})();\nif(cljs.core.truth_(inst_17854)){\nvar statearr_17901_20088 \x3d state_17872__$1;\n(statearr_17901_20088[(1)] \x3d (5));\n\n} else {\nvar statearr_17902_20089 \x3d state_17872__$1;\n(statearr_17902_20089[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (6))){\nvar inst_17853 \x3d (state_17872[(7)]);\nvar inst_17858 \x3d (state_17872[(8)]);\nvar inst_17858__$1 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar inst_17859 \x3d cljs.core.PersistentVector.EMPTY_NODE;\nvar inst_17860 \x3d [inst_17853,inst_17858__$1];\nvar inst_17861 \x3d (new cljs.core.PersistentVector(null,2,(5),inst_17859,inst_17860,null));\nvar state_17872__$1 \x3d (function (){var statearr_17903 \x3d state_17872;\n(statearr_17903[(8)] \x3d inst_17858__$1);\n\nreturn statearr_17903;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_17872__$1,(8),jobs,inst_17861);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (3))){\nvar inst_17870 \x3d (state_17872[(2)]);\nvar state_17872__$1 \x3d state_17872;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17872__$1,inst_17870);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (2))){\nvar state_17872__$1 \x3d state_17872;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17872__$1,(4),from);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (9))){\nvar inst_17865 \x3d (state_17872[(2)]);\nvar state_17872__$1 \x3d (function (){var statearr_17905 \x3d state_17872;\n(statearr_17905[(9)] \x3d inst_17865);\n\nreturn statearr_17905;\n})();\nvar statearr_17906_20097 \x3d state_17872__$1;\n(statearr_17906_20097[(2)] \x3d null);\n\n(statearr_17906_20097[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (5))){\nvar inst_17856 \x3d cljs.core.async.close_BANG_(jobs);\nvar state_17872__$1 \x3d state_17872;\nvar statearr_17908_20104 \x3d state_17872__$1;\n(statearr_17908_20104[(2)] \x3d inst_17856);\n\n(statearr_17908_20104[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17873 \x3d\x3d\x3d (8))){\nvar inst_17858 \x3d (state_17872[(8)]);\nvar inst_17863 \x3d (state_17872[(2)]);\nvar state_17872__$1 \x3d (function (){var statearr_17911 \x3d state_17872;\n(statearr_17911[(10)] \x3d inst_17863);\n\nreturn statearr_17911;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_17872__$1,(9),results,inst_17858);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_17912 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_17912[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__);\n\n(statearr_17912[(1)] \x3d (1));\n\nreturn statearr_17912;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1 \x3d (function (state_17872){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17872);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e17914){var ex__17347__auto__ \x3d e17914;\nvar statearr_17915_20109 \x3d state_17872;\n(statearr_17915_20109[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17872[(4)]))){\nvar statearr_17916_20110 \x3d state_17872;\n(statearr_17916_20110[(1)] \x3d cljs.core.first((state_17872[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20111 \x3d state_17872;\nstate_17872 \x3d G__20111;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d function(state_17872){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1.call(this,state_17872);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_17918 \x3d f__17495__auto__();\n(statearr_17918[(6)] \x3d c__17494__auto___20084);\n\nreturn statearr_17918;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_17977){\nvar state_val_17978 \x3d (state_17977[(1)]);\nif((state_val_17978 \x3d\x3d\x3d (7))){\nvar inst_17973 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18021_20112 \x3d state_17977__$1;\n(statearr_18021_20112[(2)] \x3d inst_17973);\n\n(statearr_18021_20112[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (20))){\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18022_20113 \x3d state_17977__$1;\n(statearr_18022_20113[(2)] \x3d null);\n\n(statearr_18022_20113[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (1))){\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18023_20114 \x3d state_17977__$1;\n(statearr_18023_20114[(2)] \x3d null);\n\n(statearr_18023_20114[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (4))){\nvar inst_17926 \x3d (state_17977[(7)]);\nvar inst_17926__$1 \x3d (state_17977[(2)]);\nvar inst_17932 \x3d (inst_17926__$1 \x3d\x3d null);\nvar state_17977__$1 \x3d (function (){var statearr_18024 \x3d state_17977;\n(statearr_18024[(7)] \x3d inst_17926__$1);\n\nreturn statearr_18024;\n})();\nif(cljs.core.truth_(inst_17932)){\nvar statearr_18025_20115 \x3d state_17977__$1;\n(statearr_18025_20115[(1)] \x3d (5));\n\n} else {\nvar statearr_18027_20116 \x3d state_17977__$1;\n(statearr_18027_20116[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (15))){\nvar inst_17955 \x3d (state_17977[(8)]);\nvar state_17977__$1 \x3d state_17977;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_17977__$1,(18),to,inst_17955);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (21))){\nvar inst_17968 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18028_20119 \x3d state_17977__$1;\n(statearr_18028_20119[(2)] \x3d inst_17968);\n\n(statearr_18028_20119[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (13))){\nvar inst_17970 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d (function (){var statearr_18029 \x3d state_17977;\n(statearr_18029[(9)] \x3d inst_17970);\n\nreturn statearr_18029;\n})();\nvar statearr_18030_20121 \x3d state_17977__$1;\n(statearr_18030_20121[(2)] \x3d null);\n\n(statearr_18030_20121[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (6))){\nvar inst_17926 \x3d (state_17977[(7)]);\nvar state_17977__$1 \x3d state_17977;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17977__$1,(11),inst_17926);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (17))){\nvar inst_17963 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nif(cljs.core.truth_(inst_17963)){\nvar statearr_18031_20122 \x3d state_17977__$1;\n(statearr_18031_20122[(1)] \x3d (19));\n\n} else {\nvar statearr_18032_20123 \x3d state_17977__$1;\n(statearr_18032_20123[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (3))){\nvar inst_17975 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17977__$1,inst_17975);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (12))){\nvar inst_17952 \x3d (state_17977[(10)]);\nvar state_17977__$1 \x3d state_17977;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17977__$1,(14),inst_17952);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (2))){\nvar state_17977__$1 \x3d state_17977;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17977__$1,(4),results);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (19))){\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18045_20124 \x3d state_17977__$1;\n(statearr_18045_20124[(2)] \x3d null);\n\n(statearr_18045_20124[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (11))){\nvar inst_17952 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d (function (){var statearr_18046 \x3d state_17977;\n(statearr_18046[(10)] \x3d inst_17952);\n\nreturn statearr_18046;\n})();\nvar statearr_18047_20125 \x3d state_17977__$1;\n(statearr_18047_20125[(2)] \x3d null);\n\n(statearr_18047_20125[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (9))){\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18050_20126 \x3d state_17977__$1;\n(statearr_18050_20126[(2)] \x3d null);\n\n(statearr_18050_20126[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (5))){\nvar state_17977__$1 \x3d state_17977;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_18051_20127 \x3d state_17977__$1;\n(statearr_18051_20127[(1)] \x3d (8));\n\n} else {\nvar statearr_18052_20128 \x3d state_17977__$1;\n(statearr_18052_20128[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (14))){\nvar inst_17957 \x3d (state_17977[(11)]);\nvar inst_17955 \x3d (state_17977[(8)]);\nvar inst_17955__$1 \x3d (state_17977[(2)]);\nvar inst_17956 \x3d (inst_17955__$1 \x3d\x3d null);\nvar inst_17957__$1 \x3d cljs.core.not(inst_17956);\nvar state_17977__$1 \x3d (function (){var statearr_18053 \x3d state_17977;\n(statearr_18053[(11)] \x3d inst_17957__$1);\n\n(statearr_18053[(8)] \x3d inst_17955__$1);\n\nreturn statearr_18053;\n})();\nif(inst_17957__$1){\nvar statearr_18054_20129 \x3d state_17977__$1;\n(statearr_18054_20129[(1)] \x3d (15));\n\n} else {\nvar statearr_18055_20130 \x3d state_17977__$1;\n(statearr_18055_20130[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (16))){\nvar inst_17957 \x3d (state_17977[(11)]);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18056_20131 \x3d state_17977__$1;\n(statearr_18056_20131[(2)] \x3d inst_17957);\n\n(statearr_18056_20131[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (10))){\nvar inst_17939 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18057_20132 \x3d state_17977__$1;\n(statearr_18057_20132[(2)] \x3d inst_17939);\n\n(statearr_18057_20132[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (18))){\nvar inst_17960 \x3d (state_17977[(2)]);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18058_20133 \x3d state_17977__$1;\n(statearr_18058_20133[(2)] \x3d inst_17960);\n\n(statearr_18058_20133[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_17978 \x3d\x3d\x3d (8))){\nvar inst_17936 \x3d cljs.core.async.close_BANG_(to);\nvar state_17977__$1 \x3d state_17977;\nvar statearr_18061_20134 \x3d state_17977__$1;\n(statearr_18061_20134[(2)] \x3d inst_17936);\n\n(statearr_18061_20134[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18062 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_18062[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__);\n\n(statearr_18062[(1)] \x3d (1));\n\nreturn statearr_18062;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1 \x3d (function (state_17977){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_17977);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18063){var ex__17347__auto__ \x3d e18063;\nvar statearr_18064_20136 \x3d state_17977;\n(statearr_18064_20136[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_17977[(4)]))){\nvar statearr_18065_20137 \x3d state_17977;\n(statearr_18065_20137[(1)] \x3d cljs.core.first((state_17977[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20138 \x3d state_17977;\nstate_17977 \x3d G__20138;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__ \x3d function(state_17977){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1.call(this,state_17977);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18066 \x3d f__17495__auto__();\n(statearr_18066[(6)] \x3d c__17494__auto__);\n\nreturn statearr_18066;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the async function af, with parallelism n. af\n * must be a function of two arguments, the first an input value and\n * the second a channel on which to place the result(s). The\n * presumption is that af will return immediately, having launched some\n * asynchronous operation whose completion/callback will put results on\n * the channel, then close! it. Outputs will be returned in order\n * relative to the inputs. By default, the to channel will be closed\n * when the from channel closes, but can be determined by the close?\n * parameter. Will stop consuming the from channel if the to channel\n * closes. See also pipeline, pipeline-blocking.\n */\ncljs.core.async.pipeline_async \x3d (function cljs$core$async$pipeline_async(var_args){\nvar G__18072 \x3d arguments.length;\nswitch (G__18072) {\ncase 4:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,af,from){\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);\n}));\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,af,from,close_QMARK_){\nreturn cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\n}));\n\n(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the transducer xf, with parallelism n. Because\n * it is parallel, the transducer will be applied independently to each\n * element, not across elements, and may produce zero or more outputs\n * per input. Outputs will be returned in order relative to the\n * inputs. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes.\n * \n * Note this is supplied for API compatibility with the Clojure version.\n * Values of N \x3e 1 will not result in actual concurrency in a\n * single-threaded runtime.\n */\ncljs.core.async.pipeline \x3d (function cljs$core$async$pipeline(var_args){\nvar G__18083 \x3d arguments.length;\nswitch (G__18083) {\ncase 4:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,xf,from){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,xf,from,close_QMARK_){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 \x3d (function (n,to,xf,from,close_QMARK_,ex_handler){\nreturn cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,\x22compute\x22,\x22compute\x22,1555393130));\n}));\n\n(cljs.core.async.pipeline.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Takes a predicate and a source channel and returns a vector of two\n * channels, the first of which will contain the values for which the\n * predicate returned true, the second those for which it returned\n * false.\n * \n * The out channels will be unbuffered by default, or two buf-or-ns can\n * be supplied. The channels will close after the source channel has\n * closed.\n */\ncljs.core.async.split \x3d (function cljs$core$async$split(var_args){\nvar G__18092 \x3d arguments.length;\nswitch (G__18092) {\ncase 2:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);\n}));\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,ch,t_buf_or_n,f_buf_or_n){\nvar tc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);\nvar fc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);\nvar c__17494__auto___20144 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18118){\nvar state_val_18120 \x3d (state_18118[(1)]);\nif((state_val_18120 \x3d\x3d\x3d (7))){\nvar inst_18114 \x3d (state_18118[(2)]);\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18123_20145 \x3d state_18118__$1;\n(statearr_18123_20145[(2)] \x3d inst_18114);\n\n(statearr_18123_20145[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (1))){\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18124_20146 \x3d state_18118__$1;\n(statearr_18124_20146[(2)] \x3d null);\n\n(statearr_18124_20146[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (4))){\nvar inst_18095 \x3d (state_18118[(7)]);\nvar inst_18095__$1 \x3d (state_18118[(2)]);\nvar inst_18096 \x3d (inst_18095__$1 \x3d\x3d null);\nvar state_18118__$1 \x3d (function (){var statearr_18125 \x3d state_18118;\n(statearr_18125[(7)] \x3d inst_18095__$1);\n\nreturn statearr_18125;\n})();\nif(cljs.core.truth_(inst_18096)){\nvar statearr_18126_20147 \x3d state_18118__$1;\n(statearr_18126_20147[(1)] \x3d (5));\n\n} else {\nvar statearr_18127_20148 \x3d state_18118__$1;\n(statearr_18127_20148[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (13))){\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18128_20149 \x3d state_18118__$1;\n(statearr_18128_20149[(2)] \x3d null);\n\n(statearr_18128_20149[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (6))){\nvar inst_18095 \x3d (state_18118[(7)]);\nvar inst_18101 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_18095) : p.call(null,inst_18095));\nvar state_18118__$1 \x3d state_18118;\nif(cljs.core.truth_(inst_18101)){\nvar statearr_18131_20150 \x3d state_18118__$1;\n(statearr_18131_20150[(1)] \x3d (9));\n\n} else {\nvar statearr_18132_20151 \x3d state_18118__$1;\n(statearr_18132_20151[(1)] \x3d (10));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (3))){\nvar inst_18116 \x3d (state_18118[(2)]);\nvar state_18118__$1 \x3d state_18118;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18118__$1,inst_18116);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (12))){\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18143_20152 \x3d state_18118__$1;\n(statearr_18143_20152[(2)] \x3d null);\n\n(statearr_18143_20152[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (2))){\nvar state_18118__$1 \x3d state_18118;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18118__$1,(4),ch);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (11))){\nvar inst_18095 \x3d (state_18118[(7)]);\nvar inst_18105 \x3d (state_18118[(2)]);\nvar state_18118__$1 \x3d state_18118;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_18118__$1,(8),inst_18105,inst_18095);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (9))){\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18144_20153 \x3d state_18118__$1;\n(statearr_18144_20153[(2)] \x3d tc);\n\n(statearr_18144_20153[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (5))){\nvar inst_18098 \x3d cljs.core.async.close_BANG_(tc);\nvar inst_18099 \x3d cljs.core.async.close_BANG_(fc);\nvar state_18118__$1 \x3d (function (){var statearr_18145 \x3d state_18118;\n(statearr_18145[(8)] \x3d inst_18098);\n\nreturn statearr_18145;\n})();\nvar statearr_18146_20154 \x3d state_18118__$1;\n(statearr_18146_20154[(2)] \x3d inst_18099);\n\n(statearr_18146_20154[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (14))){\nvar inst_18112 \x3d (state_18118[(2)]);\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18147_20155 \x3d state_18118__$1;\n(statearr_18147_20155[(2)] \x3d inst_18112);\n\n(statearr_18147_20155[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (10))){\nvar state_18118__$1 \x3d state_18118;\nvar statearr_18148_20156 \x3d state_18118__$1;\n(statearr_18148_20156[(2)] \x3d fc);\n\n(statearr_18148_20156[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18120 \x3d\x3d\x3d (8))){\nvar inst_18107 \x3d (state_18118[(2)]);\nvar state_18118__$1 \x3d state_18118;\nif(cljs.core.truth_(inst_18107)){\nvar statearr_18149_20157 \x3d state_18118__$1;\n(statearr_18149_20157[(1)] \x3d (12));\n\n} else {\nvar statearr_18150_20158 \x3d state_18118__$1;\n(statearr_18150_20158[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18151 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_18151[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_18151[(1)] \x3d (1));\n\nreturn statearr_18151;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_18118){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18118);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18152){var ex__17347__auto__ \x3d e18152;\nvar statearr_18153_20159 \x3d state_18118;\n(statearr_18153_20159[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18118[(4)]))){\nvar statearr_18154_20160 \x3d state_18118;\n(statearr_18154_20160[(1)] \x3d cljs.core.first((state_18118[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20161 \x3d state_18118;\nstate_18118 \x3d G__20161;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_18118){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_18118);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18155 \x3d f__17495__auto__();\n(statearr_18155[(6)] \x3d c__17494__auto___20144);\n\nreturn statearr_18155;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);\n}));\n\n(cljs.core.async.split.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * f should be a function of 2 arguments. Returns a channel containing\n * the single result of applying f to init and the first item from the\n * channel, then applying f to that result and the 2nd item, etc. If\n * the channel closes without yielding items, returns init and f is not\n * called. ch must close before reduce produces a result.\n */\ncljs.core.async.reduce \x3d (function cljs$core$async$reduce(f,init,ch){\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18182){\nvar state_val_18183 \x3d (state_18182[(1)]);\nif((state_val_18183 \x3d\x3d\x3d (7))){\nvar inst_18178 \x3d (state_18182[(2)]);\nvar state_18182__$1 \x3d state_18182;\nvar statearr_18185_20162 \x3d state_18182__$1;\n(statearr_18185_20162[(2)] \x3d inst_18178);\n\n(statearr_18185_20162[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (1))){\nvar inst_18156 \x3d init;\nvar inst_18157 \x3d inst_18156;\nvar state_18182__$1 \x3d (function (){var statearr_18187 \x3d state_18182;\n(statearr_18187[(7)] \x3d inst_18157);\n\nreturn statearr_18187;\n})();\nvar statearr_18188_20163 \x3d state_18182__$1;\n(statearr_18188_20163[(2)] \x3d null);\n\n(statearr_18188_20163[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (4))){\nvar inst_18165 \x3d (state_18182[(8)]);\nvar inst_18165__$1 \x3d (state_18182[(2)]);\nvar inst_18166 \x3d (inst_18165__$1 \x3d\x3d null);\nvar state_18182__$1 \x3d (function (){var statearr_18189 \x3d state_18182;\n(statearr_18189[(8)] \x3d inst_18165__$1);\n\nreturn statearr_18189;\n})();\nif(cljs.core.truth_(inst_18166)){\nvar statearr_18190_20164 \x3d state_18182__$1;\n(statearr_18190_20164[(1)] \x3d (5));\n\n} else {\nvar statearr_18191_20165 \x3d state_18182__$1;\n(statearr_18191_20165[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (6))){\nvar inst_18169 \x3d (state_18182[(9)]);\nvar inst_18165 \x3d (state_18182[(8)]);\nvar inst_18157 \x3d (state_18182[(7)]);\nvar inst_18169__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_18157,inst_18165) : f.call(null,inst_18157,inst_18165));\nvar inst_18170 \x3d cljs.core.reduced_QMARK_(inst_18169__$1);\nvar state_18182__$1 \x3d (function (){var statearr_18193 \x3d state_18182;\n(statearr_18193[(9)] \x3d inst_18169__$1);\n\nreturn statearr_18193;\n})();\nif(inst_18170){\nvar statearr_18196_20166 \x3d state_18182__$1;\n(statearr_18196_20166[(1)] \x3d (8));\n\n} else {\nvar statearr_18197_20167 \x3d state_18182__$1;\n(statearr_18197_20167[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (3))){\nvar inst_18180 \x3d (state_18182[(2)]);\nvar state_18182__$1 \x3d state_18182;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18182__$1,inst_18180);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (2))){\nvar state_18182__$1 \x3d state_18182;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18182__$1,(4),ch);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (9))){\nvar inst_18169 \x3d (state_18182[(9)]);\nvar inst_18157 \x3d inst_18169;\nvar state_18182__$1 \x3d (function (){var statearr_18198 \x3d state_18182;\n(statearr_18198[(7)] \x3d inst_18157);\n\nreturn statearr_18198;\n})();\nvar statearr_18199_20168 \x3d state_18182__$1;\n(statearr_18199_20168[(2)] \x3d null);\n\n(statearr_18199_20168[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (5))){\nvar inst_18157 \x3d (state_18182[(7)]);\nvar state_18182__$1 \x3d state_18182;\nvar statearr_18205_20169 \x3d state_18182__$1;\n(statearr_18205_20169[(2)] \x3d inst_18157);\n\n(statearr_18205_20169[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (10))){\nvar inst_18176 \x3d (state_18182[(2)]);\nvar state_18182__$1 \x3d state_18182;\nvar statearr_18206_20170 \x3d state_18182__$1;\n(statearr_18206_20170[(2)] \x3d inst_18176);\n\n(statearr_18206_20170[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18183 \x3d\x3d\x3d (8))){\nvar inst_18169 \x3d (state_18182[(9)]);\nvar inst_18172 \x3d cljs.core.deref(inst_18169);\nvar state_18182__$1 \x3d state_18182;\nvar statearr_18207_20171 \x3d state_18182__$1;\n(statearr_18207_20171[(2)] \x3d inst_18172);\n\n(statearr_18207_20171[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$reduce_$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$reduce_$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18209 \x3d [null,null,null,null,null,null,null,null,null,null];\n(statearr_18209[(0)] \x3d cljs$core$async$reduce_$_state_machine__17344__auto__);\n\n(statearr_18209[(1)] \x3d (1));\n\nreturn statearr_18209;\n});\nvar cljs$core$async$reduce_$_state_machine__17344__auto____1 \x3d (function (state_18182){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18182);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18210){var ex__17347__auto__ \x3d e18210;\nvar statearr_18211_20172 \x3d state_18182;\n(statearr_18211_20172[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18182[(4)]))){\nvar statearr_18212_20173 \x3d state_18182;\n(statearr_18212_20173[(1)] \x3d cljs.core.first((state_18182[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20174 \x3d state_18182;\nstate_18182 \x3d G__20174;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$reduce_$_state_machine__17344__auto__ \x3d function(state_18182){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$reduce_$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$reduce_$_state_machine__17344__auto____1.call(this,state_18182);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$reduce_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$reduce_$_state_machine__17344__auto____0;\ncljs$core$async$reduce_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$reduce_$_state_machine__17344__auto____1;\nreturn cljs$core$async$reduce_$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18216 \x3d f__17495__auto__();\n(statearr_18216[(6)] \x3d c__17494__auto__);\n\nreturn statearr_18216;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n});\n/**\n * async/reduces a channel with a transformation (xform f).\n * Returns a channel containing the result. ch must close before\n * transduce produces a result.\n */\ncljs.core.async.transduce \x3d (function cljs$core$async$transduce(xform,f,init,ch){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18227){\nvar state_val_18228 \x3d (state_18227[(1)]);\nif((state_val_18228 \x3d\x3d\x3d (1))){\nvar inst_18222 \x3d cljs.core.async.reduce(f__$1,init,ch);\nvar state_18227__$1 \x3d state_18227;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18227__$1,(2),inst_18222);\n} else {\nif((state_val_18228 \x3d\x3d\x3d (2))){\nvar inst_18224 \x3d (state_18227[(2)]);\nvar inst_18225 \x3d (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_18224) : f__$1.call(null,inst_18224));\nvar state_18227__$1 \x3d state_18227;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18227__$1,inst_18225);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$transduce_$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$transduce_$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18229 \x3d [null,null,null,null,null,null,null];\n(statearr_18229[(0)] \x3d cljs$core$async$transduce_$_state_machine__17344__auto__);\n\n(statearr_18229[(1)] \x3d (1));\n\nreturn statearr_18229;\n});\nvar cljs$core$async$transduce_$_state_machine__17344__auto____1 \x3d (function (state_18227){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18227);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18230){var ex__17347__auto__ \x3d e18230;\nvar statearr_18231_20175 \x3d state_18227;\n(statearr_18231_20175[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18227[(4)]))){\nvar statearr_18232_20176 \x3d state_18227;\n(statearr_18232_20176[(1)] \x3d cljs.core.first((state_18227[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20177 \x3d state_18227;\nstate_18227 \x3d G__20177;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$transduce_$_state_machine__17344__auto__ \x3d function(state_18227){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$transduce_$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$transduce_$_state_machine__17344__auto____1.call(this,state_18227);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$transduce_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$transduce_$_state_machine__17344__auto____0;\ncljs$core$async$transduce_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$transduce_$_state_machine__17344__auto____1;\nreturn cljs$core$async$transduce_$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18235 \x3d f__17495__auto__();\n(statearr_18235[(6)] \x3d c__17494__auto__);\n\nreturn statearr_18235;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n});\n/**\n * Puts the contents of coll into the supplied channel.\n * \n * By default the channel will be closed after the items are copied,\n * but can be determined by the close? parameter.\n * \n * Returns a channel which will close after the items are copied.\n */\ncljs.core.async.onto_chan_BANG_ \x3d (function cljs$core$async$onto_chan_BANG_(var_args){\nvar G__18237 \x3d arguments.length;\nswitch (G__18237) {\ncase 2:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18275){\nvar state_val_18276 \x3d (state_18275[(1)]);\nif((state_val_18276 \x3d\x3d\x3d (7))){\nvar inst_18257 \x3d (state_18275[(2)]);\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18279_20183 \x3d state_18275__$1;\n(statearr_18279_20183[(2)] \x3d inst_18257);\n\n(statearr_18279_20183[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (1))){\nvar inst_18251 \x3d cljs.core.seq(coll);\nvar inst_18252 \x3d inst_18251;\nvar state_18275__$1 \x3d (function (){var statearr_18280 \x3d state_18275;\n(statearr_18280[(7)] \x3d inst_18252);\n\nreturn statearr_18280;\n})();\nvar statearr_18281_20184 \x3d state_18275__$1;\n(statearr_18281_20184[(2)] \x3d null);\n\n(statearr_18281_20184[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (4))){\nvar inst_18252 \x3d (state_18275[(7)]);\nvar inst_18255 \x3d cljs.core.first(inst_18252);\nvar state_18275__$1 \x3d state_18275;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_18275__$1,(7),ch,inst_18255);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (13))){\nvar inst_18269 \x3d (state_18275[(2)]);\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18284_20186 \x3d state_18275__$1;\n(statearr_18284_20186[(2)] \x3d inst_18269);\n\n(statearr_18284_20186[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (6))){\nvar inst_18260 \x3d (state_18275[(2)]);\nvar state_18275__$1 \x3d state_18275;\nif(cljs.core.truth_(inst_18260)){\nvar statearr_18285_20197 \x3d state_18275__$1;\n(statearr_18285_20197[(1)] \x3d (8));\n\n} else {\nvar statearr_18286_20198 \x3d state_18275__$1;\n(statearr_18286_20198[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (3))){\nvar inst_18273 \x3d (state_18275[(2)]);\nvar state_18275__$1 \x3d state_18275;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18275__$1,inst_18273);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (12))){\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18289_20199 \x3d state_18275__$1;\n(statearr_18289_20199[(2)] \x3d null);\n\n(statearr_18289_20199[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (2))){\nvar inst_18252 \x3d (state_18275[(7)]);\nvar state_18275__$1 \x3d state_18275;\nif(cljs.core.truth_(inst_18252)){\nvar statearr_18291_20201 \x3d state_18275__$1;\n(statearr_18291_20201[(1)] \x3d (4));\n\n} else {\nvar statearr_18292_20202 \x3d state_18275__$1;\n(statearr_18292_20202[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (11))){\nvar inst_18266 \x3d cljs.core.async.close_BANG_(ch);\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18293_20203 \x3d state_18275__$1;\n(statearr_18293_20203[(2)] \x3d inst_18266);\n\n(statearr_18293_20203[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (9))){\nvar state_18275__$1 \x3d state_18275;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_18294_20204 \x3d state_18275__$1;\n(statearr_18294_20204[(1)] \x3d (11));\n\n} else {\nvar statearr_18295_20205 \x3d state_18275__$1;\n(statearr_18295_20205[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (5))){\nvar inst_18252 \x3d (state_18275[(7)]);\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18296_20206 \x3d state_18275__$1;\n(statearr_18296_20206[(2)] \x3d inst_18252);\n\n(statearr_18296_20206[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (10))){\nvar inst_18271 \x3d (state_18275[(2)]);\nvar state_18275__$1 \x3d state_18275;\nvar statearr_18297_20207 \x3d state_18275__$1;\n(statearr_18297_20207[(2)] \x3d inst_18271);\n\n(statearr_18297_20207[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18276 \x3d\x3d\x3d (8))){\nvar inst_18252 \x3d (state_18275[(7)]);\nvar inst_18262 \x3d cljs.core.next(inst_18252);\nvar inst_18252__$1 \x3d inst_18262;\nvar state_18275__$1 \x3d (function (){var statearr_18298 \x3d state_18275;\n(statearr_18298[(7)] \x3d inst_18252__$1);\n\nreturn statearr_18298;\n})();\nvar statearr_18299_20208 \x3d state_18275__$1;\n(statearr_18299_20208[(2)] \x3d null);\n\n(statearr_18299_20208[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18356 \x3d [null,null,null,null,null,null,null,null];\n(statearr_18356[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_18356[(1)] \x3d (1));\n\nreturn statearr_18356;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_18275){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18275);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18357){var ex__17347__auto__ \x3d e18357;\nvar statearr_18358_20209 \x3d state_18275;\n(statearr_18358_20209[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18275[(4)]))){\nvar statearr_18359_20210 \x3d state_18275;\n(statearr_18359_20210[(1)] \x3d cljs.core.first((state_18275[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20212 \x3d state_18275;\nstate_18275 \x3d G__20212;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_18275){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_18275);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18360 \x3d f__17495__auto__();\n(statearr_18360[(6)] \x3d c__17494__auto__);\n\nreturn statearr_18360;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates and returns a channel which contains the contents of coll,\n * closing when exhausted.\n */\ncljs.core.async.to_chan_BANG_ \x3d (function cljs$core$async$to_chan_BANG_(coll){\nvar ch \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));\ncljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);\n\nreturn ch;\n});\n/**\n * Deprecated - use onto-chan!\n */\ncljs.core.async.onto_chan \x3d (function cljs$core$async$onto_chan(var_args){\nvar G__18363 \x3d arguments.length;\nswitch (G__18363) {\ncase 2:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);\n}));\n\n(cljs.core.async.onto_chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - use to-chan!\n */\ncljs.core.async.to_chan \x3d (function cljs$core$async$to_chan(coll){\nreturn cljs.core.async.to_chan_BANG_(coll);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mux \x3d function(){};\n\nvar cljs$core$async$Mux$muxch_STAR_$dyn_20217 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.core.async.muxch_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.muxch_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mux.muxch*\x22,_);\n}\n}\n});\ncljs.core.async.muxch_STAR_ \x3d (function cljs$core$async$muxch_STAR_(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);\n} else {\nreturn cljs$core$async$Mux$muxch_STAR_$dyn_20217(_);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.Mult \x3d function(){};\n\nvar cljs$core$async$Mult$tap_STAR_$dyn_20218 \x3d (function (m,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.tap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5394__auto__.call(null,m,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.tap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5392__auto__.call(null,m,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.tap*\x22,m);\n}\n}\n});\ncljs.core.async.tap_STAR_ \x3d (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Mult$tap_STAR_$dyn_20218(m,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Mult$untap_STAR_$dyn_20221 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap*\x22,m);\n}\n}\n});\ncljs.core.async.untap_STAR_ \x3d (function cljs$core$async$untap_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mult$untap_STAR_$dyn_20221(m,ch);\n}\n});\n\nvar cljs$core$async$Mult$untap_all_STAR_$dyn_20222 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap-all*\x22,m);\n}\n}\n});\ncljs.core.async.untap_all_STAR_ \x3d (function cljs$core$async$untap_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mult$untap_all_STAR_$dyn_20222(m);\n}\n});\n\n/**\n * Creates and returns a mult(iple) of the supplied channel. Channels\n * containing copies of the channel can be created with \x27tap\x27, and\n * detached with \x27untap\x27.\n * \n * Each item is distributed to all taps in parallel and synchronously,\n * i.e. each tap must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow taps from holding up the mult.\n * \n * Items received when there are no taps get dropped.\n * \n * If a tap puts to a closed channel, it will be removed from the mult.\n */\ncljs.core.async.mult \x3d (function cljs$core$async$mult(ch){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar m \x3d (function (){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async18380 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.Mult}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18380 \x3d (function (ch,cs,meta18381){\nthis.ch \x3d ch;\nthis.cs \x3d cs;\nthis.meta18381 \x3d meta18381;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18382,meta18381__$1){\nvar self__ \x3d this;\nvar _18382__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18380(self__.ch,self__.cs,meta18381__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18382){\nvar self__ \x3d this;\nvar _18382__$1 \x3d this;\nreturn self__.meta18381;\n}));\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mult$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d (function (_,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d (function (_,ch__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async18380.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async18380.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22meta18381\x22,\x22meta18381\x22,623553470,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18380.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18380.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18380\x22);\n\n(cljs.core.async.t_cljs$core$async18380.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18380\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18380.\n */\ncljs.core.async.__GT_t_cljs$core$async18380 \x3d (function cljs$core$async$mult_$___GT_t_cljs$core$async18380(ch__$1,cs__$1,meta18381){\nreturn (new cljs.core.async.t_cljs$core$async18380(ch__$1,cs__$1,meta18381));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async18380(ch,cs,cljs.core.PersistentArrayMap.EMPTY));\n})()\n;\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d (function (_){\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);\n} else {\nreturn null;\n}\n});\nvar c__17494__auto___20225 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18525){\nvar state_val_18528 \x3d (state_18525[(1)]);\nif((state_val_18528 \x3d\x3d\x3d (7))){\nvar inst_18519 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18529_20226 \x3d state_18525__$1;\n(statearr_18529_20226[(2)] \x3d inst_18519);\n\n(statearr_18529_20226[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (20))){\nvar inst_18418 \x3d (state_18525[(7)]);\nvar inst_18434 \x3d cljs.core.first(inst_18418);\nvar inst_18435 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18434,(0),null);\nvar inst_18436 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18434,(1),null);\nvar state_18525__$1 \x3d (function (){var statearr_18530 \x3d state_18525;\n(statearr_18530[(8)] \x3d inst_18435);\n\nreturn statearr_18530;\n})();\nif(cljs.core.truth_(inst_18436)){\nvar statearr_18531_20227 \x3d state_18525__$1;\n(statearr_18531_20227[(1)] \x3d (22));\n\n} else {\nvar statearr_18532_20228 \x3d state_18525__$1;\n(statearr_18532_20228[(1)] \x3d (23));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (27))){\nvar inst_18471 \x3d (state_18525[(9)]);\nvar inst_18386 \x3d (state_18525[(10)]);\nvar inst_18464 \x3d (state_18525[(11)]);\nvar inst_18466 \x3d (state_18525[(12)]);\nvar inst_18471__$1 \x3d cljs.core._nth(inst_18464,inst_18466);\nvar inst_18472 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_18471__$1,inst_18386,done);\nvar state_18525__$1 \x3d (function (){var statearr_18547 \x3d state_18525;\n(statearr_18547[(9)] \x3d inst_18471__$1);\n\nreturn statearr_18547;\n})();\nif(cljs.core.truth_(inst_18472)){\nvar statearr_18549_20229 \x3d state_18525__$1;\n(statearr_18549_20229[(1)] \x3d (30));\n\n} else {\nvar statearr_18550_20230 \x3d state_18525__$1;\n(statearr_18550_20230[(1)] \x3d (31));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (1))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18552_20231 \x3d state_18525__$1;\n(statearr_18552_20231[(2)] \x3d null);\n\n(statearr_18552_20231[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (24))){\nvar inst_18418 \x3d (state_18525[(7)]);\nvar inst_18441 \x3d (state_18525[(2)]);\nvar inst_18442 \x3d cljs.core.next(inst_18418);\nvar inst_18395 \x3d inst_18442;\nvar inst_18396 \x3d null;\nvar inst_18397 \x3d (0);\nvar inst_18398 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18557 \x3d state_18525;\n(statearr_18557[(13)] \x3d inst_18396);\n\n(statearr_18557[(14)] \x3d inst_18398);\n\n(statearr_18557[(15)] \x3d inst_18441);\n\n(statearr_18557[(16)] \x3d inst_18395);\n\n(statearr_18557[(17)] \x3d inst_18397);\n\nreturn statearr_18557;\n})();\nvar statearr_18558_20232 \x3d state_18525__$1;\n(statearr_18558_20232[(2)] \x3d null);\n\n(statearr_18558_20232[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (39))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18563_20233 \x3d state_18525__$1;\n(statearr_18563_20233[(2)] \x3d null);\n\n(statearr_18563_20233[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (4))){\nvar inst_18386 \x3d (state_18525[(10)]);\nvar inst_18386__$1 \x3d (state_18525[(2)]);\nvar inst_18387 \x3d (inst_18386__$1 \x3d\x3d null);\nvar state_18525__$1 \x3d (function (){var statearr_18566 \x3d state_18525;\n(statearr_18566[(10)] \x3d inst_18386__$1);\n\nreturn statearr_18566;\n})();\nif(cljs.core.truth_(inst_18387)){\nvar statearr_18567_20234 \x3d state_18525__$1;\n(statearr_18567_20234[(1)] \x3d (5));\n\n} else {\nvar statearr_18568_20235 \x3d state_18525__$1;\n(statearr_18568_20235[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (15))){\nvar inst_18396 \x3d (state_18525[(13)]);\nvar inst_18398 \x3d (state_18525[(14)]);\nvar inst_18395 \x3d (state_18525[(16)]);\nvar inst_18397 \x3d (state_18525[(17)]);\nvar inst_18413 \x3d (state_18525[(2)]);\nvar inst_18414 \x3d (inst_18398 + (1));\nvar tmp18560 \x3d inst_18396;\nvar tmp18561 \x3d inst_18395;\nvar tmp18562 \x3d inst_18397;\nvar inst_18395__$1 \x3d tmp18561;\nvar inst_18396__$1 \x3d tmp18560;\nvar inst_18397__$1 \x3d tmp18562;\nvar inst_18398__$1 \x3d inst_18414;\nvar state_18525__$1 \x3d (function (){var statearr_18570 \x3d state_18525;\n(statearr_18570[(13)] \x3d inst_18396__$1);\n\n(statearr_18570[(14)] \x3d inst_18398__$1);\n\n(statearr_18570[(16)] \x3d inst_18395__$1);\n\n(statearr_18570[(18)] \x3d inst_18413);\n\n(statearr_18570[(17)] \x3d inst_18397__$1);\n\nreturn statearr_18570;\n})();\nvar statearr_18576_20236 \x3d state_18525__$1;\n(statearr_18576_20236[(2)] \x3d null);\n\n(statearr_18576_20236[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (21))){\nvar inst_18445 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18581_20237 \x3d state_18525__$1;\n(statearr_18581_20237[(2)] \x3d inst_18445);\n\n(statearr_18581_20237[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (31))){\nvar inst_18471 \x3d (state_18525[(9)]);\nvar inst_18475 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_18471);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18585_20238 \x3d state_18525__$1;\n(statearr_18585_20238[(2)] \x3d inst_18475);\n\n(statearr_18585_20238[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (32))){\nvar inst_18465 \x3d (state_18525[(19)]);\nvar inst_18464 \x3d (state_18525[(11)]);\nvar inst_18463 \x3d (state_18525[(20)]);\nvar inst_18466 \x3d (state_18525[(12)]);\nvar inst_18477 \x3d (state_18525[(2)]);\nvar inst_18478 \x3d (inst_18466 + (1));\nvar tmp18577 \x3d inst_18465;\nvar tmp18578 \x3d inst_18464;\nvar tmp18579 \x3d inst_18463;\nvar inst_18463__$1 \x3d tmp18579;\nvar inst_18464__$1 \x3d tmp18578;\nvar inst_18465__$1 \x3d tmp18577;\nvar inst_18466__$1 \x3d inst_18478;\nvar state_18525__$1 \x3d (function (){var statearr_18586 \x3d state_18525;\n(statearr_18586[(21)] \x3d inst_18477);\n\n(statearr_18586[(19)] \x3d inst_18465__$1);\n\n(statearr_18586[(11)] \x3d inst_18464__$1);\n\n(statearr_18586[(20)] \x3d inst_18463__$1);\n\n(statearr_18586[(12)] \x3d inst_18466__$1);\n\nreturn statearr_18586;\n})();\nvar statearr_18587_20239 \x3d state_18525__$1;\n(statearr_18587_20239[(2)] \x3d null);\n\n(statearr_18587_20239[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (40))){\nvar inst_18492 \x3d (state_18525[(22)]);\nvar inst_18496 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_18492);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18588_20240 \x3d state_18525__$1;\n(statearr_18588_20240[(2)] \x3d inst_18496);\n\n(statearr_18588_20240[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (33))){\nvar inst_18481 \x3d (state_18525[(23)]);\nvar inst_18485 \x3d cljs.core.chunked_seq_QMARK_(inst_18481);\nvar state_18525__$1 \x3d state_18525;\nif(inst_18485){\nvar statearr_18589_20241 \x3d state_18525__$1;\n(statearr_18589_20241[(1)] \x3d (36));\n\n} else {\nvar statearr_18591_20242 \x3d state_18525__$1;\n(statearr_18591_20242[(1)] \x3d (37));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (13))){\nvar inst_18407 \x3d (state_18525[(24)]);\nvar inst_18410 \x3d cljs.core.async.close_BANG_(inst_18407);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18593_20243 \x3d state_18525__$1;\n(statearr_18593_20243[(2)] \x3d inst_18410);\n\n(statearr_18593_20243[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (22))){\nvar inst_18435 \x3d (state_18525[(8)]);\nvar inst_18438 \x3d cljs.core.async.close_BANG_(inst_18435);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18595_20244 \x3d state_18525__$1;\n(statearr_18595_20244[(2)] \x3d inst_18438);\n\n(statearr_18595_20244[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (36))){\nvar inst_18481 \x3d (state_18525[(23)]);\nvar inst_18487 \x3d cljs.core.chunk_first(inst_18481);\nvar inst_18488 \x3d cljs.core.chunk_rest(inst_18481);\nvar inst_18489 \x3d cljs.core.count(inst_18487);\nvar inst_18463 \x3d inst_18488;\nvar inst_18464 \x3d inst_18487;\nvar inst_18465 \x3d inst_18489;\nvar inst_18466 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18596 \x3d state_18525;\n(statearr_18596[(19)] \x3d inst_18465);\n\n(statearr_18596[(11)] \x3d inst_18464);\n\n(statearr_18596[(20)] \x3d inst_18463);\n\n(statearr_18596[(12)] \x3d inst_18466);\n\nreturn statearr_18596;\n})();\nvar statearr_18598_20245 \x3d state_18525__$1;\n(statearr_18598_20245[(2)] \x3d null);\n\n(statearr_18598_20245[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (41))){\nvar inst_18481 \x3d (state_18525[(23)]);\nvar inst_18498 \x3d (state_18525[(2)]);\nvar inst_18499 \x3d cljs.core.next(inst_18481);\nvar inst_18463 \x3d inst_18499;\nvar inst_18464 \x3d null;\nvar inst_18465 \x3d (0);\nvar inst_18466 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18599 \x3d state_18525;\n(statearr_18599[(19)] \x3d inst_18465);\n\n(statearr_18599[(25)] \x3d inst_18498);\n\n(statearr_18599[(11)] \x3d inst_18464);\n\n(statearr_18599[(20)] \x3d inst_18463);\n\n(statearr_18599[(12)] \x3d inst_18466);\n\nreturn statearr_18599;\n})();\nvar statearr_18600_20246 \x3d state_18525__$1;\n(statearr_18600_20246[(2)] \x3d null);\n\n(statearr_18600_20246[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (43))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18601_20247 \x3d state_18525__$1;\n(statearr_18601_20247[(2)] \x3d null);\n\n(statearr_18601_20247[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (29))){\nvar inst_18507 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18604_20248 \x3d state_18525__$1;\n(statearr_18604_20248[(2)] \x3d inst_18507);\n\n(statearr_18604_20248[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (44))){\nvar inst_18516 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d (function (){var statearr_18606 \x3d state_18525;\n(statearr_18606[(26)] \x3d inst_18516);\n\nreturn statearr_18606;\n})();\nvar statearr_18607_20249 \x3d state_18525__$1;\n(statearr_18607_20249[(2)] \x3d null);\n\n(statearr_18607_20249[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (6))){\nvar inst_18455 \x3d (state_18525[(27)]);\nvar inst_18454 \x3d cljs.core.deref(cs);\nvar inst_18455__$1 \x3d cljs.core.keys(inst_18454);\nvar inst_18456 \x3d cljs.core.count(inst_18455__$1);\nvar inst_18457 \x3d cljs.core.reset_BANG_(dctr,inst_18456);\nvar inst_18462 \x3d cljs.core.seq(inst_18455__$1);\nvar inst_18463 \x3d inst_18462;\nvar inst_18464 \x3d null;\nvar inst_18465 \x3d (0);\nvar inst_18466 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18610 \x3d state_18525;\n(statearr_18610[(19)] \x3d inst_18465);\n\n(statearr_18610[(28)] \x3d inst_18457);\n\n(statearr_18610[(11)] \x3d inst_18464);\n\n(statearr_18610[(27)] \x3d inst_18455__$1);\n\n(statearr_18610[(20)] \x3d inst_18463);\n\n(statearr_18610[(12)] \x3d inst_18466);\n\nreturn statearr_18610;\n})();\nvar statearr_18615_20250 \x3d state_18525__$1;\n(statearr_18615_20250[(2)] \x3d null);\n\n(statearr_18615_20250[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (28))){\nvar inst_18481 \x3d (state_18525[(23)]);\nvar inst_18463 \x3d (state_18525[(20)]);\nvar inst_18481__$1 \x3d cljs.core.seq(inst_18463);\nvar state_18525__$1 \x3d (function (){var statearr_18616 \x3d state_18525;\n(statearr_18616[(23)] \x3d inst_18481__$1);\n\nreturn statearr_18616;\n})();\nif(inst_18481__$1){\nvar statearr_18617_20251 \x3d state_18525__$1;\n(statearr_18617_20251[(1)] \x3d (33));\n\n} else {\nvar statearr_18618_20252 \x3d state_18525__$1;\n(statearr_18618_20252[(1)] \x3d (34));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (25))){\nvar inst_18465 \x3d (state_18525[(19)]);\nvar inst_18466 \x3d (state_18525[(12)]);\nvar inst_18468 \x3d (inst_18466 \x3c inst_18465);\nvar inst_18469 \x3d inst_18468;\nvar state_18525__$1 \x3d state_18525;\nif(cljs.core.truth_(inst_18469)){\nvar statearr_18619_20254 \x3d state_18525__$1;\n(statearr_18619_20254[(1)] \x3d (27));\n\n} else {\nvar statearr_18620_20255 \x3d state_18525__$1;\n(statearr_18620_20255[(1)] \x3d (28));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (34))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18621_20256 \x3d state_18525__$1;\n(statearr_18621_20256[(2)] \x3d null);\n\n(statearr_18621_20256[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (17))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18623_20257 \x3d state_18525__$1;\n(statearr_18623_20257[(2)] \x3d null);\n\n(statearr_18623_20257[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (3))){\nvar inst_18521 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18525__$1,inst_18521);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (12))){\nvar inst_18450 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18625_20259 \x3d state_18525__$1;\n(statearr_18625_20259[(2)] \x3d inst_18450);\n\n(statearr_18625_20259[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (2))){\nvar state_18525__$1 \x3d state_18525;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18525__$1,(4),ch);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (23))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18627_20260 \x3d state_18525__$1;\n(statearr_18627_20260[(2)] \x3d null);\n\n(statearr_18627_20260[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (35))){\nvar inst_18505 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18628_20261 \x3d state_18525__$1;\n(statearr_18628_20261[(2)] \x3d inst_18505);\n\n(statearr_18628_20261[(1)] \x3d (29));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (19))){\nvar inst_18418 \x3d (state_18525[(7)]);\nvar inst_18422 \x3d cljs.core.chunk_first(inst_18418);\nvar inst_18423 \x3d cljs.core.chunk_rest(inst_18418);\nvar inst_18424 \x3d cljs.core.count(inst_18422);\nvar inst_18395 \x3d inst_18423;\nvar inst_18396 \x3d inst_18422;\nvar inst_18397 \x3d inst_18424;\nvar inst_18398 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18629 \x3d state_18525;\n(statearr_18629[(13)] \x3d inst_18396);\n\n(statearr_18629[(14)] \x3d inst_18398);\n\n(statearr_18629[(16)] \x3d inst_18395);\n\n(statearr_18629[(17)] \x3d inst_18397);\n\nreturn statearr_18629;\n})();\nvar statearr_18631_20264 \x3d state_18525__$1;\n(statearr_18631_20264[(2)] \x3d null);\n\n(statearr_18631_20264[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (11))){\nvar inst_18418 \x3d (state_18525[(7)]);\nvar inst_18395 \x3d (state_18525[(16)]);\nvar inst_18418__$1 \x3d cljs.core.seq(inst_18395);\nvar state_18525__$1 \x3d (function (){var statearr_18634 \x3d state_18525;\n(statearr_18634[(7)] \x3d inst_18418__$1);\n\nreturn statearr_18634;\n})();\nif(inst_18418__$1){\nvar statearr_18637_20265 \x3d state_18525__$1;\n(statearr_18637_20265[(1)] \x3d (16));\n\n} else {\nvar statearr_18638_20266 \x3d state_18525__$1;\n(statearr_18638_20266[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (9))){\nvar inst_18452 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18639_20268 \x3d state_18525__$1;\n(statearr_18639_20268[(2)] \x3d inst_18452);\n\n(statearr_18639_20268[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (5))){\nvar inst_18393 \x3d cljs.core.deref(cs);\nvar inst_18394 \x3d cljs.core.seq(inst_18393);\nvar inst_18395 \x3d inst_18394;\nvar inst_18396 \x3d null;\nvar inst_18397 \x3d (0);\nvar inst_18398 \x3d (0);\nvar state_18525__$1 \x3d (function (){var statearr_18645 \x3d state_18525;\n(statearr_18645[(13)] \x3d inst_18396);\n\n(statearr_18645[(14)] \x3d inst_18398);\n\n(statearr_18645[(16)] \x3d inst_18395);\n\n(statearr_18645[(17)] \x3d inst_18397);\n\nreturn statearr_18645;\n})();\nvar statearr_18651_20269 \x3d state_18525__$1;\n(statearr_18651_20269[(2)] \x3d null);\n\n(statearr_18651_20269[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (14))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18656_20270 \x3d state_18525__$1;\n(statearr_18656_20270[(2)] \x3d null);\n\n(statearr_18656_20270[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (45))){\nvar inst_18513 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18661_20271 \x3d state_18525__$1;\n(statearr_18661_20271[(2)] \x3d inst_18513);\n\n(statearr_18661_20271[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (26))){\nvar inst_18455 \x3d (state_18525[(27)]);\nvar inst_18509 \x3d (state_18525[(2)]);\nvar inst_18510 \x3d cljs.core.seq(inst_18455);\nvar state_18525__$1 \x3d (function (){var statearr_18667 \x3d state_18525;\n(statearr_18667[(29)] \x3d inst_18509);\n\nreturn statearr_18667;\n})();\nif(inst_18510){\nvar statearr_18668_20272 \x3d state_18525__$1;\n(statearr_18668_20272[(1)] \x3d (42));\n\n} else {\nvar statearr_18669_20273 \x3d state_18525__$1;\n(statearr_18669_20273[(1)] \x3d (43));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (16))){\nvar inst_18418 \x3d (state_18525[(7)]);\nvar inst_18420 \x3d cljs.core.chunked_seq_QMARK_(inst_18418);\nvar state_18525__$1 \x3d state_18525;\nif(inst_18420){\nvar statearr_18670_20274 \x3d state_18525__$1;\n(statearr_18670_20274[(1)] \x3d (19));\n\n} else {\nvar statearr_18671_20275 \x3d state_18525__$1;\n(statearr_18671_20275[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (38))){\nvar inst_18502 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18672_20276 \x3d state_18525__$1;\n(statearr_18672_20276[(2)] \x3d inst_18502);\n\n(statearr_18672_20276[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (30))){\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18674_20277 \x3d state_18525__$1;\n(statearr_18674_20277[(2)] \x3d null);\n\n(statearr_18674_20277[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (10))){\nvar inst_18396 \x3d (state_18525[(13)]);\nvar inst_18398 \x3d (state_18525[(14)]);\nvar inst_18406 \x3d cljs.core._nth(inst_18396,inst_18398);\nvar inst_18407 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18406,(0),null);\nvar inst_18408 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18406,(1),null);\nvar state_18525__$1 \x3d (function (){var statearr_18675 \x3d state_18525;\n(statearr_18675[(24)] \x3d inst_18407);\n\nreturn statearr_18675;\n})();\nif(cljs.core.truth_(inst_18408)){\nvar statearr_18676_20278 \x3d state_18525__$1;\n(statearr_18676_20278[(1)] \x3d (13));\n\n} else {\nvar statearr_18677_20279 \x3d state_18525__$1;\n(statearr_18677_20279[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (18))){\nvar inst_18448 \x3d (state_18525[(2)]);\nvar state_18525__$1 \x3d state_18525;\nvar statearr_18678_20280 \x3d state_18525__$1;\n(statearr_18678_20280[(2)] \x3d inst_18448);\n\n(statearr_18678_20280[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (42))){\nvar state_18525__$1 \x3d state_18525;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18525__$1,(45),dchan);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (37))){\nvar inst_18481 \x3d (state_18525[(23)]);\nvar inst_18492 \x3d (state_18525[(22)]);\nvar inst_18386 \x3d (state_18525[(10)]);\nvar inst_18492__$1 \x3d cljs.core.first(inst_18481);\nvar inst_18493 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_18492__$1,inst_18386,done);\nvar state_18525__$1 \x3d (function (){var statearr_18679 \x3d state_18525;\n(statearr_18679[(22)] \x3d inst_18492__$1);\n\nreturn statearr_18679;\n})();\nif(cljs.core.truth_(inst_18493)){\nvar statearr_18680_20281 \x3d state_18525__$1;\n(statearr_18680_20281[(1)] \x3d (39));\n\n} else {\nvar statearr_18681_20282 \x3d state_18525__$1;\n(statearr_18681_20282[(1)] \x3d (40));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18528 \x3d\x3d\x3d (8))){\nvar inst_18398 \x3d (state_18525[(14)]);\nvar inst_18397 \x3d (state_18525[(17)]);\nvar inst_18400 \x3d (inst_18398 \x3c inst_18397);\nvar inst_18401 \x3d inst_18400;\nvar state_18525__$1 \x3d state_18525;\nif(cljs.core.truth_(inst_18401)){\nvar statearr_18682_20283 \x3d state_18525__$1;\n(statearr_18682_20283[(1)] \x3d (10));\n\n} else {\nvar statearr_18684_20284 \x3d state_18525__$1;\n(statearr_18684_20284[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mult_$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$mult_$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18685 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_18685[(0)] \x3d cljs$core$async$mult_$_state_machine__17344__auto__);\n\n(statearr_18685[(1)] \x3d (1));\n\nreturn statearr_18685;\n});\nvar cljs$core$async$mult_$_state_machine__17344__auto____1 \x3d (function (state_18525){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18525);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18686){var ex__17347__auto__ \x3d e18686;\nvar statearr_18687_20294 \x3d state_18525;\n(statearr_18687_20294[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18525[(4)]))){\nvar statearr_18688_20295 \x3d state_18525;\n(statearr_18688_20295[(1)] \x3d cljs.core.first((state_18525[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20296 \x3d state_18525;\nstate_18525 \x3d G__20296;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mult_$_state_machine__17344__auto__ \x3d function(state_18525){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mult_$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mult_$_state_machine__17344__auto____1.call(this,state_18525);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mult_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mult_$_state_machine__17344__auto____0;\ncljs$core$async$mult_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mult_$_state_machine__17344__auto____1;\nreturn cljs$core$async$mult_$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18689 \x3d f__17495__auto__();\n(statearr_18689[(6)] \x3d c__17494__auto___20225);\n\nreturn statearr_18689;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Copies the mult source onto the supplied channel.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.tap \x3d (function cljs$core$async$tap(var_args){\nvar G__18692 \x3d arguments.length;\nswitch (G__18692) {\ncase 2:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 \x3d (function (mult,ch){\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);\n}));\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 \x3d (function (mult,ch,close_QMARK_){\ncljs.core.async.tap_STAR_(mult,ch,close_QMARK_);\n\nreturn ch;\n}));\n\n(cljs.core.async.tap.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Disconnects a target channel from a mult\n */\ncljs.core.async.untap \x3d (function cljs$core$async$untap(mult,ch){\nreturn cljs.core.async.untap_STAR_(mult,ch);\n});\n/**\n * Disconnects all target channels from a mult\n */\ncljs.core.async.untap_all \x3d (function cljs$core$async$untap_all(mult){\nreturn cljs.core.async.untap_all_STAR_(mult);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mix \x3d function(){};\n\nvar cljs$core$async$Mix$admix_STAR_$dyn_20300 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.admix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.admix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.admix*\x22,m);\n}\n}\n});\ncljs.core.async.admix_STAR_ \x3d (function cljs$core$async$admix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$admix_STAR_$dyn_20300(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_STAR_$dyn_20301 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_STAR_ \x3d (function cljs$core$async$unmix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$unmix_STAR_$dyn_20301(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_all_STAR_$dyn_20304 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix-all*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_all_STAR_ \x3d (function cljs$core$async$unmix_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mix$unmix_all_STAR_$dyn_20304(m);\n}\n});\n\nvar cljs$core$async$Mix$toggle_STAR_$dyn_20305 \x3d (function (m,state_map){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.toggle_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5394__auto__.call(null,m,state_map));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.toggle_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5392__auto__.call(null,m,state_map));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.toggle*\x22,m);\n}\n}\n});\ncljs.core.async.toggle_STAR_ \x3d (function cljs$core$async$toggle_STAR_(m,state_map){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);\n} else {\nreturn cljs$core$async$Mix$toggle_STAR_$dyn_20305(m,state_map);\n}\n});\n\nvar cljs$core$async$Mix$solo_mode_STAR_$dyn_20306 \x3d (function (m,mode){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5394__auto__.call(null,m,mode));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.solo_mode_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5392__auto__.call(null,m,mode));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.solo-mode*\x22,m);\n}\n}\n});\ncljs.core.async.solo_mode_STAR_ \x3d (function cljs$core$async$solo_mode_STAR_(m,mode){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);\n} else {\nreturn cljs$core$async$Mix$solo_mode_STAR_$dyn_20306(m,mode);\n}\n});\n\ncljs.core.async.ioc_alts_BANG_ \x3d (function cljs$core$async$ioc_alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20309 \x3d arguments.length;\nvar i__5770__auto___20310 \x3d (0);\nwhile(true){\nif((i__5770__auto___20310 \x3c len__5769__auto___20309)){\nargs__5775__auto__.push((arguments[i__5770__auto___20310]));\n\nvar G__20311 \x3d (i__5770__auto___20310 + (1));\ni__5770__auto___20310 \x3d G__20311;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((3) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state,cont_block,ports,p__18703){\nvar map__18704 \x3d p__18703;\nvar map__18704__$1 \x3d cljs.core.__destructure_map(map__18704);\nvar opts \x3d map__18704__$1;\nvar statearr_18705_20312 \x3d state;\n(statearr_18705_20312[(1)] \x3d cont_block);\n\n\nvar temp__5804__auto__ \x3d cljs.core.async.do_alts((function (val){\nvar statearr_18706_20313 \x3d state;\n(statearr_18706_20313[(2)] \x3d val);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n}),ports,opts);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar cb \x3d temp__5804__auto__;\nvar statearr_18707_20314 \x3d state;\n(statearr_18707_20314[(2)] \x3d cljs.core.deref(cb));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo \x3d (function (seq18698){\nvar G__18699 \x3d cljs.core.first(seq18698);\nvar seq18698__$1 \x3d cljs.core.next(seq18698);\nvar G__18700 \x3d cljs.core.first(seq18698__$1);\nvar seq18698__$2 \x3d cljs.core.next(seq18698__$1);\nvar G__18701 \x3d cljs.core.first(seq18698__$2);\nvar seq18698__$3 \x3d cljs.core.next(seq18698__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18699,G__18700,G__18701,seq18698__$3);\n}));\n\n/**\n * Creates and returns a mix of one or more input channels which will\n * be put on the supplied out channel. Input sources can be added to\n * the mix with \x27admix\x27, and removed with \x27unmix\x27. A mix supports\n * soloing, muting and pausing multiple inputs atomically using\n * \x27toggle\x27, and can solo using either muting or pausing as determined\n * by \x27solo-mode\x27.\n * \n * Each channel can have zero or more boolean modes set via \x27toggle\x27:\n * \n * :solo - when true, only this (ond other soloed) channel(s) will appear\n * in the mix output channel. :mute and :pause states of soloed\n * channels are ignored. If solo-mode is :mute, non-soloed\n * channels are muted, if :pause, non-soloed channels are\n * paused.\n * \n * :mute - muted channels will have their contents consumed but not included in the mix\n * :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n */\ncljs.core.async.mix \x3d (function cljs$core$async$mix(out){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar solo_modes \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),null,new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),null], null), null);\nvar attrs \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075));\nvar solo_mode \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646));\nvar change \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));\nvar changed \x3d (function (){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);\n});\nvar pick \x3d (function (attr,chs){\nreturn cljs.core.reduce_kv((function (ret,c,v){\nif(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,chs);\n});\nvar calc_state \x3d (function (){\nvar chs \x3d cljs.core.deref(cs);\nvar mode \x3d cljs.core.deref(solo_mode);\nvar solos \x3d pick(new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075),chs);\nvar pauses \x3d pick(new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),chs);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643),solos,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309),pick(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),chs),new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672))) \x26\x26 ((!(cljs.core.empty_QMARK_(solos))))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);\n});\nvar m \x3d (function (){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async18709 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mix}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18709 \x3d (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta18710){\nthis.change \x3d change;\nthis.solo_mode \x3d solo_mode;\nthis.pick \x3d pick;\nthis.cs \x3d cs;\nthis.calc_state \x3d calc_state;\nthis.out \x3d out;\nthis.changed \x3d changed;\nthis.solo_modes \x3d solo_modes;\nthis.attrs \x3d attrs;\nthis.meta18710 \x3d meta18710;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18711,meta18710__$1){\nvar self__ \x3d this;\nvar _18711__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18709(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta18710__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18711){\nvar self__ \x3d this;\nvar _18711__$1 \x3d this;\nreturn self__.meta18710;\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.out;\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d (function (_,state_map){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d (function (_,mode){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22mode must be one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(\x27\x27),\x22\\n\x22,\x22(solo-modes mode)\x22].join(\x27\x27)));\n}\n\ncljs.core.reset_BANG_(self__.solo_mode,mode);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async18709.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22change\x22,\x22change\x22,477485025,null),new cljs.core.Symbol(null,\x22solo-mode\x22,\x22solo-mode\x22,2031788074,null),new cljs.core.Symbol(null,\x22pick\x22,\x22pick\x22,1300068175,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22calc-state\x22,\x22calc-state\x22,-349968968,null),new cljs.core.Symbol(null,\x22out\x22,\x22out\x22,729986010,null),new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.Symbol(null,\x22solo-modes\x22,\x22solo-modes\x22,882180540,null),new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta18710\x22,\x22meta18710\x22,-430768910,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18709.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18709.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18709\x22);\n\n(cljs.core.async.t_cljs$core$async18709.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18709\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18709.\n */\ncljs.core.async.__GT_t_cljs$core$async18709 \x3d (function cljs$core$async$mix_$___GT_t_cljs$core$async18709(change__$1,solo_mode__$1,pick__$1,cs__$1,calc_state__$1,out__$1,changed__$1,solo_modes__$1,attrs__$1,meta18710){\nreturn (new cljs.core.async.t_cljs$core$async18709(change__$1,solo_mode__$1,pick__$1,cs__$1,calc_state__$1,out__$1,changed__$1,solo_modes__$1,attrs__$1,meta18710));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async18709(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));\n})()\n;\nvar c__17494__auto___20323 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_18785){\nvar state_val_18786 \x3d (state_18785[(1)]);\nif((state_val_18786 \x3d\x3d\x3d (7))){\nvar inst_18743 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nif(cljs.core.truth_(inst_18743)){\nvar statearr_18788_20324 \x3d state_18785__$1;\n(statearr_18788_20324[(1)] \x3d (8));\n\n} else {\nvar statearr_18792_20325 \x3d state_18785__$1;\n(statearr_18792_20325[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (20))){\nvar inst_18736 \x3d (state_18785[(7)]);\nvar state_18785__$1 \x3d state_18785;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_18785__$1,(23),out,inst_18736);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (1))){\nvar inst_18718 \x3d calc_state();\nvar inst_18719 \x3d cljs.core.__destructure_map(inst_18718);\nvar inst_18721 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18719,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_18722 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18719,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_18723 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18719,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar inst_18724 \x3d inst_18718;\nvar state_18785__$1 \x3d (function (){var statearr_18793 \x3d state_18785;\n(statearr_18793[(8)] \x3d inst_18722);\n\n(statearr_18793[(9)] \x3d inst_18721);\n\n(statearr_18793[(10)] \x3d inst_18723);\n\n(statearr_18793[(11)] \x3d inst_18724);\n\nreturn statearr_18793;\n})();\nvar statearr_18794_20326 \x3d state_18785__$1;\n(statearr_18794_20326[(2)] \x3d null);\n\n(statearr_18794_20326[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (24))){\nvar inst_18727 \x3d (state_18785[(12)]);\nvar inst_18724 \x3d inst_18727;\nvar state_18785__$1 \x3d (function (){var statearr_18795 \x3d state_18785;\n(statearr_18795[(11)] \x3d inst_18724);\n\nreturn statearr_18795;\n})();\nvar statearr_18796_20327 \x3d state_18785__$1;\n(statearr_18796_20327[(2)] \x3d null);\n\n(statearr_18796_20327[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (4))){\nvar inst_18738 \x3d (state_18785[(13)]);\nvar inst_18736 \x3d (state_18785[(7)]);\nvar inst_18735 \x3d (state_18785[(2)]);\nvar inst_18736__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18735,(0),null);\nvar inst_18737 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_18735,(1),null);\nvar inst_18738__$1 \x3d (inst_18736__$1 \x3d\x3d null);\nvar state_18785__$1 \x3d (function (){var statearr_18798 \x3d state_18785;\n(statearr_18798[(13)] \x3d inst_18738__$1);\n\n(statearr_18798[(7)] \x3d inst_18736__$1);\n\n(statearr_18798[(14)] \x3d inst_18737);\n\nreturn statearr_18798;\n})();\nif(cljs.core.truth_(inst_18738__$1)){\nvar statearr_18799_20328 \x3d state_18785__$1;\n(statearr_18799_20328[(1)] \x3d (5));\n\n} else {\nvar statearr_18800_20329 \x3d state_18785__$1;\n(statearr_18800_20329[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (15))){\nvar inst_18728 \x3d (state_18785[(15)]);\nvar inst_18757 \x3d (state_18785[(16)]);\nvar inst_18757__$1 \x3d cljs.core.empty_QMARK_(inst_18728);\nvar state_18785__$1 \x3d (function (){var statearr_18801 \x3d state_18785;\n(statearr_18801[(16)] \x3d inst_18757__$1);\n\nreturn statearr_18801;\n})();\nif(inst_18757__$1){\nvar statearr_18802_20330 \x3d state_18785__$1;\n(statearr_18802_20330[(1)] \x3d (17));\n\n} else {\nvar statearr_18803_20331 \x3d state_18785__$1;\n(statearr_18803_20331[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (21))){\nvar inst_18727 \x3d (state_18785[(12)]);\nvar inst_18724 \x3d inst_18727;\nvar state_18785__$1 \x3d (function (){var statearr_18804 \x3d state_18785;\n(statearr_18804[(11)] \x3d inst_18724);\n\nreturn statearr_18804;\n})();\nvar statearr_18805_20332 \x3d state_18785__$1;\n(statearr_18805_20332[(2)] \x3d null);\n\n(statearr_18805_20332[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (13))){\nvar inst_18750 \x3d (state_18785[(2)]);\nvar inst_18751 \x3d calc_state();\nvar inst_18724 \x3d inst_18751;\nvar state_18785__$1 \x3d (function (){var statearr_18807 \x3d state_18785;\n(statearr_18807[(17)] \x3d inst_18750);\n\n(statearr_18807[(11)] \x3d inst_18724);\n\nreturn statearr_18807;\n})();\nvar statearr_18808_20333 \x3d state_18785__$1;\n(statearr_18808_20333[(2)] \x3d null);\n\n(statearr_18808_20333[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (22))){\nvar inst_18777 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18809_20334 \x3d state_18785__$1;\n(statearr_18809_20334[(2)] \x3d inst_18777);\n\n(statearr_18809_20334[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (6))){\nvar inst_18737 \x3d (state_18785[(14)]);\nvar inst_18741 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_18737,change);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18818_20335 \x3d state_18785__$1;\n(statearr_18818_20335[(2)] \x3d inst_18741);\n\n(statearr_18818_20335[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (25))){\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18823_20336 \x3d state_18785__$1;\n(statearr_18823_20336[(2)] \x3d null);\n\n(statearr_18823_20336[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (17))){\nvar inst_18729 \x3d (state_18785[(18)]);\nvar inst_18737 \x3d (state_18785[(14)]);\nvar inst_18759 \x3d (inst_18729.cljs$core$IFn$_invoke$arity$1 ? inst_18729.cljs$core$IFn$_invoke$arity$1(inst_18737) : inst_18729.call(null,inst_18737));\nvar inst_18760 \x3d cljs.core.not(inst_18759);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18824_20337 \x3d state_18785__$1;\n(statearr_18824_20337[(2)] \x3d inst_18760);\n\n(statearr_18824_20337[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (3))){\nvar inst_18781 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18785__$1,inst_18781);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (12))){\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18832_20338 \x3d state_18785__$1;\n(statearr_18832_20338[(2)] \x3d null);\n\n(statearr_18832_20338[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (2))){\nvar inst_18724 \x3d (state_18785[(11)]);\nvar inst_18727 \x3d (state_18785[(12)]);\nvar inst_18727__$1 \x3d cljs.core.__destructure_map(inst_18724);\nvar inst_18728 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18727__$1,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_18729 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18727__$1,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_18730 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18727__$1,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar state_18785__$1 \x3d (function (){var statearr_18833 \x3d state_18785;\n(statearr_18833[(15)] \x3d inst_18728);\n\n(statearr_18833[(18)] \x3d inst_18729);\n\n(statearr_18833[(12)] \x3d inst_18727__$1);\n\nreturn statearr_18833;\n})();\nreturn cljs.core.async.ioc_alts_BANG_(state_18785__$1,(4),inst_18730);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (23))){\nvar inst_18768 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nif(cljs.core.truth_(inst_18768)){\nvar statearr_18835_20339 \x3d state_18785__$1;\n(statearr_18835_20339[(1)] \x3d (24));\n\n} else {\nvar statearr_18836_20340 \x3d state_18785__$1;\n(statearr_18836_20340[(1)] \x3d (25));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (19))){\nvar inst_18763 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18837_20341 \x3d state_18785__$1;\n(statearr_18837_20341[(2)] \x3d inst_18763);\n\n(statearr_18837_20341[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (11))){\nvar inst_18737 \x3d (state_18785[(14)]);\nvar inst_18747 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_18737);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18838_20342 \x3d state_18785__$1;\n(statearr_18838_20342[(2)] \x3d inst_18747);\n\n(statearr_18838_20342[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (9))){\nvar inst_18728 \x3d (state_18785[(15)]);\nvar inst_18754 \x3d (state_18785[(19)]);\nvar inst_18737 \x3d (state_18785[(14)]);\nvar inst_18754__$1 \x3d (inst_18728.cljs$core$IFn$_invoke$arity$1 ? inst_18728.cljs$core$IFn$_invoke$arity$1(inst_18737) : inst_18728.call(null,inst_18737));\nvar state_18785__$1 \x3d (function (){var statearr_18839 \x3d state_18785;\n(statearr_18839[(19)] \x3d inst_18754__$1);\n\nreturn statearr_18839;\n})();\nif(cljs.core.truth_(inst_18754__$1)){\nvar statearr_18841_20343 \x3d state_18785__$1;\n(statearr_18841_20343[(1)] \x3d (14));\n\n} else {\nvar statearr_18842_20344 \x3d state_18785__$1;\n(statearr_18842_20344[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (5))){\nvar inst_18738 \x3d (state_18785[(13)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18843_20345 \x3d state_18785__$1;\n(statearr_18843_20345[(2)] \x3d inst_18738);\n\n(statearr_18843_20345[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (14))){\nvar inst_18754 \x3d (state_18785[(19)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18844_20346 \x3d state_18785__$1;\n(statearr_18844_20346[(2)] \x3d inst_18754);\n\n(statearr_18844_20346[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (26))){\nvar inst_18773 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18846_20347 \x3d state_18785__$1;\n(statearr_18846_20347[(2)] \x3d inst_18773);\n\n(statearr_18846_20347[(1)] \x3d (22));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (16))){\nvar inst_18765 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nif(cljs.core.truth_(inst_18765)){\nvar statearr_18848_20348 \x3d state_18785__$1;\n(statearr_18848_20348[(1)] \x3d (20));\n\n} else {\nvar statearr_18849_20349 \x3d state_18785__$1;\n(statearr_18849_20349[(1)] \x3d (21));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (10))){\nvar inst_18779 \x3d (state_18785[(2)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18850_20350 \x3d state_18785__$1;\n(statearr_18850_20350[(2)] \x3d inst_18779);\n\n(statearr_18850_20350[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (18))){\nvar inst_18757 \x3d (state_18785[(16)]);\nvar state_18785__$1 \x3d state_18785;\nvar statearr_18851_20351 \x3d state_18785__$1;\n(statearr_18851_20351[(2)] \x3d inst_18757);\n\n(statearr_18851_20351[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18786 \x3d\x3d\x3d (8))){\nvar inst_18736 \x3d (state_18785[(7)]);\nvar inst_18745 \x3d (inst_18736 \x3d\x3d null);\nvar state_18785__$1 \x3d state_18785;\nif(cljs.core.truth_(inst_18745)){\nvar statearr_18852_20352 \x3d state_18785__$1;\n(statearr_18852_20352[(1)] \x3d (11));\n\n} else {\nvar statearr_18853_20353 \x3d state_18785__$1;\n(statearr_18853_20353[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mix_$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$mix_$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_18854 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_18854[(0)] \x3d cljs$core$async$mix_$_state_machine__17344__auto__);\n\n(statearr_18854[(1)] \x3d (1));\n\nreturn statearr_18854;\n});\nvar cljs$core$async$mix_$_state_machine__17344__auto____1 \x3d (function (state_18785){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_18785);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e18855){var ex__17347__auto__ \x3d e18855;\nvar statearr_18856_20354 \x3d state_18785;\n(statearr_18856_20354[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_18785[(4)]))){\nvar statearr_18857_20355 \x3d state_18785;\n(statearr_18857_20355[(1)] \x3d cljs.core.first((state_18785[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20356 \x3d state_18785;\nstate_18785 \x3d G__20356;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mix_$_state_machine__17344__auto__ \x3d function(state_18785){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mix_$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mix_$_state_machine__17344__auto____1.call(this,state_18785);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mix_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mix_$_state_machine__17344__auto____0;\ncljs$core$async$mix_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mix_$_state_machine__17344__auto____1;\nreturn cljs$core$async$mix_$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_18859 \x3d f__17495__auto__();\n(statearr_18859[(6)] \x3d c__17494__auto___20323);\n\nreturn statearr_18859;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Adds ch as an input to the mix\n */\ncljs.core.async.admix \x3d (function cljs$core$async$admix(mix,ch){\nreturn cljs.core.async.admix_STAR_(mix,ch);\n});\n/**\n * Removes ch as an input to the mix\n */\ncljs.core.async.unmix \x3d (function cljs$core$async$unmix(mix,ch){\nreturn cljs.core.async.unmix_STAR_(mix,ch);\n});\n/**\n * removes all inputs from the mix\n */\ncljs.core.async.unmix_all \x3d (function cljs$core$async$unmix_all(mix){\nreturn cljs.core.async.unmix_all_STAR_(mix);\n});\n/**\n * Atomically sets the state(s) of one or more channels in a mix. The\n * state map is a map of channels -\x3e channel-state-map. A\n * channel-state-map is a map of attrs -\x3e boolean, where attr is one or\n * more of :mute, :pause or :solo. Any states supplied are merged with\n * the current state.\n * \n * Note that channels can be added to a mix via toggle, which can be\n * used to add channels in a particular (e.g. paused) state.\n */\ncljs.core.async.toggle \x3d (function cljs$core$async$toggle(mix,state_map){\nreturn cljs.core.async.toggle_STAR_(mix,state_map);\n});\n/**\n * Sets the solo mode of the mix. mode must be one of :mute or :pause\n */\ncljs.core.async.solo_mode \x3d (function cljs$core$async$solo_mode(mix,mode){\nreturn cljs.core.async.solo_mode_STAR_(mix,mode);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Pub \x3d function(){};\n\nvar cljs$core$async$Pub$sub_STAR_$dyn_20357 \x3d (function (p,v,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.sub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5394__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.sub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5392__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.sub*\x22,p);\n}\n}\n});\ncljs.core.async.sub_STAR_ \x3d (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Pub$sub_STAR_$dyn_20357(p,v,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Pub$unsub_STAR_$dyn_20358 \x3d (function (p,v,ch){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5394__auto__.call(null,p,v,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5392__auto__.call(null,p,v,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub*\x22,p);\n}\n}\n});\ncljs.core.async.unsub_STAR_ \x3d (function cljs$core$async$unsub_STAR_(p,v,ch){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);\n} else {\nreturn cljs$core$async$Pub$unsub_STAR_$dyn_20358(p,v,ch);\n}\n});\n\nvar cljs$core$async$Pub$unsub_all_STAR_$dyn_20359 \x3d (function() {\nvar G__20360 \x3d null;\nvar G__20360__1 \x3d (function (p){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5394__auto__.call(null,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5392__auto__.call(null,p));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nvar G__20360__2 \x3d (function (p,v){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5394__auto__.call(null,p,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5392__auto__.call(null,p,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nG__20360 \x3d function(p,v){\nswitch(arguments.length){\ncase 1:\nreturn G__20360__1.call(this,p);\ncase 2:\nreturn G__20360__2.call(this,p,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20360.cljs$core$IFn$_invoke$arity$1 \x3d G__20360__1;\nG__20360.cljs$core$IFn$_invoke$arity$2 \x3d G__20360__2;\nreturn G__20360;\n})()\n;\ncljs.core.async.unsub_all_STAR_ \x3d (function cljs$core$async$unsub_all_STAR_(var_args){\nvar G__18865 \x3d arguments.length;\nswitch (G__18865) {\ncase 1:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_20359(p);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,v){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_20359(p,v);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * Creates and returns a pub(lication) of the supplied channel,\n * partitioned into topics by the topic-fn. topic-fn will be applied to\n * each value on the channel and the result will determine the \x27topic\x27\n * on which that value will be put. Channels can be subscribed to\n * receive copies of topics using \x27sub\x27, and unsubscribed using\n * \x27unsub\x27. Each topic will be handled by an internal mult on a\n * dedicated channel. By default these internal channels are\n * unbuffered, but a buf-fn can be supplied which, given a topic,\n * creates a buffer with desired properties.\n * \n * Each item is distributed to all subs in parallel and synchronously,\n * i.e. each sub must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow subs from holding up the pub.\n * \n * Items received when there are no matching subs get dropped.\n * \n * Note that if buf-fns are used then each topic is handled\n * asynchronously, i.e. if a channel is subscribed to more than one\n * topic it should not expect them to be interleaved identically with\n * the source.\n */\ncljs.core.async.pub \x3d (function cljs$core$async$pub(var_args){\nvar G__18870 \x3d arguments.length;\nswitch (G__18870) {\ncase 2:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,topic_fn){\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));\n}));\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,topic_fn,buf_fn){\nvar mults \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ensure_mult \x3d (function (topic){\nvar or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__18868_SHARP_){\nif(cljs.core.truth_((p1__18868_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__18868_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__18868_SHARP_.call(null,topic)))){\nreturn p1__18868_SHARP_;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__18868_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));\n}\n})),topic);\n}\n});\nvar p \x3d (function (){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async18871 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.Pub}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18871 \x3d (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta18872){\nthis.ch \x3d ch;\nthis.topic_fn \x3d topic_fn;\nthis.buf_fn \x3d buf_fn;\nthis.mults \x3d mults;\nthis.ensure_mult \x3d ensure_mult;\nthis.meta18872 \x3d meta18872;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18873,meta18872__$1){\nvar self__ \x3d this;\nvar _18873__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18871(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta18872__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18873){\nvar self__ \x3d this;\nvar _18873__$1 \x3d this;\nreturn self__.meta18872;\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Pub$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d (function (p,topic,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar m \x3d (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d (function (p,topic,ch__$1){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nreturn cljs.core.async.untap(m,ch__$1);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cljs.core.async.t_cljs$core$async18871.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d (function (_,topic){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);\n}));\n\n(cljs.core.async.t_cljs$core$async18871.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22topic-fn\x22,\x22topic-fn\x22,-862449736,null),new cljs.core.Symbol(null,\x22buf-fn\x22,\x22buf-fn\x22,-1200281591,null),new cljs.core.Symbol(null,\x22mults\x22,\x22mults\x22,-461114485,null),new cljs.core.Symbol(null,\x22ensure-mult\x22,\x22ensure-mult\x22,1796584816,null),new cljs.core.Symbol(null,\x22meta18872\x22,\x22meta18872\x22,-2077573032,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18871.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18871.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18871\x22);\n\n(cljs.core.async.t_cljs$core$async18871.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18871\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18871.\n */\ncljs.core.async.__GT_t_cljs$core$async18871 \x3d (function cljs$core$async$__GT_t_cljs$core$async18871(ch__$1,topic_fn__$1,buf_fn__$1,mults__$1,ensure_mult__$1,meta18872){\nreturn (new cljs.core.async.t_cljs$core$async18871(ch__$1,topic_fn__$1,buf_fn__$1,mults__$1,ensure_mult__$1,meta18872));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async18871(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));\n})()\n;\nvar c__17494__auto___20363 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19017){\nvar state_val_19018 \x3d (state_19017[(1)]);\nif((state_val_19018 \x3d\x3d\x3d (7))){\nvar inst_19013 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19029_20364 \x3d state_19017__$1;\n(statearr_19029_20364[(2)] \x3d inst_19013);\n\n(statearr_19029_20364[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (20))){\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19030_20365 \x3d state_19017__$1;\n(statearr_19030_20365[(2)] \x3d null);\n\n(statearr_19030_20365[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (1))){\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19031_20366 \x3d state_19017__$1;\n(statearr_19031_20366[(2)] \x3d null);\n\n(statearr_19031_20366[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (24))){\nvar inst_18991 \x3d (state_19017[(7)]);\nvar inst_19005 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_18991);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19032_20367 \x3d state_19017__$1;\n(statearr_19032_20367[(2)] \x3d inst_19005);\n\n(statearr_19032_20367[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (4))){\nvar inst_18900 \x3d (state_19017[(8)]);\nvar inst_18900__$1 \x3d (state_19017[(2)]);\nvar inst_18901 \x3d (inst_18900__$1 \x3d\x3d null);\nvar state_19017__$1 \x3d (function (){var statearr_19033 \x3d state_19017;\n(statearr_19033[(8)] \x3d inst_18900__$1);\n\nreturn statearr_19033;\n})();\nif(cljs.core.truth_(inst_18901)){\nvar statearr_19034_20368 \x3d state_19017__$1;\n(statearr_19034_20368[(1)] \x3d (5));\n\n} else {\nvar statearr_19035_20369 \x3d state_19017__$1;\n(statearr_19035_20369[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (15))){\nvar inst_18985 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19036_20370 \x3d state_19017__$1;\n(statearr_19036_20370[(2)] \x3d inst_18985);\n\n(statearr_19036_20370[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (21))){\nvar inst_19010 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d (function (){var statearr_19037 \x3d state_19017;\n(statearr_19037[(9)] \x3d inst_19010);\n\nreturn statearr_19037;\n})();\nvar statearr_19038_20371 \x3d state_19017__$1;\n(statearr_19038_20371[(2)] \x3d null);\n\n(statearr_19038_20371[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (13))){\nvar inst_18940 \x3d (state_19017[(10)]);\nvar inst_18965 \x3d cljs.core.chunked_seq_QMARK_(inst_18940);\nvar state_19017__$1 \x3d state_19017;\nif(inst_18965){\nvar statearr_19040_20372 \x3d state_19017__$1;\n(statearr_19040_20372[(1)] \x3d (16));\n\n} else {\nvar statearr_19041_20373 \x3d state_19017__$1;\n(statearr_19041_20373[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (22))){\nvar inst_19002 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nif(cljs.core.truth_(inst_19002)){\nvar statearr_19042_20374 \x3d state_19017__$1;\n(statearr_19042_20374[(1)] \x3d (23));\n\n} else {\nvar statearr_19043_20375 \x3d state_19017__$1;\n(statearr_19043_20375[(1)] \x3d (24));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (6))){\nvar inst_18900 \x3d (state_19017[(8)]);\nvar inst_18993 \x3d (state_19017[(11)]);\nvar inst_18991 \x3d (state_19017[(7)]);\nvar inst_18991__$1 \x3d (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_18900) : topic_fn.call(null,inst_18900));\nvar inst_18992 \x3d cljs.core.deref(mults);\nvar inst_18993__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_18992,inst_18991__$1);\nvar state_19017__$1 \x3d (function (){var statearr_19044 \x3d state_19017;\n(statearr_19044[(11)] \x3d inst_18993__$1);\n\n(statearr_19044[(7)] \x3d inst_18991__$1);\n\nreturn statearr_19044;\n})();\nif(cljs.core.truth_(inst_18993__$1)){\nvar statearr_19045_20376 \x3d state_19017__$1;\n(statearr_19045_20376[(1)] \x3d (19));\n\n} else {\nvar statearr_19046_20377 \x3d state_19017__$1;\n(statearr_19046_20377[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (25))){\nvar inst_19007 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19047_20378 \x3d state_19017__$1;\n(statearr_19047_20378[(2)] \x3d inst_19007);\n\n(statearr_19047_20378[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (17))){\nvar inst_18940 \x3d (state_19017[(10)]);\nvar inst_18973 \x3d cljs.core.first(inst_18940);\nvar inst_18975 \x3d cljs.core.async.muxch_STAR_(inst_18973);\nvar inst_18976 \x3d cljs.core.async.close_BANG_(inst_18975);\nvar inst_18979 \x3d cljs.core.next(inst_18940);\nvar inst_18921 \x3d inst_18979;\nvar inst_18922 \x3d null;\nvar inst_18923 \x3d (0);\nvar inst_18924 \x3d (0);\nvar state_19017__$1 \x3d (function (){var statearr_19049 \x3d state_19017;\n(statearr_19049[(12)] \x3d inst_18976);\n\n(statearr_19049[(13)] \x3d inst_18922);\n\n(statearr_19049[(14)] \x3d inst_18924);\n\n(statearr_19049[(15)] \x3d inst_18923);\n\n(statearr_19049[(16)] \x3d inst_18921);\n\nreturn statearr_19049;\n})();\nvar statearr_19050_20379 \x3d state_19017__$1;\n(statearr_19050_20379[(2)] \x3d null);\n\n(statearr_19050_20379[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (3))){\nvar inst_19015 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19017__$1,inst_19015);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (12))){\nvar inst_18987 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19051_20380 \x3d state_19017__$1;\n(statearr_19051_20380[(2)] \x3d inst_18987);\n\n(statearr_19051_20380[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (2))){\nvar state_19017__$1 \x3d state_19017;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19017__$1,(4),ch);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (23))){\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19052_20381 \x3d state_19017__$1;\n(statearr_19052_20381[(2)] \x3d null);\n\n(statearr_19052_20381[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (19))){\nvar inst_18900 \x3d (state_19017[(8)]);\nvar inst_18993 \x3d (state_19017[(11)]);\nvar inst_19000 \x3d cljs.core.async.muxch_STAR_(inst_18993);\nvar state_19017__$1 \x3d state_19017;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19017__$1,(22),inst_19000,inst_18900);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (11))){\nvar inst_18940 \x3d (state_19017[(10)]);\nvar inst_18921 \x3d (state_19017[(16)]);\nvar inst_18940__$1 \x3d cljs.core.seq(inst_18921);\nvar state_19017__$1 \x3d (function (){var statearr_19053 \x3d state_19017;\n(statearr_19053[(10)] \x3d inst_18940__$1);\n\nreturn statearr_19053;\n})();\nif(inst_18940__$1){\nvar statearr_19054_20382 \x3d state_19017__$1;\n(statearr_19054_20382[(1)] \x3d (13));\n\n} else {\nvar statearr_19055_20383 \x3d state_19017__$1;\n(statearr_19055_20383[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (9))){\nvar inst_18989 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19056_20384 \x3d state_19017__$1;\n(statearr_19056_20384[(2)] \x3d inst_18989);\n\n(statearr_19056_20384[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (5))){\nvar inst_18910 \x3d cljs.core.deref(mults);\nvar inst_18916 \x3d cljs.core.vals(inst_18910);\nvar inst_18917 \x3d cljs.core.seq(inst_18916);\nvar inst_18921 \x3d inst_18917;\nvar inst_18922 \x3d null;\nvar inst_18923 \x3d (0);\nvar inst_18924 \x3d (0);\nvar state_19017__$1 \x3d (function (){var statearr_19057 \x3d state_19017;\n(statearr_19057[(13)] \x3d inst_18922);\n\n(statearr_19057[(14)] \x3d inst_18924);\n\n(statearr_19057[(15)] \x3d inst_18923);\n\n(statearr_19057[(16)] \x3d inst_18921);\n\nreturn statearr_19057;\n})();\nvar statearr_19058_20385 \x3d state_19017__$1;\n(statearr_19058_20385[(2)] \x3d null);\n\n(statearr_19058_20385[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (14))){\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19062_20386 \x3d state_19017__$1;\n(statearr_19062_20386[(2)] \x3d null);\n\n(statearr_19062_20386[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (16))){\nvar inst_18940 \x3d (state_19017[(10)]);\nvar inst_18968 \x3d cljs.core.chunk_first(inst_18940);\nvar inst_18969 \x3d cljs.core.chunk_rest(inst_18940);\nvar inst_18970 \x3d cljs.core.count(inst_18968);\nvar inst_18921 \x3d inst_18969;\nvar inst_18922 \x3d inst_18968;\nvar inst_18923 \x3d inst_18970;\nvar inst_18924 \x3d (0);\nvar state_19017__$1 \x3d (function (){var statearr_19063 \x3d state_19017;\n(statearr_19063[(13)] \x3d inst_18922);\n\n(statearr_19063[(14)] \x3d inst_18924);\n\n(statearr_19063[(15)] \x3d inst_18923);\n\n(statearr_19063[(16)] \x3d inst_18921);\n\nreturn statearr_19063;\n})();\nvar statearr_19064_20387 \x3d state_19017__$1;\n(statearr_19064_20387[(2)] \x3d null);\n\n(statearr_19064_20387[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (10))){\nvar inst_18922 \x3d (state_19017[(13)]);\nvar inst_18924 \x3d (state_19017[(14)]);\nvar inst_18923 \x3d (state_19017[(15)]);\nvar inst_18921 \x3d (state_19017[(16)]);\nvar inst_18930 \x3d cljs.core._nth(inst_18922,inst_18924);\nvar inst_18931 \x3d cljs.core.async.muxch_STAR_(inst_18930);\nvar inst_18932 \x3d cljs.core.async.close_BANG_(inst_18931);\nvar inst_18933 \x3d (inst_18924 + (1));\nvar tmp19059 \x3d inst_18922;\nvar tmp19060 \x3d inst_18923;\nvar tmp19061 \x3d inst_18921;\nvar inst_18921__$1 \x3d tmp19061;\nvar inst_18922__$1 \x3d tmp19059;\nvar inst_18923__$1 \x3d tmp19060;\nvar inst_18924__$1 \x3d inst_18933;\nvar state_19017__$1 \x3d (function (){var statearr_19065 \x3d state_19017;\n(statearr_19065[(17)] \x3d inst_18932);\n\n(statearr_19065[(13)] \x3d inst_18922__$1);\n\n(statearr_19065[(14)] \x3d inst_18924__$1);\n\n(statearr_19065[(15)] \x3d inst_18923__$1);\n\n(statearr_19065[(16)] \x3d inst_18921__$1);\n\nreturn statearr_19065;\n})();\nvar statearr_19066_20388 \x3d state_19017__$1;\n(statearr_19066_20388[(2)] \x3d null);\n\n(statearr_19066_20388[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (18))){\nvar inst_18982 \x3d (state_19017[(2)]);\nvar state_19017__$1 \x3d state_19017;\nvar statearr_19067_20389 \x3d state_19017__$1;\n(statearr_19067_20389[(2)] \x3d inst_18982);\n\n(statearr_19067_20389[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19018 \x3d\x3d\x3d (8))){\nvar inst_18924 \x3d (state_19017[(14)]);\nvar inst_18923 \x3d (state_19017[(15)]);\nvar inst_18926 \x3d (inst_18924 \x3c inst_18923);\nvar inst_18927 \x3d inst_18926;\nvar state_19017__$1 \x3d state_19017;\nif(cljs.core.truth_(inst_18927)){\nvar statearr_19068_20390 \x3d state_19017__$1;\n(statearr_19068_20390[(1)] \x3d (10));\n\n} else {\nvar statearr_19069_20391 \x3d state_19017__$1;\n(statearr_19069_20391[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19070 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19070[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19070[(1)] \x3d (1));\n\nreturn statearr_19070;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19017){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19017);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19074){var ex__17347__auto__ \x3d e19074;\nvar statearr_19075_20392 \x3d state_19017;\n(statearr_19075_20392[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19017[(4)]))){\nvar statearr_19077_20393 \x3d state_19017;\n(statearr_19077_20393[(1)] \x3d cljs.core.first((state_19017[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20394 \x3d state_19017;\nstate_19017 \x3d G__20394;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19017){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19017);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19086 \x3d f__17495__auto__();\n(statearr_19086[(6)] \x3d c__17494__auto___20363);\n\nreturn statearr_19086;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn p;\n}));\n\n(cljs.core.async.pub.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Subscribes a channel to a topic of a pub.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.sub \x3d (function cljs$core$async$sub(var_args){\nvar G__19093 \x3d arguments.length;\nswitch (G__19093) {\ncase 3:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,topic,ch){\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);\n}));\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,topic,ch,close_QMARK_){\nreturn cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);\n}));\n\n(cljs.core.async.sub.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Unsubscribes a channel from a topic of a pub\n */\ncljs.core.async.unsub \x3d (function cljs$core$async$unsub(p,topic,ch){\nreturn cljs.core.async.unsub_STAR_(p,topic,ch);\n});\n/**\n * Unsubscribes all channels from a pub, or a topic of a pub\n */\ncljs.core.async.unsub_all \x3d (function cljs$core$async$unsub_all(var_args){\nvar G__19107 \x3d arguments.length;\nswitch (G__19107) {\ncase 1:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn cljs.core.async.unsub_all_STAR_(p);\n}));\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,topic){\nreturn cljs.core.async.unsub_all_STAR_(p,topic);\n}));\n\n(cljs.core.async.unsub_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a function and a collection of source channels, and returns a\n * channel which contains the values produced by applying f to the set\n * of first items taken from each source channel, followed by applying\n * f to the set of second items from each channel, until any one of the\n * channels is closed, at which point the output channel will be\n * closed. The returned channel will be unbuffered by default, or a\n * buf-or-n can be supplied\n */\ncljs.core.async.map \x3d (function cljs$core$async$map(var_args){\nvar G__19132 \x3d arguments.length;\nswitch (G__19132) {\ncase 2:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,chs){\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);\n}));\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,chs,buf_or_n){\nvar chs__$1 \x3d cljs.core.vec(chs);\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar cnt \x3d cljs.core.count(chs__$1);\nvar rets \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn (function (ret){\n(rets[i] \x3d ret);\n\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));\n} else {\nreturn null;\n}\n});\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));\nif((cnt \x3d\x3d\x3d (0))){\ncljs.core.async.close_BANG_(out);\n} else {\nvar c__17494__auto___20408 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19224){\nvar state_val_19225 \x3d (state_19224[(1)]);\nif((state_val_19225 \x3d\x3d\x3d (7))){\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19226_20409 \x3d state_19224__$1;\n(statearr_19226_20409[(2)] \x3d null);\n\n(statearr_19226_20409[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (1))){\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19227_20410 \x3d state_19224__$1;\n(statearr_19227_20410[(2)] \x3d null);\n\n(statearr_19227_20410[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (4))){\nvar inst_19150 \x3d (state_19224[(7)]);\nvar inst_19149 \x3d (state_19224[(8)]);\nvar inst_19152 \x3d (inst_19150 \x3c inst_19149);\nvar state_19224__$1 \x3d state_19224;\nif(cljs.core.truth_(inst_19152)){\nvar statearr_19230_20411 \x3d state_19224__$1;\n(statearr_19230_20411[(1)] \x3d (6));\n\n} else {\nvar statearr_19231_20412 \x3d state_19224__$1;\n(statearr_19231_20412[(1)] \x3d (7));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (15))){\nvar inst_19201 \x3d (state_19224[(9)]);\nvar inst_19209 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_19201);\nvar state_19224__$1 \x3d state_19224;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19224__$1,(17),out,inst_19209);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (13))){\nvar inst_19201 \x3d (state_19224[(9)]);\nvar inst_19201__$1 \x3d (state_19224[(2)]);\nvar inst_19205 \x3d cljs.core.some(cljs.core.nil_QMARK_,inst_19201__$1);\nvar state_19224__$1 \x3d (function (){var statearr_19232 \x3d state_19224;\n(statearr_19232[(9)] \x3d inst_19201__$1);\n\nreturn statearr_19232;\n})();\nif(cljs.core.truth_(inst_19205)){\nvar statearr_19233_20422 \x3d state_19224__$1;\n(statearr_19233_20422[(1)] \x3d (14));\n\n} else {\nvar statearr_19234_20423 \x3d state_19224__$1;\n(statearr_19234_20423[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (6))){\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19235_20424 \x3d state_19224__$1;\n(statearr_19235_20424[(2)] \x3d null);\n\n(statearr_19235_20424[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (17))){\nvar inst_19211 \x3d (state_19224[(2)]);\nvar state_19224__$1 \x3d (function (){var statearr_19237 \x3d state_19224;\n(statearr_19237[(10)] \x3d inst_19211);\n\nreturn statearr_19237;\n})();\nvar statearr_19238_20425 \x3d state_19224__$1;\n(statearr_19238_20425[(2)] \x3d null);\n\n(statearr_19238_20425[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (3))){\nvar inst_19216 \x3d (state_19224[(2)]);\nvar state_19224__$1 \x3d state_19224;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19224__$1,inst_19216);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (12))){\nvar _ \x3d (function (){var statearr_19239 \x3d state_19224;\n(statearr_19239[(4)] \x3d cljs.core.rest((state_19224[(4)])));\n\nreturn statearr_19239;\n})();\nvar state_19224__$1 \x3d state_19224;\nvar ex19236 \x3d (state_19224__$1[(2)]);\nvar statearr_19240_20426 \x3d state_19224__$1;\n(statearr_19240_20426[(5)] \x3d ex19236);\n\n\nif((ex19236 instanceof Object)){\nvar statearr_19242_20427 \x3d state_19224__$1;\n(statearr_19242_20427[(1)] \x3d (11));\n\n(statearr_19242_20427[(5)] \x3d null);\n\n} else {\nthrow ex19236;\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (2))){\nvar inst_19148 \x3d cljs.core.reset_BANG_(dctr,cnt);\nvar inst_19149 \x3d cnt;\nvar inst_19150 \x3d (0);\nvar state_19224__$1 \x3d (function (){var statearr_19244 \x3d state_19224;\n(statearr_19244[(7)] \x3d inst_19150);\n\n(statearr_19244[(11)] \x3d inst_19148);\n\n(statearr_19244[(8)] \x3d inst_19149);\n\nreturn statearr_19244;\n})();\nvar statearr_19245_20428 \x3d state_19224__$1;\n(statearr_19245_20428[(2)] \x3d null);\n\n(statearr_19245_20428[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (11))){\nvar inst_19175 \x3d (state_19224[(2)]);\nvar inst_19177 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);\nvar state_19224__$1 \x3d (function (){var statearr_19246 \x3d state_19224;\n(statearr_19246[(12)] \x3d inst_19175);\n\nreturn statearr_19246;\n})();\nvar statearr_19247_20429 \x3d state_19224__$1;\n(statearr_19247_20429[(2)] \x3d inst_19177);\n\n(statearr_19247_20429[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (9))){\nvar inst_19150 \x3d (state_19224[(7)]);\nvar _ \x3d (function (){var statearr_19248 \x3d state_19224;\n(statearr_19248[(4)] \x3d cljs.core.cons((12),(state_19224[(4)])));\n\nreturn statearr_19248;\n})();\nvar inst_19183 \x3d (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_19150) : chs__$1.call(null,inst_19150));\nvar inst_19184 \x3d (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_19150) : done.call(null,inst_19150));\nvar inst_19185 \x3d cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_19183,inst_19184);\nvar ___$1 \x3d (function (){var statearr_19249 \x3d state_19224;\n(statearr_19249[(4)] \x3d cljs.core.rest((state_19224[(4)])));\n\nreturn statearr_19249;\n})();\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19250_20434 \x3d state_19224__$1;\n(statearr_19250_20434[(2)] \x3d inst_19185);\n\n(statearr_19250_20434[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (5))){\nvar inst_19198 \x3d (state_19224[(2)]);\nvar state_19224__$1 \x3d (function (){var statearr_19251 \x3d state_19224;\n(statearr_19251[(13)] \x3d inst_19198);\n\nreturn statearr_19251;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19224__$1,(13),dchan);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (14))){\nvar inst_19207 \x3d cljs.core.async.close_BANG_(out);\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19252_20437 \x3d state_19224__$1;\n(statearr_19252_20437[(2)] \x3d inst_19207);\n\n(statearr_19252_20437[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (16))){\nvar inst_19214 \x3d (state_19224[(2)]);\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19253_20438 \x3d state_19224__$1;\n(statearr_19253_20438[(2)] \x3d inst_19214);\n\n(statearr_19253_20438[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (10))){\nvar inst_19150 \x3d (state_19224[(7)]);\nvar inst_19188 \x3d (state_19224[(2)]);\nvar inst_19191 \x3d (inst_19150 + (1));\nvar inst_19150__$1 \x3d inst_19191;\nvar state_19224__$1 \x3d (function (){var statearr_19254 \x3d state_19224;\n(statearr_19254[(7)] \x3d inst_19150__$1);\n\n(statearr_19254[(14)] \x3d inst_19188);\n\nreturn statearr_19254;\n})();\nvar statearr_19255_20440 \x3d state_19224__$1;\n(statearr_19255_20440[(2)] \x3d null);\n\n(statearr_19255_20440[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19225 \x3d\x3d\x3d (8))){\nvar inst_19196 \x3d (state_19224[(2)]);\nvar state_19224__$1 \x3d state_19224;\nvar statearr_19256_20447 \x3d state_19224__$1;\n(statearr_19256_20447[(2)] \x3d inst_19196);\n\n(statearr_19256_20447[(1)] \x3d (5));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19257 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19257[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19257[(1)] \x3d (1));\n\nreturn statearr_19257;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19224){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19224);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19258){var ex__17347__auto__ \x3d e19258;\nvar statearr_19259_20448 \x3d state_19224;\n(statearr_19259_20448[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19224[(4)]))){\nvar statearr_19260_20449 \x3d state_19224;\n(statearr_19260_20449[(1)] \x3d cljs.core.first((state_19224[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20450 \x3d state_19224;\nstate_19224 \x3d G__20450;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19224){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19224);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19261 \x3d f__17495__auto__();\n(statearr_19261[(6)] \x3d c__17494__auto___20408);\n\nreturn statearr_19261;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n}\n\nreturn out;\n}));\n\n(cljs.core.async.map.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a collection of source channels and returns a channel which\n * contains all values taken from them. The returned channel will be\n * unbuffered by default, or a buf-or-n can be supplied. The channel\n * will close after all the source channels have closed.\n */\ncljs.core.async.merge \x3d (function cljs$core$async$merge(var_args){\nvar G__19264 \x3d arguments.length;\nswitch (G__19264) {\ncase 1:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 \x3d (function (chs){\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);\n}));\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 \x3d (function (chs,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20453 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19296){\nvar state_val_19297 \x3d (state_19296[(1)]);\nif((state_val_19297 \x3d\x3d\x3d (7))){\nvar inst_19276 \x3d (state_19296[(7)]);\nvar inst_19275 \x3d (state_19296[(8)]);\nvar inst_19275__$1 \x3d (state_19296[(2)]);\nvar inst_19276__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19275__$1,(0),null);\nvar inst_19277 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19275__$1,(1),null);\nvar inst_19278 \x3d (inst_19276__$1 \x3d\x3d null);\nvar state_19296__$1 \x3d (function (){var statearr_19300 \x3d state_19296;\n(statearr_19300[(7)] \x3d inst_19276__$1);\n\n(statearr_19300[(9)] \x3d inst_19277);\n\n(statearr_19300[(8)] \x3d inst_19275__$1);\n\nreturn statearr_19300;\n})();\nif(cljs.core.truth_(inst_19278)){\nvar statearr_19301_20455 \x3d state_19296__$1;\n(statearr_19301_20455[(1)] \x3d (8));\n\n} else {\nvar statearr_19302_20456 \x3d state_19296__$1;\n(statearr_19302_20456[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (1))){\nvar inst_19265 \x3d cljs.core.vec(chs);\nvar inst_19266 \x3d inst_19265;\nvar state_19296__$1 \x3d (function (){var statearr_19303 \x3d state_19296;\n(statearr_19303[(10)] \x3d inst_19266);\n\nreturn statearr_19303;\n})();\nvar statearr_19308_20457 \x3d state_19296__$1;\n(statearr_19308_20457[(2)] \x3d null);\n\n(statearr_19308_20457[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (4))){\nvar inst_19266 \x3d (state_19296[(10)]);\nvar state_19296__$1 \x3d state_19296;\nreturn cljs.core.async.ioc_alts_BANG_(state_19296__$1,(7),inst_19266);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (6))){\nvar inst_19292 \x3d (state_19296[(2)]);\nvar state_19296__$1 \x3d state_19296;\nvar statearr_19313_20458 \x3d state_19296__$1;\n(statearr_19313_20458[(2)] \x3d inst_19292);\n\n(statearr_19313_20458[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (3))){\nvar inst_19294 \x3d (state_19296[(2)]);\nvar state_19296__$1 \x3d state_19296;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19296__$1,inst_19294);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (2))){\nvar inst_19266 \x3d (state_19296[(10)]);\nvar inst_19268 \x3d cljs.core.count(inst_19266);\nvar inst_19269 \x3d (inst_19268 \x3e (0));\nvar state_19296__$1 \x3d state_19296;\nif(cljs.core.truth_(inst_19269)){\nvar statearr_19315_20461 \x3d state_19296__$1;\n(statearr_19315_20461[(1)] \x3d (4));\n\n} else {\nvar statearr_19317_20462 \x3d state_19296__$1;\n(statearr_19317_20462[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (11))){\nvar inst_19266 \x3d (state_19296[(10)]);\nvar inst_19285 \x3d (state_19296[(2)]);\nvar tmp19314 \x3d inst_19266;\nvar inst_19266__$1 \x3d tmp19314;\nvar state_19296__$1 \x3d (function (){var statearr_19318 \x3d state_19296;\n(statearr_19318[(11)] \x3d inst_19285);\n\n(statearr_19318[(10)] \x3d inst_19266__$1);\n\nreturn statearr_19318;\n})();\nvar statearr_19319_20463 \x3d state_19296__$1;\n(statearr_19319_20463[(2)] \x3d null);\n\n(statearr_19319_20463[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (9))){\nvar inst_19276 \x3d (state_19296[(7)]);\nvar state_19296__$1 \x3d state_19296;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19296__$1,(11),out,inst_19276);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (5))){\nvar inst_19290 \x3d cljs.core.async.close_BANG_(out);\nvar state_19296__$1 \x3d state_19296;\nvar statearr_19328_20464 \x3d state_19296__$1;\n(statearr_19328_20464[(2)] \x3d inst_19290);\n\n(statearr_19328_20464[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (10))){\nvar inst_19288 \x3d (state_19296[(2)]);\nvar state_19296__$1 \x3d state_19296;\nvar statearr_19329_20468 \x3d state_19296__$1;\n(statearr_19329_20468[(2)] \x3d inst_19288);\n\n(statearr_19329_20468[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19297 \x3d\x3d\x3d (8))){\nvar inst_19276 \x3d (state_19296[(7)]);\nvar inst_19277 \x3d (state_19296[(9)]);\nvar inst_19275 \x3d (state_19296[(8)]);\nvar inst_19266 \x3d (state_19296[(10)]);\nvar inst_19280 \x3d (function (){var cs \x3d inst_19266;\nvar vec__19271 \x3d inst_19275;\nvar v \x3d inst_19276;\nvar c \x3d inst_19277;\nreturn (function (p1__19262_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__19262_SHARP_);\n});\n})();\nvar inst_19281 \x3d cljs.core.filterv(inst_19280,inst_19266);\nvar inst_19266__$1 \x3d inst_19281;\nvar state_19296__$1 \x3d (function (){var statearr_19334 \x3d state_19296;\n(statearr_19334[(10)] \x3d inst_19266__$1);\n\nreturn statearr_19334;\n})();\nvar statearr_19335_20475 \x3d state_19296__$1;\n(statearr_19335_20475[(2)] \x3d null);\n\n(statearr_19335_20475[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19336 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19336[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19336[(1)] \x3d (1));\n\nreturn statearr_19336;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19296){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19296);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19340){var ex__17347__auto__ \x3d e19340;\nvar statearr_19342_20476 \x3d state_19296;\n(statearr_19342_20476[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19296[(4)]))){\nvar statearr_19343_20477 \x3d state_19296;\n(statearr_19343_20477[(1)] \x3d cljs.core.first((state_19296[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20478 \x3d state_19296;\nstate_19296 \x3d G__20478;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19296){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19296);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19348 \x3d f__17495__auto__();\n(statearr_19348[(6)] \x3d c__17494__auto___20453);\n\nreturn statearr_19348;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.merge.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel containing the single (collection) result of the\n * items taken from the channel conjoined to the supplied\n * collection. ch must close before into produces a result.\n */\ncljs.core.async.into \x3d (function cljs$core$async$into(coll,ch){\nreturn cljs.core.async.reduce(cljs.core.conj,coll,ch);\n});\n/**\n * Returns a channel that will return, at most, n items from ch. After n items\n * have been returned, or ch has been closed, the return chanel will close.\n * \n * The output channel is unbuffered by default, unless buf-or-n is given.\n */\ncljs.core.async.take \x3d (function cljs$core$async$take(var_args){\nvar G__19366 \x3d arguments.length;\nswitch (G__19366) {\ncase 2:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20481 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19395){\nvar state_val_19396 \x3d (state_19395[(1)]);\nif((state_val_19396 \x3d\x3d\x3d (7))){\nvar inst_19377 \x3d (state_19395[(7)]);\nvar inst_19377__$1 \x3d (state_19395[(2)]);\nvar inst_19378 \x3d (inst_19377__$1 \x3d\x3d null);\nvar inst_19379 \x3d cljs.core.not(inst_19378);\nvar state_19395__$1 \x3d (function (){var statearr_19398 \x3d state_19395;\n(statearr_19398[(7)] \x3d inst_19377__$1);\n\nreturn statearr_19398;\n})();\nif(inst_19379){\nvar statearr_19399_20482 \x3d state_19395__$1;\n(statearr_19399_20482[(1)] \x3d (8));\n\n} else {\nvar statearr_19400_20483 \x3d state_19395__$1;\n(statearr_19400_20483[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (1))){\nvar inst_19372 \x3d (0);\nvar state_19395__$1 \x3d (function (){var statearr_19405 \x3d state_19395;\n(statearr_19405[(8)] \x3d inst_19372);\n\nreturn statearr_19405;\n})();\nvar statearr_19406_20484 \x3d state_19395__$1;\n(statearr_19406_20484[(2)] \x3d null);\n\n(statearr_19406_20484[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (4))){\nvar state_19395__$1 \x3d state_19395;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19395__$1,(7),ch);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (6))){\nvar inst_19390 \x3d (state_19395[(2)]);\nvar state_19395__$1 \x3d state_19395;\nvar statearr_19411_20488 \x3d state_19395__$1;\n(statearr_19411_20488[(2)] \x3d inst_19390);\n\n(statearr_19411_20488[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (3))){\nvar inst_19392 \x3d (state_19395[(2)]);\nvar inst_19393 \x3d cljs.core.async.close_BANG_(out);\nvar state_19395__$1 \x3d (function (){var statearr_19416 \x3d state_19395;\n(statearr_19416[(9)] \x3d inst_19392);\n\nreturn statearr_19416;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19395__$1,inst_19393);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (2))){\nvar inst_19372 \x3d (state_19395[(8)]);\nvar inst_19374 \x3d (inst_19372 \x3c n);\nvar state_19395__$1 \x3d state_19395;\nif(cljs.core.truth_(inst_19374)){\nvar statearr_19420_20490 \x3d state_19395__$1;\n(statearr_19420_20490[(1)] \x3d (4));\n\n} else {\nvar statearr_19421_20491 \x3d state_19395__$1;\n(statearr_19421_20491[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (11))){\nvar inst_19372 \x3d (state_19395[(8)]);\nvar inst_19382 \x3d (state_19395[(2)]);\nvar inst_19383 \x3d (inst_19372 + (1));\nvar inst_19372__$1 \x3d inst_19383;\nvar state_19395__$1 \x3d (function (){var statearr_19423 \x3d state_19395;\n(statearr_19423[(8)] \x3d inst_19372__$1);\n\n(statearr_19423[(10)] \x3d inst_19382);\n\nreturn statearr_19423;\n})();\nvar statearr_19424_20492 \x3d state_19395__$1;\n(statearr_19424_20492[(2)] \x3d null);\n\n(statearr_19424_20492[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (9))){\nvar state_19395__$1 \x3d state_19395;\nvar statearr_19428_20493 \x3d state_19395__$1;\n(statearr_19428_20493[(2)] \x3d null);\n\n(statearr_19428_20493[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (5))){\nvar state_19395__$1 \x3d state_19395;\nvar statearr_19430_20494 \x3d state_19395__$1;\n(statearr_19430_20494[(2)] \x3d null);\n\n(statearr_19430_20494[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (10))){\nvar inst_19387 \x3d (state_19395[(2)]);\nvar state_19395__$1 \x3d state_19395;\nvar statearr_19431_20496 \x3d state_19395__$1;\n(statearr_19431_20496[(2)] \x3d inst_19387);\n\n(statearr_19431_20496[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19396 \x3d\x3d\x3d (8))){\nvar inst_19377 \x3d (state_19395[(7)]);\nvar state_19395__$1 \x3d state_19395;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19395__$1,(11),out,inst_19377);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19433 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19433[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19433[(1)] \x3d (1));\n\nreturn statearr_19433;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19395){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19395);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19434){var ex__17347__auto__ \x3d e19434;\nvar statearr_19435_20498 \x3d state_19395;\n(statearr_19435_20498[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19395[(4)]))){\nvar statearr_19436_20499 \x3d state_19395;\n(statearr_19436_20499[(1)] \x3d cljs.core.first((state_19395[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20500 \x3d state_19395;\nstate_19395 \x3d G__20500;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19395){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19395);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19441 \x3d f__17495__auto__();\n(statearr_19441[(6)] \x3d c__17494__auto___20481);\n\nreturn statearr_19441;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.take.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_LT_ \x3d (function cljs$core$async$map_LT_(f,ch){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async19451 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async19451 \x3d (function (f,ch,meta19452){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta19452 \x3d meta19452;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19453,meta19452__$1){\nvar self__ \x3d this;\nvar _19453__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async19451(self__.f,self__.ch,meta19452__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19453){\nvar self__ \x3d this;\nvar _19453__$1 \x3d this;\nreturn self__.meta19452;\n}));\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(self__.ch,(function (){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async19469 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async19469 \x3d (function (f,ch,meta19452,_,fn1,meta19470){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta19452 \x3d meta19452;\nthis._ \x3d _;\nthis.fn1 \x3d fn1;\nthis.meta19470 \x3d meta19470;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19471,meta19470__$1){\nvar self__ \x3d this;\nvar _19471__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async19469(self__.f,self__.ch,self__.meta19452,self__._,self__.fn1,meta19470__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19471){\nvar self__ \x3d this;\nvar _19471__$1 \x3d this;\nreturn self__.meta19470;\n}));\n\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async19469.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nvar f1 \x3d cljs.core.async.impl.protocols.commit(self__.fn1);\nreturn (function (p1__19450_SHARP_){\nvar G__19472 \x3d (((p1__19450_SHARP_ \x3d\x3d null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__19450_SHARP_) : self__.f.call(null,p1__19450_SHARP_)));\nreturn (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__19472) : f1.call(null,G__19472));\n});\n}));\n\n(cljs.core.async.t_cljs$core$async19469.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta19452\x22,\x22meta19452\x22,-31810925,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(\x22cljs.core.async\x22,\x22t_cljs$core$async19451\x22,\x22cljs.core.async/t_cljs$core$async19451\x22,818277804,null)], null)),new cljs.core.Symbol(null,\x22fn1\x22,\x22fn1\x22,895834444,null),new cljs.core.Symbol(null,\x22meta19470\x22,\x22meta19470\x22,731152850,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async19469.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async19469.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async19469\x22);\n\n(cljs.core.async.t_cljs$core$async19469.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async19469\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async19469.\n */\ncljs.core.async.__GT_t_cljs$core$async19469 \x3d (function cljs$core$async$map_LT__$___GT_t_cljs$core$async19469(f__$1,ch__$1,meta19452__$1,___$2,fn1__$1,meta19470){\nreturn (new cljs.core.async.t_cljs$core$async19469(f__$1,ch__$1,meta19452__$1,___$2,fn1__$1,meta19470));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async19469(self__.f,self__.ch,self__.meta19452,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY));\n})()\n);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ret;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!((cljs.core.deref(ret) \x3d\x3d null)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.async.impl.channels.box((function (){var G__19473 \x3d cljs.core.deref(ret);\nreturn (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__19473) : self__.f.call(null,G__19473));\n})());\n} else {\nreturn ret;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19451.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async19451.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta19452\x22,\x22meta19452\x22,-31810925,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async19451.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async19451.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async19451\x22);\n\n(cljs.core.async.t_cljs$core$async19451.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async19451\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async19451.\n */\ncljs.core.async.__GT_t_cljs$core$async19451 \x3d (function cljs$core$async$map_LT__$___GT_t_cljs$core$async19451(f__$1,ch__$1,meta19452){\nreturn (new cljs.core.async.t_cljs$core$async19451(f__$1,ch__$1,meta19452));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async19451(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_GT_ \x3d (function cljs$core$async$map_GT_(f,ch){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async19474 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async19474 \x3d (function (f,ch,meta19475){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta19475 \x3d meta19475;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19476,meta19475__$1){\nvar self__ \x3d this;\nvar _19476__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async19474(self__.f,self__.ch,meta19475__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19476){\nvar self__ \x3d this;\nvar _19476__$1 \x3d this;\nreturn self__.meta19475;\n}));\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19474.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async19474.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta19475\x22,\x22meta19475\x22,-1059940413,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async19474.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async19474.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async19474\x22);\n\n(cljs.core.async.t_cljs$core$async19474.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async19474\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async19474.\n */\ncljs.core.async.__GT_t_cljs$core$async19474 \x3d (function cljs$core$async$map_GT__$___GT_t_cljs$core$async19474(f__$1,ch__$1,meta19475){\nreturn (new cljs.core.async.t_cljs$core$async19474(f__$1,ch__$1,meta19475));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async19474(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_GT_ \x3d (function cljs$core$async$filter_GT_(p,ch){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.t_cljs$core$async19479 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async19479 \x3d (function (p,ch,meta19480){\nthis.p \x3d p;\nthis.ch \x3d ch;\nthis.meta19480 \x3d meta19480;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19481,meta19480__$1){\nvar self__ \x3d this;\nvar _19481__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async19479(self__.p,self__.ch,meta19480__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19481){\nvar self__ \x3d this;\nvar _19481__$1 \x3d this;\nreturn self__.meta19480;\n}));\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19479.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n} else {\nreturn cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));\n}\n}));\n\n(cljs.core.async.t_cljs$core$async19479.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta19480\x22,\x22meta19480\x22,-288330906,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async19479.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async19479.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async19479\x22);\n\n(cljs.core.async.t_cljs$core$async19479.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async19479\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async19479.\n */\ncljs.core.async.__GT_t_cljs$core$async19479 \x3d (function cljs$core$async$filter_GT__$___GT_t_cljs$core$async19479(p__$1,ch__$1,meta19480){\nreturn (new cljs.core.async.t_cljs$core$async19479(p__$1,ch__$1,meta19480));\n});\n\n}\n\nreturn (new cljs.core.async.t_cljs$core$async19479(p,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_GT_ \x3d (function cljs$core$async$remove_GT_(p,ch){\nreturn cljs.core.async.filter_GT_(cljs.core.complement(p),ch);\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_LT_ \x3d (function cljs$core$async$filter_LT_(var_args){\nvar G__19485 \x3d arguments.length;\nswitch (G__19485) {\ncase 2:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20531 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19508){\nvar state_val_19509 \x3d (state_19508[(1)]);\nif((state_val_19509 \x3d\x3d\x3d (7))){\nvar inst_19504 \x3d (state_19508[(2)]);\nvar state_19508__$1 \x3d state_19508;\nvar statearr_19510_20532 \x3d state_19508__$1;\n(statearr_19510_20532[(2)] \x3d inst_19504);\n\n(statearr_19510_20532[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (1))){\nvar state_19508__$1 \x3d state_19508;\nvar statearr_19511_20533 \x3d state_19508__$1;\n(statearr_19511_20533[(2)] \x3d null);\n\n(statearr_19511_20533[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (4))){\nvar inst_19490 \x3d (state_19508[(7)]);\nvar inst_19490__$1 \x3d (state_19508[(2)]);\nvar inst_19491 \x3d (inst_19490__$1 \x3d\x3d null);\nvar state_19508__$1 \x3d (function (){var statearr_19512 \x3d state_19508;\n(statearr_19512[(7)] \x3d inst_19490__$1);\n\nreturn statearr_19512;\n})();\nif(cljs.core.truth_(inst_19491)){\nvar statearr_19513_20539 \x3d state_19508__$1;\n(statearr_19513_20539[(1)] \x3d (5));\n\n} else {\nvar statearr_19514_20543 \x3d state_19508__$1;\n(statearr_19514_20543[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (6))){\nvar inst_19490 \x3d (state_19508[(7)]);\nvar inst_19495 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_19490) : p.call(null,inst_19490));\nvar state_19508__$1 \x3d state_19508;\nif(cljs.core.truth_(inst_19495)){\nvar statearr_19515_20544 \x3d state_19508__$1;\n(statearr_19515_20544[(1)] \x3d (8));\n\n} else {\nvar statearr_19516_20545 \x3d state_19508__$1;\n(statearr_19516_20545[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (3))){\nvar inst_19506 \x3d (state_19508[(2)]);\nvar state_19508__$1 \x3d state_19508;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19508__$1,inst_19506);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (2))){\nvar state_19508__$1 \x3d state_19508;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19508__$1,(4),ch);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (11))){\nvar inst_19498 \x3d (state_19508[(2)]);\nvar state_19508__$1 \x3d state_19508;\nvar statearr_19517_20547 \x3d state_19508__$1;\n(statearr_19517_20547[(2)] \x3d inst_19498);\n\n(statearr_19517_20547[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (9))){\nvar state_19508__$1 \x3d state_19508;\nvar statearr_19518_20548 \x3d state_19508__$1;\n(statearr_19518_20548[(2)] \x3d null);\n\n(statearr_19518_20548[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (5))){\nvar inst_19493 \x3d cljs.core.async.close_BANG_(out);\nvar state_19508__$1 \x3d state_19508;\nvar statearr_19520_20549 \x3d state_19508__$1;\n(statearr_19520_20549[(2)] \x3d inst_19493);\n\n(statearr_19520_20549[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (10))){\nvar inst_19501 \x3d (state_19508[(2)]);\nvar state_19508__$1 \x3d (function (){var statearr_19522 \x3d state_19508;\n(statearr_19522[(8)] \x3d inst_19501);\n\nreturn statearr_19522;\n})();\nvar statearr_19523_20550 \x3d state_19508__$1;\n(statearr_19523_20550[(2)] \x3d null);\n\n(statearr_19523_20550[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19509 \x3d\x3d\x3d (8))){\nvar inst_19490 \x3d (state_19508[(7)]);\nvar state_19508__$1 \x3d state_19508;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19508__$1,(11),out,inst_19490);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19524 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_19524[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19524[(1)] \x3d (1));\n\nreturn statearr_19524;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19508){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19508);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19525){var ex__17347__auto__ \x3d e19525;\nvar statearr_19526_20554 \x3d state_19508;\n(statearr_19526_20554[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19508[(4)]))){\nvar statearr_19527_20555 \x3d state_19508;\n(statearr_19527_20555[(1)] \x3d cljs.core.first((state_19508[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20556 \x3d state_19508;\nstate_19508 \x3d G__20556;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19508){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19508);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19532 \x3d f__17495__auto__();\n(statearr_19532[(6)] \x3d c__17494__auto___20531);\n\nreturn statearr_19532;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_LT_ \x3d (function cljs$core$async$remove_LT_(var_args){\nvar G__19534 \x3d arguments.length;\nswitch (G__19534) {\ncase 2:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);\n}));\n\n(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.mapcat_STAR_ \x3d (function cljs$core$async$mapcat_STAR_(f,in$,out){\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19604){\nvar state_val_19605 \x3d (state_19604[(1)]);\nif((state_val_19605 \x3d\x3d\x3d (7))){\nvar inst_19600 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19606_20561 \x3d state_19604__$1;\n(statearr_19606_20561[(2)] \x3d inst_19600);\n\n(statearr_19606_20561[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (20))){\nvar inst_19570 \x3d (state_19604[(7)]);\nvar inst_19581 \x3d (state_19604[(2)]);\nvar inst_19582 \x3d cljs.core.next(inst_19570);\nvar inst_19551 \x3d inst_19582;\nvar inst_19552 \x3d null;\nvar inst_19553 \x3d (0);\nvar inst_19554 \x3d (0);\nvar state_19604__$1 \x3d (function (){var statearr_19607 \x3d state_19604;\n(statearr_19607[(8)] \x3d inst_19581);\n\n(statearr_19607[(9)] \x3d inst_19554);\n\n(statearr_19607[(10)] \x3d inst_19551);\n\n(statearr_19607[(11)] \x3d inst_19552);\n\n(statearr_19607[(12)] \x3d inst_19553);\n\nreturn statearr_19607;\n})();\nvar statearr_19608_20565 \x3d state_19604__$1;\n(statearr_19608_20565[(2)] \x3d null);\n\n(statearr_19608_20565[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (1))){\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19609_20566 \x3d state_19604__$1;\n(statearr_19609_20566[(2)] \x3d null);\n\n(statearr_19609_20566[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (4))){\nvar inst_19539 \x3d (state_19604[(13)]);\nvar inst_19539__$1 \x3d (state_19604[(2)]);\nvar inst_19541 \x3d (inst_19539__$1 \x3d\x3d null);\nvar state_19604__$1 \x3d (function (){var statearr_19616 \x3d state_19604;\n(statearr_19616[(13)] \x3d inst_19539__$1);\n\nreturn statearr_19616;\n})();\nif(cljs.core.truth_(inst_19541)){\nvar statearr_19618_20571 \x3d state_19604__$1;\n(statearr_19618_20571[(1)] \x3d (5));\n\n} else {\nvar statearr_19619_20572 \x3d state_19604__$1;\n(statearr_19619_20572[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (15))){\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19629_20573 \x3d state_19604__$1;\n(statearr_19629_20573[(2)] \x3d null);\n\n(statearr_19629_20573[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (21))){\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19636_20574 \x3d state_19604__$1;\n(statearr_19636_20574[(2)] \x3d null);\n\n(statearr_19636_20574[(1)] \x3d (23));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (13))){\nvar inst_19554 \x3d (state_19604[(9)]);\nvar inst_19551 \x3d (state_19604[(10)]);\nvar inst_19552 \x3d (state_19604[(11)]);\nvar inst_19553 \x3d (state_19604[(12)]);\nvar inst_19563 \x3d (state_19604[(2)]);\nvar inst_19567 \x3d (inst_19554 + (1));\nvar tmp19626 \x3d inst_19551;\nvar tmp19627 \x3d inst_19552;\nvar tmp19628 \x3d inst_19553;\nvar inst_19551__$1 \x3d tmp19626;\nvar inst_19552__$1 \x3d tmp19627;\nvar inst_19553__$1 \x3d tmp19628;\nvar inst_19554__$1 \x3d inst_19567;\nvar state_19604__$1 \x3d (function (){var statearr_19637 \x3d state_19604;\n(statearr_19637[(14)] \x3d inst_19563);\n\n(statearr_19637[(9)] \x3d inst_19554__$1);\n\n(statearr_19637[(10)] \x3d inst_19551__$1);\n\n(statearr_19637[(11)] \x3d inst_19552__$1);\n\n(statearr_19637[(12)] \x3d inst_19553__$1);\n\nreturn statearr_19637;\n})();\nvar statearr_19638_20575 \x3d state_19604__$1;\n(statearr_19638_20575[(2)] \x3d null);\n\n(statearr_19638_20575[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (22))){\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19639_20577 \x3d state_19604__$1;\n(statearr_19639_20577[(2)] \x3d null);\n\n(statearr_19639_20577[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (6))){\nvar inst_19539 \x3d (state_19604[(13)]);\nvar inst_19549 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_19539) : f.call(null,inst_19539));\nvar inst_19550 \x3d cljs.core.seq(inst_19549);\nvar inst_19551 \x3d inst_19550;\nvar inst_19552 \x3d null;\nvar inst_19553 \x3d (0);\nvar inst_19554 \x3d (0);\nvar state_19604__$1 \x3d (function (){var statearr_19640 \x3d state_19604;\n(statearr_19640[(9)] \x3d inst_19554);\n\n(statearr_19640[(10)] \x3d inst_19551);\n\n(statearr_19640[(11)] \x3d inst_19552);\n\n(statearr_19640[(12)] \x3d inst_19553);\n\nreturn statearr_19640;\n})();\nvar statearr_19644_20579 \x3d state_19604__$1;\n(statearr_19644_20579[(2)] \x3d null);\n\n(statearr_19644_20579[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (17))){\nvar inst_19570 \x3d (state_19604[(7)]);\nvar inst_19574 \x3d cljs.core.chunk_first(inst_19570);\nvar inst_19575 \x3d cljs.core.chunk_rest(inst_19570);\nvar inst_19576 \x3d cljs.core.count(inst_19574);\nvar inst_19551 \x3d inst_19575;\nvar inst_19552 \x3d inst_19574;\nvar inst_19553 \x3d inst_19576;\nvar inst_19554 \x3d (0);\nvar state_19604__$1 \x3d (function (){var statearr_19649 \x3d state_19604;\n(statearr_19649[(9)] \x3d inst_19554);\n\n(statearr_19649[(10)] \x3d inst_19551);\n\n(statearr_19649[(11)] \x3d inst_19552);\n\n(statearr_19649[(12)] \x3d inst_19553);\n\nreturn statearr_19649;\n})();\nvar statearr_19653_20580 \x3d state_19604__$1;\n(statearr_19653_20580[(2)] \x3d null);\n\n(statearr_19653_20580[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (3))){\nvar inst_19602 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19604__$1,inst_19602);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (12))){\nvar inst_19590 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19654_20581 \x3d state_19604__$1;\n(statearr_19654_20581[(2)] \x3d inst_19590);\n\n(statearr_19654_20581[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (2))){\nvar state_19604__$1 \x3d state_19604;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19604__$1,(4),in$);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (23))){\nvar inst_19598 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19655_20582 \x3d state_19604__$1;\n(statearr_19655_20582[(2)] \x3d inst_19598);\n\n(statearr_19655_20582[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (19))){\nvar inst_19585 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19671_20583 \x3d state_19604__$1;\n(statearr_19671_20583[(2)] \x3d inst_19585);\n\n(statearr_19671_20583[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (11))){\nvar inst_19570 \x3d (state_19604[(7)]);\nvar inst_19551 \x3d (state_19604[(10)]);\nvar inst_19570__$1 \x3d cljs.core.seq(inst_19551);\nvar state_19604__$1 \x3d (function (){var statearr_19672 \x3d state_19604;\n(statearr_19672[(7)] \x3d inst_19570__$1);\n\nreturn statearr_19672;\n})();\nif(inst_19570__$1){\nvar statearr_19673_20590 \x3d state_19604__$1;\n(statearr_19673_20590[(1)] \x3d (14));\n\n} else {\nvar statearr_19674_20591 \x3d state_19604__$1;\n(statearr_19674_20591[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (9))){\nvar inst_19592 \x3d (state_19604[(2)]);\nvar inst_19593 \x3d cljs.core.async.impl.protocols.closed_QMARK_(out);\nvar state_19604__$1 \x3d (function (){var statearr_19675 \x3d state_19604;\n(statearr_19675[(15)] \x3d inst_19592);\n\nreturn statearr_19675;\n})();\nif(cljs.core.truth_(inst_19593)){\nvar statearr_19676_20592 \x3d state_19604__$1;\n(statearr_19676_20592[(1)] \x3d (21));\n\n} else {\nvar statearr_19677_20593 \x3d state_19604__$1;\n(statearr_19677_20593[(1)] \x3d (22));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (5))){\nvar inst_19543 \x3d cljs.core.async.close_BANG_(out);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19678_20594 \x3d state_19604__$1;\n(statearr_19678_20594[(2)] \x3d inst_19543);\n\n(statearr_19678_20594[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (14))){\nvar inst_19570 \x3d (state_19604[(7)]);\nvar inst_19572 \x3d cljs.core.chunked_seq_QMARK_(inst_19570);\nvar state_19604__$1 \x3d state_19604;\nif(inst_19572){\nvar statearr_19679_20595 \x3d state_19604__$1;\n(statearr_19679_20595[(1)] \x3d (17));\n\n} else {\nvar statearr_19680_20596 \x3d state_19604__$1;\n(statearr_19680_20596[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (16))){\nvar inst_19588 \x3d (state_19604[(2)]);\nvar state_19604__$1 \x3d state_19604;\nvar statearr_19681_20597 \x3d state_19604__$1;\n(statearr_19681_20597[(2)] \x3d inst_19588);\n\n(statearr_19681_20597[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (10))){\nvar inst_19554 \x3d (state_19604[(9)]);\nvar inst_19552 \x3d (state_19604[(11)]);\nvar inst_19561 \x3d cljs.core._nth(inst_19552,inst_19554);\nvar state_19604__$1 \x3d state_19604;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19604__$1,(13),out,inst_19561);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (18))){\nvar inst_19570 \x3d (state_19604[(7)]);\nvar inst_19579 \x3d cljs.core.first(inst_19570);\nvar state_19604__$1 \x3d state_19604;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19604__$1,(20),out,inst_19579);\n} else {\nif((state_val_19605 \x3d\x3d\x3d (8))){\nvar inst_19554 \x3d (state_19604[(9)]);\nvar inst_19553 \x3d (state_19604[(12)]);\nvar inst_19557 \x3d (inst_19554 \x3c inst_19553);\nvar inst_19559 \x3d inst_19557;\nvar state_19604__$1 \x3d state_19604;\nif(cljs.core.truth_(inst_19559)){\nvar statearr_19682_20601 \x3d state_19604__$1;\n(statearr_19682_20601[(1)] \x3d (10));\n\n} else {\nvar statearr_19683_20602 \x3d state_19604__$1;\n(statearr_19683_20602[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mapcat_STAR__$_state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19685 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19685[(0)] \x3d cljs$core$async$mapcat_STAR__$_state_machine__17344__auto__);\n\n(statearr_19685[(1)] \x3d (1));\n\nreturn statearr_19685;\n});\nvar cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____1 \x3d (function (state_19604){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19604);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19687){var ex__17347__auto__ \x3d e19687;\nvar statearr_19688_20603 \x3d state_19604;\n(statearr_19688_20603[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19604[(4)]))){\nvar statearr_19689_20604 \x3d state_19604;\n(statearr_19689_20604[(1)] \x3d cljs.core.first((state_19604[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20606 \x3d state_19604;\nstate_19604 \x3d G__20606;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mapcat_STAR__$_state_machine__17344__auto__ \x3d function(state_19604){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____1.call(this,state_19604);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mapcat_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____0;\ncljs$core$async$mapcat_STAR__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mapcat_STAR__$_state_machine__17344__auto____1;\nreturn cljs$core$async$mapcat_STAR__$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19690 \x3d f__17495__auto__();\n(statearr_19690[(6)] \x3d c__17494__auto__);\n\nreturn statearr_19690;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_LT_ \x3d (function cljs$core$async$mapcat_LT_(var_args){\nvar G__19697 \x3d arguments.length;\nswitch (G__19697) {\ncase 2:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,in$){\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,in$,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn out;\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_GT_ \x3d (function cljs$core$async$mapcat_GT_(var_args){\nvar G__19699 \x3d arguments.length;\nswitch (G__19699) {\ncase 2:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,out){\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,out,buf_or_n){\nvar in$ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn in$;\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.unique \x3d (function cljs$core$async$unique(var_args){\nvar G__19701 \x3d arguments.length;\nswitch (G__19701) {\ncase 1:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 \x3d (function (ch){\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);\n}));\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20613 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19737){\nvar state_val_19738 \x3d (state_19737[(1)]);\nif((state_val_19738 \x3d\x3d\x3d (7))){\nvar inst_19732 \x3d (state_19737[(2)]);\nvar state_19737__$1 \x3d state_19737;\nvar statearr_19740_20614 \x3d state_19737__$1;\n(statearr_19740_20614[(2)] \x3d inst_19732);\n\n(statearr_19740_20614[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (1))){\nvar inst_19710 \x3d null;\nvar state_19737__$1 \x3d (function (){var statearr_19744 \x3d state_19737;\n(statearr_19744[(7)] \x3d inst_19710);\n\nreturn statearr_19744;\n})();\nvar statearr_19745_20621 \x3d state_19737__$1;\n(statearr_19745_20621[(2)] \x3d null);\n\n(statearr_19745_20621[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (4))){\nvar inst_19717 \x3d (state_19737[(8)]);\nvar inst_19717__$1 \x3d (state_19737[(2)]);\nvar inst_19718 \x3d (inst_19717__$1 \x3d\x3d null);\nvar inst_19719 \x3d cljs.core.not(inst_19718);\nvar state_19737__$1 \x3d (function (){var statearr_19746 \x3d state_19737;\n(statearr_19746[(8)] \x3d inst_19717__$1);\n\nreturn statearr_19746;\n})();\nif(inst_19719){\nvar statearr_19747_20622 \x3d state_19737__$1;\n(statearr_19747_20622[(1)] \x3d (5));\n\n} else {\nvar statearr_19748_20623 \x3d state_19737__$1;\n(statearr_19748_20623[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (6))){\nvar state_19737__$1 \x3d state_19737;\nvar statearr_19749_20624 \x3d state_19737__$1;\n(statearr_19749_20624[(2)] \x3d null);\n\n(statearr_19749_20624[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (3))){\nvar inst_19734 \x3d (state_19737[(2)]);\nvar inst_19735 \x3d cljs.core.async.close_BANG_(out);\nvar state_19737__$1 \x3d (function (){var statearr_19750 \x3d state_19737;\n(statearr_19750[(9)] \x3d inst_19734);\n\nreturn statearr_19750;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19737__$1,inst_19735);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (2))){\nvar state_19737__$1 \x3d state_19737;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19737__$1,(4),ch);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (11))){\nvar inst_19717 \x3d (state_19737[(8)]);\nvar inst_19726 \x3d (state_19737[(2)]);\nvar inst_19710 \x3d inst_19717;\nvar state_19737__$1 \x3d (function (){var statearr_19751 \x3d state_19737;\n(statearr_19751[(10)] \x3d inst_19726);\n\n(statearr_19751[(7)] \x3d inst_19710);\n\nreturn statearr_19751;\n})();\nvar statearr_19752_20625 \x3d state_19737__$1;\n(statearr_19752_20625[(2)] \x3d null);\n\n(statearr_19752_20625[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (9))){\nvar inst_19717 \x3d (state_19737[(8)]);\nvar state_19737__$1 \x3d state_19737;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19737__$1,(11),out,inst_19717);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (5))){\nvar inst_19717 \x3d (state_19737[(8)]);\nvar inst_19710 \x3d (state_19737[(7)]);\nvar inst_19721 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_19717,inst_19710);\nvar state_19737__$1 \x3d state_19737;\nif(inst_19721){\nvar statearr_19758_20626 \x3d state_19737__$1;\n(statearr_19758_20626[(1)] \x3d (8));\n\n} else {\nvar statearr_19759_20627 \x3d state_19737__$1;\n(statearr_19759_20627[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (10))){\nvar inst_19729 \x3d (state_19737[(2)]);\nvar state_19737__$1 \x3d state_19737;\nvar statearr_19760_20628 \x3d state_19737__$1;\n(statearr_19760_20628[(2)] \x3d inst_19729);\n\n(statearr_19760_20628[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19738 \x3d\x3d\x3d (8))){\nvar inst_19710 \x3d (state_19737[(7)]);\nvar tmp19753 \x3d inst_19710;\nvar inst_19710__$1 \x3d tmp19753;\nvar state_19737__$1 \x3d (function (){var statearr_19761 \x3d state_19737;\n(statearr_19761[(7)] \x3d inst_19710__$1);\n\nreturn statearr_19761;\n})();\nvar statearr_19762_20635 \x3d state_19737__$1;\n(statearr_19762_20635[(2)] \x3d null);\n\n(statearr_19762_20635[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19763 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19763[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19763[(1)] \x3d (1));\n\nreturn statearr_19763;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19737){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19737);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19764){var ex__17347__auto__ \x3d e19764;\nvar statearr_19765_20636 \x3d state_19737;\n(statearr_19765_20636[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19737[(4)]))){\nvar statearr_19766_20637 \x3d state_19737;\n(statearr_19766_20637[(1)] \x3d cljs.core.first((state_19737[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20638 \x3d state_19737;\nstate_19737 \x3d G__20638;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19737){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19737);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19767 \x3d f__17495__auto__();\n(statearr_19767[(6)] \x3d c__17494__auto___20613);\n\nreturn statearr_19767;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.unique.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition \x3d (function cljs$core$async$partition(var_args){\nvar G__19770 \x3d arguments.length;\nswitch (G__19770) {\ncase 2:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20641 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19812){\nvar state_val_19813 \x3d (state_19812[(1)]);\nif((state_val_19813 \x3d\x3d\x3d (7))){\nvar inst_19805 \x3d (state_19812[(2)]);\nvar state_19812__$1 \x3d state_19812;\nvar statearr_19814_20642 \x3d state_19812__$1;\n(statearr_19814_20642[(2)] \x3d inst_19805);\n\n(statearr_19814_20642[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (1))){\nvar inst_19772 \x3d (new Array(n));\nvar inst_19773 \x3d inst_19772;\nvar inst_19774 \x3d (0);\nvar state_19812__$1 \x3d (function (){var statearr_19815 \x3d state_19812;\n(statearr_19815[(7)] \x3d inst_19773);\n\n(statearr_19815[(8)] \x3d inst_19774);\n\nreturn statearr_19815;\n})();\nvar statearr_19816_20643 \x3d state_19812__$1;\n(statearr_19816_20643[(2)] \x3d null);\n\n(statearr_19816_20643[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (4))){\nvar inst_19777 \x3d (state_19812[(9)]);\nvar inst_19777__$1 \x3d (state_19812[(2)]);\nvar inst_19778 \x3d (inst_19777__$1 \x3d\x3d null);\nvar inst_19779 \x3d cljs.core.not(inst_19778);\nvar state_19812__$1 \x3d (function (){var statearr_19817 \x3d state_19812;\n(statearr_19817[(9)] \x3d inst_19777__$1);\n\nreturn statearr_19817;\n})();\nif(inst_19779){\nvar statearr_19818_20644 \x3d state_19812__$1;\n(statearr_19818_20644[(1)] \x3d (5));\n\n} else {\nvar statearr_19819_20645 \x3d state_19812__$1;\n(statearr_19819_20645[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (15))){\nvar inst_19799 \x3d (state_19812[(2)]);\nvar state_19812__$1 \x3d state_19812;\nvar statearr_19820_20646 \x3d state_19812__$1;\n(statearr_19820_20646[(2)] \x3d inst_19799);\n\n(statearr_19820_20646[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (13))){\nvar state_19812__$1 \x3d state_19812;\nvar statearr_19821_20647 \x3d state_19812__$1;\n(statearr_19821_20647[(2)] \x3d null);\n\n(statearr_19821_20647[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (6))){\nvar inst_19774 \x3d (state_19812[(8)]);\nvar inst_19795 \x3d (inst_19774 \x3e (0));\nvar state_19812__$1 \x3d state_19812;\nif(cljs.core.truth_(inst_19795)){\nvar statearr_19822_20648 \x3d state_19812__$1;\n(statearr_19822_20648[(1)] \x3d (12));\n\n} else {\nvar statearr_19823_20649 \x3d state_19812__$1;\n(statearr_19823_20649[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (3))){\nvar inst_19807 \x3d (state_19812[(2)]);\nvar state_19812__$1 \x3d state_19812;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19812__$1,inst_19807);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (12))){\nvar inst_19773 \x3d (state_19812[(7)]);\nvar inst_19797 \x3d cljs.core.vec(inst_19773);\nvar state_19812__$1 \x3d state_19812;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19812__$1,(15),out,inst_19797);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (2))){\nvar state_19812__$1 \x3d state_19812;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19812__$1,(4),ch);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (11))){\nvar inst_19789 \x3d (state_19812[(2)]);\nvar inst_19790 \x3d (new Array(n));\nvar inst_19773 \x3d inst_19790;\nvar inst_19774 \x3d (0);\nvar state_19812__$1 \x3d (function (){var statearr_19824 \x3d state_19812;\n(statearr_19824[(10)] \x3d inst_19789);\n\n(statearr_19824[(7)] \x3d inst_19773);\n\n(statearr_19824[(8)] \x3d inst_19774);\n\nreturn statearr_19824;\n})();\nvar statearr_19825_20650 \x3d state_19812__$1;\n(statearr_19825_20650[(2)] \x3d null);\n\n(statearr_19825_20650[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (9))){\nvar inst_19773 \x3d (state_19812[(7)]);\nvar inst_19787 \x3d cljs.core.vec(inst_19773);\nvar state_19812__$1 \x3d state_19812;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19812__$1,(11),out,inst_19787);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (5))){\nvar inst_19773 \x3d (state_19812[(7)]);\nvar inst_19782 \x3d (state_19812[(11)]);\nvar inst_19774 \x3d (state_19812[(8)]);\nvar inst_19777 \x3d (state_19812[(9)]);\nvar inst_19781 \x3d (inst_19773[inst_19774] \x3d inst_19777);\nvar inst_19782__$1 \x3d (inst_19774 + (1));\nvar inst_19783 \x3d (inst_19782__$1 \x3c n);\nvar state_19812__$1 \x3d (function (){var statearr_19826 \x3d state_19812;\n(statearr_19826[(12)] \x3d inst_19781);\n\n(statearr_19826[(11)] \x3d inst_19782__$1);\n\nreturn statearr_19826;\n})();\nif(cljs.core.truth_(inst_19783)){\nvar statearr_19827_20651 \x3d state_19812__$1;\n(statearr_19827_20651[(1)] \x3d (8));\n\n} else {\nvar statearr_19828_20652 \x3d state_19812__$1;\n(statearr_19828_20652[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (14))){\nvar inst_19802 \x3d (state_19812[(2)]);\nvar inst_19803 \x3d cljs.core.async.close_BANG_(out);\nvar state_19812__$1 \x3d (function (){var statearr_19830 \x3d state_19812;\n(statearr_19830[(13)] \x3d inst_19802);\n\nreturn statearr_19830;\n})();\nvar statearr_19831_20653 \x3d state_19812__$1;\n(statearr_19831_20653[(2)] \x3d inst_19803);\n\n(statearr_19831_20653[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (10))){\nvar inst_19793 \x3d (state_19812[(2)]);\nvar state_19812__$1 \x3d state_19812;\nvar statearr_19832_20654 \x3d state_19812__$1;\n(statearr_19832_20654[(2)] \x3d inst_19793);\n\n(statearr_19832_20654[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19813 \x3d\x3d\x3d (8))){\nvar inst_19773 \x3d (state_19812[(7)]);\nvar inst_19782 \x3d (state_19812[(11)]);\nvar tmp19829 \x3d inst_19773;\nvar inst_19773__$1 \x3d tmp19829;\nvar inst_19774 \x3d inst_19782;\nvar state_19812__$1 \x3d (function (){var statearr_19833 \x3d state_19812;\n(statearr_19833[(7)] \x3d inst_19773__$1);\n\n(statearr_19833[(8)] \x3d inst_19774);\n\nreturn statearr_19833;\n})();\nvar statearr_19834_20655 \x3d state_19812__$1;\n(statearr_19834_20655[(2)] \x3d null);\n\n(statearr_19834_20655[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19835 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19835[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19835[(1)] \x3d (1));\n\nreturn statearr_19835;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19812){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19812);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19836){var ex__17347__auto__ \x3d e19836;\nvar statearr_19837_20656 \x3d state_19812;\n(statearr_19837_20656[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19812[(4)]))){\nvar statearr_19838_20657 \x3d state_19812;\n(statearr_19838_20657[(1)] \x3d cljs.core.first((state_19812[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20658 \x3d state_19812;\nstate_19812 \x3d G__20658;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19812){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19812);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19839 \x3d f__17495__auto__();\n(statearr_19839[(6)] \x3d c__17494__auto___20641);\n\nreturn statearr_19839;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition_by \x3d (function cljs$core$async$partition_by(var_args){\nvar G__19841 \x3d arguments.length;\nswitch (G__19841) {\ncase 2:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,ch){\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);\n}));\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__17494__auto___20660 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_19886){\nvar state_val_19887 \x3d (state_19886[(1)]);\nif((state_val_19887 \x3d\x3d\x3d (7))){\nvar inst_19882 \x3d (state_19886[(2)]);\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19888_20661 \x3d state_19886__$1;\n(statearr_19888_20661[(2)] \x3d inst_19882);\n\n(statearr_19888_20661[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (1))){\nvar inst_19842 \x3d [];\nvar inst_19843 \x3d inst_19842;\nvar inst_19844 \x3d new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123);\nvar state_19886__$1 \x3d (function (){var statearr_19890 \x3d state_19886;\n(statearr_19890[(7)] \x3d inst_19843);\n\n(statearr_19890[(8)] \x3d inst_19844);\n\nreturn statearr_19890;\n})();\nvar statearr_19891_20662 \x3d state_19886__$1;\n(statearr_19891_20662[(2)] \x3d null);\n\n(statearr_19891_20662[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (4))){\nvar inst_19847 \x3d (state_19886[(9)]);\nvar inst_19847__$1 \x3d (state_19886[(2)]);\nvar inst_19848 \x3d (inst_19847__$1 \x3d\x3d null);\nvar inst_19849 \x3d cljs.core.not(inst_19848);\nvar state_19886__$1 \x3d (function (){var statearr_19892 \x3d state_19886;\n(statearr_19892[(9)] \x3d inst_19847__$1);\n\nreturn statearr_19892;\n})();\nif(inst_19849){\nvar statearr_19893_20664 \x3d state_19886__$1;\n(statearr_19893_20664[(1)] \x3d (5));\n\n} else {\nvar statearr_19894_20665 \x3d state_19886__$1;\n(statearr_19894_20665[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (15))){\nvar inst_19843 \x3d (state_19886[(7)]);\nvar inst_19874 \x3d cljs.core.vec(inst_19843);\nvar state_19886__$1 \x3d state_19886;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19886__$1,(18),out,inst_19874);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (13))){\nvar inst_19869 \x3d (state_19886[(2)]);\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19895_20666 \x3d state_19886__$1;\n(statearr_19895_20666[(2)] \x3d inst_19869);\n\n(statearr_19895_20666[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (6))){\nvar inst_19843 \x3d (state_19886[(7)]);\nvar inst_19871 \x3d inst_19843.length;\nvar inst_19872 \x3d (inst_19871 \x3e (0));\nvar state_19886__$1 \x3d state_19886;\nif(cljs.core.truth_(inst_19872)){\nvar statearr_19896_20667 \x3d state_19886__$1;\n(statearr_19896_20667[(1)] \x3d (15));\n\n} else {\nvar statearr_19897_20668 \x3d state_19886__$1;\n(statearr_19897_20668[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (17))){\nvar inst_19879 \x3d (state_19886[(2)]);\nvar inst_19880 \x3d cljs.core.async.close_BANG_(out);\nvar state_19886__$1 \x3d (function (){var statearr_19898 \x3d state_19886;\n(statearr_19898[(10)] \x3d inst_19879);\n\nreturn statearr_19898;\n})();\nvar statearr_19899_20669 \x3d state_19886__$1;\n(statearr_19899_20669[(2)] \x3d inst_19880);\n\n(statearr_19899_20669[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (3))){\nvar inst_19884 \x3d (state_19886[(2)]);\nvar state_19886__$1 \x3d state_19886;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19886__$1,inst_19884);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (12))){\nvar inst_19843 \x3d (state_19886[(7)]);\nvar inst_19862 \x3d cljs.core.vec(inst_19843);\nvar state_19886__$1 \x3d state_19886;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19886__$1,(14),out,inst_19862);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (2))){\nvar state_19886__$1 \x3d state_19886;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19886__$1,(4),ch);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (11))){\nvar inst_19843 \x3d (state_19886[(7)]);\nvar inst_19847 \x3d (state_19886[(9)]);\nvar inst_19851 \x3d (state_19886[(11)]);\nvar inst_19859 \x3d inst_19843.push(inst_19847);\nvar tmp19900 \x3d inst_19843;\nvar inst_19843__$1 \x3d tmp19900;\nvar inst_19844 \x3d inst_19851;\nvar state_19886__$1 \x3d (function (){var statearr_19904 \x3d state_19886;\n(statearr_19904[(7)] \x3d inst_19843__$1);\n\n(statearr_19904[(8)] \x3d inst_19844);\n\n(statearr_19904[(12)] \x3d inst_19859);\n\nreturn statearr_19904;\n})();\nvar statearr_19905_20670 \x3d state_19886__$1;\n(statearr_19905_20670[(2)] \x3d null);\n\n(statearr_19905_20670[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (9))){\nvar inst_19844 \x3d (state_19886[(8)]);\nvar inst_19855 \x3d cljs.core.keyword_identical_QMARK_(inst_19844,new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123));\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19906_20671 \x3d state_19886__$1;\n(statearr_19906_20671[(2)] \x3d inst_19855);\n\n(statearr_19906_20671[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (5))){\nvar inst_19844 \x3d (state_19886[(8)]);\nvar inst_19852 \x3d (state_19886[(13)]);\nvar inst_19847 \x3d (state_19886[(9)]);\nvar inst_19851 \x3d (state_19886[(11)]);\nvar inst_19851__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_19847) : f.call(null,inst_19847));\nvar inst_19852__$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_19851__$1,inst_19844);\nvar state_19886__$1 \x3d (function (){var statearr_19907 \x3d state_19886;\n(statearr_19907[(13)] \x3d inst_19852__$1);\n\n(statearr_19907[(11)] \x3d inst_19851__$1);\n\nreturn statearr_19907;\n})();\nif(inst_19852__$1){\nvar statearr_19908_20672 \x3d state_19886__$1;\n(statearr_19908_20672[(1)] \x3d (8));\n\n} else {\nvar statearr_19909_20673 \x3d state_19886__$1;\n(statearr_19909_20673[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (14))){\nvar inst_19847 \x3d (state_19886[(9)]);\nvar inst_19851 \x3d (state_19886[(11)]);\nvar inst_19864 \x3d (state_19886[(2)]);\nvar inst_19865 \x3d [];\nvar inst_19866 \x3d inst_19865.push(inst_19847);\nvar inst_19843 \x3d inst_19865;\nvar inst_19844 \x3d inst_19851;\nvar state_19886__$1 \x3d (function (){var statearr_19914 \x3d state_19886;\n(statearr_19914[(7)] \x3d inst_19843);\n\n(statearr_19914[(8)] \x3d inst_19844);\n\n(statearr_19914[(14)] \x3d inst_19864);\n\n(statearr_19914[(15)] \x3d inst_19866);\n\nreturn statearr_19914;\n})();\nvar statearr_19915_20674 \x3d state_19886__$1;\n(statearr_19915_20674[(2)] \x3d null);\n\n(statearr_19915_20674[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (16))){\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19916_20675 \x3d state_19886__$1;\n(statearr_19916_20675[(2)] \x3d null);\n\n(statearr_19916_20675[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (10))){\nvar inst_19857 \x3d (state_19886[(2)]);\nvar state_19886__$1 \x3d state_19886;\nif(cljs.core.truth_(inst_19857)){\nvar statearr_19917_20676 \x3d state_19886__$1;\n(statearr_19917_20676[(1)] \x3d (11));\n\n} else {\nvar statearr_19918_20677 \x3d state_19886__$1;\n(statearr_19918_20677[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (18))){\nvar inst_19876 \x3d (state_19886[(2)]);\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19919_20683 \x3d state_19886__$1;\n(statearr_19919_20683[(2)] \x3d inst_19876);\n\n(statearr_19919_20683[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19887 \x3d\x3d\x3d (8))){\nvar inst_19852 \x3d (state_19886[(13)]);\nvar state_19886__$1 \x3d state_19886;\nvar statearr_19920_20684 \x3d state_19886__$1;\n(statearr_19920_20684[(2)] \x3d inst_19852);\n\n(statearr_19920_20684[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__17344__auto__ \x3d null;\nvar cljs$core$async$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_19921 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19921[(0)] \x3d cljs$core$async$state_machine__17344__auto__);\n\n(statearr_19921[(1)] \x3d (1));\n\nreturn statearr_19921;\n});\nvar cljs$core$async$state_machine__17344__auto____1 \x3d (function (state_19886){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_19886);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e19922){var ex__17347__auto__ \x3d e19922;\nvar statearr_19923_20690 \x3d state_19886;\n(statearr_19923_20690[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_19886[(4)]))){\nvar statearr_19924_20691 \x3d state_19886;\n(statearr_19924_20691[(1)] \x3d cljs.core.first((state_19886[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__20692 \x3d state_19886;\nstate_19886 \x3d G__20692;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__17344__auto__ \x3d function(state_19886){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__17344__auto____1.call(this,state_19886);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__17344__auto____0;\ncljs$core$async$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__17344__auto____1;\nreturn cljs$core$async$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_19925 \x3d f__17495__auto__();\n(statearr_19925[(6)] \x3d c__17494__auto___20660);\n\nreturn statearr_19925;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition_by.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("shadow.dom.js", true , "goog.provide(\x27shadow.dom\x27);\nshadow.dom.transition_supported_QMARK_ \x3d (((typeof window !\x3d\x3d \x27undefined\x27))?goog.style.transition.isSupported():null);\n\n/**\n * @interface\n */\nshadow.dom.IElement \x3d function(){};\n\nvar shadow$dom$IElement$_to_dom$dyn_21275 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_dom[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_dom[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IElement.-to-dom\x22,this$);\n}\n}\n});\nshadow.dom._to_dom \x3d (function shadow$dom$_to_dom(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$IElement$_to_dom$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$IElement$_to_dom$arity$1(this$);\n} else {\nreturn shadow$dom$IElement$_to_dom$dyn_21275(this$);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.dom.SVGElement \x3d function(){};\n\nvar shadow$dom$SVGElement$_to_svg$dyn_21276 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_svg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_svg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22SVGElement.-to-svg\x22,this$);\n}\n}\n});\nshadow.dom._to_svg \x3d (function shadow$dom$_to_svg(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$SVGElement$_to_svg$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$SVGElement$_to_svg$arity$1(this$);\n} else {\nreturn shadow$dom$SVGElement$_to_svg$dyn_21276(this$);\n}\n});\n\nshadow.dom.lazy_native_coll_seq \x3d (function shadow$dom$lazy_native_coll_seq(coll,idx){\nif((idx \x3c coll.length)){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((coll[idx]),(function (){var G__20262 \x3d coll;\nvar G__20263 \x3d (idx + (1));\nreturn (shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2 ? shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2(G__20262,G__20263) : shadow.dom.lazy_native_coll_seq.call(null,G__20262,G__20263));\n})());\n}),null,null));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n*/\nshadow.dom.NativeColl \x3d (function (coll){\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8421394;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.dom.NativeColl.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (this$,n){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.coll[n]);\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (this$,n,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar or__5045__auto__ \x3d (self__.coll[n]);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn not_found;\n}\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll.length;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.dom.lazy_native_coll_seq(self__.coll,(0));\n}));\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(shadow.dom.NativeColl.cljs$lang$type \x3d true);\n\n(shadow.dom.NativeColl.cljs$lang$ctorStr \x3d \x22shadow.dom/NativeColl\x22);\n\n(shadow.dom.NativeColl.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.dom/NativeColl\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/NativeColl.\n */\nshadow.dom.__GT_NativeColl \x3d (function shadow$dom$__GT_NativeColl(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\n\nshadow.dom.native_coll \x3d (function shadow$dom$native_coll(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\nshadow.dom.dom_node \x3d (function shadow$dom$dom_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$IElement$))))?true:false):false)){\nreturn el.shadow$dom$IElement$_to_dom$arity$1(null);\n} else {\nif(typeof el \x3d\x3d\x3d \x27string\x27){\nreturn document.createTextNode(el);\n} else {\nif(typeof el \x3d\x3d\x3d \x27number\x27){\nreturn document.createTextNode(cljs.core.str.cljs$core$IFn$_invoke$arity$1(el));\n} else {\nreturn el;\n\n}\n}\n}\n}\n});\nshadow.dom.query_one \x3d (function shadow$dom$query_one(var_args){\nvar G__20303 \x3d arguments.length;\nswitch (G__20303) {\ncase 1:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn document.querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn shadow.dom.dom_node(root).querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.query \x3d (function shadow$dom$query(var_args){\nvar G__20308 \x3d arguments.length;\nswitch (G__20308) {\ncase 1:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn (new shadow.dom.NativeColl(document.querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(root).querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.by_id \x3d (function shadow$dom$by_id(var_args){\nvar G__20316 \x3d arguments.length;\nswitch (G__20316) {\ncase 2:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2 \x3d (function (id,el){\nreturn shadow.dom.dom_node(el).getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1 \x3d (function (id){\nreturn document.getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.build \x3d shadow.dom.dom_node;\nshadow.dom.ev_stop \x3d (function shadow$dom$ev_stop(var_args){\nvar G__20318 \x3d arguments.length;\nswitch (G__20318) {\ncase 1:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1 \x3d (function (e){\nif(cljs.core.truth_(e.stopPropagation)){\ne.stopPropagation();\n\ne.preventDefault();\n} else {\n(e.cancelBubble \x3d true);\n\n(e.returnValue \x3d false);\n}\n\nreturn e;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2 \x3d (function (e,el){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4 \x3d (function (e,el,scope,owner){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * check wether a parent node (or the document) contains the child\n */\nshadow.dom.contains_QMARK_ \x3d (function shadow$dom$contains_QMARK_(var_args){\nvar G__20406 \x3d arguments.length;\nswitch (G__20406) {\ncase 1:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn goog.dom.contains(document,shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (parent,el){\nreturn goog.dom.contains(shadow.dom.dom_node(parent),shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.add_class \x3d (function shadow$dom$add_class(el,cls){\nreturn goog.dom.classlist.add(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.remove_class \x3d (function shadow$dom$remove_class(el,cls){\nreturn goog.dom.classlist.remove(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.toggle_class \x3d (function shadow$dom$toggle_class(var_args){\nvar G__20436 \x3d arguments.length;\nswitch (G__20436) {\ncase 2:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,cls){\nreturn goog.dom.classlist.toggle(shadow.dom.dom_node(el),cls);\n}));\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,cls,v){\nif(cljs.core.truth_(v)){\nreturn shadow.dom.add_class(el,cls);\n} else {\nreturn shadow.dom.remove_class(el,cls);\n}\n}));\n\n(shadow.dom.toggle_class.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.dom_listen \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.addEventListener;\n}\n})())?(function shadow$dom$dom_listen_good(el,ev,handler){\nreturn el.addEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_ie(el,ev,handler){\ntry{return el.attachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),(function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n}));\n}catch (e20454){if((e20454 instanceof Object)){\nvar e \x3d e20454;\nreturn console.log(\x22didnt support attachEvent\x22,el,e);\n} else {\nthrow e20454;\n\n}\n}}));\nshadow.dom.dom_listen_remove \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.removeEventListener;\n}\n})())?(function shadow$dom$dom_listen_remove_good(el,ev,handler){\nreturn el.removeEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_remove_ie(el,ev,handler){\nreturn el.detachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),handler);\n}));\nshadow.dom.on_query \x3d (function shadow$dom$on_query(root_el,ev,selector,handler){\nvar seq__20471 \x3d cljs.core.seq(shadow.dom.query.cljs$core$IFn$_invoke$arity$2(selector,root_el));\nvar chunk__20472 \x3d null;\nvar count__20473 \x3d (0);\nvar i__20474 \x3d (0);\nwhile(true){\nif((i__20474 \x3c count__20473)){\nvar el \x3d chunk__20472.cljs$core$IIndexed$_nth$arity$2(null,i__20474);\nvar handler_21285__$1 \x3d ((function (seq__20471,chunk__20472,count__20473,i__20474,el){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__20471,chunk__20472,count__20473,i__20474,el))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_21285__$1);\n\n\nvar G__21286 \x3d seq__20471;\nvar G__21287 \x3d chunk__20472;\nvar G__21288 \x3d count__20473;\nvar G__21289 \x3d (i__20474 + (1));\nseq__20471 \x3d G__21286;\nchunk__20472 \x3d G__21287;\ncount__20473 \x3d G__21288;\ni__20474 \x3d G__21289;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20471);\nif(temp__5804__auto__){\nvar seq__20471__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20471__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20471__$1);\nvar G__21290 \x3d cljs.core.chunk_rest(seq__20471__$1);\nvar G__21291 \x3d c__5568__auto__;\nvar G__21292 \x3d cljs.core.count(c__5568__auto__);\nvar G__21293 \x3d (0);\nseq__20471 \x3d G__21290;\nchunk__20472 \x3d G__21291;\ncount__20473 \x3d G__21292;\ni__20474 \x3d G__21293;\ncontinue;\n} else {\nvar el \x3d cljs.core.first(seq__20471__$1);\nvar handler_21294__$1 \x3d ((function (seq__20471,chunk__20472,count__20473,i__20474,el,seq__20471__$1,temp__5804__auto__){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__20471,chunk__20472,count__20473,i__20474,el,seq__20471__$1,temp__5804__auto__))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_21294__$1);\n\n\nvar G__21295 \x3d cljs.core.next(seq__20471__$1);\nvar G__21296 \x3d null;\nvar G__21297 \x3d (0);\nvar G__21298 \x3d (0);\nseq__20471 \x3d G__21295;\nchunk__20472 \x3d G__21296;\ncount__20473 \x3d G__21297;\ni__20474 \x3d G__21298;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.on \x3d (function shadow$dom$on(var_args){\nvar G__20497 \x3d arguments.length;\nswitch (G__20497) {\ncase 3:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,ev,handler){\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4(el,ev,handler,false);\n}));\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,ev,handler,capture){\nif(cljs.core.vector_QMARK_(ev)){\nreturn shadow.dom.on_query(el,cljs.core.first(ev),cljs.core.second(ev),handler);\n} else {\nvar handler__$1 \x3d (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});\nreturn shadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(ev),handler__$1);\n}\n}));\n\n(shadow.dom.on.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.dom.remove_event_handler \x3d (function shadow$dom$remove_event_handler(el,ev,handler){\nreturn shadow.dom.dom_listen_remove(shadow.dom.dom_node(el),cljs.core.name(ev),handler);\n});\nshadow.dom.add_event_listeners \x3d (function shadow$dom$add_event_listeners(el,events){\nvar seq__20503 \x3d cljs.core.seq(events);\nvar chunk__20504 \x3d null;\nvar count__20505 \x3d (0);\nvar i__20506 \x3d (0);\nwhile(true){\nif((i__20506 \x3c count__20505)){\nvar vec__20520 \x3d chunk__20504.cljs$core$IIndexed$_nth$arity$2(null,i__20506);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20520,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20520,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__21300 \x3d seq__20503;\nvar G__21301 \x3d chunk__20504;\nvar G__21302 \x3d count__20505;\nvar G__21303 \x3d (i__20506 + (1));\nseq__20503 \x3d G__21300;\nchunk__20504 \x3d G__21301;\ncount__20505 \x3d G__21302;\ni__20506 \x3d G__21303;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20503);\nif(temp__5804__auto__){\nvar seq__20503__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20503__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20503__$1);\nvar G__21304 \x3d cljs.core.chunk_rest(seq__20503__$1);\nvar G__21305 \x3d c__5568__auto__;\nvar G__21306 \x3d cljs.core.count(c__5568__auto__);\nvar G__21307 \x3d (0);\nseq__20503 \x3d G__21304;\nchunk__20504 \x3d G__21305;\ncount__20505 \x3d G__21306;\ni__20506 \x3d G__21307;\ncontinue;\n} else {\nvar vec__20525 \x3d cljs.core.first(seq__20503__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20525,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20525,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__21308 \x3d cljs.core.next(seq__20503__$1);\nvar G__21309 \x3d null;\nvar G__21310 \x3d (0);\nvar G__21311 \x3d (0);\nseq__20503 \x3d G__21308;\nchunk__20504 \x3d G__21309;\ncount__20505 \x3d G__21310;\ni__20506 \x3d G__21311;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_style \x3d (function shadow$dom$set_style(el,styles){\nvar dom \x3d shadow.dom.dom_node(el);\nvar seq__20534 \x3d cljs.core.seq(styles);\nvar chunk__20535 \x3d null;\nvar count__20536 \x3d (0);\nvar i__20537 \x3d (0);\nwhile(true){\nif((i__20537 \x3c count__20536)){\nvar vec__20557 \x3d chunk__20535.cljs$core$IIndexed$_nth$arity$2(null,i__20537);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20557,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20557,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__21312 \x3d seq__20534;\nvar G__21313 \x3d chunk__20535;\nvar G__21314 \x3d count__20536;\nvar G__21315 \x3d (i__20537 + (1));\nseq__20534 \x3d G__21312;\nchunk__20535 \x3d G__21313;\ncount__20536 \x3d G__21314;\ni__20537 \x3d G__21315;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20534);\nif(temp__5804__auto__){\nvar seq__20534__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20534__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20534__$1);\nvar G__21316 \x3d cljs.core.chunk_rest(seq__20534__$1);\nvar G__21317 \x3d c__5568__auto__;\nvar G__21318 \x3d cljs.core.count(c__5568__auto__);\nvar G__21319 \x3d (0);\nseq__20534 \x3d G__21316;\nchunk__20535 \x3d G__21317;\ncount__20536 \x3d G__21318;\ni__20537 \x3d G__21319;\ncontinue;\n} else {\nvar vec__20562 \x3d cljs.core.first(seq__20534__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20562,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20562,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__21320 \x3d cljs.core.next(seq__20534__$1);\nvar G__21321 \x3d null;\nvar G__21322 \x3d (0);\nvar G__21323 \x3d (0);\nseq__20534 \x3d G__21320;\nchunk__20535 \x3d G__21321;\ncount__20536 \x3d G__21322;\ni__20537 \x3d G__21323;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_attr_STAR_ \x3d (function shadow$dom$set_attr_STAR_(el,key,value){\nvar G__20578_21324 \x3d key;\nvar G__20578_21325__$1 \x3d (((G__20578_21324 instanceof cljs.core.Keyword))?G__20578_21324.fqn:null);\nswitch (G__20578_21325__$1) {\ncase \x22id\x22:\n(el.id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22class\x22:\n(el.className \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22for\x22:\n(el.htmlFor \x3d value);\n\nbreak;\ncase \x22cellpadding\x22:\nel.setAttribute(\x22cellPadding\x22,value);\n\nbreak;\ncase \x22cellspacing\x22:\nel.setAttribute(\x22cellSpacing\x22,value);\n\nbreak;\ncase \x22colspan\x22:\nel.setAttribute(\x22colSpan\x22,value);\n\nbreak;\ncase \x22frameborder\x22:\nel.setAttribute(\x22frameBorder\x22,value);\n\nbreak;\ncase \x22height\x22:\nel.setAttribute(\x22height\x22,value);\n\nbreak;\ncase \x22maxlength\x22:\nel.setAttribute(\x22maxLength\x22,value);\n\nbreak;\ncase \x22role\x22:\nel.setAttribute(\x22role\x22,value);\n\nbreak;\ncase \x22rowspan\x22:\nel.setAttribute(\x22rowSpan\x22,value);\n\nbreak;\ncase \x22type\x22:\nel.setAttribute(\x22type\x22,value);\n\nbreak;\ncase \x22usemap\x22:\nel.setAttribute(\x22useMap\x22,value);\n\nbreak;\ncase \x22valign\x22:\nel.setAttribute(\x22vAlign\x22,value);\n\nbreak;\ncase \x22width\x22:\nel.setAttribute(\x22width\x22,value);\n\nbreak;\ncase \x22on\x22:\nshadow.dom.add_event_listeners(el,value);\n\nbreak;\ncase \x22style\x22:\nif((value \x3d\x3d null)){\n} else {\nif(typeof value \x3d\x3d\x3d \x27string\x27){\nel.setAttribute(\x22style\x22,value);\n} else {\nif(cljs.core.map_QMARK_(value)){\nshadow.dom.set_style(el,value);\n} else {\ngoog.style.setStyle(el,value);\n\n}\n}\n}\n\nbreak;\ndefault:\nvar ks_21327 \x3d cljs.core.name(key);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d goog.string.startsWith(ks_21327,\x22data-\x22);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.startsWith(ks_21327,\x22aria-\x22);\n}\n})())){\nel.setAttribute(ks_21327,value);\n} else {\n(el[ks_21327] \x3d value);\n}\n\n}\n\nreturn el;\n});\nshadow.dom.set_attrs \x3d (function shadow$dom$set_attrs(el,attrs){\nreturn cljs.core.reduce_kv((function (el__$1,key,value){\nshadow.dom.set_attr_STAR_(el__$1,key,value);\n\nreturn el__$1;\n}),shadow.dom.dom_node(el),attrs);\n});\nshadow.dom.set_attr \x3d (function shadow$dom$set_attr(el,key,value){\nreturn shadow.dom.set_attr_STAR_(shadow.dom.dom_node(el),key,value);\n});\nshadow.dom.has_class_QMARK_ \x3d (function shadow$dom$has_class_QMARK_(el,cls){\nreturn goog.dom.classlist.contains(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.merge_class_string \x3d (function shadow$dom$merge_class_string(current,extra_class){\nif(cljs.core.seq(current)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(current),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(extra_class)].join(\x27\x27);\n} else {\nreturn extra_class;\n}\n});\nshadow.dom.parse_tag \x3d (function shadow$dom$parse_tag(spec){\nvar spec__$1 \x3d cljs.core.name(spec);\nvar fdot \x3d spec__$1.indexOf(\x22.\x22);\nvar fhash \x3d spec__$1.indexOf(\x22#\x22);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1,null,null], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fdot),null,clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1))),null], null);\n} else {\nif((fhash \x3e fdot)){\nthrow [\x22cant have id after class?\x22,spec__$1].join(\x27\x27);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1)),fdot),clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n\n}\n}\n}\n}\n});\nshadow.dom.create_dom_node \x3d (function shadow$dom$create_dom_node(tag_def,p__20695){\nvar map__20696 \x3d p__20695;\nvar map__20696__$1 \x3d cljs.core.__destructure_map(map__20696);\nvar props \x3d map__20696__$1;\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20696__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996));\nvar tag_props \x3d ({});\nvar vec__20702 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20702,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20702,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20702,(2),null);\nif(cljs.core.truth_(tag_id)){\n(tag_props[\x22id\x22] \x3d tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\n(tag_props[\x22class\x22] \x3d shadow.dom.merge_class_string(class$,tag_classes));\n} else {\n}\n\nvar G__20705 \x3d goog.dom.createDom(tag_name,tag_props);\nshadow.dom.set_attrs(G__20705,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(props,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)));\n\nreturn G__20705;\n});\nshadow.dom.append \x3d (function shadow$dom$append(var_args){\nvar G__20707 \x3d arguments.length;\nswitch (G__20707) {\ncase 1:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\ndocument.body.appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\nshadow.dom.dom_node(el).appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.destructure_node \x3d (function shadow$dom$destructure_node(create_fn,p__20719){\nvar vec__20723 \x3d p__20719;\nvar seq__20724 \x3d cljs.core.seq(vec__20723);\nvar first__20725 \x3d cljs.core.first(seq__20724);\nvar seq__20724__$1 \x3d cljs.core.next(seq__20724);\nvar nn \x3d first__20725;\nvar first__20725__$1 \x3d cljs.core.first(seq__20724__$1);\nvar seq__20724__$2 \x3d cljs.core.next(seq__20724__$1);\nvar np \x3d first__20725__$1;\nvar nc \x3d seq__20724__$2;\nvar node \x3d vec__20723;\nif((nn instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid dom node\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22node\x22,\x22node\x22,581201198),node], null));\n}\n\nif((((np \x3d\x3d null)) \x26\x26 ((nc \x3d\x3d null)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__20726 \x3d nn;\nvar G__20727 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__20726,G__20727) : create_fn.call(null,G__20726,G__20727));\n})(),cljs.core.List.EMPTY], null);\n} else {\nif(cljs.core.map_QMARK_(np)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(nn,np) : create_fn.call(null,nn,np)),nc], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__20728 \x3d nn;\nvar G__20729 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__20728,G__20729) : create_fn.call(null,G__20728,G__20729));\n})(),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(nc,np)], null);\n\n}\n}\n});\nshadow.dom.make_dom_node \x3d (function shadow$dom$make_dom_node(structure){\nvar vec__20730 \x3d shadow.dom.destructure_node(shadow.dom.create_dom_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20730,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20730,(1),null);\nvar seq__20733_21329 \x3d cljs.core.seq(node_children);\nvar chunk__20734_21330 \x3d null;\nvar count__20735_21331 \x3d (0);\nvar i__20736_21332 \x3d (0);\nwhile(true){\nif((i__20736_21332 \x3c count__20735_21331)){\nvar child_struct_21333 \x3d chunk__20734_21330.cljs$core$IIndexed$_nth$arity$2(null,i__20736_21332);\nvar children_21334 \x3d shadow.dom.dom_node(child_struct_21333);\nif(cljs.core.seq_QMARK_(children_21334)){\nvar seq__20752_21335 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_21334));\nvar chunk__20754_21336 \x3d null;\nvar count__20755_21337 \x3d (0);\nvar i__20756_21338 \x3d (0);\nwhile(true){\nif((i__20756_21338 \x3c count__20755_21337)){\nvar child_21339 \x3d chunk__20754_21336.cljs$core$IIndexed$_nth$arity$2(null,i__20756_21338);\nif(cljs.core.truth_(child_21339)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_21339);\n\n\nvar G__21340 \x3d seq__20752_21335;\nvar G__21341 \x3d chunk__20754_21336;\nvar G__21342 \x3d count__20755_21337;\nvar G__21343 \x3d (i__20756_21338 + (1));\nseq__20752_21335 \x3d G__21340;\nchunk__20754_21336 \x3d G__21341;\ncount__20755_21337 \x3d G__21342;\ni__20756_21338 \x3d G__21343;\ncontinue;\n} else {\nvar G__21344 \x3d seq__20752_21335;\nvar G__21345 \x3d chunk__20754_21336;\nvar G__21346 \x3d count__20755_21337;\nvar G__21347 \x3d (i__20756_21338 + (1));\nseq__20752_21335 \x3d G__21344;\nchunk__20754_21336 \x3d G__21345;\ncount__20755_21337 \x3d G__21346;\ni__20756_21338 \x3d G__21347;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21348 \x3d cljs.core.seq(seq__20752_21335);\nif(temp__5804__auto___21348){\nvar seq__20752_21349__$1 \x3d temp__5804__auto___21348;\nif(cljs.core.chunked_seq_QMARK_(seq__20752_21349__$1)){\nvar c__5568__auto___21350 \x3d cljs.core.chunk_first(seq__20752_21349__$1);\nvar G__21351 \x3d cljs.core.chunk_rest(seq__20752_21349__$1);\nvar G__21352 \x3d c__5568__auto___21350;\nvar G__21353 \x3d cljs.core.count(c__5568__auto___21350);\nvar G__21354 \x3d (0);\nseq__20752_21335 \x3d G__21351;\nchunk__20754_21336 \x3d G__21352;\ncount__20755_21337 \x3d G__21353;\ni__20756_21338 \x3d G__21354;\ncontinue;\n} else {\nvar child_21355 \x3d cljs.core.first(seq__20752_21349__$1);\nif(cljs.core.truth_(child_21355)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_21355);\n\n\nvar G__21356 \x3d cljs.core.next(seq__20752_21349__$1);\nvar G__21357 \x3d null;\nvar G__21358 \x3d (0);\nvar G__21359 \x3d (0);\nseq__20752_21335 \x3d G__21356;\nchunk__20754_21336 \x3d G__21357;\ncount__20755_21337 \x3d G__21358;\ni__20756_21338 \x3d G__21359;\ncontinue;\n} else {\nvar G__21360 \x3d cljs.core.next(seq__20752_21349__$1);\nvar G__21361 \x3d null;\nvar G__21362 \x3d (0);\nvar G__21363 \x3d (0);\nseq__20752_21335 \x3d G__21360;\nchunk__20754_21336 \x3d G__21361;\ncount__20755_21337 \x3d G__21362;\ni__20756_21338 \x3d G__21363;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_21334);\n}\n\n\nvar G__21364 \x3d seq__20733_21329;\nvar G__21365 \x3d chunk__20734_21330;\nvar G__21366 \x3d count__20735_21331;\nvar G__21367 \x3d (i__20736_21332 + (1));\nseq__20733_21329 \x3d G__21364;\nchunk__20734_21330 \x3d G__21365;\ncount__20735_21331 \x3d G__21366;\ni__20736_21332 \x3d G__21367;\ncontinue;\n} else {\nvar temp__5804__auto___21368 \x3d cljs.core.seq(seq__20733_21329);\nif(temp__5804__auto___21368){\nvar seq__20733_21369__$1 \x3d temp__5804__auto___21368;\nif(cljs.core.chunked_seq_QMARK_(seq__20733_21369__$1)){\nvar c__5568__auto___21370 \x3d cljs.core.chunk_first(seq__20733_21369__$1);\nvar G__21371 \x3d cljs.core.chunk_rest(seq__20733_21369__$1);\nvar G__21372 \x3d c__5568__auto___21370;\nvar G__21373 \x3d cljs.core.count(c__5568__auto___21370);\nvar G__21374 \x3d (0);\nseq__20733_21329 \x3d G__21371;\nchunk__20734_21330 \x3d G__21372;\ncount__20735_21331 \x3d G__21373;\ni__20736_21332 \x3d G__21374;\ncontinue;\n} else {\nvar child_struct_21375 \x3d cljs.core.first(seq__20733_21369__$1);\nvar children_21376 \x3d shadow.dom.dom_node(child_struct_21375);\nif(cljs.core.seq_QMARK_(children_21376)){\nvar seq__20758_21377 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_21376));\nvar chunk__20760_21378 \x3d null;\nvar count__20761_21379 \x3d (0);\nvar i__20762_21380 \x3d (0);\nwhile(true){\nif((i__20762_21380 \x3c count__20761_21379)){\nvar child_21381 \x3d chunk__20760_21378.cljs$core$IIndexed$_nth$arity$2(null,i__20762_21380);\nif(cljs.core.truth_(child_21381)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_21381);\n\n\nvar G__21383 \x3d seq__20758_21377;\nvar G__21384 \x3d chunk__20760_21378;\nvar G__21385 \x3d count__20761_21379;\nvar G__21386 \x3d (i__20762_21380 + (1));\nseq__20758_21377 \x3d G__21383;\nchunk__20760_21378 \x3d G__21384;\ncount__20761_21379 \x3d G__21385;\ni__20762_21380 \x3d G__21386;\ncontinue;\n} else {\nvar G__21387 \x3d seq__20758_21377;\nvar G__21388 \x3d chunk__20760_21378;\nvar G__21389 \x3d count__20761_21379;\nvar G__21390 \x3d (i__20762_21380 + (1));\nseq__20758_21377 \x3d G__21387;\nchunk__20760_21378 \x3d G__21388;\ncount__20761_21379 \x3d G__21389;\ni__20762_21380 \x3d G__21390;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21391__$1 \x3d cljs.core.seq(seq__20758_21377);\nif(temp__5804__auto___21391__$1){\nvar seq__20758_21392__$1 \x3d temp__5804__auto___21391__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__20758_21392__$1)){\nvar c__5568__auto___21393 \x3d cljs.core.chunk_first(seq__20758_21392__$1);\nvar G__21394 \x3d cljs.core.chunk_rest(seq__20758_21392__$1);\nvar G__21395 \x3d c__5568__auto___21393;\nvar G__21396 \x3d cljs.core.count(c__5568__auto___21393);\nvar G__21397 \x3d (0);\nseq__20758_21377 \x3d G__21394;\nchunk__20760_21378 \x3d G__21395;\ncount__20761_21379 \x3d G__21396;\ni__20762_21380 \x3d G__21397;\ncontinue;\n} else {\nvar child_21398 \x3d cljs.core.first(seq__20758_21392__$1);\nif(cljs.core.truth_(child_21398)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_21398);\n\n\nvar G__21399 \x3d cljs.core.next(seq__20758_21392__$1);\nvar G__21400 \x3d null;\nvar G__21401 \x3d (0);\nvar G__21402 \x3d (0);\nseq__20758_21377 \x3d G__21399;\nchunk__20760_21378 \x3d G__21400;\ncount__20761_21379 \x3d G__21401;\ni__20762_21380 \x3d G__21402;\ncontinue;\n} else {\nvar G__21403 \x3d cljs.core.next(seq__20758_21392__$1);\nvar G__21404 \x3d null;\nvar G__21405 \x3d (0);\nvar G__21406 \x3d (0);\nseq__20758_21377 \x3d G__21403;\nchunk__20760_21378 \x3d G__21404;\ncount__20761_21379 \x3d G__21405;\ni__20762_21380 \x3d G__21406;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_21376);\n}\n\n\nvar G__21407 \x3d cljs.core.next(seq__20733_21369__$1);\nvar G__21408 \x3d null;\nvar G__21409 \x3d (0);\nvar G__21410 \x3d (0);\nseq__20733_21329 \x3d G__21407;\nchunk__20734_21330 \x3d G__21408;\ncount__20735_21331 \x3d G__21409;\ni__20736_21332 \x3d G__21410;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(cljs.core.Keyword.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$__$1], null));\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_dom,this$__$1);\n}));\nif(cljs.core.truth_(((typeof HTMLElement) !\x3d \x27undefined\x27))){\n(HTMLElement.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(HTMLElement.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\nif(cljs.core.truth_(((typeof DocumentFragment) !\x3d \x27undefined\x27))){\n(DocumentFragment.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(DocumentFragment.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\n/**\n * clear node children\n */\nshadow.dom.reset \x3d (function shadow$dom$reset(node){\nreturn goog.dom.removeChildren(shadow.dom.dom_node(node));\n});\nshadow.dom.remove \x3d (function shadow$dom$remove(node){\nif((((!((node \x3d\x3d null))))?(((((node.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d node.cljs$core$ISeqable$))))?true:false):false)){\nvar seq__20772 \x3d cljs.core.seq(node);\nvar chunk__20773 \x3d null;\nvar count__20774 \x3d (0);\nvar i__20775 \x3d (0);\nwhile(true){\nif((i__20775 \x3c count__20774)){\nvar n \x3d chunk__20773.cljs$core$IIndexed$_nth$arity$2(null,i__20775);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__21411 \x3d seq__20772;\nvar G__21412 \x3d chunk__20773;\nvar G__21413 \x3d count__20774;\nvar G__21414 \x3d (i__20775 + (1));\nseq__20772 \x3d G__21411;\nchunk__20773 \x3d G__21412;\ncount__20774 \x3d G__21413;\ni__20775 \x3d G__21414;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20772);\nif(temp__5804__auto__){\nvar seq__20772__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20772__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20772__$1);\nvar G__21415 \x3d cljs.core.chunk_rest(seq__20772__$1);\nvar G__21416 \x3d c__5568__auto__;\nvar G__21417 \x3d cljs.core.count(c__5568__auto__);\nvar G__21418 \x3d (0);\nseq__20772 \x3d G__21415;\nchunk__20773 \x3d G__21416;\ncount__20774 \x3d G__21417;\ni__20775 \x3d G__21418;\ncontinue;\n} else {\nvar n \x3d cljs.core.first(seq__20772__$1);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__21419 \x3d cljs.core.next(seq__20772__$1);\nvar G__21420 \x3d null;\nvar G__21421 \x3d (0);\nvar G__21422 \x3d (0);\nseq__20772 \x3d G__21419;\nchunk__20773 \x3d G__21420;\ncount__20774 \x3d G__21421;\ni__20775 \x3d G__21422;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn goog.dom.removeNode(node);\n}\n});\nshadow.dom.replace_node \x3d (function shadow$dom$replace_node(old,new$){\nreturn goog.dom.replaceNode(shadow.dom.dom_node(new$),shadow.dom.dom_node(old));\n});\nshadow.dom.text \x3d (function shadow$dom$text(var_args){\nvar G__20778 \x3d arguments.length;\nswitch (G__20778) {\ncase 2:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,new_text){\nreturn (shadow.dom.dom_node(el).innerText \x3d new_text);\n}));\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.dom_node(el).innerText;\n}));\n\n(shadow.dom.text.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.check \x3d (function shadow$dom$check(var_args){\nvar G__20784 \x3d arguments.length;\nswitch (G__20784) {\ncase 1:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2(el,true);\n}));\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,checked){\nreturn (shadow.dom.dom_node(el).checked \x3d checked);\n}));\n\n(shadow.dom.check.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.checked_QMARK_ \x3d (function shadow$dom$checked_QMARK_(el){\nreturn shadow.dom.dom_node(el).checked;\n});\nshadow.dom.form_elements \x3d (function shadow$dom$form_elements(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).elements));\n});\nshadow.dom.children \x3d (function shadow$dom$children(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).children));\n});\nshadow.dom.child_nodes \x3d (function shadow$dom$child_nodes(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).childNodes));\n});\nshadow.dom.attr \x3d (function shadow$dom$attr(var_args){\nvar G__20790 \x3d arguments.length;\nswitch (G__20790) {\ncase 2:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,key){\nreturn shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\n}));\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,key,default$){\nvar or__5045__auto__ \x3d shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn default$;\n}\n}));\n\n(shadow.dom.attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.del_attr \x3d (function shadow$dom$del_attr(el,key){\nreturn shadow.dom.dom_node(el).removeAttribute(cljs.core.name(key));\n});\nshadow.dom.data \x3d (function shadow$dom$data(el,key){\nreturn shadow.dom.dom_node(el).getAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27));\n});\nshadow.dom.set_data \x3d (function shadow$dom$set_data(el,key,value){\nreturn shadow.dom.dom_node(el).setAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n});\nshadow.dom.set_html \x3d (function shadow$dom$set_html(node,text){\nreturn (shadow.dom.dom_node(node).innerHTML \x3d text);\n});\nshadow.dom.get_html \x3d (function shadow$dom$get_html(node){\nreturn shadow.dom.dom_node(node).innerHTML;\n});\nshadow.dom.fragment \x3d (function shadow$dom$fragment(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21435 \x3d arguments.length;\nvar i__5770__auto___21436 \x3d (0);\nwhile(true){\nif((i__5770__auto___21436 \x3c len__5769__auto___21435)){\nargs__5775__auto__.push((arguments[i__5770__auto___21436]));\n\nvar G__21437 \x3d (i__5770__auto___21436 + (1));\ni__5770__auto___21436 \x3d G__21437;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (nodes){\nvar fragment \x3d document.createDocumentFragment();\nvar seq__20794_21438 \x3d cljs.core.seq(nodes);\nvar chunk__20795_21439 \x3d null;\nvar count__20796_21440 \x3d (0);\nvar i__20797_21441 \x3d (0);\nwhile(true){\nif((i__20797_21441 \x3c count__20796_21440)){\nvar node_21442 \x3d chunk__20795_21439.cljs$core$IIndexed$_nth$arity$2(null,i__20797_21441);\nfragment.appendChild(shadow.dom._to_dom(node_21442));\n\n\nvar G__21443 \x3d seq__20794_21438;\nvar G__21444 \x3d chunk__20795_21439;\nvar G__21445 \x3d count__20796_21440;\nvar G__21446 \x3d (i__20797_21441 + (1));\nseq__20794_21438 \x3d G__21443;\nchunk__20795_21439 \x3d G__21444;\ncount__20796_21440 \x3d G__21445;\ni__20797_21441 \x3d G__21446;\ncontinue;\n} else {\nvar temp__5804__auto___21447 \x3d cljs.core.seq(seq__20794_21438);\nif(temp__5804__auto___21447){\nvar seq__20794_21448__$1 \x3d temp__5804__auto___21447;\nif(cljs.core.chunked_seq_QMARK_(seq__20794_21448__$1)){\nvar c__5568__auto___21449 \x3d cljs.core.chunk_first(seq__20794_21448__$1);\nvar G__21450 \x3d cljs.core.chunk_rest(seq__20794_21448__$1);\nvar G__21451 \x3d c__5568__auto___21449;\nvar G__21452 \x3d cljs.core.count(c__5568__auto___21449);\nvar G__21453 \x3d (0);\nseq__20794_21438 \x3d G__21450;\nchunk__20795_21439 \x3d G__21451;\ncount__20796_21440 \x3d G__21452;\ni__20797_21441 \x3d G__21453;\ncontinue;\n} else {\nvar node_21454 \x3d cljs.core.first(seq__20794_21448__$1);\nfragment.appendChild(shadow.dom._to_dom(node_21454));\n\n\nvar G__21455 \x3d cljs.core.next(seq__20794_21448__$1);\nvar G__21456 \x3d null;\nvar G__21457 \x3d (0);\nvar G__21458 \x3d (0);\nseq__20794_21438 \x3d G__21455;\nchunk__20795_21439 \x3d G__21456;\ncount__20796_21440 \x3d G__21457;\ni__20797_21441 \x3d G__21458;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (new shadow.dom.NativeColl(fragment));\n}));\n\n(shadow.dom.fragment.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.dom.fragment.cljs$lang$applyTo \x3d (function (seq20793){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20793));\n}));\n\n/**\n * given a html string, eval all \x3cscript\x3e tags and return the html without the scripts\n * don\x27t do this for everything, only content you trust.\n */\nshadow.dom.eval_scripts \x3d (function shadow$dom$eval_scripts(s){\nvar scripts \x3d cljs.core.re_seq(/\x3cscript[^\x3e]*?\x3e(.+?)\x3c\\/script\x3e/,s);\nvar seq__20798_21459 \x3d cljs.core.seq(scripts);\nvar chunk__20799_21460 \x3d null;\nvar count__20800_21461 \x3d (0);\nvar i__20801_21462 \x3d (0);\nwhile(true){\nif((i__20801_21462 \x3c count__20800_21461)){\nvar vec__20808_21463 \x3d chunk__20799_21460.cljs$core$IIndexed$_nth$arity$2(null,i__20801_21462);\nvar script_tag_21464 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20808_21463,(0),null);\nvar script_body_21465 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20808_21463,(1),null);\neval(script_body_21465);\n\n\nvar G__21466 \x3d seq__20798_21459;\nvar G__21467 \x3d chunk__20799_21460;\nvar G__21468 \x3d count__20800_21461;\nvar G__21469 \x3d (i__20801_21462 + (1));\nseq__20798_21459 \x3d G__21466;\nchunk__20799_21460 \x3d G__21467;\ncount__20800_21461 \x3d G__21468;\ni__20801_21462 \x3d G__21469;\ncontinue;\n} else {\nvar temp__5804__auto___21470 \x3d cljs.core.seq(seq__20798_21459);\nif(temp__5804__auto___21470){\nvar seq__20798_21471__$1 \x3d temp__5804__auto___21470;\nif(cljs.core.chunked_seq_QMARK_(seq__20798_21471__$1)){\nvar c__5568__auto___21472 \x3d cljs.core.chunk_first(seq__20798_21471__$1);\nvar G__21473 \x3d cljs.core.chunk_rest(seq__20798_21471__$1);\nvar G__21474 \x3d c__5568__auto___21472;\nvar G__21475 \x3d cljs.core.count(c__5568__auto___21472);\nvar G__21476 \x3d (0);\nseq__20798_21459 \x3d G__21473;\nchunk__20799_21460 \x3d G__21474;\ncount__20800_21461 \x3d G__21475;\ni__20801_21462 \x3d G__21476;\ncontinue;\n} else {\nvar vec__20811_21477 \x3d cljs.core.first(seq__20798_21471__$1);\nvar script_tag_21478 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20811_21477,(0),null);\nvar script_body_21479 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20811_21477,(1),null);\neval(script_body_21479);\n\n\nvar G__21480 \x3d cljs.core.next(seq__20798_21471__$1);\nvar G__21481 \x3d null;\nvar G__21482 \x3d (0);\nvar G__21483 \x3d (0);\nseq__20798_21459 \x3d G__21480;\nchunk__20799_21460 \x3d G__21481;\ncount__20800_21461 \x3d G__21482;\ni__20801_21462 \x3d G__21483;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s__$1,p__20814){\nvar vec__20815 \x3d p__20814;\nvar script_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20815,(0),null);\nvar script_body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20815,(1),null);\nreturn clojure.string.replace(s__$1,script_tag,\x22\x22);\n}),s,scripts);\n});\nshadow.dom.str__GT_fragment \x3d (function shadow$dom$str__GT_fragment(s){\nvar el \x3d document.createElement(\x22div\x22);\n(el.innerHTML \x3d s);\n\nreturn (new shadow.dom.NativeColl(goog.dom.childrenToNode_(document,el)));\n});\nshadow.dom.node_name \x3d (function shadow$dom$node_name(el){\nreturn shadow.dom.dom_node(el).nodeName;\n});\nshadow.dom.ancestor_by_class \x3d (function shadow$dom$ancestor_by_class(el,cls){\nreturn goog.dom.getAncestorByClass(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.ancestor_by_tag \x3d (function shadow$dom$ancestor_by_tag(var_args){\nvar G__20819 \x3d arguments.length;\nswitch (G__20819) {\ncase 2:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,tag){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,tag,cls){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag),cljs.core.name(cls));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.get_value \x3d (function shadow$dom$get_value(dom){\nreturn goog.dom.forms.getValue(shadow.dom.dom_node(dom));\n});\nshadow.dom.set_value \x3d (function shadow$dom$set_value(dom,value){\nreturn goog.dom.forms.setValue(shadow.dom.dom_node(dom),value);\n});\nshadow.dom.px \x3d (function shadow$dom$px(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((value | (0))),\x22px\x22].join(\x27\x27);\n});\nshadow.dom.pct \x3d (function shadow$dom$pct(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(value),\x22%\x22].join(\x27\x27);\n});\nshadow.dom.remove_style_STAR_ \x3d (function shadow$dom$remove_style_STAR_(el,style){\nreturn el.style.removeProperty(cljs.core.name(style));\n});\nshadow.dom.remove_style \x3d (function shadow$dom$remove_style(el,style){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nreturn shadow.dom.remove_style_STAR_(el__$1,style);\n});\nshadow.dom.remove_styles \x3d (function shadow$dom$remove_styles(el,style_keys){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar seq__20820 \x3d cljs.core.seq(style_keys);\nvar chunk__20821 \x3d null;\nvar count__20822 \x3d (0);\nvar i__20823 \x3d (0);\nwhile(true){\nif((i__20823 \x3c count__20822)){\nvar it \x3d chunk__20821.cljs$core$IIndexed$_nth$arity$2(null,i__20823);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__21488 \x3d seq__20820;\nvar G__21489 \x3d chunk__20821;\nvar G__21490 \x3d count__20822;\nvar G__21491 \x3d (i__20823 + (1));\nseq__20820 \x3d G__21488;\nchunk__20821 \x3d G__21489;\ncount__20822 \x3d G__21490;\ni__20823 \x3d G__21491;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20820);\nif(temp__5804__auto__){\nvar seq__20820__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20820__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20820__$1);\nvar G__21492 \x3d cljs.core.chunk_rest(seq__20820__$1);\nvar G__21493 \x3d c__5568__auto__;\nvar G__21494 \x3d cljs.core.count(c__5568__auto__);\nvar G__21495 \x3d (0);\nseq__20820 \x3d G__21492;\nchunk__20821 \x3d G__21493;\ncount__20822 \x3d G__21494;\ni__20823 \x3d G__21495;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__20820__$1);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__21496 \x3d cljs.core.next(seq__20820__$1);\nvar G__21497 \x3d null;\nvar G__21498 \x3d (0);\nvar G__21499 \x3d (0);\nseq__20820 \x3d G__21496;\nchunk__20821 \x3d G__21497;\ncount__20822 \x3d G__21498;\ni__20823 \x3d G__21499;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Coordinate \x3d (function (x,y,__meta,__extmap,__hash){\nthis.x \x3d x;\nthis.y \x3d y;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20826,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20836 \x3d k20826;\nvar G__20836__$1 \x3d (((G__20836 instanceof cljs.core.Keyword))?G__20836.fqn:null);\nswitch (G__20836__$1) {\ncase \x22x\x22:\nreturn self__.x;\n\nbreak;\ncase \x22y\x22:\nreturn self__.y;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20826,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20837){\nvar vec__20838 \x3d p__20837;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20838,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20838,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Coordinate{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20825){\nvar self__ \x3d this;\nvar G__20825__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20825__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (145542109 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20830,other20831){\nvar self__ \x3d this;\nvar this20830__$1 \x3d this;\nreturn (((!((other20831 \x3d\x3d null)))) \x26\x26 ((((this20830__$1.constructor \x3d\x3d\x3d other20831.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20830__$1.x,other20831.x)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20830__$1.y,other20831.y)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20830__$1.__extmap,other20831.__extmap)))))))));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20826){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20842 \x3d k20826;\nvar G__20842__$1 \x3d (((G__20842 instanceof cljs.core.Keyword))?G__20842.fqn:null);\nswitch (G__20842__$1) {\ncase \x22x\x22:\ncase \x22y\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20826);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20825){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20843 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20844 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20843.cljs$core$IFn$_invoke$arity$2 ? pred__20843.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__20844) : pred__20843.call(null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__20844)))){\nreturn (new shadow.dom.Coordinate(G__20825,self__.y,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20843.cljs$core$IFn$_invoke$arity$2 ? pred__20843.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__20844) : pred__20843.call(null,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__20844)))){\nreturn (new shadow.dom.Coordinate(self__.x,G__20825,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20825),null));\n}\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20825){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,G__20825,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Coordinate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22y\x22,\x22y\x22,-117328249,null)], null);\n}));\n\n(shadow.dom.Coordinate.cljs$lang$type \x3d true);\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Coordinate\x22,null,(1),null));\n}));\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Coordinate\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Coordinate.\n */\nshadow.dom.__GT_Coordinate \x3d (function shadow$dom$__GT_Coordinate(x,y){\nreturn (new shadow.dom.Coordinate(x,y,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Coordinate, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Coordinate \x3d (function shadow$dom$map__GT_Coordinate(G__20832){\nvar extmap__5385__auto__ \x3d (function (){var G__20849 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20832,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], 0));\nif(cljs.core.record_QMARK_(G__20832)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20849);\n} else {\nreturn G__20849;\n}\n})();\nreturn (new shadow.dom.Coordinate(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(G__20832),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(G__20832),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.get_position \x3d (function shadow$dom$get_position(el){\nvar pos \x3d goog.style.getPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_client_position \x3d (function shadow$dom$get_client_position(el){\nvar pos \x3d goog.style.getClientPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_page_offset \x3d (function shadow$dom$get_page_offset(el){\nvar pos \x3d goog.style.getPageOffset(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Size \x3d (function (w,h,__meta,__extmap,__hash){\nthis.w \x3d w;\nthis.h \x3d h;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20854,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20858 \x3d k20854;\nvar G__20858__$1 \x3d (((G__20858 instanceof cljs.core.Keyword))?G__20858.fqn:null);\nswitch (G__20858__$1) {\ncase \x22w\x22:\nreturn self__.w;\n\nbreak;\ncase \x22h\x22:\nreturn self__.h;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20854,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20859){\nvar vec__20860 \x3d p__20859;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20860,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20860,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Size{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20853){\nvar self__ \x3d this;\nvar G__20853__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20853__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1228019642 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20855,other20856){\nvar self__ \x3d this;\nvar this20855__$1 \x3d this;\nreturn (((!((other20856 \x3d\x3d null)))) \x26\x26 ((((this20855__$1.constructor \x3d\x3d\x3d other20856.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20855__$1.w,other20856.w)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20855__$1.h,other20856.h)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20855__$1.__extmap,other20856.__extmap)))))))));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20854){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20863 \x3d k20854;\nvar G__20863__$1 \x3d (((G__20863 instanceof cljs.core.Keyword))?G__20863.fqn:null);\nswitch (G__20863__$1) {\ncase \x22w\x22:\ncase \x22h\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20854);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20853){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20864 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20865 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20864.cljs$core$IFn$_invoke$arity$2 ? pred__20864.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__20865) : pred__20864.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__20865)))){\nreturn (new shadow.dom.Size(G__20853,self__.h,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20864.cljs$core$IFn$_invoke$arity$2 ? pred__20864.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__20865) : pred__20864.call(null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__20865)))){\nreturn (new shadow.dom.Size(self__.w,G__20853,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20853),null));\n}\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20853){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,G__20853,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Size.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22w\x22,\x22w\x22,1994700528,null),new cljs.core.Symbol(null,\x22h\x22,\x22h\x22,-1544777029,null)], null);\n}));\n\n(shadow.dom.Size.cljs$lang$type \x3d true);\n\n(shadow.dom.Size.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Size\x22,null,(1),null));\n}));\n\n(shadow.dom.Size.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Size\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Size.\n */\nshadow.dom.__GT_Size \x3d (function shadow$dom$__GT_Size(w,h){\nreturn (new shadow.dom.Size(w,h,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Size, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Size \x3d (function shadow$dom$map__GT_Size(G__20857){\nvar extmap__5385__auto__ \x3d (function (){var G__20871 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20857,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], 0));\nif(cljs.core.record_QMARK_(G__20857)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20871);\n} else {\nreturn G__20871;\n}\n})();\nreturn (new shadow.dom.Size(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(G__20857),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740).cljs$core$IFn$_invoke$arity$1(G__20857),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.size__GT_clj \x3d (function shadow$dom$size__GT_clj(size){\nreturn (new shadow.dom.Size(size.width,size.height,null,null,null));\n});\nshadow.dom.get_size \x3d (function shadow$dom$get_size(el){\nreturn shadow.dom.size__GT_clj(goog.style.getSize(shadow.dom.dom_node(el)));\n});\nshadow.dom.get_height \x3d (function shadow$dom$get_height(el){\nreturn shadow.dom.get_size(el).h;\n});\nshadow.dom.get_viewport_size \x3d (function shadow$dom$get_viewport_size(){\nreturn shadow.dom.size__GT_clj(goog.dom.getViewportSize());\n});\nshadow.dom.first_child \x3d (function shadow$dom$first_child(el){\nreturn (shadow.dom.dom_node(el).children[(0)]);\n});\nshadow.dom.select_option_values \x3d (function shadow$dom$select_option_values(el){\nvar native$ \x3d shadow.dom.dom_node(el);\nvar opts \x3d (native$[\x22options\x22]);\nvar a__5633__auto__ \x3d opts;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__21507 \x3d (i + (1));\nvar G__21508 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(opts[i][\x22value\x22]));\ni \x3d G__21507;\nret \x3d G__21508;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nshadow.dom.build_url \x3d (function shadow$dom$build_url(path,query_params){\nif(cljs.core.empty_QMARK_(query_params)){\nreturn path;\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22?\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__20887){\nvar vec__20888 \x3d p__20887;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20888,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20888,(1),null);\nreturn [cljs.core.name(k),\x22\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)))].join(\x27\x27);\n}),query_params))].join(\x27\x27);\n}\n});\nshadow.dom.redirect \x3d (function shadow$dom$redirect(var_args){\nvar G__20896 \x3d arguments.length;\nswitch (G__20896) {\ncase 1:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1 \x3d (function (path){\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2(path,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2 \x3d (function (path,query_params){\nreturn (document[\x22location\x22][\x22href\x22] \x3d shadow.dom.build_url(path,query_params));\n}));\n\n(shadow.dom.redirect.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.reload_BANG_ \x3d (function shadow$dom$reload_BANG_(){\nreturn (document.location.href \x3d document.location.href);\n});\nshadow.dom.tag_name \x3d (function shadow$dom$tag_name(el){\nvar dom \x3d shadow.dom.dom_node(el);\nreturn dom.tagName;\n});\nshadow.dom.insert_after \x3d (function shadow$dom$insert_after(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingAfter(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_before \x3d (function shadow$dom$insert_before(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingBefore(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_first \x3d (function shadow$dom$insert_first(ref,new$){\nvar temp__5802__auto__ \x3d shadow.dom.dom_node(ref).firstChild;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar child \x3d temp__5802__auto__;\nreturn shadow.dom.insert_before(child,new$);\n} else {\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(ref,new$);\n}\n});\nshadow.dom.index_of \x3d (function shadow$dom$index_of(el){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar i \x3d (0);\nwhile(true){\nvar ps \x3d el__$1.previousSibling;\nif((ps \x3d\x3d null)){\nreturn i;\n} else {\nvar G__21510 \x3d ps;\nvar G__21511 \x3d (i + (1));\nel__$1 \x3d G__21510;\ni \x3d G__21511;\ncontinue;\n}\nbreak;\n}\n});\nshadow.dom.get_parent \x3d (function shadow$dom$get_parent(el){\nreturn goog.dom.getParentElement(shadow.dom.dom_node(el));\n});\nshadow.dom.parents \x3d (function shadow$dom$parents(el){\nvar parent \x3d shadow.dom.get_parent(el);\nif(cljs.core.truth_(parent)){\nreturn cljs.core.cons(parent,(new cljs.core.LazySeq(null,(function (){\nreturn (shadow.dom.parents.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.parents.cljs$core$IFn$_invoke$arity$1(parent) : shadow.dom.parents.call(null,parent));\n}),null,null)));\n} else {\nreturn null;\n}\n});\nshadow.dom.matches \x3d (function shadow$dom$matches(el,sel){\nreturn shadow.dom.dom_node(el).matches(sel);\n});\nshadow.dom.get_next_sibling \x3d (function shadow$dom$get_next_sibling(el){\nreturn goog.dom.getNextElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.get_previous_sibling \x3d (function shadow$dom$get_previous_sibling(el){\nreturn goog.dom.getPreviousElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.xmlns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [\x22svg\x22,\x22http://www.w3.org/2000/svg\x22,\x22xlink\x22,\x22http://www.w3.org/1999/xlink\x22], null));\nshadow.dom.create_svg_node \x3d (function shadow$dom$create_svg_node(tag_def,props){\nvar vec__20922 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20922,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20922,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20922,(2),null);\nvar el \x3d document.createElementNS(\x22http://www.w3.org/2000/svg\x22,tag_name);\nif(cljs.core.truth_(tag_id)){\nel.setAttribute(\x22id\x22,tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\nel.setAttribute(\x22class\x22,shadow.dom.merge_class_string(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props),tag_classes));\n} else {\n}\n\nvar seq__20925_21512 \x3d cljs.core.seq(props);\nvar chunk__20926_21513 \x3d null;\nvar count__20927_21514 \x3d (0);\nvar i__20928_21515 \x3d (0);\nwhile(true){\nif((i__20928_21515 \x3c count__20927_21514)){\nvar vec__20936_21516 \x3d chunk__20926_21513.cljs$core$IIndexed$_nth$arity$2(null,i__20928_21515);\nvar k_21517 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20936_21516,(0),null);\nvar v_21518 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20936_21516,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto__ \x3d cljs.core.namespace(k_21517);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_21517),v_21518);\n\n\nvar G__21519 \x3d seq__20925_21512;\nvar G__21520 \x3d chunk__20926_21513;\nvar G__21521 \x3d count__20927_21514;\nvar G__21522 \x3d (i__20928_21515 + (1));\nseq__20925_21512 \x3d G__21519;\nchunk__20926_21513 \x3d G__21520;\ncount__20927_21514 \x3d G__21521;\ni__20928_21515 \x3d G__21522;\ncontinue;\n} else {\nvar temp__5804__auto___21523 \x3d cljs.core.seq(seq__20925_21512);\nif(temp__5804__auto___21523){\nvar seq__20925_21524__$1 \x3d temp__5804__auto___21523;\nif(cljs.core.chunked_seq_QMARK_(seq__20925_21524__$1)){\nvar c__5568__auto___21526 \x3d cljs.core.chunk_first(seq__20925_21524__$1);\nvar G__21527 \x3d cljs.core.chunk_rest(seq__20925_21524__$1);\nvar G__21528 \x3d c__5568__auto___21526;\nvar G__21529 \x3d cljs.core.count(c__5568__auto___21526);\nvar G__21530 \x3d (0);\nseq__20925_21512 \x3d G__21527;\nchunk__20926_21513 \x3d G__21528;\ncount__20927_21514 \x3d G__21529;\ni__20928_21515 \x3d G__21530;\ncontinue;\n} else {\nvar vec__20939_21531 \x3d cljs.core.first(seq__20925_21524__$1);\nvar k_21532 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20939_21531,(0),null);\nvar v_21533 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20939_21531,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto____$1 \x3d cljs.core.namespace(k_21532);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar ns \x3d temp__5804__auto____$1;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_21532),v_21533);\n\n\nvar G__21534 \x3d cljs.core.next(seq__20925_21524__$1);\nvar G__21535 \x3d null;\nvar G__21536 \x3d (0);\nvar G__21537 \x3d (0);\nseq__20925_21512 \x3d G__21534;\nchunk__20926_21513 \x3d G__21535;\ncount__20927_21514 \x3d G__21536;\ni__20928_21515 \x3d G__21537;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn el;\n});\nshadow.dom.svg_node \x3d (function shadow$dom$svg_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$SVGElement$))))?true:false):false)){\nreturn el.shadow$dom$SVGElement$_to_svg$arity$1(null);\n} else {\nreturn el;\n\n}\n}\n});\nshadow.dom.make_svg_node \x3d (function shadow$dom$make_svg_node(structure){\nvar vec__20954 \x3d shadow.dom.destructure_node(shadow.dom.create_svg_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20954,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20954,(1),null);\nvar seq__20957_21538 \x3d cljs.core.seq(node_children);\nvar chunk__20959_21539 \x3d null;\nvar count__20960_21540 \x3d (0);\nvar i__20961_21541 \x3d (0);\nwhile(true){\nif((i__20961_21541 \x3c count__20960_21540)){\nvar child_struct_21542 \x3d chunk__20959_21539.cljs$core$IIndexed$_nth$arity$2(null,i__20961_21541);\nif((!((child_struct_21542 \x3d\x3d null)))){\nif(typeof child_struct_21542 \x3d\x3d\x3d \x27string\x27){\nvar text_21543 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_21543),child_struct_21542].join(\x27\x27));\n} else {\nvar children_21544 \x3d shadow.dom.svg_node(child_struct_21542);\nif(cljs.core.seq_QMARK_(children_21544)){\nvar seq__21039_21545 \x3d cljs.core.seq(children_21544);\nvar chunk__21041_21546 \x3d null;\nvar count__21042_21547 \x3d (0);\nvar i__21043_21548 \x3d (0);\nwhile(true){\nif((i__21043_21548 \x3c count__21042_21547)){\nvar child_21549 \x3d chunk__21041_21546.cljs$core$IIndexed$_nth$arity$2(null,i__21043_21548);\nif(cljs.core.truth_(child_21549)){\nnode.appendChild(child_21549);\n\n\nvar G__21550 \x3d seq__21039_21545;\nvar G__21551 \x3d chunk__21041_21546;\nvar G__21552 \x3d count__21042_21547;\nvar G__21553 \x3d (i__21043_21548 + (1));\nseq__21039_21545 \x3d G__21550;\nchunk__21041_21546 \x3d G__21551;\ncount__21042_21547 \x3d G__21552;\ni__21043_21548 \x3d G__21553;\ncontinue;\n} else {\nvar G__21554 \x3d seq__21039_21545;\nvar G__21555 \x3d chunk__21041_21546;\nvar G__21556 \x3d count__21042_21547;\nvar G__21557 \x3d (i__21043_21548 + (1));\nseq__21039_21545 \x3d G__21554;\nchunk__21041_21546 \x3d G__21555;\ncount__21042_21547 \x3d G__21556;\ni__21043_21548 \x3d G__21557;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21558 \x3d cljs.core.seq(seq__21039_21545);\nif(temp__5804__auto___21558){\nvar seq__21039_21559__$1 \x3d temp__5804__auto___21558;\nif(cljs.core.chunked_seq_QMARK_(seq__21039_21559__$1)){\nvar c__5568__auto___21560 \x3d cljs.core.chunk_first(seq__21039_21559__$1);\nvar G__21564 \x3d cljs.core.chunk_rest(seq__21039_21559__$1);\nvar G__21565 \x3d c__5568__auto___21560;\nvar G__21566 \x3d cljs.core.count(c__5568__auto___21560);\nvar G__21567 \x3d (0);\nseq__21039_21545 \x3d G__21564;\nchunk__21041_21546 \x3d G__21565;\ncount__21042_21547 \x3d G__21566;\ni__21043_21548 \x3d G__21567;\ncontinue;\n} else {\nvar child_21568 \x3d cljs.core.first(seq__21039_21559__$1);\nif(cljs.core.truth_(child_21568)){\nnode.appendChild(child_21568);\n\n\nvar G__21569 \x3d cljs.core.next(seq__21039_21559__$1);\nvar G__21570 \x3d null;\nvar G__21571 \x3d (0);\nvar G__21572 \x3d (0);\nseq__21039_21545 \x3d G__21569;\nchunk__21041_21546 \x3d G__21570;\ncount__21042_21547 \x3d G__21571;\ni__21043_21548 \x3d G__21572;\ncontinue;\n} else {\nvar G__21573 \x3d cljs.core.next(seq__21039_21559__$1);\nvar G__21574 \x3d null;\nvar G__21575 \x3d (0);\nvar G__21576 \x3d (0);\nseq__21039_21545 \x3d G__21573;\nchunk__21041_21546 \x3d G__21574;\ncount__21042_21547 \x3d G__21575;\ni__21043_21548 \x3d G__21576;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_21544);\n}\n}\n\n\nvar G__21577 \x3d seq__20957_21538;\nvar G__21578 \x3d chunk__20959_21539;\nvar G__21579 \x3d count__20960_21540;\nvar G__21580 \x3d (i__20961_21541 + (1));\nseq__20957_21538 \x3d G__21577;\nchunk__20959_21539 \x3d G__21578;\ncount__20960_21540 \x3d G__21579;\ni__20961_21541 \x3d G__21580;\ncontinue;\n} else {\nvar G__21581 \x3d seq__20957_21538;\nvar G__21582 \x3d chunk__20959_21539;\nvar G__21583 \x3d count__20960_21540;\nvar G__21584 \x3d (i__20961_21541 + (1));\nseq__20957_21538 \x3d G__21581;\nchunk__20959_21539 \x3d G__21582;\ncount__20960_21540 \x3d G__21583;\ni__20961_21541 \x3d G__21584;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21585 \x3d cljs.core.seq(seq__20957_21538);\nif(temp__5804__auto___21585){\nvar seq__20957_21586__$1 \x3d temp__5804__auto___21585;\nif(cljs.core.chunked_seq_QMARK_(seq__20957_21586__$1)){\nvar c__5568__auto___21587 \x3d cljs.core.chunk_first(seq__20957_21586__$1);\nvar G__21588 \x3d cljs.core.chunk_rest(seq__20957_21586__$1);\nvar G__21589 \x3d c__5568__auto___21587;\nvar G__21590 \x3d cljs.core.count(c__5568__auto___21587);\nvar G__21591 \x3d (0);\nseq__20957_21538 \x3d G__21588;\nchunk__20959_21539 \x3d G__21589;\ncount__20960_21540 \x3d G__21590;\ni__20961_21541 \x3d G__21591;\ncontinue;\n} else {\nvar child_struct_21592 \x3d cljs.core.first(seq__20957_21586__$1);\nif((!((child_struct_21592 \x3d\x3d null)))){\nif(typeof child_struct_21592 \x3d\x3d\x3d \x27string\x27){\nvar text_21593 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_21593),child_struct_21592].join(\x27\x27));\n} else {\nvar children_21594 \x3d shadow.dom.svg_node(child_struct_21592);\nif(cljs.core.seq_QMARK_(children_21594)){\nvar seq__21088_21595 \x3d cljs.core.seq(children_21594);\nvar chunk__21090_21596 \x3d null;\nvar count__21091_21597 \x3d (0);\nvar i__21092_21598 \x3d (0);\nwhile(true){\nif((i__21092_21598 \x3c count__21091_21597)){\nvar child_21599 \x3d chunk__21090_21596.cljs$core$IIndexed$_nth$arity$2(null,i__21092_21598);\nif(cljs.core.truth_(child_21599)){\nnode.appendChild(child_21599);\n\n\nvar G__21600 \x3d seq__21088_21595;\nvar G__21601 \x3d chunk__21090_21596;\nvar G__21602 \x3d count__21091_21597;\nvar G__21603 \x3d (i__21092_21598 + (1));\nseq__21088_21595 \x3d G__21600;\nchunk__21090_21596 \x3d G__21601;\ncount__21091_21597 \x3d G__21602;\ni__21092_21598 \x3d G__21603;\ncontinue;\n} else {\nvar G__21604 \x3d seq__21088_21595;\nvar G__21605 \x3d chunk__21090_21596;\nvar G__21606 \x3d count__21091_21597;\nvar G__21607 \x3d (i__21092_21598 + (1));\nseq__21088_21595 \x3d G__21604;\nchunk__21090_21596 \x3d G__21605;\ncount__21091_21597 \x3d G__21606;\ni__21092_21598 \x3d G__21607;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21608__$1 \x3d cljs.core.seq(seq__21088_21595);\nif(temp__5804__auto___21608__$1){\nvar seq__21088_21609__$1 \x3d temp__5804__auto___21608__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21088_21609__$1)){\nvar c__5568__auto___21610 \x3d cljs.core.chunk_first(seq__21088_21609__$1);\nvar G__21611 \x3d cljs.core.chunk_rest(seq__21088_21609__$1);\nvar G__21612 \x3d c__5568__auto___21610;\nvar G__21613 \x3d cljs.core.count(c__5568__auto___21610);\nvar G__21614 \x3d (0);\nseq__21088_21595 \x3d G__21611;\nchunk__21090_21596 \x3d G__21612;\ncount__21091_21597 \x3d G__21613;\ni__21092_21598 \x3d G__21614;\ncontinue;\n} else {\nvar child_21615 \x3d cljs.core.first(seq__21088_21609__$1);\nif(cljs.core.truth_(child_21615)){\nnode.appendChild(child_21615);\n\n\nvar G__21616 \x3d cljs.core.next(seq__21088_21609__$1);\nvar G__21617 \x3d null;\nvar G__21618 \x3d (0);\nvar G__21619 \x3d (0);\nseq__21088_21595 \x3d G__21616;\nchunk__21090_21596 \x3d G__21617;\ncount__21091_21597 \x3d G__21618;\ni__21092_21598 \x3d G__21619;\ncontinue;\n} else {\nvar G__21620 \x3d cljs.core.next(seq__21088_21609__$1);\nvar G__21621 \x3d null;\nvar G__21622 \x3d (0);\nvar G__21623 \x3d (0);\nseq__21088_21595 \x3d G__21620;\nchunk__21090_21596 \x3d G__21621;\ncount__21091_21597 \x3d G__21622;\ni__21092_21598 \x3d G__21623;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_21594);\n}\n}\n\n\nvar G__21624 \x3d cljs.core.next(seq__20957_21586__$1);\nvar G__21625 \x3d null;\nvar G__21626 \x3d (0);\nvar G__21627 \x3d (0);\nseq__20957_21538 \x3d G__21624;\nchunk__20959_21539 \x3d G__21625;\ncount__20960_21540 \x3d G__21626;\ni__20961_21541 \x3d G__21627;\ncontinue;\n} else {\nvar G__21628 \x3d cljs.core.next(seq__20957_21586__$1);\nvar G__21629 \x3d null;\nvar G__21630 \x3d (0);\nvar G__21631 \x3d (0);\nseq__20957_21538 \x3d G__21628;\nchunk__20959_21539 \x3d G__21629;\ncount__20960_21540 \x3d G__21630;\ni__20961_21541 \x3d G__21631;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(shadow.dom.SVGElement[\x22string\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22string\x22] \x3d (function (this$){\nif((this$ instanceof cljs.core.Keyword)){\nreturn shadow.dom.make_svg_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22strings cannot be in svgs\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22this\x22,\x22this\x22,-611633625),this$], null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_svg_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_svg,this$__$1);\n}));\n\n(shadow.dom.SVGElement[\x22null\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\nshadow.dom.svg \x3d (function shadow$dom$svg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21633 \x3d arguments.length;\nvar i__5770__auto___21634 \x3d (0);\nwhile(true){\nif((i__5770__auto___21634 \x3c len__5769__auto___21633)){\nargs__5775__auto__.push((arguments[i__5770__auto___21634]));\n\nvar G__21635 \x3d (i__5770__auto___21634 + (1));\ni__5770__auto___21634 \x3d G__21635;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (attrs,children){\nreturn shadow.dom._to_svg(cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),attrs], null),children)));\n}));\n\n(shadow.dom.svg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.dom.svg.cljs$lang$applyTo \x3d (function (seq21117){\nvar G__21123 \x3d cljs.core.first(seq21117);\nvar seq21117__$1 \x3d cljs.core.next(seq21117);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21123,seq21117__$1);\n}));\n\n/**\n * returns a channel for events on el\n * transform-fn should be a (fn [e el] some-val) where some-val will be put on the chan\n * once-or-cleanup handles the removal of the event handler\n * - true: remove after one event\n * - false: never removed\n * - chan: remove on msg/close\n */\nshadow.dom.event_chan \x3d (function shadow$dom$event_chan(var_args){\nvar G__21143 \x3d arguments.length;\nswitch (G__21143) {\ncase 2:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,event){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,null,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,event,xf){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,xf,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,event,xf,once_or_cleanup){\nvar buf \x3d cljs.core.async.sliding_buffer((1));\nvar chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(buf,xf);\nvar event_fn \x3d (function shadow$dom$event_fn(e){\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(chan,e);\n\nif(once_or_cleanup \x3d\x3d\x3d true){\nshadow.dom.remove_event_handler(el,event,shadow$dom$event_fn);\n\nreturn cljs.core.async.close_BANG_(chan);\n} else {\nreturn null;\n}\n});\nshadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(event),event_fn);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d once_or_cleanup;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(once_or_cleanup \x3d\x3d\x3d true));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar c__17494__auto___21639 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_21148){\nvar state_val_21149 \x3d (state_21148[(1)]);\nif((state_val_21149 \x3d\x3d\x3d (1))){\nvar state_21148__$1 \x3d state_21148;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21148__$1,(2),once_or_cleanup);\n} else {\nif((state_val_21149 \x3d\x3d\x3d (2))){\nvar inst_21145 \x3d (state_21148[(2)]);\nvar inst_21146 \x3d shadow.dom.remove_event_handler(el,event,event_fn);\nvar state_21148__$1 \x3d (function (){var statearr_21247 \x3d state_21148;\n(statearr_21247[(7)] \x3d inst_21145);\n\nreturn statearr_21247;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21148__$1,inst_21146);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$dom$state_machine__17344__auto__ \x3d null;\nvar shadow$dom$state_machine__17344__auto____0 \x3d (function (){\nvar statearr_21252 \x3d [null,null,null,null,null,null,null,null];\n(statearr_21252[(0)] \x3d shadow$dom$state_machine__17344__auto__);\n\n(statearr_21252[(1)] \x3d (1));\n\nreturn statearr_21252;\n});\nvar shadow$dom$state_machine__17344__auto____1 \x3d (function (state_21148){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_21148);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e21254){var ex__17347__auto__ \x3d e21254;\nvar statearr_21259_21644 \x3d state_21148;\n(statearr_21259_21644[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_21148[(4)]))){\nvar statearr_21260_21645 \x3d state_21148;\n(statearr_21260_21645[(1)] \x3d cljs.core.first((state_21148[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21646 \x3d state_21148;\nstate_21148 \x3d G__21646;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\nshadow$dom$state_machine__17344__auto__ \x3d function(state_21148){\nswitch(arguments.length){\ncase 0:\nreturn shadow$dom$state_machine__17344__auto____0.call(this);\ncase 1:\nreturn shadow$dom$state_machine__17344__auto____1.call(this,state_21148);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$dom$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$dom$state_machine__17344__auto____0;\nshadow$dom$state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$dom$state_machine__17344__auto____1;\nreturn shadow$dom$state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_21267 \x3d f__17495__auto__();\n(statearr_21267[(6)] \x3d c__17494__auto___21639);\n\nreturn statearr_21267;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\n} else {\n}\n\nreturn chan;\n}));\n\n(shadow.dom.event_chan.cljs$lang$maxFixedArity \x3d 4);\n\n"); +SHADOW_ENV.evalLoad("shadow.util.js", true , "goog.provide(\x27shadow.util\x27);\nshadow.util.console_friendly \x3d (function shadow$util$console_friendly(a){\nif((a \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nif((a instanceof cljs.core.Keyword)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nif(typeof a \x3d\x3d\x3d \x27string\x27){\nreturn a;\n} else {\nif(typeof a \x3d\x3d\x3d \x27number\x27){\nreturn a;\n} else {\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IPrintWithWriter$))))?true:(((!a.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a], 0));\n} else {\nreturn a;\n\n}\n}\n}\n}\n}\n});\nshadow.util.console_QMARK_ \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nshadow.util.log \x3d (function shadow$util$log(var_args){\nvar G__17470 \x3d arguments.length;\nswitch (G__17470) {\ncase 1:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17501 \x3d arguments.length;\nvar i__5770__auto___17502 \x3d (0);\nwhile(true){\nif((i__5770__auto___17502 \x3c len__5769__auto___17501)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17502]));\n\nvar G__17503 \x3d (i__5770__auto___17502 + (1));\ni__5770__auto___17502 \x3d G__17503;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$1 \x3d (function (a1){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$2 \x3d (function (a1,a2){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$3 \x3d (function (a1,a2,a3){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$4 \x3d (function (a1,a2,a3,a4){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$5 \x3d (function (a1,a2,a3,a4,a5){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$6 \x3d (function (a1,a2,a3,a4,a5,a6){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a1,a2,a3,a4,a5,a6,more){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6),\x22more:\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n} else {\nreturn null;\n}\n}));\n\n/** @this {Function} */\n(shadow.util.log.cljs$lang$applyTo \x3d (function (seq17463){\nvar G__17464 \x3d cljs.core.first(seq17463);\nvar seq17463__$1 \x3d cljs.core.next(seq17463);\nvar G__17465 \x3d cljs.core.first(seq17463__$1);\nvar seq17463__$2 \x3d cljs.core.next(seq17463__$1);\nvar G__17466 \x3d cljs.core.first(seq17463__$2);\nvar seq17463__$3 \x3d cljs.core.next(seq17463__$2);\nvar G__17467 \x3d cljs.core.first(seq17463__$3);\nvar seq17463__$4 \x3d cljs.core.next(seq17463__$3);\nvar G__17468 \x3d cljs.core.first(seq17463__$4);\nvar seq17463__$5 \x3d cljs.core.next(seq17463__$4);\nvar G__17469 \x3d cljs.core.first(seq17463__$5);\nvar seq17463__$6 \x3d cljs.core.next(seq17463__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17464,G__17465,G__17466,G__17467,G__17468,G__17469,seq17463__$6);\n}));\n\n(shadow.util.log.cljs$lang$maxFixedArity \x3d (6));\n\nshadow.util.remove_from_vector \x3d (function shadow$util$remove_from_vector(coll,key){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,p__17476){\nvar vec__17477 \x3d p__17476;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17477,(0),null);\nvar item \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17477,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,key)){\nreturn v;\n} else {\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,item);\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,coll)));\n});\nshadow.util.remove_item_from_coll \x3d (function shadow$util$remove_item_from_coll(coll,key,value){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IVector$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll))){\nreturn shadow.util.remove_from_vector(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IMap$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll))){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISet$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll))){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,value);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unknown coll type\x22,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22coll\x22,\x22coll\x22,1647737163),coll,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22value\x22,\x22value\x22,305978217),value], null));\n\n}\n}\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.object.js", true , "goog.provide(\x27shadow.object\x27);\nshadow.object.console_friendly \x3d shadow.util.console_friendly;\nshadow.object.log \x3d shadow.util.log;\nshadow.object.debug \x3d shadow.util.log;\nshadow.object.info \x3d shadow.util.log;\nshadow.object.warn \x3d shadow.util.log;\nshadow.object.error \x3d shadow.util.log;\nshadow.object.obj_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nshadow.object.next_id \x3d (function shadow$object$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);\n});\nshadow.object.object_defs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.behavior_fns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instances \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_parent \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.events \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.define_event \x3d (function shadow$object$define_event(event_name,desc,args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),event_name,new cljs.core.Keyword(null,\x22description\x22,\x22description\x22,-1428560544),desc,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n});\nshadow.object.unmunge \x3d (function shadow$object$unmunge(s){\nreturn clojure.string.replace(clojure.string.replace(s,/_DOT_/,\x22.\x22),/_/,\x22-\x22);\n});\nshadow.object.define_event(new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434),\x22object initialization\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),\x22object descruction\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),\x22cause of destruction, :parent means the parent was destroyed, :direct is default\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),\x22called after the dom was created but has not entered the document yet\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),\x22the dom that was created\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596),\x22should be called whenever a dom node is added to the document, since that\\n is not in control of this library its up to you to call this\\n use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160),\x22need to rethink this\x22,cljs.core.PersistentVector.EMPTY);\n\n/**\n * @interface\n */\nshadow.object.IObject \x3d function(){};\n\nvar shadow$object$IObject$_id$dyn_22142 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._id[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._id[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-id\x22,this$);\n}\n}\n});\nshadow.object._id \x3d (function shadow$object$_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_id$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_id$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_id$dyn_22142(this$);\n}\n});\n\nvar shadow$object$IObject$_type$dyn_22144 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._type[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._type[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-type\x22,this$);\n}\n}\n});\nshadow.object._type \x3d (function shadow$object$_type(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_type$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_type$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_type$dyn_22144(this$);\n}\n});\n\nvar shadow$object$IObject$_data$dyn_22146 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._data[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._data[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-data\x22,this$);\n}\n}\n});\nshadow.object._data \x3d (function shadow$object$_data(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_data$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_data$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_data$dyn_22146(this$);\n}\n});\n\nvar shadow$object$IObject$_update$dyn_22148 \x3d (function (this$,update_fn){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._update[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5394__auto__.call(null,this$,update_fn));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._update[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5392__auto__.call(null,this$,update_fn));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-update\x22,this$);\n}\n}\n});\n/**\n * update and notify watches\n */\nshadow.object._update \x3d (function shadow$object$_update(this$,update_fn){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_update$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_update$arity$2(this$,update_fn);\n} else {\nreturn shadow$object$IObject$_update$dyn_22148(this$,update_fn);\n}\n});\n\nvar shadow$object$IObject$_destroy_BANG_$dyn_22149 \x3d (function (this$,cause){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._destroy_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5394__auto__.call(null,this$,cause));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._destroy_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5392__auto__.call(null,this$,cause));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-destroy!\x22,this$);\n}\n}\n});\nshadow.object._destroy_BANG_ \x3d (function shadow$object$_destroy_BANG_(this$,cause){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);\n} else {\nreturn shadow$object$IObject$_destroy_BANG_$dyn_22149(this$,cause);\n}\n});\n\nshadow.object.get_type \x3d (function shadow$object$get_type(this$){\nreturn shadow.object._type(this$);\n});\nshadow.object.get_type_attr \x3d (function shadow$object$get_type_attr(var_args){\nvar G__21647 \x3d arguments.length;\nswitch (G__21647) {\ncase 2:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,key){\nif((oref \x3d\x3d null)){\nreturn null;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));\n}\n}));\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,key,default$){\nif((oref \x3d\x3d null)){\nreturn default$;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);\n}\n}));\n\n(shadow.object.get_type_attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.get_dom \x3d (function shadow$object$get_dom(oref){\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(oref);\n});\ngoog.exportSymbol(\x27shadow.object.get_dom\x27, shadow.object.get_dom);\nshadow.object.get_by_id \x3d (function shadow$object$get_by_id(id){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);\n});\ngoog.exportSymbol(\x27shadow.object.get_by_id\x27, shadow.object.get_by_id);\nshadow.object.get_from_dom \x3d (function shadow$object$get_from_dom(dom){\nvar oid \x3d shadow.dom.data(dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(oid)){\nreturn shadow.object.get_by_id(parseInt(oid,(10)));\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_from_dom\x27, shadow.object.get_from_dom);\nshadow.object.is_object_QMARK_ \x3d (function shadow$object$is_object_QMARK_(obj_or_dom){\nvar or__5045__auto__ \x3d (((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.object.get_from_dom(obj_or_dom);\n}\n});\nshadow.object.equal_QMARK_ \x3d (function shadow$object$equal_QMARK_(obj,obj_or_dom){\nif((((!((obj \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can only test objects\x22,\x22\\n\x22,\x22(satisfies? IObject obj)\x22].join(\x27\x27)));\n}\n\nif((((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5804__auto__ \x3d shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar oid \x3d temp__5804__auto__;\nreturn parseInt(oid,(10));\n} else {\nreturn null;\n}\n})());\n}\n});\nshadow.object.get_parent \x3d (function shadow$object$get_parent(oref){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent_id \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent\x27, shadow.object.get_parent);\nshadow.object.get_parent_of_type \x3d (function shadow$object$get_parent_of_type(oref,parent_type){\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(oref);\nwhile(true){\nif(cljs.core.truth_(parent)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){\nreturn parent;\n} else {\nvar G__22155 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(parent);\nparent \x3d G__22155;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent_of_type\x27, shadow.object.get_parent_of_type);\nshadow.object.get_children \x3d (function shadow$object$get_children(parent){\nvar parent_id \x3d shadow.object._id(parent);\nvar child_ids \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);\nvar instances \x3d cljs.core.deref(shadow.object.instances);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21673_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__21673_SHARP_);\n}),child_ids));\n});\ngoog.exportSymbol(\x27shadow.object.get_children\x27, shadow.object.get_children);\nshadow.object.tree_seq \x3d (function shadow$object$tree_seq(var_args){\nvar G__21676 \x3d arguments.length;\nswitch (G__21676) {\ncase 1:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\ngoog.exportSymbol(\x27shadow.object.tree_seq\x27, shadow.object.tree_seq);\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (root){\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){\nreturn true;\n}));\n}));\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (root,branch_QMARK_){\nreturn cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);\n}));\n\n(shadow.object.tree_seq.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_children_of_type \x3d (function shadow$object$get_children_of_type(oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__21684_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__21684_SHARP_));\n}),shadow.object.get_children(oref));\n});\n/**\n * basically (get-children (:parent this))\n */\nshadow.object.get_siblings \x3d (function shadow$object$get_siblings(p__21692){\nvar map__21693 \x3d p__21692;\nvar map__21693__$1 \x3d cljs.core.__destructure_map(map__21693);\nvar oref \x3d map__21693__$1;\nvar parent \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21693__$1,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\nif(cljs.core.truth_(parent)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object has no parent, thus has no siblings\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nreturn shadow.object.get_children(parent);\n});\n/**\n * returns set of all siblings of a common type\n */\nshadow.object.get_siblings_of_type \x3d (function shadow$object$get_siblings_of_type(var_args){\nvar G__21698 \x3d arguments.length;\nswitch (G__21698) {\ncase 1:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);\n}));\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__21694_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__21694_SHARP_));\n}),shadow.object.get_siblings(oref));\n}));\n\n(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_collection_item \x3d (function shadow$object$get_collection_item(oref){\nvar item_key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);\n});\n/**\n * find the object that contains this dom node\n */\nshadow.object.find_containing_object \x3d (function shadow$object$find_containing_object(dom){\nwhile(true){\nvar temp__5802__auto__ \x3d shadow.object.get_from_dom(dom);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar obj \x3d temp__5802__auto__;\nreturn obj;\n} else {\nvar temp__5804__auto__ \x3d dom.parentElement;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent \x3d temp__5804__auto__;\nvar G__22162 \x3d parent;\ndom \x3d G__22162;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.notify_BANG_ \x3d (function shadow$object$notify_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22163 \x3d arguments.length;\nvar i__5770__auto___22164 \x3d (0);\nwhile(true){\nif((i__5770__auto___22164 \x3c len__5769__auto___22163)){\nargs__5775__auto__.push((arguments[i__5770__auto___22164]));\n\nvar G__22165 \x3d (i__5770__auto___22164 + (1));\ni__5770__auto___22164 \x3d G__22165;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),ev], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar reactions_to_trigger \x3d temp__5804__auto__;\nvar seq__21716 \x3d cljs.core.seq(reactions_to_trigger);\nvar chunk__21717 \x3d null;\nvar count__21718 \x3d (0);\nvar i__21719 \x3d (0);\nwhile(true){\nif((i__21719 \x3c count__21718)){\nvar rfn \x3d chunk__21717.cljs$core$IIndexed$_nth$arity$2(null,i__21719);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__22166 \x3d seq__21716;\nvar G__22167 \x3d chunk__21717;\nvar G__22168 \x3d count__21718;\nvar G__22169 \x3d (i__21719 + (1));\nseq__21716 \x3d G__22166;\nchunk__21717 \x3d G__22167;\ncount__21718 \x3d G__22168;\ni__21719 \x3d G__22169;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__21716);\nif(temp__5804__auto____$1){\nvar seq__21716__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21716__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21716__$1);\nvar G__22170 \x3d cljs.core.chunk_rest(seq__21716__$1);\nvar G__22171 \x3d c__5568__auto__;\nvar G__22172 \x3d cljs.core.count(c__5568__auto__);\nvar G__22173 \x3d (0);\nseq__21716 \x3d G__22170;\nchunk__21717 \x3d G__22171;\ncount__21718 \x3d G__22172;\ni__21719 \x3d G__22173;\ncontinue;\n} else {\nvar rfn \x3d cljs.core.first(seq__21716__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__22174 \x3d cljs.core.next(seq__21716__$1);\nvar G__22175 \x3d null;\nvar G__22176 \x3d (0);\nvar G__22177 \x3d (0);\nseq__21716 \x3d G__22174;\nchunk__21717 \x3d G__22175;\ncount__21718 \x3d G__22176;\ni__21719 \x3d G__22177;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.notify_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_BANG_.cljs$lang$applyTo \x3d (function (seq21709){\nvar G__21710 \x3d cljs.core.first(seq21709);\nvar seq21709__$1 \x3d cljs.core.next(seq21709);\nvar G__21711 \x3d cljs.core.first(seq21709__$1);\nvar seq21709__$2 \x3d cljs.core.next(seq21709__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21710,G__21711,seq21709__$2);\n}));\n\nshadow.object.do_notify_tree \x3d (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){\nvar seq__21723_22178 \x3d cljs.core.seq(shadow.object.get_children(current_obj));\nvar chunk__21724_22179 \x3d null;\nvar count__21725_22180 \x3d (0);\nvar i__21726_22181 \x3d (0);\nwhile(true){\nif((i__21726_22181 \x3c count__21725_22180)){\nvar child_22182 \x3d chunk__21724_22179.cljs$core$IIndexed$_nth$arity$2(null,i__21726_22181);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_22182,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_22182,ev,notify_fn));\n\n\nvar G__22183 \x3d seq__21723_22178;\nvar G__22184 \x3d chunk__21724_22179;\nvar G__22185 \x3d count__21725_22180;\nvar G__22186 \x3d (i__21726_22181 + (1));\nseq__21723_22178 \x3d G__22183;\nchunk__21724_22179 \x3d G__22184;\ncount__21725_22180 \x3d G__22185;\ni__21726_22181 \x3d G__22186;\ncontinue;\n} else {\nvar temp__5804__auto___22187 \x3d cljs.core.seq(seq__21723_22178);\nif(temp__5804__auto___22187){\nvar seq__21723_22188__$1 \x3d temp__5804__auto___22187;\nif(cljs.core.chunked_seq_QMARK_(seq__21723_22188__$1)){\nvar c__5568__auto___22189 \x3d cljs.core.chunk_first(seq__21723_22188__$1);\nvar G__22190 \x3d cljs.core.chunk_rest(seq__21723_22188__$1);\nvar G__22191 \x3d c__5568__auto___22189;\nvar G__22192 \x3d cljs.core.count(c__5568__auto___22189);\nvar G__22193 \x3d (0);\nseq__21723_22178 \x3d G__22190;\nchunk__21724_22179 \x3d G__22191;\ncount__21725_22180 \x3d G__22192;\ni__21726_22181 \x3d G__22193;\ncontinue;\n} else {\nvar child_22194 \x3d cljs.core.first(seq__21723_22188__$1);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_22194,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_22194,ev,notify_fn));\n\n\nvar G__22195 \x3d cljs.core.next(seq__21723_22188__$1);\nvar G__22196 \x3d null;\nvar G__22197 \x3d (0);\nvar G__22198 \x3d (0);\nseq__21723_22178 \x3d G__22195;\nchunk__21724_22179 \x3d G__22196;\ncount__21725_22180 \x3d G__22197;\ni__21726_22181 \x3d G__22198;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));\n});\nshadow.object.notify_tree_BANG_ \x3d (function shadow$object$notify_tree_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22199 \x3d arguments.length;\nvar i__5770__auto___22200 \x3d (0);\nwhile(true){\nif((i__5770__auto___22200 \x3c len__5769__auto___22199)){\nargs__5775__auto__.push((arguments[i__5770__auto___22200]));\n\nvar G__22201 \x3d (i__5770__auto___22200 + (1));\ni__5770__auto___22200 \x3d G__22201;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar notify_fn \x3d (function (obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);\n});\nreturn shadow.object.do_notify_tree(oref,ev,notify_fn);\n}));\n\n(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_tree_BANG_.cljs$lang$applyTo \x3d (function (seq21727){\nvar G__21728 \x3d cljs.core.first(seq21727);\nvar seq21727__$1 \x3d cljs.core.next(seq21727);\nvar G__21729 \x3d cljs.core.first(seq21727__$1);\nvar seq21727__$2 \x3d cljs.core.next(seq21727__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21728,G__21729,seq21727__$2);\n}));\n\nshadow.object.notify_down_BANG_ \x3d shadow.object.notify_tree_BANG_;\nshadow.object.notify_up_BANG_ \x3d (function shadow$object$notify_up_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22202 \x3d arguments.length;\nvar i__5770__auto___22203 \x3d (0);\nwhile(true){\nif((i__5770__auto___22203 \x3c len__5769__auto___22202)){\nargs__5775__auto__.push((arguments[i__5770__auto___22203]));\n\nvar G__22205 \x3d (i__5770__auto___22203 + (1));\ni__5770__auto___22203 \x3d G__22205;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar current \x3d shadow.object.get_parent(oref);\nwhile(true){\nif(cljs.core.truth_(current)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);\n\nvar G__22206 \x3d shadow.object.get_parent(current);\ncurrent \x3d G__22206;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_up_BANG_.cljs$lang$applyTo \x3d (function (seq21730){\nvar G__21731 \x3d cljs.core.first(seq21730);\nvar seq21730__$1 \x3d cljs.core.next(seq21730);\nvar G__21732 \x3d cljs.core.first(seq21730__$1);\nvar seq21730__$2 \x3d cljs.core.next(seq21730__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21731,G__21732,seq21730__$2);\n}));\n\nshadow.object.update_BANG_ \x3d (function shadow$object$update_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22207 \x3d arguments.length;\nvar i__5770__auto___22208 \x3d (0);\nwhile(true){\nif((i__5770__auto___22208 \x3c len__5769__auto___22207)){\nargs__5775__auto__.push((arguments[i__5770__auto___22208]));\n\nvar G__22209 \x3d (i__5770__auto___22208 + (1));\ni__5770__auto___22208 \x3d G__22209;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,update_fn,args){\nif(cljs.core.fn_QMARK_(update_fn)){\n} else {\nthrow [\x22update! expects a fn as second arg, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join(\x27\x27);\n}\n\nvar id \x3d shadow.object._id(oref);\nvar data \x3d shadow.object._data(oref);\nvar work_fn \x3d (function (data__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);\n});\nreturn shadow.object._update(oref,work_fn);\n}));\n\n(shadow.object.update_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.update_BANG_.cljs$lang$applyTo \x3d (function (seq21740){\nvar G__21741 \x3d cljs.core.first(seq21740);\nvar seq21740__$1 \x3d cljs.core.next(seq21740);\nvar G__21742 \x3d cljs.core.first(seq21740__$1);\nvar seq21740__$2 \x3d cljs.core.next(seq21740__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21741,G__21742,seq21740__$2);\n}));\n\nshadow.object.return_value \x3d (function shadow$object$return_value(oref,return_value){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360),return_value], 0));\n});\nshadow.object.set_parent_BANG_ \x3d (function shadow$object$set_parent_BANG_(child,parent){\nvar child_id \x3d shadow.object._id(child);\nvar parent_id \x3d shadow.object._id(parent);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));\n}));\n\nreturn true;\n});\nshadow.object.dom_destroy \x3d (function shadow$object$dom_destroy(this$,cause){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779))){\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nvar temp__5802__auto__ \x3d shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword(\x22dom\x22,\x22remove\x22,\x22dom/remove\x22,-131527420));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar custom_remove \x3d temp__5802__auto__;\nvar G__21748 \x3d this$;\nvar G__21749 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$);\nreturn (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__21748,G__21749) : custom_remove.call(null,G__21748,G__21749));\n} else {\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n}\n}\n});\nshadow.object.destroy_BANG_ \x3d (function shadow$object$destroy_BANG_(var_args){\nvar G__21752 \x3d arguments.length;\nswitch (G__21752) {\ncase 1:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,\x22direct\x22,\x22direct\x22,-1775717856));\n}));\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,cause){\nreturn shadow.object._destroy_BANG_(oref,cause);\n}));\n\n(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.bind_dom_events \x3d (function shadow$object$bind_dom_events(oref,dom,dom_events){\nif((cljs.core.rem(cljs.core.count(dom_events),(2)) \x3d\x3d\x3d (0))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object defined invalid event\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22object-type\x22,\x22object-type\x22,-1889869015),shadow.object._type(oref),new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527),dom_events], null));\n}\n\nvar seq__21758 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));\nvar chunk__21759 \x3d null;\nvar count__21760 \x3d (0);\nvar i__21761 \x3d (0);\nwhile(true){\nif((i__21761 \x3c count__21760)){\nvar vec__21776 \x3d chunk__21759.cljs$core$IIndexed$_nth$arity$2(null,i__21761);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21776,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21776,(1),null);\nvar ev_def \x3d vec__21776;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_22218__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__21758,chunk__21759,count__21760,i__21761,vec__21776,ev,handler,ev_def){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__21758,chunk__21759,count__21760,i__21761,vec__21776,ev,handler,ev_def))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__21758,chunk__21759,count__21760,i__21761,handler_22218__$1,vec__21776,ev,handler,ev_def){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_22218__$1.cljs$core$IFn$_invoke$arity$3 ? handler_22218__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_22218__$1.call(null,oref,e,el));\n});})(seq__21758,chunk__21759,count__21760,i__21761,handler_22218__$1,vec__21776,ev,handler,ev_def))\n);\n\n\nvar G__22219 \x3d seq__21758;\nvar G__22220 \x3d chunk__21759;\nvar G__22221 \x3d count__21760;\nvar G__22222 \x3d (i__21761 + (1));\nseq__21758 \x3d G__22219;\nchunk__21759 \x3d G__22220;\ncount__21760 \x3d G__22221;\ni__21761 \x3d G__22222;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21758);\nif(temp__5804__auto__){\nvar seq__21758__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21758__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21758__$1);\nvar G__22223 \x3d cljs.core.chunk_rest(seq__21758__$1);\nvar G__22224 \x3d c__5568__auto__;\nvar G__22225 \x3d cljs.core.count(c__5568__auto__);\nvar G__22226 \x3d (0);\nseq__21758 \x3d G__22223;\nchunk__21759 \x3d G__22224;\ncount__21760 \x3d G__22225;\ni__21761 \x3d G__22226;\ncontinue;\n} else {\nvar vec__21780 \x3d cljs.core.first(seq__21758__$1);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21780,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21780,(1),null);\nvar ev_def \x3d vec__21780;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_22228__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__21758,chunk__21759,count__21760,i__21761,vec__21780,ev,handler,ev_def,seq__21758__$1,temp__5804__auto__){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__21758,chunk__21759,count__21760,i__21761,vec__21780,ev,handler,ev_def,seq__21758__$1,temp__5804__auto__))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__21758,chunk__21759,count__21760,i__21761,handler_22228__$1,vec__21780,ev,handler,ev_def,seq__21758__$1,temp__5804__auto__){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_22228__$1.cljs$core$IFn$_invoke$arity$3 ? handler_22228__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_22228__$1.call(null,oref,e,el));\n});})(seq__21758,chunk__21759,count__21760,i__21761,handler_22228__$1,vec__21780,ev,handler,ev_def,seq__21758__$1,temp__5804__auto__))\n);\n\n\nvar G__22229 \x3d cljs.core.next(seq__21758__$1);\nvar G__22230 \x3d null;\nvar G__22231 \x3d (0);\nvar G__22232 \x3d (0);\nseq__21758 \x3d G__22229;\nchunk__21759 \x3d G__22230;\ncount__21760 \x3d G__22231;\ni__21761 \x3d G__22232;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.reaction_merge \x3d (function shadow$object$reaction_merge(result,p__21786){\nvar vec__21787 \x3d p__21786;\nvar event \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21787,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21787,(1),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d event;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid reaction\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22event\x22,\x22event\x22,301435442),event,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),handler], null));\n}\n\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));\n});\nshadow.object.merge_reactions \x3d (function shadow$object$merge_reactions(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behaviors must be vectors\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(behavior))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid behavior\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));\n});\nshadow.object.merge_behaviors \x3d (function shadow$object$merge_behaviors(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,behavior);\n} else {\nif(cljs.core.map_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277)], null),(function (watches){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));\n})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527)], null),(function (default$){\nreturn cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));\n}));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behavior not understood\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n\n}\n}\n});\nshadow.object.define \x3d (function shadow$object$define(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22234 \x3d arguments.length;\nvar i__5770__auto___22235 \x3d (0);\nwhile(true){\nif((i__5770__auto___22235 \x3c len__5769__auto___22234)){\nargs__5775__auto__.push((arguments[i__5770__auto___22235]));\n\nvar G__22236 \x3d (i__5770__auto___22235 + (1));\ni__5770__auto___22235 \x3d G__22236;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic \x3d (function (id,args){\nif((id instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object id needs to be a keyword\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(args))){\n} else {\nthrow [\x22invalid object definition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),\x22 args: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join(\x27\x27);\n}\n\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){\nconsole.warn([\x22object already defined \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(\x27\x27));\n} else {\n}\n\ntry{var odef \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);\nvar reactions \x3d shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));\nvar odef__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22id\x22,\x22shadow.object/id\x22,-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),reactions], 0));\nvar odef__$2 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,\x22behaviors\x22,\x22behaviors\x22,120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);\n\nreturn odef__$2;\n}catch (e21805){if((e21805 instanceof Object)){\nvar e \x3d e21805;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to define object\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\nthrow e21805;\n\n}\n}}));\n\n(shadow.object.define.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.object.define.cljs$lang$applyTo \x3d (function (seq21798){\nvar G__21800 \x3d cljs.core.first(seq21798);\nvar seq21798__$1 \x3d cljs.core.next(seq21798);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21800,seq21798__$1);\n}));\n\nshadow.object.merge_defaults \x3d (function shadow$object$merge_defaults(data,type){\nvar defaults \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214)], null));\nif((defaults \x3d\x3d null)){\nreturn data;\n} else {\nif(cljs.core.map_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));\n} else {\nif(cljs.core.fn_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid object defaults\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214),defaults,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type], null));\n\n}\n}\n}\n});\nshadow.object.make_dom \x3d (function shadow$object$make_dom(var_args){\nvar G__21811 \x3d arguments.length;\nswitch (G__21811) {\ncase 3:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,dom_key,events_key){\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);\n}));\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,dom_key,events_key,value){\nvar dom_fn \x3d (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);\nvar events \x3d (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);\nvar dom \x3d (function (){var G__21812 \x3d (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__21812) : shadow.dom.build.call(null,G__21812));\n})();\nshadow.object.bind_dom_events(oref,dom,events);\n\nreturn dom;\n}));\n\n(shadow.object.make_dom.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.alive_QMARK_ \x3d (function shadow$object$alive_QMARK_(obj){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.Watch \x3d (function (key,handler,__meta,__extmap,__hash){\nthis.key \x3d key;\nthis.handler \x3d handler;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k21814,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__21820 \x3d k21814;\nvar G__21820__$1 \x3d (((G__21820 instanceof cljs.core.Keyword))?G__21820.fqn:null);\nswitch (G__21820__$1) {\ncase \x22key\x22:\nreturn self__.key;\n\nbreak;\ncase \x22handler\x22:\nreturn self__.handler;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k21814,else__5346__auto__);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__21821){\nvar vec__21822 \x3d p__21821;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21822,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21822,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.object.Watch{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler],null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__21813){\nvar self__ \x3d this;\nvar G__21813__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__21813__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-17677043 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this21815,other21816){\nvar self__ \x3d this;\nvar this21815__$1 \x3d this;\nreturn (((!((other21816 \x3d\x3d null)))) \x26\x26 ((((this21815__$1.constructor \x3d\x3d\x3d other21816.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21815__$1.key,other21816.key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21815__$1.handler,other21816.handler)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21815__$1.__extmap,other21816.__extmap)))))))));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k21814){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__21834 \x3d k21814;\nvar G__21834__$1 \x3d (((G__21834 instanceof cljs.core.Keyword))?G__21834.fqn:null);\nswitch (G__21834__$1) {\ncase \x22key\x22:\ncase \x22handler\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k21814);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__21813){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__21838 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__21839 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__21838.cljs$core$IFn$_invoke$arity$2 ? pred__21838.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__21839) : pred__21838.call(null,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__21839)))){\nreturn (new shadow.object.Watch(G__21813,self__.handler,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21838.cljs$core$IFn$_invoke$arity$2 ? pred__21838.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__21839) : pred__21838.call(null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__21839)))){\nreturn (new shadow.object.Watch(self__.key,G__21813,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__21813),null));\n}\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler,null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__21813){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,G__21813,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.object.Watch.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null)], null);\n}));\n\n(shadow.object.Watch.cljs$lang$type \x3d true);\n\n(shadow.object.Watch.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.object/Watch\x22,null,(1),null));\n}));\n\n(shadow.object.Watch.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.object/Watch\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/Watch.\n */\nshadow.object.__GT_Watch \x3d (function shadow$object$__GT_Watch(key,handler){\nreturn (new shadow.object.Watch(key,handler,null,null,null));\n});\n\n/**\n * Factory function for shadow.object/Watch, taking a map of keywords to field values.\n */\nshadow.object.map__GT_Watch \x3d (function shadow$object$map__GT_Watch(G__21817){\nvar extmap__5385__auto__ \x3d (function (){var G__21848 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__21817,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], 0));\nif(cljs.core.record_QMARK_(G__21817)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__21848);\n} else {\nreturn G__21848;\n}\n})();\nreturn (new shadow.object.Watch(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(G__21817),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612).cljs$core$IFn$_invoke$arity$1(G__21817),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IEquiv}\n * @implements {shadow.object.IObject}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {shadow.dom.SVGElement}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.ObjectRef \x3d (function (id,type,data,watches,result_chan){\nthis.id \x3d id;\nthis.type \x3d type;\nthis.data \x3d data;\nthis.watches \x3d watches;\nthis.result_chan \x3d result_chan;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);\n}));\n\n(shadow.object.ObjectRef.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,k,d){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,writer,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#\x3cObjectRef {:id \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),\x22, :type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),\x22}\x3e\x22].join(\x27\x27));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof shadow.object.ObjectRef)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthrow (new Error(\x22who be calling?\x22));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__21862_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(p1__21862_SHARP_));\n}),self__.watches));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.type;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 \x3d (function (this$,update_fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old \x3d self__.data;\nvar new$ \x3d (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));\n(self__.data \x3d new$);\n\nvar seq__21903 \x3d cljs.core.seq(self__.watches);\nvar chunk__21904 \x3d null;\nvar count__21905 \x3d (0);\nvar i__21906 \x3d (0);\nwhile(true){\nif((i__21906 \x3c count__21905)){\nvar map__21909 \x3d chunk__21904.cljs$core$IIndexed$_nth$arity$2(null,i__21906);\nvar map__21909__$1 \x3d cljs.core.__destructure_map(map__21909);\nvar watch \x3d map__21909__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21909__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21909__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__22247 \x3d seq__21903;\nvar G__22248 \x3d chunk__21904;\nvar G__22249 \x3d count__21905;\nvar G__22250 \x3d (i__21906 + (1));\nseq__21903 \x3d G__22247;\nchunk__21904 \x3d G__22248;\ncount__21905 \x3d G__22249;\ni__21906 \x3d G__22250;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21903);\nif(temp__5804__auto__){\nvar seq__21903__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21903__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21903__$1);\nvar G__22251 \x3d cljs.core.chunk_rest(seq__21903__$1);\nvar G__22252 \x3d c__5568__auto__;\nvar G__22253 \x3d cljs.core.count(c__5568__auto__);\nvar G__22254 \x3d (0);\nseq__21903 \x3d G__22251;\nchunk__21904 \x3d G__22252;\ncount__21905 \x3d G__22253;\ni__21906 \x3d G__22254;\ncontinue;\n} else {\nvar map__21910 \x3d cljs.core.first(seq__21903__$1);\nvar map__21910__$1 \x3d cljs.core.__destructure_map(map__21910);\nvar watch \x3d map__21910__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21910__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21910__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__22255 \x3d cljs.core.next(seq__21903__$1);\nvar G__22256 \x3d null;\nvar G__22257 \x3d (0);\nvar G__22258 \x3d (0);\nseq__21903 \x3d G__22255;\nchunk__21904 \x3d G__22256;\ncount__21905 \x3d G__22257;\ni__21906 \x3d G__22258;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d (function (this$,cause){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar parent_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);\nvar seq__21911_22259 \x3d cljs.core.seq(shadow.object.get_children(this$__$1));\nvar chunk__21912_22260 \x3d null;\nvar count__21913_22261 \x3d (0);\nvar i__21914_22262 \x3d (0);\nwhile(true){\nif((i__21914_22262 \x3c count__21913_22261)){\nvar child_22263 \x3d chunk__21912_22260.cljs$core$IIndexed$_nth$arity$2(null,i__21914_22262);\nshadow.object._destroy_BANG_(child_22263,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__22264 \x3d seq__21911_22259;\nvar G__22265 \x3d chunk__21912_22260;\nvar G__22266 \x3d count__21913_22261;\nvar G__22267 \x3d (i__21914_22262 + (1));\nseq__21911_22259 \x3d G__22264;\nchunk__21912_22260 \x3d G__22265;\ncount__21913_22261 \x3d G__22266;\ni__21914_22262 \x3d G__22267;\ncontinue;\n} else {\nvar temp__5804__auto___22268 \x3d cljs.core.seq(seq__21911_22259);\nif(temp__5804__auto___22268){\nvar seq__21911_22271__$1 \x3d temp__5804__auto___22268;\nif(cljs.core.chunked_seq_QMARK_(seq__21911_22271__$1)){\nvar c__5568__auto___22272 \x3d cljs.core.chunk_first(seq__21911_22271__$1);\nvar G__22273 \x3d cljs.core.chunk_rest(seq__21911_22271__$1);\nvar G__22274 \x3d c__5568__auto___22272;\nvar G__22275 \x3d cljs.core.count(c__5568__auto___22272);\nvar G__22276 \x3d (0);\nseq__21911_22259 \x3d G__22273;\nchunk__21912_22260 \x3d G__22274;\ncount__21913_22261 \x3d G__22275;\ni__21914_22262 \x3d G__22276;\ncontinue;\n} else {\nvar child_22277 \x3d cljs.core.first(seq__21911_22271__$1);\nshadow.object._destroy_BANG_(child_22277,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__22278 \x3d cljs.core.next(seq__21911_22271__$1);\nvar G__22279 \x3d null;\nvar G__22280 \x3d (0);\nvar G__22281 \x3d (0);\nseq__21911_22259 \x3d G__22278;\nchunk__21912_22260 \x3d G__22279;\ncount__21913_22261 \x3d G__22280;\ni__21914_22262 \x3d G__22281;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));\n\nshadow.object.dom_destroy(this$__$1,cause);\n\nvar return_value_22283 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);\nif((return_value_22283 \x3d\x3d null)){\n} else {\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_22283);\n}\n\ncljs.core.async.close_BANG_(self__.result_chan);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);\n\nif(cljs.core.truth_(parent_id)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22result-chan\x22,\x22result-chan\x22,3070926,null)], null);\n}));\n\n(shadow.object.ObjectRef.cljs$lang$type \x3d true);\n\n(shadow.object.ObjectRef.cljs$lang$ctorStr \x3d \x22shadow.object/ObjectRef\x22);\n\n(shadow.object.ObjectRef.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.object/ObjectRef\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/ObjectRef.\n */\nshadow.object.__GT_ObjectRef \x3d (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){\nreturn (new shadow.object.ObjectRef(id,type,data,watches,result_chan));\n});\n\nshadow.object.add_reaction_BANG_ \x3d (function shadow$object$add_reaction_BANG_(var_args){\nvar G__21918 \x3d arguments.length;\nswitch (G__21918) {\ncase 3:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,ev,handler_fn){\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,list){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,list], 0));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.bind_change \x3d (function shadow$object$bind_change(var_args){\nvar G__21920 \x3d arguments.length;\nswitch (G__21920) {\ncase 3:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,callback){\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind-change\x22));\n}));\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,attr,callback,watch_key){\nif((((!((oref \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22binding currently only supports shadow objects, other atoms might leak, may add later\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref,new cljs.core.Keyword(null,\x22attr\x22,\x22attr\x22,-604132353),attr], null));\n}\n\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nreturn cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){\nvar ov \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);\nvar nv \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){\nreturn null;\n} else {\nreturn (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));\n}\n}));\n}));\n\n(shadow.object.bind_change.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.dom_enter \x3d (function shadow$object$dom_enter(parent,child){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);\n\nif(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){\nreturn shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n} else {\nreturn null;\n}\n});\nshadow.object.create \x3d (function shadow$object$create(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22307 \x3d arguments.length;\nvar i__5770__auto___22308 \x3d (0);\nwhile(true){\nif((i__5770__auto___22308 \x3c len__5769__auto___22307)){\nargs__5775__auto__.push((arguments[i__5770__auto___22308]));\n\nvar G__22309 \x3d (i__5770__auto___22308 + (1));\ni__5770__auto___22308 \x3d G__22309;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,args,node_children){\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22cannot create unknown child type: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.map_QMARK_(args)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22so/create second arg must be a map\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nvar oid \x3d shadow.object.next_id();\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(args);\nvar result_chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar odef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);\nvar obj \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword(\x22shadow.object\x22,\x22object-id\x22,\x22shadow.object/object-id\x22,-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922)], 0));\nvar oref \x3d (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);\n\nif(cljs.core.truth_(parent)){\nshadow.object.set_parent_BANG_(oref,parent);\n} else {\n}\n\nshadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434));\n\nvar dom_events_22312 \x3d new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);\nvar temp__5802__auto___22313 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(args);\nif(cljs.core.truth_(temp__5802__auto___22313)){\nvar dom_22314 \x3d temp__5802__auto___22313;\nshadow.dom.set_data(dom_22314,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.bind_dom_events(oref,dom_22314,dom_events_22312);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_22314], 0));\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_22314], 0));\n} else {\nvar temp__5804__auto___22315 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___22315)){\nvar dom_fn_22316 \x3d temp__5804__auto___22315;\nvar dom_22317 \x3d (function (){var G__21934 \x3d (dom_fn_22316.cljs$core$IFn$_invoke$arity$2 ? dom_fn_22316.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_22316.call(null,oref,node_children));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__21934) : shadow.dom.build.call(null,G__21934));\n})();\nshadow.dom.set_data(dom_22317,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_22317], 0));\n\nshadow.object.bind_dom_events(oref,dom_22317,dom_events_22312);\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_22317], 0));\n} else {\n}\n}\n\nvar temp__5804__auto___22318 \x3d new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___22318)){\nvar watches_22319 \x3d temp__5804__auto___22318;\nvar seq__21947_22320 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_22319));\nvar chunk__21948_22321 \x3d null;\nvar count__21949_22322 \x3d (0);\nvar i__21950_22323 \x3d (0);\nwhile(true){\nif((i__21950_22323 \x3c count__21949_22322)){\nvar vec__21968_22324 \x3d chunk__21948_22321.cljs$core$IIndexed$_nth$arity$2(null,i__21950_22323);\nvar attr_22325 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21968_22324,(0),null);\nvar handler_22326 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21968_22324,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_22325,((function (seq__21947_22320,chunk__21948_22321,count__21949_22322,i__21950_22323,vec__21968_22324,attr_22325,handler_22326,watches_22319,temp__5804__auto___22318,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_22326.cljs$core$IFn$_invoke$arity$3 ? handler_22326.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_22326.call(null,oref,old,new$));\n});})(seq__21947_22320,chunk__21948_22321,count__21949_22322,i__21950_22323,vec__21968_22324,attr_22325,handler_22326,watches_22319,temp__5804__auto___22318,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__22330 \x3d seq__21947_22320;\nvar G__22331 \x3d chunk__21948_22321;\nvar G__22332 \x3d count__21949_22322;\nvar G__22333 \x3d (i__21950_22323 + (1));\nseq__21947_22320 \x3d G__22330;\nchunk__21948_22321 \x3d G__22331;\ncount__21949_22322 \x3d G__22332;\ni__21950_22323 \x3d G__22333;\ncontinue;\n} else {\nvar temp__5804__auto___22334__$1 \x3d cljs.core.seq(seq__21947_22320);\nif(temp__5804__auto___22334__$1){\nvar seq__21947_22335__$1 \x3d temp__5804__auto___22334__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21947_22335__$1)){\nvar c__5568__auto___22336 \x3d cljs.core.chunk_first(seq__21947_22335__$1);\nvar G__22337 \x3d cljs.core.chunk_rest(seq__21947_22335__$1);\nvar G__22338 \x3d c__5568__auto___22336;\nvar G__22339 \x3d cljs.core.count(c__5568__auto___22336);\nvar G__22340 \x3d (0);\nseq__21947_22320 \x3d G__22337;\nchunk__21948_22321 \x3d G__22338;\ncount__21949_22322 \x3d G__22339;\ni__21950_22323 \x3d G__22340;\ncontinue;\n} else {\nvar vec__21988_22341 \x3d cljs.core.first(seq__21947_22335__$1);\nvar attr_22342 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21988_22341,(0),null);\nvar handler_22343 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21988_22341,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_22342,((function (seq__21947_22320,chunk__21948_22321,count__21949_22322,i__21950_22323,vec__21988_22341,attr_22342,handler_22343,seq__21947_22335__$1,temp__5804__auto___22334__$1,watches_22319,temp__5804__auto___22318,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_22343.cljs$core$IFn$_invoke$arity$3 ? handler_22343.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_22343.call(null,oref,old,new$));\n});})(seq__21947_22320,chunk__21948_22321,count__21949_22322,i__21950_22323,vec__21988_22341,attr_22342,handler_22343,seq__21947_22335__$1,temp__5804__auto___22334__$1,watches_22319,temp__5804__auto___22318,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__22344 \x3d cljs.core.next(seq__21947_22335__$1);\nvar G__22345 \x3d null;\nvar G__22346 \x3d (0);\nvar G__22347 \x3d (0);\nseq__21947_22320 \x3d G__22344;\nchunk__21948_22321 \x3d G__22345;\ncount__21949_22322 \x3d G__22346;\ni__21950_22323 \x3d G__22347;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn oref;\n}));\n\n(shadow.object.create.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.create.cljs$lang$applyTo \x3d (function (seq21926){\nvar G__21927 \x3d cljs.core.first(seq21926);\nvar seq21926__$1 \x3d cljs.core.next(seq21926);\nvar G__21928 \x3d cljs.core.first(seq21926__$1);\nvar seq21926__$2 \x3d cljs.core.next(seq21926__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21927,G__21928,seq21926__$2);\n}));\n\n/**\n * [oref attr node-gen] produces a node via (node-gen new-value)\n * watches obj for changes and replaces the generated node on change (node-gen defaults to str)\n * \n * only use if the node has no attached behavior like clicks, use bind with an extra object for those\n */\nshadow.object.bind_simple \x3d (function shadow$object$bind_simple(var_args){\nvar G__21993 \x3d arguments.length;\nswitch (G__21993) {\ncase 2:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,attr){\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);\n}));\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,node_gen){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar node_get \x3d (function (p1__21991_SHARP_){\nvar G__22015 \x3d (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__21991_SHARP_) : node_gen.call(null,p1__21991_SHARP_));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__22015) : shadow.dom.build.call(null,G__22015));\n});\nvar node \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));\nvar bind_key \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind\x22);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_node \x3d node_get(new$);\nvar current_node \x3d cljs.core.deref(node);\nshadow.dom.replace_node(current_node,new_node);\n\nreturn cljs.core.reset_BANG_(node,new_node);\n}));\n\nreturn cljs.core.deref(node);\n}));\n\n(shadow.object.bind_simple.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * bind the given attribute a child item\n * the item will be recreated whenever the value changes (old one will be destroyed)\n */\nshadow.object.bind \x3d (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar curval \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);\nvar make_child_fn \x3d (function (value){\nreturn shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),oref,item_key,value])], 0)));\n});\nvar child \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_child \x3d make_child_fn(new$);\nvar current_node \x3d cljs.core.deref(child);\nshadow.dom.replace_node(current_node,new_child);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));\n\ncljs.core.reset_BANG_(child,new_child);\n\nreturn (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)));\n}));\n\nreturn cljs.core.deref(child);\n});\nshadow.object.coll_destroy_children \x3d (function shadow$object$coll_destroy_children(children,c,diff){\nvar seq__22032_22359 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));\nvar chunk__22033_22360 \x3d null;\nvar count__22034_22361 \x3d (0);\nvar i__22035_22362 \x3d (0);\nwhile(true){\nif((i__22035_22362 \x3c count__22034_22361)){\nvar obj_22363 \x3d chunk__22033_22360.cljs$core$IIndexed$_nth$arity$2(null,i__22035_22362);\nvar obj_22364__$1 \x3d shadow.object.get_from_dom(obj_22363);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_22364__$1);\n\n\nvar G__22365 \x3d seq__22032_22359;\nvar G__22366 \x3d chunk__22033_22360;\nvar G__22367 \x3d count__22034_22361;\nvar G__22368 \x3d (i__22035_22362 + (1));\nseq__22032_22359 \x3d G__22365;\nchunk__22033_22360 \x3d G__22366;\ncount__22034_22361 \x3d G__22367;\ni__22035_22362 \x3d G__22368;\ncontinue;\n} else {\nvar temp__5804__auto___22369 \x3d cljs.core.seq(seq__22032_22359);\nif(temp__5804__auto___22369){\nvar seq__22032_22370__$1 \x3d temp__5804__auto___22369;\nif(cljs.core.chunked_seq_QMARK_(seq__22032_22370__$1)){\nvar c__5568__auto___22371 \x3d cljs.core.chunk_first(seq__22032_22370__$1);\nvar G__22372 \x3d cljs.core.chunk_rest(seq__22032_22370__$1);\nvar G__22373 \x3d c__5568__auto___22371;\nvar G__22374 \x3d cljs.core.count(c__5568__auto___22371);\nvar G__22375 \x3d (0);\nseq__22032_22359 \x3d G__22372;\nchunk__22033_22360 \x3d G__22373;\ncount__22034_22361 \x3d G__22374;\ni__22035_22362 \x3d G__22375;\ncontinue;\n} else {\nvar obj_22376 \x3d cljs.core.first(seq__22032_22370__$1);\nvar obj_22377__$1 \x3d shadow.object.get_from_dom(obj_22376);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_22377__$1);\n\n\nvar G__22378 \x3d cljs.core.next(seq__22032_22370__$1);\nvar G__22379 \x3d null;\nvar G__22380 \x3d (0);\nvar G__22381 \x3d (0);\nseq__22032_22359 \x3d G__22378;\nchunk__22033_22360 \x3d G__22379;\ncount__22034_22361 \x3d G__22380;\ni__22035_22362 \x3d G__22381;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));\n});\nshadow.object.bind_children \x3d (function shadow$object$bind_children(var_args){\nvar G__22062 \x3d arguments.length;\nswitch (G__22062) {\ncase 5:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 \x3d (function (node,parent,attr,item_type,item_key){\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__22058_SHARP_){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__22058_SHARP_);\n}));\n}));\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 \x3d (function (node,parent,attr,item_type,item_key,coll_transform){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar update_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nvar coll_dom \x3d (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));\nvar make_item_fn \x3d (function (p__22067){\nvar vec__22068 \x3d p__22067;\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22068,(0),null);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22068,(1),null);\nvar obj \x3d shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),parent,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048),attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616),key,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366),item_key,item_key,val]));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){\nvar parent_key \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(obj));\n(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6(\x22direct child update\x22,parent,obj,key,parent_key,new$) : shadow.object.log.call(null,\x22direct child update\x22,parent,obj,key,parent_key,new$));\n\ncljs.core.reset_BANG_(update_children,false);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));\n\nreturn cljs.core.reset_BANG_(update_children,true);\n}));\n\nreturn obj;\n});\nvar seq__22071_22389 \x3d cljs.core.seq((function (){var G__22077 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);\nreturn (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__22077) : coll_transform.call(null,G__22077));\n})());\nvar chunk__22072_22390 \x3d null;\nvar count__22073_22391 \x3d (0);\nvar i__22074_22392 \x3d (0);\nwhile(true){\nif((i__22074_22392 \x3c count__22073_22391)){\nvar item_22393 \x3d chunk__22072_22390.cljs$core$IIndexed$_nth$arity$2(null,i__22074_22392);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_22393));\n\n\nvar G__22394 \x3d seq__22071_22389;\nvar G__22395 \x3d chunk__22072_22390;\nvar G__22396 \x3d count__22073_22391;\nvar G__22397 \x3d (i__22074_22392 + (1));\nseq__22071_22389 \x3d G__22394;\nchunk__22072_22390 \x3d G__22395;\ncount__22073_22391 \x3d G__22396;\ni__22074_22392 \x3d G__22397;\ncontinue;\n} else {\nvar temp__5804__auto___22398 \x3d cljs.core.seq(seq__22071_22389);\nif(temp__5804__auto___22398){\nvar seq__22071_22399__$1 \x3d temp__5804__auto___22398;\nif(cljs.core.chunked_seq_QMARK_(seq__22071_22399__$1)){\nvar c__5568__auto___22400 \x3d cljs.core.chunk_first(seq__22071_22399__$1);\nvar G__22401 \x3d cljs.core.chunk_rest(seq__22071_22399__$1);\nvar G__22402 \x3d c__5568__auto___22400;\nvar G__22403 \x3d cljs.core.count(c__5568__auto___22400);\nvar G__22404 \x3d (0);\nseq__22071_22389 \x3d G__22401;\nchunk__22072_22390 \x3d G__22402;\ncount__22073_22391 \x3d G__22403;\ni__22074_22392 \x3d G__22404;\ncontinue;\n} else {\nvar item_22405 \x3d cljs.core.first(seq__22071_22399__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_22405));\n\n\nvar G__22406 \x3d cljs.core.next(seq__22071_22399__$1);\nvar G__22407 \x3d null;\nvar G__22408 \x3d (0);\nvar G__22409 \x3d (0);\nseq__22071_22389 \x3d G__22406;\nchunk__22072_22390 \x3d G__22407;\ncount__22073_22391 \x3d G__22408;\ni__22074_22392 \x3d G__22409;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){\nif(cljs.core.truth_(cljs.core.deref(update_children))){\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));\nvar new_coll \x3d cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));\nvar count_children \x3d cljs.core.count(children);\nvar count_new \x3d cljs.core.count(new$);\nvar diff \x3d (count_new - count_children);\nvar children__$1 \x3d (((diff \x3c (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);\nvar count_children__$1 \x3d (function (){var x__5133__auto__ \x3d count_new;\nvar y__5134__auto__ \x3d count_children;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar n__5636__auto___22410 \x3d count_children__$1;\nvar idx_22411 \x3d (0);\nwhile(true){\nif((idx_22411 \x3c n__5636__auto___22410)){\nvar cn_22412 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_22411);\nvar cc_22413 \x3d shadow.object.get_from_dom(cn_22412);\nvar ckey_22414 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(cc_22413);\nvar cval_22415 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_22413,item_key);\nvar vec__22078_22416 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_22411);\nvar nkey_22417 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22078_22416,(0),null);\nvar nval_22418 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22078_22416,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_22414,nkey_22417)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_22415,nval_22418)))){\n} else {\nvar new_obj_22419 \x3d make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_22417,nval_22418], null));\nshadow.dom.replace_node(cn_22412,new_obj_22419);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_22413);\n\nshadow.object.notify_tree_BANG_(new_obj_22419,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n}\n\nvar G__22420 \x3d (idx_22411 + (1));\nidx_22411 \x3d G__22420;\ncontinue;\n} else {\n}\nbreak;\n}\n\nif((diff \x3e (0))){\nvar seq__22081_22422 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));\nvar chunk__22082_22423 \x3d null;\nvar count__22083_22424 \x3d (0);\nvar i__22084_22425 \x3d (0);\nwhile(true){\nif((i__22084_22425 \x3c count__22083_22424)){\nvar item_22426 \x3d chunk__22082_22423.cljs$core$IIndexed$_nth$arity$2(null,i__22084_22425);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_22426));\n\n\nvar G__22427 \x3d seq__22081_22422;\nvar G__22428 \x3d chunk__22082_22423;\nvar G__22429 \x3d count__22083_22424;\nvar G__22430 \x3d (i__22084_22425 + (1));\nseq__22081_22422 \x3d G__22427;\nchunk__22082_22423 \x3d G__22428;\ncount__22083_22424 \x3d G__22429;\ni__22084_22425 \x3d G__22430;\ncontinue;\n} else {\nvar temp__5804__auto___22432 \x3d cljs.core.seq(seq__22081_22422);\nif(temp__5804__auto___22432){\nvar seq__22081_22433__$1 \x3d temp__5804__auto___22432;\nif(cljs.core.chunked_seq_QMARK_(seq__22081_22433__$1)){\nvar c__5568__auto___22434 \x3d cljs.core.chunk_first(seq__22081_22433__$1);\nvar G__22435 \x3d cljs.core.chunk_rest(seq__22081_22433__$1);\nvar G__22436 \x3d c__5568__auto___22434;\nvar G__22437 \x3d cljs.core.count(c__5568__auto___22434);\nvar G__22438 \x3d (0);\nseq__22081_22422 \x3d G__22435;\nchunk__22082_22423 \x3d G__22436;\ncount__22083_22424 \x3d G__22437;\ni__22084_22425 \x3d G__22438;\ncontinue;\n} else {\nvar item_22439 \x3d cljs.core.first(seq__22081_22433__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_22439));\n\n\nvar G__22440 \x3d cljs.core.next(seq__22081_22433__$1);\nvar G__22441 \x3d null;\nvar G__22442 \x3d (0);\nvar G__22443 \x3d (0);\nseq__22081_22422 \x3d G__22440;\nchunk__22082_22423 \x3d G__22441;\ncount__22083_22424 \x3d G__22442;\ni__22084_22425 \x3d G__22443;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160));\n} else {\nreturn null;\n}\n}));\n\nreturn coll_dom;\n}));\n\n(shadow.object.bind_children.cljs$lang$maxFixedArity \x3d 6);\n\nshadow.object.remove_in_parent_BANG_ \x3d (function shadow$object$remove_in_parent_BANG_(oref){\nvar parent \x3d shadow.object.get_parent(oref);\nvar key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(oref);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref));\nvar path \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048).cljs$core$IFn$_invoke$arity$1(oref);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d key;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn path;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22remove-in-parent! should only be called from items created via so/bind-children\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nvar coll \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);\nvar new_coll \x3d shadow.util.remove_item_from_coll(coll,key,value);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword(\x22bind\x22,\x22update\x22,\x22bind/update\x22,1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));\n});\nshadow.object.inspect_BANG_ \x3d (function shadow$object$inspect_BANG_(oref){\nvar G__22091 \x3d \x22inspect!\x22;\nvar G__22092 \x3d shadow.object._id(oref);\nvar G__22093 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));\nvar G__22094 \x3d cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__22091,G__22092,G__22093,G__22094) : shadow.object.info.call(null,G__22091,G__22092,G__22093,G__22094));\n});\nshadow.object.dump_BANG_ \x3d (function shadow$object$dump_BANG_(){\n(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- LIVE OBJECTS ------------\x22));\n\nvar seq__22096_22450 \x3d cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));\nvar chunk__22097_22451 \x3d null;\nvar count__22098_22452 \x3d (0);\nvar i__22099_22453 \x3d (0);\nwhile(true){\nif((i__22099_22453 \x3c count__22098_22452)){\nvar vec__22119_22454 \x3d chunk__22097_22451.cljs$core$IIndexed$_nth$arity$2(null,i__22099_22453);\nvar id_22455 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22119_22454,(0),null);\nvar oref_22456 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22119_22454,(1),null);\nvar G__22125_22457 \x3d \x22dump\x22;\nvar G__22126_22458 \x3d id_22455;\nvar G__22127_22459 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_22456)], 0));\nvar G__22128_22460 \x3d cljs.core.deref(shadow.object._data(oref_22456));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__22125_22457,G__22126_22458,G__22127_22459,G__22128_22460) : shadow.object.info.call(null,G__22125_22457,G__22126_22458,G__22127_22459,G__22128_22460));\n\n\nvar G__22462 \x3d seq__22096_22450;\nvar G__22463 \x3d chunk__22097_22451;\nvar G__22464 \x3d count__22098_22452;\nvar G__22465 \x3d (i__22099_22453 + (1));\nseq__22096_22450 \x3d G__22462;\nchunk__22097_22451 \x3d G__22463;\ncount__22098_22452 \x3d G__22464;\ni__22099_22453 \x3d G__22465;\ncontinue;\n} else {\nvar temp__5804__auto___22466 \x3d cljs.core.seq(seq__22096_22450);\nif(temp__5804__auto___22466){\nvar seq__22096_22467__$1 \x3d temp__5804__auto___22466;\nif(cljs.core.chunked_seq_QMARK_(seq__22096_22467__$1)){\nvar c__5568__auto___22468 \x3d cljs.core.chunk_first(seq__22096_22467__$1);\nvar G__22469 \x3d cljs.core.chunk_rest(seq__22096_22467__$1);\nvar G__22470 \x3d c__5568__auto___22468;\nvar G__22471 \x3d cljs.core.count(c__5568__auto___22468);\nvar G__22472 \x3d (0);\nseq__22096_22450 \x3d G__22469;\nchunk__22097_22451 \x3d G__22470;\ncount__22098_22452 \x3d G__22471;\ni__22099_22453 \x3d G__22472;\ncontinue;\n} else {\nvar vec__22133_22473 \x3d cljs.core.first(seq__22096_22467__$1);\nvar id_22474 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22133_22473,(0),null);\nvar oref_22475 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22133_22473,(1),null);\nvar G__22136_22476 \x3d \x22dump\x22;\nvar G__22137_22477 \x3d id_22474;\nvar G__22138_22478 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_22475)], 0));\nvar G__22139_22479 \x3d cljs.core.deref(shadow.object._data(oref_22475));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__22136_22476,G__22137_22477,G__22138_22478,G__22139_22479) : shadow.object.info.call(null,G__22136_22476,G__22137_22477,G__22138_22478,G__22139_22479));\n\n\nvar G__22480 \x3d cljs.core.next(seq__22096_22467__$1);\nvar G__22481 \x3d null;\nvar G__22482 \x3d (0);\nvar G__22483 \x3d (0);\nseq__22096_22450 \x3d G__22480;\nchunk__22097_22451 \x3d G__22481;\ncount__22098_22452 \x3d G__22482;\ni__22099_22453 \x3d G__22483;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- //LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- //LIVE OBJECTS ------------\x22));\n});\ngoog.exportSymbol(\x27shadow.object.dump_BANG_\x27, shadow.object.dump_BANG_);\n"); +SHADOW_ENV.evalLoad("shadow.animate.js", true , "goog.provide(\x27shadow.animate\x27);\n\n/**\n * @interface\n */\nshadow.animate.Animation \x3d function(){};\n\nvar shadow$animate$Animation$_animate_from$dyn_22650 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-from\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr initial-value}\n */\nshadow.animate._animate_from \x3d (function shadow$animate$_animate_from(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_from$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_from$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_from$dyn_22650(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_to$dyn_22651 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_to[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_to[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-to\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_to \x3d (function shadow$animate$_animate_to(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_to$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_to$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_to$dyn_22651(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_toggles$dyn_22652 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_toggles[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_toggles[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-toggles\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_toggles \x3d (function shadow$animate$_animate_toggles(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_toggles$dyn_22652(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_timings$dyn_22653 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_timings[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_timings[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-timings\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr timing-function}\n */\nshadow.animate._animate_timings \x3d (function shadow$animate$_animate_timings(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_timings$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_timings$dyn_22653(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_delays$dyn_22654 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_delays[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_delays[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-delays\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr transition-delay}\n */\nshadow.animate._animate_delays \x3d (function shadow$animate$_animate_delays(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_delays$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_delays$dyn_22654(this$);\n}\n});\n\nshadow.animate.transition_string \x3d (function shadow$animate$transition_string(duration,adef){\nvar timings \x3d shadow.animate._animate_timings(adef);\nvar delays \x3d shadow.animate._animate_delays(adef);\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22, \x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__22211){\nvar vec__22213 \x3d p__22211;\nvar attr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22213,(0),null);\nvar timing \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22213,(1),null);\nreturn [cljs.core.name(attr),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),\x22ms\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d delay;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (delay \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn [\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),\x22ms\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27);\n}),timings));\n});\n\n/**\n * @interface\n */\nshadow.animate.IAnimator \x3d function(){};\n\nvar shadow$animate$IAnimator$get_duration$dyn_22655 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.get_duration[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.get_duration[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.get-duration\x22,animator);\n}\n}\n});\nshadow.animate.get_duration \x3d (function shadow$animate$get_duration(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$get_duration$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$get_duration$dyn_22655(animator);\n}\n});\n\nvar shadow$animate$IAnimator$init_BANG_$dyn_22656 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.init_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.init_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.init!\x22,animator);\n}\n}\n});\n/**\n * apply the initial values\n */\nshadow.animate.init_BANG_ \x3d (function shadow$animate$init_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$init_BANG_$dyn_22656(animator);\n}\n});\n\nvar shadow$animate$IAnimator$start_BANG_$dyn_22657 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.start_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.start_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.start!\x22,animator);\n}\n}\n});\n/**\n * start the animation, must return a channel that closes once the animation is done\n */\nshadow.animate.start_BANG_ \x3d (function shadow$animate$start_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$start_BANG_$dyn_22657(animator);\n}\n});\n\nvar shadow$animate$IAnimator$finish_BANG_$dyn_22658 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.finish_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.finish_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.finish!\x22,animator);\n}\n}\n});\n/**\n * cleanup\n */\nshadow.animate.finish_BANG_ \x3d (function shadow$animate$finish_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$finish_BANG_$dyn_22658(animator);\n}\n});\n\n\n/**\n* @constructor\n * @implements {shadow.animate.IAnimator}\n*/\nshadow.animate.Animator \x3d (function (duration,items){\nthis.duration \x3d duration;\nthis.items \x3d items;\n});\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.duration;\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__17408__auto__ \x3d (0);\nwhile(true){\nif((i__17408__auto__ \x3c n__5636__auto__)){\nvar map__22246_22659 \x3d (self__.items[i__17408__auto__]);\nvar map__22246_22660__$1 \x3d cljs.core.__destructure_map(map__22246_22659);\nvar el_22661 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22246_22660__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar from_22662 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22246_22660__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ngoog.style.setStyle(el_22661,from_22662);\n\nvar G__22663 \x3d (i__17408__auto__ + (1));\ni__17408__auto__ \x3d G__22663;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__17408__auto__ \x3d (0);\nwhile(true){\nif((i__17408__auto__ \x3c n__5636__auto__)){\nvar map__22282_22665 \x3d (self__.items[i__17408__auto__]);\nvar map__22282_22666__$1 \x3d cljs.core.__destructure_map(map__22282_22665);\nvar el_22667 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22282_22666__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar to_22668 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22282_22666__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007));\nvar transition_22669 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22282_22666__$1,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007));\n(to_22668[\x22transition\x22] \x3d transition_22669);\n\ngoog.style.setStyle(el_22667,to_22668);\n\nvar G__22670 \x3d (i__17408__auto__ + (1));\ni__17408__auto__ \x3d G__22670;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__17408__auto__ \x3d (0);\nwhile(true){\nif((i__17408__auto__ \x3c n__5636__auto__)){\nvar map__22291_22671 \x3d (self__.items[i__17408__auto__]);\nvar map__22291_22672__$1 \x3d cljs.core.__destructure_map(map__22291_22671);\nvar el_22673 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22291_22672__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar toggles_22674 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22291_22672__$1,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479));\n(toggles_22674[\x22transition\x22] \x3d null);\n\ngoog.style.setStyle(el_22673,toggles_22674);\n\nvar G__22675 \x3d (i__17408__auto__ + (1));\ni__17408__auto__ \x3d G__22675;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22duration\x22,\x22duration\x22,-1210334701,null),new cljs.core.Symbol(null,\x22items\x22,\x22items\x22,-1622480831,null)], null);\n}));\n\n(shadow.animate.Animator.cljs$lang$type \x3d true);\n\n(shadow.animate.Animator.cljs$lang$ctorStr \x3d \x22shadow.animate/Animator\x22);\n\n(shadow.animate.Animator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/Animator\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/Animator.\n */\nshadow.animate.__GT_Animator \x3d (function shadow$animate$__GT_Animator(duration,items){\nreturn (new shadow.animate.Animator(duration,items));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.animate.AnimationStep \x3d (function (el,from,to,toggles,transition,__meta,__extmap,__hash){\nthis.el \x3d el;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.toggles \x3d toggles;\nthis.transition \x3d transition;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k22300,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__22421 \x3d k22300;\nvar G__22421__$1 \x3d (((G__22421 instanceof cljs.core.Keyword))?G__22421.fqn:null);\nswitch (G__22421__$1) {\ncase \x22el\x22:\nreturn self__.el;\n\nbreak;\ncase \x22from\x22:\nreturn self__.from;\n\nbreak;\ncase \x22to\x22:\nreturn self__.to;\n\nbreak;\ncase \x22toggles\x22:\nreturn self__.toggles;\n\nbreak;\ncase \x22transition\x22:\nreturn self__.transition;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k22300,else__5346__auto__);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__22444){\nvar vec__22445 \x3d p__22444;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22445,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22445,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.animate.AnimationStep{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition],null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__22299){\nvar self__ \x3d this;\nvar G__22299__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__22299__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (630436239 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this22301,other22302){\nvar self__ \x3d this;\nvar this22301__$1 \x3d this;\nreturn (((!((other22302 \x3d\x3d null)))) \x26\x26 ((((this22301__$1.constructor \x3d\x3d\x3d other22302.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.el,other22302.el)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.from,other22302.from)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.to,other22302.to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.toggles,other22302.toggles)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.transition,other22302.transition)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22301__$1.__extmap,other22302.__extmap)))))))))))))));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k22300){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__22489 \x3d k22300;\nvar G__22489__$1 \x3d (((G__22489 instanceof cljs.core.Keyword))?G__22489.fqn:null);\nswitch (G__22489__$1) {\ncase \x22el\x22:\ncase \x22from\x22:\ncase \x22to\x22:\ncase \x22toggles\x22:\ncase \x22transition\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k22300);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__22299){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__22490 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__22491 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__22490.cljs$core$IFn$_invoke$arity$2 ? pred__22490.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__22491) : pred__22490.call(null,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__22491)))){\nreturn (new shadow.animate.AnimationStep(G__22299,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22490.cljs$core$IFn$_invoke$arity$2 ? pred__22490.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__22491) : pred__22490.call(null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__22491)))){\nreturn (new shadow.animate.AnimationStep(self__.el,G__22299,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22490.cljs$core$IFn$_invoke$arity$2 ? pred__22490.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__22491) : pred__22490.call(null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__22491)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,G__22299,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22490.cljs$core$IFn$_invoke$arity$2 ? pred__22490.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__22491) : pred__22490.call(null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__22491)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__22299,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22490.cljs$core$IFn$_invoke$arity$2 ? pred__22490.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__22491) : pred__22490.call(null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__22491)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__22299,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__22299),null));\n}\n}\n}\n}\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition,null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__22299){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__22299,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.animate.AnimationStep.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22el\x22,\x22el\x22,22330409,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22transition\x22,\x22transition\x22,-1888743762,null)], null);\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$type \x3d true);\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.animate/AnimationStep\x22,null,(1),null));\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.animate/AnimationStep\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/AnimationStep.\n */\nshadow.animate.__GT_AnimationStep \x3d (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){\nreturn (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));\n});\n\n/**\n * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.\n */\nshadow.animate.map__GT_AnimationStep \x3d (function shadow$animate$map__GT_AnimationStep(G__22349){\nvar extmap__5385__auto__ \x3d (function (){var G__22495 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__22349,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], 0));\nif(cljs.core.record_QMARK_(G__22349)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__22495);\n} else {\nreturn G__22495;\n}\n})();\nreturn (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118).cljs$core$IFn$_invoke$arity$1(G__22349),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044).cljs$core$IFn$_invoke$arity$1(G__22349),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(G__22349),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479).cljs$core$IFn$_invoke$arity$1(G__22349),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007).cljs$core$IFn$_invoke$arity$1(G__22349),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.animate.setup \x3d (function shadow$animate$setup(duration,elements){\nvar items \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$animate$setup_$_iter__22499(s__22500){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__22500__$1 \x3d s__22500;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__22500__$1);\nif(temp__5804__auto__){\nvar s__22500__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__22500__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__22500__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__22502 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__22501 \x3d (0);\nwhile(true){\nif((i__22501 \x3c size__5522__auto__)){\nvar vec__22503 \x3d cljs.core._nth(c__5521__auto__,i__22501);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22503,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22503,(1),null);\ncljs.core.chunk_append(b__22502,(function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n);\n\nvar G__22680 \x3d (i__22501 + (1));\ni__22501 \x3d G__22680;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22502),shadow$animate$setup_$_iter__22499(cljs.core.chunk_rest(s__22500__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22502),null);\n}\n} else {\nvar vec__22522 \x3d cljs.core.first(s__22500__$2);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22522,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22522,(1),null);\nreturn cljs.core.cons((function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n,shadow$animate$setup_$_iter__22499(cljs.core.rest(s__22500__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(elements);\n})());\nreturn (new shadow.animate.Animator(duration,items));\n});\nshadow.animate.continue_BANG_ \x3d (function shadow$animate$continue_BANG_(animator){\nshadow.animate.start_BANG_(animator);\n\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_22537){\nvar state_val_22538 \x3d (state_22537[(1)]);\nif((state_val_22538 \x3d\x3d\x3d (1))){\nvar inst_22531 \x3d shadow.animate.get_duration(animator);\nvar inst_22532 \x3d cljs.core.async.timeout(inst_22531);\nvar state_22537__$1 \x3d state_22537;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_22537__$1,(2),inst_22532);\n} else {\nif((state_val_22538 \x3d\x3d\x3d (2))){\nvar inst_22534 \x3d (state_22537[(2)]);\nvar inst_22535 \x3d shadow.animate.finish_BANG_(animator);\nvar state_22537__$1 \x3d (function (){var statearr_22539 \x3d state_22537;\n(statearr_22539[(7)] \x3d inst_22534);\n\n(statearr_22539[(8)] \x3d inst_22535);\n\nreturn statearr_22539;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_22537__$1,new cljs.core.Keyword(null,\x22done\x22,\x22done\x22,-889844188));\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$animate$continue_BANG__$_state_machine__17344__auto__ \x3d null;\nvar shadow$animate$continue_BANG__$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_22541 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_22541[(0)] \x3d shadow$animate$continue_BANG__$_state_machine__17344__auto__);\n\n(statearr_22541[(1)] \x3d (1));\n\nreturn statearr_22541;\n});\nvar shadow$animate$continue_BANG__$_state_machine__17344__auto____1 \x3d (function (state_22537){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_22537);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e22542){var ex__17347__auto__ \x3d e22542;\nvar statearr_22543_22696 \x3d state_22537;\n(statearr_22543_22696[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_22537[(4)]))){\nvar statearr_22544_22697 \x3d state_22537;\n(statearr_22544_22697[(1)] \x3d cljs.core.first((state_22537[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22698 \x3d state_22537;\nstate_22537 \x3d G__22698;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\nshadow$animate$continue_BANG__$_state_machine__17344__auto__ \x3d function(state_22537){\nswitch(arguments.length){\ncase 0:\nreturn shadow$animate$continue_BANG__$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn shadow$animate$continue_BANG__$_state_machine__17344__auto____1.call(this,state_22537);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$animate$continue_BANG__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$animate$continue_BANG__$_state_machine__17344__auto____0;\nshadow$animate$continue_BANG__$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$animate$continue_BANG__$_state_machine__17344__auto____1;\nreturn shadow$animate$continue_BANG__$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_22545 \x3d f__17495__auto__();\n(statearr_22545[(6)] \x3d c__17494__auto__);\n\nreturn statearr_22545;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n});\nshadow.animate.start \x3d (function shadow$animate$start(duration,elements){\nvar animator \x3d shadow.animate.setup(duration,elements);\nanimator.shadow$animate$IAnimator$init_BANG_$arity$1(null);\n\nreturn shadow.animate.continue_BANG_(animator);\n});\n/**\n * transition the given attr from -\x3e to using timing function and delay\n * timing defaults to ease, delay to 0\n */\nshadow.animate.transition \x3d (function shadow$animate$transition(var_args){\nvar G__22547 \x3d arguments.length;\nswitch (G__22547) {\ncase 3:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 \x3d (function (attr,from,to){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,\x22ease\x22,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 \x3d (function (attr,from,to,timing){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 \x3d (function (attr,from,to,timing,delay){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22548 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22548 \x3d (function (attr,from,to,timing,delay,meta22549){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta22549 \x3d meta22549;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22548.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22550,meta22549__$1){\nvar self__ \x3d this;\nvar _22550__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22548(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta22549__$1));\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22550){\nvar self__ \x3d this;\nvar _22550__$1 \x3d this;\nreturn self__.meta22549;\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate22548.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate22548.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta22549\x22,\x22meta22549\x22,-166715079,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22548.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22548.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22548\x22);\n\n(shadow.animate.t_shadow$animate22548.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22548\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22548.\n */\nshadow.animate.__GT_t_shadow$animate22548 \x3d (function shadow$animate$__GT_t_shadow$animate22548(attr__$1,from__$1,to__$1,timing__$1,delay__$1,meta22549){\nreturn (new shadow.animate.t_shadow$animate22548(attr__$1,from__$1,to__$1,timing__$1,delay__$1,meta22549));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22548(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.transition.cljs$lang$maxFixedArity \x3d 5);\n\nshadow.animate.toggle \x3d (function shadow$animate$toggle(attr,from,to){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22560 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22560 \x3d (function (attr,from,to,meta22561){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.meta22561 \x3d meta22561;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22560.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22562,meta22561__$1){\nvar self__ \x3d this;\nvar _22562__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22560(self__.attr,self__.from,self__.to,meta22561__$1));\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22562){\nvar self__ \x3d this;\nvar _22562__$1 \x3d this;\nreturn self__.meta22561;\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22560.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22560.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22meta22561\x22,\x22meta22561\x22,-2010027231,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22560.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22560.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22560\x22);\n\n(shadow.animate.t_shadow$animate22560.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22560\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22560.\n */\nshadow.animate.__GT_t_shadow$animate22560 \x3d (function shadow$animate$toggle_$___GT_t_shadow$animate22560(attr__$1,from__$1,to__$1,meta22561){\nreturn (new shadow.animate.t_shadow$animate22560(attr__$1,from__$1,to__$1,meta22561));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22560(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * set attr to value when the animation starts\n */\nshadow.animate.set_attr \x3d (function shadow$animate$set_attr(var_args){\nvar G__22572 \x3d arguments.length;\nswitch (G__22572) {\ncase 1:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 \x3d (function (attrs){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22576 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22576 \x3d (function (attrs,meta22577){\nthis.attrs \x3d attrs;\nthis.meta22577 \x3d meta22577;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22576.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22578,meta22577__$1){\nvar self__ \x3d this;\nvar _22578__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22576(self__.attrs,meta22577__$1));\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22578){\nvar self__ \x3d this;\nvar _22578__$1 \x3d this;\nreturn self__.meta22577;\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.attrs;\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22576.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22576.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta22577\x22,\x22meta22577\x22,861373060,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22576.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22576.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22576\x22);\n\n(shadow.animate.t_shadow$animate22576.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22576\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22576.\n */\nshadow.animate.__GT_t_shadow$animate22576 \x3d (function shadow$animate$__GT_t_shadow$animate22576(attrs__$1,meta22577){\nreturn (new shadow.animate.t_shadow$animate22576(attrs__$1,meta22577));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22576(attrs,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (attr,value){\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));\n}));\n\n(shadow.animate.set_attr.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * use to remove a given attribute style when the animation is finished\n * usually only needed to remove attributes we no longer need since they are probably\n * inherited and we only used for previous transitions\n */\nshadow.animate.delete_attr \x3d (function shadow$animate$delete_attr(attr){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22585 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22585 \x3d (function (attr,meta22586){\nthis.attr \x3d attr;\nthis.meta22586 \x3d meta22586;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22585.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22587,meta22586__$1){\nvar self__ \x3d this;\nvar _22587__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22585(self__.attr,meta22586__$1));\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22587){\nvar self__ \x3d this;\nvar _22587__$1 \x3d this;\nreturn self__.meta22586;\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22585.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22585.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22meta22586\x22,\x22meta22586\x22,-474771218,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22585.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22585.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22585\x22);\n\n(shadow.animate.t_shadow$animate22585.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22585\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22585.\n */\nshadow.animate.__GT_t_shadow$animate22585 \x3d (function shadow$animate$delete_attr_$___GT_t_shadow$animate22585(attr__$1,meta22586){\nreturn (new shadow.animate.t_shadow$animate22585(attr__$1,meta22586));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22585(attr,cljs.core.PersistentArrayMap.EMPTY));\n});\nshadow.animate.combine \x3d (function shadow$animate$combine(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22709 \x3d arguments.length;\nvar i__5770__auto___22710 \x3d (0);\nwhile(true){\nif((i__5770__auto___22710 \x3c len__5769__auto___22709)){\nargs__5775__auto__.push((arguments[i__5770__auto___22710]));\n\nvar G__22711 \x3d (i__5770__auto___22710 + (1));\ni__5770__auto___22710 \x3d G__22711;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic \x3d (function (transitions){\nvar to \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar from \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar toggles \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar timings \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar delays \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar transitions__$1 \x3d transitions;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(transitions__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar adef \x3d temp__5802__auto__;\nvar G__22713 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));\nvar G__22714 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));\nvar G__22715 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));\nvar G__22716 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));\nvar G__22717 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));\nvar G__22718 \x3d cljs.core.rest(transitions__$1);\nto \x3d G__22713;\nfrom \x3d G__22714;\ntoggles \x3d G__22715;\ntimings \x3d G__22716;\ndelays \x3d G__22717;\ntransitions__$1 \x3d G__22718;\ncontinue;\n} else {\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22624 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22624 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta22625){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta22625 \x3d meta22625;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22624.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_22626,meta22625__$1){\nvar self__ \x3d this;\nvar _22626__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22624(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta22625__$1));\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.cljs$core$IMeta$_meta$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_22626){\nvar self__ \x3d this;\nvar _22626__$1 \x3d this;\nreturn self__.meta22625;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.getBasis \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta22625\x22,\x22meta22625\x22,-2125609587,null)], null);\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n(shadow.animate.t_shadow$animate22624.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22624.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22624\x22);\n\n(shadow.animate.t_shadow$animate22624.cljs$lang$ctorPrWriter \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22624\x22);\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n);\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22624.\n */\nshadow.animate.__GT_t_shadow$animate22624 \x3d ((function (to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__){\nreturn (function shadow$animate$__GT_t_shadow$animate22624(transitions__$2,to__$1,from__$1,toggles__$1,timings__$1,delays__$1,temp__5802__auto____$1,meta22625){\nreturn (new shadow.animate.t_shadow$animate22624(transitions__$2,to__$1,from__$1,toggles__$1,timings__$1,delays__$1,temp__5802__auto____$1,meta22625));\n});})(to,from,toggles,timings,delays,transitions__$1,temp__5802__auto__))\n;\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22624(transitions__$1,to,from,toggles,timings,delays,temp__5802__auto__,cljs.core.PersistentArrayMap.EMPTY));\n}\nbreak;\n}\n}));\n\n(shadow.animate.combine.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.animate.combine.cljs$lang$applyTo \x3d (function (seq22603){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq22603));\n}));\n\nshadow.animate.fade_in \x3d (function shadow$animate$fade_in(var_args){\nvar G__22630 \x3d arguments.length;\nswitch (G__22630) {\ncase 0:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-in\x22);\n}));\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x220\x22,\x221\x22,timing_function);\n}));\n\n(shadow.animate.fade_in.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.fade_out \x3d (function shadow$animate$fade_out(var_args){\nvar G__22632 \x3d arguments.length;\nswitch (G__22632) {\ncase 0:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-out\x22);\n}));\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,timing_function);\n}));\n\n(shadow.animate.fade_out.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.vendor_prefix \x3d goog.dom.vendor.getVendorPrefix();\nshadow.animate.vendor_transform \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),\x22-transform\x22].join(\x27\x27));\nshadow.animate.translate_y \x3d (function shadow$animate$translate_y(var_args){\nvar G__22635 \x3d arguments.length;\nswitch (G__22635) {\ncase 3:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22638 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22638 \x3d (function (from,to,timing,delay,meta22639){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta22639 \x3d meta22639;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22638.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22640,meta22639__$1){\nvar self__ \x3d this;\nvar _22640__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22638(self__.from,self__.to,self__.timing,self__.delay,meta22639__$1));\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22640){\nvar self__ \x3d this;\nvar _22640__$1 \x3d this;\nreturn self__.meta22639;\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22638.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate22638.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta22639\x22,\x22meta22639\x22,-1921658083,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22638.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22638.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22638\x22);\n\n(shadow.animate.t_shadow$animate22638.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22638\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22638.\n */\nshadow.animate.__GT_t_shadow$animate22638 \x3d (function shadow$animate$__GT_t_shadow$animate22638(from__$1,to__$1,timing__$1,delay__$1,meta22639){\nreturn (new shadow.animate.t_shadow$animate22638(from__$1,to__$1,timing__$1,delay__$1,meta22639));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22638(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_y.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.animate.translate_x \x3d (function shadow$animate$translate_x(var_args){\nvar G__22645 \x3d arguments.length;\nswitch (G__22645) {\ncase 3:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.animate.t_shadow$animate22646 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate22646 \x3d (function (from,to,timing,delay,meta22647){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta22647 \x3d meta22647;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate22646.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22648,meta22647__$1){\nvar self__ \x3d this;\nvar _22648__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate22646(self__.from,self__.to,self__.timing,self__.delay,meta22647__$1));\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22648){\nvar self__ \x3d this;\nvar _22648__$1 \x3d this;\nreturn self__.meta22647;\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate22646.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate22646.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta22647\x22,\x22meta22647\x22,1178849333,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate22646.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate22646.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate22646\x22);\n\n(shadow.animate.t_shadow$animate22646.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate22646\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate22646.\n */\nshadow.animate.__GT_t_shadow$animate22646 \x3d (function shadow$animate$__GT_t_shadow$animate22646(from__$1,to__$1,timing__$1,delay__$1,meta22647){\nreturn (new shadow.animate.t_shadow$animate22646(from__$1,to__$1,timing__$1,delay__$1,meta22647));\n});\n\n}\n\nreturn (new shadow.animate.t_shadow$animate22646(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_x.cljs$lang$maxFixedArity \x3d 4);\n\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.util.js", true , "goog.provide(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22goog.object\x22);\ngoog.scope(function() {\n var util \x3d com.cognitect.transit.util, gobject \x3d goog.object;\n if (typeof Object.keys !\x3d \x22undefined\x22) {\n util.objectKeys \x3d function(obj) {\n return Object.keys(obj);\n };\n } else {\n util.objectKeys \x3d function(obj) {\n return gobject.getKeys(obj);\n };\n }\n if (typeof Array.isArray !\x3d \x22undefined\x22) {\n util.isArray \x3d function(obj) {\n return Array.isArray(obj);\n };\n } else {\n util.isArray \x3d function(obj) {\n return goog.typeOf(obj) \x3d\x3d\x3d \x22array\x22;\n };\n }\n util.chars \x3d \x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\x3d\x22;\n util.randInt \x3d function(ub) {\n return Math.round(Math.random() * ub);\n };\n util.randHex \x3d function() {\n return util.randInt(15).toString(16);\n };\n util.randomUUID \x3d function() {\n var rhex \x3d (8 | 3 \x26 util.randInt(14)).toString(16), ret \x3d util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + \x224\x22 + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + rhex + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \n util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex();\n return ret;\n };\n util.btoa \x3d function(input) {\n if (typeof btoa !\x3d \x22undefined\x22) {\n return btoa(input);\n } else {\n var str \x3d String(input);\n for (var block, charCode, idx \x3d 0, map \x3d util.chars, output \x3d \x22\x22; str.charAt(idx | 0) || (map \x3d \x22\\x3d\x22, idx % 1); output +\x3d map.charAt(63 \x26 block \x3e\x3e 8 - idx % 1 * 8)) {\n charCode \x3d str.charCodeAt(idx +\x3d 3 / 4);\n if (charCode \x3e 255) {\n throw new Error(\x22\x27btoa\x27 failed: The string to be encoded contains characters outside of the Latin1 range.\x22);\n }\n block \x3d block \x3c\x3c 8 | charCode;\n }\n return output;\n }\n };\n util.atob \x3d function(input) {\n if (typeof atob !\x3d \x22undefined\x22) {\n return atob(input);\n } else {\n var str \x3d String(input).replace(/\x3d+$/, \x22\x22);\n if (str.length % 4 \x3d\x3d 1) {\n throw new Error(\x22\x27atob\x27 failed: The string to be decoded is not correctly encoded.\x22);\n }\n for (var bc \x3d 0, bs, buffer, idx \x3d 0, output \x3d \x22\x22; buffer \x3d str.charAt(idx++); ~buffer \x26\x26 (bs \x3d bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output +\x3d String.fromCharCode(255 \x26 bs \x3e\x3e (-2 * bc \x26 6)) : 0) {\n buffer \x3d util.chars.indexOf(buffer);\n }\n return output;\n }\n };\n util.Uint8ToBase64 \x3d function(u8Arr) {\n var CHUNK_SIZE \x3d 32768, index \x3d 0, length \x3d u8Arr.length, result \x3d \x22\x22, slice \x3d null;\n while (index \x3c length) {\n slice \x3d u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));\n result +\x3d String.fromCharCode.apply(null, slice);\n index +\x3d CHUNK_SIZE;\n }\n return util.btoa(result);\n };\n util.Base64ToUint8 \x3d function(base64) {\n var binary_string \x3d util.atob(base64), len \x3d binary_string.length, bytes \x3d new Uint8Array(len);\n for (var i \x3d 0; i \x3c len; i++) {\n var ascii \x3d binary_string.charCodeAt(i);\n bytes[i] \x3d ascii;\n }\n return bytes;\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.delimiters.js", true , "goog.provide(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var delimiters \x3d com.cognitect.transit.delimiters;\n delimiters.ESC \x3d \x22~\x22;\n delimiters.TAG \x3d \x22#\x22;\n delimiters.SUB \x3d \x22^\x22;\n delimiters.RES \x3d \x22`\x22;\n delimiters.ESC_TAG \x3d \x22~#\x22;\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.caching.js", true , "goog.provide(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var caching \x3d com.cognitect.transit.caching, d \x3d com.cognitect.transit.delimiters;\n caching.MIN_SIZE_CACHEABLE \x3d 3;\n caching.BASE_CHAR_IDX \x3d 48;\n caching.CACHE_CODE_DIGITS \x3d 44;\n caching.MAX_CACHE_ENTRIES \x3d caching.CACHE_CODE_DIGITS * caching.CACHE_CODE_DIGITS;\n caching.MAX_CACHE_SIZE \x3d 4096;\n caching.isCacheable \x3d function(string, asMapKey) {\n if (string.length \x3e caching.MIN_SIZE_CACHEABLE) {\n if (asMapKey) {\n return true;\n } else {\n var c0 \x3d string.charAt(0), c1 \x3d string.charAt(1);\n if (c0 \x3d\x3d\x3d d.ESC) {\n return c1 \x3d\x3d\x3d \x22:\x22 || c1 \x3d\x3d\x3d \x22$\x22 || c1 \x3d\x3d\x3d \x22#\x22;\n } else {\n return false;\n }\n }\n } else {\n return false;\n }\n };\n caching.idxToCode \x3d function(idx) {\n var hi \x3d Math.floor(idx / caching.CACHE_CODE_DIGITS), lo \x3d idx % caching.CACHE_CODE_DIGITS, loc \x3d String.fromCharCode(lo + caching.BASE_CHAR_IDX);\n if (hi \x3d\x3d\x3d 0) {\n return d.SUB + loc;\n } else {\n return d.SUB + String.fromCharCode(hi + caching.BASE_CHAR_IDX) + loc;\n }\n };\n caching.WriteCache \x3d function() {\n this.idx \x3d 0;\n this.gen \x3d 0;\n this.cacheSize \x3d 0;\n this.cache \x3d {};\n };\n caching.WriteCache.prototype.write \x3d function(string, asMapKey) {\n if (caching.isCacheable(string, asMapKey)) {\n if (this.cacheSize \x3d\x3d\x3d caching.MAX_CACHE_SIZE) {\n this.clear();\n this.gen \x3d 0;\n this.cache \x3d {};\n } else if (this.idx \x3d\x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.clear();\n }\n var entry \x3d this.cache[string];\n if (entry \x3d\x3d null) {\n this.cache[string] \x3d [caching.idxToCode(this.idx), this.gen];\n this.idx++;\n return string;\n } else if (entry[1] !\x3d this.gen) {\n entry[1] \x3d this.gen;\n entry[0] \x3d caching.idxToCode(this.idx);\n this.idx++;\n return string;\n } else {\n return entry[0];\n }\n } else {\n return string;\n }\n };\n caching.WriteCache.prototype.clear \x3d function Transit$WriteCache() {\n this.idx \x3d 0;\n this.gen++;\n };\n caching.writeCache \x3d function() {\n return new caching.WriteCache();\n };\n caching.isCacheCode \x3d function(string) {\n return string.charAt(0) \x3d\x3d\x3d d.SUB \x26\x26 string.charAt(1) !\x3d\x3d \x22 \x22;\n };\n caching.codeToIdx \x3d function(code) {\n if (code.length \x3d\x3d\x3d 2) {\n return code.charCodeAt(1) - caching.BASE_CHAR_IDX;\n } else {\n var hi \x3d (code.charCodeAt(1) - caching.BASE_CHAR_IDX) * caching.CACHE_CODE_DIGITS, lo \x3d code.charCodeAt(2) - caching.BASE_CHAR_IDX;\n return hi + lo;\n }\n };\n caching.ReadCache \x3d function Transit$ReadCache() {\n this.idx \x3d 0;\n this.cache \x3d [];\n };\n caching.ReadCache.prototype.write \x3d function(obj, asMapKey) {\n if (this.idx \x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.idx \x3d 0;\n }\n this.cache[this.idx] \x3d obj;\n this.idx++;\n return obj;\n };\n caching.ReadCache.prototype.read \x3d function(string, asMapKey) {\n return this.cache[caching.codeToIdx(string)];\n };\n caching.ReadCache.prototype.clear \x3d function() {\n this.idx \x3d 0;\n };\n caching.readCache \x3d function() {\n return new caching.ReadCache();\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.eq.js", true , "goog.provide(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.scope(function() {\n var eq \x3d com.cognitect.transit.eq, util \x3d com.cognitect.transit.util;\n eq.hashCodeProperty \x3d \x22transit$hashCode$\x22;\n eq.hashCodeCounter \x3d 1;\n eq.equals \x3d function(x, y) {\n if (x \x3d\x3d null) {\n return y \x3d\x3d null;\n } else if (x \x3d\x3d\x3d y) {\n return true;\n } else if (typeof x \x3d\x3d\x3d \x22object\x22) {\n if (util.isArray(x)) {\n if (util.isArray(y)) {\n if (x.length \x3d\x3d\x3d y.length) {\n for (var i \x3d 0; i \x3c x.length; i++) {\n if (!eq.equals(x[i], y[i])) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n } else if (x.com$cognitect$transit$equals) {\n return x.com$cognitect$transit$equals(y);\n } else if (y !\x3d null \x26\x26 typeof y \x3d\x3d\x3d \x22object\x22) {\n if (y.com$cognitect$transit$equals) {\n return y.com$cognitect$transit$equals(x);\n } else {\n var xklen \x3d 0, yklen \x3d util.objectKeys(y).length;\n for (var p in x) {\n if (!x.hasOwnProperty(p)) {\n continue;\n }\n xklen++;\n if (!y.hasOwnProperty(p)) {\n return false;\n } else {\n if (!eq.equals(x[p], y[p])) {\n return false;\n }\n }\n }\n return xklen \x3d\x3d\x3d yklen;\n }\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n eq.hashCombine \x3d function(seed, hash) {\n return seed ^ hash + 2654435769 + (seed \x3c\x3c 6) + (seed \x3e\x3e 2);\n };\n eq.stringCodeCache \x3d {};\n eq.stringCodeCacheSize \x3d 0;\n eq.STR_CACHE_MAX \x3d 256;\n eq.hashString \x3d function(str) {\n var cached \x3d eq.stringCodeCache[str];\n if (cached !\x3d null) {\n return cached;\n }\n var code \x3d 0;\n for (var i \x3d 0; i \x3c str.length; ++i) {\n code \x3d 31 * code + str.charCodeAt(i);\n code %\x3d 4294967296;\n }\n eq.stringCodeCacheSize++;\n if (eq.stringCodeCacheSize \x3e\x3d eq.STR_CACHE_MAX) {\n eq.stringCodeCache \x3d {};\n eq.stringCodeCacheSize \x3d 1;\n }\n eq.stringCodeCache[str] \x3d code;\n return code;\n };\n eq.hashMapLike \x3d function(m) {\n var code \x3d 0;\n if (m.forEach !\x3d null) {\n m.forEach(function(val, key, m) {\n code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n });\n } else {\n var keys \x3d util.objectKeys(m);\n for (var i \x3d 0; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var val \x3d m[key];\n code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n }\n }\n return code;\n };\n eq.hashArrayLike \x3d function(arr) {\n var code \x3d 0;\n if (util.isArray(arr)) {\n for (var i \x3d 0; i \x3c arr.length; i++) {\n code \x3d eq.hashCombine(code, eq.hashCode(arr[i]));\n }\n } else if (arr.forEach) {\n arr.forEach(function(x, i) {\n code \x3d eq.hashCombine(code, eq.hashCode(x));\n });\n }\n return code;\n };\n eq.hashCode \x3d function(x) {\n if (x \x3d\x3d null) {\n return 0;\n } else {\n switch(typeof x) {\n case \x22number\x22:\n return x;\n break;\n case \x22boolean\x22:\n return x \x3d\x3d\x3d true ? 1 : 0;\n break;\n case \x22string\x22:\n return eq.hashString(x);\n break;\n case \x22function\x22:\n var code \x3d x[eq.hashCodeProperty];\n if (code) {\n return code;\n } else {\n code \x3d eq.hashCodeCounter;\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n Object.defineProperty(x, eq.hashCodeProperty, {value:code, enumerable:false});\n } else {\n x[eq.hashCodeProperty] \x3d code;\n }\n eq.hashCodeCounter++;\n return code;\n }\n break;\n default:\n if (x instanceof Date) {\n return x.valueOf();\n } else if (util.isArray(x)) {\n return eq.hashArrayLike(x);\n }\n if (x.com$cognitect$transit$hashCode) {\n return x.com$cognitect$transit$hashCode();\n } else {\n return eq.hashMapLike(x);\n }\n break;\n }\n }\n };\n eq.extendToEQ \x3d function(obj, opts) {\n obj.com$cognitect$transit$hashCode \x3d opts[\x22hashCode\x22];\n obj.com$cognitect$transit$equals \x3d opts[\x22equals\x22];\n return obj;\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.types.js", true , "goog.provide(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var types \x3d com.cognitect.transit.types, util \x3d com.cognitect.transit.util, eq \x3d com.cognitect.transit.eq, Long \x3d goog.math.Long;\n if (typeof Symbol !\x3d \x22undefined\x22) {\n types.ITERATOR \x3d Symbol.iterator;\n } else {\n types.ITERATOR \x3d \x22@@iterator\x22;\n }\n types.TaggedValue \x3d function Transit$TaggedValue(tag, rep) {\n this.tag \x3d tag;\n this.rep \x3d rep;\n this.hashCode \x3d -1;\n };\n types.TaggedValue.prototype.toString \x3d function() {\n return \x22[TaggedValue: \x22 + this.tag + \x22, \x22 + this.rep + \x22]\x22;\n };\n types.TaggedValue.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.TaggedValue.prototype[\x22equiv\x22] \x3d types.TaggedValue.prototype.equiv;\n types.TaggedValue.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof types.TaggedValue) {\n return this.tag \x3d\x3d\x3d other.tag \x26\x26 eq.equals(this.rep, other.rep);\n } else {\n return false;\n }\n };\n types.TaggedValue.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCombine(eq.hashCode(this.tag), eq.hashCode(this.rep));\n }\n return this.hashCode;\n };\n types.taggedValue \x3d function(tag, rep) {\n return new types.TaggedValue(tag, rep);\n };\n types.isTaggedValue \x3d function(x) {\n return x instanceof types.TaggedValue;\n };\n types.nullValue \x3d function() {\n return null;\n };\n types.boolValue \x3d function(s) {\n return s \x3d\x3d\x3d \x22t\x22;\n };\n types.MAX_INT \x3d Long.fromString(\x229007199254740991\x22);\n types.MIN_INT \x3d Long.fromString(\x22-9007199254740991\x22);\n types.intValue \x3d function(s) {\n if (typeof s \x3d\x3d\x3d \x22number\x22) {\n return s;\n } else if (s instanceof Long) {\n return s;\n } else {\n var n \x3d Long.fromString(s, 10);\n if (n.greaterThan(types.MAX_INT) || n.lessThan(types.MIN_INT)) {\n return n;\n } else {\n return n.toNumber();\n }\n }\n };\n Long.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n Long.prototype[\x22equiv\x22] \x3d Long.prototype.equiv;\n Long.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof Long \x26\x26 this.equals(other);\n };\n Long.prototype.com$cognitect$transit$hashCode \x3d function() {\n return this.toInt();\n };\n types.isInteger \x3d function(x) {\n if (x instanceof Long) {\n return true;\n } else {\n return typeof x \x3d\x3d\x3d \x22number\x22 \x26\x26 !isNaN(x) \x26\x26 !(x \x3d\x3d\x3d Infinity) \x26\x26 parseFloat(x) \x3d\x3d\x3d parseInt(x, 10);\n }\n };\n types.floatValue \x3d function(s) {\n return parseFloat(s);\n };\n types.bigInteger \x3d function(s) {\n return types.taggedValue(\x22n\x22, s);\n };\n types.isBigInteger \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22n\x22;\n };\n types.bigDecimalValue \x3d function(s) {\n return types.taggedValue(\x22f\x22, s);\n };\n types.isBigDecimal \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22f\x22;\n };\n types.charValue \x3d function(s) {\n return s;\n };\n types.Keyword \x3d function Transit$Keyword(name) {\n this._name \x3d name;\n this.hashCode \x3d -1;\n };\n types.Keyword.prototype.toString \x3d function() {\n return \x22:\x22 + this._name;\n };\n types.Keyword.prototype[\x22namespace\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(0, idx);\n } else {\n return null;\n }\n };\n types.Keyword.prototype[\x22name\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(idx + 1, this._name.length);\n } else {\n return this._name;\n }\n };\n types.Keyword.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.Keyword.prototype[\x22equiv\x22] \x3d types.Keyword.prototype.equiv;\n types.Keyword.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.Keyword \x26\x26 this._name \x3d\x3d other._name;\n };\n types.Keyword.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this._name);\n }\n return this.hashCode;\n };\n types.keyword \x3d function(s) {\n return new types.Keyword(s);\n };\n types.isKeyword \x3d function(x) {\n return x instanceof types.Keyword;\n };\n types.Symbol \x3d function Transit$Symbol(name) {\n this._name \x3d name;\n this.hashCode \x3d -1;\n };\n types.Symbol.prototype[\x22namespace\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(0, idx);\n } else {\n return null;\n }\n };\n types.Symbol.prototype[\x22name\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(idx + 1, this._name.length);\n } else {\n return this._name;\n }\n };\n types.Symbol.prototype.toString \x3d function() {\n return this._name;\n };\n types.Symbol.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.Symbol.prototype[\x22equiv\x22] \x3d types.Symbol.prototype.equiv;\n types.Symbol.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.Symbol \x26\x26 this._name \x3d\x3d other._name;\n };\n types.Symbol.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this._name);\n }\n return this.hashCode;\n };\n types.symbol \x3d function(s) {\n return new types.Symbol(s);\n };\n types.isSymbol \x3d function(x) {\n return x instanceof types.Symbol;\n };\n types.hexFor \x3d function(aLong, sidx, eidx) {\n var ret \x3d \x22\x22;\n eidx \x3d eidx || sidx + 1;\n for (var i \x3d sidx, shift \x3d (7 - i) * 8, mask \x3d Long.fromInt(255).shiftLeft(shift); i \x3c eidx; i++, shift -\x3d 8, mask \x3d mask.shiftRightUnsigned(8)) {\n var s \x3d aLong.and(mask).shiftRightUnsigned(shift).toString(16);\n if (s.length \x3d\x3d 1) {\n s \x3d \x220\x22 + s;\n }\n ret +\x3d s;\n }\n return ret;\n };\n types.UUID \x3d function Transit$UUID(high, low) {\n this.high \x3d high;\n this.low \x3d low;\n this.hashCode \x3d -1;\n };\n types.UUID.prototype.getLeastSignificantBits \x3d function() {\n return this.low;\n };\n types.UUID.prototype.getMostSignificantBits \x3d function() {\n return this.high;\n };\n types.UUID.prototype.toString \x3d function() {\n var s \x3d \x22\x22, hi64 \x3d this.high, lo64 \x3d this.low;\n s +\x3d types.hexFor(hi64, 0, 4) + \x22-\x22;\n s +\x3d types.hexFor(hi64, 4, 6) + \x22-\x22;\n s +\x3d types.hexFor(hi64, 6, 8) + \x22-\x22;\n s +\x3d types.hexFor(lo64, 0, 2) + \x22-\x22;\n s +\x3d types.hexFor(lo64, 2, 8);\n return s;\n };\n types.UUID.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.UUID.prototype[\x22equiv\x22] \x3d types.UUID.prototype.equiv;\n types.UUID.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.UUID \x26\x26 this.high.equals(other.high) \x26\x26 this.low.equals(other.low);\n };\n types.UUID.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this.toString());\n }\n return this.hashCode;\n };\n types.UUIDfromString \x3d function uuidFromString(s) {\n s \x3d s.replace(/-/g, \x22\x22);\n var hi64 \x3d null, lo64 \x3d null, hi32 \x3d 0, lo32 \x3d 0, off \x3d 24, i \x3d 0;\n for (hi32 \x3d 0, i \x3d 0, off \x3d 24; i \x3c 8; i +\x3d 2, off -\x3d 8) {\n hi32 |\x3d parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n for (lo32 \x3d 0, i \x3d 8, off \x3d 24; i \x3c 16; i +\x3d 2, off -\x3d 8) {\n lo32 |\x3d parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n hi64 \x3d Long.fromBits(lo32, hi32);\n for (hi32 \x3d 0, i \x3d 16, off \x3d 24; i \x3c 24; i +\x3d 2, off -\x3d 8) {\n hi32 |\x3d parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n for (lo32 \x3d 0, i \x3d 24, off \x3d 24; i \x3c 32; i +\x3d 2, off -\x3d 8) {\n lo32 |\x3d parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n lo64 \x3d Long.fromBits(lo32, hi32);\n return new types.UUID(hi64, lo64);\n };\n types.uuid \x3d function(s) {\n return types.UUIDfromString(s);\n };\n types.isUUID \x3d function(x) {\n return x instanceof types.UUID;\n };\n types.date \x3d function(s) {\n s \x3d typeof s \x3d\x3d\x3d \x22number\x22 ? s : parseInt(s, 10);\n return new Date(s);\n };\n types.verboseDate \x3d function(s) {\n return new Date(s);\n };\n Date.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof Date) {\n return this.valueOf() \x3d\x3d\x3d other.valueOf();\n } else {\n return false;\n }\n };\n Date.prototype.com$cognitect$transit$hashCode \x3d function() {\n return this.valueOf();\n };\n types.binary \x3d function(str, decoder) {\n if ((!decoder || decoder.preferBuffers !\x3d\x3d false) \x26\x26 typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n return new goog.global.Buffer(str, \x22base64\x22);\n } else if (typeof Uint8Array !\x3d \x22undefined\x22) {\n return util.Base64ToUint8(str);\n } else {\n return types.taggedValue(\x22b\x22, str);\n }\n };\n types.isBinary \x3d function(x) {\n if (typeof goog.global.Buffer !\x3d \x22undefined\x22 \x26\x26 x instanceof goog.global.Buffer) {\n return true;\n } else if (typeof Uint8Array !\x3d \x22undefined\x22 \x26\x26 x instanceof Uint8Array) {\n return true;\n } else {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22b\x22;\n }\n };\n types.uri \x3d function(s) {\n return types.taggedValue(\x22r\x22, s);\n };\n types.isURI \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22r\x22;\n };\n types.KEYS \x3d 0;\n types.VALUES \x3d 1;\n types.ENTRIES \x3d 2;\n types.TransitArrayMapIterator \x3d function Transit$ArrayMapIterator(entries, type) {\n this.entries \x3d entries;\n this.type \x3d type || types.KEYS;\n this.idx \x3d 0;\n };\n types.TransitArrayMapIterator.prototype.next \x3d function() {\n if (this.idx \x3c this.entries.length) {\n var value \x3d null;\n if (this.type \x3d\x3d\x3d types.KEYS) {\n value \x3d this.entries[this.idx];\n } else if (this.type \x3d\x3d\x3d types.VALUES) {\n value \x3d this.entries[this.idx + 1];\n } else {\n value \x3d [this.entries[this.idx], this.entries[this.idx + 1]];\n }\n var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n this.idx +\x3d 2;\n return ret;\n } else {\n return {\x22value\x22:null, \x22done\x22:true};\n }\n };\n types.TransitArrayMapIterator.prototype[\x22next\x22] \x3d types.TransitArrayMapIterator.prototype.next;\n types.TransitArrayMapIterator.prototype[types.ITERATOR] \x3d function() {\n return this;\n };\n types.TransitMapIterator \x3d function Transit$MapIterator(map, type) {\n this.map \x3d map;\n this.type \x3d type || types.KEYS;\n this.keys \x3d this.map.getKeys();\n this.idx \x3d 0;\n this.bucket \x3d null;\n this.bucketIdx \x3d 0;\n };\n types.TransitMapIterator.prototype.next \x3d function() {\n if (this.idx \x3c this.map.size) {\n if (this.bucket \x3d\x3d null || !(this.bucketIdx \x3c this.bucket.length)) {\n this.bucket \x3d this.map.map[this.keys[this.idx]];\n this.bucketIdx \x3d 0;\n }\n var value \x3d null;\n if (this.type \x3d\x3d\x3d types.KEYS) {\n value \x3d this.bucket[this.bucketIdx];\n } else if (this.type \x3d\x3d\x3d types.VALUES) {\n value \x3d this.bucket[this.bucketIdx + 1];\n } else {\n value \x3d [this.bucket[this.bucketIdx], this.bucket[this.bucketIdx + 1]];\n }\n var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n this.idx++;\n this.bucketIdx +\x3d 2;\n return ret;\n } else {\n return {\x22value\x22:null, \x22done\x22:true};\n }\n };\n types.TransitMapIterator.prototype[\x22next\x22] \x3d types.TransitMapIterator.prototype.next;\n types.TransitMapIterator.prototype[types.ITERATOR] \x3d function() {\n return this;\n };\n types.mapEquals \x3d function(me, you) {\n if (me instanceof types.TransitMap \x26\x26 types.isMap(you)) {\n if (me.size !\x3d\x3d you.size) {\n return false;\n }\n for (var code in me.map) {\n var bucket \x3d me.map[code];\n for (var j \x3d 0; j \x3c bucket.length; j +\x3d 2) {\n if (!eq.equals(bucket[j + 1], you.get(bucket[j]))) {\n return false;\n }\n }\n }\n return true;\n } else if (me instanceof types.TransitArrayMap \x26\x26 types.isMap(you)) {\n if (me.size !\x3d\x3d you.size) {\n return false;\n }\n var entries \x3d me._entries;\n for (var j \x3d 0; j \x3c entries.length; j +\x3d 2) {\n if (!eq.equals(entries[j + 1], you.get(entries[j]))) {\n return false;\n }\n }\n return true;\n } else if (you !\x3d null \x26\x26 typeof you \x3d\x3d\x3d \x22object\x22) {\n var ks \x3d util.objectKeys(you), kslen \x3d ks.length;\n if (me.size \x3d\x3d\x3d kslen) {\n for (var i \x3d 0; i \x3c kslen; i++) {\n var k \x3d ks[i];\n if (!me.has(k) || !eq.equals(you[k], me.get(k))) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n types.SMALL_ARRAY_MAP_THRESHOLD \x3d 8;\n types.ARRAY_MAP_THRESHOLD \x3d 32;\n types.ARRAY_MAP_ACCESS_THRESHOLD \x3d 32;\n types.print \x3d function(x) {\n if (x \x3d\x3d null) {\n return \x22null\x22;\n }\n if (goog.typeOf(x) \x3d\x3d\x3d \x22array\x22) {\n return \x22[\x22 + x.toString() + \x22]\x22;\n } else if (goog.typeOf(x) \x3d\x3d\x3d \x22string\x22) {\n return \x27\x22\x27 + x + \x27\x22\x27;\n } else {\n return x.toString();\n }\n };\n types.printMap \x3d function(map) {\n var idx \x3d 0, str \x3d \x22TransitMap {\x22;\n map.forEach(function(v, k) {\n str +\x3d types.print(k) + \x22 \\x3d\\x3e \x22 + types.print(v);\n if (idx \x3c map.size - 1) {\n str +\x3d \x22, \x22;\n }\n idx++;\n });\n return str + \x22}\x22;\n };\n types.printSet \x3d function(set) {\n var idx \x3d 0, str \x3d \x22TransitSet {\x22;\n set.forEach(function(v) {\n str +\x3d types.print(v);\n if (idx \x3c set.size - 1) {\n str +\x3d \x22, \x22;\n }\n idx++;\n });\n return str + \x22}\x22;\n };\n types.TransitArrayMap \x3d function Transit$ArrayMap(entries) {\n this._entries \x3d entries;\n this.backingMap \x3d null;\n this.hashCode \x3d -1;\n this.size \x3d entries.length / 2;\n this.accesses \x3d 0;\n };\n types.TransitArrayMap.prototype.toString \x3d function() {\n return types.printMap(this);\n };\n types.TransitArrayMap.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitArrayMap.prototype.convert \x3d function() {\n if (this.backingMap) {\n throw Error(\x22Invalid operation, already converted\x22);\n }\n if (this.size \x3c types.SMALL_ARRAY_MAP_THRESHOLD) {\n return false;\n }\n this.accesses++;\n if (this.accesses \x3e types.ARRAY_MAP_ACCESS_THRESHOLD) {\n this.backingMap \x3d types.map(this._entries, false, true);\n this._entries \x3d [];\n return true;\n } else {\n return false;\n }\n };\n types.TransitArrayMap.prototype.clear \x3d function() {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n this.backingMap.clear();\n this.size \x3d 0;\n } else {\n this._entries \x3d [];\n this.size \x3d 0;\n }\n };\n types.TransitArrayMap.prototype[\x22clear\x22] \x3d types.TransitArrayMap.prototype.clear;\n types.TransitArrayMap.prototype.keys \x3d function() {\n if (this.backingMap) {\n return this.backingMap.keys();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.KEYS);\n }\n };\n types.TransitArrayMap.prototype[\x22keys\x22] \x3d types.TransitArrayMap.prototype.keys;\n types.TransitArrayMap.prototype.keySet \x3d function() {\n if (this.backingMap) {\n return this.backingMap.keySet();\n } else {\n var ret \x3d [];\n for (var i \x3d 0, j \x3d 0; j \x3c this._entries.length; i++, j +\x3d 2) {\n ret[i] \x3d this._entries[j];\n }\n return ret;\n }\n };\n types.TransitArrayMap.prototype[\x22keySet\x22] \x3d types.TransitArrayMap.prototype.keySet;\n types.TransitArrayMap.prototype.entries \x3d function() {\n if (this.backingMap) {\n return this.backingMap.entries();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.ENTRIES);\n }\n };\n types.TransitArrayMap.prototype[\x22entries\x22] \x3d types.TransitArrayMap.prototype.entries;\n types.TransitArrayMap.prototype.values \x3d function() {\n if (this.backingMap) {\n return this.backingMap.values();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.VALUES);\n }\n };\n types.TransitArrayMap.prototype[\x22values\x22] \x3d types.TransitArrayMap.prototype.values;\n types.TransitArrayMap.prototype.forEach \x3d function(f) {\n if (this.backingMap) {\n this.backingMap.forEach(f);\n } else {\n for (var i \x3d 0; i \x3c this._entries.length; i +\x3d 2) {\n f(this._entries[i + 1], this._entries[i]);\n }\n }\n };\n types.TransitArrayMap.prototype[\x22forEach\x22] \x3d types.TransitArrayMap.prototype.forEach;\n types.TransitArrayMap.prototype.get \x3d function(k, notFound) {\n if (this.backingMap) {\n return this.backingMap.get(k);\n } else {\n if (this.convert()) {\n return this.get(k);\n } else {\n for (var i \x3d 0; i \x3c this._entries.length; i +\x3d 2) {\n if (eq.equals(this._entries[i], k)) {\n return this._entries[i + 1];\n }\n }\n return notFound;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22get\x22] \x3d types.TransitArrayMap.prototype.get;\n types.TransitArrayMap.prototype.has \x3d function(k) {\n if (this.backingMap) {\n return this.backingMap.has(k);\n } else {\n if (this.convert()) {\n return this.has(k);\n } else {\n for (var i \x3d 0; i \x3c this._entries.length; i +\x3d 2) {\n if (eq.equals(this._entries[i], k)) {\n return true;\n }\n }\n return false;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22has\x22] \x3d types.TransitArrayMap.prototype.has;\n types.TransitArrayMap.prototype.set \x3d function(k, v) {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n this.backingMap.set(k, v);\n this.size \x3d this.backingMap.size;\n } else {\n for (var i \x3d 0; i \x3c this._entries.length; i +\x3d 2) {\n if (eq.equals(this._entries[i], k)) {\n this._entries[i + 1] \x3d v;\n return;\n }\n }\n this._entries.push(k);\n this._entries.push(v);\n this.size++;\n if (this.size \x3e types.ARRAY_MAP_THRESHOLD) {\n this.backingMap \x3d types.map(this._entries, false, true);\n this._entries \x3d null;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22set\x22] \x3d types.TransitArrayMap.prototype.set;\n types.TransitArrayMap.prototype[\x22delete\x22] \x3d function(k) {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n var ret \x3d this.backingMap.delete(k);\n this.size \x3d this.backingMap.size;\n return ret;\n } else {\n for (var i \x3d 0; i \x3c this._entries.length; i +\x3d 2) {\n if (eq.equals(this._entries[i], k)) {\n var ret \x3d this._entries[i + 1];\n this._entries.splice(i, 2);\n this.size--;\n return ret;\n }\n }\n }\n };\n types.TransitArrayMap.prototype.clone \x3d function() {\n var clone \x3d types.map();\n this.forEach(function(v, k) {\n clone.set(k, v);\n });\n return clone;\n };\n types.TransitArrayMap.prototype[\x22clone\x22] \x3d types.TransitArrayMap.prototype.clone;\n types.TransitArrayMap.prototype[types.ITERATOR] \x3d function() {\n return this.entries();\n };\n types.TransitArrayMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.backingMap) {\n return this.backingMap.com$cognitect$transit$hashCode();\n } else {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashMapLike(this);\n }\n return this.hashCode;\n }\n };\n types.TransitArrayMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (this.backingMap) {\n return types.mapEquals(this.backingMap, other);\n } else {\n return types.mapEquals(this, other);\n }\n };\n types.TransitMap \x3d function Transit$Map(keys, map, size) {\n this.map \x3d map || {};\n this._keys \x3d keys || [];\n this.size \x3d size || 0;\n this.hashCode \x3d -1;\n };\n types.TransitMap.prototype.toString \x3d function() {\n return types.printMap(this);\n };\n types.TransitMap.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitMap.prototype.clear \x3d function() {\n this.hashCode \x3d -1;\n this.map \x3d {};\n this._keys \x3d [];\n this.size \x3d 0;\n };\n types.TransitMap.prototype[\x22clear\x22] \x3d types.TransitMap.prototype.clear;\n types.TransitMap.prototype.getKeys \x3d function() {\n if (this._keys !\x3d null) {\n return this._keys;\n } else {\n return util.objectKeys(this.map);\n }\n };\n types.TransitMap.prototype[\x22delete\x22] \x3d function(k) {\n this.hashCode \x3d -1;\n this._keys \x3d null;\n var code \x3d eq.hashCode(k), bucket \x3d this.map[code];\n for (var i \x3d 0; i \x3c bucket.length; i +\x3d 2) {\n if (eq.equals(k, bucket[i])) {\n var ret \x3d bucket[i + 1];\n bucket.splice(i, 2);\n if (bucket.length \x3d\x3d\x3d 0) {\n delete this.map[code];\n }\n this.size--;\n return ret;\n }\n }\n };\n types.TransitMap.prototype.entries \x3d function() {\n return new types.TransitMapIterator(this, types.ENTRIES);\n };\n types.TransitMap.prototype[\x22entries\x22] \x3d types.TransitMap.prototype.entries;\n types.TransitMap.prototype.forEach \x3d function(callback) {\n var ks \x3d this.getKeys();\n for (var i \x3d 0; i \x3c ks.length; i++) {\n var bucket \x3d this.map[ks[i]];\n for (var j \x3d 0; j \x3c bucket.length; j +\x3d 2) {\n callback(bucket[j + 1], bucket[j], this);\n }\n }\n };\n types.TransitMap.prototype[\x22forEach\x22] \x3d types.TransitMap.prototype.forEach;\n types.TransitMap.prototype.get \x3d function(k, notFound) {\n var code \x3d eq.hashCode(k), bucket \x3d this.map[code];\n if (bucket !\x3d null) {\n for (var i \x3d 0; i \x3c bucket.length; i +\x3d 2) {\n if (eq.equals(k, bucket[i])) {\n return bucket[i + 1];\n }\n }\n } else {\n return notFound;\n }\n };\n types.TransitMap.prototype[\x22get\x22] \x3d types.TransitMap.prototype.get;\n types.TransitMap.prototype.has \x3d function(k) {\n var code \x3d eq.hashCode(k), bucket \x3d this.map[code];\n if (bucket !\x3d null) {\n for (var i \x3d 0; i \x3c bucket.length; i +\x3d 2) {\n if (eq.equals(k, bucket[i])) {\n return true;\n }\n }\n return false;\n } else {\n return false;\n }\n };\n types.TransitMap.prototype[\x22has\x22] \x3d types.TransitMap.prototype.has;\n types.TransitMap.prototype.keys \x3d function() {\n return new types.TransitMapIterator(this, types.KEYS);\n };\n types.TransitMap.prototype[\x22keys\x22] \x3d types.TransitMap.prototype.keys;\n types.TransitMap.prototype.keySet \x3d function() {\n var keys \x3d this.getKeys(), ret \x3d [];\n for (var i \x3d 0; i \x3c keys.length; i++) {\n var bucket \x3d this.map[keys[i]];\n for (var j \x3d 0; j \x3c bucket.length; j +\x3d 2) {\n ret.push(bucket[j]);\n }\n }\n return ret;\n };\n types.TransitMap.prototype[\x22keySet\x22] \x3d types.TransitMap.prototype.keySet;\n types.TransitMap.prototype.set \x3d function(k, v) {\n this.hashCode \x3d -1;\n var code \x3d eq.hashCode(k), bucket \x3d this.map[code];\n if (bucket \x3d\x3d null) {\n if (this._keys) {\n this._keys.push(code);\n }\n this.map[code] \x3d [k, v];\n this.size++;\n } else {\n var newEntry \x3d true;\n for (var i \x3d 0; i \x3c bucket.length; i +\x3d 2) {\n if (eq.equals(v, bucket[i])) {\n newEntry \x3d false;\n bucket[i] \x3d v;\n break;\n }\n }\n if (newEntry) {\n bucket.push(k);\n bucket.push(v);\n this.size++;\n }\n }\n };\n types.TransitMap.prototype[\x22set\x22] \x3d types.TransitMap.prototype.set;\n types.TransitMap.prototype.values \x3d function() {\n return new types.TransitMapIterator(this, types.VALUES);\n };\n types.TransitMap.prototype[\x22values\x22] \x3d types.TransitMap.prototype.values;\n types.TransitMap.prototype.clone \x3d function() {\n var clone \x3d types.map();\n this.forEach(function(v, k) {\n clone.set(k, v);\n });\n return clone;\n };\n types.TransitMap.prototype[\x22clone\x22] \x3d types.TransitMap.prototype.clone;\n types.TransitMap.prototype[types.ITERATOR] \x3d function() {\n return this.entries();\n };\n types.TransitMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashMapLike(this);\n }\n return this.hashCode;\n };\n types.TransitMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n return types.mapEquals(this, other);\n };\n types.map \x3d function(arr, checkDups, hashMap) {\n arr \x3d arr || [];\n checkDups \x3d checkDups \x3d\x3d\x3d false ? checkDups : true;\n hashMap \x3d hashMap \x3d\x3d\x3d true ? hashMap : false;\n if (!hashMap \x26\x26 arr.length \x3c\x3d types.ARRAY_MAP_THRESHOLD * 2) {\n if (checkDups) {\n var t \x3d arr;\n arr \x3d [];\n for (var i \x3d 0; i \x3c t.length; i +\x3d 2) {\n var seen \x3d false;\n for (var j \x3d 0; j \x3c arr.length; j +\x3d 2) {\n if (eq.equals(arr[j], t[i])) {\n arr[j + 1] \x3d t[i + 1];\n seen \x3d true;\n break;\n }\n }\n if (!seen) {\n arr.push(t[i]);\n arr.push(t[i + 1]);\n }\n }\n }\n return new types.TransitArrayMap(arr);\n } else {\n var map \x3d {}, keys \x3d [], size \x3d 0;\n for (var i \x3d 0; i \x3c arr.length; i +\x3d 2) {\n var code \x3d eq.hashCode(arr[i]), bucket \x3d map[code];\n if (bucket \x3d\x3d null) {\n keys.push(code);\n map[code] \x3d [arr[i], arr[i + 1]];\n size++;\n } else {\n var newEntry \x3d true;\n for (var j \x3d 0; j \x3c bucket.length; j +\x3d 2) {\n if (eq.equals(bucket[j], arr[i])) {\n bucket[j + 1] \x3d arr[i + 1];\n newEntry \x3d false;\n break;\n }\n }\n if (newEntry) {\n bucket.push(arr[i]);\n bucket.push(arr[i + 1]);\n size++;\n }\n }\n }\n return new types.TransitMap(keys, map, size);\n }\n };\n types.isArrayMap \x3d function(x) {\n return x instanceof types.TransitArrayMap;\n };\n types.isMap \x3d function(x) {\n return x instanceof types.TransitArrayMap || x instanceof types.TransitMap;\n };\n types.TransitSet \x3d function Transit$Set(map) {\n this.map \x3d map;\n this.size \x3d map.size;\n };\n types.TransitSet.prototype.toString \x3d function() {\n return types.printSet(this);\n };\n types.TransitSet.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitSet.prototype.add \x3d function(value) {\n this.map.set(value, value);\n this.size \x3d this.map.size;\n };\n types.TransitSet.prototype[\x22add\x22] \x3d types.TransitSet.prototype.add;\n types.TransitSet.prototype.clear \x3d function() {\n this.map \x3d new types.TransitMap();\n this.size \x3d 0;\n };\n types.TransitSet.prototype[\x22clear\x22] \x3d types.TransitSet.prototype.clear;\n types.TransitSet.prototype[\x22delete\x22] \x3d function(value) {\n var ret \x3d this.map.delete(value);\n this.size \x3d this.map.size;\n return ret;\n };\n types.TransitSet.prototype.entries \x3d function() {\n return this.map.entries();\n };\n types.TransitSet.prototype[\x22entries\x22] \x3d types.TransitSet.prototype.entries;\n types.TransitSet.prototype.forEach \x3d function(iterator, thisArg) {\n var self \x3d this;\n this.map.forEach(function(v, k, m) {\n iterator(k, self);\n });\n };\n types.TransitSet.prototype[\x22forEach\x22] \x3d types.TransitSet.prototype.forEach;\n types.TransitSet.prototype.has \x3d function(value) {\n return this.map.has(value);\n };\n types.TransitSet.prototype[\x22has\x22] \x3d types.TransitSet.prototype.has;\n types.TransitSet.prototype.keys \x3d function() {\n return this.map.keys();\n };\n types.TransitSet.prototype[\x22keys\x22] \x3d types.TransitSet.prototype.keys;\n types.TransitSet.prototype.keySet \x3d function() {\n return this.map.keySet();\n };\n types.TransitSet.prototype[\x22keySet\x22] \x3d types.TransitSet.prototype.keySet;\n types.TransitSet.prototype.values \x3d function() {\n return this.map.values();\n };\n types.TransitSet.prototype[\x22values\x22] \x3d types.TransitSet.prototype.values;\n types.TransitSet.prototype.clone \x3d function() {\n var clone \x3d types.set();\n this.forEach(function(k) {\n clone.add(k);\n });\n return clone;\n };\n types.TransitSet.prototype[\x22clone\x22] \x3d types.TransitSet.prototype.clone;\n types.TransitSet.prototype[types.ITERATOR] \x3d function() {\n return this.values();\n };\n types.TransitSet.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof types.TransitSet) {\n if (this.size \x3d\x3d\x3d other.size) {\n return eq.equals(this.map, other.map);\n }\n } else {\n return false;\n }\n };\n types.TransitSet.prototype.com$cognitect$transit$hashCode \x3d function(other) {\n return eq.hashCode(this.map);\n };\n types.set \x3d function(arr) {\n arr \x3d arr || [];\n var map \x3d {}, keys \x3d [], size \x3d 0;\n for (var i \x3d 0; i \x3c arr.length; i++) {\n var code \x3d eq.hashCode(arr[i]), vals \x3d map[code];\n if (vals \x3d\x3d null) {\n keys.push(code);\n map[code] \x3d [arr[i], arr[i]];\n size++;\n } else {\n var newEntry \x3d true;\n for (var j \x3d 0; j \x3c vals.length; j +\x3d 2) {\n if (eq.equals(vals[j], arr[i])) {\n newEntry \x3d false;\n break;\n }\n }\n if (newEntry) {\n vals.push(arr[i]);\n vals.push(arr[i]);\n size++;\n }\n }\n }\n return new types.TransitSet(new types.TransitMap(keys, map, size));\n };\n types.isSet \x3d function(x) {\n return x instanceof types.TransitSet;\n };\n types.quoted \x3d function(obj) {\n return types.taggedValue(\x22\x27\x22, obj);\n };\n types.isQuoted \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22\x27\x22;\n };\n types.list \x3d function(xs) {\n return types.taggedValue(\x22list\x22, xs);\n };\n types.isList \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22list\x22;\n };\n types.link \x3d function(rep) {\n return types.taggedValue(\x22link\x22, rep);\n };\n types.isLink \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22link\x22;\n };\n types.specialDouble \x3d function(v) {\n switch(v) {\n case \x22-INF\x22:\n return -Infinity;\n case \x22INF\x22:\n return Infinity;\n case \x22NaN\x22:\n return NaN;\n default:\n throw new Error(\x22Invalid special double value \x22 + v);\n break;\n }\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.impl.decoder.js", true , "goog.provide(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.scope(function() {\n var decoder \x3d com.cognitect.transit.impl.decoder, util \x3d com.cognitect.transit.util, d \x3d com.cognitect.transit.delimiters, caching \x3d com.cognitect.transit.caching, types \x3d com.cognitect.transit.types;\n decoder.Tag \x3d function Transit$Tag(s) {\n this.str \x3d s;\n };\n decoder.tag \x3d function(s) {\n return new decoder.Tag(s);\n };\n decoder.isTag \x3d function(x) {\n return x \x26\x26 x instanceof decoder.Tag;\n };\n decoder.isGroundHandler \x3d function(handler) {\n switch(handler) {\n case \x22_\x22:\n case \x22s\x22:\n case \x22?\x22:\n case \x22i\x22:\n case \x22d\x22:\n case \x22b\x22:\n case \x22\x27\x22:\n case \x22array\x22:\n case \x22map\x22:\n return true;\n }\n return false;\n };\n decoder.Decoder \x3d function Transit$Decoder(options) {\n this.options \x3d options || {};\n this.handlers \x3d {};\n for (var h in this.defaults.handlers) {\n this.handlers[h] \x3d this.defaults.handlers[h];\n }\n for (var h in this.options[\x22handlers\x22]) {\n if (decoder.isGroundHandler(h)) {\n throw new Error(\x27Cannot override handler for ground type \x22\x27 + h + \x27\x22\x27);\n }\n this.handlers[h] \x3d this.options[\x22handlers\x22][h];\n }\n this.preferStrings \x3d this.options[\x22preferStrings\x22] !\x3d null ? this.options[\x22preferStrings\x22] : this.defaults.preferStrings;\n this.preferBuffers \x3d this.options[\x22preferBuffers\x22] !\x3d null ? this.options[\x22preferBuffers\x22] : this.defaults.preferBuffers;\n this.defaultHandler \x3d this.options[\x22defaultHandler\x22] || this.defaults.defaultHandler;\n this.mapBuilder \x3d this.options[\x22mapBuilder\x22];\n this.arrayBuilder \x3d this.options[\x22arrayBuilder\x22];\n };\n decoder.Decoder.prototype.defaults \x3d {handlers:{\x22_\x22:function(v, d) {\n return types.nullValue();\n }, \x22?\x22:function(v, d) {\n return types.boolValue(v);\n }, \x22b\x22:function(v, d) {\n return types.binary(v, d);\n }, \x22i\x22:function(v, d) {\n return types.intValue(v);\n }, \x22n\x22:function(v, d) {\n return types.bigInteger(v);\n }, \x22d\x22:function(v, d) {\n return types.floatValue(v);\n }, \x22f\x22:function(v, d) {\n return types.bigDecimalValue(v);\n }, \x22c\x22:function(v, d) {\n return types.charValue(v);\n }, \x22:\x22:function(v, d) {\n return types.keyword(v);\n }, \x22$\x22:function(v, d) {\n return types.symbol(v);\n }, \x22r\x22:function(v, d) {\n return types.uri(v);\n }, \x22z\x22:function(v, d) {\n return types.specialDouble(v);\n }, \x22\x27\x22:function(v, d) {\n return v;\n }, \x22m\x22:function(v, d) {\n return types.date(v);\n }, \x22t\x22:function(v, d) {\n return types.verboseDate(v);\n }, \x22u\x22:function(v, d) {\n return types.uuid(v);\n }, \x22set\x22:function(v, d) {\n return types.set(v);\n }, \x22list\x22:function(v, d) {\n return types.list(v);\n }, \x22link\x22:function(v, d) {\n return types.link(v);\n }, \x22cmap\x22:function(v, d) {\n return types.map(v, false);\n }}, defaultHandler:function(c, val) {\n return types.taggedValue(c, val);\n }, preferStrings:true, preferBuffers:true};\n decoder.Decoder.prototype.decode \x3d function(node, cache, asMapKey, tagValue) {\n if (node \x3d\x3d null) {\n return null;\n }\n var t \x3d typeof node;\n switch(t) {\n case \x22string\x22:\n return this.decodeString(node, cache, asMapKey, tagValue);\n break;\n case \x22object\x22:\n if (util.isArray(node)) {\n if (node[0] \x3d\x3d\x3d \x22^ \x22) {\n return this.decodeArrayHash(node, cache, asMapKey, tagValue);\n } else {\n return this.decodeArray(node, cache, asMapKey, tagValue);\n }\n } else {\n return this.decodeHash(node, cache, asMapKey, tagValue);\n }\n break;\n }\n return node;\n };\n decoder.Decoder.prototype[\x22decode\x22] \x3d decoder.Decoder.prototype.decode;\n decoder.Decoder.prototype.decodeString \x3d function(string, cache, asMapKey, tagValue) {\n if (caching.isCacheable(string, asMapKey)) {\n var val \x3d this.parseString(string, cache, false);\n if (cache) {\n cache.write(val, asMapKey);\n }\n return val;\n } else if (caching.isCacheCode(string)) {\n return cache.read(string, asMapKey);\n } else {\n return this.parseString(string, cache, asMapKey);\n }\n };\n decoder.Decoder.prototype.decodeHash \x3d function(hash, cache, asMapKey, tagValue) {\n var ks \x3d util.objectKeys(hash), key \x3d ks[0], tag \x3d ks.length \x3d\x3d 1 ? this.decode(key, cache, false, false) : null;\n if (decoder.isTag(tag)) {\n var val \x3d hash[key], handler \x3d this.handlers[tag.str];\n if (handler !\x3d null) {\n return handler(this.decode(val, cache, false, true), this);\n } else {\n return types.taggedValue(tag.str, this.decode(val, cache, false, false));\n }\n } else if (this.mapBuilder) {\n if (ks.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 \x26\x26 this.mapBuilder.fromArray) {\n var nodep \x3d [];\n for (var i \x3d 0; i \x3c ks.length; i++) {\n var strKey \x3d ks[i];\n nodep.push(this.decode(strKey, cache, true, false));\n nodep.push(this.decode(hash[strKey], cache, false, false));\n }\n return this.mapBuilder.fromArray(nodep, hash);\n } else {\n var ret \x3d this.mapBuilder.init(hash);\n for (var i \x3d 0; i \x3c ks.length; i++) {\n var strKey \x3d ks[i];\n ret \x3d this.mapBuilder.add(ret, this.decode(strKey, cache, true, false), this.decode(hash[strKey], cache, false, false), hash);\n }\n return this.mapBuilder.finalize(ret, hash);\n }\n } else {\n var nodep \x3d [];\n for (var i \x3d 0; i \x3c ks.length; i++) {\n var strKey \x3d ks[i];\n nodep.push(this.decode(strKey, cache, true, false));\n nodep.push(this.decode(hash[strKey], cache, false, false));\n }\n return types.map(nodep, false);\n }\n };\n decoder.Decoder.prototype.decodeArrayHash \x3d function(node, cache, asMapKey, tagValue) {\n if (this.mapBuilder) {\n if (node.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 + 1 \x26\x26 this.mapBuilder.fromArray) {\n var nodep \x3d [];\n for (var i \x3d 1; i \x3c node.length; i +\x3d 2) {\n nodep.push(this.decode(node[i], cache, true, false));\n nodep.push(this.decode(node[i + 1], cache, false, false));\n }\n return this.mapBuilder.fromArray(nodep, node);\n } else {\n var ret \x3d this.mapBuilder.init(node);\n for (var i \x3d 1; i \x3c node.length; i +\x3d 2) {\n ret \x3d this.mapBuilder.add(ret, this.decode(node[i], cache, true, false), this.decode(node[i + 1], cache, false, false), node);\n }\n return this.mapBuilder.finalize(ret, node);\n }\n } else {\n var nodep \x3d [];\n for (var i \x3d 1; i \x3c node.length; i +\x3d 2) {\n nodep.push(this.decode(node[i], cache, true, false));\n nodep.push(this.decode(node[i + 1], cache, false, false));\n }\n return types.map(nodep, false);\n }\n };\n decoder.Decoder.prototype.decodeArray \x3d function(node, cache, asMapKey, tagValue) {\n if (tagValue) {\n var ret \x3d [];\n for (var i \x3d 0; i \x3c node.length; i++) {\n ret.push(this.decode(node[i], cache, asMapKey, false));\n }\n return ret;\n } else {\n var cacheIdx \x3d cache \x26\x26 cache.idx;\n if (node.length \x3d\x3d\x3d 2 \x26\x26 typeof node[0] \x3d\x3d\x3d \x22string\x22) {\n var tag \x3d this.decode(node[0], cache, false, false);\n if (decoder.isTag(tag)) {\n var val \x3d node[1], handler \x3d this.handlers[tag.str];\n if (handler !\x3d null) {\n var ret \x3d handler(this.decode(val, cache, asMapKey, true), this);\n return ret;\n } else {\n return types.taggedValue(tag.str, this.decode(val, cache, asMapKey, false));\n }\n }\n }\n if (cache \x26\x26 cacheIdx !\x3d cache.idx) {\n cache.idx \x3d cacheIdx;\n }\n if (this.arrayBuilder) {\n if (node.length \x3c\x3d 32 \x26\x26 this.arrayBuilder.fromArray) {\n var arr \x3d [];\n for (var i \x3d 0; i \x3c node.length; i++) {\n arr.push(this.decode(node[i], cache, asMapKey, false));\n }\n return this.arrayBuilder.fromArray(arr, node);\n } else {\n var ret \x3d this.arrayBuilder.init(node);\n for (var i \x3d 0; i \x3c node.length; i++) {\n ret \x3d this.arrayBuilder.add(ret, this.decode(node[i], cache, asMapKey, false), node);\n }\n return this.arrayBuilder.finalize(ret, node);\n }\n } else {\n var ret \x3d [];\n for (var i \x3d 0; i \x3c node.length; i++) {\n ret.push(this.decode(node[i], cache, asMapKey, false));\n }\n return ret;\n }\n }\n };\n decoder.Decoder.prototype.parseString \x3d function(string, cache, asMapKey) {\n if (string.charAt(0) \x3d\x3d\x3d d.ESC) {\n var c \x3d string.charAt(1);\n if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n return string.substring(1);\n } else if (c \x3d\x3d\x3d d.TAG) {\n return decoder.tag(string.substring(2));\n } else {\n var handler \x3d this.handlers[c];\n if (handler \x3d\x3d null) {\n return this.defaultHandler(c, string.substring(2));\n } else {\n return handler(string.substring(2), this);\n }\n }\n } else {\n return string;\n }\n };\n decoder.decoder \x3d function(options) {\n return new decoder.Decoder(options);\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.impl.reader.js", true , "goog.provide(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.scope(function() {\n var reader \x3d com.cognitect.transit.impl.reader, decoder \x3d com.cognitect.transit.impl.decoder, caching \x3d com.cognitect.transit.caching;\n reader.JSONUnmarshaller \x3d function Transit$JSONUnmarshaller(opts) {\n this.decoder \x3d new decoder.Decoder(opts);\n };\n reader.JSONUnmarshaller.prototype.unmarshal \x3d function(str, cache) {\n return this.decoder.decode(JSON.parse(str), cache);\n };\n reader.Reader \x3d function Transit$Reader(unmarshaller, options) {\n this.unmarshaller \x3d unmarshaller;\n this.options \x3d options || {};\n this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.ReadCache();\n };\n reader.Reader.prototype.read \x3d function(str) {\n var ret \x3d this.unmarshaller.unmarshal(str, this.cache);\n this.cache.clear();\n return ret;\n };\n reader.Reader.prototype[\x22read\x22] \x3d reader.Reader.prototype.read;\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.handlers.js", true , "goog.provide(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var handlers \x3d com.cognitect.transit.handlers, util \x3d com.cognitect.transit.util, types \x3d com.cognitect.transit.types, Long \x3d goog.math.Long;\n handlers.ctorGuid \x3d 0;\n handlers.ctorGuidProperty \x3d \x22transit$guid$\x22 + util.randomUUID();\n handlers.typeTag \x3d function(ctor) {\n if (ctor \x3d\x3d null) {\n return \x22null\x22;\n } else if (ctor \x3d\x3d\x3d String) {\n return \x22string\x22;\n } else if (ctor \x3d\x3d\x3d Boolean) {\n return \x22boolean\x22;\n } else if (ctor \x3d\x3d\x3d Number) {\n return \x22number\x22;\n } else if (ctor \x3d\x3d\x3d Array) {\n return \x22array\x22;\n } else if (ctor \x3d\x3d\x3d Object) {\n return \x22map\x22;\n } else {\n var tag \x3d ctor[handlers.ctorGuidProperty];\n if (tag \x3d\x3d null) {\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n tag \x3d ++handlers.ctorGuid;\n Object.defineProperty(ctor, handlers.ctorGuidProperty, {value:tag, enumerable:false});\n } else {\n ctor[handlers.ctorGuidProperty] \x3d tag \x3d ++handlers.ctorGuid;\n }\n }\n return tag;\n }\n };\n handlers.constructor \x3d function(x) {\n if (x \x3d\x3d null) {\n return null;\n } else {\n return x.constructor;\n }\n };\n handlers.padZeros \x3d function(n, m) {\n var s \x3d n.toString();\n for (var i \x3d s.length; i \x3c m; i++) {\n s \x3d \x220\x22 + s;\n }\n return s;\n };\n handlers.stringableKeys \x3d function(m) {\n var stringable \x3d false, ks \x3d util.objectKeys(m);\n for (var i \x3d 0; i \x3c ks.length; i++) {\n }\n return true;\n };\n handlers.NilHandler \x3d function Transit$NilHandler() {\n };\n handlers.NilHandler.prototype.tag \x3d function(v) {\n return \x22_\x22;\n };\n handlers.NilHandler.prototype.rep \x3d function(v) {\n return null;\n };\n handlers.NilHandler.prototype.stringRep \x3d function(v) {\n return \x22null\x22;\n };\n handlers.StringHandler \x3d function Transit$StringHandler() {\n };\n handlers.StringHandler.prototype.tag \x3d function(v) {\n return \x22s\x22;\n };\n handlers.StringHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.StringHandler.prototype.stringRep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler \x3d function Transit$NumberHandler() {\n };\n handlers.NumberHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.NumberHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler \x3d function Transit$IntegerHandler() {\n };\n handlers.IntegerHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.IntegerHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.BooleanHandler \x3d function Transit$BooleanHandler() {\n };\n handlers.BooleanHandler.prototype.tag \x3d function(v) {\n return \x22?\x22;\n };\n handlers.BooleanHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.BooleanHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.ArrayHandler \x3d function Transit$ArrayHandler() {\n };\n handlers.ArrayHandler.prototype.tag \x3d function(v) {\n return \x22array\x22;\n };\n handlers.ArrayHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.ArrayHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.MapHandler \x3d function Transit$MapHandler() {\n };\n handlers.MapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.MapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.MapHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.VerboseDateHandler \x3d function Transit$VerboseDateHandler() {\n };\n handlers.VerboseDateHandler.prototype.tag \x3d function(v) {\n return \x22t\x22;\n };\n handlers.VerboseDateHandler.prototype.rep \x3d function(v) {\n return v.getUTCFullYear() + \x22-\x22 + handlers.padZeros(v.getUTCMonth() + 1, 2) + \x22-\x22 + handlers.padZeros(v.getUTCDate(), 2) + \x22T\x22 + handlers.padZeros(v.getUTCHours(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCMinutes(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCSeconds(), 2) + \x22.\x22 + handlers.padZeros(v.getUTCMilliseconds(), 3) + \x22Z\x22;\n };\n handlers.VerboseDateHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.DateHandler \x3d function Transit$DateHandler() {\n };\n handlers.DateHandler.prototype.tag \x3d function(v) {\n return \x22m\x22;\n };\n handlers.DateHandler.prototype.rep \x3d function(v) {\n return v.valueOf();\n };\n handlers.DateHandler.prototype.stringRep \x3d function(v) {\n return v.valueOf().toString();\n };\n handlers.DateHandler.prototype.getVerboseHandler \x3d function(v) {\n return new handlers.VerboseDateHandler();\n };\n handlers.UUIDHandler \x3d function Transit$UUIDHandler() {\n };\n handlers.UUIDHandler.prototype.tag \x3d function(v) {\n return \x22u\x22;\n };\n handlers.UUIDHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.UUIDHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.KeywordHandler \x3d function Transit$KeywordHandler() {\n };\n handlers.KeywordHandler.prototype.tag \x3d function(v) {\n return \x22:\x22;\n };\n handlers.KeywordHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.KeywordHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.SymbolHandler \x3d function Transit$SymbolHandler() {\n };\n handlers.SymbolHandler.prototype.tag \x3d function(v) {\n return \x22$\x22;\n };\n handlers.SymbolHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.SymbolHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.TaggedHandler \x3d function Transit$TaggedHandler() {\n };\n handlers.TaggedHandler.prototype.tag \x3d function(v) {\n return v.tag;\n };\n handlers.TaggedHandler.prototype.rep \x3d function(v) {\n return v.rep;\n };\n handlers.TaggedHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitSetHandler \x3d function Transit$TransitSetHandler() {\n };\n handlers.TransitSetHandler.prototype.tag \x3d function(v) {\n return \x22set\x22;\n };\n handlers.TransitSetHandler.prototype.rep \x3d function(v) {\n var arr \x3d [];\n v.forEach(function(key, set) {\n arr.push(key);\n });\n return types.taggedValue(\x22array\x22, arr);\n };\n handlers.TransitSetHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitArrayMapHandler \x3d function Transit$ArrayMapHandler() {\n };\n handlers.TransitArrayMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitArrayMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitArrayMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitMapHandler \x3d function Transit$MapHandler() {\n };\n handlers.TransitMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.BufferHandler \x3d function Transit$BufferHandler() {\n };\n handlers.BufferHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.BufferHandler.prototype.rep \x3d function(v) {\n return v.toString(\x22base64\x22);\n };\n handlers.BufferHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.Uint8ArrayHandler \x3d function Transit$Uint8ArrayHandler() {\n };\n handlers.Uint8ArrayHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.Uint8ArrayHandler.prototype.rep \x3d function(v) {\n return util.Uint8ToBase64(v);\n };\n handlers.Uint8ArrayHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.defaultHandlers \x3d function(hs) {\n hs.set(null, new handlers.NilHandler());\n hs.set(String, new handlers.StringHandler());\n hs.set(Number, new handlers.NumberHandler());\n hs.set(Long, new handlers.IntegerHandler());\n hs.set(Boolean, new handlers.BooleanHandler());\n hs.set(Array, new handlers.ArrayHandler());\n hs.set(Object, new handlers.MapHandler());\n hs.set(Date, new handlers.DateHandler());\n hs.set(types.UUID, new handlers.UUIDHandler());\n hs.set(types.Keyword, new handlers.KeywordHandler());\n hs.set(types.Symbol, new handlers.SymbolHandler());\n hs.set(types.TaggedValue, new handlers.TaggedHandler());\n hs.set(types.TransitSet, new handlers.TransitSetHandler());\n hs.set(types.TransitArrayMap, new handlers.TransitArrayMapHandler());\n hs.set(types.TransitMap, new handlers.TransitMapHandler());\n if (typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n hs.set(goog.global.Buffer, new handlers.BufferHandler());\n }\n if (typeof Uint8Array !\x3d \x22undefined\x22) {\n hs.set(Uint8Array, new handlers.Uint8ArrayHandler());\n }\n return hs;\n };\n handlers.Handlers \x3d function Transit$Handlers() {\n this.handlers \x3d {};\n handlers.defaultHandlers(this);\n };\n handlers.Handlers.prototype.get \x3d function(ctor) {\n var h \x3d null;\n if (typeof ctor \x3d\x3d\x3d \x22string\x22) {\n h \x3d this.handlers[ctor];\n } else {\n h \x3d this.handlers[handlers.typeTag(ctor)];\n }\n if (h !\x3d null) {\n return h;\n } else {\n return this.handlers[\x22default\x22];\n }\n };\n handlers.Handlers.prototype[\x22get\x22] \x3d handlers.Handlers.prototype.get;\n handlers.validTag \x3d function(tag) {\n switch(tag) {\n case \x22null\x22:\n case \x22string\x22:\n case \x22boolean\x22:\n case \x22number\x22:\n case \x22array\x22:\n case \x22map\x22:\n return false;\n break;\n }\n return true;\n };\n handlers.Handlers.prototype.set \x3d function(ctor, handler) {\n if (typeof ctor \x3d\x3d\x3d \x22string\x22 \x26\x26 handlers.validTag(ctor)) {\n this.handlers[ctor] \x3d handler;\n } else {\n this.handlers[handlers.typeTag(ctor)] \x3d handler;\n }\n };\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.impl.writer.js", true , "goog.provide(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var writer \x3d com.cognitect.transit.impl.writer, util \x3d com.cognitect.transit.util, caching \x3d com.cognitect.transit.caching, handlers \x3d com.cognitect.transit.handlers, types \x3d com.cognitect.transit.types, d \x3d com.cognitect.transit.delimiters, Long \x3d goog.math.Long;\n writer.escape \x3d function(string) {\n if (string.length \x3e 0) {\n var c \x3d string.charAt(0);\n if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n return d.ESC + string;\n } else {\n return string;\n }\n } else {\n return string;\n }\n };\n writer.JSONMarshaller \x3d function Transit$JSONMarshaller(opts) {\n this.opts \x3d opts || {};\n this.preferStrings \x3d this.opts[\x22preferStrings\x22] !\x3d null ? this.opts[\x22preferStrings\x22] : true;\n this.objectBuilder \x3d this.opts[\x22objectBuilder\x22] || null;\n this.transform \x3d this.opts[\x22transform\x22] || null;\n this.handlers \x3d new handlers.Handlers();\n var optsHandlers \x3d this.opts[\x22handlers\x22];\n if (optsHandlers) {\n if (util.isArray(optsHandlers) || !optsHandlers.forEach) {\n throw new Error(\x27transit writer \x22handlers\x22 option must be a map\x27);\n }\n var self \x3d this;\n optsHandlers.forEach(function(v, k) {\n if (k !\x3d\x3d undefined) {\n self.handlers.set(k, v);\n } else {\n throw new Error(\x22Cannot create handler for JavaScript undefined\x22);\n }\n });\n }\n this.handlerForForeign \x3d this.opts[\x22handlerForForeign\x22];\n this.unpack \x3d this.opts[\x22unpack\x22] || function(x) {\n if (types.isArrayMap(x) \x26\x26 x.backingMap \x3d\x3d\x3d null) {\n return x._entries;\n } else {\n return false;\n }\n };\n this.verbose \x3d this.opts \x26\x26 this.opts[\x22verbose\x22] || false;\n };\n writer.JSONMarshaller.prototype.handler \x3d function(obj) {\n var h \x3d this.handlers.get(handlers.constructor(obj));\n if (h !\x3d null) {\n return h;\n } else {\n var tag \x3d obj \x26\x26 obj[\x22transitTag\x22];\n if (tag) {\n return this.handlers.get(tag);\n } else {\n return null;\n }\n }\n };\n writer.JSONMarshaller.prototype.registerHandler \x3d function(ctor, handler) {\n this.handlers.set(ctor, handler);\n };\n writer.JSONMarshaller.prototype.emitNil \x3d function(asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22_\x22, \x22\x22, asMapKey, cache);\n } else {\n return null;\n }\n };\n writer.JSONMarshaller.prototype.emitString \x3d function(prefix, tag, s, asMapKey, cache) {\n var string \x3d prefix + tag + s;\n if (cache) {\n return cache.write(string, asMapKey);\n } else {\n return string;\n }\n };\n writer.JSONMarshaller.prototype.emitBoolean \x3d function(b, asMapKey, cache) {\n if (asMapKey) {\n var s \x3d b.toString();\n return this.emitString(d.ESC, \x22?\x22, s[0], asMapKey, cache);\n } else {\n return b;\n }\n };\n writer.JSONMarshaller.prototype.emitInteger \x3d function(i, asMapKey, cache) {\n if (i \x3d\x3d\x3d Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22INF\x22, asMapKey, cache);\n } else if (i \x3d\x3d\x3d -Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22-INF\x22, asMapKey, cache);\n } else if (isNaN(i)) {\n return this.emitString(d.ESC, \x22z\x22, \x22NaN\x22, asMapKey, cache);\n } else if (asMapKey || typeof i \x3d\x3d\x3d \x22string\x22 || i instanceof Long) {\n return this.emitString(d.ESC, \x22i\x22, i.toString(), asMapKey, cache);\n } else {\n return i;\n }\n };\n writer.JSONMarshaller.prototype.emitDouble \x3d function(d, asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22d\x22, d, asMapKey, cache);\n } else {\n return d;\n }\n };\n writer.JSONMarshaller.prototype.emitBinary \x3d function(b, asMapKey, cache) {\n return this.emitString(d.ESC, \x22b\x22, b, asMapKey, cache);\n };\n writer.JSONMarshaller.prototype.emitQuoted \x3d function(em, obj, cache) {\n if (em.verbose) {\n var ret \x3d {}, k \x3d this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache);\n ret[k] \x3d writer.marshal(this, obj, false, cache);\n return ret;\n } else {\n return [this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache), writer.marshal(this, obj, false, cache)];\n }\n };\n writer.emitObjects \x3d function(em, iterable, cache) {\n var ret \x3d [];\n if (util.isArray(iterable)) {\n for (var i \x3d 0; i \x3c iterable.length; i++) {\n ret.push(writer.marshal(em, iterable[i], false, cache));\n }\n } else {\n iterable.forEach(function(v, i) {\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n };\n writer.emitArray \x3d function(em, iterable, skip, cache) {\n return writer.emitObjects(em, iterable, cache);\n };\n writer.isStringableKey \x3d function(em, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n var h \x3d em.handler(k);\n return h \x26\x26 h.tag(k).length \x3d\x3d\x3d 1;\n } else {\n return true;\n }\n };\n writer.stringableKeys \x3d function(em, obj) {\n var arr \x3d em.unpack(obj), stringableKeys \x3d true;\n if (arr) {\n for (var i \x3d 0; i \x3c arr.length; i +\x3d 2) {\n stringableKeys \x3d writer.isStringableKey(em, arr[i]);\n if (!stringableKeys) {\n break;\n }\n }\n return stringableKeys;\n } else if (obj.keys) {\n var iter \x3d obj.keys(), step \x3d null;\n if (iter.next) {\n step \x3d iter.next();\n while (!step.done) {\n stringableKeys \x3d writer.isStringableKey(em, step.value);\n if (!stringableKeys) {\n break;\n }\n step \x3d iter.next();\n }\n return stringableKeys;\n }\n }\n if (obj.forEach) {\n obj.forEach(function(v, k) {\n stringableKeys \x3d stringableKeys \x26\x26 writer.isStringableKey(em, k);\n });\n return stringableKeys;\n } else {\n throw new Error(\x22Cannot walk keys of object type \x22 + handlers.constructor(obj).name);\n }\n };\n writer.isForeignObject \x3d function(x) {\n if (x.constructor[\x22transit$isObject\x22]) {\n return true;\n }\n var ret \x3d x.constructor.toString();\n ret \x3d ret.substr(\x22function \x22.length);\n ret \x3d ret.substr(0, ret.indexOf(\x22(\x22));\n var isObject \x3d ret \x3d\x3d \x22Object\x22;\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n Object.defineProperty(x.constructor, \x22transit$isObject\x22, {value:isObject, enumerable:false});\n } else {\n x.constructor[\x22transit$isObject\x22] \x3d isObject;\n }\n return isObject;\n };\n writer.emitMap \x3d function(em, obj, skip, cache) {\n var arr \x3d null, rep \x3d null, tag \x3d null, ks \x3d null, i \x3d 0;\n if (obj.constructor \x3d\x3d\x3d Object || obj.forEach !\x3d null || em.handlerForForeign \x26\x26 writer.isForeignObject(obj)) {\n if (em.verbose) {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n var ret \x3d {};\n obj.forEach(function(v, k) {\n ret[writer.marshal(em, k, true, false)] \x3d writer.marshal(em, v, false, cache);\n });\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n rep.push(writer.marshal(em, arr[i], false, false));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, false));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n ret \x3d {};\n ret[tag] \x3d rep;\n return ret;\n }\n } else {\n ks \x3d util.objectKeys(obj);\n ret \x3d {};\n for (; i \x3c ks.length; i++) {\n ret[writer.marshal(em, ks[i], true, false)] \x3d writer.marshal(em, obj[ks[i]], false, cache);\n }\n return ret;\n }\n } else {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n arr \x3d em.unpack(obj);\n ret \x3d [\x22^ \x22];\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n ret.push(writer.marshal(em, arr[i], true, cache));\n ret.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n ret.push(writer.marshal(em, k, true, cache));\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n rep.push(writer.marshal(em, arr[i], false, cache));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, cache));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n return [tag, rep];\n }\n } else {\n ret \x3d [\x22^ \x22];\n ks \x3d util.objectKeys(obj);\n for (; i \x3c ks.length; i++) {\n ret.push(writer.marshal(em, ks[i], true, cache));\n ret.push(writer.marshal(em, obj[ks[i]], false, cache));\n }\n return ret;\n }\n }\n } else if (em.objectBuilder !\x3d null) {\n return em.objectBuilder(obj, function(k) {\n return writer.marshal(em, k, true, cache);\n }, function(v) {\n return writer.marshal(em, v, false, cache);\n });\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.emitTaggedMap \x3d function(em, tag, rep, skip, cache) {\n if (em.verbose) {\n var ret \x3d {};\n ret[em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache)] \x3d writer.marshal(em, rep, false, cache);\n return ret;\n } else {\n return [em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache), writer.marshal(em, rep, false, cache)];\n }\n };\n writer.emitEncoded \x3d function(em, h, tag, rep, obj, asMapKey, cache) {\n if (tag.length \x3d\x3d\x3d 1) {\n if (typeof rep \x3d\x3d\x3d \x22string\x22) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else if (asMapKey || em.preferStrings) {\n var vh \x3d em.verbose \x26\x26 h.getVerboseHandler();\n if (vh) {\n tag \x3d vh.tag(obj);\n rep \x3d vh.stringRep(obj, vh);\n } else {\n rep \x3d h.stringRep(obj, h);\n }\n if (rep !\x3d\x3d null) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else {\n var err \x3d new Error(\x27Tag \x22\x27 + tag + \x27\x22 cannot be encoded as string\x27);\n err.data \x3d {tag:tag, rep:rep, obj:obj};\n throw err;\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n };\n writer.marshal \x3d function(em, obj, asMapKey, cache) {\n if (em.transform !\x3d\x3d null) {\n obj \x3d em.transform(obj);\n }\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null), tag \x3d h ? h.tag(obj) : null, rep \x3d h ? h.rep(obj) : null;\n if (h !\x3d null \x26\x26 tag !\x3d null) {\n switch(tag) {\n case \x22_\x22:\n return em.emitNil(asMapKey, cache);\n break;\n case \x22s\x22:\n return em.emitString(\x22\x22, \x22\x22, writer.escape(rep), asMapKey, cache);\n break;\n case \x22?\x22:\n return em.emitBoolean(rep, asMapKey, cache);\n break;\n case \x22i\x22:\n return em.emitInteger(rep, asMapKey, cache);\n break;\n case \x22d\x22:\n return em.emitDouble(rep, asMapKey, cache);\n break;\n case \x22b\x22:\n return em.emitBinary(rep, asMapKey, cache);\n break;\n case \x22\x27\x22:\n return em.emitQuoted(em, rep, cache);\n break;\n case \x22array\x22:\n return writer.emitArray(em, rep, asMapKey, cache);\n break;\n case \x22map\x22:\n return writer.emitMap(em, rep, asMapKey, cache);\n break;\n default:\n return writer.emitEncoded(em, h, tag, rep, obj, asMapKey, cache);\n break;\n }\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.maybeQuoted \x3d function(em, obj) {\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n if (h !\x3d null) {\n if (h.tag(obj).length \x3d\x3d\x3d 1) {\n return types.quoted(obj);\n } else {\n return obj;\n }\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.marshalTop \x3d function(em, obj, asMapKey, cache) {\n return JSON.stringify(writer.marshal(em, writer.maybeQuoted(em, obj), asMapKey, cache));\n };\n writer.Writer \x3d function Transit$Writer(marshaller, options) {\n this._marshaller \x3d marshaller;\n this.options \x3d options || {};\n if (this.options[\x22cache\x22] \x3d\x3d\x3d false) {\n this.cache \x3d null;\n } else {\n this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.WriteCache();\n }\n };\n writer.Writer.prototype.marshaller \x3d function() {\n return this._marshaller;\n };\n writer.Writer.prototype[\x22marshaller\x22] \x3d writer.Writer.prototype.marshaller;\n writer.Writer.prototype.write \x3d function(obj, opts) {\n var ret \x3d null, ropts \x3d opts || {}, asMapKey \x3d ropts[\x22asMapKey\x22] || false, cache \x3d this._marshaller.verbose ? false : this.cache;\n if (ropts[\x22marshalTop\x22] \x3d\x3d\x3d false) {\n ret \x3d writer.marshal(this._marshaller, obj, asMapKey, cache);\n } else {\n ret \x3d writer.marshalTop(this._marshaller, obj, asMapKey, cache);\n }\n if (this.cache !\x3d null) {\n this.cache.clear();\n }\n return ret;\n };\n writer.Writer.prototype[\x22write\x22] \x3d writer.Writer.prototype.write;\n writer.Writer.prototype.register \x3d function(type, handler) {\n this._marshaller.registerHandler(type, handler);\n };\n writer.Writer.prototype[\x22register\x22] \x3d writer.Writer.prototype.register;\n});\n"); +SHADOW_ENV.evalLoad("com.cognitect.transit.js", true , "goog.provide(\x22com.cognitect.transit\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\nvar TRANSIT_DEV \x3d true;\nvar TRANSIT_NODE_TARGET \x3d false;\nvar TRANSIT_BROWSER_TARGET \x3d false;\nvar TRANSIT_BROWSER_AMD_TARGET \x3d false;\ngoog.scope(function() {\n var transit \x3d com.cognitect.transit;\n var util \x3d com.cognitect.transit.util, reader \x3d com.cognitect.transit.impl.reader, writer \x3d com.cognitect.transit.impl.writer, decoder \x3d com.cognitect.transit.impl.decoder, types \x3d com.cognitect.transit.types, eq \x3d com.cognitect.transit.eq, caching \x3d com.cognitect.transit.caching;\n transit.MapLike;\n transit.SetLike;\n transit.reader \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n type \x3d \x22json\x22;\n var unmarshaller \x3d new reader.JSONUnmarshaller(opts);\n return new reader.Reader(unmarshaller, opts);\n } else {\n throw new Error(\x22Cannot create reader of type \x22 + type);\n }\n };\n transit.writer \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n if (type \x3d\x3d\x3d \x22json-verbose\x22) {\n if (opts \x3d\x3d null) {\n opts \x3d {};\n }\n opts[\x22verbose\x22] \x3d true;\n }\n var marshaller \x3d new writer.JSONMarshaller(opts);\n return new writer.Writer(marshaller, opts);\n } else {\n var err \x3d new Error(\x27Type must be \x22json\x22\x27);\n err.data \x3d {type:type};\n throw err;\n }\n };\n transit.makeWriteHandler \x3d function(obj) {\n var Handler \x3d function() {\n };\n Handler.prototype.tag \x3d obj[\x22tag\x22];\n Handler.prototype.rep \x3d obj[\x22rep\x22];\n Handler.prototype.stringRep \x3d obj[\x22stringRep\x22];\n Handler.prototype.getVerboseHandler \x3d obj[\x22getVerboseHandler\x22];\n return new Handler();\n };\n transit.makeBuilder \x3d function(obj) {\n var Builder \x3d function() {\n };\n Builder.prototype.init \x3d obj[\x22init\x22];\n Builder.prototype.add \x3d obj[\x22add\x22];\n Builder.prototype.finalize \x3d obj[\x22finalize\x22];\n Builder.prototype.fromArray \x3d obj[\x22fromArray\x22];\n return new Builder();\n };\n transit.date \x3d types.date;\n transit.integer \x3d types.intValue;\n transit.isInteger \x3d types.isInteger;\n transit.uuid \x3d types.uuid;\n transit.isUUID \x3d types.isUUID;\n transit.bigInt \x3d types.bigInteger;\n transit.isBigInt \x3d types.isBigInteger;\n transit.bigDec \x3d types.bigDecimalValue;\n transit.isBigDec \x3d types.isBigDecimal;\n transit.keyword \x3d types.keyword;\n transit.isKeyword \x3d types.isKeyword;\n transit.symbol \x3d types.symbol;\n transit.isSymbol \x3d types.isSymbol;\n transit.binary \x3d types.binary;\n transit.isBinary \x3d types.isBinary;\n transit.uri \x3d types.uri;\n transit.isURI \x3d types.isURI;\n transit.map \x3d types.map;\n transit.isMap \x3d types.isMap;\n transit.set \x3d types.set;\n transit.isSet \x3d types.isSet;\n transit.list \x3d types.list;\n transit.isList \x3d types.isList;\n transit.quoted \x3d types.quoted;\n transit.isQuoted \x3d types.isQuoted;\n transit.tagged \x3d types.taggedValue;\n transit.isTaggedValue \x3d types.isTaggedValue;\n transit.link \x3d types.link;\n transit.isLink \x3d types.isLink;\n transit.hash \x3d eq.hashCode;\n transit.hashMapLike \x3d eq.hashMapLike;\n transit.hashArrayLike \x3d eq.hashArrayLike;\n transit.equals \x3d eq.equals;\n transit.extendToEQ \x3d eq.extendToEQ;\n transit.mapToObject \x3d function(m) {\n var ret \x3d {};\n m.forEach(function(v, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n throw Error(\x22Cannot convert map with non-string keys\x22);\n } else {\n ret[k] \x3d v;\n }\n });\n return ret;\n };\n transit.objectToMap \x3d function(obj) {\n var ret \x3d transit.map();\n for (var p in obj) {\n if (obj.hasOwnProperty(p)) {\n ret.set(p, obj[p]);\n }\n }\n return ret;\n };\n transit.decoder \x3d decoder.decoder;\n transit.readCache \x3d caching.readCache;\n transit.writeCache \x3d caching.writeCache;\n transit.UUIDfromString \x3d types.UUIDfromString;\n transit.randomUUID \x3d util.randomUUID;\n transit.stringableKeys \x3d writer.stringableKeys;\n if (TRANSIT_BROWSER_TARGET) {\n goog.exportSymbol(\x22transit.reader\x22, transit.reader);\n goog.exportSymbol(\x22transit.writer\x22, transit.writer);\n goog.exportSymbol(\x22transit.makeBuilder\x22, transit.makeBuilder);\n goog.exportSymbol(\x22transit.makeWriteHandler\x22, transit.makeWriteHandler);\n goog.exportSymbol(\x22transit.date\x22, types.date);\n goog.exportSymbol(\x22transit.integer\x22, types.intValue);\n goog.exportSymbol(\x22transit.isInteger\x22, types.isInteger);\n goog.exportSymbol(\x22transit.uuid\x22, types.uuid);\n goog.exportSymbol(\x22transit.isUUID\x22, types.isUUID);\n goog.exportSymbol(\x22transit.bigInt\x22, types.bigInteger);\n goog.exportSymbol(\x22transit.isBigInt\x22, types.isBigInteger);\n goog.exportSymbol(\x22transit.bigDec\x22, types.bigDecimalValue);\n goog.exportSymbol(\x22transit.isBigDec\x22, types.isBigDecimal);\n goog.exportSymbol(\x22transit.keyword\x22, types.keyword);\n goog.exportSymbol(\x22transit.isKeyword\x22, types.isKeyword);\n goog.exportSymbol(\x22transit.symbol\x22, types.symbol);\n goog.exportSymbol(\x22transit.isSymbol\x22, types.isSymbol);\n goog.exportSymbol(\x22transit.binary\x22, types.binary);\n goog.exportSymbol(\x22transit.isBinary\x22, types.isBinary);\n goog.exportSymbol(\x22transit.uri\x22, types.uri);\n goog.exportSymbol(\x22transit.isURI\x22, types.isURI);\n goog.exportSymbol(\x22transit.map\x22, types.map);\n goog.exportSymbol(\x22transit.isMap\x22, types.isMap);\n goog.exportSymbol(\x22transit.set\x22, types.set);\n goog.exportSymbol(\x22transit.isSet\x22, types.isSet);\n goog.exportSymbol(\x22transit.list\x22, types.list);\n goog.exportSymbol(\x22transit.isList\x22, types.isList);\n goog.exportSymbol(\x22transit.quoted\x22, types.quoted);\n goog.exportSymbol(\x22transit.isQuoted\x22, types.isQuoted);\n goog.exportSymbol(\x22transit.tagged\x22, types.taggedValue);\n goog.exportSymbol(\x22transit.isTaggedValue\x22, types.isTaggedValue);\n goog.exportSymbol(\x22transit.link\x22, types.link);\n goog.exportSymbol(\x22transit.isLink\x22, types.isLink);\n goog.exportSymbol(\x22transit.hash\x22, eq.hashCode);\n goog.exportSymbol(\x22transit.hashMapLike\x22, eq.hashMapLike);\n goog.exportSymbol(\x22transit.hashArrayLike\x22, eq.hashArrayLike);\n goog.exportSymbol(\x22transit.equals\x22, eq.equals);\n goog.exportSymbol(\x22transit.extendToEQ\x22, eq.extendToEQ);\n goog.exportSymbol(\x22transit.mapToObject\x22, transit.mapToObject);\n goog.exportSymbol(\x22transit.objectToMap\x22, transit.objectToMap);\n goog.exportSymbol(\x22transit.decoder\x22, decoder.decoder);\n goog.exportSymbol(\x22transit.UUIDfromString\x22, types.UUIDfromString);\n goog.exportSymbol(\x22transit.randomUUID\x22, util.randomUUID);\n goog.exportSymbol(\x22transit.stringableKeys\x22, writer.stringableKeys);\n goog.exportSymbol(\x22transit.readCache\x22, caching.readCache);\n goog.exportSymbol(\x22transit.writeCache\x22, caching.writeCache);\n }\n if (TRANSIT_NODE_TARGET) {\n module.exports \x3d {reader:transit.reader, writer:transit.writer, makeBuilder:transit.makeBuilder, makeWriteHandler:transit.makeWriteHandler, date:types.date, integer:types.intValue, isInteger:types.isInteger, uuid:types.uuid, isUUID:types.isUUID, bigInt:types.bigInteger, isBigInt:types.isBigInteger, bigDec:types.bigDecimalValue, isBigDec:types.isBigDecimal, keyword:types.keyword, isKeyword:types.isKeyword, symbol:types.symbol, isSymbol:types.isSymbol, binary:types.binary, isBinary:types.isBinary, \n uri:types.uri, isURI:types.isURI, map:types.map, isMap:types.isMap, set:types.set, isSet:types.isSet, list:types.list, isList:types.isList, quoted:types.quoted, isQuoted:types.isQuoted, tagged:types.taggedValue, isTaggedValue:types.isTaggedValue, link:types.link, isLink:types.isLink, hash:eq.hashCode, hashArrayLike:eq.hashArrayLike, hashMapLike:eq.hashMapLike, equals:eq.equals, extendToEQ:eq.extendToEQ, mapToObject:transit.mapToObject, objectToMap:transit.objectToMap, decoder:decoder.decoder, \n UUIDfromString:types.UUIDfromString, randomUUID:util.randomUUID, stringableKeys:writer.stringableKeys, readCache:caching.readCache, writeCache:caching.writeCache};\n }\n});\n"); +SHADOW_ENV.evalLoad("cognitect.transit.js", true , "goog.provide(\x27cognitect.transit\x27);\ngoog.scope(function(){\n cognitect.transit.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cognitect.transit.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n});\n(cljs.core.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.uuid);\n} else {\nif((other instanceof com.cognitect.transit.types.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.toString());\n} else {\nreturn false;\n\n}\n}\n}));\n(cljs.core.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn other.cljs$core$IEquiv$_equiv$arity$2(null,this$__$1);\n} else {\nreturn this$__$1.equiv(other);\n}\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.hash(this$__$1.toString());\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (uuid,writer,_){\nvar uuid__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(uuid__$1.toString()),\x22\\\x22\x22].join(\x27\x27));\n}));\ncognitect.transit.opts_merge \x3d (function cognitect$transit$opts_merge(a,b){\nvar seq__17554_17874 \x3d cljs.core.seq(cljs.core.js_keys(b));\nvar chunk__17556_17875 \x3d null;\nvar count__17557_17876 \x3d (0);\nvar i__17558_17877 \x3d (0);\nwhile(true){\nif((i__17558_17877 \x3c count__17557_17876)){\nvar k_17878 \x3d chunk__17556_17875.cljs$core$IIndexed$_nth$arity$2(null,i__17558_17877);\nvar v_17879 \x3d cognitect.transit.goog$module$goog$object.get(b,k_17878);\ncognitect.transit.goog$module$goog$object.set(a,k_17878,v_17879);\n\n\nvar G__17880 \x3d seq__17554_17874;\nvar G__17881 \x3d chunk__17556_17875;\nvar G__17882 \x3d count__17557_17876;\nvar G__17883 \x3d (i__17558_17877 + (1));\nseq__17554_17874 \x3d G__17880;\nchunk__17556_17875 \x3d G__17881;\ncount__17557_17876 \x3d G__17882;\ni__17558_17877 \x3d G__17883;\ncontinue;\n} else {\nvar temp__5804__auto___17885 \x3d cljs.core.seq(seq__17554_17874);\nif(temp__5804__auto___17885){\nvar seq__17554_17886__$1 \x3d temp__5804__auto___17885;\nif(cljs.core.chunked_seq_QMARK_(seq__17554_17886__$1)){\nvar c__5568__auto___17887 \x3d cljs.core.chunk_first(seq__17554_17886__$1);\nvar G__17888 \x3d cljs.core.chunk_rest(seq__17554_17886__$1);\nvar G__17889 \x3d c__5568__auto___17887;\nvar G__17890 \x3d cljs.core.count(c__5568__auto___17887);\nvar G__17891 \x3d (0);\nseq__17554_17874 \x3d G__17888;\nchunk__17556_17875 \x3d G__17889;\ncount__17557_17876 \x3d G__17890;\ni__17558_17877 \x3d G__17891;\ncontinue;\n} else {\nvar k_17892 \x3d cljs.core.first(seq__17554_17886__$1);\nvar v_17893 \x3d cognitect.transit.goog$module$goog$object.get(b,k_17892);\ncognitect.transit.goog$module$goog$object.set(a,k_17892,v_17893);\n\n\nvar G__17894 \x3d cljs.core.next(seq__17554_17886__$1);\nvar G__17895 \x3d null;\nvar G__17896 \x3d (0);\nvar G__17897 \x3d (0);\nseq__17554_17874 \x3d G__17894;\nchunk__17556_17875 \x3d G__17895;\ncount__17557_17876 \x3d G__17896;\ni__17558_17877 \x3d G__17897;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn a;\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.MapBuilder \x3d (function (){\n});\n(cognitect.transit.MapBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cognitect.transit.MapBuilder.prototype.add \x3d (function (m,k,v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}));\n\n(cognitect.transit.MapBuilder.prototype.finalize \x3d (function (m,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(m);\n}));\n\n(cognitect.transit.MapBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3 ? cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3(arr,true,true) : cljs.core.PersistentArrayMap.fromArray.call(null,arr,true,true));\n}));\n\n(cognitect.transit.MapBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapBuilder\x22);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapBuilder.\n */\ncognitect.transit.__GT_MapBuilder \x3d (function cognitect$transit$__GT_MapBuilder(){\nreturn (new cognitect.transit.MapBuilder());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorBuilder \x3d (function (){\n});\n(cognitect.transit.VectorBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.add \x3d (function (v,x,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,x);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.finalize \x3d (function (v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(v);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2 ? cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2(arr,true) : cljs.core.PersistentVector.fromArray.call(null,arr,true));\n}));\n\n(cognitect.transit.VectorBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorBuilder\x22);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorBuilder.\n */\ncognitect.transit.__GT_VectorBuilder \x3d (function cognitect$transit$__GT_VectorBuilder(){\nreturn (new cognitect.transit.VectorBuilder());\n});\n\n/**\n * Return a transit reader. type may be either :json or :json-verbose.\n * opts may be a map optionally containing a :handlers entry. The value\n * of :handlers should be map from string tag to a decoder function of one\n * argument which returns the in-memory representation of the semantic transit\n * value. If a :default handler is provided, it will be used when no matching\n * read handler can be found.\n */\ncognitect.transit.reader \x3d (function cognitect$transit$reader(var_args){\nvar G__17572 \x3d arguments.length;\nswitch (G__17572) {\ncase 1:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nreturn com.cognitect.transit.reader(cljs.core.name(type),cognitect.transit.opts_merge(({\x22handlers\x22: cljs.core.clj__GT_js(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 6, [\x22$\x22,(function (v){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22:\x22,(function (v){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22set\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,v);\n}),\x22list\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,v.reverse());\n}),\x22cmap\x22,(function (v){\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c v.length)){\nvar G__17909 \x3d (i + (2));\nvar G__17910 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,(v[i]),(v[(i + (1))]));\ni \x3d G__17909;\nret \x3d G__17910;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(ret);\n}\nbreak;\n}\n}),\x22with-meta\x22,(function (v){\nreturn cljs.core.with_meta((v[(0)]),(v[(1)]));\n})], null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))], 0))), \x22defaultHandler\x22: new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)), \x22mapBuilder\x22: (new cognitect.transit.MapBuilder()), \x22arrayBuilder\x22: (new cognitect.transit.VectorBuilder()), \x22preferStrings\x22: false, \x22preferBuffers\x22: false}),cljs.core.clj__GT_js(clojure.set.rename_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22array-builder\x22,\x22array-builder\x22,1275998041),new cljs.core.Keyword(null,\x22arrayBuilder\x22,\x22arrayBuilder\x22,1446317421),new cljs.core.Keyword(null,\x22map-builder\x22,\x22map-builder\x22,-1843343288),new cljs.core.Keyword(null,\x22mapBuilder\x22,\x22mapBuilder\x22,-278083754),new cljs.core.Keyword(null,\x22prefer-strings\x22,\x22prefer-strings\x22,1254507185),new cljs.core.Keyword(null,\x22preferStrings\x22,\x22preferStrings\x22,-1532249482),new cljs.core.Keyword(null,\x22prefer-buffers\x22,\x22prefer-buffers\x22,377042081),new cljs.core.Keyword(null,\x22preferBuffers\x22,\x22preferBuffers\x22,1843176451)], null)))));\n}));\n\n(cognitect.transit.reader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Read a transit encoded string into ClojureScript values given a\n * transit reader.\n */\ncognitect.transit.read \x3d (function cognitect$transit$read(r,str){\nreturn r.read(str);\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.KeywordHandler \x3d (function (){\n});\n(cognitect.transit.KeywordHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22:\x22;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.KeywordHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/KeywordHandler\x22);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/KeywordHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/KeywordHandler.\n */\ncognitect.transit.__GT_KeywordHandler \x3d (function cognitect$transit$__GT_KeywordHandler(){\nreturn (new cognitect.transit.KeywordHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SymbolHandler \x3d (function (){\n});\n(cognitect.transit.SymbolHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22$\x22;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SymbolHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SymbolHandler\x22);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SymbolHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SymbolHandler.\n */\ncognitect.transit.__GT_SymbolHandler \x3d (function cognitect$transit$__GT_SymbolHandler(){\nreturn (new cognitect.transit.SymbolHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.ListHandler \x3d (function (){\n});\n(cognitect.transit.ListHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22list\x22;\n}));\n\n(cognitect.transit.ListHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__17600_17920 \x3d cljs.core.seq(v);\nvar chunk__17601_17921 \x3d null;\nvar count__17602_17922 \x3d (0);\nvar i__17603_17923 \x3d (0);\nwhile(true){\nif((i__17603_17923 \x3c count__17602_17922)){\nvar x_17924 \x3d chunk__17601_17921.cljs$core$IIndexed$_nth$arity$2(null,i__17603_17923);\nret.push(x_17924);\n\n\nvar G__17927 \x3d seq__17600_17920;\nvar G__17928 \x3d chunk__17601_17921;\nvar G__17929 \x3d count__17602_17922;\nvar G__17930 \x3d (i__17603_17923 + (1));\nseq__17600_17920 \x3d G__17927;\nchunk__17601_17921 \x3d G__17928;\ncount__17602_17922 \x3d G__17929;\ni__17603_17923 \x3d G__17930;\ncontinue;\n} else {\nvar temp__5804__auto___17931 \x3d cljs.core.seq(seq__17600_17920);\nif(temp__5804__auto___17931){\nvar seq__17600_17935__$1 \x3d temp__5804__auto___17931;\nif(cljs.core.chunked_seq_QMARK_(seq__17600_17935__$1)){\nvar c__5568__auto___17940 \x3d cljs.core.chunk_first(seq__17600_17935__$1);\nvar G__17942 \x3d cljs.core.chunk_rest(seq__17600_17935__$1);\nvar G__17943 \x3d c__5568__auto___17940;\nvar G__17944 \x3d cljs.core.count(c__5568__auto___17940);\nvar G__17945 \x3d (0);\nseq__17600_17920 \x3d G__17942;\nchunk__17601_17921 \x3d G__17943;\ncount__17602_17922 \x3d G__17944;\ni__17603_17923 \x3d G__17945;\ncontinue;\n} else {\nvar x_17946 \x3d cljs.core.first(seq__17600_17935__$1);\nret.push(x_17946);\n\n\nvar G__17947 \x3d cljs.core.next(seq__17600_17935__$1);\nvar G__17948 \x3d null;\nvar G__17949 \x3d (0);\nvar G__17950 \x3d (0);\nseq__17600_17920 \x3d G__17947;\nchunk__17601_17921 \x3d G__17948;\ncount__17602_17922 \x3d G__17949;\ni__17603_17923 \x3d G__17950;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.ListHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.ListHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.ListHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/ListHandler\x22);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/ListHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/ListHandler.\n */\ncognitect.transit.__GT_ListHandler \x3d (function cognitect$transit$__GT_ListHandler(){\nreturn (new cognitect.transit.ListHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.MapHandler \x3d (function (){\n});\n(cognitect.transit.MapHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22map\x22;\n}));\n\n(cognitect.transit.MapHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v;\n}));\n\n(cognitect.transit.MapHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.MapHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapHandler\x22);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapHandler.\n */\ncognitect.transit.__GT_MapHandler \x3d (function cognitect$transit$__GT_MapHandler(){\nreturn (new cognitect.transit.MapHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SetHandler \x3d (function (){\n});\n(cognitect.transit.SetHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22set\x22;\n}));\n\n(cognitect.transit.SetHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__17615_17979 \x3d cljs.core.seq(v);\nvar chunk__17616_17980 \x3d null;\nvar count__17617_17981 \x3d (0);\nvar i__17618_17982 \x3d (0);\nwhile(true){\nif((i__17618_17982 \x3c count__17617_17981)){\nvar x_17983 \x3d chunk__17616_17980.cljs$core$IIndexed$_nth$arity$2(null,i__17618_17982);\nret.push(x_17983);\n\n\nvar G__17984 \x3d seq__17615_17979;\nvar G__17985 \x3d chunk__17616_17980;\nvar G__17986 \x3d count__17617_17981;\nvar G__17987 \x3d (i__17618_17982 + (1));\nseq__17615_17979 \x3d G__17984;\nchunk__17616_17980 \x3d G__17985;\ncount__17617_17981 \x3d G__17986;\ni__17618_17982 \x3d G__17987;\ncontinue;\n} else {\nvar temp__5804__auto___17988 \x3d cljs.core.seq(seq__17615_17979);\nif(temp__5804__auto___17988){\nvar seq__17615_17989__$1 \x3d temp__5804__auto___17988;\nif(cljs.core.chunked_seq_QMARK_(seq__17615_17989__$1)){\nvar c__5568__auto___17990 \x3d cljs.core.chunk_first(seq__17615_17989__$1);\nvar G__17991 \x3d cljs.core.chunk_rest(seq__17615_17989__$1);\nvar G__17992 \x3d c__5568__auto___17990;\nvar G__17993 \x3d cljs.core.count(c__5568__auto___17990);\nvar G__17994 \x3d (0);\nseq__17615_17979 \x3d G__17991;\nchunk__17616_17980 \x3d G__17992;\ncount__17617_17981 \x3d G__17993;\ni__17618_17982 \x3d G__17994;\ncontinue;\n} else {\nvar x_17995 \x3d cljs.core.first(seq__17615_17989__$1);\nret.push(x_17995);\n\n\nvar G__17996 \x3d cljs.core.next(seq__17615_17989__$1);\nvar G__17997 \x3d null;\nvar G__17998 \x3d (0);\nvar G__17999 \x3d (0);\nseq__17615_17979 \x3d G__17996;\nchunk__17616_17980 \x3d G__17997;\ncount__17617_17981 \x3d G__17998;\ni__17618_17982 \x3d G__17999;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.SetHandler.prototype.stringRep \x3d (function (){\nvar self__ \x3d this;\nvar v \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.SetHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SetHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SetHandler\x22);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SetHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SetHandler.\n */\ncognitect.transit.__GT_SetHandler \x3d (function cognitect$transit$__GT_SetHandler(){\nreturn (new cognitect.transit.SetHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorHandler \x3d (function (){\n});\n(cognitect.transit.VectorHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22array\x22;\n}));\n\n(cognitect.transit.VectorHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__17621_18000 \x3d cljs.core.seq(v);\nvar chunk__17622_18001 \x3d null;\nvar count__17623_18002 \x3d (0);\nvar i__17624_18003 \x3d (0);\nwhile(true){\nif((i__17624_18003 \x3c count__17623_18002)){\nvar x_18004 \x3d chunk__17622_18001.cljs$core$IIndexed$_nth$arity$2(null,i__17624_18003);\nret.push(x_18004);\n\n\nvar G__18005 \x3d seq__17621_18000;\nvar G__18006 \x3d chunk__17622_18001;\nvar G__18007 \x3d count__17623_18002;\nvar G__18008 \x3d (i__17624_18003 + (1));\nseq__17621_18000 \x3d G__18005;\nchunk__17622_18001 \x3d G__18006;\ncount__17623_18002 \x3d G__18007;\ni__17624_18003 \x3d G__18008;\ncontinue;\n} else {\nvar temp__5804__auto___18009 \x3d cljs.core.seq(seq__17621_18000);\nif(temp__5804__auto___18009){\nvar seq__17621_18010__$1 \x3d temp__5804__auto___18009;\nif(cljs.core.chunked_seq_QMARK_(seq__17621_18010__$1)){\nvar c__5568__auto___18011 \x3d cljs.core.chunk_first(seq__17621_18010__$1);\nvar G__18012 \x3d cljs.core.chunk_rest(seq__17621_18010__$1);\nvar G__18013 \x3d c__5568__auto___18011;\nvar G__18014 \x3d cljs.core.count(c__5568__auto___18011);\nvar G__18015 \x3d (0);\nseq__17621_18000 \x3d G__18012;\nchunk__17622_18001 \x3d G__18013;\ncount__17623_18002 \x3d G__18014;\ni__17624_18003 \x3d G__18015;\ncontinue;\n} else {\nvar x_18016 \x3d cljs.core.first(seq__17621_18010__$1);\nret.push(x_18016);\n\n\nvar G__18017 \x3d cljs.core.next(seq__17621_18010__$1);\nvar G__18018 \x3d null;\nvar G__18019 \x3d (0);\nvar G__18020 \x3d (0);\nseq__17621_18000 \x3d G__18017;\nchunk__17622_18001 \x3d G__18018;\ncount__17623_18002 \x3d G__18019;\ni__17624_18003 \x3d G__18020;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn ret;\n}));\n\n(cognitect.transit.VectorHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.VectorHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorHandler\x22);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorHandler.\n */\ncognitect.transit.__GT_VectorHandler \x3d (function cognitect$transit$__GT_VectorHandler(){\nreturn (new cognitect.transit.VectorHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.UUIDHandler \x3d (function (){\n});\n(cognitect.transit.UUIDHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22u\x22;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.uuid;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.rep(v);\n}));\n\n(cognitect.transit.UUIDHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.UUIDHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/UUIDHandler\x22);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/UUIDHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/UUIDHandler.\n */\ncognitect.transit.__GT_UUIDHandler \x3d (function cognitect$transit$__GT_UUIDHandler(){\nreturn (new cognitect.transit.UUIDHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMeta \x3d (function (value,meta){\nthis.value \x3d value;\nthis.meta \x3d meta;\n});\n\n(cognitect.transit.WithMeta.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cognitect.transit.WithMeta.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMeta\x22);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMeta\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMeta.\n */\ncognitect.transit.__GT_WithMeta \x3d (function cognitect$transit$__GT_WithMeta(value,meta){\nreturn (new cognitect.transit.WithMeta(value,meta));\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMetaHandler \x3d (function (){\n});\n(cognitect.transit.WithMetaHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22with-meta\x22;\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn com.cognitect.transit.tagged(\x22array\x22,[v.value,v.meta]);\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.WithMetaHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.WithMetaHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMetaHandler\x22);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMetaHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMetaHandler.\n */\ncognitect.transit.__GT_WithMetaHandler \x3d (function cognitect$transit$__GT_WithMetaHandler(){\nreturn (new cognitect.transit.WithMetaHandler());\n});\n\n/**\n * Return a transit writer. type maybe either :json or :json-verbose.\n * opts is a map with the following optional keys:\n * \n * :handlers - a map of type constructors to handler instances. Can optionally\n * provide a :default write handler which will be used if no\n * matching handler can be found.\n * :transform - a function of one argument returning a transformed value. Will\n * be invoked on a value before it is written.\n */\ncognitect.transit.writer \x3d (function cognitect$transit$writer(var_args){\nvar G__17653 \x3d arguments.length;\nswitch (G__17653) {\ncase 1:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nvar keyword_handler \x3d (new cognitect.transit.KeywordHandler());\nvar symbol_handler \x3d (new cognitect.transit.SymbolHandler());\nvar list_handler \x3d (new cognitect.transit.ListHandler());\nvar map_handler \x3d (new cognitect.transit.MapHandler());\nvar set_handler \x3d (new cognitect.transit.SetHandler());\nvar vector_handler \x3d (new cognitect.transit.VectorHandler());\nvar uuid_handler \x3d (new cognitect.transit.UUIDHandler());\nvar meta_handler \x3d (new cognitect.transit.WithMetaHandler());\nvar handlers \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.BlackNode,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq,cljs.core.RedNode],[map_handler,list_handler,map_handler,list_handler,list_handler,list_handler,keyword_handler,vector_handler,list_handler,list_handler,vector_handler,list_handler,list_handler,list_handler,meta_handler,list_handler,vector_handler,list_handler,list_handler,set_handler,map_handler,list_handler,list_handler,set_handler,list_handler,symbol_handler,uuid_handler,list_handler,list_handler,vector_handler]),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Eduction !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Repeat !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.MapEntry !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,vector_handler]):null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)], 0));\nreturn com.cognitect.transit.writer(cljs.core.name(type),cognitect.transit.opts_merge(({\x22objectBuilder\x22: (function (m,kfn,vfn){\nreturn cljs.core.reduce_kv((function (obj,k,v){\nvar G__17661 \x3d obj;\nG__17661.push((kfn.cljs$core$IFn$_invoke$arity$1 ? kfn.cljs$core$IFn$_invoke$arity$1(k) : kfn.call(null,k)),(vfn.cljs$core$IFn$_invoke$arity$1 ? vfn.cljs$core$IFn$_invoke$arity$1(v) : vfn.call(null,v)));\n\nreturn G__17661;\n}),[\x22^ \x22],m);\n}), \x22handlers\x22: (function (){var x17662 \x3d cljs.core.clone(handlers);\n(x17662.forEach \x3d (function (f){\nvar coll \x3d this;\nvar seq__17665 \x3d cljs.core.seq(coll);\nvar chunk__17666 \x3d null;\nvar count__17667 \x3d (0);\nvar i__17668 \x3d (0);\nwhile(true){\nif((i__17668 \x3c count__17667)){\nvar vec__17702 \x3d chunk__17666.cljs$core$IIndexed$_nth$arity$2(null,i__17668);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17702,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17702,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__18033 \x3d seq__17665;\nvar G__18034 \x3d chunk__17666;\nvar G__18035 \x3d count__17667;\nvar G__18036 \x3d (i__17668 + (1));\nseq__17665 \x3d G__18033;\nchunk__17666 \x3d G__18034;\ncount__17667 \x3d G__18035;\ni__17668 \x3d G__18036;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17665);\nif(temp__5804__auto__){\nvar seq__17665__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17665__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17665__$1);\nvar G__18037 \x3d cljs.core.chunk_rest(seq__17665__$1);\nvar G__18038 \x3d c__5568__auto__;\nvar G__18039 \x3d cljs.core.count(c__5568__auto__);\nvar G__18040 \x3d (0);\nseq__17665 \x3d G__18037;\nchunk__17666 \x3d G__18038;\ncount__17667 \x3d G__18039;\ni__17668 \x3d G__18040;\ncontinue;\n} else {\nvar vec__17706 \x3d cljs.core.first(seq__17665__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17706,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17706,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__18041 \x3d cljs.core.next(seq__17665__$1);\nvar G__18042 \x3d null;\nvar G__18043 \x3d (0);\nvar G__18044 \x3d (0);\nseq__17665 \x3d G__18041;\nchunk__17666 \x3d G__18042;\ncount__17667 \x3d G__18043;\ni__17668 \x3d G__18044;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\nreturn x17662;\n})(), \x22unpack\x22: (function (x){\nif((x instanceof cljs.core.PersistentArrayMap)){\nreturn x.arr;\n} else {\nreturn false;\n}\n})}),cljs.core.clj__GT_js(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)))));\n}));\n\n(cognitect.transit.writer.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Encode an object into a transit string given a transit writer.\n */\ncognitect.transit.write \x3d (function cognitect$transit$write(w,o){\nreturn w.write(o);\n});\n/**\n * Construct a read handler. Implemented as identity, exists primarily\n * for API compatiblity with transit-clj\n */\ncognitect.transit.read_handler \x3d (function cognitect$transit$read_handler(from_rep){\nreturn from_rep;\n});\ncognitect.transit.fn_or_val \x3d (function cognitect$transit$fn_or_val(f){\nif(cljs.core.fn_QMARK_(f)){\nreturn f;\n} else {\nreturn cljs.core.constantly(f);\n}\n});\n/**\n * Creates a transit write handler whose tag, rep,\n * stringRep, and verboseWriteHandler methods\n * invoke the provided fns.\n */\ncognitect.transit.write_handler \x3d (function cognitect$transit$write_handler(var_args){\nvar G__17723 \x3d arguments.length;\nswitch (G__17723) {\ncase 2:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag_fn,rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,null,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (tag_fn,rep_fn,str_rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,str_rep_fn,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn){\nvar tag_fn__$1 \x3d cognitect.transit.fn_or_val(tag_fn);\nvar rep_fn__$1 \x3d cognitect.transit.fn_or_val(rep_fn);\nvar str_rep_fn__$1 \x3d cognitect.transit.fn_or_val(str_rep_fn);\nvar verbose_handler_fn__$1 \x3d cognitect.transit.fn_or_val(verbose_handler_fn);\nif((typeof cognitect !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cognitect.transit !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cognitect.transit.t_cognitect$transit17735 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncognitect.transit.t_cognitect$transit17735 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta17736){\nthis.tag_fn \x3d tag_fn;\nthis.rep_fn \x3d rep_fn;\nthis.str_rep_fn \x3d str_rep_fn;\nthis.verbose_handler_fn \x3d verbose_handler_fn;\nthis.meta17736 \x3d meta17736;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cognitect.transit.t_cognitect$transit17735.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_17737,meta17736__$1){\nvar self__ \x3d this;\nvar _17737__$1 \x3d this;\nreturn (new cognitect.transit.t_cognitect$transit17735(self__.tag_fn,self__.rep_fn,self__.str_rep_fn,self__.verbose_handler_fn,meta17736__$1));\n}));\n\n(cognitect.transit.t_cognitect$transit17735.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_17737){\nvar self__ \x3d this;\nvar _17737__$1 \x3d this;\nreturn self__.meta17736;\n}));\n\n(cognitect.transit.t_cognitect$transit17735.prototype.tag \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.tag_fn.cljs$core$IFn$_invoke$arity$1 ? self__.tag_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.tag_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit17735.prototype.rep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.rep_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit17735.prototype.stringRep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.str_rep_fn)){\nreturn (self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.str_rep_fn.call(null,o));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit17735.prototype.getVerboseHandler \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.verbose_handler_fn)){\nreturn (self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0 ? self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0() : self__.verbose_handler_fn.call(null));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit17735.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag-fn\x22,\x22tag-fn\x22,242055482,null),new cljs.core.Symbol(null,\x22rep-fn\x22,\x22rep-fn\x22,-1724891035,null),new cljs.core.Symbol(null,\x22str-rep-fn\x22,\x22str-rep-fn\x22,-1179615016,null),new cljs.core.Symbol(null,\x22verbose-handler-fn\x22,\x22verbose-handler-fn\x22,547340594,null),new cljs.core.Symbol(null,\x22meta17736\x22,\x22meta17736\x22,-12917485,null)], null);\n}));\n\n(cognitect.transit.t_cognitect$transit17735.cljs$lang$type \x3d true);\n\n(cognitect.transit.t_cognitect$transit17735.cljs$lang$ctorStr \x3d \x22cognitect.transit/t_cognitect$transit17735\x22);\n\n(cognitect.transit.t_cognitect$transit17735.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/t_cognitect$transit17735\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/t_cognitect$transit17735.\n */\ncognitect.transit.__GT_t_cognitect$transit17735 \x3d (function cognitect$transit$__GT_t_cognitect$transit17735(tag_fn__$2,rep_fn__$2,str_rep_fn__$2,verbose_handler_fn__$2,meta17736){\nreturn (new cognitect.transit.t_cognitect$transit17735(tag_fn__$2,rep_fn__$2,str_rep_fn__$2,verbose_handler_fn__$2,meta17736));\n});\n\n}\n\nreturn (new cognitect.transit.t_cognitect$transit17735(tag_fn__$1,rep_fn__$1,str_rep_fn__$1,verbose_handler_fn__$1,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cognitect.transit.write_handler.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Construct a tagged value. tag must be a string and rep can\n * be any transit encodeable value.\n */\ncognitect.transit.tagged_value \x3d (function cognitect$transit$tagged_value(tag,rep){\nreturn com.cognitect.transit.types.taggedValue(tag,rep);\n});\n/**\n * Returns true if x is a transit tagged value, false otherwise.\n */\ncognitect.transit.tagged_value_QMARK_ \x3d (function cognitect$transit$tagged_value_QMARK_(x){\nreturn com.cognitect.transit.types.isTaggedValue(x);\n});\n/**\n * Construct a transit integer value. Returns JavaScript number if\n * in the 53bit integer range, a goog.math.Long instance if above. s\n * may be a string or a JavaScript number.\n */\ncognitect.transit.integer \x3d (function cognitect$transit$integer(s){\nreturn com.cognitect.transit.types.intValue(s);\n});\n/**\n * Returns true if x is an integer value between the 53bit and 64bit\n * range, false otherwise.\n */\ncognitect.transit.integer_QMARK_ \x3d (function cognitect$transit$integer_QMARK_(x){\nreturn com.cognitect.transit.types.isInteger(x);\n});\n/**\n * Construct a big integer from a string.\n */\ncognitect.transit.bigint \x3d (function cognitect$transit$bigint(s){\nreturn com.cognitect.transit.types.bigInteger(s);\n});\n/**\n * Returns true if x is a transit big integer value, false otherwise.\n */\ncognitect.transit.bigint_QMARK_ \x3d (function cognitect$transit$bigint_QMARK_(x){\nreturn com.cognitect.transit.types.isBigInteger(x);\n});\n/**\n * Construct a big decimal from a string.\n */\ncognitect.transit.bigdec \x3d (function cognitect$transit$bigdec(s){\nreturn com.cognitect.transit.types.bigDecimalValue(s);\n});\n/**\n * Returns true if x is a transit big decimal value, false otherwise.\n */\ncognitect.transit.bigdec_QMARK_ \x3d (function cognitect$transit$bigdec_QMARK_(x){\nreturn com.cognitect.transit.types.isBigDecimal(x);\n});\n/**\n * Construct a URI from a string.\n */\ncognitect.transit.uri \x3d (function cognitect$transit$uri(s){\nreturn com.cognitect.transit.types.uri(s);\n});\n/**\n * Returns true if x is a transit URI value, false otherwise.\n */\ncognitect.transit.uri_QMARK_ \x3d (function cognitect$transit$uri_QMARK_(x){\nreturn com.cognitect.transit.types.isURI(x);\n});\n/**\n * Construct a UUID from a string.\n */\ncognitect.transit.uuid \x3d (function cognitect$transit$uuid(s){\nreturn com.cognitect.transit.types.uuid(s);\n});\n/**\n * Returns true if x is a transit UUID value, false otherwise.\n */\ncognitect.transit.uuid_QMARK_ \x3d (function cognitect$transit$uuid_QMARK_(x){\nvar or__5045__auto__ \x3d com.cognitect.transit.types.isUUID(x);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (x instanceof cljs.core.UUID);\n}\n});\n/**\n * Construct a transit binary value. s should be base64 encoded\n * string.\n */\ncognitect.transit.binary \x3d (function cognitect$transit$binary(s){\nreturn com.cognitect.transit.types.binary(s);\n});\n/**\n * Returns true if x is a transit binary value, false otherwise.\n */\ncognitect.transit.binary_QMARK_ \x3d (function cognitect$transit$binary_QMARK_(x){\nreturn com.cognitect.transit.types.isBinary(x);\n});\n/**\n * Construct a quoted transit value. x should be a transit\n * encodeable value.\n */\ncognitect.transit.quoted \x3d (function cognitect$transit$quoted(x){\nreturn com.cognitect.transit.types.quoted(x);\n});\n/**\n * Returns true if x is a transit quoted value, false otherwise.\n */\ncognitect.transit.quoted_QMARK_ \x3d (function cognitect$transit$quoted_QMARK_(x){\nreturn com.cognitect.transit.types.isQuoted(x);\n});\n/**\n * Construct a transit link value. x should be an IMap instance\n * containing at a minimum the following keys: :href, :rel. It\n * may optionall include :name, :render, and :prompt. :href must\n * be a transit URI, all other values are strings, and :render must\n * be either :image or :link.\n */\ncognitect.transit.link \x3d (function cognitect$transit$link(x){\nreturn com.cognitect.transit.types.link(x);\n});\n/**\n * Returns true if x a transit link value, false if otherwise.\n */\ncognitect.transit.link_QMARK_ \x3d (function cognitect$transit$link_QMARK_(x){\nreturn com.cognitect.transit.types.isLink(x);\n});\n/**\n * For :transform. Will write any metadata present on the value.\n */\ncognitect.transit.write_meta \x3d (function cognitect$transit$write_meta(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMeta$))))?true:false):false)){\nvar m \x3d x.cljs$core$IMeta$_meta$arity$1(null);\nif((!((m \x3d\x3d null)))){\nreturn (new cognitect.transit.WithMeta(x.cljs$core$IWithMeta$_with_meta$arity$2(null,null),m));\n} else {\nreturn x;\n}\n} else {\nreturn x;\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.api.js", true , "goog.provide(\x27shadow.remote.runtime.api\x27);\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IRuntime \x3d function(){};\n\nvar shadow$remote$runtime$api$IRuntime$relay_msg$dyn_17593 \x3d (function (runtime,msg){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.relay_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5394__auto__.call(null,runtime,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.relay_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5392__auto__.call(null,runtime,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.relay-msg\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.relay_msg \x3d (function shadow$remote$runtime$api$relay_msg(runtime,msg){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2(runtime,msg);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$relay_msg$dyn_17593(runtime,msg);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$add_extension$dyn_17629 \x3d (function (runtime,key,spec){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.add_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5394__auto__.call(null,runtime,key,spec));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.add_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5392__auto__.call(null,runtime,key,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.add-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.add_extension \x3d (function shadow$remote$runtime$api$add_extension(runtime,key,spec){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(runtime,key,spec);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$add_extension$dyn_17629(runtime,key,spec);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$del_extension$dyn_17633 \x3d (function (runtime,key){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.del_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5394__auto__.call(null,runtime,key));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.del_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5392__auto__.call(null,runtime,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.del-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.del_extension \x3d (function shadow$remote$runtime$api$del_extension(runtime,key){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2(runtime,key);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$del_extension$dyn_17633(runtime,key);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.Inspectable \x3d function(){};\n\nvar shadow$remote$runtime$api$Inspectable$describe$dyn_17639 \x3d (function (thing,opts){\nvar x__5393__auto__ \x3d (((thing \x3d\x3d null))?null:thing);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.describe[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5394__auto__.call(null,thing,opts));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.describe[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5392__auto__.call(null,thing,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22Inspectable.describe\x22,thing);\n}\n}\n});\n/**\n * returns a map descriptor that tells system how to handle things further\n */\nshadow.remote.runtime.api.describe \x3d (function shadow$remote$runtime$api$describe(thing,opts){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(thing),cljs.core.with_meta(new cljs.core.Symbol(\x22shadow.remote.runtime.api\x22,\x22describe\x22,\x22shadow.remote.runtime.api/describe\x22,1388020131,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : meta_impl__5395__auto__.call(null,thing,opts));\n} else {\nif((((!((thing \x3d\x3d null)))) \x26\x26 ((!((thing.shadow$remote$runtime$api$Inspectable$describe$arity$2 \x3d\x3d null)))))){\nreturn thing.shadow$remote$runtime$api$Inspectable$describe$arity$2(thing,opts);\n} else {\nreturn shadow$remote$runtime$api$Inspectable$describe$dyn_17639(thing,opts);\n}\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalCLJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_17646 \x3d (function (runtime,input,callback){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5394__auto__.call(null,runtime,input,callback));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5392__auto__.call(null,runtime,input,callback));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalCLJS.-cljs-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._cljs_eval \x3d (function shadow$remote$runtime$api$_cljs_eval(runtime,input,callback){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3(runtime,input,callback);\n} else {\nreturn shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_17646(runtime,input,callback);\n}\n});\n\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_17647 \x3d (function (runtime,code){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._js_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5394__auto__.call(null,runtime,code));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._js_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5392__auto__.call(null,runtime,code));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalJS.-js-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._js_eval \x3d (function shadow$remote$runtime$api$_js_eval(runtime,code){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2(runtime,code);\n} else {\nreturn shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_17647(runtime,code);\n}\n});\n\n\nshadow.remote.runtime.api.cljs_eval \x3d (function shadow$remote$runtime$api$cljs_eval(runtime,p__17581,callback){\nvar map__17582 \x3d p__17581;\nvar map__17582__$1 \x3d cljs.core.__destructure_map(map__17582);\nvar input \x3d map__17582__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17582__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17582__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(((typeof code \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.simple_symbol_QMARK_(ns)))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid cljs-eval input\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input], null));\n}\n\nreturn shadow.remote.runtime.api._cljs_eval(runtime,input,callback);\n});\n\nshadow.remote.runtime.api.js_eval \x3d (function shadow$remote$runtime$api$js_eval(runtime,code){\nif(typeof code \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? code)\x22));\n}\n\nreturn shadow.remote.runtime.api._js_eval(runtime,code);\n});\n"); +SHADOW_ENV.evalLoad("clojure.core.protocols.js", true , "goog.provide(\x27clojure.core.protocols\x27);\n\n/**\n * @interface\n */\nclojure.core.protocols.Datafiable \x3d function(){};\n\nvar clojure$core$protocols$Datafiable$datafy$dyn_17726 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (clojure.core.protocols.datafy[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.datafy[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22Datafiable.datafy\x22,o);\n}\n}\n});\n/**\n * return a representation of o as data (default identity)\n */\nclojure.core.protocols.datafy \x3d (function clojure$core$protocols$datafy(o){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(o),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22datafy\x22,\x22clojure.core.protocols/datafy\x22,707534751,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1(o) : meta_impl__5395__auto__.call(null,o));\n} else {\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d\x3d null)))))){\nreturn o.clojure$core$protocols$Datafiable$datafy$arity$1(o);\n} else {\nreturn clojure$core$protocols$Datafiable$datafy$dyn_17726(o);\n}\n}\n});\n\n(clojure.core.protocols.Datafiable[\x22null\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\n\n(clojure.core.protocols.Datafiable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22_\x22] \x3d (function (o){\nreturn o;\n}));\n\n/**\n * @interface\n */\nclojure.core.protocols.Navigable \x3d function(){};\n\nvar clojure$core$protocols$Navigable$nav$dyn_17733 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (clojure.core.protocols.nav[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.nav[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Navigable.nav\x22,coll);\n}\n}\n});\n/**\n * return (possibly transformed) v in the context of coll and k (a key/index or nil),\n * defaults to returning v.\n */\nclojure.core.protocols.nav \x3d (function clojure$core$protocols$nav(coll,k,v){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(coll),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : meta_impl__5395__auto__.call(null,coll,k,v));\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.clojure$core$protocols$Navigable$nav$arity$3 \x3d\x3d null)))))){\nreturn coll.clojure$core$protocols$Navigable$nav$arity$3(coll,k,v);\n} else {\nreturn clojure$core$protocols$Navigable$nav$dyn_17733(coll,k,v);\n}\n}\n});\n\n(clojure.core.protocols.Navigable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.nav[\x22_\x22] \x3d (function (_,___$1,x){\nreturn x;\n}));\n"); +SHADOW_ENV.evalLoad("clojure.datafy.js", true , "goog.provide(\x27clojure.datafy\x27);\n/**\n * Attempts to return x as data.\n * datafy will return the value of clojure.protocols/datafy. If\n * the value has been transformed and the result supports\n * metadata, :clojure.datafy/obj will be set on the metadata to the\n * original value of x.\n */\nclojure.datafy.datafy \x3d (function clojure$datafy$datafy(x){\nvar v \x3d clojure.core.protocols.datafy(x);\nif((v \x3d\x3d\x3d x)){\nreturn v;\n} else {\nif((((!((v \x3d\x3d null))))?(((((v.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d v.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(v,cljs.core.assoc,new cljs.core.Keyword(\x22clojure.datafy\x22,\x22obj\x22,\x22clojure.datafy/obj\x22,-330079421),x);\n} else {\nreturn v;\n}\n}\n});\n/**\n * Returns (possibly transformed) v in the context of coll and k (a\n * key/index or nil). Callers should attempt to provide the key/index\n * context k for Indexed/Associative/ILookup colls if possible, but not\n * to fabricate one e.g. for sequences (pass nil). nav will return the\n * value of clojure.core.protocols/nav.\n */\nclojure.datafy.nav \x3d (function clojure$datafy$nav(coll,k,v){\nreturn clojure.core.protocols.nav(coll,k,v);\n});\nclojure.datafy.datify_ref \x3d (function clojure$datafy$datify_ref(r){\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(r)], null),cljs.core.meta(r));\n});\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.writer.js", true , "goog.provide(\x27shadow.remote.runtime.writer\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\nshadow.remote.runtime.writer.LimitWriter \x3d (function (sb,limit){\nthis.sb \x3d sb;\nthis.limit \x3d limit;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.remote.runtime.writer.LimitWriter.prototype.getString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.sb.toString();\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nself__.sb.append(s);\n\nif((self__.sb.getLength() \x3e\x3d self__.limit)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22The limit of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.limit),\x22 bytes was reached while printing.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),self__.limit], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22StringBuffer\x22,\x22StringBuffer\x22,864531538,null)], null)),new cljs.core.Symbol(null,\x22limit\x22,\x22limit\x22,284709164,null)], null);\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorStr \x3d \x22shadow.remote.runtime.writer/LimitWriter\x22);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.remote.runtime.writer/LimitWriter\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.writer/LimitWriter.\n */\nshadow.remote.runtime.writer.__GT_LimitWriter \x3d (function shadow$remote$runtime$writer$__GT_LimitWriter(sb,limit){\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\n\nshadow.remote.runtime.writer.pr_str_limit \x3d (function shadow$remote$runtime$writer$pr_str_limit(obj,limit){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\ntry{cljs.core.pr_writer(obj,writer,cljs.core.pr_opts());\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,sb.toString()], null);\n}catch (e17907){var e \x3d e17907;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(e)))))){\nthrow e;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,(function (){var s \x3d sb.toString();\nif((s.length \x3e limit)){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),limit);\n} else {\nreturn s;\n}\n})()], null);\n}\n}});\nshadow.remote.runtime.writer.limit_writer \x3d (function shadow$remote$runtime$writer$limit_writer(limit){\nvar sb \x3d (new goog.string.StringBuffer());\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\nshadow.remote.runtime.writer.get_string \x3d (function shadow$remote$runtime$writer$get_string(lw){\nreturn lw.getString();\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.shared.js", true , "goog.provide(\x27shadow.remote.runtime.shared\x27);\nshadow.remote.runtime.shared.init_state \x3d (function shadow$remote$runtime$shared$init_state(client_info){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),(0),new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.PersistentArrayMap.EMPTY], null);\n});\nshadow.remote.runtime.shared.now \x3d (function shadow$remote$runtime$shared$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.shared.relay_msg \x3d (function shadow$remote$runtime$shared$relay_msg(runtime,msg){\nreturn shadow.remote.runtime.api.relay_msg(runtime,msg);\n});\nshadow.remote.runtime.shared.reply \x3d (function shadow$remote$runtime$shared$reply(runtime,p__18073,res){\nvar map__18074 \x3d p__18073;\nvar map__18074__$1 \x3d cljs.core.__destructure_map(map__18074);\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18074__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18074__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar res__$1 \x3d (function (){var G__18076 \x3d res;\nvar G__18076__$1 \x3d (cljs.core.truth_(call_id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18076,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id):G__18076);\nif(cljs.core.truth_(from)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18076__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),from);\n} else {\nreturn G__18076__$1;\n}\n})();\nreturn shadow.remote.runtime.api.relay_msg(runtime,res__$1);\n});\nshadow.remote.runtime.shared.call \x3d (function shadow$remote$runtime$shared$call(var_args){\nvar G__18081 \x3d arguments.length;\nswitch (G__18081) {\ncase 3:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3 \x3d (function (runtime,msg,handlers){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4(runtime,msg,handlers,(0));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__18085,msg,handlers,timeout_after_ms){\nvar map__18086 \x3d p__18085;\nvar map__18086__$1 \x3d cljs.core.__destructure_map(map__18086);\nvar runtime \x3d map__18086__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18086__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar call_id \x3d new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),cljs.core.inc);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),handlers,new cljs.core.Keyword(null,\x22called-at\x22,\x22called-at\x22,607081160),shadow.remote.runtime.shared.now(),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22timeout\x22,\x22timeout\x22,-318625318),timeout_after_ms], null));\n\nreturn shadow.remote.runtime.api.relay_msg(runtime,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.remote.runtime.shared.trigger_BANG_ \x3d (function shadow$remote$runtime$shared$trigger_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18303 \x3d arguments.length;\nvar i__5770__auto___18304 \x3d (0);\nwhile(true){\nif((i__5770__auto___18304 \x3c len__5769__auto___18303)){\nargs__5775__auto__.push((arguments[i__5770__auto___18304]));\n\nvar G__18305 \x3d (i__5770__auto___18304 + (1));\ni__5770__auto___18304 \x3d G__18305;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__18129,ev,args){\nvar map__18130 \x3d p__18129;\nvar map__18130__$1 \x3d cljs.core.__destructure_map(map__18130);\nvar runtime \x3d map__18130__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18130__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar seq__18134 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18137 \x3d null;\nvar count__18138 \x3d (0);\nvar i__18139 \x3d (0);\nwhile(true){\nif((i__18139 \x3c count__18138)){\nvar ext \x3d chunk__18137.cljs$core$IIndexed$_nth$arity$2(null,i__18139);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18306 \x3d seq__18134;\nvar G__18307 \x3d chunk__18137;\nvar G__18308 \x3d count__18138;\nvar G__18309 \x3d (i__18139 + (1));\nseq__18134 \x3d G__18306;\nchunk__18137 \x3d G__18307;\ncount__18138 \x3d G__18308;\ni__18139 \x3d G__18309;\ncontinue;\n} else {\nvar G__18310 \x3d seq__18134;\nvar G__18311 \x3d chunk__18137;\nvar G__18312 \x3d count__18138;\nvar G__18313 \x3d (i__18139 + (1));\nseq__18134 \x3d G__18310;\nchunk__18137 \x3d G__18311;\ncount__18138 \x3d G__18312;\ni__18139 \x3d G__18313;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18134);\nif(temp__5804__auto__){\nvar seq__18134__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18134__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18134__$1);\nvar G__18314 \x3d cljs.core.chunk_rest(seq__18134__$1);\nvar G__18315 \x3d c__5568__auto__;\nvar G__18316 \x3d cljs.core.count(c__5568__auto__);\nvar G__18317 \x3d (0);\nseq__18134 \x3d G__18314;\nchunk__18137 \x3d G__18315;\ncount__18138 \x3d G__18316;\ni__18139 \x3d G__18317;\ncontinue;\n} else {\nvar ext \x3d cljs.core.first(seq__18134__$1);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18318 \x3d cljs.core.next(seq__18134__$1);\nvar G__18319 \x3d null;\nvar G__18320 \x3d (0);\nvar G__18321 \x3d (0);\nseq__18134 \x3d G__18318;\nchunk__18137 \x3d G__18319;\ncount__18138 \x3d G__18320;\ni__18139 \x3d G__18321;\ncontinue;\n} else {\nvar G__18322 \x3d cljs.core.next(seq__18134__$1);\nvar G__18323 \x3d null;\nvar G__18324 \x3d (0);\nvar G__18325 \x3d (0);\nseq__18134 \x3d G__18322;\nchunk__18137 \x3d G__18323;\ncount__18138 \x3d G__18324;\ni__18139 \x3d G__18325;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$applyTo \x3d (function (seq18087){\nvar G__18088 \x3d cljs.core.first(seq18087);\nvar seq18087__$1 \x3d cljs.core.next(seq18087);\nvar G__18089 \x3d cljs.core.first(seq18087__$1);\nvar seq18087__$2 \x3d cljs.core.next(seq18087__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18088,G__18089,seq18087__$2);\n}));\n\nshadow.remote.runtime.shared.welcome \x3d (function shadow$remote$runtime$shared$welcome(p__18159,p__18160){\nvar map__18161 \x3d p__18159;\nvar map__18161__$1 \x3d cljs.core.__destructure_map(map__18161);\nvar runtime \x3d map__18161__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18161__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18162 \x3d p__18160;\nvar map__18162__$1 \x3d cljs.core.__destructure_map(map__18162);\nvar msg \x3d map__18162__$1;\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18162__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),client_id);\n\nvar map__18163 \x3d cljs.core.deref(state_ref);\nvar map__18163__$1 \x3d cljs.core.__destructure_map(map__18163);\nvar client_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18163__$1,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504));\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18163__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nshadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22hello\x22,\x22hello\x22,-245025397),new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info], null));\n\nreturn shadow.remote.runtime.shared.trigger_BANG_(runtime,new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125));\n});\nshadow.remote.runtime.shared.ping \x3d (function shadow$remote$runtime$shared$ping(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22pong\x22,\x22pong\x22,-172484958)], null));\n});\nshadow.remote.runtime.shared.get_client_id \x3d (function shadow$remote$runtime$shared$get_client_id(p__18184){\nvar map__18186 \x3d p__18184;\nvar map__18186__$1 \x3d cljs.core.__destructure_map(map__18186);\nvar runtime \x3d map__18186__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18186__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22runtime has no assigned runtime-id\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null));\n}\n});\nshadow.remote.runtime.shared.request_supported_ops \x3d (function shadow$remote$runtime$shared$request_supported_ops(p__18194,msg){\nvar map__18195 \x3d p__18194;\nvar map__18195__$1 \x3d cljs.core.__destructure_map(map__18195);\nvar runtime \x3d map__18195__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18195__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22supported-ops\x22,\x22supported-ops\x22,337914702),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))),new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),new cljs.core.Keyword(null,\x22tool-disconnect\x22,\x22tool-disconnect\x22,189103996)], 0))], null));\n});\nshadow.remote.runtime.shared.unknown_relay_op \x3d (function shadow$remote$runtime$shared$unknown_relay_op(msg){\nreturn console.warn(\x22unknown-relay-op\x22,msg);\n});\nshadow.remote.runtime.shared.unknown_op \x3d (function shadow$remote$runtime$shared$unknown_op(msg){\nreturn console.warn(\x22unknown-op\x22,msg);\n});\nshadow.remote.runtime.shared.add_extension_STAR_ \x3d (function shadow$remote$runtime$shared$add_extension_STAR_(p__18200,key,p__18201){\nvar map__18203 \x3d p__18200;\nvar map__18203__$1 \x3d cljs.core.__destructure_map(map__18203);\nvar state \x3d map__18203__$1;\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18203__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nvar map__18204 \x3d p__18201;\nvar map__18204__$1 \x3d cljs.core.__destructure_map(map__18204);\nvar spec \x3d map__18204__$1;\nvar ops \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18204__$1,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063));\nif(cljs.core.contains_QMARK_(extensions,key)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22extension already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401),spec], null));\n} else {\n}\n\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nif(cljs.core.truth_(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22op already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),op_kw], null));\n} else {\n}\n\nreturn cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null),op_handler);\n}),cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null),spec),ops);\n});\nshadow.remote.runtime.shared.add_extension \x3d (function shadow$remote$runtime$shared$add_extension(p__18213,key,spec){\nvar map__18214 \x3d p__18213;\nvar map__18214__$1 \x3d cljs.core.__destructure_map(map__18214);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18214__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,shadow.remote.runtime.shared.add_extension_STAR_,key,spec);\n});\nshadow.remote.runtime.shared.add_defaults \x3d (function shadow$remote$runtime$shared$add_defaults(runtime){\nreturn shadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.shared\x22,\x22defaults\x22,\x22shadow.remote.runtime.shared/defaults\x22,-1821257543),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),(function (p1__18217_SHARP_){\nreturn shadow.remote.runtime.shared.welcome(runtime,p1__18217_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),(function (p1__18218_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_relay_op(p1__18218_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),(function (p1__18219_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_op(p1__18219_SHARP_);\n}),new cljs.core.Keyword(null,\x22ping\x22,\x22ping\x22,-1670114784),(function (p1__18220_SHARP_){\nreturn shadow.remote.runtime.shared.ping(runtime,p1__18220_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),(function (p1__18221_SHARP_){\nreturn shadow.remote.runtime.shared.request_supported_ops(runtime,p1__18221_SHARP_);\n})], null)], null));\n});\nshadow.remote.runtime.shared.del_extension_STAR_ \x3d (function shadow$remote$runtime$shared$del_extension_STAR_(state,key){\nvar ext \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null));\nif(cljs.core.not(ext)){\nreturn state;\n} else {\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063)], null),cljs.core.dissoc,op_kw);\n}),cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.dissoc,key),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(ext));\n}\n});\nshadow.remote.runtime.shared.del_extension \x3d (function shadow$remote$runtime$shared$del_extension(p__18233,key){\nvar map__18234 \x3d p__18233;\nvar map__18234__$1 \x3d cljs.core.__destructure_map(map__18234);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18234__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,shadow.remote.runtime.shared.del_extension_STAR_,key);\n});\nshadow.remote.runtime.shared.unhandled_call_result \x3d (function shadow$remote$runtime$shared$unhandled_call_result(call_config,msg){\nreturn console.warn(\x22unhandled call result\x22,msg,call_config);\n});\nshadow.remote.runtime.shared.unhandled_client_not_found \x3d (function shadow$remote$runtime$shared$unhandled_client_not_found(p__18238,msg){\nvar map__18239 \x3d p__18238;\nvar map__18239__$1 \x3d cljs.core.__destructure_map(map__18239);\nvar runtime \x3d map__18239__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18239__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic(runtime,new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n});\nshadow.remote.runtime.shared.reply_unknown_op \x3d (function shadow$remote$runtime$shared$reply_unknown_op(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n});\nshadow.remote.runtime.shared.process \x3d (function shadow$remote$runtime$shared$process(p__18240,p__18241){\nvar map__18242 \x3d p__18240;\nvar map__18242__$1 \x3d cljs.core.__destructure_map(map__18242);\nvar runtime \x3d map__18242__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18242__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18243 \x3d p__18241;\nvar map__18243__$1 \x3d cljs.core.__destructure_map(map__18243);\nvar msg \x3d map__18243__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18243__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18243__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar state \x3d cljs.core.deref(state_ref);\nvar op_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op], null));\nif(cljs.core.truth_(call_id)){\nvar cfg \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null));\nvar call_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cfg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),op], null));\nif(cljs.core.truth_(call_handler)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([call_id], 0));\n\nreturn (call_handler.cljs$core$IFn$_invoke$arity$1 ? call_handler.cljs$core$IFn$_invoke$arity$1(msg) : call_handler.call(null,msg));\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nreturn shadow.remote.runtime.shared.unhandled_call_result(cfg,msg);\n\n}\n}\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),op)){\nreturn shadow.remote.runtime.shared.unhandled_client_not_found(runtime,msg);\n} else {\nreturn shadow.remote.runtime.shared.reply_unknown_op(runtime,msg);\n\n}\n}\n}\n});\nshadow.remote.runtime.shared.run_on_idle \x3d (function shadow$remote$runtime$shared$run_on_idle(state_ref){\nvar seq__18244 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18246 \x3d null;\nvar count__18247 \x3d (0);\nvar i__18248 \x3d (0);\nwhile(true){\nif((i__18248 \x3c count__18247)){\nvar map__18282 \x3d chunk__18246.cljs$core$IIndexed$_nth$arity$2(null,i__18248);\nvar map__18282__$1 \x3d cljs.core.__destructure_map(map__18282);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18282__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__18327 \x3d seq__18244;\nvar G__18328 \x3d chunk__18246;\nvar G__18329 \x3d count__18247;\nvar G__18330 \x3d (i__18248 + (1));\nseq__18244 \x3d G__18327;\nchunk__18246 \x3d G__18328;\ncount__18247 \x3d G__18329;\ni__18248 \x3d G__18330;\ncontinue;\n} else {\nvar G__18331 \x3d seq__18244;\nvar G__18332 \x3d chunk__18246;\nvar G__18333 \x3d count__18247;\nvar G__18334 \x3d (i__18248 + (1));\nseq__18244 \x3d G__18331;\nchunk__18246 \x3d G__18332;\ncount__18247 \x3d G__18333;\ni__18248 \x3d G__18334;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18244);\nif(temp__5804__auto__){\nvar seq__18244__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18244__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18244__$1);\nvar G__18335 \x3d cljs.core.chunk_rest(seq__18244__$1);\nvar G__18336 \x3d c__5568__auto__;\nvar G__18337 \x3d cljs.core.count(c__5568__auto__);\nvar G__18338 \x3d (0);\nseq__18244 \x3d G__18335;\nchunk__18246 \x3d G__18336;\ncount__18247 \x3d G__18337;\ni__18248 \x3d G__18338;\ncontinue;\n} else {\nvar map__18287 \x3d cljs.core.first(seq__18244__$1);\nvar map__18287__$1 \x3d cljs.core.__destructure_map(map__18287);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18287__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__18340 \x3d cljs.core.next(seq__18244__$1);\nvar G__18341 \x3d null;\nvar G__18342 \x3d (0);\nvar G__18343 \x3d (0);\nseq__18244 \x3d G__18340;\nchunk__18246 \x3d G__18341;\ncount__18247 \x3d G__18342;\ni__18248 \x3d G__18343;\ncontinue;\n} else {\nvar G__18344 \x3d cljs.core.next(seq__18244__$1);\nvar G__18345 \x3d null;\nvar G__18346 \x3d (0);\nvar G__18347 \x3d (0);\nseq__18244 \x3d G__18344;\nchunk__18246 \x3d G__18345;\ncount__18247 \x3d G__18346;\ni__18248 \x3d G__18347;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.cljs.js_builtins.js", true , "goog.provide(\x27shadow.remote.runtime.cljs.js_builtins\x27);\ngoog.scope(function(){\n shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(clojure.core.protocols.Datafiable[\x22object\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22object\x22] \x3d (function (o){\nif((!((o.__proto__ \x3d\x3d\x3d Object.prototype)))){\nreturn o;\n} else {\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,key){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,key,shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,key));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.getKeys(o))),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),(function (coll,k,v){\nreturn shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,k);\n})], null));\n}\n}));\n\n(clojure.core.protocols.Datafiable[\x22array\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22array\x22] \x3d (function (o){\nreturn cljs.core.vec(o);\n}));\n\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (e){\nvar e__$1 \x3d this;\nvar data \x3d cljs.core.ex_data(e__$1);\nvar file \x3d e__$1.fileName;\nvar line \x3d e__$1.lineNumber;\nvar column \x3d e__$1.columnNumber;\nvar G__18202 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),e__$1.message,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),e__$1.name,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),e__$1.stack], null);\nvar G__18202__$1 \x3d (((!((data \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18202,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data):G__18202);\nvar G__18202__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18202__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file):G__18202__$1);\nvar G__18202__$3 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18202__$2,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line):G__18202__$2);\nif(cljs.core.truth_(column)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18202__$3,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column);\n} else {\nreturn G__18202__$3;\n}\n}));\n"); +SHADOW_ENV.evalLoad("cljs.spec.gen.alpha.js", true , "goog.provide(\x27cljs.spec.gen.alpha\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.spec.gen.alpha.LazyVar \x3d (function (f,cached){\nthis.f \x3d f;\nthis.cached \x3d cached;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((self__.cached \x3d\x3d null)))){\nreturn self__.cached;\n} else {\nvar x \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));\nif((x \x3d\x3d null)){\n} else {\n(self__.cached \x3d x);\n}\n\nreturn x;\n}\n}));\n\n(cljs.spec.gen.alpha.LazyVar.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cached\x22,\x22cached\x22,-1216707864,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$type \x3d true);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr \x3d \x22cljs.spec.gen.alpha/LazyVar\x22);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.gen.alpha/LazyVar\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.gen.alpha/LazyVar.\n */\ncljs.spec.gen.alpha.__GT_LazyVar \x3d (function cljs$spec$gen$alpha$__GT_LazyVar(f,cached){\nreturn (new cljs.spec.gen.alpha.LazyVar(f,cached));\n});\n\ncljs.spec.gen.alpha.quick_check_ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.quick_check !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.quick_check;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.quick_check \x3d (function cljs$spec$gen$alpha$quick_check(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18876 \x3d arguments.length;\nvar i__5770__auto___18877 \x3d (0);\nwhile(true){\nif((i__5770__auto___18877 \x3c len__5769__auto___18876)){\nargs__5775__auto__.push((arguments[i__5770__auto___18877]));\n\nvar G__18878 \x3d (i__5770__auto___18877 + (1));\ni__5770__auto___18877 \x3d G__18878;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.quick_check_ref),args);\n}));\n\n(cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo \x3d (function (seq18351){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18351));\n}));\n\ncljs.spec.gen.alpha.for_all_STAR__ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties.for_all_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.properties.for_all_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Dynamically loaded clojure.test.check.properties/for-all*.\n */\ncljs.spec.gen.alpha.for_all_STAR_ \x3d (function cljs$spec$gen$alpha$for_all_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18879 \x3d arguments.length;\nvar i__5770__auto___18880 \x3d (0);\nwhile(true){\nif((i__5770__auto___18880 \x3c len__5769__auto___18879)){\nargs__5775__auto__.push((arguments[i__5770__auto___18880]));\n\nvar G__18881 \x3d (i__5770__auto___18880 + (1));\ni__5770__auto___18880 \x3d G__18881;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.for_all_STAR__ref),args);\n}));\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo \x3d (function (seq18361){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18361));\n}));\n\nvar g_QMARK__18882 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generator_QMARK_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generator_QMARK_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar g_18883 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generate !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generate;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar mkg_18884 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.__GT_Generator !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.__GT_Generator;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.generator_QMARK_ \x3d (function cljs$spec$gen$alpha$generator_QMARK_(x){\nvar fexpr__18365 \x3d cljs.core.deref(g_QMARK__18882);\nreturn (fexpr__18365.cljs$core$IFn$_invoke$arity$1 ? fexpr__18365.cljs$core$IFn$_invoke$arity$1(x) : fexpr__18365.call(null,x));\n});\n\ncljs.spec.gen.alpha.generator \x3d (function cljs$spec$gen$alpha$generator(gfn){\nvar fexpr__18366 \x3d cljs.core.deref(mkg_18884);\nreturn (fexpr__18366.cljs$core$IFn$_invoke$arity$1 ? fexpr__18366.cljs$core$IFn$_invoke$arity$1(gfn) : fexpr__18366.call(null,gfn));\n});\n\n/**\n * Generate a single value using generator.\n */\ncljs.spec.gen.alpha.generate \x3d (function cljs$spec$gen$alpha$generate(generator){\nvar fexpr__18367 \x3d cljs.core.deref(g_18883);\nreturn (fexpr__18367.cljs$core$IFn$_invoke$arity$1 ? fexpr__18367.cljs$core$IFn$_invoke$arity$1(generator) : fexpr__18367.call(null,generator));\n});\ncljs.spec.gen.alpha.delay_impl \x3d (function cljs$spec$gen$alpha$delay_impl(gfnd){\nreturn cljs.spec.gen.alpha.generator((function (rnd,size){\nvar fexpr__18368 \x3d new cljs.core.Keyword(null,\x22gen\x22,\x22gen\x22,142575302).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(gfnd));\nreturn (fexpr__18368.cljs$core$IFn$_invoke$arity$2 ? fexpr__18368.cljs$core$IFn$_invoke$arity$2(rnd,size) : fexpr__18368.call(null,rnd,size));\n}));\n});\nvar g__12892__auto___18885 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.hash_map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.hash_map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/hash-map\n */\ncljs.spec.gen.alpha.hash_map \x3d (function cljs$spec$gen$alpha$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18886 \x3d arguments.length;\nvar i__5770__auto___18887 \x3d (0);\nwhile(true){\nif((i__5770__auto___18887 \x3c len__5769__auto___18886)){\nargs__5775__auto__.push((arguments[i__5770__auto___18887]));\n\nvar G__18888 \x3d (i__5770__auto___18887 + (1));\ni__5770__auto___18887 \x3d G__18888;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18885),args);\n}));\n\n(cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo \x3d (function (seq18369){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18369));\n}));\n\n\nvar g__12892__auto___18889 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.list !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.list;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/list\n */\ncljs.spec.gen.alpha.list \x3d (function cljs$spec$gen$alpha$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18890 \x3d arguments.length;\nvar i__5770__auto___18891 \x3d (0);\nwhile(true){\nif((i__5770__auto___18891 \x3c len__5769__auto___18890)){\nargs__5775__auto__.push((arguments[i__5770__auto___18891]));\n\nvar G__18892 \x3d (i__5770__auto___18891 + (1));\ni__5770__auto___18891 \x3d G__18892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18889),args);\n}));\n\n(cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.list.cljs$lang$applyTo \x3d (function (seq18373){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18373));\n}));\n\n\nvar g__12892__auto___18893 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/map\n */\ncljs.spec.gen.alpha.map \x3d (function cljs$spec$gen$alpha$map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18894 \x3d arguments.length;\nvar i__5770__auto___18895 \x3d (0);\nwhile(true){\nif((i__5770__auto___18895 \x3c len__5769__auto___18894)){\nargs__5775__auto__.push((arguments[i__5770__auto___18895]));\n\nvar G__18896 \x3d (i__5770__auto___18895 + (1));\ni__5770__auto___18895 \x3d G__18896;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18893),args);\n}));\n\n(cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.map.cljs$lang$applyTo \x3d (function (seq18383){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18383));\n}));\n\n\nvar g__12892__auto___18898 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.not_empty !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.not_empty;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/not-empty\n */\ncljs.spec.gen.alpha.not_empty \x3d (function cljs$spec$gen$alpha$not_empty(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18907 \x3d arguments.length;\nvar i__5770__auto___18908 \x3d (0);\nwhile(true){\nif((i__5770__auto___18908 \x3c len__5769__auto___18907)){\nargs__5775__auto__.push((arguments[i__5770__auto___18908]));\n\nvar G__18909 \x3d (i__5770__auto___18908 + (1));\ni__5770__auto___18908 \x3d G__18909;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18898),args);\n}));\n\n(cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo \x3d (function (seq18417){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18417));\n}));\n\n\nvar g__12892__auto___18911 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.set !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.set;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/set\n */\ncljs.spec.gen.alpha.set \x3d (function cljs$spec$gen$alpha$set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18912 \x3d arguments.length;\nvar i__5770__auto___18913 \x3d (0);\nwhile(true){\nif((i__5770__auto___18913 \x3c len__5769__auto___18912)){\nargs__5775__auto__.push((arguments[i__5770__auto___18913]));\n\nvar G__18914 \x3d (i__5770__auto___18913 + (1));\ni__5770__auto___18913 \x3d G__18914;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18911),args);\n}));\n\n(cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.set.cljs$lang$applyTo \x3d (function (seq18543){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18543));\n}));\n\n\nvar g__12892__auto___18915 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector\n */\ncljs.spec.gen.alpha.vector \x3d (function cljs$spec$gen$alpha$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18918 \x3d arguments.length;\nvar i__5770__auto___18919 \x3d (0);\nwhile(true){\nif((i__5770__auto___18919 \x3c len__5769__auto___18918)){\nargs__5775__auto__.push((arguments[i__5770__auto___18919]));\n\nvar G__18920 \x3d (i__5770__auto___18919 + (1));\ni__5770__auto___18919 \x3d G__18920;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18915),args);\n}));\n\n(cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector.cljs$lang$applyTo \x3d (function (seq18545){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18545));\n}));\n\n\nvar g__12892__auto___18929 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector_distinct !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector_distinct;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector-distinct\n */\ncljs.spec.gen.alpha.vector_distinct \x3d (function cljs$spec$gen$alpha$vector_distinct(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18936 \x3d arguments.length;\nvar i__5770__auto___18937 \x3d (0);\nwhile(true){\nif((i__5770__auto___18937 \x3c len__5769__auto___18936)){\nargs__5775__auto__.push((arguments[i__5770__auto___18937]));\n\nvar G__18938 \x3d (i__5770__auto___18937 + (1));\ni__5770__auto___18937 \x3d G__18938;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18929),args);\n}));\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo \x3d (function (seq18548){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18548));\n}));\n\n\nvar g__12892__auto___18939 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.fmap !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.fmap;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/fmap\n */\ncljs.spec.gen.alpha.fmap \x3d (function cljs$spec$gen$alpha$fmap(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18941 \x3d arguments.length;\nvar i__5770__auto___18942 \x3d (0);\nwhile(true){\nif((i__5770__auto___18942 \x3c len__5769__auto___18941)){\nargs__5775__auto__.push((arguments[i__5770__auto___18942]));\n\nvar G__18943 \x3d (i__5770__auto___18942 + (1));\ni__5770__auto___18942 \x3d G__18943;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18939),args);\n}));\n\n(cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.fmap.cljs$lang$applyTo \x3d (function (seq18565){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18565));\n}));\n\n\nvar g__12892__auto___18944 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.elements !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.elements;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/elements\n */\ncljs.spec.gen.alpha.elements \x3d (function cljs$spec$gen$alpha$elements(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18945 \x3d arguments.length;\nvar i__5770__auto___18946 \x3d (0);\nwhile(true){\nif((i__5770__auto___18946 \x3c len__5769__auto___18945)){\nargs__5775__auto__.push((arguments[i__5770__auto___18946]));\n\nvar G__18947 \x3d (i__5770__auto___18946 + (1));\ni__5770__auto___18946 \x3d G__18947;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18944),args);\n}));\n\n(cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.elements.cljs$lang$applyTo \x3d (function (seq18584){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18584));\n}));\n\n\nvar g__12892__auto___18948 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.bind !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.bind;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/bind\n */\ncljs.spec.gen.alpha.bind \x3d (function cljs$spec$gen$alpha$bind(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18949 \x3d arguments.length;\nvar i__5770__auto___18950 \x3d (0);\nwhile(true){\nif((i__5770__auto___18950 \x3c len__5769__auto___18949)){\nargs__5775__auto__.push((arguments[i__5770__auto___18950]));\n\nvar G__18951 \x3d (i__5770__auto___18950 + (1));\ni__5770__auto___18950 \x3d G__18951;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18948),args);\n}));\n\n(cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.bind.cljs$lang$applyTo \x3d (function (seq18592){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18592));\n}));\n\n\nvar g__12892__auto___18952 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.choose !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.choose;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/choose\n */\ncljs.spec.gen.alpha.choose \x3d (function cljs$spec$gen$alpha$choose(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18953 \x3d arguments.length;\nvar i__5770__auto___18954 \x3d (0);\nwhile(true){\nif((i__5770__auto___18954 \x3c len__5769__auto___18953)){\nargs__5775__auto__.push((arguments[i__5770__auto___18954]));\n\nvar G__18955 \x3d (i__5770__auto___18954 + (1));\ni__5770__auto___18954 \x3d G__18955;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18952),args);\n}));\n\n(cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.choose.cljs$lang$applyTo \x3d (function (seq18605){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18605));\n}));\n\n\nvar g__12892__auto___18956 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.one_of !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.one_of;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/one-of\n */\ncljs.spec.gen.alpha.one_of \x3d (function cljs$spec$gen$alpha$one_of(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18958 \x3d arguments.length;\nvar i__5770__auto___18959 \x3d (0);\nwhile(true){\nif((i__5770__auto___18959 \x3c len__5769__auto___18958)){\nargs__5775__auto__.push((arguments[i__5770__auto___18959]));\n\nvar G__18960 \x3d (i__5770__auto___18959 + (1));\ni__5770__auto___18959 \x3d G__18960;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18956),args);\n}));\n\n(cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.one_of.cljs$lang$applyTo \x3d (function (seq18622){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18622));\n}));\n\n\nvar g__12892__auto___18961 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.such_that !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.such_that;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/such-that\n */\ncljs.spec.gen.alpha.such_that \x3d (function cljs$spec$gen$alpha$such_that(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18962 \x3d arguments.length;\nvar i__5770__auto___18963 \x3d (0);\nwhile(true){\nif((i__5770__auto___18963 \x3c len__5769__auto___18962)){\nargs__5775__auto__.push((arguments[i__5770__auto___18963]));\n\nvar G__18964 \x3d (i__5770__auto___18963 + (1));\ni__5770__auto___18963 \x3d G__18964;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18961),args);\n}));\n\n(cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.such_that.cljs$lang$applyTo \x3d (function (seq18630){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18630));\n}));\n\n\nvar g__12892__auto___18966 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.tuple !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.tuple;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/tuple\n */\ncljs.spec.gen.alpha.tuple \x3d (function cljs$spec$gen$alpha$tuple(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18974 \x3d arguments.length;\nvar i__5770__auto___18977 \x3d (0);\nwhile(true){\nif((i__5770__auto___18977 \x3c len__5769__auto___18974)){\nargs__5775__auto__.push((arguments[i__5770__auto___18977]));\n\nvar G__18978 \x3d (i__5770__auto___18977 + (1));\ni__5770__auto___18977 \x3d G__18978;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18966),args);\n}));\n\n(cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.tuple.cljs$lang$applyTo \x3d (function (seq18642){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18642));\n}));\n\n\nvar g__12892__auto___18994 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.sample !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.sample;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/sample\n */\ncljs.spec.gen.alpha.sample \x3d (function cljs$spec$gen$alpha$sample(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18995 \x3d arguments.length;\nvar i__5770__auto___18996 \x3d (0);\nwhile(true){\nif((i__5770__auto___18996 \x3c len__5769__auto___18995)){\nargs__5775__auto__.push((arguments[i__5770__auto___18996]));\n\nvar G__18997 \x3d (i__5770__auto___18996 + (1));\ni__5770__auto___18996 \x3d G__18997;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18994),args);\n}));\n\n(cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.sample.cljs$lang$applyTo \x3d (function (seq18662){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18662));\n}));\n\n\nvar g__12892__auto___18999 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.return$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.return$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/return\n */\ncljs.spec.gen.alpha.return$ \x3d (function cljs$spec$gen$alpha$return(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19019 \x3d arguments.length;\nvar i__5770__auto___19020 \x3d (0);\nwhile(true){\nif((i__5770__auto___19020 \x3c len__5769__auto___19019)){\nargs__5775__auto__.push((arguments[i__5770__auto___19020]));\n\nvar G__19021 \x3d (i__5770__auto___19020 + (1));\ni__5770__auto___19020 \x3d G__19021;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___18999),args);\n}));\n\n(cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.return$.cljs$lang$applyTo \x3d (function (seq18673){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18673));\n}));\n\n\nvar g__12892__auto___19022 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/large-integer*\n */\ncljs.spec.gen.alpha.large_integer_STAR_ \x3d (function cljs$spec$gen$alpha$large_integer_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19023 \x3d arguments.length;\nvar i__5770__auto___19024 \x3d (0);\nwhile(true){\nif((i__5770__auto___19024 \x3c len__5769__auto___19023)){\nargs__5775__auto__.push((arguments[i__5770__auto___19024]));\n\nvar G__19025 \x3d (i__5770__auto___19024 + (1));\ni__5770__auto___19024 \x3d G__19025;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___19022),args);\n}));\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo \x3d (function (seq18683){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18683));\n}));\n\n\nvar g__12892__auto___19026 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/double*\n */\ncljs.spec.gen.alpha.double_STAR_ \x3d (function cljs$spec$gen$alpha$double_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19027 \x3d arguments.length;\nvar i__5770__auto___19028 \x3d (0);\nwhile(true){\nif((i__5770__auto___19028 \x3c len__5769__auto___19027)){\nargs__5775__auto__.push((arguments[i__5770__auto___19028]));\n\nvar G__19039 \x3d (i__5770__auto___19028 + (1));\ni__5770__auto___19028 \x3d G__19039;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___19026),args);\n}));\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo \x3d (function (seq18690){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18690));\n}));\n\n\nvar g__12892__auto___19048 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.frequency !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.frequency;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/frequency\n */\ncljs.spec.gen.alpha.frequency \x3d (function cljs$spec$gen$alpha$frequency(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19071 \x3d arguments.length;\nvar i__5770__auto___19072 \x3d (0);\nwhile(true){\nif((i__5770__auto___19072 \x3c len__5769__auto___19071)){\nargs__5775__auto__.push((arguments[i__5770__auto___19072]));\n\nvar G__19073 \x3d (i__5770__auto___19072 + (1));\ni__5770__auto___19072 \x3d G__19073;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___19048),args);\n}));\n\n(cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.frequency.cljs$lang$applyTo \x3d (function (seq18693){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18693));\n}));\n\n\nvar g__12892__auto___19076 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.shuffle !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.shuffle;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/shuffle\n */\ncljs.spec.gen.alpha.shuffle \x3d (function cljs$spec$gen$alpha$shuffle(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19078 \x3d arguments.length;\nvar i__5770__auto___19079 \x3d (0);\nwhile(true){\nif((i__5770__auto___19079 \x3c len__5769__auto___19078)){\nargs__5775__auto__.push((arguments[i__5770__auto___19079]));\n\nvar G__19080 \x3d (i__5770__auto___19079 + (1));\ni__5770__auto___19079 \x3d G__19080;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__12892__auto___19076),args);\n}));\n\n(cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo \x3d (function (seq18694){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18694));\n}));\n\nvar g__12897__auto___19081 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any\n */\ncljs.spec.gen.alpha.any \x3d (function cljs$spec$gen$alpha$any(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19082 \x3d arguments.length;\nvar i__5770__auto___19083 \x3d (0);\nwhile(true){\nif((i__5770__auto___19083 \x3c len__5769__auto___19082)){\nargs__5775__auto__.push((arguments[i__5770__auto___19083]));\n\nvar G__19084 \x3d (i__5770__auto___19083 + (1));\ni__5770__auto___19083 \x3d G__19084;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19081);\n}));\n\n(cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any.cljs$lang$applyTo \x3d (function (seq18695){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18695));\n}));\n\n\nvar g__12897__auto___19085 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any-printable\n */\ncljs.spec.gen.alpha.any_printable \x3d (function cljs$spec$gen$alpha$any_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19087 \x3d arguments.length;\nvar i__5770__auto___19088 \x3d (0);\nwhile(true){\nif((i__5770__auto___19088 \x3c len__5769__auto___19087)){\nargs__5775__auto__.push((arguments[i__5770__auto___19088]));\n\nvar G__19089 \x3d (i__5770__auto___19088 + (1));\ni__5770__auto___19088 \x3d G__19089;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19085);\n}));\n\n(cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo \x3d (function (seq18696){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18696));\n}));\n\n\nvar g__12897__auto___19090 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.boolean$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.boolean$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/boolean\n */\ncljs.spec.gen.alpha.boolean$ \x3d (function cljs$spec$gen$alpha$boolean(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19094 \x3d arguments.length;\nvar i__5770__auto___19095 \x3d (0);\nwhile(true){\nif((i__5770__auto___19095 \x3c len__5769__auto___19094)){\nargs__5775__auto__.push((arguments[i__5770__auto___19095]));\n\nvar G__19096 \x3d (i__5770__auto___19095 + (1));\ni__5770__auto___19095 \x3d G__19096;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19090);\n}));\n\n(cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo \x3d (function (seq18697){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18697));\n}));\n\n\nvar g__12897__auto___19097 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char\n */\ncljs.spec.gen.alpha.char$ \x3d (function cljs$spec$gen$alpha$char(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19098 \x3d arguments.length;\nvar i__5770__auto___19099 \x3d (0);\nwhile(true){\nif((i__5770__auto___19099 \x3c len__5769__auto___19098)){\nargs__5775__auto__.push((arguments[i__5770__auto___19099]));\n\nvar G__19100 \x3d (i__5770__auto___19099 + (1));\ni__5770__auto___19099 \x3d G__19100;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19097);\n}));\n\n(cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char$.cljs$lang$applyTo \x3d (function (seq18702){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18702));\n}));\n\n\nvar g__12897__auto___19101 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alpha !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alpha;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alpha\n */\ncljs.spec.gen.alpha.char_alpha \x3d (function cljs$spec$gen$alpha$char_alpha(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19102 \x3d arguments.length;\nvar i__5770__auto___19103 \x3d (0);\nwhile(true){\nif((i__5770__auto___19103 \x3c len__5769__auto___19102)){\nargs__5775__auto__.push((arguments[i__5770__auto___19103]));\n\nvar G__19104 \x3d (i__5770__auto___19103 + (1));\ni__5770__auto___19103 \x3d G__19104;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19101);\n}));\n\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo \x3d (function (seq18708){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18708));\n}));\n\n\nvar g__12897__auto___19106 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alphanumeric\n */\ncljs.spec.gen.alpha.char_alphanumeric \x3d (function cljs$spec$gen$alpha$char_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19108 \x3d arguments.length;\nvar i__5770__auto___19109 \x3d (0);\nwhile(true){\nif((i__5770__auto___19109 \x3c len__5769__auto___19108)){\nargs__5775__auto__.push((arguments[i__5770__auto___19109]));\n\nvar G__19110 \x3d (i__5770__auto___19109 + (1));\ni__5770__auto___19109 \x3d G__19110;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19106);\n}));\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo \x3d (function (seq18712){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18712));\n}));\n\n\nvar g__12897__auto___19112 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-ascii\n */\ncljs.spec.gen.alpha.char_ascii \x3d (function cljs$spec$gen$alpha$char_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19113 \x3d arguments.length;\nvar i__5770__auto___19114 \x3d (0);\nwhile(true){\nif((i__5770__auto___19114 \x3c len__5769__auto___19113)){\nargs__5775__auto__.push((arguments[i__5770__auto___19114]));\n\nvar G__19115 \x3d (i__5770__auto___19114 + (1));\ni__5770__auto___19114 \x3d G__19115;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19112);\n}));\n\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo \x3d (function (seq18713){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18713));\n}));\n\n\nvar g__12897__auto___19116 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/double\n */\ncljs.spec.gen.alpha.double$ \x3d (function cljs$spec$gen$alpha$double(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19117 \x3d arguments.length;\nvar i__5770__auto___19118 \x3d (0);\nwhile(true){\nif((i__5770__auto___19118 \x3c len__5769__auto___19117)){\nargs__5775__auto__.push((arguments[i__5770__auto___19118]));\n\nvar G__19119 \x3d (i__5770__auto___19118 + (1));\ni__5770__auto___19118 \x3d G__19119;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19116);\n}));\n\n(cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double$.cljs$lang$applyTo \x3d (function (seq18714){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18714));\n}));\n\n\nvar g__12897__auto___19120 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.int$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.int$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/int\n */\ncljs.spec.gen.alpha.int$ \x3d (function cljs$spec$gen$alpha$int(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19121 \x3d arguments.length;\nvar i__5770__auto___19122 \x3d (0);\nwhile(true){\nif((i__5770__auto___19122 \x3c len__5769__auto___19121)){\nargs__5775__auto__.push((arguments[i__5770__auto___19122]));\n\nvar G__19123 \x3d (i__5770__auto___19122 + (1));\ni__5770__auto___19122 \x3d G__19123;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19120);\n}));\n\n(cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.int$.cljs$lang$applyTo \x3d (function (seq18720){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18720));\n}));\n\n\nvar g__12897__auto___19125 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword\n */\ncljs.spec.gen.alpha.keyword \x3d (function cljs$spec$gen$alpha$keyword(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19126 \x3d arguments.length;\nvar i__5770__auto___19127 \x3d (0);\nwhile(true){\nif((i__5770__auto___19127 \x3c len__5769__auto___19126)){\nargs__5775__auto__.push((arguments[i__5770__auto___19127]));\n\nvar G__19128 \x3d (i__5770__auto___19127 + (1));\ni__5770__auto___19127 \x3d G__19128;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19125);\n}));\n\n(cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword.cljs$lang$applyTo \x3d (function (seq18783){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18783));\n}));\n\n\nvar g__12897__auto___19130 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword-ns\n */\ncljs.spec.gen.alpha.keyword_ns \x3d (function cljs$spec$gen$alpha$keyword_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19131 \x3d arguments.length;\nvar i__5770__auto___19133 \x3d (0);\nwhile(true){\nif((i__5770__auto___19133 \x3c len__5769__auto___19131)){\nargs__5775__auto__.push((arguments[i__5770__auto___19133]));\n\nvar G__19134 \x3d (i__5770__auto___19133 + (1));\ni__5770__auto___19133 \x3d G__19134;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19130);\n}));\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo \x3d (function (seq18784){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18784));\n}));\n\n\nvar g__12897__auto___19135 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/large-integer\n */\ncljs.spec.gen.alpha.large_integer \x3d (function cljs$spec$gen$alpha$large_integer(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19136 \x3d arguments.length;\nvar i__5770__auto___19137 \x3d (0);\nwhile(true){\nif((i__5770__auto___19137 \x3c len__5769__auto___19136)){\nargs__5775__auto__.push((arguments[i__5770__auto___19137]));\n\nvar G__19138 \x3d (i__5770__auto___19137 + (1));\ni__5770__auto___19137 \x3d G__19138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19135);\n}));\n\n(cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo \x3d (function (seq18791){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18791));\n}));\n\n\nvar g__12897__auto___19139 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.ratio !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.ratio;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/ratio\n */\ncljs.spec.gen.alpha.ratio \x3d (function cljs$spec$gen$alpha$ratio(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19140 \x3d arguments.length;\nvar i__5770__auto___19141 \x3d (0);\nwhile(true){\nif((i__5770__auto___19141 \x3c len__5769__auto___19140)){\nargs__5775__auto__.push((arguments[i__5770__auto___19141]));\n\nvar G__19142 \x3d (i__5770__auto___19141 + (1));\ni__5770__auto___19141 \x3d G__19142;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19139);\n}));\n\n(cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.ratio.cljs$lang$applyTo \x3d (function (seq18806){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18806));\n}));\n\n\nvar g__12897__auto___19143 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type\n */\ncljs.spec.gen.alpha.simple_type \x3d (function cljs$spec$gen$alpha$simple_type(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19145 \x3d arguments.length;\nvar i__5770__auto___19146 \x3d (0);\nwhile(true){\nif((i__5770__auto___19146 \x3c len__5769__auto___19145)){\nargs__5775__auto__.push((arguments[i__5770__auto___19146]));\n\nvar G__19147 \x3d (i__5770__auto___19146 + (1));\ni__5770__auto___19146 \x3d G__19147;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19143);\n}));\n\n(cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo \x3d (function (seq18825){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18825));\n}));\n\n\nvar g__12897__auto___19154 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type-printable\n */\ncljs.spec.gen.alpha.simple_type_printable \x3d (function cljs$spec$gen$alpha$simple_type_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19155 \x3d arguments.length;\nvar i__5770__auto___19156 \x3d (0);\nwhile(true){\nif((i__5770__auto___19156 \x3c len__5769__auto___19155)){\nargs__5775__auto__.push((arguments[i__5770__auto___19156]));\n\nvar G__19157 \x3d (i__5770__auto___19156 + (1));\ni__5770__auto___19156 \x3d G__19157;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19154);\n}));\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo \x3d (function (seq18834){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18834));\n}));\n\n\nvar g__12897__auto___19158 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string\n */\ncljs.spec.gen.alpha.string \x3d (function cljs$spec$gen$alpha$string(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19159 \x3d arguments.length;\nvar i__5770__auto___19160 \x3d (0);\nwhile(true){\nif((i__5770__auto___19160 \x3c len__5769__auto___19159)){\nargs__5775__auto__.push((arguments[i__5770__auto___19160]));\n\nvar G__19161 \x3d (i__5770__auto___19160 + (1));\ni__5770__auto___19160 \x3d G__19161;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19158);\n}));\n\n(cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string.cljs$lang$applyTo \x3d (function (seq18840){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18840));\n}));\n\n\nvar g__12897__auto___19162 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-ascii\n */\ncljs.spec.gen.alpha.string_ascii \x3d (function cljs$spec$gen$alpha$string_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19164 \x3d arguments.length;\nvar i__5770__auto___19165 \x3d (0);\nwhile(true){\nif((i__5770__auto___19165 \x3c len__5769__auto___19164)){\nargs__5775__auto__.push((arguments[i__5770__auto___19165]));\n\nvar G__19166 \x3d (i__5770__auto___19165 + (1));\ni__5770__auto___19165 \x3d G__19166;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19162);\n}));\n\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo \x3d (function (seq18845){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18845));\n}));\n\n\nvar g__12897__auto___19167 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-alphanumeric\n */\ncljs.spec.gen.alpha.string_alphanumeric \x3d (function cljs$spec$gen$alpha$string_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19168 \x3d arguments.length;\nvar i__5770__auto___19169 \x3d (0);\nwhile(true){\nif((i__5770__auto___19169 \x3c len__5769__auto___19168)){\nargs__5775__auto__.push((arguments[i__5770__auto___19169]));\n\nvar G__19170 \x3d (i__5770__auto___19169 + (1));\ni__5770__auto___19169 \x3d G__19170;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19167);\n}));\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo \x3d (function (seq18847){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18847));\n}));\n\n\nvar g__12897__auto___19171 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol\n */\ncljs.spec.gen.alpha.symbol \x3d (function cljs$spec$gen$alpha$symbol(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19172 \x3d arguments.length;\nvar i__5770__auto___19173 \x3d (0);\nwhile(true){\nif((i__5770__auto___19173 \x3c len__5769__auto___19172)){\nargs__5775__auto__.push((arguments[i__5770__auto___19173]));\n\nvar G__19174 \x3d (i__5770__auto___19173 + (1));\ni__5770__auto___19173 \x3d G__19174;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19171);\n}));\n\n(cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol.cljs$lang$applyTo \x3d (function (seq18858){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18858));\n}));\n\n\nvar g__12897__auto___19176 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol-ns\n */\ncljs.spec.gen.alpha.symbol_ns \x3d (function cljs$spec$gen$alpha$symbol_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19189 \x3d arguments.length;\nvar i__5770__auto___19190 \x3d (0);\nwhile(true){\nif((i__5770__auto___19190 \x3c len__5769__auto___19189)){\nargs__5775__auto__.push((arguments[i__5770__auto___19190]));\n\nvar G__19192 \x3d (i__5770__auto___19190 + (1));\ni__5770__auto___19190 \x3d G__19192;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19176);\n}));\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo \x3d (function (seq18860){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18860));\n}));\n\n\nvar g__12897__auto___19199 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.uuid !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.uuid;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/uuid\n */\ncljs.spec.gen.alpha.uuid \x3d (function cljs$spec$gen$alpha$uuid(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19218 \x3d arguments.length;\nvar i__5770__auto___19219 \x3d (0);\nwhile(true){\nif((i__5770__auto___19219 \x3c len__5769__auto___19218)){\nargs__5775__auto__.push((arguments[i__5770__auto___19219]));\n\nvar G__19220 \x3d (i__5770__auto___19219 + (1));\ni__5770__auto___19219 \x3d G__19220;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__12897__auto___19199);\n}));\n\n(cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.uuid.cljs$lang$applyTo \x3d (function (seq18861){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18861));\n}));\n\n/**\n * Returns a generator of a sequence catenated from results of\n * gens, each of which should generate something sequential.\n */\ncljs.spec.gen.alpha.cat \x3d (function cljs$spec$gen$alpha$cat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19221 \x3d arguments.length;\nvar i__5770__auto___19222 \x3d (0);\nwhile(true){\nif((i__5770__auto___19222 \x3c len__5769__auto___19221)){\nargs__5775__auto__.push((arguments[i__5770__auto___19222]));\n\nvar G__19223 \x3d (i__5770__auto___19222 + (1));\ni__5770__auto___19222 \x3d G__19223;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (gens){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__18862_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__18862_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gens)], 0));\n}));\n\n(cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.cat.cljs$lang$applyTo \x3d (function (seq18863){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18863));\n}));\n\ncljs.spec.gen.alpha.qualified_QMARK_ \x3d (function cljs$spec$gen$alpha$qualified_QMARK_(ident){\nreturn (!((cljs.core.namespace(ident) \x3d\x3d null)));\n});\ncljs.spec.gen.alpha.gen_builtins \x3d (new cljs.core.Delay((function (){\nvar simple \x3d cljs.spec.gen.alpha.simple_type_printable();\nreturn cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns()], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.any_printable()], null)], 0)),cljs.spec.gen.alpha.boolean$(),cljs.spec.gen.alpha.char$(),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable()], 0)),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__18867_SHARP_){\nreturn (new Date(p1__18867_SHARP_));\n}),cljs.spec.gen.alpha.large_integer()], 0)),cljs.spec.gen.alpha.symbol(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY], null)], 0)),cljs.spec.gen.alpha.string_alphanumeric(),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__18866_SHARP_){\nreturn (new goog.Uri([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__18866_SHARP_),\x22.com\x22].join(\x27\x27)));\n}),cljs.spec.gen.alpha.uuid()], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(0)], 0)),cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),(-1)], null)], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0))], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0)),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(0)], null)], 0)),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(1)], null)], 0)),cljs.spec.gen.alpha.uuid(),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([false], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.symbol()], null)], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.double$()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns()], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.string_alphanumeric()], null)], 0)),cljs.spec.gen.alpha.symbol_ns(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0))]);\n}),null));\n/**\n * Given a predicate, returns a built-in generator if one exists.\n */\ncljs.spec.gen.alpha.gen_for_pred \x3d (function cljs$spec$gen$alpha$gen_for_pred(pred){\nif(cljs.core.set_QMARK_(pred)){\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pred], 0));\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.gen_builtins),pred);\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.spec.alpha.js", true , "goog.provide(\x27cljs.spec.alpha\x27);\ngoog.scope(function(){\n cljs.spec.alpha.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.spec.alpha.MAX_INT \x3d (9007199254740991);\n/**\n * A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)\n * can be recursed through during generation. After this a\n * non-recursive branch will be chosen.\n */\ncljs.spec.alpha._STAR_recursion_limit_STAR_ \x3d (4);\n/**\n * The number of times an anonymous fn specified by fspec will be (generatively) tested during conform\n */\ncljs.spec.alpha._STAR_fspec_iterations_STAR_ \x3d (21);\n/**\n * The number of items validated in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_check_limit_STAR_ \x3d (101);\n/**\n * The number of errors reported by explain in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_error_limit_STAR_ \x3d (20);\n\n/**\n * @interface\n */\ncljs.spec.alpha.Spec \x3d function(){};\n\nvar cljs$spec$alpha$Spec$conform_STAR_$dyn_20878 \x3d (function (spec,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5394__auto__.call(null,spec,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.conform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5392__auto__.call(null,spec,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.conform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.conform_STAR_ \x3d (function cljs$spec$alpha$conform_STAR_(spec,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);\n} else {\nreturn cljs$spec$alpha$Spec$conform_STAR_$dyn_20878(spec,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$unform_STAR_$dyn_20905 \x3d (function (spec,y){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5394__auto__.call(null,spec,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.unform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5392__auto__.call(null,spec,y));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.unform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.unform_STAR_ \x3d (function cljs$spec$alpha$unform_STAR_(spec,y){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);\n} else {\nreturn cljs$spec$alpha$Spec$unform_STAR_$dyn_20905(spec,y);\n}\n});\n\nvar cljs$spec$alpha$Spec$explain_STAR_$dyn_20910 \x3d (function (spec,path,via,in$,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5394__auto__.call(null,spec,path,via,in$,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.explain_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5392__auto__.call(null,spec,path,via,in$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.explain*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.explain_STAR_ \x3d (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);\n} else {\nreturn cljs$spec$alpha$Spec$explain_STAR_$dyn_20910(spec,path,via,in$,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$gen_STAR_$dyn_20915 \x3d (function (spec,overrides,path,rmap){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5394__auto__.call(null,spec,overrides,path,rmap));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5392__auto__.call(null,spec,overrides,path,rmap));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.gen_STAR_ \x3d (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);\n} else {\nreturn cljs$spec$alpha$Spec$gen_STAR_$dyn_20915(spec,overrides,path,rmap);\n}\n});\n\nvar cljs$spec$alpha$Spec$with_gen_STAR_$dyn_20916 \x3d (function (spec,gfn){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5394__auto__.call(null,spec,gfn));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5392__auto__.call(null,spec,gfn));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.with-gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.with_gen_STAR_ \x3d (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);\n} else {\nreturn cljs$spec$alpha$Spec$with_gen_STAR_$dyn_20916(spec,gfn);\n}\n});\n\nvar cljs$spec$alpha$Spec$describe_STAR_$dyn_20921 \x3d (function (spec){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5394__auto__.call(null,spec));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.describe_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5392__auto__.call(null,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.describe*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.describe_STAR_ \x3d (function cljs$spec$alpha$describe_STAR_(spec){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);\n} else {\nreturn cljs$spec$alpha$Spec$describe_STAR_$dyn_20921(spec);\n}\n});\n\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.registry_ref !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha.registry_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\ncljs.spec.alpha.deep_resolve \x3d (function cljs$spec$alpha$deep_resolve(reg,k){\nvar spec \x3d k;\nwhile(true){\nif(cljs.core.ident_QMARK_(spec)){\nvar G__20932 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,spec);\nspec \x3d G__20932;\ncontinue;\n} else {\nreturn spec;\n}\nbreak;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve \x3d (function cljs$spec$alpha$reg_resolve(k){\nif(cljs.core.ident_QMARK_(k)){\nvar reg \x3d cljs.core.deref(cljs.spec.alpha.registry_ref);\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,k);\nif((!(cljs.core.ident_QMARK_(spec)))){\nreturn spec;\n} else {\nreturn cljs.spec.alpha.deep_resolve(reg,spec);\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve_BANG_ \x3d (function cljs$spec$alpha$reg_resolve_BANG_(k){\nif(cljs.core.ident_QMARK_(k)){\nvar or__5045__auto__ \x3d cljs.spec.alpha.reg_resolve(k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27)));\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns x if x is a spec object, else logical false\n */\ncljs.spec.alpha.spec_QMARK_ \x3d (function cljs$spec$alpha$spec_QMARK_(x){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$spec$alpha$Spec$))))?true:false):false)){\nreturn x;\n} else {\nreturn null;\n}\n});\n/**\n * returns x if x is a (cljs.spec.alpha) regex op, else logical false\n */\ncljs.spec.alpha.regex_QMARK_ \x3d (function cljs$spec$alpha$regex_QMARK_(x){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(x);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn x;\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.spec.alpha.with_name \x3d (function cljs$spec$alpha$with_name(spec,name){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(spec,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(spec),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name));\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.spec_name \x3d (function cljs$spec$alpha$spec_name(spec){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(spec);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.\n */\ncljs.spec.alpha.maybe_spec \x3d (function cljs$spec$alpha$maybe_spec(spec_or_k){\nvar s \x3d (function (){var or__5045__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(spec_or_k);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.reg_resolve(spec_or_k);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.spec_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d cljs.spec.alpha.regex_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(s))){\nreturn cljs.spec.alpha.with_name(cljs.spec.alpha.regex_spec_impl(s,null),cljs.spec.alpha.spec_name(s));\n} else {\nreturn s;\n}\n});\n/**\n * spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym\n */\ncljs.spec.alpha.the_spec \x3d (function cljs$spec$alpha$the_spec(spec_or_k){\nvar or__5045__auto__ \x3d cljs.spec.alpha.maybe_spec(spec_or_k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.ident_QMARK_(spec_or_k)){\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join(\x27\x27)));\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.fn_sym \x3d (function cljs$spec$alpha$fn_sym(f_n){\nif(clojure.string.blank_QMARK_(f_n)){\nreturn null;\n} else {\nvar xs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.demunge,clojure.string.split.cljs$core$IFn$_invoke$arity$2(f_n,\x22$\x22));\nif(((((2) \x3c\x3d cljs.core.count(xs))) \x26\x26 (cljs.core.every_QMARK_((function (p1__19163_SHARP_){\nreturn (!(clojure.string.blank_QMARK_(p1__19163_SHARP_)));\n}),xs)))){\nvar vec__19202 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast,cljs.core.last)(xs);\nvar xs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19202,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19202,(1),null);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,xs__$1),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27));\n} else {\nreturn null;\n}\n}\n});\n\n/**\n * @interface\n */\ncljs.spec.alpha.Specize \x3d function(){};\n\nvar cljs$spec$alpha$Specize$specize_STAR_$dyn_20949 \x3d (function() {\nvar G__20950 \x3d null;\nvar G__20950__1 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nvar G__20950__2 \x3d (function (_,form){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5394__auto__.call(null,_,form));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5392__auto__.call(null,_,form));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nG__20950 \x3d function(_,form){\nswitch(arguments.length){\ncase 1:\nreturn G__20950__1.call(this,_);\ncase 2:\nreturn G__20950__2.call(this,_,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20950.cljs$core$IFn$_invoke$arity$1 \x3d G__20950__1;\nG__20950.cljs$core$IFn$_invoke$arity$2 \x3d G__20950__2;\nreturn G__20950;\n})()\n;\ncljs.spec.alpha.specize_STAR_ \x3d (function cljs$spec$alpha$specize_STAR_(var_args){\nvar G__19229 \x3d arguments.length;\nswitch (G__19229) {\ncase 1:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_20949(_);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,form){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_20949(_,form);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (k){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (k,_){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.spec.alpha.Specize[\x22_\x22] \x3d true);\n\n(cljs.spec.alpha.specize_STAR_[\x22_\x22] \x3d (function() {\nvar G__20970 \x3d null;\nvar G__20970__1 \x3d (function (o){\nvar temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.fn_QMARK_(o);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.fn_sym(o.name);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f_n \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(f_n,o,null,null);\n} else {\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818),o,null,null);\n}\n});\nvar G__20970__2 \x3d (function (o,form){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,o,null,null);\n});\nG__20970 \x3d function(o,form){\nswitch(arguments.length){\ncase 1:\nreturn G__20970__1.call(this,o);\ncase 2:\nreturn G__20970__2.call(this,o,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20970.cljs$core$IFn$_invoke$arity$1 \x3d G__20970__1;\nG__20970.cljs$core$IFn$_invoke$arity$2 \x3d G__20970__2;\nreturn G__20970;\n})()\n);\ncljs.spec.alpha.specize \x3d (function cljs$spec$alpha$specize(var_args){\nvar G__19243 \x3d arguments.length;\nswitch (G__19243) {\ncase 1:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,form){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s,form);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * tests the validity of a conform return value\n */\ncljs.spec.alpha.invalid_QMARK_ \x3d (function cljs$spec$alpha$invalid_QMARK_(ret){\nreturn cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119),ret);\n});\n/**\n * Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n * not match spec, else the (possibly destructured) value.\n */\ncljs.spec.alpha.conform \x3d (function cljs$spec$alpha$conform(spec,x){\nreturn cljs.spec.alpha.conform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * Given a spec and a value created by or compliant with a call to\n * \x27conform\x27 with the same spec, returns a value with all conform\n * destructuring undone.\n */\ncljs.spec.alpha.unform \x3d (function cljs$spec$alpha$unform(spec,x){\nreturn cljs.spec.alpha.unform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * returns the spec as data\n */\ncljs.spec.alpha.form \x3d (function cljs$spec$alpha$form(spec){\nreturn cljs.spec.alpha.describe_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec));\n});\ncljs.spec.alpha.abbrev \x3d (function cljs$spec$alpha$abbrev(form){\nif(cljs.core.seq_QMARK_(form)){\nreturn clojure.walk.postwalk((function (form__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form__$1 instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form__$1);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form__$1));\n} else {\nif(((cljs.core.seq_QMARK_(form__$1)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),cljs.core.first(form__$1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.second(form__$1))))))){\nreturn cljs.core.last(form__$1);\n} else {\nreturn form__$1;\n\n}\n}\n}),form);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form));\n} else {\nreturn form;\n\n}\n}\n});\n/**\n * returns an abbreviated description of the spec as data\n */\ncljs.spec.alpha.describe \x3d (function cljs$spec$alpha$describe(spec){\nreturn cljs.spec.alpha.abbrev(cljs.spec.alpha.form(spec));\n});\n/**\n * Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator\n */\ncljs.spec.alpha.with_gen \x3d (function cljs$spec$alpha$with_gen(spec,gen_fn){\nvar spec__$1 \x3d cljs.spec.alpha.reg_resolve(spec);\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec__$1))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375),gen_fn);\n} else {\nreturn cljs.spec.alpha.with_gen_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec__$1),gen_fn);\n}\n});\ncljs.spec.alpha.explain_data_STAR_ \x3d (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),path,via,in$,x);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar probs \x3d temp__5804__auto__;\nif(cljs.core.empty_QMARK_(probs)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),probs,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22spec\x22,\x22cljs.spec.alpha/spec\x22,1947137578),spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22value\x22,\x22cljs.spec.alpha/value\x22,1974786274),x], null);\n}\n} else {\nreturn null;\n}\n});\n/**\n * Given a spec and a value x which ought to conform, returns nil if x\n * conforms, else a map with at least the key ::problems whose value is\n * a collection of problem-maps, where problem-map has at least :path :pred and :val\n * keys describing the predicate and the value that failed at that\n * path.\n */\ncljs.spec.alpha.explain_data \x3d (function cljs$spec$alpha$explain_data(spec,x){\nreturn cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,x);\n});\n/**\n * Default printer for explain-data. nil indicates a successful validation.\n */\ncljs.spec.alpha.explain_printer \x3d (function cljs$spec$alpha$explain_printer(ed){\nif(cljs.core.truth_(ed)){\nvar problems \x3d cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__19299_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(p1__19299_SHARP_)));\n}),cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__19298_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865).cljs$core$IFn$_invoke$arity$1(p1__19298_SHARP_)));\n}),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814).cljs$core$IFn$_invoke$arity$1(ed)));\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__19304_20975 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__19305_20976 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__19306_20977 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__19307_20978 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__19306_20977);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__19307_20978);\n\ntry{var seq__19309_20982 \x3d cljs.core.seq(problems);\nvar chunk__19310_20983 \x3d null;\nvar count__19311_20984 \x3d (0);\nvar i__19312_20985 \x3d (0);\nwhile(true){\nif((i__19312_20985 \x3c count__19311_20984)){\nvar map__19397_20987 \x3d chunk__19310_20983.cljs$core$IIndexed$_nth$arity$2(null,i__19312_20985);\nvar map__19397_20988__$1 \x3d cljs.core.__destructure_map(map__19397_20987);\nvar prob_20989 \x3d map__19397_20988__$1;\nvar path_20990 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_20991 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_20992 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_20993 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_20994 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_20995 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19397_20988__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_20992], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_20993)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_20993], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_20991)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_20995)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_20995], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_20990)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_20990], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_20994)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_20994)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__19401_21002 \x3d cljs.core.seq(prob_20989);\nvar chunk__19402_21003 \x3d null;\nvar count__19403_21004 \x3d (0);\nvar i__19404_21005 \x3d (0);\nwhile(true){\nif((i__19404_21005 \x3c count__19403_21004)){\nvar vec__19417_21006 \x3d chunk__19402_21003.cljs$core$IIndexed$_nth$arity$2(null,i__19404_21005);\nvar k_21007 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19417_21006,(0),null);\nvar v_21008 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19417_21006,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19422 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19422.cljs$core$IFn$_invoke$arity$1 ? fexpr__19422.cljs$core$IFn$_invoke$arity$1(k_21007) : fexpr__19422.call(null,k_21007));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_21007], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_21008], 0));\n}\n\n\nvar G__21014 \x3d seq__19401_21002;\nvar G__21015 \x3d chunk__19402_21003;\nvar G__21016 \x3d count__19403_21004;\nvar G__21017 \x3d (i__19404_21005 + (1));\nseq__19401_21002 \x3d G__21014;\nchunk__19402_21003 \x3d G__21015;\ncount__19403_21004 \x3d G__21016;\ni__19404_21005 \x3d G__21017;\ncontinue;\n} else {\nvar temp__5804__auto___21018 \x3d cljs.core.seq(seq__19401_21002);\nif(temp__5804__auto___21018){\nvar seq__19401_21019__$1 \x3d temp__5804__auto___21018;\nif(cljs.core.chunked_seq_QMARK_(seq__19401_21019__$1)){\nvar c__5568__auto___21020 \x3d cljs.core.chunk_first(seq__19401_21019__$1);\nvar G__21021 \x3d cljs.core.chunk_rest(seq__19401_21019__$1);\nvar G__21022 \x3d c__5568__auto___21020;\nvar G__21023 \x3d cljs.core.count(c__5568__auto___21020);\nvar G__21024 \x3d (0);\nseq__19401_21002 \x3d G__21021;\nchunk__19402_21003 \x3d G__21022;\ncount__19403_21004 \x3d G__21023;\ni__19404_21005 \x3d G__21024;\ncontinue;\n} else {\nvar vec__19425_21025 \x3d cljs.core.first(seq__19401_21019__$1);\nvar k_21026 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19425_21025,(0),null);\nvar v_21027 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19425_21025,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19429 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19429.cljs$core$IFn$_invoke$arity$1 ? fexpr__19429.cljs$core$IFn$_invoke$arity$1(k_21026) : fexpr__19429.call(null,k_21026));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_21026], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_21027], 0));\n}\n\n\nvar G__21028 \x3d cljs.core.next(seq__19401_21019__$1);\nvar G__21029 \x3d null;\nvar G__21030 \x3d (0);\nvar G__21031 \x3d (0);\nseq__19401_21002 \x3d G__21028;\nchunk__19402_21003 \x3d G__21029;\ncount__19403_21004 \x3d G__21030;\ni__19404_21005 \x3d G__21031;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__21032 \x3d seq__19309_20982;\nvar G__21033 \x3d chunk__19310_20983;\nvar G__21034 \x3d count__19311_20984;\nvar G__21035 \x3d (i__19312_20985 + (1));\nseq__19309_20982 \x3d G__21032;\nchunk__19310_20983 \x3d G__21033;\ncount__19311_20984 \x3d G__21034;\ni__19312_20985 \x3d G__21035;\ncontinue;\n} else {\nvar temp__5804__auto___21036 \x3d cljs.core.seq(seq__19309_20982);\nif(temp__5804__auto___21036){\nvar seq__19309_21037__$1 \x3d temp__5804__auto___21036;\nif(cljs.core.chunked_seq_QMARK_(seq__19309_21037__$1)){\nvar c__5568__auto___21038 \x3d cljs.core.chunk_first(seq__19309_21037__$1);\nvar G__21045 \x3d cljs.core.chunk_rest(seq__19309_21037__$1);\nvar G__21046 \x3d c__5568__auto___21038;\nvar G__21047 \x3d cljs.core.count(c__5568__auto___21038);\nvar G__21048 \x3d (0);\nseq__19309_20982 \x3d G__21045;\nchunk__19310_20983 \x3d G__21046;\ncount__19311_20984 \x3d G__21047;\ni__19312_20985 \x3d G__21048;\ncontinue;\n} else {\nvar map__19432_21049 \x3d cljs.core.first(seq__19309_21037__$1);\nvar map__19432_21050__$1 \x3d cljs.core.__destructure_map(map__19432_21049);\nvar prob_21051 \x3d map__19432_21050__$1;\nvar path_21052 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_21053 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_21054 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_21055 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_21056 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_21057 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19432_21050__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_21054], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_21055)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_21055], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_21053)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_21057)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_21057], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_21052)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_21052], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_21056)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_21056)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__19437_21058 \x3d cljs.core.seq(prob_21051);\nvar chunk__19438_21059 \x3d null;\nvar count__19439_21060 \x3d (0);\nvar i__19440_21061 \x3d (0);\nwhile(true){\nif((i__19440_21061 \x3c count__19439_21060)){\nvar vec__19454_21062 \x3d chunk__19438_21059.cljs$core$IIndexed$_nth$arity$2(null,i__19440_21061);\nvar k_21063 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19454_21062,(0),null);\nvar v_21064 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19454_21062,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19457 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19457.cljs$core$IFn$_invoke$arity$1 ? fexpr__19457.cljs$core$IFn$_invoke$arity$1(k_21063) : fexpr__19457.call(null,k_21063));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_21063], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_21064], 0));\n}\n\n\nvar G__21065 \x3d seq__19437_21058;\nvar G__21066 \x3d chunk__19438_21059;\nvar G__21067 \x3d count__19439_21060;\nvar G__21068 \x3d (i__19440_21061 + (1));\nseq__19437_21058 \x3d G__21065;\nchunk__19438_21059 \x3d G__21066;\ncount__19439_21060 \x3d G__21067;\ni__19440_21061 \x3d G__21068;\ncontinue;\n} else {\nvar temp__5804__auto___21069__$1 \x3d cljs.core.seq(seq__19437_21058);\nif(temp__5804__auto___21069__$1){\nvar seq__19437_21070__$1 \x3d temp__5804__auto___21069__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__19437_21070__$1)){\nvar c__5568__auto___21071 \x3d cljs.core.chunk_first(seq__19437_21070__$1);\nvar G__21072 \x3d cljs.core.chunk_rest(seq__19437_21070__$1);\nvar G__21073 \x3d c__5568__auto___21071;\nvar G__21074 \x3d cljs.core.count(c__5568__auto___21071);\nvar G__21075 \x3d (0);\nseq__19437_21058 \x3d G__21072;\nchunk__19438_21059 \x3d G__21073;\ncount__19439_21060 \x3d G__21074;\ni__19440_21061 \x3d G__21075;\ncontinue;\n} else {\nvar vec__19458_21076 \x3d cljs.core.first(seq__19437_21070__$1);\nvar k_21077 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19458_21076,(0),null);\nvar v_21078 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19458_21076,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19461 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19461.cljs$core$IFn$_invoke$arity$1 ? fexpr__19461.cljs$core$IFn$_invoke$arity$1(k_21077) : fexpr__19461.call(null,k_21077));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_21077], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_21078], 0));\n}\n\n\nvar G__21079 \x3d cljs.core.next(seq__19437_21070__$1);\nvar G__21080 \x3d null;\nvar G__21081 \x3d (0);\nvar G__21082 \x3d (0);\nseq__19437_21058 \x3d G__21079;\nchunk__19438_21059 \x3d G__21080;\ncount__19439_21060 \x3d G__21081;\ni__19440_21061 \x3d G__21082;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__21083 \x3d cljs.core.next(seq__19309_21037__$1);\nvar G__21084 \x3d null;\nvar G__21085 \x3d (0);\nvar G__21086 \x3d (0);\nseq__19309_20982 \x3d G__21083;\nchunk__19310_20983 \x3d G__21084;\ncount__19311_20984 \x3d G__21085;\ni__19312_20985 \x3d G__21086;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__19305_20976);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__19304_20975);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()], 0));\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Success!\x22], 0));\n}\n});\ncljs.spec.alpha._STAR_explain_out_STAR_ \x3d cljs.spec.alpha.explain_printer;\n/**\n * Prints explanation data (per \x27explain-data\x27) to *out* using the printer in *explain-out*,\n * by default explain-printer.\n */\ncljs.spec.alpha.explain_out \x3d (function cljs$spec$alpha$explain_out(ed){\nreturn cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);\n});\n/**\n * Given a spec and a value that fails to conform, prints an explanation to *out*.\n */\ncljs.spec.alpha.explain \x3d (function cljs$spec$alpha$explain(spec,x){\nreturn cljs.spec.alpha.explain_out(cljs.spec.alpha.explain_data(spec,x));\n});\n/**\n * Given a spec and a value that fails to conform, returns an explanation as a string.\n */\ncljs.spec.alpha.explain_str \x3d (function cljs$spec$alpha$explain_str(spec,x){\nvar sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__19462_21094 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__19463_21095 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__19464_21096 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__19465_21097 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__19464_21096);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__19465_21097);\n\ntry{cljs.spec.alpha.explain(spec,x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__19463_21095);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__19462_21094);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n});\ncljs.spec.alpha.gensub \x3d (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nvar temp__5802__auto__ \x3d (function (){var or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,(function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_name(spec__$1);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn spec__$1;\n}\n})());\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn \x3d temp__5804__auto__;\nreturn (gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.gen_STAR_(spec__$1,overrides,path,rmap);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar g \x3d temp__5802__auto__;\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19466_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,p1__19466_SHARP_);\n}),g,(100)], 0));\n} else {\nthrow (new Error([\x22Unable to construct gen at: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22 for: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev(form))].join(\x27\x27)));\n}\n});\n/**\n * Given a spec, returns the generator for it, or throws if none can\n * be constructed. Optionally an overrides map can be provided which\n * should map spec names or paths (vectors of keywords) to no-arg\n * generator-creating fns. These will be used instead of the generators at those\n * names/paths. Note that parent generator (in the spec or overrides\n * map) will supersede those of any subtrees. A generator for a regex\n * op must always return a sequential collection (i.e. a generator for\n * s/? should return either an empty sequence/vector or a\n * sequence/vector with one item in it)\n */\ncljs.spec.alpha.gen \x3d (function cljs$spec$alpha$gen(var_args){\nvar G__19468 \x3d arguments.length;\nswitch (G__19468) {\ncase 1:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,null);\n}));\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,overrides){\nreturn cljs.spec.alpha.gensub(spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);\n}));\n\n(cljs.spec.alpha.gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Do not call this directly, use \x27def\x27\n */\ncljs.spec.alpha.def_impl \x3d (function cljs$spec$alpha$def_impl(k,form,spec){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(k);\nif(and__5043__auto__){\nreturn cljs.core.namespace(k);\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22k must be namespaced keyword or resolveable symbol\x22,\x22\\n\x22,\x22(c/and (ident? k) (namespace k))\x22].join(\x27\x27)));\n}\n\nif((spec \x3d\x3d null)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.registry_ref,cljs.core.dissoc,k);\n} else {\nvar spec_21107__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.regex_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.alpha.registry_ref),spec);\n}\n}\n})())?spec:cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,spec,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name(spec_21107__$1,k));\n}\n\nreturn k;\n});\n/**\n * returns the registry map, prefer \x27get-spec\x27 to lookup a spec by name\n */\ncljs.spec.alpha.registry \x3d (function cljs$spec$alpha$registry(){\nreturn cljs.core.deref(cljs.spec.alpha.registry_ref);\n});\n/**\n * Returns a symbol from a symbol or var\n */\ncljs.spec.alpha.__GT_sym \x3d (function cljs$spec$alpha$__GT_sym(x){\nif(cljs.core.var_QMARK_(x)){\nreturn x.sym;\n} else {\nreturn x;\n}\n});\n/**\n * Returns spec registered for keyword/symbol/var k, or nil.\n */\ncljs.spec.alpha.get_spec \x3d (function cljs$spec$alpha$get_spec(k){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym(k)));\n});\ncljs.spec.alpha.macroexpand_check \x3d (function cljs$spec$alpha$macroexpand_check(v,args){\nvar specs \x3d cljs.spec.alpha.get_spec(v);\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar arg_spec \x3d temp__5804__auto__;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform(arg_spec,args))){\nvar ed \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(arg_spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(arg_spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22args\x22,\x22cljs.spec.alpha/args\x22,1870769783),args);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Call to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym(v)),\x22 did not conform to spec.\x22].join(\x27\x27),ed);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.recur_limit_QMARK_ \x3d (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){\nreturn (((cljs.core.get.cljs$core$IFn$_invoke$arity$2(rmap,id) \x3e new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994).cljs$core$IFn$_invoke$arity$1(rmap))) \x26\x26 (cljs.core.contains_QMARK_(cljs.core.set(path),k)));\n});\ncljs.spec.alpha.inck \x3d (function cljs$spec$alpha$inck(m,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,((function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() + (1)));\n});\ncljs.spec.alpha.dt \x3d (function cljs$spec$alpha$dt(var_args){\nvar G__19478 \x3d arguments.length;\nswitch (G__19478) {\ncase 3:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(pred,x,form,null);\n}));\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 \x3d (function (pred,x,form,cpred_QMARK_){\nif(cljs.core.truth_(pred)){\nvar temp__5802__auto__ \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar spec \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.conform(spec,x);\n} else {\nif(cljs.core.ifn_QMARK_(pred)){\nif(cljs.core.truth_(cpred_QMARK_)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x));\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n} else {\nthrow (new Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([form], 0)),\x22 is not a fn, expected predicate fn\x22].join(\x27\x27)));\n}\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.dt.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.valid_QMARK_ \x3d (function cljs$spec$alpha$valid_QMARK_(var_args){\nvar G__19483 \x3d arguments.length;\nswitch (G__19483) {\ncase 2:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,x){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,x,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(spec,form);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * internal helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.pvalid_QMARK_ \x3d (function cljs$spec$alpha$pvalid_QMARK_(var_args){\nvar G__19487 \x3d arguments.length;\nswitch (G__19487) {\ncase 2:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,x){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818)))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,form))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.explain_1 \x3d (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){\nvar pred__$1 \x3d cljs.spec.alpha.maybe_spec(pred);\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred__$1))){\nreturn cljs.spec.alpha.explain_STAR_(pred__$1,path,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(pred__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})(),in$,v);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),v,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n});\n\n/**\n * returns a generator for form f, which can be a keyword or a list\n * starting with \x27or or \x27and.\n */\ncljs.spec.alpha.k_gen \x3d (function cljs$spec$alpha$k_gen(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((1),cljs.core.rest(f));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.and_k_gen(cljs.core.rest(f));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * returns a tuple generator made up of generators for a random subset\n * of min-count (default 0) to all elements in s.\n */\ncljs.spec.alpha.or_k_gen \x3d (function cljs$spec$alpha$or_k_gen(var_args){\nvar G__19521 \x3d arguments.length;\nswitch (G__19521) {\ncase 1:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((0),s);\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (min_count,s){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([min_count,cljs.core.count(s)], 0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s)], 0))], 0)),(function (p__19528){\nvar vec__19529 \x3d p__19528;\nvar n \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19529,(0),null);\nvar gens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19529,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,gens));\n})], 0));\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * returns a tuple generator made up of generators for every element\n * in s.\n */\ncljs.spec.alpha.and_k_gen \x3d (function cljs$spec$alpha$and_k_gen(s){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s));\n});\n/**\n * Do not call this directly, use \x27spec\x27 with a map argument\n */\ncljs.spec.alpha.map_spec_impl \x3d (function cljs$spec$alpha$map_spec_impl(p__19556){\nvar map__19558 \x3d p__19556;\nvar map__19558__$1 \x3d cljs.core.__destructure_map(map__19558);\nvar argm \x3d map__19558__$1;\nvar opt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369));\nvar req_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008));\nvar opt_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474));\nvar pred_exprs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22pred-exprs\x22,\x22pred-exprs\x22,1792271395));\nvar keys_pred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22keys-pred\x22,\x22keys-pred\x22,858984739));\nvar opt_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22opt-keys\x22,\x22opt-keys\x22,1262688261));\nvar req_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22req-specs\x22,\x22req-specs\x22,553962313));\nvar req \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303));\nvar req_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22req-keys\x22,\x22req-keys\x22,514319221));\nvar opt_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22opt-specs\x22,\x22opt-specs\x22,-384905450));\nvar pred_forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19558__$1,new cljs.core.Keyword(null,\x22pred-forms\x22,\x22pred-forms\x22,172611832));\nvar k__GT_s \x3d cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_keys,opt_keys),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_specs,opt_specs));\nvar keys__GT_specnames \x3d (function (p1__19535_SHARP_){\nvar or__5045__auto__ \x3d (k__GT_s.cljs$core$IFn$_invoke$arity$1 ? k__GT_s.cljs$core$IFn$_invoke$arity$1(p1__19535_SHARP_) : k__GT_s.call(null,p1__19535_SHARP_));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__19535_SHARP_;\n}\n});\nvar id \x3d cljs.core.random_uuid();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19564 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19564 \x3d (function (keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,map__19558,req_specs,req,id,req_keys,opt_specs,p__19556,k__GT_s,pred_forms,meta19565){\nthis.keys__GT_specnames \x3d keys__GT_specnames;\nthis.opt \x3d opt;\nthis.req_un \x3d req_un;\nthis.opt_un \x3d opt_un;\nthis.gfn \x3d gfn;\nthis.pred_exprs \x3d pred_exprs;\nthis.keys_pred \x3d keys_pred;\nthis.argm \x3d argm;\nthis.opt_keys \x3d opt_keys;\nthis.map__19558 \x3d map__19558;\nthis.req_specs \x3d req_specs;\nthis.req \x3d req;\nthis.id \x3d id;\nthis.req_keys \x3d req_keys;\nthis.opt_specs \x3d opt_specs;\nthis.p__19556 \x3d p__19556;\nthis.k__GT_s \x3d k__GT_s;\nthis.pred_forms \x3d pred_forms;\nthis.meta19565 \x3d meta19565;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19566,meta19565__$1){\nvar self__ \x3d this;\nvar _19566__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19564(self__.keys__GT_specnames,self__.opt,self__.req_un,self__.opt_un,self__.gfn,self__.pred_exprs,self__.keys_pred,self__.argm,self__.opt_keys,self__.map__19558,self__.req_specs,self__.req,self__.id,self__.req_keys,self__.opt_specs,self__.p__19556,self__.k__GT_s,self__.pred_forms,meta19565__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19566){\nvar self__ \x3d this;\nvar _19566__$1 \x3d this;\nreturn self__.meta19565;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.keys_pred.cljs$core$IFn$_invoke$arity$1 ? self__.keys_pred.cljs$core$IFn$_invoke$arity$1(m) : self__.keys_pred.call(null,m)))){\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__19617 \x3d m;\nvar vec__19620 \x3d G__19617;\nvar seq__19621 \x3d cljs.core.seq(vec__19620);\nvar first__19622 \x3d cljs.core.first(seq__19621);\nvar seq__19621__$1 \x3d cljs.core.next(seq__19621);\nvar vec__19623 \x3d first__19622;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19623,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19623,(1),null);\nvar ks \x3d seq__19621__$1;\nvar keys \x3d vec__19620;\nvar ret__$1 \x3d ret;\nvar G__19617__$1 \x3d G__19617;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19630 \x3d G__19617__$1;\nvar seq__19631 \x3d cljs.core.seq(vec__19630);\nvar first__19632 \x3d cljs.core.first(seq__19631);\nvar seq__19631__$1 \x3d cljs.core.next(seq__19631);\nvar vec__19633 \x3d first__19632;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19633,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19633,(1),null);\nvar ks__$1 \x3d seq__19631__$1;\nvar keys__$1 \x3d vec__19630;\nif(cljs.core.truth_(keys__$1)){\nvar sname \x3d (self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1));\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,sname);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nvar cv \x3d cljs.spec.alpha.conform(s,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__21192 \x3d (((cv \x3d\x3d\x3d v__$1))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,cv));\nvar G__21193 \x3d ks__$1;\nret__$1 \x3d G__21192;\nG__19617__$1 \x3d G__21193;\ncontinue;\n}\n} else {\nvar G__21200 \x3d ret__$2;\nvar G__21201 \x3d ks__$1;\nret__$1 \x3d G__21200;\nG__19617__$1 \x3d G__21201;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__19645 \x3d cljs.core.keys(m);\nvar vec__19646 \x3d G__19645;\nvar seq__19647 \x3d cljs.core.seq(vec__19646);\nvar first__19648 \x3d cljs.core.first(seq__19647);\nvar seq__19647__$1 \x3d cljs.core.next(seq__19647);\nvar k \x3d first__19648;\nvar ks \x3d seq__19647__$1;\nvar keys \x3d vec__19646;\nvar ret__$1 \x3d ret;\nvar G__19645__$1 \x3d G__19645;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19656 \x3d G__19645__$1;\nvar seq__19657 \x3d cljs.core.seq(vec__19656);\nvar first__19658 \x3d cljs.core.first(seq__19657);\nvar seq__19657__$1 \x3d cljs.core.next(seq__19657);\nvar k__$1 \x3d first__19658;\nvar ks__$1 \x3d seq__19657__$1;\nvar keys__$1 \x3d vec__19656;\nif(cljs.core.truth_(keys__$1)){\nif(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)))){\nvar cv \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k__$1);\nvar v \x3d cljs.spec.alpha.unform((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)),cv);\nvar G__21217 \x3d (((cv \x3d\x3d\x3d v))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,v));\nvar G__21218 \x3d ks__$1;\nret__$1 \x3d G__21217;\nG__19645__$1 \x3d G__21218;\ncontinue;\n} else {\nvar G__21219 \x3d ret__$2;\nvar G__21220 \x3d ks__$1;\nret__$1 \x3d G__21219;\nG__19645__$1 \x3d G__21220;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.map_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar reg \x3d cljs.spec.alpha.registry();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,(function (){var temp__5804__auto__ \x3d cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (pred,form){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn null;\n} else {\nreturn form;\n}\n}),self__.pred_exprs,self__.pred_forms)));\nif(temp__5804__auto__){\nvar probs \x3d temp__5804__auto__;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19536_SHARP_){\nreturn cljs.core.identity(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),p1__19536_SHARP_,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}),probs);\n} else {\nreturn null;\n}\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__19659){\nvar vec__19660 \x3d p__19659;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19660,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19660,(1),null);\nif((((!(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)))))) || (cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),v,k)))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\n}\n}),cljs.core.seq(x)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nvar rgen \x3d (function (k,s){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k)], null);\n});\nvar ogen \x3d (function (k,s){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k);\n}),null)))], null);\n}\n});\nvar reqs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3(rgen,self__.req_keys,self__.req_specs);\nvar opts \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(ogen,self__.opt_keys,self__.opt_specs));\nif(cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,reqs),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,opts)))){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(self__.req),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt),cljs.spec.alpha.and_k_gen(self__.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt_un)], 0)),(function (p__19663){\nvar vec__19664 \x3d p__19663;\nvar req_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19664,(0),null);\nvar opt_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19664,(1),null);\nvar req_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19664,(2),null);\nvar opt_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19664,(3),null);\nvar qks \x3d cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_ks,opt_ks));\nvar unqks \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_un_ks,opt_un_ks)));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__19540_SHARP_){\nvar G__19668 \x3d cljs.core.first(p1__19540_SHARP_);\nvar fexpr__19667 \x3d cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(qks,unqks));\nreturn (fexpr__19667.cljs$core$IFn$_invoke$arity$1 ? fexpr__19667.cljs$core$IFn$_invoke$arity$1(G__19668) : fexpr__19667.call(null,G__19668));\n}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(reqs,opts))));\n})], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__19669 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.argm,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474),gfn__$1);\nreturn (cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(G__19669) : cljs.spec.alpha.map_spec_impl.call(null,G__19669));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22keys\x22,\x22cljs.spec.alpha/keys\x22,1109346032,null),(function (){var G__19670 \x3d cljs.core.PersistentVector.EMPTY;\nvar G__19670__$1 \x3d (cljs.core.truth_(self__.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19670,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req], 0)):G__19670);\nvar G__19670__$2 \x3d (cljs.core.truth_(self__.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19670__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt], 0)):G__19670__$1);\nvar G__19670__$3 \x3d (cljs.core.truth_(self__.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19670__$2,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req_un], 0)):G__19670__$2);\nif(cljs.core.truth_(self__.opt_un)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19670__$3,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt_un], 0));\n} else {\nreturn G__19670__$3;\n}\n})());\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys-\x3especnames\x22,\x22keys-\x3especnames\x22,1791294693,null),new cljs.core.Symbol(null,\x22opt\x22,\x22opt\x22,845825158,null),new cljs.core.Symbol(null,\x22req-un\x22,\x22req-un\x22,-1579864761,null),new cljs.core.Symbol(null,\x22opt-un\x22,\x22opt-un\x22,-1770993273,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22pred-exprs\x22,\x22pred-exprs\x22,-862164374,null),new cljs.core.Symbol(null,\x22keys-pred\x22,\x22keys-pred\x22,-1795451030,null),new cljs.core.Symbol(null,\x22argm\x22,\x22argm\x22,-181546357,null),new cljs.core.Symbol(null,\x22opt-keys\x22,\x22opt-keys\x22,-1391747508,null),new cljs.core.Symbol(null,\x22map__19558\x22,\x22map__19558\x22,-1522715057,null),new cljs.core.Symbol(null,\x22req-specs\x22,\x22req-specs\x22,-2100473456,null),new cljs.core.Symbol(null,\x22req\x22,\x22req\x22,1314083224,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22req-keys\x22,\x22req-keys\x22,-2140116548,null),new cljs.core.Symbol(null,\x22opt-specs\x22,\x22opt-specs\x22,1255626077,null),new cljs.core.Symbol(null,\x22p__19556\x22,\x22p__19556\x22,-639825507,null),new cljs.core.Symbol(null,\x22k-\x3es\x22,\x22k-\x3es\x22,-1685112801,null),new cljs.core.Symbol(null,\x22pred-forms\x22,\x22pred-forms\x22,1813143359,null),new cljs.core.Symbol(null,\x22meta19565\x22,\x22meta19565\x22,1442121744,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19564\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19564.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19564\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19564.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19564 \x3d (function cljs$spec$alpha$map_spec_impl_$___GT_t_cljs$spec$alpha19564(keys__GT_specnames__$1,opt__$1,req_un__$1,opt_un__$1,gfn__$1,pred_exprs__$1,keys_pred__$1,argm__$1,opt_keys__$1,map__19558__$2,req_specs__$1,req__$1,id__$1,req_keys__$1,opt_specs__$1,p__19556__$1,k__GT_s__$1,pred_forms__$1,meta19565){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19564(keys__GT_specnames__$1,opt__$1,req_un__$1,opt_un__$1,gfn__$1,pred_exprs__$1,keys_pred__$1,argm__$1,opt_keys__$1,map__19558__$2,req_specs__$1,req__$1,id__$1,req_keys__$1,opt_specs__$1,p__19556__$1,k__GT_s__$1,pred_forms__$1,meta19565));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19564(keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,map__19558__$1,req_specs,req,id,req_keys,opt_specs,p__19556,k__GT_s,pred_forms,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Do not call this directly, use \x27spec\x27\n */\ncljs.spec.alpha.spec_impl \x3d (function cljs$spec$alpha$spec_impl(var_args){\nvar G__19686 \x3d arguments.length;\nswitch (G__19686) {\ncase 4:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,gfn,cpred_QMARK_){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(form,pred,gfn,cpred_QMARK_,null);\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5 \x3d (function (form,pred,gfn,cpred_QMARK_,unc){\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred))){\nvar G__19691 \x3d pred;\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__19691,gfn);\n} else {\nreturn G__19691;\n}\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(pred))){\nreturn cljs.spec.alpha.regex_spec_impl(pred,gfn);\n} else {\nif(cljs.core.ident_QMARK_(pred)){\nvar G__19693 \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__19693,gfn);\n} else {\nreturn G__19693;\n}\n} else {\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19694 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19694 \x3d (function (form,pred,gfn,cpred_QMARK_,unc,meta19695){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.cpred_QMARK_ \x3d cpred_QMARK_;\nthis.unc \x3d unc;\nthis.meta19695 \x3d meta19695;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19696,meta19695__$1){\nvar self__ \x3d this;\nvar _19696__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19694(self__.form,self__.pred,self__.gfn,self__.cpred_QMARK_,self__.unc,meta19695__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19696){\nvar self__ \x3d this;\nvar _19696__$1 \x3d this;\nreturn self__.meta19695;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d (self__.pred.cljs$core$IFn$_invoke$arity$1 ? self__.pred.cljs$core$IFn$_invoke$arity$1(x) : self__.pred.call(null,x));\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nreturn ret;\n} else {\nif(cljs.core.truth_(ret)){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nif(cljs.core.truth_(self__.unc)){\nreturn (self__.unc.cljs$core$IFn$_invoke$arity$1 ? self__.unc.cljs$core$IFn$_invoke$arity$1(x) : self__.unc.call(null,x));\n} else {\nthrow (new Error(\x22no unform fn for conformer\x22));\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(self__.pred,x,self__.form,self__.cpred_QMARK_))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,___$1,___$2,___$3){\nvar self__ \x3d this;\nvar ___$4 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.gen_for_pred(self__.pred);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(self__.form,self__.pred,gfn__$1,self__.cpred_QMARK_,self__.unc);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.form;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22cpred?\x22,\x22cpred?\x22,35589515,null),new cljs.core.Symbol(null,\x22unc\x22,\x22unc\x22,-465250751,null),new cljs.core.Symbol(null,\x22meta19695\x22,\x22meta19695\x22,-1982066746,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19694\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19694.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19694\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19694.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19694 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19694(form__$1,pred__$1,gfn__$1,cpred_QMARK___$1,unc__$1,meta19695){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19694(form__$1,pred__$1,gfn__$1,cpred_QMARK___$1,unc__$1,meta19695));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19694(form,pred,gfn,cpred_QMARK_,unc,cljs.core.PersistentArrayMap.EMPTY));\n\n}\n}\n}\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Do not call this directly, use \x27multi-spec\x27\n */\ncljs.spec.alpha.multi_spec_impl \x3d (function cljs$spec$alpha$multi_spec_impl(var_args){\nvar G__19708 \x3d arguments.length;\nswitch (G__19708) {\ncase 3:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,mmvar,retag){\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(form,mmvar,retag,null);\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,mmvar,retag,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar predx \x3d (function (p1__19702_SHARP_){\nvar mm \x3d cljs.core.deref(mmvar);\nvar and__5043__auto__ \x3d cljs.core._get_method(mm,(function (){var fexpr__19709 \x3d cljs.core._dispatch_fn(mm);\nreturn (fexpr__19709.cljs$core$IFn$_invoke$arity$1 ? fexpr__19709.cljs$core$IFn$_invoke$arity$1(p1__19702_SHARP_) : fexpr__19709.call(null,p1__19702_SHARP_));\n})());\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (mm.cljs$core$IFn$_invoke$arity$1 ? mm.cljs$core$IFn$_invoke$arity$1(p1__19702_SHARP_) : mm.call(null,p1__19702_SHARP_));\n} else {\nreturn and__5043__auto__;\n}\n});\nvar dval \x3d (function (p1__19703_SHARP_){\nvar fexpr__19712 \x3d cljs.core._dispatch_fn(cljs.core.deref(mmvar));\nreturn (fexpr__19712.cljs$core$IFn$_invoke$arity$1 ? fexpr__19712.cljs$core$IFn$_invoke$arity$1(p1__19703_SHARP_) : fexpr__19712.call(null,p1__19703_SHARP_));\n});\nvar tag \x3d (((retag instanceof cljs.core.Keyword))?(function (p1__19704_SHARP_,p2__19705_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__19704_SHARP_,retag,p2__19705_SHARP_);\n}):retag);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19713 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19713 \x3d (function (form,mmvar,retag,gfn,id,predx,dval,tag,meta19714){\nthis.form \x3d form;\nthis.mmvar \x3d mmvar;\nthis.retag \x3d retag;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.predx \x3d predx;\nthis.dval \x3d dval;\nthis.tag \x3d tag;\nthis.meta19714 \x3d meta19714;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19715,meta19714__$1){\nvar self__ \x3d this;\nvar _19715__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19713(self__.form,self__.mmvar,self__.retag,self__.gfn,self__.id,self__.predx,self__.dval,self__.tag,meta19714__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19715){\nvar self__ \x3d this;\nvar _19715__$1 \x3d this;\nreturn self__.meta19714;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,self__.form);\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.unform(pred,x);\n} else {\nthrow (new Error([\x22No method of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.form),\x22 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x)))].join(\x27\x27)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar dv \x3d (self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x));\nvar path__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,dv);\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_1(self__.form,pred,path__$1,via,in$,x);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22no method\x22,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (p__19739){\nvar vec__19741 \x3d p__19739;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19741,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19741,(1),null);\nvar p \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(null) : f.call(null,null));\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19706_SHARP_){\nreturn (self__.tag.cljs$core$IFn$_invoke$arity$2 ? self__.tag.cljs$core$IFn$_invoke$arity$2(p1__19706_SHARP_,k) : self__.tag.call(null,p1__19706_SHARP_,k));\n}),cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method\x22,\x22method\x22,1696235119,null),(new cljs.core.List(null,self__.form,(new cljs.core.List(null,k,null,(1),null)),(2),null)),(3),null)))], 0));\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(gen,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__19754){\nvar vec__19755 \x3d p__19754;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19755,(0),null);\nreturn cljs.spec.alpha.invalid_QMARK_(k);\n}),cljs.core.methods$(cljs.core.deref(self__.mmvar)))));\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.mmvar,self__.retag,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22multi-spec\x22,\x22cljs.spec.alpha/multi-spec\x22,175821274,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.retag,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22mmvar\x22,\x22mmvar\x22,-1714325675,null),new cljs.core.Symbol(null,\x22retag\x22,\x22retag\x22,528972725,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22predx\x22,\x22predx\x22,2063470948,null),new cljs.core.Symbol(null,\x22dval\x22,\x22dval\x22,835211877,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta19714\x22,\x22meta19714\x22,-1372375439,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19713\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19713.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19713\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19713.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19713 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19713(form__$1,mmvar__$1,retag__$1,gfn__$1,id__$1,predx__$1,dval__$1,tag__$1,meta19714){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19713(form__$1,mmvar__$1,retag__$1,gfn__$1,id__$1,predx__$1,dval__$1,tag__$1,meta19714));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19713(form,mmvar,retag,gfn,id,predx,dval,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Do not call this directly, use \x27tuple\x27\n */\ncljs.spec.alpha.tuple_impl \x3d (function cljs$spec$alpha$tuple_impl(var_args){\nvar G__19771 \x3d arguments.length;\nswitch (G__19771) {\ncase 2:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2 \x3d (function (forms,preds){\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(forms,preds,null);\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cnt \x3d cljs.core.count(preds);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19809 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19809 \x3d (function (forms,preds,gfn,specs,cnt,meta19810){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cnt \x3d cnt;\nthis.meta19810 \x3d meta19810;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19811,meta19810__$1){\nvar self__ \x3d this;\nvar _19811__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19809(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cnt,meta19810__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19811){\nvar self__ \x3d this;\nvar _19811__$1 \x3d this;\nreturn self__.meta19810;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar specs__$1 \x3d cljs.core.deref(self__.specs);\nif((!(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),self__.cnt)))))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,self__.cnt)){\nreturn ret;\n} else {\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar cv \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),v);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__21255 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv));\nvar G__21256 \x3d (i + (1));\nret \x3d G__21255;\ni \x3d G__21256;\ncontinue;\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))))){\n} else {\nthrow (new Error(\x22Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))\x22));\n}\n\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,cljs.core.count(x))){\nreturn ret;\n} else {\nvar cv \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar v \x3d cljs.spec.alpha.unform((self__.preds.cljs$core$IFn$_invoke$arity$1 ? self__.preds.cljs$core$IFn$_invoke$arity$1(i) : self__.preds.call(null,i)),cv);\nvar G__21257 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,v));\nvar G__21258 \x3d (i + (1));\nret \x3d G__21257;\ni \x3d G__21258;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.vector_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.count(self__.preds),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (i,form,pred){\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,v)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i),v);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.forms,self__.preds));\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (i,p,f){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),rmap,f);\n});\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.preds,self__.forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gs);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22tuple\x22,\x22cljs.spec.alpha/tuple\x22,-415901908,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta19810\x22,\x22meta19810\x22,1482266240,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19809\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19809.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19809\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19809.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19809 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19809(forms__$1,preds__$1,gfn__$1,specs__$1,cnt__$1,meta19810){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19809(forms__$1,preds__$1,gfn__$1,specs__$1,cnt__$1,meta19810));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19809(forms,preds,gfn,specs,cnt,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.tagged_ret \x3d (function cljs$spec$alpha$tagged_ret(tag,ret){\nreturn (new cljs.core.MapEntry(tag,ret,null));\n});\n/**\n * Do not call this directly, use \x27or\x27\n */\ncljs.spec.alpha.or_spec_impl \x3d (function cljs$spec$alpha$or_spec_impl(keys,forms,preds,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar kps \x3d cljs.core.zipmap(keys,preds);\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__19889 \x3d cljs.core.count(preds);\nswitch (G__19889) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nvar ret__$2 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$2)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((2)) : keys.call(null,(2))),ret__$2);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar spec \x3d (specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i));\nvar ret \x3d cljs.spec.alpha.conform_STAR_(spec,x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar G__21262 \x3d (i + (1));\ni \x3d G__21262;\ncontinue;\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1(i) : keys.call(null,i)),ret);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\nbreak;\n}\n});\n\n}\n})();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19901 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19901 \x3d (function (keys,forms,preds,gfn,id,kps,specs,cform,meta19902){\nthis.keys \x3d keys;\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.kps \x3d kps;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta19902 \x3d meta19902;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19903,meta19902__$1){\nvar self__ \x3d this;\nvar _19903__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19901(self__.keys,self__.forms,self__.preds,self__.gfn,self__.id,self__.kps,self__.specs,self__.cform,meta19902__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19903){\nvar self__ \x3d this;\nvar _19903__$1 \x3d this;\nreturn self__.meta19902;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,p__19910){\nvar self__ \x3d this;\nvar vec__19911 \x3d p__19910;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19911,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19911,(1),null);\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform((self__.kps.cljs$core$IFn$_invoke$arity$1 ? self__.kps.cljs$core$IFn$_invoke$arity$1(k) : self__.kps.call(null,k)),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (this$,path,via,in$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(this$__$1,x)){\nreturn null;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form,pred){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,in$,x);\n}\n}),self__.keys,self__.forms,self__.preds));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (k,p,f){\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,f);\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,self__.keys,self__.preds,self__.forms));\nif(cljs.core.empty_QMARK_(gs)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4 ? cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.keys,self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.or_spec_impl.call(null,self__.keys,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22or\x22,\x22cljs.spec.alpha/or\x22,-831679639,null),null,(1),null)),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.keys,self__.forms], 0)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22kps\x22,\x22kps\x22,-1157342767,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta19902\x22,\x22meta19902\x22,-2016048126,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19901\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19901.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19901\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19901.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19901 \x3d (function cljs$spec$alpha$or_spec_impl_$___GT_t_cljs$spec$alpha19901(keys__$1,forms__$1,preds__$1,gfn__$1,id__$1,kps__$1,specs__$1,cform__$1,meta19902){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19901(keys__$1,forms__$1,preds__$1,gfn__$1,id__$1,kps__$1,specs__$1,cform__$1,meta19902));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19901(keys,forms,preds,gfn,id,kps,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.and_preds \x3d (function cljs$spec$alpha$and_preds(x,preds,forms){\nvar ret \x3d x;\nvar G__19932 \x3d preds;\nvar vec__19934 \x3d G__19932;\nvar seq__19935 \x3d cljs.core.seq(vec__19934);\nvar first__19936 \x3d cljs.core.first(seq__19935);\nvar seq__19935__$1 \x3d cljs.core.next(seq__19935);\nvar pred \x3d first__19936;\nvar preds__$1 \x3d seq__19935__$1;\nvar G__19933 \x3d forms;\nvar vec__19937 \x3d G__19933;\nvar seq__19938 \x3d cljs.core.seq(vec__19937);\nvar first__19939 \x3d cljs.core.first(seq__19938);\nvar seq__19938__$1 \x3d cljs.core.next(seq__19938);\nvar form \x3d first__19939;\nvar forms__$1 \x3d seq__19938__$1;\nvar ret__$1 \x3d ret;\nvar G__19932__$1 \x3d G__19932;\nvar G__19933__$1 \x3d G__19933;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19940 \x3d G__19932__$1;\nvar seq__19941 \x3d cljs.core.seq(vec__19940);\nvar first__19942 \x3d cljs.core.first(seq__19941);\nvar seq__19941__$1 \x3d cljs.core.next(seq__19941);\nvar pred__$1 \x3d first__19942;\nvar preds__$2 \x3d seq__19941__$1;\nvar vec__19943 \x3d G__19933__$1;\nvar seq__19944 \x3d cljs.core.seq(vec__19943);\nvar first__19945 \x3d cljs.core.first(seq__19944);\nvar seq__19944__$1 \x3d cljs.core.next(seq__19944);\nvar form__$1 \x3d first__19945;\nvar forms__$2 \x3d seq__19944__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__21268 \x3d nret;\nvar G__21269 \x3d preds__$2;\nvar G__21270 \x3d forms__$2;\nret__$1 \x3d G__21268;\nG__19932__$1 \x3d G__21269;\nG__19933__$1 \x3d G__21270;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n});\ncljs.spec.alpha.explain_pred_list \x3d (function cljs$spec$alpha$explain_pred_list(forms,preds,path,via,in$,x){\nvar ret \x3d x;\nvar G__19952 \x3d forms;\nvar vec__19954 \x3d G__19952;\nvar seq__19955 \x3d cljs.core.seq(vec__19954);\nvar first__19956 \x3d cljs.core.first(seq__19955);\nvar seq__19955__$1 \x3d cljs.core.next(seq__19955);\nvar form \x3d first__19956;\nvar forms__$1 \x3d seq__19955__$1;\nvar G__19953 \x3d preds;\nvar vec__19957 \x3d G__19953;\nvar seq__19958 \x3d cljs.core.seq(vec__19957);\nvar first__19959 \x3d cljs.core.first(seq__19958);\nvar seq__19958__$1 \x3d cljs.core.next(seq__19958);\nvar pred \x3d first__19959;\nvar preds__$1 \x3d seq__19958__$1;\nvar ret__$1 \x3d ret;\nvar G__19952__$1 \x3d G__19952;\nvar G__19953__$1 \x3d G__19953;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19960 \x3d G__19952__$1;\nvar seq__19961 \x3d cljs.core.seq(vec__19960);\nvar first__19962 \x3d cljs.core.first(seq__19961);\nvar seq__19961__$1 \x3d cljs.core.next(seq__19961);\nvar form__$1 \x3d first__19962;\nvar forms__$2 \x3d seq__19961__$1;\nvar vec__19963 \x3d G__19953__$1;\nvar seq__19964 \x3d cljs.core.seq(vec__19963);\nvar first__19965 \x3d cljs.core.first(seq__19964);\nvar seq__19964__$1 \x3d cljs.core.next(seq__19964);\nvar pred__$1 \x3d first__19965;\nvar preds__$2 \x3d seq__19964__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn cljs.spec.alpha.explain_1(form__$1,pred__$1,path,via,in$,ret__$2);\n} else {\nvar G__21271 \x3d nret;\nvar G__21272 \x3d forms__$2;\nvar G__21273 \x3d preds__$2;\nret__$1 \x3d G__21271;\nG__19952__$1 \x3d G__21272;\nG__19953__$1 \x3d G__21273;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Do not call this directly, use \x27and\x27\n */\ncljs.spec.alpha.and_spec_impl \x3d (function cljs$spec$alpha$and_spec_impl(forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__19968 \x3d cljs.core.count(preds);\nswitch (G__19968) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),ret__$1);\n}\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar nret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),ret);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__21277 \x3d nret;\nvar G__21278 \x3d (i + (1));\nret \x3d G__21277;\ni \x3d G__21278;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\n\n}\n})();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19969 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19969 \x3d (function (forms,preds,gfn,specs,cform,meta19970){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta19970 \x3d meta19970;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19971,meta19970__$1){\nvar self__ \x3d this;\nvar _19971__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19969(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cform,meta19970__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19971){\nvar self__ \x3d this;\nvar _19971__$1 \x3d this;\nreturn self__.meta19970;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__19967_SHARP_,p2__19966_SHARP_){\nreturn cljs.spec.alpha.unform(p2__19966_SHARP_,p1__19967_SHARP_);\n}),x,cljs.core.reverse(self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_pred_list(self__.forms,self__.preds,path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.gensub(cljs.core.first(self__.preds),overrides,path,rmap,cljs.core.first(self__.forms));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.and_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22and\x22,\x22cljs.spec.alpha/and\x22,-2060279705,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta19970\x22,\x22meta19970\x22,2061035713,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19969\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19969.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19969\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19969.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19969 \x3d (function cljs$spec$alpha$and_spec_impl_$___GT_t_cljs$spec$alpha19969(forms__$1,preds__$1,gfn__$1,specs__$1,cform__$1,meta19970){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19969(forms__$1,preds__$1,gfn__$1,specs__$1,cform__$1,meta19970));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19969(forms,preds,gfn,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.coll_prob \x3d (function cljs$spec$alpha$coll_prob(x,kfn,kform,distinct,count,min_count,max_count,path,via,in$){\nvar pred \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.coll_QMARK_;\n}\n})();\nvar kform__$1 \x3d (function (){var or__5045__auto__ \x3d kform;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22coll?\x22,\x22cljs.core/coll?\x22,1208130522,null);\n}\n})();\nif((!(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)))){\nreturn cljs.spec.alpha.explain_1(kform__$1,pred,path,via,in$,x);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(count,cljs.core.bounded_count(count,x));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,count,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn max_count;\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(((((function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() \x3c\x3d cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x))) \x26\x26 ((cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x) \x3c\x3d (function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})())))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x3d\x22,\x22cljs.core/\x3c\x3d\x22,1677001748,null),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})(),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d distinct;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((!(cljs.core.empty_QMARK_(x)))) \x26\x26 (cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,x))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}\n}\n}\n});\n/**\n * Do not call this directly, use \x27merge\x27\n */\ncljs.spec.alpha.merge_spec_impl \x3d (function cljs$spec$alpha$merge_spec_impl(forms,preds,gfn){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha19981 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19981 \x3d (function (forms,preds,gfn,meta19982){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.meta19982 \x3d meta19982;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19983,meta19982__$1){\nvar self__ \x3d this;\nvar _19983__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19981(self__.forms,self__.preds,self__.gfn,meta19982__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19983){\nvar self__ \x3d this;\nvar _19983__$1 \x3d this;\nreturn self__.meta19982;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19973_SHARP_,p2__19974_SHARP_){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p1__19973_SHARP_,x,p2__19974_SHARP_);\n}),self__.preds,self__.forms);\nif(cljs.core.truth_(cljs.core.some(cljs.spec.alpha.invalid_QMARK_,ms))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,ms);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19975_SHARP_){\nreturn cljs.spec.alpha.unform(p1__19975_SHARP_,x);\n}),cljs.core.reverse(self__.preds)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19976_SHARP_,p2__19977_SHARP_){\nreturn cljs.spec.alpha.explain_1(p1__19976_SHARP_,p2__19977_SHARP_,path,via,in$,x);\n}),self__.forms,self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19978_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,p1__19978_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19979_SHARP_,p2__19980_SHARP_){\nreturn cljs.spec.alpha.gensub(p1__19979_SHARP_,overrides,path,rmap,p2__19980_SHARP_);\n}),self__.preds,self__.forms))], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.merge_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22merge\x22,\x22cljs.spec.alpha/merge\x22,1420080689,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta19982\x22,\x22meta19982\x22,-1048860614,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19981\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19981.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19981\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19981.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19981 \x3d (function cljs$spec$alpha$merge_spec_impl_$___GT_t_cljs$spec$alpha19981(forms__$1,preds__$1,gfn__$1,meta19982){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19981(forms__$1,preds__$1,gfn__$1,meta19982));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19981(forms,preds,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.empty_coll \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22set?\x22,\x22cljs.core/set?\x22,-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22list?\x22,\x22cljs.core/list?\x22,-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),cljs.core.PersistentArrayMap.EMPTY], null);\n/**\n * Do not call this directly, use \x27every\x27, \x27every-kv\x27, \x27coll-of\x27 or \x27map-of\x27\n */\ncljs.spec.alpha.every_impl \x3d (function cljs$spec$alpha$every_impl(var_args){\nvar G__19998 \x3d arguments.length;\nswitch (G__19998) {\ncase 3:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,pred,opts){\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,opts,null);\n}));\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,p__20000,gfn){\nvar map__20001 \x3d p__20000;\nvar map__20001__$1 \x3d cljs.core.__destructure_map(map__20001);\nvar opts \x3d map__20001__$1;\nvar max_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22max-count\x22,\x22max-count\x22,1539185305));\nvar kind_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kind-form\x22,\x22cljs.spec.alpha/kind-form\x22,-1047104697));\nvar gen_max \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20001__$1,new cljs.core.Keyword(null,\x22gen-max\x22,\x22gen-max\x22,-793680445),(20));\nvar cpred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22cpred\x22,\x22cljs.spec.alpha/cpred\x22,-693471218));\nvar conform_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22conform-keys\x22,\x22conform-keys\x22,-1800041814));\nvar describe_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22describe\x22,\x22cljs.spec.alpha/describe\x22,1883026911));\nvar distinct \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22distinct\x22,\x22distinct\x22,-1788879121));\nvar kfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kfn\x22,\x22cljs.spec.alpha/kfn\x22,672643897));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nvar min_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22min-count\x22,\x22min-count\x22,1594709013));\nvar kind \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22kind\x22,\x22kind\x22,-717265803));\nvar conform_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22conform-all\x22,\x22cljs.spec.alpha/conform-all\x22,45201917));\nvar conform_into \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20001__$1,new cljs.core.Keyword(null,\x22into\x22,\x22into\x22,-150836029));\nvar gen_into \x3d (cljs.core.truth_(conform_into)?cljs.core.empty(conform_into):cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.empty_coll,kind_form));\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(pred);\n}),null));\nvar check_QMARK_ \x3d (function (p1__19987_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(spec),p1__19987_SHARP_);\n});\nvar kfn__$1 \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (function (i,v){\nreturn i;\n});\n}\n})();\nvar addcv \x3d (function (ret,i,v,cv){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cv);\n});\nvar cfns \x3d (function (x){\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (((cljs.core.not(conform_into)) || (cljs.core.vector_QMARK_(conform_into)))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.identity,(function (ret,i,v,cv){\nif((v \x3d\x3d\x3d cv)){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv);\n}\n}),cljs.core.identity], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.map_QMARK_(x);\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d (function (){var and__5043__auto____$1 \x3d kind;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.not(conform_into);\n} else {\nreturn and__5043__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.map_QMARK_(conform_into);\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(conform_keys)?cljs.core.empty:cljs.core.identity),(function (ret,i,v,cv){\nif((((v \x3d\x3d\x3d cv)) \x26\x26 (cljs.core.not(conform_keys)))){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,cljs.core.nth.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(conform_keys)?cv:v),(0)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cv,(1)));\n}\n}),cljs.core.identity], null);\n} else {\nif(((cljs.core.list_QMARK_(conform_into)) || (((cljs.core.seq_QMARK_(conform_into)) || (((cljs.core.not(conform_into)) \x26\x26 (((cljs.core.list_QMARK_(x)) || (cljs.core.seq_QMARK_(x)))))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.empty,addcv,cljs.core.reverse], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__19988_SHARP_){\nreturn cljs.core.empty((function (){var or__5045__auto__ \x3d conform_into;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__19988_SHARP_;\n}\n})());\n}),addcv,cljs.core.identity], null);\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha20022 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20022 \x3d (function (form,max_count,check_QMARK_,gfn,gen_max,pred,p__20000,cpred,map__20001,conform_keys,kind_form,addcv,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta20023){\nthis.form \x3d form;\nthis.max_count \x3d max_count;\nthis.check_QMARK_ \x3d check_QMARK_;\nthis.gfn \x3d gfn;\nthis.gen_max \x3d gen_max;\nthis.pred \x3d pred;\nthis.p__20000 \x3d p__20000;\nthis.cpred \x3d cpred;\nthis.map__20001 \x3d map__20001;\nthis.conform_keys \x3d conform_keys;\nthis.kind_form \x3d kind_form;\nthis.addcv \x3d addcv;\nthis.cfns \x3d cfns;\nthis.describe_form \x3d describe_form;\nthis.distinct \x3d distinct;\nthis.spec \x3d spec;\nthis.kfn \x3d kfn;\nthis.gen_into \x3d gen_into;\nthis.count \x3d count;\nthis.min_count \x3d min_count;\nthis.opts \x3d opts;\nthis.kind \x3d kind;\nthis.conform_all \x3d conform_all;\nthis.conform_into \x3d conform_into;\nthis.meta20023 \x3d meta20023;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20024,meta20023__$1){\nvar self__ \x3d this;\nvar _20024__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20022(self__.form,self__.max_count,self__.check_QMARK_,self__.gfn,self__.gen_max,self__.pred,self__.p__20000,self__.cpred,self__.map__20001,self__.conform_keys,self__.kind_form,self__.addcv,self__.cfns,self__.describe_form,self__.distinct,self__.spec,self__.kfn,self__.gen_into,self__.count,self__.min_count,self__.opts,self__.kind,self__.conform_all,self__.conform_into,meta20023__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20024){\nvar self__ \x3d this;\nvar _20024__$1 \x3d this;\nreturn self__.meta20023;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nif(cljs.core.not((self__.cpred.cljs$core$IFn$_invoke$arity$1 ? self__.cpred.cljs$core$IFn$_invoke$arity$1(x) : self__.cpred.call(null,x)))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nif(cljs.core.truth_(self__.conform_all)){\nvar vec__20031 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20031,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20031,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20031,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__20039 \x3d cljs.core.seq(x);\nvar vec__20041 \x3d G__20039;\nvar seq__20042 \x3d cljs.core.seq(vec__20041);\nvar first__20043 \x3d cljs.core.first(seq__20042);\nvar seq__20042__$1 \x3d cljs.core.next(seq__20042);\nvar v \x3d first__20043;\nvar vs \x3d seq__20042__$1;\nvar vseq \x3d vec__20041;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__20039__$1 \x3d G__20039;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__20048 \x3d G__20039__$1;\nvar seq__20049 \x3d cljs.core.seq(vec__20048);\nvar first__20050 \x3d cljs.core.first(seq__20049);\nvar seq__20049__$1 \x3d cljs.core.next(seq__20049);\nvar v__$1 \x3d first__20050;\nvar vs__$1 \x3d seq__20049__$1;\nvar vseq__$1 \x3d vec__20048;\nif(vseq__$1){\nvar cv \x3d cljs.spec.alpha.conform_STAR_(spec__$1,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__21424 \x3d (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(ret__$2,i__$2,v__$1,cv) : add.call(null,ret__$2,i__$2,v__$1,cv));\nvar G__21425 \x3d (i__$2 + (1));\nvar G__21426 \x3d vs__$1;\nret__$1 \x3d G__21424;\ni__$1 \x3d G__21425;\nG__20039__$1 \x3d G__21426;\ncontinue;\n}\n} else {\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n}\nbreak;\n}\n} else {\nif(cljs.core.indexed_QMARK_(x)){\nvar step \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d cljs.core.long$((cljs.core.count(x) / cljs.spec.alpha._STAR_coll_check_limit_STAR_));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar i \x3d (0);\nwhile(true){\nif((i \x3e\x3d cljs.core.count(x))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i))){\nvar G__21428 \x3d (i + step);\ni \x3d G__21428;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n} else {\nvar limit \x3d cljs.spec.alpha._STAR_coll_check_limit_STAR_;\nvar i \x3d (0);\nvar G__20063 \x3d cljs.core.seq(x);\nvar vec__20066 \x3d G__20063;\nvar seq__20067 \x3d cljs.core.seq(vec__20066);\nvar first__20068 \x3d cljs.core.first(seq__20067);\nvar seq__20067__$1 \x3d cljs.core.next(seq__20067);\nvar v \x3d first__20068;\nvar vs \x3d seq__20067__$1;\nvar vseq \x3d vec__20066;\nvar i__$1 \x3d i;\nvar G__20063__$1 \x3d G__20063;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar vec__20071 \x3d G__20063__$1;\nvar seq__20072 \x3d cljs.core.seq(vec__20071);\nvar first__20073 \x3d cljs.core.first(seq__20072);\nvar seq__20072__$1 \x3d cljs.core.next(seq__20072);\nvar v__$1 \x3d first__20073;\nvar vs__$1 \x3d seq__20072__$1;\nvar vseq__$1 \x3d vec__20071;\nif((((vseq__$1 \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i__$2,limit)))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,v__$1)){\nvar G__21430 \x3d (i__$2 + (1));\nvar G__21431 \x3d vs__$1;\ni__$1 \x3d G__21430;\nG__20063__$1 \x3d G__21431;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n\n}\n}\nbreak;\n}\n}\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.conform_all)){\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nvar vec__20090 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20090,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20090,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20090,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__20096 \x3d cljs.core.seq(x);\nvar vec__20098 \x3d G__20096;\nvar seq__20099 \x3d cljs.core.seq(vec__20098);\nvar first__20100 \x3d cljs.core.first(seq__20099);\nvar seq__20099__$1 \x3d cljs.core.next(seq__20099);\nvar v \x3d first__20100;\nvar vs \x3d seq__20099__$1;\nvar vseq \x3d vec__20098;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__20096__$1 \x3d G__20096;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__20101 \x3d G__20096__$1;\nvar seq__20102 \x3d cljs.core.seq(vec__20101);\nvar first__20103 \x3d cljs.core.first(seq__20102);\nvar seq__20102__$1 \x3d cljs.core.next(seq__20102);\nvar v__$1 \x3d first__20103;\nvar vs__$1 \x3d seq__20102__$1;\nvar vseq__$1 \x3d vec__20101;\nif((i__$2 \x3e\x3d cljs.core.count(x))){\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n} else {\nvar G__21432 \x3d (function (){var G__20105 \x3d ret__$2;\nvar G__20106 \x3d i__$2;\nvar G__20107 \x3d v__$1;\nvar G__20108 \x3d cljs.spec.alpha.unform_STAR_(spec__$1,v__$1);\nreturn (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(G__20105,G__20106,G__20107,G__20108) : add.call(null,G__20105,G__20106,G__20107,G__20108));\n})();\nvar G__21433 \x3d (i__$2 + (1));\nvar G__21434 \x3d vs__$1;\nret__$1 \x3d G__21432;\ni__$1 \x3d G__21433;\nG__20096__$1 \x3d G__21434;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d cljs.spec.alpha.coll_prob(x,self__.kind,self__.kind_form,self__.distinct,self__.count,self__.min_count,self__.max_count,path,via,in$);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var G__20118 \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (i,v){\nvar k \x3d (self__.kfn.cljs$core$IFn$_invoke$arity$2 ? self__.kfn.cljs$core$IFn$_invoke$arity$2(i,v) : self__.kfn.call(null,i,v));\nif(cljs.core.truth_((self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1(v) : self__.check_QMARK_.call(null,v)))){\nreturn null;\n} else {\nvar prob \x3d cljs.spec.alpha.explain_1(self__.form,self__.pred,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\nreturn prob;\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$0(),x));\nvar fexpr__20117 \x3d (cljs.core.truth_(self__.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_));\nreturn (fexpr__20117.cljs$core$IFn$_invoke$arity$1 ? fexpr__20117.cljs$core$IFn$_invoke$arity$1(G__20118) : fexpr__20117.call(null,G__20118));\n})());\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar pgen \x3d cljs.spec.alpha.gensub(self__.pred,overrides,path,rmap,self__.form);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(self__.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.gen_into], 0)):(cljs.core.truth_(self__.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19990_SHARP_){\nif(cljs.core.empty_QMARK_(p1__19990_SHARP_)){\nreturn p1__19990_SHARP_;\n} else {\nreturn cljs.core.empty(p1__19990_SHARP_);\n}\n}),cljs.spec.alpha.gensub(self__.kind,overrides,path,rmap,self__.form)], 0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0))\n)),(function (init){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19991_SHARP_){\nif(cljs.core.vector_QMARK_(init)){\nreturn p1__19991_SHARP_;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(init,p1__19991_SHARP_);\n}\n}),(cljs.core.truth_(self__.distinct)?(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22num-elements\x22,\x22num-elements\x22,1960422107),self__.count,new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22min-elements\x22,\x22min-elements\x22,949370780),(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),new cljs.core.Keyword(null,\x22max-elements\x22,\x22max-elements\x22,433034073),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})(),new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0))):(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,self__.count], 0)):(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn self__.max_count;\n}\n})())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})()], 0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(0),self__.gen_max], 0))\n)))], 0));\n})], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.pred,self__.opts,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d self__.describe_form;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22every\x22,\x22cljs.spec.alpha/every\x22,123912744,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opts], 0))], 0))));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22max-count\x22,\x22max-count\x22,-1115250464,null),new cljs.core.Symbol(null,\x22check?\x22,\x22check?\x22,409539557,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22gen-max\x22,\x22gen-max\x22,846851082,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22p__20000\x22,\x22p__20000\x22,1408967085,null),new cljs.core.Symbol(null,\x22cpred\x22,\x22cpred\x22,-540353554,null),new cljs.core.Symbol(null,\x22map__20001\x22,\x22map__20001\x22,-1790829840,null),new cljs.core.Symbol(null,\x22conform-keys\x22,\x22conform-keys\x22,-159510287,null),new cljs.core.Symbol(null,\x22kind-form\x22,\x22kind-form\x22,1155997457,null),new cljs.core.Symbol(null,\x22addcv\x22,\x22addcv\x22,-1552991247,null),new cljs.core.Symbol(null,\x22cfns\x22,\x22cfns\x22,1335482066,null),new cljs.core.Symbol(null,\x22describe-form\x22,\x22describe-form\x22,-1410156588,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22kfn\x22,\x22kfn\x22,729311001,null),new cljs.core.Symbol(null,\x22gen-into\x22,\x22gen-into\x22,592640985,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22min-count\x22,\x22min-count\x22,-1059726756,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22kind\x22,\x22kind\x22,923265724,null),new cljs.core.Symbol(null,\x22conform-all\x22,\x22conform-all\x22,-980179459,null),new cljs.core.Symbol(null,\x22conform-into\x22,\x22conform-into\x22,-1039113729,null),new cljs.core.Symbol(null,\x22meta20023\x22,\x22meta20023\x22,-2086696684,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20022\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20022.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20022\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20022.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20022 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha20022(form__$1,max_count__$1,check_QMARK___$1,gfn__$1,gen_max__$1,pred__$1,p__20000__$1,cpred__$1,map__20001__$2,conform_keys__$1,kind_form__$1,addcv__$1,cfns__$1,describe_form__$1,distinct__$1,spec__$1,kfn__$2,gen_into__$1,count__$1,min_count__$1,opts__$1,kind__$1,conform_all__$1,conform_into__$1,meta20023){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20022(form__$1,max_count__$1,check_QMARK___$1,gfn__$1,gen_max__$1,pred__$1,p__20000__$1,cpred__$1,map__20001__$2,conform_keys__$1,kind_form__$1,addcv__$1,cfns__$1,describe_form__$1,distinct__$1,spec__$1,kfn__$2,gen_into__$1,count__$1,min_count__$1,opts__$1,kind__$1,conform_all__$1,conform_into__$1,meta20023));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20022(form,max_count,check_QMARK_,gfn,gen_max,pred,p__20000,cpred,map__20001__$1,conform_keys,kind_form,addcv,cfns,describe_form,distinct,spec,kfn__$1,gen_into,count,min_count,opts,kind,conform_all,conform_into,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.spec.alpha.accept \x3d (function cljs$spec$alpha$accept(x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),x], null);\n});\ncljs.spec.alpha.accept_QMARK_ \x3d (function cljs$spec$alpha$accept_QMARK_(p__20178){\nvar map__20179 \x3d p__20178;\nvar map__20179__$1 \x3d cljs.core.__destructure_map(map__20179);\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20179__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),op);\n});\ncljs.spec.alpha.pcat_STAR_ \x3d (function cljs$spec$alpha$pcat_STAR_(p__20185){\nvar map__20187 \x3d p__20185;\nvar map__20187__$1 \x3d cljs.core.__destructure_map(map__20187);\nvar vec__20188 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20187__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__20189 \x3d cljs.core.seq(vec__20188);\nvar first__20190 \x3d cljs.core.first(seq__20189);\nvar seq__20189__$1 \x3d cljs.core.next(seq__20189);\nvar p1 \x3d first__20190;\nvar pr \x3d seq__20189__$1;\nvar ps \x3d vec__20188;\nvar vec__20191 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20187__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__20192 \x3d cljs.core.seq(vec__20191);\nvar first__20193 \x3d cljs.core.first(seq__20192);\nvar seq__20192__$1 \x3d cljs.core.next(seq__20192);\nvar k1 \x3d first__20193;\nvar kr \x3d seq__20192__$1;\nvar ks \x3d vec__20191;\nvar vec__20194 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20187__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar seq__20195 \x3d cljs.core.seq(vec__20194);\nvar first__20196 \x3d cljs.core.first(seq__20195);\nvar seq__20195__$1 \x3d cljs.core.next(seq__20195);\nvar f1 \x3d first__20196;\nvar fr \x3d seq__20195__$1;\nvar forms \x3d vec__20194;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20187__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20187__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nif(cljs.core.every_QMARK_(cljs.core.identity,ps)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nvar rp \x3d new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1);\nvar ret__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(cljs.core.truth_(ks)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k1,rp]):rp));\nif(pr){\nvar G__20211 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),fr,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret__$1], null);\nreturn (cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(G__20211) : cljs.spec.alpha.pcat_STAR_.call(null,G__20211));\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),rep_PLUS_], null);\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.pcat \x3d (function cljs$spec$alpha$pcat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21485 \x3d arguments.length;\nvar i__5770__auto___21486 \x3d (0);\nwhile(true){\nif((i__5770__auto___21486 \x3c len__5769__auto___21485)){\nargs__5775__auto__.push((arguments[i__5770__auto___21486]));\n\nvar G__21487 \x3d (i__5770__auto___21486 + (1));\ni__5770__auto___21486 \x3d G__21487;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY], null));\n}));\n\n(cljs.spec.alpha.pcat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.pcat.cljs$lang$applyTo \x3d (function (seq20216){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20216));\n}));\n\n/**\n * Do not call this directly, use \x27cat\x27\n */\ncljs.spec.alpha.cat_impl \x3d (function cljs$spec$alpha$cat_impl(ks,ps,forms){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.spec.alpha.rep_STAR_ \x3d (function cljs$spec$alpha$rep_STAR_(p1,p2,ret,splice,form){\nif(cljs.core.truth_(p1)){\nvar r \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641),p2,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165),splice,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),form,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid()], null);\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1))], 0));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Do not call this directly, use \x27*\x27\n */\ncljs.spec.alpha.rep_impl \x3d (function cljs$spec$alpha$rep_impl(form,p){\nreturn cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,false,form);\n});\n/**\n * Do not call this directly, use \x27+\x27\n */\ncljs.spec.alpha.rep_PLUS_impl \x3d (function cljs$spec$alpha$rep_PLUS_impl(form,p){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,true,form)], null),new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)))))),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),form], null));\n});\n/**\n * Do not call this directly, use \x27\x26\x27\n */\ncljs.spec.alpha.amp_impl \x3d (function cljs$spec$alpha$amp_impl(re,re_form,preds,pred_forms){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),re,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571),re_form,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),preds,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),pred_forms], null);\n});\ncljs.spec.alpha.filter_alt \x3d (function cljs$spec$alpha$filter_alt(ps,ks,forms,f){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ks;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn forms;\n}\n})())){\nvar pks \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__20253_SHARP_){\nvar G__20267 \x3d cljs.core.first(p1__20253_SHARP_);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__20267) : f.call(null,G__20267));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})()));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pks)),(cljs.core.truth_(ks)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pks)):null),(cljs.core.truth_(forms)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20258_SHARP_){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__20258_SHARP_,(2));\n}),pks)):null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(f,ps)),ks,forms], null);\n}\n});\ncljs.spec.alpha.alt_STAR_ \x3d (function cljs$spec$alpha$alt_STAR_(ps,ks,forms){\nvar vec__20285 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.core.identity);\nvar vec__20288 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20285,(0),null);\nvar seq__20289 \x3d cljs.core.seq(vec__20288);\nvar first__20290 \x3d cljs.core.first(seq__20289);\nvar seq__20289__$1 \x3d cljs.core.next(seq__20289);\nvar p1 \x3d first__20290;\nvar pr \x3d seq__20289__$1;\nvar ps__$1 \x3d vec__20288;\nvar vec__20291 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20285,(1),null);\nvar k1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20291,(0),null);\nvar ks__$1 \x3d vec__20291;\nvar forms__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20285,(2),null);\nif(cljs.core.truth_(ps__$1)){\nvar ret \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1], null);\nif((pr \x3d\x3d null)){\nif(cljs.core.truth_(k1)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.spec.alpha.accept(cljs.spec.alpha.tagged_ret(k1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1)));\n} else {\nreturn ret;\n}\n} else {\nreturn p1;\n}\n} else {\nreturn ret;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.alts \x3d (function cljs$spec$alpha$alts(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21501 \x3d arguments.length;\nvar i__5770__auto___21502 \x3d (0);\nwhile(true){\nif((i__5770__auto___21502 \x3c len__5769__auto___21501)){\nargs__5775__auto__.push((arguments[i__5770__auto___21502]));\n\nvar G__21503 \x3d (i__5770__auto___21502 + (1));\ni__5770__auto___21502 \x3d G__21503;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.alt_STAR_(ps,null,null);\n}));\n\n(cljs.spec.alpha.alts.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.alts.cljs$lang$applyTo \x3d (function (seq20299){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20299));\n}));\n\ncljs.spec.alpha.alt2 \x3d (function cljs$spec$alpha$alt2(p1,p2){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d p1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn p2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0));\n} else {\nvar or__5045__auto__ \x3d p1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p2;\n}\n}\n});\n/**\n * Do not call this directly, use \x27alt\x27\n */\ncljs.spec.alpha.alt_impl \x3d (function cljs$spec$alpha$alt_impl(ks,ps,forms){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(ps,ks,forms),new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid());\n});\n/**\n * Do not call this directly, use \x27?\x27\n */\ncljs.spec.alpha.maybe_impl \x3d (function cljs$spec$alpha$maybe_impl(p,form){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.accept(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [form,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)], null)),new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560),form);\n});\ncljs.spec.alpha.noret_QMARK_ \x3d (function cljs$spec$alpha$noret_QMARK_(p1,pret){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var and__5043__auto__ \x3d (function (){var G__20320 \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_(p1));\nvar fexpr__20319 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),null,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),null], null), null);\nreturn (fexpr__20319.cljs$core$IFn$_invoke$arity$1 ? fexpr__20319.cljs$core$IFn$_invoke$arity$1(G__20320) : fexpr__20319.call(null,G__20320));\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.empty_QMARK_(pret);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.accept_nil_QMARK_ \x3d (function cljs$spec$alpha$accept_nil_QMARK_(p){\nvar map__20321 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20321__$1 \x3d cljs.core.__destructure_map(map__20321);\nvar p__$1 \x3d map__20321__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20321__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20321__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20321__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20321__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20321__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__20322 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20322)){\nreturn true;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20322)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20322)){\nvar and__5043__auto__ \x3d (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\nif(cljs.core.truth_(and__5043__auto__)){\nvar ret \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1),ps,cljs.core.next(forms));\nreturn (!(cljs.spec.alpha.invalid_QMARK_(ret)));\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20322)){\nvar or__5045__auto__ \x3d (p1 \x3d\x3d\x3d p2);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20322)){\nreturn cljs.core.every_QMARK_(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20322)){\nreturn cljs.core.some(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20322)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.preturn \x3d (function cljs$spec$alpha$preturn(p){\nvar map__20396 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20396__$1 \x3d cljs.core.__destructure_map(map__20396);\nvar p__$1 \x3d map__20396__$1;\nvar vec__20397 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__20398 \x3d cljs.core.seq(vec__20397);\nvar first__20399 \x3d cljs.core.first(seq__20398);\nvar seq__20398__$1 \x3d cljs.core.next(seq__20398);\nvar p0 \x3d first__20399;\nvar pr \x3d seq__20398__$1;\nvar ps \x3d vec__20397;\nvar vec__20400 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20400,(0),null);\nvar ks \x3d vec__20400;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20396__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__20405 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20405)){\nreturn ret;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20405)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20405)){\nvar pret \x3d (cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.preturn.call(null,p1));\nif(cljs.core.truth_(cljs.spec.alpha.noret_QMARK_(p1,pret))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950);\n} else {\nreturn cljs.spec.alpha.and_preds(pret,ps,forms);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20405)){\nreturn cljs.spec.alpha.add_ret(p1,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20405)){\nreturn cljs.spec.alpha.add_ret(p0,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20405)){\nvar vec__20413 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.spec.alpha.accept_nil_QMARK_);\nvar vec__20416 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20413,(0),null);\nvar p0__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20416,(0),null);\nvar vec__20419 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20413,(1),null);\nvar k0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20419,(0),null);\nvar r \x3d (((p0__$1 \x3d\x3d null))?new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950):(cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p0__$1) : cljs.spec.alpha.preturn.call(null,p0__$1)));\nif(cljs.core.truth_(k0)){\nreturn cljs.spec.alpha.tagged_ret(k0,r);\n} else {\nreturn r;\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20405)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.op_unform \x3d (function cljs$spec$alpha$op_unform(p,x){\nvar map__20439 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20439__$1 \x3d cljs.core.__destructure_map(map__20439);\nvar p__$1 \x3d map__20439__$1;\nvar vec__20441 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__20442 \x3d cljs.core.seq(vec__20441);\nvar first__20443 \x3d cljs.core.first(seq__20442);\nvar seq__20442__$1 \x3d cljs.core.next(seq__20442);\nvar p0 \x3d first__20443;\nvar pr \x3d seq__20442__$1;\nvar ps \x3d vec__20441;\nvar vec__20444 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20444,(0),null);\nvar ks \x3d vec__20444;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20439__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar kps \x3d cljs.core.zipmap(ks,ps);\nvar G__20451 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20451)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20451)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p__$1,x)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20451)){\nvar px \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__20431_SHARP_,p2__20430_SHARP_){\nreturn cljs.spec.alpha.unform(p2__20430_SHARP_,p1__20431_SHARP_);\n}),x,cljs.core.reverse(ps));\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,px) : cljs.spec.alpha.op_unform.call(null,p1,px));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20451)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__20432_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,p1__20432_SHARP_) : cljs.spec.alpha.op_unform.call(null,p1,p1__20432_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20451)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__20433_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p0,p1__20433_SHARP_) : cljs.spec.alpha.op_unform.call(null,p0,p1__20433_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (k__$1){\nif(cljs.core.contains_QMARK_(x,k__$1)){\nvar G__20459 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__20460 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,k__$1);\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__20459,G__20460) : cljs.spec.alpha.op_unform.call(null,G__20459,G__20460));\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20451)){\nif(cljs.core.truth_(maybe)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p0,x)], null);\n} else {\nvar vec__20465 \x3d x;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20465,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20465,(1),null);\nvar G__20469 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__20470 \x3d v;\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__20469,G__20470) : cljs.spec.alpha.op_unform.call(null,G__20469,G__20470));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20451)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.add_ret \x3d (function cljs$spec$alpha$add_ret(p,r,k){\nvar map__20480 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20480__$1 \x3d cljs.core.__destructure_map(map__20480);\nvar p__$1 \x3d map__20480__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20480__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20480__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20480__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar prop \x3d (function (){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core.empty_QMARK_(ret)){\nreturn r;\n} else {\nvar G__20486 \x3d r;\nvar G__20487 \x3d (cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret);\nvar fexpr__20485 \x3d (cljs.core.truth_(splice)?cljs.core.into:cljs.core.conj);\nreturn (fexpr__20485.cljs$core$IFn$_invoke$arity$2 ? fexpr__20485.cljs$core$IFn$_invoke$arity$2(G__20486,G__20487) : fexpr__20485.call(null,G__20486,G__20487));\n}\n});\nvar G__20489 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20489)){\nreturn r;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20489)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20489)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20489)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20489)){\nreturn prop();\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20489)){\nreturn prop();\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20489)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.deriv \x3d (function cljs$spec$alpha$deriv(p,x){\nvar map__20502 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20502__$1 \x3d cljs.core.__destructure_map(map__20502);\nvar p__$1 \x3d map__20502__$1;\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar vec__20507 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__20508 \x3d cljs.core.seq(vec__20507);\nvar first__20509 \x3d cljs.core.first(seq__20508);\nvar seq__20508__$1 \x3d cljs.core.next(seq__20508);\nvar p0 \x3d first__20509;\nvar pr \x3d seq__20508__$1;\nvar ps \x3d vec__20507;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar vec__20510 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__20511 \x3d cljs.core.seq(vec__20510);\nvar first__20512 \x3d cljs.core.first(seq__20511);\nvar seq__20511__$1 \x3d cljs.core.next(seq__20511);\nvar k0 \x3d first__20512;\nvar kr \x3d seq__20511__$1;\nvar ks \x3d vec__20510;\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20502__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__20516 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20516)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20516)){\nvar ret__$1 \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p__$1,x,p__$1);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20516)){\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p1__$1 \x3d temp__5804__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p1__$1))){\nvar ret__$1 \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1__$1),ps,cljs.core.next(forms));\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.amp_impl(p1__$1,amp,ps,forms);\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20516)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),cljs.core.cons((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p0,x) : cljs.spec.alpha.deriv.call(null,p0,x)),pr),new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], null)),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p0))?(function (){var G__20523 \x3d cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.next(forms),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.spec.alpha.add_ret(p0,ret,k0)], null));\nvar G__20524 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__20523,G__20524) : cljs.spec.alpha.deriv.call(null,G__20523,G__20524));\n})():null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20516)){\nreturn cljs.spec.alpha.alt_STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20501_SHARP_){\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1__20501_SHARP_,x) : cljs.spec.alpha.deriv.call(null,p1__20501_SHARP_,x));\n}),ps),ks,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20516)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.rep_STAR_((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x)),p2,ret,splice,forms),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))?(function (){var G__20528 \x3d cljs.spec.alpha.rep_STAR_(p2,p2,cljs.spec.alpha.add_ret(p1,ret,null),splice,forms);\nvar G__20529 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__20528,G__20529) : cljs.spec.alpha.deriv.call(null,G__20528,G__20529));\n})():null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20516)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_describe \x3d (function cljs$spec$alpha$op_describe(p){\nvar map__20538 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20538__$1 \x3d cljs.core.__destructure_map(map__20538);\nvar p__$1 \x3d map__20538__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20538__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__20546 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20546)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20546)){\nreturn p__$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20546)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22\x26\x22,\x22cljs.spec.alpha/\x26\x22,1635809823,null),amp,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20546)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null),(new cljs.core.List(null,rep_PLUS_,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22cat\x22,\x22cljs.spec.alpha/cat\x22,-1471398329,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22_\x22,\x22_\x22,1453416199));\n}\n})(),forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20546)){\nif(cljs.core.truth_(maybe)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22?\x22,\x22cljs.spec.alpha/?\x22,1605136319,null),(new cljs.core.List(null,maybe,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,-2130750332,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks,forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20546)){\nreturn (new cljs.core.List(null,(cljs.core.truth_(splice)?new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null):new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null)),(new cljs.core.List(null,forms,null,(1),null)),(2),null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20546)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_explain \x3d (function cljs$spec$alpha$op_explain(form,p,path,via,in$,input){\nvar vec__20567 \x3d input;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20567,(0),null);\nvar input__$1 \x3d vec__20567;\nvar map__20570 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20570__$1 \x3d cljs.core.__destructure_map(map__20570);\nvar p__$1 \x3d map__20570__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20570__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar via__$1 \x3d (function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(p__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})();\nvar insufficient \x3d (function (path__$1,form__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Insufficient input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n});\nif(cljs.core.truth_(p__$1)){\nvar G__20576 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20576)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20576)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,form);\n} else {\nreturn cljs.spec.alpha.explain_1(form,p__$1,path,via__$1,in$,x);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20576)){\nif(cljs.core.empty_QMARK_(input__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))){\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1));\n} else {\nreturn insufficient(path,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p1,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar p1__$1 \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1__$1));\n} else {\nvar G__20584 \x3d new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1);\nvar G__20585 \x3d p1;\nvar G__20586 \x3d path;\nvar G__20587 \x3d via__$1;\nvar G__20588 \x3d in$;\nvar G__20589 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__20584,G__20585,G__20586,G__20587,G__20588,G__20589) : cljs.spec.alpha.op_explain.call(null,G__20584,G__20585,G__20586,G__20587,G__20588,G__20589));\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20576)){\nvar pkfs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\nvar vec__20598 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(pkfs)))?cljs.core.first(pkfs):cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__20605){\nvar vec__20607 \x3d p__20605;\nvar p__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20607,(0),null);\nreturn cljs.spec.alpha.accept_nil_QMARK_(p__$2);\n}),pkfs)));\nvar pred \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20598,(0),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20598,(1),null);\nvar form__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20598,(2),null);\nvar path__$1 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar form__$2 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nif(((cljs.core.empty_QMARK_(input__$1)) \x26\x26 (cljs.core.not(pred)))){\nreturn insufficient(path__$1,form__$2);\n} else {\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(form__$2,pred,path__$1,via__$1,in$,input__$1) : cljs.spec.alpha.op_explain.call(null,form__$2,pred,path__$1,via__$1,in$,input__$1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20576)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,cljs.spec.alpha.op_describe(p__$1));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form__$1,pred){\nvar G__20615 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nvar G__20616 \x3d pred;\nvar G__20617 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__20618 \x3d via__$1;\nvar G__20619 \x3d in$;\nvar G__20620 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__20615,G__20616,G__20617,G__20618,G__20619,G__20620) : cljs.spec.alpha.op_explain.call(null,G__20615,G__20616,G__20617,G__20618,G__20619,G__20620));\n}),(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),ps));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20576)){\nvar G__20629 \x3d (((p1 \x3d\x3d\x3d p2))?forms:cljs.spec.alpha.op_describe(p1));\nvar G__20630 \x3d p1;\nvar G__20631 \x3d path;\nvar G__20632 \x3d via__$1;\nvar G__20633 \x3d in$;\nvar G__20634 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__20629,G__20630,G__20631,G__20632,G__20633,G__20634) : cljs.spec.alpha.op_explain.call(null,G__20629,G__20630,G__20631,G__20632,G__20633,G__20634));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20576)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.re_gen \x3d (function cljs$spec$alpha$re_gen(p,overrides,path,rmap,f){\nvar origp \x3d p;\nvar map__20663 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20663__$1 \x3d cljs.core.__destructure_map(map__20663);\nvar p__$1 \x3d map__20663__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20663__$1,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092));\nvar rmap__$1 \x3d (cljs.core.truth_(id)?cljs.spec.alpha.inck(rmap,id):rmap);\nvar ggens \x3d (function (ps__$1,ks__$1,forms__$1){\nvar gen \x3d (function (p__$2,k,f__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d rmap__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d id;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d k;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,path,k);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn null;\n} else {\nif(cljs.core.truth_(id)){\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nvar G__20678 \x3d p__$2;\nvar G__20679 \x3d overrides;\nvar G__20680 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__20681 \x3d rmap__$1;\nvar G__20682 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20678,G__20679,G__20680,G__20681,G__20682) : cljs.spec.alpha.re_gen.call(null,G__20678,G__20679,G__20680,G__20681,G__20682));\n}),null)));\n} else {\nvar G__20685 \x3d p__$2;\nvar G__20686 \x3d overrides;\nvar G__20687 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__20688 \x3d rmap__$1;\nvar G__20689 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20685,G__20686,G__20687,G__20688,G__20689) : cljs.spec.alpha.re_gen.call(null,G__20685,G__20686,G__20687,G__20688,G__20689));\n}\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,ps__$1,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\n});\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(origp));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(p__$1));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn__$1 \x3d temp__5804__auto__;\nvar G__20693 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22accept\x22,\x22accept\x22,1874130431),G__20693)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20693)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nreturn (gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null));\n\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (cljs.core.truth_(gfn)?(gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null)):null);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nif(cljs.core.truth_(p__$1)){\nvar G__20694 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20694)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null)], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20694)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.gensub(p__$1,overrides,path,rmap__$1,f);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,g], 0));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20694)){\nvar G__20697 \x3d p1;\nvar G__20698 \x3d overrides;\nvar G__20699 \x3d path;\nvar G__20700 \x3d rmap__$1;\nvar G__20701 \x3d cljs.spec.alpha.op_describe(p1);\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20697,G__20698,G__20699,G__20700,G__20701) : cljs.spec.alpha.re_gen.call(null,G__20697,G__20698,G__20699,G__20700,G__20701));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20694)){\nvar gens \x3d ggens(ps,ks,forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gens)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.cat,gens);\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20694)){\nvar gens \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,ggens(ps,ks,forms));\nif(cljs.core.empty_QMARK_(gens)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gens], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20694)){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [id], null),id)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(p2,overrides,path,rmap__$1,forms) : cljs.spec.alpha.re_gen.call(null,p2,overrides,path,rmap__$1,forms));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__20640_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__20640_SHARP_);\n}),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g], 0))], 0));\n} else {\nreturn null;\n}\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20694)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.re_conform \x3d (function cljs$spec$alpha$re_conform(p,p__20708){\nwhile(true){\nvar vec__20709 \x3d p__20708;\nvar seq__20710 \x3d cljs.core.seq(vec__20709);\nvar first__20711 \x3d cljs.core.first(seq__20710);\nvar seq__20710__$1 \x3d cljs.core.next(seq__20710);\nvar x \x3d first__20711;\nvar xs \x3d seq__20710__$1;\nvar data \x3d vec__20709;\nif(cljs.core.empty_QMARK_(data)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p))){\nvar ret \x3d cljs.spec.alpha.preturn(p);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn null;\n} else {\nreturn ret;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__21637 \x3d dp;\nvar G__21638 \x3d xs;\np \x3d G__21637;\np__20708 \x3d G__21638;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n});\ncljs.spec.alpha.re_explain \x3d (function cljs$spec$alpha$re_explain(path,via,in$,re,input){\nvar p \x3d re;\nvar G__20715 \x3d input;\nvar vec__20716 \x3d G__20715;\nvar seq__20717 \x3d cljs.core.seq(vec__20716);\nvar first__20718 \x3d cljs.core.first(seq__20717);\nvar seq__20717__$1 \x3d cljs.core.next(seq__20717);\nvar x \x3d first__20718;\nvar xs \x3d seq__20717__$1;\nvar data \x3d vec__20716;\nvar i \x3d (0);\nvar p__$1 \x3d p;\nvar G__20715__$1 \x3d G__20715;\nvar i__$1 \x3d i;\nwhile(true){\nvar p__$2 \x3d p__$1;\nvar vec__20720 \x3d G__20715__$1;\nvar seq__20721 \x3d cljs.core.seq(vec__20720);\nvar first__20722 \x3d cljs.core.first(seq__20721);\nvar seq__20721__$1 \x3d cljs.core.next(seq__20721);\nvar x__$1 \x3d first__20722;\nvar xs__$1 \x3d seq__20721__$1;\nvar data__$1 \x3d vec__20720;\nvar i__$2 \x3d i__$1;\nif(cljs.core.empty_QMARK_(data__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p__$2))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,in$,null);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p__$2,x__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__21640 \x3d dp;\nvar G__21641 \x3d xs__$1;\nvar G__21642 \x3d (i__$2 + (1));\np__$1 \x3d G__21640;\nG__20715__$1 \x3d G__21641;\ni__$1 \x3d G__21642;\ncontinue;\n} else {\nif(cljs.spec.alpha.accept_QMARK_(p__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p__$2),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623))){\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(re),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n} else {\nvar or__5045__auto__ \x3d cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(p__$2),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n}\n}\n}\nbreak;\n}\n});\n/**\n * Do not call this directly, use \x27spec\x27 with a regex op argument\n */\ncljs.spec.alpha.regex_spec_impl \x3d (function cljs$spec$alpha$regex_spec_impl(re,gfn){\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha20737 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20737 \x3d (function (re,gfn,meta20738){\nthis.re \x3d re;\nthis.gfn \x3d gfn;\nthis.meta20738 \x3d meta20738;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20739,meta20738__$1){\nvar self__ \x3d this;\nvar _20739__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20737(self__.re,self__.gfn,meta20738__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20739){\nvar self__ \x3d this;\nvar _20739__$1 \x3d this;\nreturn self__.meta20738;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_conform(self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_unform(self__.re,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_explain(path,via,in$,self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequential?\x22,\x22cljs.core/sequential?\x22,1777854658,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.re_gen(self__.re,overrides,path,rmap,cljs.spec.alpha.op_describe(self__.re));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2(self__.re,gfn__$1) : cljs.spec.alpha.regex_spec_impl.call(null,self__.re,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_describe(self__.re);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22re\x22,\x22re\x22,1869207729,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta20738\x22,\x22meta20738\x22,1957875293,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20737\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20737.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20737\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20737.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20737 \x3d (function cljs$spec$alpha$regex_spec_impl_$___GT_t_cljs$spec$alpha20737(re__$1,gfn__$1,meta20738){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20737(re__$1,gfn__$1,meta20738));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20737(re,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.call_valid_QMARK_ \x3d (function cljs$spec$alpha$call_valid_QMARK_(f,specs,args){\nvar cargs \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs),args);\nif(cljs.spec.alpha.invalid_QMARK_(cargs)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\nvar cret \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(specs),ret);\nvar and__5043__auto__ \x3d (!(cljs.spec.alpha.invalid_QMARK_(cret)));\nif(and__5043__auto__){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs))){\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn true;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\n/**\n * returns f if valid, else smallest\n */\ncljs.spec.alpha.validate_fn \x3d (function cljs$spec$alpha$validate_fn(f,specs,iters){\nvar g \x3d cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs));\nvar prop \x3d cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [g], null),(function (p1__20764_SHARP_){\nreturn cljs.spec.alpha.call_valid_QMARK_(f,specs,p1__20764_SHARP_);\n})], 0));\nvar ret \x3d cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([iters,prop], 0));\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22smallest\x22,\x22smallest\x22,-152623883).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22shrunk\x22,\x22shrunk\x22,-2041664412).cljs$core$IFn$_invoke$arity$1(ret));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__20765 \x3d temp__5802__auto__;\nvar smallest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20765,(0),null);\nreturn smallest;\n} else {\nreturn f;\n}\n});\n/**\n * Do not call this directly, use \x27fspec\x27\n */\ncljs.spec.alpha.fspec_impl \x3d (function cljs$spec$alpha$fspec_impl(argspec,aform,retspec,rform,fnspec,fform,gfn){\nvar specs \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),argspec,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),retspec,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),fnspec], null);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha20768 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20768 \x3d (function (argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta20769){\nthis.argspec \x3d argspec;\nthis.aform \x3d aform;\nthis.retspec \x3d retspec;\nthis.rform \x3d rform;\nthis.fnspec \x3d fnspec;\nthis.fform \x3d fform;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.meta20769 \x3d meta20769;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393472;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20770,meta20769__$1){\nvar self__ \x3d this;\nvar _20770__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20768(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,self__.gfn,self__.specs,meta20769__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20770){\nvar self__ \x3d this;\nvar _20770__$1 \x3d this;\nreturn self__.meta20769;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.specs,k);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,not_found){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.specs,k,not_found);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nif((f \x3d\x3d\x3d cljs.spec.alpha.validate_fn(f,self__.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_))){\nreturn f;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn f;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nvar args \x3d cljs.spec.alpha.validate_fn(f,self__.specs,(100));\nif((f \x3d\x3d\x3d args)){\nreturn null;\n} else {\nvar ret \x3d (function (){try{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e20776){if((e20776 instanceof Error)){\nvar t \x3d e20776;\nreturn t;\n} else {\nthrow e20776;\n\n}\n}})();\nif((ret instanceof Error)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.list(new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),args,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),ret.message,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar cret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(self__.retspec,ret,self__.rform);\nif(cljs.spec.alpha.invalid_QMARK_(cret)){\nreturn cljs.spec.alpha.explain_1(self__.rform,self__.retspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814)),via,in$,ret);\n} else {\nif(cljs.core.truth_(self__.fnspec)){\nvar cargs \x3d cljs.spec.alpha.conform(self__.argspec,args);\nreturn cljs.spec.alpha.explain_1(self__.fform,self__.fnspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)),via,in$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),f,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,___$1,___$2){\nvar self__ \x3d this;\nvar ___$3 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function() { \nvar G__21648__delegate \x3d function (args){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(self__.argspec,args)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20785_21649 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20786_21650 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20787_21651 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20788_21652 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20787_21651);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20788_21652);\n\ntry{cljs.spec.alpha.explain(self__.argspec,args);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20786_21650);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20785_21649);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})(),\x22\\n\x22,\x22(pvalid? argspec args)\x22].join(\x27\x27)));\n}\n\nreturn cljs.spec.gen.alpha.generate(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(self__.retspec,overrides));\n};\nvar G__21648 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21653__i \x3d 0, G__21653__a \x3d new Array(arguments.length - 0);\nwhile (G__21653__i \x3c G__21653__a.length) {G__21653__a[G__21653__i] \x3d arguments[G__21653__i + 0]; ++G__21653__i;}\n args \x3d new cljs.core.IndexedSeq(G__21653__a,0,null);\n} \nreturn G__21648__delegate.call(this,args);};\nG__21648.cljs$lang$maxFixedArity \x3d 0;\nG__21648.cljs$lang$applyTo \x3d (function (arglist__21654){\nvar args \x3d cljs.core.seq(arglist__21654);\nreturn G__21648__delegate(args);\n});\nG__21648.cljs$core$IFn$_invoke$arity$variadic \x3d G__21648__delegate;\nreturn G__21648;\n})()\n], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7 ? cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1) : cljs.spec.alpha.fspec_impl.call(null,self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22fspec\x22,\x22cljs.spec.alpha/fspec\x22,-1289128341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.aform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),null,(1),null)),(new cljs.core.List(null,self__.rform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,(1),null)),(new cljs.core.List(null,self__.fform,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22argspec\x22,\x22argspec\x22,-1207762746,null),new cljs.core.Symbol(null,\x22aform\x22,\x22aform\x22,531303525,null),new cljs.core.Symbol(null,\x22retspec\x22,\x22retspec\x22,-920025354,null),new cljs.core.Symbol(null,\x22rform\x22,\x22rform\x22,-1420499912,null),new cljs.core.Symbol(null,\x22fnspec\x22,\x22fnspec\x22,-1865712406,null),new cljs.core.Symbol(null,\x22fform\x22,\x22fform\x22,-176049972,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22meta20769\x22,\x22meta20769\x22,339979617,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20768\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20768.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20768\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20768.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20768 \x3d (function cljs$spec$alpha$fspec_impl_$___GT_t_cljs$spec$alpha20768(argspec__$1,aform__$1,retspec__$1,rform__$1,fnspec__$1,fform__$1,gfn__$1,specs__$1,meta20769){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20768(argspec__$1,aform__$1,retspec__$1,rform__$1,fnspec__$1,fform__$1,gfn__$1,specs__$1,meta20769));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20768(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.def_impl(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kvs-\x3emap\x22,\x22cljs.spec.alpha/kvs-\x3emap\x22,579713455),cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__20791#\x22,\x22p1__20791#\x22,545586279,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22p1__20791#\x22,\x22p1__20791#\x22,545586279,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22p1__20791#\x22,\x22p1__20791#\x22,545586279,null)))),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__20792#\x22,\x22p1__20792#\x22,-830094950,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22p1__20792#\x22,\x22p1__20792#\x22,-830094950,null)))),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),(function (p1__20791_SHARP_){\nreturn cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),p1__20791_SHARP_),cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),p1__20791_SHARP_));\n}),null,true,(function (p1__20792_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__20824){\nvar vec__20827 \x3d p__20824;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20827,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20827,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),k,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),v], null);\n}),p1__20792_SHARP_);\n})));\n/**\n * takes a spec and returns a spec that has the same properties except\n * \x27conform\x27 returns the original (not the conformed) value. Note, will specize regex ops.\n */\ncljs.spec.alpha.nonconforming \x3d (function cljs$spec$alpha$nonconforming(spec){\nvar spec__$1 \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\n}),null));\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha20833 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20833 \x3d (function (spec,meta20834){\nthis.spec \x3d spec;\nthis.meta20834 \x3d meta20834;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20835,meta20834__$1){\nvar self__ \x3d this;\nvar _20835__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20833(self__.spec,meta20834__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20835){\nvar self__ \x3d this;\nvar _20835__$1 \x3d this;\nreturn self__.meta20834;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_STAR_(cljs.core.deref(self__.spec),path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.gen_STAR_(cljs.core.deref(self__.spec),overrides,path,rmap);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__20841 \x3d cljs.spec.alpha.with_gen_STAR_(cljs.core.deref(self__.spec),gfn);\nreturn (cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1(G__20841) : cljs.spec.alpha.nonconforming.call(null,G__20841));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nonconforming\x22,\x22cljs.spec.alpha/nonconforming\x22,-1009218508,null),null,(1),null)),(new cljs.core.List(null,cljs.spec.alpha.describe_STAR_(cljs.core.deref(self__.spec)),null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta20834\x22,\x22meta20834\x22,-316021383,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20833\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20833.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20833\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20833.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20833 \x3d (function cljs$spec$alpha$nonconforming_$___GT_t_cljs$spec$alpha20833(spec__$2,meta20834){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20833(spec__$2,meta20834));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20833(spec__$1,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Do not call this directly, use \x27nilable\x27\n */\ncljs.spec.alpha.nilable_impl \x3d (function cljs$spec$alpha$nilable_impl(form,pred,gfn){\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(pred,form);\n}),null));\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.t_cljs$spec$alpha20846 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20846 \x3d (function (form,pred,gfn,spec,meta20847){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.spec \x3d spec;\nthis.meta20847 \x3d meta20847;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20848,meta20847__$1){\nvar self__ \x3d this;\nvar _20848__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20846(self__.form,self__.pred,self__.gfn,self__.spec,meta20847__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20848){\nvar self__ \x3d this;\nvar _20848__$1 \x3d this;\nreturn self__.meta20847;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.spec),x)) || ((x \x3d\x3d null)))){\nreturn null;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.explain_1(self__.form,self__.pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),via,in$,x),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)),new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0));\n}),null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(9),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(self__.pred,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),rmap,self__.form);\n}),null)))], null)], null)], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3(self__.form,self__.pred,gfn__$1) : cljs.spec.alpha.nilable_impl.call(null,self__.form,self__.pred,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nilable\x22,\x22cljs.spec.alpha/nilable\x22,1628308748,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta20847\x22,\x22meta20847\x22,-551815593,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20846\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20846.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20846\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20846.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20846 \x3d (function cljs$spec$alpha$nilable_impl_$___GT_t_cljs$spec$alpha20846(form__$1,pred__$1,gfn__$1,spec__$1,meta20847){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20846(form__$1,pred__$1,gfn__$1,spec__$1,meta20847));\n});\n\n}\n\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20846(form,pred,gfn,spec,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * generates a number (default 10) of values compatible with spec and maps conform over them,\n * returning a sequence of [val conformed-val] tuples. Optionally takes\n * a generator overrides map as per gen\n */\ncljs.spec.alpha.exercise \x3d (function cljs$spec$alpha$exercise(var_args){\nvar G__20852 \x3d arguments.length;\nswitch (G__20852) {\ncase 1:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(spec,(10));\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,n){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(spec,n,null);\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,n,overrides){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20850_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__20850_SHARP_,cljs.spec.alpha.conform(spec,p1__20850_SHARP_)],null));\n}),cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,overrides),n], 0)));\n}));\n\n(cljs.spec.alpha.exercise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return true if inst at or after start and before end\n */\ncljs.spec.alpha.inst_in_range_QMARK_ \x3d (function cljs$spec$alpha$inst_in_range_QMARK_(start,end,inst){\nvar and__5043__auto__ \x3d cljs.core.inst_QMARK_(inst);\nif(and__5043__auto__){\nvar t \x3d cljs.core.inst_ms(inst);\nreturn (((cljs.core.inst_ms(start) \x3c\x3d t)) \x26\x26 ((t \x3c cljs.core.inst_ms(end))));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Return true if start \x3c\x3d val, val \x3c end and val is a fixed\n * precision integer.\n */\ncljs.spec.alpha.int_in_range_QMARK_ \x3d (function cljs$spec$alpha$int_in_range_QMARK_(start,end,val){\nif(cljs.core.integer_QMARK_(val)){\nreturn (((start \x3c\x3d val)) \x26\x26 ((val \x3c end)));\n} else {\nif((val instanceof cljs.spec.alpha.goog$module$goog$math$Long)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif((val instanceof goog.math.Integer)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nreturn false;\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_compile_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * If true, compiler will enable spec asserts, which are then\n * subject to runtime control via check-asserts? If false, compiler\n * will eliminate all spec assert overhead. See \x27assert\x27.\n * Initially set to the negation of the \x27:elide-asserts\x27 compiler option.\n * Defaults to true.\n */\ncljs.spec.alpha._STAR_compile_asserts_STAR_ \x3d true;\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d false;\n}\n/**\n * Returns the value set by check-asserts.\n */\ncljs.spec.alpha.check_asserts_QMARK_ \x3d (function cljs$spec$alpha$check_asserts_QMARK_(){\nreturn cljs.spec.alpha._STAR_runtime_asserts_STAR_;\n});\n/**\n * Enable or disable spec asserts that have been compiled\n * with \x27*compile-asserts*\x27 true. See \x27assert\x27.\n * Initially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\n * Defaults to false.\n */\ncljs.spec.alpha.check_asserts \x3d (function cljs$spec$alpha$check_asserts(flag){\nreturn (cljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d flag);\n});\n/**\n * Do not call this directly, use \x27assert\x27.\n */\ncljs.spec.alpha.assert_STAR_ \x3d (function cljs$spec$alpha$assert_STAR_(spec,x){\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec,x)){\nreturn x;\n} else {\nvar ed \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,x),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22failure\x22,\x22cljs.spec.alpha/failure\x22,188258592),new cljs.core.Keyword(null,\x22assertion-failed\x22,\x22assertion-failed\x22,-970534477))], 0));\nthrow (new Error([\x22Spec assertion failed\\n\x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20872_21664 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20873_21665 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20874_21666 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20875_21667 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20874_21666);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20875_21667);\n\ntry{cljs.spec.alpha.explain_out(ed);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20873_21665);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20872_21664);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()].join(\x27\x27)));\n}\n});\n"); +SHADOW_ENV.evalLoad("goog.string.stringformat.js", true , "goog.provide(\x22goog.string.format\x22);\ngoog.require(\x22goog.string\x22);\ngoog.string.format \x3d function(formatString, var_args) {\n const args \x3d Array.prototype.slice.call(arguments);\n const template \x3d args.shift();\n if (typeof template \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Template required\x22);\n }\n const formatRe \x3d /%([0\\- \\+]*)(\\d+)?(\\.(\\d+))?([%sfdiu])/g;\n function replacerDemuxer(match, flags, width, dotp, precision, type, offset, wholeString) {\n if (type \x3d\x3d \x22%\x22) {\n return \x22%\x22;\n }\n const value \x3d args.shift();\n if (typeof value \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Not enough arguments\x22);\n }\n arguments[0] \x3d value;\n return goog.string.format.demuxes_[type].apply(null, arguments);\n }\n return template.replace(formatRe, replacerDemuxer);\n};\ngoog.string.format.demuxes_ \x3d {};\ngoog.string.format.demuxes_[\x22s\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value;\n if (isNaN(width) || width \x3d\x3d \x22\x22 || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n if (flags.indexOf(\x22-\x22, 0) \x3e -1) {\n replacement \x3d replacement + goog.string.repeat(\x22 \x22, Number(width) - replacement.length);\n } else {\n replacement \x3d goog.string.repeat(\x22 \x22, Number(width) - replacement.length) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22f\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value.toString();\n if (!(isNaN(precision) || precision \x3d\x3d \x22\x22)) {\n replacement \x3d parseFloat(value).toFixed(precision);\n }\n let sign;\n if (Number(value) \x3c 0) {\n sign \x3d \x22-\x22;\n } else if (flags.indexOf(\x22+\x22) \x3e\x3d 0) {\n sign \x3d \x22+\x22;\n } else if (flags.indexOf(\x22 \x22) \x3e\x3d 0) {\n sign \x3d \x22 \x22;\n } else {\n sign \x3d \x22\x22;\n }\n if (Number(value) \x3e\x3d 0) {\n replacement \x3d sign + replacement;\n }\n if (isNaN(width) || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n replacement \x3d isNaN(precision) ? Math.abs(Number(value)).toString() : Math.abs(Number(value)).toFixed(precision);\n const padCount \x3d Number(width) - replacement.length - sign.length;\n if (flags.indexOf(\x22-\x22, 0) \x3e\x3d 0) {\n replacement \x3d sign + replacement + goog.string.repeat(\x22 \x22, padCount);\n } else {\n const paddingChar \x3d flags.indexOf(\x220\x22, 0) \x3e\x3d 0 ? \x220\x22 : \x22 \x22;\n replacement \x3d sign + goog.string.repeat(paddingChar, padCount) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22d\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n return goog.string.format.demuxes_[\x22f\x22](parseInt(value, 10), flags, width, dotp, 0, type, offset, wholeString);\n};\ngoog.string.format.demuxes_[\x22i\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\ngoog.string.format.demuxes_[\x22u\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\n"); +SHADOW_ENV.evalLoad("cljs.repl.js", true , "goog.provide(\x27cljs.repl\x27);\ncljs.repl.print_doc \x3d (function cljs$repl$print_doc(p__20876){\nvar map__20877 \x3d p__20876;\nvar map__20877__$1 \x3d cljs.core.__destructure_map(map__20877);\nvar m \x3d map__20877__$1;\nvar n \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20877__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar nm \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20877__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27);\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Protocol\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__20879_21151 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__20880_21152 \x3d null;\nvar count__20881_21153 \x3d (0);\nvar i__20882_21154 \x3d (0);\nwhile(true){\nif((i__20882_21154 \x3c count__20881_21153)){\nvar f_21157 \x3d chunk__20880_21152.cljs$core$IIndexed$_nth$arity$2(null,i__20882_21154);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_21157], 0));\n\n\nvar G__21159 \x3d seq__20879_21151;\nvar G__21160 \x3d chunk__20880_21152;\nvar G__21161 \x3d count__20881_21153;\nvar G__21162 \x3d (i__20882_21154 + (1));\nseq__20879_21151 \x3d G__21159;\nchunk__20880_21152 \x3d G__21160;\ncount__20881_21153 \x3d G__21161;\ni__20882_21154 \x3d G__21162;\ncontinue;\n} else {\nvar temp__5804__auto___21163 \x3d cljs.core.seq(seq__20879_21151);\nif(temp__5804__auto___21163){\nvar seq__20879_21164__$1 \x3d temp__5804__auto___21163;\nif(cljs.core.chunked_seq_QMARK_(seq__20879_21164__$1)){\nvar c__5568__auto___21165 \x3d cljs.core.chunk_first(seq__20879_21164__$1);\nvar G__21166 \x3d cljs.core.chunk_rest(seq__20879_21164__$1);\nvar G__21167 \x3d c__5568__auto___21165;\nvar G__21168 \x3d cljs.core.count(c__5568__auto___21165);\nvar G__21169 \x3d (0);\nseq__20879_21151 \x3d G__21166;\nchunk__20880_21152 \x3d G__21167;\ncount__20881_21153 \x3d G__21168;\ni__20882_21154 \x3d G__21169;\ncontinue;\n} else {\nvar f_21170 \x3d cljs.core.first(seq__20879_21164__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_21170], 0));\n\n\nvar G__21171 \x3d cljs.core.next(seq__20879_21164__$1);\nvar G__21172 \x3d null;\nvar G__21173 \x3d (0);\nvar G__21174 \x3d (0);\nseq__20879_21151 \x3d G__21171;\nchunk__20880_21152 \x3d G__21172;\ncount__20881_21153 \x3d G__21173;\ni__20882_21154 \x3d G__21174;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_21180 \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_21180], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(arglists_21180)))?cljs.core.second(arglists_21180):arglists_21180)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22special-form\x22,\x22special-form\x22,-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Special Form\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/special_forms#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22REPL Special Function\x22], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__20892_21181 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__20893_21182 \x3d null;\nvar count__20894_21183 \x3d (0);\nvar i__20895_21184 \x3d (0);\nwhile(true){\nif((i__20895_21184 \x3c count__20894_21183)){\nvar vec__20906_21186 \x3d chunk__20893_21182.cljs$core$IIndexed$_nth$arity$2(null,i__20895_21184);\nvar name_21187 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20906_21186,(0),null);\nvar map__20909_21188 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20906_21186,(1),null);\nvar map__20909_21189__$1 \x3d cljs.core.__destructure_map(map__20909_21188);\nvar doc_21190 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20909_21189__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_21191 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20909_21189__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_21187], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_21191], 0));\n\nif(cljs.core.truth_(doc_21190)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_21190], 0));\n} else {\n}\n\n\nvar G__21194 \x3d seq__20892_21181;\nvar G__21195 \x3d chunk__20893_21182;\nvar G__21196 \x3d count__20894_21183;\nvar G__21197 \x3d (i__20895_21184 + (1));\nseq__20892_21181 \x3d G__21194;\nchunk__20893_21182 \x3d G__21195;\ncount__20894_21183 \x3d G__21196;\ni__20895_21184 \x3d G__21197;\ncontinue;\n} else {\nvar temp__5804__auto___21198 \x3d cljs.core.seq(seq__20892_21181);\nif(temp__5804__auto___21198){\nvar seq__20892_21199__$1 \x3d temp__5804__auto___21198;\nif(cljs.core.chunked_seq_QMARK_(seq__20892_21199__$1)){\nvar c__5568__auto___21202 \x3d cljs.core.chunk_first(seq__20892_21199__$1);\nvar G__21203 \x3d cljs.core.chunk_rest(seq__20892_21199__$1);\nvar G__21204 \x3d c__5568__auto___21202;\nvar G__21205 \x3d cljs.core.count(c__5568__auto___21202);\nvar G__21206 \x3d (0);\nseq__20892_21181 \x3d G__21203;\nchunk__20893_21182 \x3d G__21204;\ncount__20894_21183 \x3d G__21205;\ni__20895_21184 \x3d G__21206;\ncontinue;\n} else {\nvar vec__20911_21207 \x3d cljs.core.first(seq__20892_21199__$1);\nvar name_21208 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20911_21207,(0),null);\nvar map__20914_21209 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20911_21207,(1),null);\nvar map__20914_21210__$1 \x3d cljs.core.__destructure_map(map__20914_21209);\nvar doc_21211 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20914_21210__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_21212 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20914_21210__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_21208], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_21212], 0));\n\nif(cljs.core.truth_(doc_21211)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_21211], 0));\n} else {\n}\n\n\nvar G__21213 \x3d cljs.core.next(seq__20892_21199__$1);\nvar G__21214 \x3d null;\nvar G__21215 \x3d (0);\nvar G__21216 \x3d (0);\nseq__20892_21181 \x3d G__21213;\nchunk__20893_21182 \x3d G__21214;\ncount__20894_21183 \x3d G__21215;\ni__20895_21184 \x3d G__21216;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar fnspec \x3d temp__5804__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n\nvar seq__20917 \x3d cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)], null));\nvar chunk__20918 \x3d null;\nvar count__20919 \x3d (0);\nvar i__20920 \x3d (0);\nwhile(true){\nif((i__20920 \x3c count__20919)){\nvar role \x3d chunk__20918.cljs$core$IIndexed$_nth$arity$2(null,i__20920);\nvar temp__5804__auto___21221__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___21221__$1)){\nvar spec_21222 \x3d temp__5804__auto___21221__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_21222)], 0));\n} else {\n}\n\n\nvar G__21223 \x3d seq__20917;\nvar G__21224 \x3d chunk__20918;\nvar G__21225 \x3d count__20919;\nvar G__21226 \x3d (i__20920 + (1));\nseq__20917 \x3d G__21223;\nchunk__20918 \x3d G__21224;\ncount__20919 \x3d G__21225;\ni__20920 \x3d G__21226;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__20917);\nif(temp__5804__auto____$1){\nvar seq__20917__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__20917__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20917__$1);\nvar G__21227 \x3d cljs.core.chunk_rest(seq__20917__$1);\nvar G__21228 \x3d c__5568__auto__;\nvar G__21229 \x3d cljs.core.count(c__5568__auto__);\nvar G__21230 \x3d (0);\nseq__20917 \x3d G__21227;\nchunk__20918 \x3d G__21228;\ncount__20919 \x3d G__21229;\ni__20920 \x3d G__21230;\ncontinue;\n} else {\nvar role \x3d cljs.core.first(seq__20917__$1);\nvar temp__5804__auto___21231__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___21231__$2)){\nvar spec_21232 \x3d temp__5804__auto___21231__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_21232)], 0));\n} else {\n}\n\n\nvar G__21233 \x3d cljs.core.next(seq__20917__$1);\nvar G__21234 \x3d null;\nvar G__21235 \x3d (0);\nvar G__21236 \x3d (0);\nseq__20917 \x3d G__21233;\nchunk__20918 \x3d G__21234;\ncount__20919 \x3d G__21235;\ni__20920 \x3d G__21236;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map \x3d (function cljs$repl$Error__GT_map(o){\nvar base \x3d (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(\x22cljs.core\x22,\x22ExceptionInfo\x22,\x22cljs.core/ExceptionInfo\x22,701839050,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,t.name):null\n))], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ed \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via \x3d (function (){var via \x3d cljs.core.PersistentVector.EMPTY;\nvar t \x3d o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__21237 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__21238 \x3d cljs.core.ex_cause(t);\nvia \x3d G__21237;\nt \x3d G__21238;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root \x3d cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415),null], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar root_msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar data \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar phase \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n * based on Throwable data, as returned by Throwable-\x3emap. All attributes other than phase\n * are optional:\n * :clojure.error/phase - keyword phase indicator, one of:\n * :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n * :execution :read-eval-result :print-eval-result\n * :clojure.error/source - file name (no path)\n * :clojure.error/line - integer line number\n * :clojure.error/column - integer column number\n * :clojure.error/symbol - symbol being expanded/compiled/invoked\n * :clojure.error/class - cause exception class symbol\n * :clojure.error/cause - cause exception message\n * :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage \x3d (function cljs$repl$ex_triage(datafied_throwable){\nvar map__20945 \x3d datafied_throwable;\nvar map__20945__$1 \x3d cljs.core.__destructure_map(map__20945);\nvar via \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20945__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar trace \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20945__$1,new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415));\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20945__$1,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),new cljs.core.Keyword(null,\x22execution\x22,\x22execution\x22,253283524));\nvar map__20946 \x3d cljs.core.last(via);\nvar map__20946__$1 \x3d cljs.core.__destructure_map(map__20946);\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20946__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar message \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20946__$1,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20946__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20947 \x3d data;\nvar map__20947__$1 \x3d cljs.core.__destructure_map(map__20947);\nvar problems \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20947__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814));\nvar fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20947__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22fn\x22,\x22cljs.spec.alpha/fn\x22,408600443));\nvar caller \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20947__$1,new cljs.core.Keyword(\x22cljs.spec.test.alpha\x22,\x22caller\x22,\x22cljs.spec.test.alpha/caller\x22,-398302390));\nvar map__20948 \x3d new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__20948__$1 \x3d cljs.core.__destructure_map(map__20948);\nvar top_data \x3d map__20948__$1;\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20948__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__20951 \x3d phase;\nvar G__20951__$1 \x3d (((G__20951 instanceof cljs.core.Keyword))?G__20951.fqn:null);\nswitch (G__20951__$1) {\ncase \x22read-source\x22:\nvar map__20952 \x3d data;\nvar map__20952__$1 \x3d cljs.core.__destructure_map(map__20952);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20952__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20952__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar G__20953 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__20953__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20953,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__20953);\nvar G__20953__$2 \x3d (cljs.core.truth_((function (){var fexpr__20972 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__20972.cljs$core$IFn$_invoke$arity$1 ? fexpr__20972.cljs$core$IFn$_invoke$arity$1(source) : fexpr__20972.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20953__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__20953__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20953__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__20953__$2;\n}\n\nbreak;\ncase \x22compile-syntax-check\x22:\ncase \x22compilation\x22:\ncase \x22macro-syntax-check\x22:\ncase \x22macroexpansion\x22:\nvar G__20973 \x3d top_data;\nvar G__20973__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20973,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__20973);\nvar G__20973__$2 \x3d (cljs.core.truth_((function (){var fexpr__20974 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__20974.cljs$core$IFn$_invoke$arity$1 ? fexpr__20974.cljs$core$IFn$_invoke$arity$1(source) : fexpr__20974.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20973__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__20973__$1);\nvar G__20973__$3 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20973__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__20973__$2);\nvar G__20973__$4 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20973__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__20973__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20973__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__20973__$4;\n}\n\nbreak;\ncase \x22read-eval-result\x22:\ncase \x22print-eval-result\x22:\nvar vec__20979 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20979,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20979,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20979,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20979,(3),null);\nvar G__20986 \x3d top_data;\nvar G__20986__$1 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20986,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),line):G__20986);\nvar G__20986__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20986__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file):G__20986__$1);\nvar G__20986__$3 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20986__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__20986__$2);\nvar G__20986__$4 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20986__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__20986__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20986__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__20986__$4;\n}\n\nbreak;\ncase \x22execution\x22:\nvar vec__21009 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21009,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21009,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21009,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21009,(3),null);\nvar file__$1 \x3d cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__20943_SHARP_){\nvar or__5045__auto__ \x3d (p1__20943_SHARP_ \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar fexpr__21012 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__21012.cljs$core$IFn$_invoke$arity$1 ? fexpr__21012.cljs$core$IFn$_invoke$arity$1(p1__20943_SHARP_) : fexpr__21012.call(null,p1__20943_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__21013 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type], null);\nvar G__21013__$1 \x3d (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21013,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),err_line):G__21013);\nvar G__21013__$2 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21013__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__21013__$1);\nvar G__21013__$3 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21013__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__21013__$2);\nvar G__21013__$4 \x3d (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21013__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file__$1):G__21013__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21013__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__21013__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20951__$1)].join(\x27\x27)));\n\n}\n})(),new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n * The first line summarizes the exception phase and location.\n * The subsequent lines describe the cause.\n */\ncljs.repl.ex_str \x3d (function cljs$repl$ex_str(p__21099){\nvar map__21100 \x3d p__21099;\nvar map__21100__$1 \x3d cljs.core.__destructure_map(map__21100);\nvar triage_data \x3d map__21100__$1;\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358));\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar symbol \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994));\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890));\nvar cause \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742));\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21100__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595));\nvar loc \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d source;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x3ccljs repl\x3e\x22;\n}\n})()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d line;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):\x22\x22)].join(\x27\x27);\nvar class_name \x3d cljs.core.name((function (){var or__5045__auto__ \x3d class$;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})());\nvar simple_class \x3d class_name;\nvar cause_type \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22RuntimeException\x22,null,\x22Exception\x22,null], null), null),simple_class))?\x22\x22:[\x22 (\x22,simple_class,\x22)\x22].join(\x27\x27));\nvar format \x3d goog.string.format;\nvar G__21102 \x3d phase;\nvar G__21102__$1 \x3d (((G__21102 instanceof cljs.core.Keyword))?G__21102.fqn:null);\nswitch (G__21102__$1) {\ncase \x22read-source\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause) : format.call(null,\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause));\n\nbreak;\ncase \x22macro-syntax-check\x22:\nvar G__21103 \x3d \x22Syntax error macroexpanding %sat (%s).\\n%s\x22;\nvar G__21104 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__21105 \x3d loc;\nvar G__21106 \x3d (cljs.core.truth_(spec)?(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__21108_21243 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__21109_21244 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__21110_21245 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__21111_21246 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__21110_21245);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__21111_21246);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21087_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__21087_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__21109_21244);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__21108_21243);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\x22%s\\n\x22,cause) : format.call(null,\x22%s\\n\x22,cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__21103,G__21104,G__21105,G__21106) : format.call(null,G__21103,G__21104,G__21105,G__21106));\n\nbreak;\ncase \x22macroexpansion\x22:\nvar G__21112 \x3d \x22Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\x22;\nvar G__21113 \x3d cause_type;\nvar G__21114 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__21115 \x3d loc;\nvar G__21116 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__21112,G__21113,G__21114,G__21115,G__21116) : format.call(null,G__21112,G__21113,G__21114,G__21115,G__21116));\n\nbreak;\ncase \x22compile-syntax-check\x22:\nvar G__21118 \x3d \x22Syntax error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__21119 \x3d cause_type;\nvar G__21120 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__21121 \x3d loc;\nvar G__21122 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__21118,G__21119,G__21120,G__21121,G__21122) : format.call(null,G__21118,G__21119,G__21120,G__21121,G__21122));\n\nbreak;\ncase \x22compilation\x22:\nvar G__21124 \x3d \x22Unexpected error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__21125 \x3d cause_type;\nvar G__21126 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__21127 \x3d loc;\nvar G__21128 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__21124,G__21125,G__21126,G__21127,G__21128) : format.call(null,G__21124,G__21125,G__21126,G__21127,G__21128));\n\nbreak;\ncase \x22read-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22print-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22execution\x22:\nif(cljs.core.truth_(spec)){\nvar G__21129 \x3d \x22Execution error - invalid arguments to %s at (%s).\\n%s\x22;\nvar G__21130 \x3d symbol;\nvar G__21131 \x3d loc;\nvar G__21132 \x3d (function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__21133_21248 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__21134_21249 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__21135_21250 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__21136_21251 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__21135_21250);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__21136_21251);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21098_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__21098_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__21134_21249);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__21133_21248);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__21129,G__21130,G__21131,G__21132) : format.call(null,G__21129,G__21130,G__21131,G__21132));\n} else {\nvar G__21137 \x3d \x22Execution error%s at %s(%s).\\n%s\\n\x22;\nvar G__21138 \x3d cause_type;\nvar G__21139 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__21140 \x3d loc;\nvar G__21141 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__21137,G__21138,G__21139,G__21140,G__21141) : format.call(null,G__21137,G__21138,G__21139,G__21140,G__21141));\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__21102__$1)].join(\x27\x27)));\n\n}\n});\ncljs.repl.error__GT_str \x3d (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.obj_support.js", true , "goog.provide(\x27shadow.remote.runtime.obj_support\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.remote.runtime.obj_support.Reference \x3d (function (obj,__meta,__extmap,__hash){\nthis.obj \x3d obj;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k21176,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__21185 \x3d k21176;\nvar G__21185__$1 \x3d (((G__21185 instanceof cljs.core.Keyword))?G__21185.fqn:null);\nswitch (G__21185__$1) {\ncase \x22obj\x22:\nreturn self__.obj;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k21176,else__5346__auto__);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__21263){\nvar vec__21264 \x3d p__21263;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21264,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21264,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.remote.runtime.obj-support.Reference{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj],null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__21175){\nvar self__ \x3d this;\nvar G__21175__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__21175__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1775716890 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this21177,other21178){\nvar self__ \x3d this;\nvar this21177__$1 \x3d this;\nreturn (((!((other21178 \x3d\x3d null)))) \x26\x26 ((((this21177__$1.constructor \x3d\x3d\x3d other21178.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21177__$1.obj,other21178.obj)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21177__$1.__extmap,other21178.__extmap)))))));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k21176){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__21525 \x3d k21176;\nvar G__21525__$1 \x3d (((G__21525 instanceof cljs.core.Keyword))?G__21525.fqn:null);\nswitch (G__21525__$1) {\ncase \x22obj\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k21176);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__21175){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__21561 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__21562 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__21561.cljs$core$IFn$_invoke$arity$2 ? pred__21561.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__21562) : pred__21561.call(null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__21562)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(G__21175,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__21175),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj,null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__21175){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__21175,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null)], null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.remote.runtime.obj-support/Reference\x22,null,(1),null));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.remote.runtime.obj-support/Reference\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.obj-support/Reference.\n */\nshadow.remote.runtime.obj_support.__GT_Reference \x3d (function shadow$remote$runtime$obj_support$__GT_Reference(obj){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n});\n\n/**\n * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values.\n */\nshadow.remote.runtime.obj_support.map__GT_Reference \x3d (function shadow$remote$runtime$obj_support$map__GT_Reference(G__21179){\nvar extmap__5385__auto__ \x3d (function (){var G__21632 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__21179,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(cljs.core.record_QMARK_(G__21179)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__21632);\n} else {\nreturn G__21632;\n}\n})();\nreturn (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__21179),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.remote.runtime.obj_support.obj_ref \x3d (function shadow$remote$runtime$obj_support$obj_ref(obj){\nif((!((obj \x3d\x3d null)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.obj_support.obj_ref_QMARK_ \x3d (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){\nreturn (result instanceof shadow.remote.runtime.obj_support.Reference);\n});\nshadow.remote.runtime.obj_support.now \x3d (function shadow$remote$runtime$obj_support$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.obj_support.next_oid \x3d (function shadow$remote$runtime$obj_support$next_oid(){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n});\nshadow.remote.runtime.obj_support.register_STAR_ \x3d (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar obj_entry \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),obj,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(obj_info,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts)], null);\nreturn cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),obj_entry);\n});\nshadow.remote.runtime.obj_support.obj_type_string \x3d (function shadow$remote$runtime$obj_support$obj_type_string(obj){\nif((obj \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0));\n}\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.remote !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.remote.runtime !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.remote.runtime.obj_support !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.remote.runtime.obj_support.make_view !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.remote.runtime.obj_support.make_view \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__21655 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__21655.cljs$core$IFn$_invoke$arity$0 ? fexpr__21655.cljs$core$IFn$_invoke$arity$0() : fexpr__21655.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22shadow.remote.runtime.obj-support\x22,\x22make-view\x22),(function (state_ref,p__21656,entry){\nvar map__21657 \x3d p__21656;\nvar map__21657__$1 \x3d cljs.core.__destructure_map(map__21657);\nvar msg \x3d map__21657__$1;\nvar view_type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21657__$1,new cljs.core.Keyword(null,\x22view-type\x22,\x22view-type\x22,-1848894559));\nreturn view_type;\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\nshadow.remote.runtime.obj_support.default_max_print_size \x3d (((1) * (1024)) * (1024));\nshadow.remote.runtime.obj_support.as_edn \x3d (function shadow$remote$runtime$obj_support$as_edn(data,p__21659){\nvar map__21660 \x3d p__21659;\nvar map__21660__$1 \x3d cljs.core.__destructure_map(map__21660);\nvar msg \x3d map__21660__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21660__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.core.pr_writer(data,lw,cljs.core.pr_opts());\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n});\nshadow.remote.runtime.obj_support.as_pprint \x3d (function shadow$remote$runtime$obj_support$as_pprint(data,p__21662){\nvar map__21663 \x3d p__21662;\nvar map__21663__$1 \x3d cljs.core.__destructure_map(map__21663);\nvar msg \x3d map__21663__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21663__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(data,lw);\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n});\nshadow.remote.runtime.obj_support.as_edn_limit \x3d (function shadow$remote$runtime$obj_support$as_edn_limit(data,p__21669){\nvar map__21670 \x3d p__21669;\nvar map__21670__$1 \x3d cljs.core.__destructure_map(map__21670);\nvar msg \x3d map__21670__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21670__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363));\nreturn shadow.remote.runtime.writer.pr_str_limit(data,limit);\n});\nshadow.remote.runtime.obj_support.as_str \x3d (function shadow$remote$runtime$obj_support$as_str(data,msg){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(data);\n});\nshadow.remote.runtime.obj_support.as_ex_str \x3d (function shadow$remote$runtime$obj_support$as_ex_str(ex,msg){\nif((ex instanceof Error)){\nreturn cljs.repl.error__GT_str(ex);\n} else {\nreturn [\x22Execution error:\\n\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.second(shadow.remote.runtime.writer.pr_str_limit(ex,(200)))),\x22\\n\x22,\x22\\n\x22].join(\x27\x27);\n}\n});\nshadow.remote.runtime.obj_support.exception_QMARK_ \x3d (function shadow$remote$runtime$obj_support$exception_QMARK_(x){\nreturn true;\n});\nshadow.remote.runtime.obj_support.rank_predicates \x3d new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null);\nshadow.remote.runtime.obj_support.rank_val \x3d (function shadow$remote$runtime$obj_support$rank_val(val){\nreturn cljs.core.reduce_kv((function (res,idx,pred){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){\nreturn cljs.core.reduced(idx);\n} else {\nreturn res;\n}\n}),(-1),shadow.remote.runtime.obj_support.rank_predicates);\n});\nshadow.remote.runtime.obj_support.smart_comp \x3d (function shadow$remote$runtime$obj_support$smart_comp(a,b){\ntry{return cljs.core.compare(a,b);\n}catch (e21672){if((e21672 instanceof Error)){\nvar e \x3d e21672;\nvar ar \x3d shadow.remote.runtime.obj_support.rank_val(a);\nvar br \x3d shadow.remote.runtime.obj_support.rank_val(b);\nreturn cljs.core.compare(ar,br);\n} else {\nthrow e21672;\n\n}\n}});\nshadow.remote.runtime.obj_support.attempt_to_sort \x3d (function shadow$remote$runtime$obj_support$attempt_to_sort(desc,coll){\ntry{return cljs.core.assoc_in(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(desc,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574),cljs.core.vec(cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll))),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22sorted\x22,\x22sorted\x22,-896746253)], null),true);\n}catch (e21674){var e \x3d e21674;\nreturn cljs.core.assoc_in(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(desc,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574),cljs.core.vec(coll)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22sorted\x22,\x22sorted\x22,-896746253)], null),false);\n}});\nshadow.remote.runtime.obj_support.browseable_kv \x3d (function shadow$remote$runtime$obj_support$browseable_kv(p__21677){\nvar map__21678 \x3d p__21677;\nvar map__21678__$1 \x3d cljs.core.__destructure_map(map__21678);\nvar desc \x3d map__21678__$1;\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21678__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21678__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22nav\x22,\x22nav\x22,719540477)], null),(function (p__21679){\nvar map__21680 \x3d p__21679;\nvar map__21680__$1 \x3d cljs.core.__destructure_map(map__21680);\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21680__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nvar nav \x3d clojure.datafy.nav(data,key,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22fragment\x22,\x22fragment\x22,826775688)], null),(function (p__21681){\nvar map__21682 \x3d p__21681;\nvar map__21682__$1 \x3d cljs.core.__destructure_map(map__21682);\nvar msg \x3d map__21682__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21682__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21682__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar key_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21682__$1,new cljs.core.Keyword(null,\x22key-limit\x22,\x22key-limit\x22,259239169),(100));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21682__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit);\n}catch (e21683){var e \x3d e21683;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})(),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit);\n}catch (e21685){var e \x3d e21685;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})()], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n}));\n});\nshadow.remote.runtime.obj_support.browseable_vec \x3d (function shadow$remote$runtime$obj_support$browseable_vec(p__21686){\nvar map__21687 \x3d p__21686;\nvar map__21687__$1 \x3d cljs.core.__destructure_map(map__21687);\nvar desc \x3d map__21687__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21687__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22nav\x22,\x22nav\x22,719540477)], null),(function (p__21688){\nvar map__21689 \x3d p__21688;\nvar map__21689__$1 \x3d cljs.core.__destructure_map(map__21689);\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21689__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22fragment\x22,\x22fragment\x22,826775688)], null),(function (p__21690){\nvar map__21691 \x3d p__21690;\nvar map__21691__$1 \x3d cljs.core.__destructure_map(map__21691);\nvar msg \x3d map__21691__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21691__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21691__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21691__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(data);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n}));\n});\nshadow.remote.runtime.obj_support.browseable_seq \x3d (function shadow$remote$runtime$obj_support$browseable_seq(p__21695){\nvar map__21697 \x3d p__21695;\nvar map__21697__$1 \x3d cljs.core.__destructure_map(map__21697);\nvar desc \x3d map__21697__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21697__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21697__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22nav\x22,\x22nav\x22,719540477)], null),(function (p__21699){\nvar map__21700 \x3d p__21699;\nvar map__21700__$1 \x3d cljs.core.__destructure_map(map__21700);\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21700__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22fragment\x22,\x22fragment\x22,826775688)], null),(function (p__21701){\nvar map__21702 \x3d p__21701;\nvar map__21702__$1 \x3d cljs.core.__destructure_map(map__21702);\nvar msg \x3d map__21702__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21702__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21702__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21702__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n}));\n});\nshadow.remote.runtime.obj_support.pageable_seq \x3d (function shadow$remote$runtime$obj_support$pageable_seq(p__21703){\nvar map__21704 \x3d p__21703;\nvar map__21704__$1 \x3d cljs.core.__destructure_map(map__21704);\nvar desc \x3d map__21704__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21704__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar seq_state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tail\x22,\x22tail\x22,-1146023564),data,new cljs.core.Keyword(null,\x22realized\x22,\x22realized\x22,-153188123),cljs.core.PersistentVector.EMPTY], null));\nreturn cljs.core.assoc_in(cljs.core.assoc_in(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(desc,new cljs.core.Keyword(null,\x22seq-state-ref\x22,\x22seq-state-ref\x22,869825254),seq_state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22nav\x22,\x22nav\x22,719540477)], null),(function (p__21705){\nvar map__21706 \x3d p__21705;\nvar map__21706__$1 \x3d cljs.core.__destructure_map(map__21706);\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21706__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22realized\x22,\x22realized\x22,-153188123).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(seq_state_ref)),idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22chunk\x22,\x22chunk\x22,-1191159620)], null),(function (p__21707){\nvar map__21708 \x3d p__21707;\nvar map__21708__$1 \x3d cljs.core.__destructure_map(map__21708);\nvar msg \x3d map__21708__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21708__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21708__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21708__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nvar map__21712 \x3d cljs.core.deref(seq_state_ref);\nvar map__21712__$1 \x3d cljs.core.__destructure_map(map__21712);\nvar seq_state \x3d map__21712__$1;\nvar tail \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21712__$1,new cljs.core.Keyword(null,\x22tail\x22,\x22tail\x22,-1146023564));\nvar realized \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21712__$1,new cljs.core.Keyword(null,\x22realized\x22,\x22realized\x22,-153188123));\nvar end \x3d (start + num);\nvar missing \x3d (end - cljs.core.count(realized));\nvar vec__21713 \x3d (function (){var tail__$1 \x3d tail;\nvar realized__$1 \x3d realized;\nvar missing__$1 \x3d missing;\nwhile(true){\nif((!((missing__$1 \x3e (0))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tail__$1,realized__$1], null);\n} else {\nvar next \x3d cljs.core.first(tail__$1);\nif((next \x3d\x3d null)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,realized__$1], null);\n} else {\nvar G__21867 \x3d cljs.core.rest(tail__$1);\nvar G__21868 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(realized__$1,next);\nvar G__21869 \x3d (missing__$1 - (1));\ntail__$1 \x3d G__21867;\nrealized__$1 \x3d G__21868;\nmissing__$1 \x3d G__21869;\ncontinue;\n}\n}\nbreak;\n}\n})();\nvar tail__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21713,(0),null);\nvar realized__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21713,(1),null);\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,(function (){var x__5133__auto__ \x3d end;\nvar y__5134__auto__ \x3d cljs.core.count(realized__$1);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})());\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(realized__$1,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(seq_state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22tail\x22,\x22tail\x22,-1146023564),tail__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22realized\x22,\x22realized\x22,-153188123),realized__$1], 0));\n\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981),start,new cljs.core.Keyword(null,\x22realized\x22,\x22realized\x22,-153188123),cljs.core.count(realized__$1),new cljs.core.Keyword(null,\x22fragment\x22,\x22fragment\x22,826775688),fragment,new cljs.core.Keyword(null,\x22more?\x22,\x22more?\x22,519437444),(((cljs.core.count(realized__$1) \x3e end)) || ((!((tail__$1 \x3d\x3d null)))))], null);\n}));\n});\nshadow.remote.runtime.obj_support.inspect_basic \x3d (function shadow$remote$runtime$obj_support$inspect_basic(p__21720,obj,opts){\nvar map__21721 \x3d p__21720;\nvar map__21721__$1 \x3d cljs.core.__destructure_map(map__21721);\nvar desc \x3d map__21721__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21721__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\ntry{if((data \x3d\x3d null)){\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501));\n} else {\nif(typeof data \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.assoc_in(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),((data).length)], null)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22get-value\x22,\x22get-value\x22,2108514284)], null),(function (msg){\nreturn data;\n}));\n} else {\nif(cljs.core.boolean_QMARK_(data)){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22boolean\x22,\x22boolean\x22,-1919418404)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22get-value\x22,\x22get-value\x22,2108514284)], null),(function (msg){\nreturn data;\n}));\n} else {\nif(typeof data \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22get-value\x22,\x22get-value\x22,2108514284)], null),(function (msg){\nreturn data;\n}));\n} else {\nif((data instanceof cljs.core.Keyword)){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22get-value\x22,\x22get-value\x22,2108514284)], null),(function (msg){\nreturn data;\n}));\n} else {\nif((data instanceof cljs.core.Symbol)){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22get-value\x22,\x22get-value\x22,2108514284)], null),(function (msg){\nreturn data;\n}));\n} else {\nif(cljs.core.map_QMARK_(data)){\nreturn shadow.remote.runtime.obj_support.browseable_kv(shadow.remote.runtime.obj_support.attempt_to_sort(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),new cljs.core.Keyword(null,\x22entries\x22,\x22entries\x22,-86943161),cljs.core.count(data)], null)),cljs.core.keys(data)));\n} else {\nif(cljs.core.vector_QMARK_(data)){\nreturn shadow.remote.runtime.obj_support.browseable_vec(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22vec\x22,\x22vec\x22,-657847931),new cljs.core.Keyword(null,\x22entries\x22,\x22entries\x22,-86943161),cljs.core.count(data)], null)));\n} else {\nif(cljs.core.set_QMARK_(data)){\nreturn shadow.remote.runtime.obj_support.browseable_seq(shadow.remote.runtime.obj_support.attempt_to_sort(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),new cljs.core.Keyword(null,\x22entries\x22,\x22entries\x22,-86943161),cljs.core.count(data)], null)),data));\n} else {\nif(cljs.core.list_QMARK_(data)){\nreturn shadow.remote.runtime.obj_support.browseable_seq(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),new cljs.core.Keyword(null,\x22entries\x22,\x22entries\x22,-86943161),cljs.core.count(data)], null)),new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574),cljs.core.vec(data)));\n} else {\nif(cljs.core.seq_QMARK_(data)){\nreturn shadow.remote.runtime.obj_support.pageable_seq(cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22lazy-seq\x22,\x22lazy-seq\x22,-1150898621)], null)));\n} else {\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}catch (e21722){var e \x3d e21722;\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468)], null),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n}});\nshadow.remote.runtime.obj_support.inspect_type_info \x3d (function shadow$remote$runtime$obj_support$inspect_type_info(desc,obj,opts){\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22obj-type\x22,\x22obj-type\x22,-1658555496)], null),shadow.remote.runtime.obj_support.obj_type_string(obj));\n});\nshadow.remote.runtime.obj_support.inspect_source_info \x3d (function shadow$remote$runtime$obj_support$inspect_source_info(desc,obj,opts){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(desc,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),cljs.core.merge,cljs.core.select_keys(opts,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22label\x22,\x22label\x22,1718410804)], null)));\n});\nshadow.remote.runtime.obj_support.add_summary_op \x3d (function shadow$remote$runtime$obj_support$add_summary_op(p__21733){\nvar map__21734 \x3d p__21733;\nvar map__21734__$1 \x3d cljs.core.__destructure_map(map__21734);\nvar desc \x3d map__21734__$1;\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21734__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952)], null),(function (msg){\nreturn summary;\n}));\n});\nshadow.remote.runtime.obj_support.default_describe \x3d (function shadow$remote$runtime$obj_support$default_describe(o,opts){\nvar data \x3d clojure.datafy.datafy(o);\nreturn shadow.remote.runtime.obj_support.add_summary_op(shadow.remote.runtime.obj_support.inspect_source_info(shadow.remote.runtime.obj_support.inspect_type_info(shadow.remote.runtime.obj_support.inspect_basic(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22datafied\x22,\x22datafied\x22,2076148104),(!((data \x3d\x3d\x3d o)))], null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),(function (){var G__21743 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22str\x22,\x22str\x22,1089608819),(function (p1__21735_SHARP_){\nreturn shadow.remote.runtime.obj_support.as_str(o,p1__21735_SHARP_);\n}),new cljs.core.Keyword(null,\x22edn\x22,\x22edn\x22,1317840885),(function (p1__21736_SHARP_){\nreturn shadow.remote.runtime.obj_support.as_edn(o,p1__21736_SHARP_);\n}),new cljs.core.Keyword(null,\x22edn-limit\x22,\x22edn-limit\x22,1353115803),(function (p1__21737_SHARP_){\nreturn shadow.remote.runtime.obj_support.as_edn_limit(o,p1__21737_SHARP_);\n})], null);\nvar G__21743__$1 \x3d ((((cljs.core.coll_QMARK_(o)) || (cljs.core.seq_QMARK_(o))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21743,new cljs.core.Keyword(null,\x22pprint\x22,\x22pprint\x22,1220198395),(function (p1__21738_SHARP_){\nreturn shadow.remote.runtime.obj_support.as_pprint(o,p1__21738_SHARP_);\n})):G__21743);\nif(shadow.remote.runtime.obj_support.exception_QMARK_(o)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21743__$1,new cljs.core.Keyword(null,\x22ex-str\x22,\x22ex-str\x22,971148789),(function (p1__21739_SHARP_){\nreturn shadow.remote.runtime.obj_support.as_ex_str(o,p1__21739_SHARP_);\n}));\n} else {\nreturn G__21743__$1;\n}\n})()], null),o,opts),o,opts),o,opts));\n});\n(shadow.remote.runtime.api.Inspectable[\x22_\x22] \x3d true);\n\n(shadow.remote.runtime.api.describe[\x22_\x22] \x3d (function (o,opts){\nreturn shadow.remote.runtime.obj_support.default_describe(o,opts);\n}));\n\n(shadow.remote.runtime.api.Inspectable[\x22null\x22] \x3d true);\n\n(shadow.remote.runtime.api.describe[\x22null\x22] \x3d (function (o,opts){\nreturn shadow.remote.runtime.obj_support.default_describe(o,opts);\n}));\nshadow.remote.runtime.obj_support.add_supports \x3d (function shadow$remote$runtime$obj_support$add_supports(p__21744){\nvar map__21745 \x3d p__21744;\nvar map__21745__$1 \x3d cljs.core.__destructure_map(map__21745);\nvar desc \x3d map__21745__$1;\nvar handlers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21745__$1,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781));\nreturn cljs.core.assoc_in(desc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067)], null),cljs.core.set(cljs.core.keys(handlers)));\n});\nshadow.remote.runtime.obj_support.ensure_descriptor \x3d (function shadow$remote$runtime$obj_support$ensure_descriptor(p__21746){\nvar map__21747 \x3d p__21746;\nvar map__21747__$1 \x3d cljs.core.__destructure_map(map__21747);\nvar entry \x3d map__21747__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21747__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nvar obj_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21747__$1,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651));\nvar desc \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21747__$1,new cljs.core.Keyword(null,\x22desc\x22,\x22desc\x22,2093485764));\nif(cljs.core.truth_(desc)){\nreturn entry;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(entry,new cljs.core.Keyword(null,\x22desc\x22,\x22desc\x22,2093485764),shadow.remote.runtime.obj_support.add_supports(shadow.remote.runtime.api.describe(obj,obj_info)));\n}\n});\nshadow.remote.runtime.obj_support.get_tap_history \x3d (function shadow$remote$runtime$obj_support$get_tap_history(p__21754,num){\nvar map__21755 \x3d p__21754;\nvar map__21755__$1 \x3d cljs.core.__destructure_map(map__21755);\nvar svc \x3d map__21755__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21755__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__21753_SHARP_){\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__21753_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434)], null));\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__21751_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__21751_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044)], null)));\n}),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))))))));\n});\nshadow.remote.runtime.obj_support.obj_describe_STAR_ \x3d (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__21756,oid){\nvar map__21757 \x3d p__21756;\nvar map__21757__$1 \x3d cljs.core.__destructure_map(map__21757);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21757__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),oid)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),shadow.remote.runtime.obj_support.ensure_descriptor);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar summary \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22desc\x22,\x22desc\x22,2093485764),new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952)], null));\nreturn summary;\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.obj_support.obj_describe \x3d (function shadow$remote$runtime$obj_support$obj_describe(p__21765,p__21766){\nvar map__21767 \x3d p__21765;\nvar map__21767__$1 \x3d cljs.core.__destructure_map(map__21767);\nvar svc \x3d map__21767__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21767__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__21768 \x3d p__21766;\nvar map__21768__$1 \x3d cljs.core.__destructure_map(map__21768);\nvar msg \x3d map__21768__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21768__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar temp__5802__auto__ \x3d shadow.remote.runtime.obj_support.obj_describe_STAR_(svc,oid);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar summary \x3d temp__5802__auto__;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-summary\x22,\x22obj-summary\x22,-1372191064),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),summary], null));\n} else {\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n});\nshadow.remote.runtime.obj_support.obj_request \x3d (function shadow$remote$runtime$obj_support$obj_request(p__21772,p__21773){\nvar map__21774 \x3d p__21772;\nvar map__21774__$1 \x3d cljs.core.__destructure_map(map__21774);\nvar this$ \x3d map__21774__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21774__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21774__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__21775 \x3d p__21773;\nvar map__21775__$1 \x3d cljs.core.__destructure_map(map__21775);\nvar msg \x3d map__21775__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21775__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar request_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21775__$1,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246));\nif((!(cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),oid)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),shadow.remote.runtime.obj_support.ensure_descriptor);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar entry \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nvar request_fn \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22desc\x22,\x22desc\x22,2093485764),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),request_op], null));\nif(cljs.core.not(request_fn)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-not-supported\x22,\x22obj-request-not-supported\x22,93907126),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246),request_op], null));\n} else {\ntry{var result \x3d (request_fn.cljs$core$IFn$_invoke$arity$1 ? request_fn.cljs$core$IFn$_invoke$arity$1(msg) : request_fn.call(null,msg));\nif((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result\x22,\x22obj-result\x22,-486300152),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),result], null));\n} else {\nvar new_oid \x3d shadow.remote.runtime.obj_support.next_oid();\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar new_entry \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),new_oid,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(result),new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts,new cljs.core.Keyword(null,\x22added-via\x22,\x22added-via\x22,1525812109),oid], null)], null);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),new_oid], null),new_entry);\n\nvar reply_msg \x3d (function (){var G__21790 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result-ref\x22,\x22obj-result-ref\x22,1537374891),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),new_oid], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952).cljs$core$IFn$_invoke$arity$1(msg))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__21790,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid));\n} else {\nreturn G__21790;\n}\n})();\nreturn shadow.remote.runtime.shared.reply(runtime,msg,reply_msg);\n}\n}catch (e21779){var e \x3d e21779;\nconsole.warn(\x22action-request-action failed\x22,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry),e);\n\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-failed\x22,\x22obj-request-failed\x22,-1782005406),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),(function (){var G__21783 \x3d this$;\nvar G__21784 \x3d e;\nvar G__21785 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null);\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__21783,G__21784,G__21785) : shadow.remote.runtime.obj_support.register.call(null,G__21783,G__21784,G__21785));\n})()], null));\n}}\n}\n});\nshadow.remote.runtime.obj_support.obj_forget \x3d (function shadow$remote$runtime$obj_support$obj_forget(p__21791,p__21792){\nvar map__21793 \x3d p__21791;\nvar map__21793__$1 \x3d cljs.core.__destructure_map(map__21793);\nvar svc \x3d map__21793__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21793__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__21794 \x3d p__21792;\nvar map__21794__$1 \x3d cljs.core.__destructure_map(map__21794);\nvar msg \x3d map__21794__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21794__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0));\n});\nshadow.remote.runtime.obj_support.obj_forget_all \x3d (function shadow$remote$runtime$obj_support$obj_forget_all(p__21795,msg){\nvar map__21796 \x3d p__21795;\nvar map__21796__$1 \x3d cljs.core.__destructure_map(map__21796);\nvar svc \x3d map__21796__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21796__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY);\n});\nshadow.remote.runtime.obj_support.basic_gc_BANG_ \x3d (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){\nvar objs_to_drop \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(state))))));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,oid);\n}),state,objs_to_drop);\n});\nshadow.remote.runtime.obj_support.start \x3d (function shadow$remote$runtime$obj_support$start(runtime){\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22id-seq-ref\x22,\x22id-seq-ref\x22,-98357047),(0)], null));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),state_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22obj-describe\x22,\x22obj-describe\x22,-34922904),(function (p1__21797_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_describe(svc,p1__21797_SHARP_);\n}),new cljs.core.Keyword(null,\x22obj-request\x22,\x22obj-request\x22,-1709325811),(function (p1__21799_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_request(svc,p1__21799_SHARP_);\n}),new cljs.core.Keyword(null,\x22obj-forget\x22,\x22obj-forget\x22,2003566115),(function (p1__21801_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget(svc,p1__21801_SHARP_);\n}),new cljs.core.Keyword(null,\x22obj-forget-all\x22,\x22obj-forget-all\x22,1418682131),(function (p1__21802_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__21802_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602),(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_);\n})], null));\n\nreturn svc;\n});\nshadow.remote.runtime.obj_support.register \x3d (function shadow$remote$runtime$obj_support$register(p__21803,obj,obj_info){\nvar map__21804 \x3d p__21803;\nvar map__21804__$1 \x3d cljs.core.__destructure_map(map__21804);\nvar svc \x3d map__21804__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21804__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar oid \x3d shadow.remote.runtime.obj_support.next_oid();\nif((!(((cljs.core.vector_QMARK_(obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22shadow.remote\x22,\x22wrap\x22,\x22shadow.remote/wrap\x22,996267199),cljs.core.first(obj))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0));\n}\n\nreturn oid;\n});\nshadow.remote.runtime.obj_support.get_ref \x3d (function shadow$remote$runtime$obj_support$get_ref(p__21806,obj_id){\nvar map__21807 \x3d p__21806;\nvar map__21807__$1 \x3d cljs.core.__destructure_map(map__21807);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21807__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),obj_id], null));\n});\nshadow.remote.runtime.obj_support.stop \x3d (function shadow$remote$runtime$obj_support$stop(p__21809){\nvar map__21810 \x3d p__21809;\nvar map__21810__$1 \x3d cljs.core.__destructure_map(map__21810);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21810__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.tap_support.js", true , "goog.provide(\x27shadow.remote.runtime.tap_support\x27);\nshadow.remote.runtime.tap_support.tap_subscribe \x3d (function shadow$remote$runtime$tap_support$tap_subscribe(p__21825,p__21826){\nvar map__21827 \x3d p__21825;\nvar map__21827__$1 \x3d cljs.core.__destructure_map(map__21827);\nvar svc \x3d map__21827__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21827__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21827__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21827__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__21828 \x3d p__21826;\nvar map__21828__$1 \x3d cljs.core.__destructure_map(map__21828);\nvar msg \x3d map__21828__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21828__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21828__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nvar history__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21828__$1,new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21828__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(subs_ref,cljs.core.assoc,from,msg);\n\nif(cljs.core.truth_(history__$1)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-subscribed\x22,\x22tap-subscribed\x22,-1882247432),new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (oid){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(obj_support,oid)], null);\n}),shadow.remote.runtime.obj_support.get_tap_history(obj_support,num)))], null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.tap_support.tap_unsubscribe \x3d (function shadow$remote$runtime$tap_support$tap_unsubscribe(p__21844,p__21845){\nvar map__21846 \x3d p__21844;\nvar map__21846__$1 \x3d cljs.core.__destructure_map(map__21846);\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21846__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar map__21847 \x3d p__21845;\nvar map__21847__$1 \x3d cljs.core.__destructure_map(map__21847);\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21847__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,from);\n});\nshadow.remote.runtime.tap_support.request_tap_history \x3d (function shadow$remote$runtime$tap_support$request_tap_history(p__21851,p__21852){\nvar map__21854 \x3d p__21851;\nvar map__21854__$1 \x3d cljs.core.__destructure_map(map__21854);\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21854__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21854__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__21856 \x3d p__21852;\nvar map__21856__$1 \x3d cljs.core.__destructure_map(map__21856);\nvar msg \x3d map__21856__$1;\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__21856__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\nvar tap_ids \x3d shadow.remote.runtime.obj_support.get_tap_history(obj_support,num);\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-history\x22,\x22tap-history\x22,-282803347),new cljs.core.Keyword(null,\x22oids\x22,\x22oids\x22,-1580877688),tap_ids], null));\n});\nshadow.remote.runtime.tap_support.tool_disconnect \x3d (function shadow$remote$runtime$tap_support$tool_disconnect(p__21858,tid){\nvar map__21859 \x3d p__21858;\nvar map__21859__$1 \x3d cljs.core.__destructure_map(map__21859);\nvar svc \x3d map__21859__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21859__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,tid);\n});\nshadow.remote.runtime.tap_support.start \x3d (function shadow$remote$runtime$tap_support$start(runtime,obj_support){\nvar subs_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar tap_fn \x3d (function shadow$remote$runtime$tap_support$start_$_runtime_tap(obj){\nif((!((obj \x3d\x3d null)))){\nvar oid \x3d shadow.remote.runtime.obj_support.register(obj_support,obj,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463)], null));\nvar seq__21870 \x3d cljs.core.seq(cljs.core.deref(subs_ref));\nvar chunk__21871 \x3d null;\nvar count__21872 \x3d (0);\nvar i__21873 \x3d (0);\nwhile(true){\nif((i__21873 \x3c count__21872)){\nvar vec__21882 \x3d chunk__21871.cljs$core$IIndexed$_nth$arity$2(null,i__21873);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21882,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21882,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__21891 \x3d seq__21870;\nvar G__21892 \x3d chunk__21871;\nvar G__21893 \x3d count__21872;\nvar G__21894 \x3d (i__21873 + (1));\nseq__21870 \x3d G__21891;\nchunk__21871 \x3d G__21892;\ncount__21872 \x3d G__21893;\ni__21873 \x3d G__21894;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21870);\nif(temp__5804__auto__){\nvar seq__21870__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21870__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21870__$1);\nvar G__21895 \x3d cljs.core.chunk_rest(seq__21870__$1);\nvar G__21896 \x3d c__5568__auto__;\nvar G__21897 \x3d cljs.core.count(c__5568__auto__);\nvar G__21898 \x3d (0);\nseq__21870 \x3d G__21895;\nchunk__21871 \x3d G__21896;\ncount__21872 \x3d G__21897;\ni__21873 \x3d G__21898;\ncontinue;\n} else {\nvar vec__21886 \x3d cljs.core.first(seq__21870__$1);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21886,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21886,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__21899 \x3d cljs.core.next(seq__21870__$1);\nvar G__21900 \x3d null;\nvar G__21901 \x3d (0);\nvar G__21902 \x3d (0);\nseq__21870 \x3d G__21899;\nchunk__21871 \x3d G__21900;\ncount__21872 \x3d G__21901;\ni__21873 \x3d G__21902;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461),tap_fn,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911),subs_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22tap-subscribe\x22,\x22tap-subscribe\x22,411179050),(function (p1__21860_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_subscribe(svc,p1__21860_SHARP_);\n}),new cljs.core.Keyword(null,\x22tap-unsubscribe\x22,\x22tap-unsubscribe\x22,1183890755),(function (p1__21863_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_unsubscribe(svc,p1__21863_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-tap-history\x22,\x22request-tap-history\x22,-670837812),(function (p1__21864_SHARP_){\nreturn shadow.remote.runtime.tap_support.request_tap_history(svc,p1__21864_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-tool-disconnect\x22,\x22on-tool-disconnect\x22,693464366),(function (p1__21865_SHARP_){\nreturn shadow.remote.runtime.tap_support.tool_disconnect(svc,p1__21865_SHARP_);\n})], null));\n\ncljs.core.add_tap(tap_fn);\n\nreturn svc;\n});\nshadow.remote.runtime.tap_support.stop \x3d (function shadow$remote$runtime$tap_support$stop(p__21889){\nvar map__21890 \x3d p__21889;\nvar map__21890__$1 \x3d cljs.core.__destructure_map(map__21890);\nvar svc \x3d map__21890__$1;\nvar tap_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21890__$1,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21890__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\ncljs.core.remove_tap(tap_fn);\n\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.eval_support.js", true , "goog.provide(\x27shadow.remote.runtime.eval_support\x27);\nshadow.remote.runtime.eval_support.obj_support_inst \x3d null;\nshadow.remote.runtime.eval_support.get_ref \x3d (function shadow$remote$runtime$eval_support$get_ref(oid){\nif(cljs.core.truth_(shadow.remote.runtime.eval_support.obj_support_inst)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22obj-support not bound, can only call this from eval\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n\nreturn shadow.remote.runtime.obj_support.get_ref(shadow.remote.runtime.eval_support.obj_support_inst,oid);\n});\nshadow.remote.runtime.eval_support.cljs_eval \x3d (function shadow$remote$runtime$eval_support$cljs_eval(p__21829,p__21830){\nvar map__21831 \x3d p__21829;\nvar map__21831__$1 \x3d cljs.core.__destructure_map(map__21831);\nvar svc \x3d map__21831__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21831__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21831__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__21832 \x3d p__21830;\nvar map__21832__$1 \x3d cljs.core.__destructure_map(map__21832);\nvar msg \x3d map__21832__$1;\nvar input \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21832__$1,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d obj_support);\n\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input,(function (p__21833){\nvar map__21835 \x3d p__21833;\nvar map__21835__$1 \x3d cljs.core.__destructure_map(map__21835);\nvar info \x3d map__21835__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21835__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d null);\n\nvar G__21836 \x3d result;\nvar G__21836__$1 \x3d (((G__21836 instanceof cljs.core.Keyword))?G__21836.fqn:null);\nswitch (G__21836__$1) {\ncase \x22compile-error\x22:\nvar map__21837 \x3d info;\nvar map__21837__$1 \x3d cljs.core.__destructure_map(map__21837);\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21837__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21837__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21837__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-error\x22,\x22eval-compile-error\x22,-1765075397),new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null));\n\nbreak;\ncase \x22runtime-error\x22:\nvar map__21841 \x3d info;\nvar map__21841__$1 \x3d cljs.core.__destructure_map(map__21841);\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21841__$1,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341));\nvar ex_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,ex,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-runtime-error\x22,\x22eval-runtime-error\x22,275935402),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid], null));\n\nbreak;\ncase \x22warnings\x22:\nvar map__21842 \x3d info;\nvar map__21842__$1 \x3d cljs.core.__destructure_map(map__21842);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21842__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-warnings\x22,\x22eval-compile-warnings\x22,1994859386),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ncase \x22ok\x22:\nvar map__21843 \x3d info;\nvar map__21843__$1 \x3d cljs.core.__destructure_map(map__21843);\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21843__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21843__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar time_start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21843__$1,new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745));\nvar time_finish \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21843__$1,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653));\nvar val \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(results)))?cljs.core.first(results):results);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,val,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid,new cljs.core.Keyword(null,\x22eval-ms\x22,\x22eval-ms\x22,788821074),(time_finish - time_start),new cljs.core.Keyword(null,\x22eval-ns\x22,\x22eval-ns\x22,-915623795),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ndefault:\nreturn console.error(\x22Unhandled cljs-eval result\x22,info);\n\n}\n}));\n});\nshadow.remote.runtime.eval_support.js_eval \x3d (function shadow$remote$runtime$eval_support$js_eval(p__21849,p__21850){\nvar map__21853 \x3d p__21849;\nvar map__21853__$1 \x3d cljs.core.__destructure_map(map__21853);\nvar svc \x3d map__21853__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21853__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21853__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__21855 \x3d p__21850;\nvar map__21855__$1 \x3d cljs.core.__destructure_map(map__21855);\nvar msg \x3d map__21855__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21855__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\ntry{var res \x3d shadow.remote.runtime.api.js_eval(runtime,code);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,res,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22js-code\x22,\x22js-code\x22,1816578331),code], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid], null));\n}catch (e21857){var e \x3d e21857;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-error\x22,\x22eval-error\x22,466139568),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),e.message], null));\n}});\nshadow.remote.runtime.eval_support.start \x3d (function shadow$remote$runtime$eval_support$start(runtime,obj_support){\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support], null);\nshadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22js-eval\x22,\x22js-eval\x22,-137738892),(function (p1__21861_SHARP_){\nreturn shadow.remote.runtime.eval_support.js_eval(svc,p1__21861_SHARP_);\n}),new cljs.core.Keyword(null,\x22cljs-eval\x22,\x22cljs-eval\x22,1860675817),(function (p1__21866_SHARP_){\nreturn shadow.remote.runtime.eval_support.cljs_eval(svc,p1__21866_SHARP_);\n})], null)], null));\n\nreturn svc;\n});\nshadow.remote.runtime.eval_support.stop \x3d (function shadow$remote$runtime$eval_support$stop(p__21874){\nvar map__21878 \x3d p__21874;\nvar map__21878__$1 \x3d cljs.core.__destructure_map(map__21878);\nvar svc \x3d map__21878__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21878__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625));\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.shared.js", true , "goog.provide(\x27shadow.cljs.devtools.client.shared\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.shared.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IRemote \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_22303 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-open\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_open \x3d (function shadow$cljs$devtools$client$shared$remote_open(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_22303(this$,e);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_22306 \x3d (function (this$,msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5394__auto__.call(null,this$,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5392__auto__.call(null,this$,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-msg\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_msg \x3d (function shadow$cljs$devtools$client$shared$remote_msg(this$,msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2(this$,msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_22306(this$,msg);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_22310 \x3d (function (this$,e,info){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5394__auto__.call(null,this$,e,info));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5392__auto__.call(null,this$,e,info));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-close\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_close \x3d (function shadow$cljs$devtools$client$shared$remote_close(this$,e,info){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3(this$,e,info);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_22310(this$,e,info);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_22311 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-error\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_error \x3d (function shadow$cljs$devtools$client$shared$remote_error(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_22311(this$,e);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IHostSpecific \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_22327 \x3d (function (this$,action,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5394__auto__.call(null,this$,action,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5392__auto__.call(null,this$,action,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-init\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_init \x3d (function shadow$cljs$devtools$client$shared$do_repl_init(this$,action,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4(this$,action,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_22327(this$,action,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_22328 \x3d (function (this$,require_msg,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5394__auto__.call(null,this$,require_msg,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5392__auto__.call(null,this$,require_msg,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-require\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_require \x3d (function shadow$cljs$devtools$client$shared$do_repl_require(this$,require_msg,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4(this$,require_msg,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_22328(this$,require_msg,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_22329 \x3d (function (this$,invoke_msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,invoke_msg) : m__5394__auto__.call(null,this$,invoke_msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,invoke_msg) : m__5392__auto__.call(null,this$,invoke_msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-invoke\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_invoke \x3d (function shadow$cljs$devtools$client$shared$do_invoke(this$,invoke_msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$2(this$,invoke_msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_22329(this$,invoke_msg);\n}\n});\n\nshadow.cljs.devtools.client.shared.load_sources \x3d (function shadow$cljs$devtools$client$shared$load_sources(runtime,sources,callback){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__21915){\nvar map__21916 \x3d p__21915;\nvar map__21916__$1 \x3d cljs.core.__destructure_map(map__21916);\nvar msg \x3d map__21916__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21916__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(sources__$1) : callback.call(null,sources__$1));\n})], null));\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.runtime_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.runtime_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.plugins_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.plugins_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_ \x3d (function shadow$cljs$devtools$client$shared$start_all_plugins_BANG_(p__21921){\nvar map__21922 \x3d p__21921;\nvar map__21922__$1 \x3d cljs.core.__destructure_map(map__21922);\nvar runtime \x3d map__21922__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21922__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar started_set \x3d cljs.core.set(cljs.core.keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar plugins \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref);\nvar plugins_set \x3d cljs.core.set(cljs.core.keys(plugins));\nvar pending_set \x3d clojure.set.difference.cljs$core$IFn$_invoke$arity$2(plugins_set,started_set);\nvar pending_set__$1 \x3d pending_set;\nwhile(true){\nif(cljs.core.empty_QMARK_(pending_set__$1)){\nreturn new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22done!\x22,\x22shadow.cljs.devtools.client.shared/done!\x22,-748632664);\n} else {\nvar G__22350 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (pending_set__$1,started_set,plugins,plugins_set,pending_set,map__21922,map__21922__$1,runtime,state_ref){\nreturn (function (pending_set__$2,plugin_id){\nvar map__21925 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(plugins,plugin_id);\nvar map__21925__$1 \x3d cljs.core.__destructure_map(map__21925);\nvar plugin \x3d map__21925__$1;\nvar depends_on \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21925__$1,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022));\nvar init_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21925__$1,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971));\nif(cljs.core.truth_(cljs.core.some(pending_set__$2,depends_on))){\nreturn pending_set__$2;\n} else {\nvar start_arg \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.select_keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),depends_on),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime);\nvar started \x3d (init_fn.cljs$core$IFn$_invoke$arity$1 ? init_fn.cljs$core$IFn$_invoke$arity$1(start_arg) : init_fn.call(null,start_arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null),started);\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(pending_set__$2,plugin_id);\n}\n});})(pending_set__$1,started_set,plugins,plugins_set,pending_set,map__21922,map__21922__$1,runtime,state_ref))\n,pending_set__$1,pending_set__$1);\npending_set__$1 \x3d G__22350;\ncontinue;\n\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.shared.add_plugin_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_plugin_BANG_(plugin_id,depends_on,init_fn,stop_fn){\nif((plugin_id instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\x22Assert failed: (keyword? plugin-id)\x22));\n}\n\nif(cljs.core.set_QMARK_(depends_on)){\n} else {\nthrow (new Error(\x22Assert failed: (set? depends-on)\x22));\n}\n\nif(cljs.core.fn_QMARK_(init_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? init-fn)\x22));\n}\n\nif(cljs.core.fn_QMARK_(stop_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? stop-fn)\x22));\n}\n\nvar temp__5808__auto___22351 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___22351 \x3d\x3d null)){\n} else {\nvar runtime_22352 \x3d temp__5808__auto___22351;\nvar temp__5808__auto___22353__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(runtime_22352,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null));\nif((temp__5808__auto___22353__$1 \x3d\x3d null)){\n} else {\nvar started_22354 \x3d temp__5808__auto___22353__$1;\nvar map__21929_22355 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__21929_22356__$1 \x3d cljs.core.__destructure_map(map__21929_22355);\nvar old_22357 \x3d map__21929_22356__$1;\nvar stop_fn_22358__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21929_22356__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\n(stop_fn_22358__$1.cljs$core$IFn$_invoke$arity$1 ? stop_fn_22358__$1.cljs$core$IFn$_invoke$arity$1(started_22354) : stop_fn_22358__$1.call(null,started_22354));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.cljs.devtools.client.shared.runtime_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([plugin_id], 0));\n}\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.shared.plugins_ref,cljs.core.assoc,plugin_id,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ext-id\x22,\x22ext-id\x22,-653860474),plugin_id,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022),depends_on,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971),init_fn,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246),stop_fn], null));\n\nvar temp__5808__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar runtime \x3d temp__5808__auto__;\nreturn shadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n}\n});\nshadow.cljs.devtools.client.shared.transit_read \x3d (function shadow$cljs$devtools$client$shared$transit_read(data){\nvar t \x3d cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.read(t,data);\n});\nshadow.cljs.devtools.client.shared.transit_str \x3d (function shadow$cljs$devtools$client$shared$transit_str(obj){\nvar w \x3d cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.write(w,obj);\n});\nshadow.cljs.devtools.client.shared.continue_BANG_ \x3d (function shadow$cljs$devtools$client$shared$continue_BANG_(state){\nreturn (shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1(state) : shadow.cljs.devtools.client.shared.interpret_actions.call(null,state));\n});\nshadow.cljs.devtools.client.shared.abort_BANG_ \x3d (function shadow$cljs$devtools$client$shared$abort_BANG_(p__21962,action,ex){\nvar map__21967 \x3d p__21962;\nvar map__21967__$1 \x3d cljs.core.__destructure_map(map__21967);\nvar state \x3d map__21967__$1;\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21967__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__21972 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime-error\x22,\x22runtime-error\x22,-2116843646),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex,new cljs.core.Keyword(null,\x22ex-action\x22,\x22ex-action\x22,672251553),action], 0)),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228)], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21972) : callback.call(null,G__21972));\n});\nshadow.cljs.devtools.client.shared.handle_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_invoke(state,runtime,action){\nvar res \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,action);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,res);\n}\n});\nshadow.cljs.devtools.client.shared.handle_repl_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_repl_invoke(state,runtime,action){\ntry{var ret \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,action);\n(cljs.core._STAR_3 \x3d cljs.core._STAR_2);\n\n(cljs.core._STAR_2 \x3d cljs.core._STAR_1);\n\n(cljs.core._STAR_1 \x3d ret);\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,ret);\n}\n}catch (e21994){var e \x3d e21994;\n(cljs.core._STAR_e \x3d e);\n\nthrow e;\n}});\nshadow.cljs.devtools.client.shared.interpret_action \x3d (function shadow$cljs$devtools$client$shared$interpret_action(p__21996,p__21997){\nvar map__21998 \x3d p__21996;\nvar map__21998__$1 \x3d cljs.core.__destructure_map(map__21998);\nvar state \x3d map__21998__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21998__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__22000 \x3d p__21997;\nvar map__22000__$1 \x3d cljs.core.__destructure_map(map__22000);\nvar action \x3d map__22000__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22000__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar G__22004 \x3d type;\nvar G__22004__$1 \x3d (((G__22004 instanceof cljs.core.Keyword))?G__22004.fqn:null);\nswitch (G__22004__$1) {\ncase \x22repl/init\x22:\nreturn shadow.cljs.devtools.client.shared.do_repl_init(runtime,action,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime),cljs.core.assoc,new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484),true);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_(state);\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/set-ns\x22:\nvar map__22008 \x3d action;\nvar map__22008__$1 \x3d cljs.core.__destructure_map(map__22008);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22008__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22008__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__22011 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__22011,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__22011;\n}\n})());\n\nbreak;\ncase \x22repl/require\x22:\nvar map__22014 \x3d action;\nvar map__22014__$1 \x3d cljs.core.__destructure_map(map__22014);\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22014__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.do_repl_require(runtime,action,(function (sources){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__22016 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),cljs.core.into,sources);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__22016,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__22016;\n}\n})());\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/invoke\x22:\ntry{var repl \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22repl\x22,\x22repl\x22,-35398667)], null));\nvar invoke_fn \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d repl;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action));\n} else {\nreturn and__5043__auto__;\n}\n})())?shadow.cljs.devtools.client.shared.handle_repl_invoke:shadow.cljs.devtools.client.shared.handle_invoke);\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((invoke_fn.cljs$core$IFn$_invoke$arity$3 ? invoke_fn.cljs$core$IFn$_invoke$arity$3(state,runtime,action) : invoke_fn.call(null,state,runtime,action)));\n}catch (e22018){var ex \x3d e22018;\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}\nbreak;\ndefault:\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unhandled repl action\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22state\x22,\x22state\x22,-1988618099),state,new cljs.core.Keyword(null,\x22action\x22,\x22action\x22,-811238024),action], null));\n\n}\n});\nshadow.cljs.devtools.client.shared.interpret_actions \x3d (function shadow$cljs$devtools$client$shared$interpret_actions(p__22023){\nvar map__22024 \x3d p__22023;\nvar map__22024__$1 \x3d cljs.core.__destructure_map(map__22024);\nvar state \x3d map__22024__$1;\nvar queue \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22024__$1,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22024__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.empty_QMARK_(queue)){\nvar map__22026 \x3d state;\nvar map__22026__$1 \x3d cljs.core.__destructure_map(map__22026);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22026__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__22027 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now());\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__22027) : callback.call(null,G__22027));\n} else {\nif(((cljs.core.seq(warnings)) \x26\x26 (shadow.cljs.devtools.client.env.ignore_warnings \x3d\x3d\x3d false))){\nvar map__22046 \x3d state;\nvar map__22046__$1 \x3d cljs.core.__destructure_map(map__22046);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22046__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__22050 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now()], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__22050) : callback.call(null,G__22050));\n} else {\nvar action \x3d cljs.core.first(queue);\nvar state__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.core.rest);\nreturn shadow.cljs.devtools.client.shared.interpret_action(state__$1,action);\n\n}\n}\n});\nshadow.cljs.devtools.client.shared.setup_actions \x3d (function shadow$cljs$devtools$client$shared$setup_actions(runtime,input,p__22060,callback){\nvar map__22061 \x3d p__22060;\nvar map__22061__$1 \x3d cljs.core.__destructure_map(map__22061);\nvar msg \x3d map__22061__$1;\nvar actions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22061__$1,new cljs.core.Keyword(null,\x22actions\x22,\x22actions\x22,-812656882));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745),new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113)],[actions,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(input),msg,cljs.core.PersistentVector.EMPTY,cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([actions], 0))),new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),runtime,input,callback,Date.now(),cljs.core.PersistentVector.EMPTY]);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {shadow.cljs.devtools.client.shared.IRemote}\n * @implements {shadow.remote.runtime.api.IRuntime}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {shadow.remote.runtime.api.IEvalCLJS}\n*/\nshadow.cljs.devtools.client.shared.Runtime \x3d (function (state_ref,__meta,__extmap,__hash){\nthis.state_ref \x3d state_ref;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.cljs.devtools.client.shared.Runtime.prototype.attempt_connect_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__22095 \x3d cljs.core.deref(self__.state_ref);\nvar map__22095__$1 \x3d cljs.core.__destructure_map(map__22095);\nvar state \x3d map__22095__$1;\nvar ws_connecting \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar ws_start_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22095__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682));\nif(((cljs.core.not(shutdown)) \x26\x26 (((cljs.core.not(stale)) \x26\x26 (cljs.core.not(ws_connecting)))))){\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\nvar ws_state__$1 \x3d (ws_start_fn.cljs$core$IFn$_invoke$arity$1 ? ws_start_fn.cljs$core$IFn$_invoke$arity$1(this$) : ws_start_fn.call(null,this$));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656),ws_state__$1], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.schedule_connect_BANG_ \x3d (function (after){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__22107 \x3d cljs.core.deref(self__.state_ref);\nvar map__22107__$1 \x3d cljs.core.__destructure_map(map__22107);\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22107__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22107__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22107__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif(((cljs.core.not(stale)) \x26\x26 (cljs.core.not(shutdown)))){\nshadow.remote.runtime.shared.trigger_BANG_(this$,new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043),setTimeout((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\n\nreturn this$.attempt_connect_BANG_();\n}),after));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k22064,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__22118 \x3d k22064;\nvar G__22118__$1 \x3d (((G__22118 instanceof cljs.core.Keyword))?G__22118.fqn:null);\nswitch (G__22118__$1) {\ncase \x22state-ref\x22:\nreturn self__.state_ref;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k22064,else__5346__auto__);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__22129){\nvar vec__22130 \x3d p__22129;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22130,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22130,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.cljs.devtools.client.shared.Runtime{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref],null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__22063){\nvar self__ \x3d this;\nvar G__22063__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__22063__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (229736719 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this22065,other22066){\nvar self__ \x3d this;\nvar this22065__$1 \x3d this;\nreturn (((!((other22066 \x3d\x3d null)))) \x26\x26 ((((this22065__$1.constructor \x3d\x3d\x3d other22066.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22065__$1.state_ref,other22066.state_ref)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22065__$1.__extmap,other22066.__extmap)))))));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d (function (this$,input,callback){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-compile\x22,\x22cljs-compile\x22,-1735075279),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22include-init\x22,\x22include-init\x22,1061115199),cljs.core.not(new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cljs-compile-result\x22,\x22cljs-compile-result\x22,-1137644713),(function (msg){\nreturn shadow.cljs.devtools.client.shared.interpret_actions(shadow.cljs.devtools.client.shared.setup_actions(this$__$1,input,msg,callback));\n}),new cljs.core.Keyword(null,\x22cljs-compile-error\x22,\x22cljs-compile-error\x22,-371665768),(function (p__22145){\nvar map__22147 \x3d p__22145;\nvar map__22147__$1 \x3d cljs.core.__destructure_map(map__22147);\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22147__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22147__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22147__$1,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22147__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nvar G__22150 \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22compile-error\x22,\x22compile-error\x22,-1313154526),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259),ex_data,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__22150) : callback.call(null,G__22150));\n}),new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),(function (msg){\nvar G__22151 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22worker-not-found\x22,\x22worker-not-found\x22,-1848657608)], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__22151) : callback.call(null,G__22151));\n})], null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),true,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now()], 0));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d (function (this$,text){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar msg \x3d shadow.cljs.devtools.client.shared.transit_read(text);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955).cljs$core$IFn$_invoke$arity$1(msg))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),true);\n} else {\n}\n\nreturn shadow.remote.runtime.shared.process(this$__$1,msg);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d (function (this$,e,info){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\n\nif(((3) \x3e\x3d new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))){\nreturn this$__$1.schedule_connect_BANG_((5000));\n} else {\nreturn console.warn(\x22shadow-cljs: giving up trying to connect to \x22,info);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),cljs.core.inc);\n\nshadow.remote.runtime.shared.trigger_BANG_(this$__$1,new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814));\n\nreturn console.error(\x22shadow-cljs - remote-error\x22,e);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d (function (this$,msg){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar map__22153 \x3d cljs.core.deref(self__.state_ref);\nvar map__22153__$1 \x3d cljs.core.__destructure_map(map__22153);\nvar state \x3d map__22153__$1;\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22153__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22153__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_send_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22153__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866));\nif(cljs.core.not(ws_connected)){\nreturn console.warn(\x22shadow-cljs - dropped ws message, not connected\x22,msg,state);\n} else {\nvar s \x3d (function (){try{return shadow.cljs.devtools.client.shared.transit_str(msg);\n}catch (e22154){var e \x3d e22154;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to encode relay msg\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n}})();\nreturn (ws_send_fn.cljs$core$IFn$_invoke$arity$2 ? ws_send_fn.cljs$core$IFn$_invoke$arity$2(ws_state,s) : ws_send_fn.call(null,ws_state,s));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d (function (runtime,key,spec){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.add_extension(runtime__$1,key,spec);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d (function (runtime,key){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.del_extension(runtime__$1,key);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k22064){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__22157 \x3d k22064;\nvar G__22157__$1 \x3d (((G__22157 instanceof cljs.core.Keyword))?G__22157.fqn:null);\nswitch (G__22157__$1) {\ncase \x22state-ref\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k22064);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__22063){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__22158 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__22159 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__22158.cljs$core$IFn$_invoke$arity$2 ? pred__22158.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__22159) : pred__22158.call(null,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__22159)))){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(G__22063,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__22063),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref,null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__22063){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,G__22063,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state-ref\x22,\x22state-ref\x22,-526560817,null)], null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.cljs.devtools.client.shared/Runtime\x22,null,(1),null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.cljs.devtools.client.shared/Runtime\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.shared/Runtime.\n */\nshadow.cljs.devtools.client.shared.__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$__GT_Runtime(state_ref){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(state_ref,null,null,null));\n});\n\n/**\n * Factory function for shadow.cljs.devtools.client.shared/Runtime, taking a map of keywords to field values.\n */\nshadow.cljs.devtools.client.shared.map__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$map__GT_Runtime(G__22076){\nvar extmap__5385__auto__ \x3d (function (){var G__22204 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__22076,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.record_QMARK_(G__22076)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__22204);\n} else {\nreturn G__22204;\n}\n})();\nreturn (new shadow.cljs.devtools.client.shared.Runtime(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(G__22076),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.print_subs !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.print_subs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$stop_runtime_BANG_(p__22212){\nvar map__22216 \x3d p__22212;\nvar map__22216__$1 \x3d cljs.core.__destructure_map(map__22216);\nvar runtime \x3d map__22216__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22216__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__22217 \x3d cljs.core.deref(state_ref);\nvar map__22217__$1 \x3d cljs.core.__destructure_map(map__22217);\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar interval \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585));\nvar plugins \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855));\nclearInterval(interval);\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\ncljs.core.reduce_kv((function (_,plugin_id,started){\nvar map__22227 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__22227__$1 \x3d cljs.core.__destructure_map(map__22227);\nvar stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22227__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\nreturn (stop_fn.cljs$core$IFn$_invoke$arity$1 ? stop_fn.cljs$core$IFn$_invoke$arity$1(started) : stop_fn.call(null,started));\n}),null,plugins);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),true);\n});\nshadow.cljs.devtools.client.shared.init_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$init_runtime_BANG_(client_info,ws_start_fn,ws_send_fn,ws_stop_fn){\nvar temp__5808__auto___22484 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___22484 \x3d\x3d null)){\n} else {\nvar runtime_22486 \x3d temp__5808__auto___22484;\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_(runtime_22486);\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,null);\n}\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),cljs.core.PersistentHashSet.EMPTY,(function (p1__22233_SHARP_){\nreturn shadow.remote.runtime.obj_support.start(new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996).cljs$core$IFn$_invoke$arity$1(p1__22233_SHARP_));\n}),shadow.remote.runtime.obj_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22tap-support\x22,\x22tap-support\x22,80346439),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__22239){\nvar map__22240 \x3d p__22239;\nvar map__22240__$1 \x3d cljs.core.__destructure_map(map__22240);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22240__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22240__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.tap_support.start(runtime,obj_support);\n}),shadow.remote.runtime.tap_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22eval-support\x22,\x22eval-support\x22,-1581799533),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__22241){\nvar map__22242 \x3d p__22241;\nvar map__22242__$1 \x3d cljs.core.__destructure_map(map__22242);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22242__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22242__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.eval_support.start(runtime,obj_support);\n}),shadow.remote.runtime.eval_support.stop);\n\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(shadow.remote.runtime.shared.init_state(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(client_info,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lang\x22,\x22lang\x22,-1819677104),new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),new cljs.core.Keyword(null,\x22build-id\x22,\x22build-id\x22,1642831089),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id),new cljs.core.Keyword(null,\x22worker-id\x22,\x22worker-id\x22,644510040),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22proc-id\x22,\x22proc-id\x22,-1856109278),shadow.cljs.devtools.client.env.proc_id], 0))),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682),ws_start_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866),ws_send_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255),ws_stop_fn], 0)));\nvar runtime \x3d (function (){var G__22244 \x3d shadow.cljs.devtools.client.shared.__GT_Runtime(state_ref);\nshadow.remote.runtime.shared.add_defaults(G__22244);\n\nreturn G__22244;\n})();\nvar idle_fn \x3d (function (){\nvar map__22245 \x3d cljs.core.deref(state_ref);\nvar map__22245__$1 \x3d cljs.core.__destructure_map(map__22245);\nvar state \x3d map__22245__$1;\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22245__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22245__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_last_msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22245__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22245__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(ws_connect_timeout);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.not(shutdown);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d ws_connected;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (shadow.remote.runtime.shared.now() \x3e (ws_last_msg + (20000)));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\n\nruntime.schedule_connect_BANG_((2000));\n} else {\n}\n\nreturn shadow.remote.runtime.shared.run_on_idle(state_ref);\n});\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585),setInterval(idle_fn,(1000)));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,runtime);\n\n(goog.global.cljs_eval \x3d (function (input,opts){\nvar input__$1 \x3d ((cljs.core.map_QMARK_(input))?input:((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.not(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Symbol(null,\x22cljs.user\x22,\x22cljs.user\x22,877795071,null)], null):((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.object_QMARK_(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.shared.goog$module$goog$object.get(opts,\x22ns\x22))], null):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid arguments, call cljs_eval(string, opts-obj) or cljs_eval(map)\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null))})()\n)));\nreturn (new Promise((function (resolve,reject){\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input__$1,(function (p__22269){\nvar map__22270 \x3d p__22269;\nvar map__22270__$1 \x3d cljs.core.__destructure_map(map__22270);\nvar info \x3d map__22270__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22270__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22270__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),result)){\nvar G__22284 \x3d cljs.core.last(results);\nreturn (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(G__22284) : resolve.call(null,G__22284));\n} else {\nreturn (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(info) : reject.call(null,info));\n}\n}));\n})));\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22print-support\x22,\x22shadow.cljs.devtools.client.shared/print-support\x22,-1090548637),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22runtime-print-sub\x22,\x22runtime-print-sub\x22,1832904759),(function (p__22285){\nvar map__22287 \x3d p__22285;\nvar map__22287__$1 \x3d cljs.core.__destructure_map(map__22287);\nvar msg \x3d map__22287__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22287__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.conj,from);\n\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),from], null)], null));\n}),new cljs.core.Keyword(null,\x22runtime-print-unsub\x22,\x22runtime-print-unsub\x22,2055442536),(function (p__22293){\nvar map__22294 \x3d p__22293;\nvar map__22294__$1 \x3d cljs.core.__destructure_map(map__22294);\nvar msg \x3d map__22294__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22294__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,from);\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),(function (p__22295){\nvar map__22296 \x3d p__22295;\nvar map__22296__$1 \x3d cljs.core.__destructure_map(map__22296);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22296__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22296__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n} else {\nreturn null;\n}\n})], null),new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),(function (p__22297){\nvar map__22298 \x3d p__22297;\nvar map__22298__$1 \x3d cljs.core.__destructure_map(map__22298);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22298__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n})], null));\n\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_();\n\nshadow.cljs.devtools.client.env.set_print_fns_BANG_((function (stream,text){\nvar subs \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.print_subs);\nif(cljs.core.seq(subs)){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22runtime-print\x22,\x22runtime-print\x22,-1950604603),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),subs,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),stream,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),text], null));\n} else {\nreturn null;\n}\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shared\x22,\x22shadow.cljs.devtools.client.shared/shared\x22,85374117),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(\x22shadow.cljs.model\x22,\x22worker-for\x22,\x22shadow.cljs.model/worker-for\x22,-228262107),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id)], null)], null));\n})], null));\n\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n\nreturn runtime.attempt_connect_BANG_();\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.hud.js", true , "goog.provide(\x27shadow.cljs.devtools.client.hud\x27);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_progress \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_progress\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_warnings\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_errors \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_errors\x22,true);\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud.dom_available_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.hud.dom_available_QMARK_ \x3d (!((goog.global.document \x3d\x3d null)));\n}\nshadow.cljs.devtools.client.hud.open_file \x3d (function shadow$cljs$devtools$client$hud$open_file(file,line,column){\nconsole.log(\x22opening file\x22,file,line,column);\n\nreturn fetch([shadow.cljs.devtools.client.env.get_url_base(),\x22/api/open-file\x22].join(\x27\x27),({\x22method\x22: \x22POST\x22, \x22cache\x22: \x22no-cache\x22, \x22mode\x22: \x22cors\x22, \x22body\x22: shadow.cljs.devtools.client.shared.transit_str(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null))})).then((function (p1__22664_SHARP_){\nreturn p1__22664_SHARP_.text();\n})).then((function (result_text){\nvar data \x3d shadow.cljs.devtools.client.shared.transit_read(result_text);\nreturn console.log(\x22open file result\x22,data);\n}));\n});\nshadow.cljs.devtools.client.hud.dom_insert \x3d (function shadow$cljs$devtools$client$hud$dom_insert(var_args){\nvar G__22678 \x3d arguments.length;\nswitch (G__22678) {\ncase 1:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2(document.body,node);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2 \x3d (function (where,node){\nvar el \x3d shadow.dom.dom_node(node);\nvar id \x3d el.id;\nif(cljs.core.seq(id)){\n} else {\nthrow (new Error(\x22Assert failed: (seq id)\x22));\n}\n\nvar temp__5808__auto___22777 \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(id);\nif((temp__5808__auto___22777 \x3d\x3d null)){\n} else {\nvar x_22778 \x3d temp__5808__auto___22777;\nshadow.dom.remove(x_22778);\n}\n\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(where,el);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.hud_id \x3d \x22shadow-hud-container\x22;\nshadow.cljs.devtools.client.hud.load_id \x3d \x22shadow-hud-loading-container\x22;\nshadow.cljs.devtools.client.hud.logo_svg \x3d (new cljs.core.Delay((function (){\nvar s_path \x3d \x22M247.183941,141.416413 C247.183941,74.7839971 148.383423,78.9723529 148.383423,141.416413 C148.383423,203.860473 265.090698,171.864644 265.090698,248.900057 C265.090698,325.93547 135,325.851749 135,251.708304\x22;\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),\x22shadow-cljs-logo\x22,new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),\x221.1\x22,new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 400 400\x22,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),\x22block\x22], null),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),\x2260px\x22,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x2260px\x22], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22title\x22,\x22title\x22,636505583),\x22shadow-cljs\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22defs\x22,\x22defs\x22,1398449717),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mask#shadow-cljs-logo-mask\x22,\x22mask#shadow-cljs-logo-mask\x22,1690487509),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#fff\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22], null)], null)], null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22fill-rule\x22,\x22fill-rule\x22,-1824841598),\x22evenodd\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22none\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x220\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22none\x22,new cljs.core.Keyword(null,\x22mask\x22,\x22mask\x22,-585748447),\x22url(#shadow-cljs-logo-mask)\x22], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g.circles\x22,\x22g.circles\x22,374463200),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.blue\x22,\x22circle.blue\x22,1902916291),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#4F80DF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-blue\x22,\x22circle.light-blue\x22,438137342),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x2271.5\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22370\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#89B4FF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.dark-green\x22,\x22circle.dark-green\x22,608465767),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22180\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22360\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x2260\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#40B400\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-green\x22,\x22circle.light-green\x22,-1663041285),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22129\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22320\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22280\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#76E013\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22animateTransform\x22,\x22animateTransform\x22,759329815),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22attributeType\x22,\x22attributeType\x22,1055561918),\x22xml\x22,new cljs.core.Keyword(null,\x22attributeName\x22,\x22attributeName\x22,-400177890),\x22transform\x22,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),\x22rotate\x22,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),\x220 200 200\x22,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),\x22360 200 200\x22,new cljs.core.Keyword(null,\x22dur\x22,\x22dur\x22,1464522452),\x223s\x22,new cljs.core.Keyword(null,\x22repeatCount\x22,\x22repeatCount\x22,1447663848),\x22indefinite\x22], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),\x22translate(10,10)\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#aaa\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#FFFFFF\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null)], 0));\n}),null));\nshadow.cljs.devtools.client.hud.load_start \x3d (function shadow$cljs$devtools$client$hud$load_start(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.load_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),\x2240px\x22,new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),\x2240px\x22,new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),\x222px 2px 10px #aaa\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22], null)], null),cljs.core.deref(shadow.cljs.devtools.client.hud.logo_svg)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end_success \x3d (function shadow$cljs$devtools$client$hud$load_end_success(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar container_el \x3d temp__5808__auto__;\nvar el \x3d container_el.firstChild;\nshadow.animate.start((500),cljs.core.PersistentArrayMap.createAsIfByAssoc([el,shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,\x22#40B400\x22,\x22ease-out\x22)]));\n\nvar c__17494__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__17495__auto__ \x3d (function (){var switch__17343__auto__ \x3d (function (state_22695){\nvar state_val_22699 \x3d (state_22695[(1)]);\nif((state_val_22699 \x3d\x3d\x3d (1))){\nvar inst_22681 \x3d cljs.core.async.timeout((250));\nvar state_22695__$1 \x3d state_22695;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_22695__$1,(2),inst_22681);\n} else {\nif((state_val_22699 \x3d\x3d\x3d (2))){\nvar inst_22683 \x3d (state_22695[(2)]);\nvar inst_22686 \x3d [el];\nvar inst_22687 \x3d shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,\x22ease-in\x22);\nvar inst_22688 \x3d [inst_22687];\nvar inst_22689 \x3d cljs.core.PersistentHashMap.fromArrays(inst_22686,inst_22688);\nvar inst_22690 \x3d shadow.animate.start((250),inst_22689);\nvar state_22695__$1 \x3d (function (){var statearr_22701 \x3d state_22695;\n(statearr_22701[(7)] \x3d inst_22683);\n\nreturn statearr_22701;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_22695__$1,(3),inst_22690);\n} else {\nif((state_val_22699 \x3d\x3d\x3d (3))){\nvar inst_22692 \x3d (state_22695[(2)]);\nvar inst_22693 \x3d shadow.dom.remove(container_el);\nvar state_22695__$1 \x3d (function (){var statearr_22702 \x3d state_22695;\n(statearr_22702[(8)] \x3d inst_22692);\n\nreturn statearr_22702;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_22695__$1,inst_22693);\n} else {\nreturn null;\n}\n}\n}\n});\nreturn (function() {\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__ \x3d null;\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____0 \x3d (function (){\nvar statearr_22704 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_22704[(0)] \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__);\n\n(statearr_22704[(1)] \x3d (1));\n\nreturn statearr_22704;\n});\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____1 \x3d (function (state_22695){\nwhile(true){\nvar ret_value__17345__auto__ \x3d (function (){try{while(true){\nvar result__17346__auto__ \x3d switch__17343__auto__(state_22695);\nif(cljs.core.keyword_identical_QMARK_(result__17346__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__17346__auto__;\n}\nbreak;\n}\n}catch (e22706){var ex__17347__auto__ \x3d e22706;\nvar statearr_22707_22781 \x3d state_22695;\n(statearr_22707_22781[(2)] \x3d ex__17347__auto__);\n\n\nif(cljs.core.seq((state_22695[(4)]))){\nvar statearr_22708_22782 \x3d state_22695;\n(statearr_22708_22782[(1)] \x3d cljs.core.first((state_22695[(4)])));\n\n} else {\nthrow ex__17347__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__17345__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22783 \x3d state_22695;\nstate_22695 \x3d G__22783;\ncontinue;\n} else {\nreturn ret_value__17345__auto__;\n}\nbreak;\n}\n});\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__ \x3d function(state_22695){\nswitch(arguments.length){\ncase 0:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____0.call(this);\ncase 1:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____1.call(this,state_22695);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____0;\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto____1;\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__17344__auto__;\n})()\n})();\nvar state__17496__auto__ \x3d (function (){var statearr_22712 \x3d f__17495__auto__();\n(statearr_22712[(6)] \x3d c__17494__auto__);\n\nreturn statearr_22712;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__17496__auto__);\n}));\n\nreturn c__17494__auto__;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end \x3d (function shadow$cljs$devtools$client$hud$load_end(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar el \x3d temp__5808__auto__;\nreturn shadow.dom.remove(el);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_hide \x3d (function shadow$cljs$devtools$client$hud$hud_hide(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.hud_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar d \x3d temp__5808__auto__;\nreturn shadow.dom.remove(d);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.source_line_styles \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x220\x22,new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),\x220\x22], null);\nshadow.cljs.devtools.client.hud.source_highlight_styles \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.hud.source_line_styles,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22);\nshadow.cljs.devtools.client.hud.source_line_html \x3d (function shadow$cljs$devtools$client$hud$source_line_html(start_idx,lines,styles){\nvar iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$source_line_html_$_iter__22726(s__22727){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__22727__$1 \x3d s__22727;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__22727__$1);\nif(temp__5804__auto__){\nvar s__22727__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__22727__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__22727__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__22729 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__22728 \x3d (0);\nwhile(true){\nif((i__22728 \x3c size__5522__auto__)){\nvar vec__22731 \x3d cljs.core._nth(c__5521__auto__,i__22728);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22731,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22731,(1),null);\ncljs.core.chunk_append(b__22729,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null));\n\nvar G__22784 \x3d (i__22728 + (1));\ni__22728 \x3d G__22784;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22729),shadow$cljs$devtools$client$hud$source_line_html_$_iter__22726(cljs.core.chunk_rest(s__22727__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22729),null);\n}\n} else {\nvar vec__22735 \x3d cljs.core.first(s__22727__$2);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22735,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22735,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null),shadow$cljs$devtools$client$hud$source_line_html_$_iter__22726(cljs.core.rest(s__22727__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,lines));\n});\nshadow.cljs.devtools.client.hud.sep_length \x3d (80);\nshadow.cljs.devtools.client.hud.sep_line \x3d (function shadow$cljs$devtools$client$hud$sep_line(var_args){\nvar G__22739 \x3d arguments.length;\nswitch (G__22739) {\ncase 0:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22\x22,(0));\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2 \x3d (function (label,offset){\nvar sep_len \x3d Math.max(shadow.cljs.devtools.client.hud.sep_length,offset);\nvar len \x3d cljs.core.count(label);\nvar sep \x3d (function (c){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c,\x22-\x22));\n});\nreturn [sep(offset),cljs.core.str.cljs$core$IFn$_invoke$arity$1(label),sep((sep_len - (offset + len)))].join(\x27\x27);\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.file_link \x3d (function shadow$cljs$devtools$client$hud$file_link(p__22740){\nvar map__22741 \x3d p__22740;\nvar map__22741__$1 \x3d cljs.core.__destructure_map(map__22741);\nvar warning \x3d map__22741__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22741__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22741__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22741__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22741__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.not(file)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),resource_name], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22text-decoration\x22,\x22text-decoration\x22,1836813207),\x22underline\x22,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22blue\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),(function (e){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn shadow.cljs.devtools.client.hud.open_file(file,line,column);\n})], null)], null),resource_name], null);\n}\n});\nshadow.cljs.devtools.client.hud.html_for_warning \x3d (function shadow$cljs$devtools$client$hud$html_for_warning(p__22747){\nvar map__22748 \x3d p__22747;\nvar map__22748__$1 \x3d cljs.core.__destructure_map(map__22748);\nvar warning \x3d map__22748__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar source_excerpt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22748__$1,new cljs.core.Keyword(null,\x22source-excerpt\x22,\x22source-excerpt\x22,5665576));\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x2210px\x22], null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22line-height\x22,\x22line-height\x22,1870784992),\x2216px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fadb64\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22WARNING in \x22], null),shadow.cljs.devtools.client.hud.file_link(warning)], null),(cljs.core.truth_(source_excerpt)?(function (){var map__22749 \x3d source_excerpt;\nvar map__22749__$1 \x3d cljs.core.__destructure_map(map__22749);\nvar start_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22749__$1,new cljs.core.Keyword(null,\x22start-idx\x22,\x22start-idx\x22,-1600773745));\nvar before \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22749__$1,new cljs.core.Keyword(null,\x22before\x22,\x22before\x22,-1633692388));\nvar line__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22749__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar after \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22749__$1,new cljs.core.Keyword(null,\x22after\x22,\x22after\x22,594996914));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22], null)], null),shadow.cljs.devtools.client.hud.source_line_html(start_idx,before,shadow.cljs.devtools.client.hud.source_line_styles),shadow.cljs.devtools.client.hud.source_line_html((start_idx + cljs.core.count(before)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [line__$1], null),shadow.cljs.devtools.client.hud.source_highlight_styles),(function (){var arrow_idx \x3d ((6) + (function (){var or__5045__auto__ \x3d column;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})());\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22^\x22,arrow_idx)], null);\n})(),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 0\x22], null)], null),msg], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0()], null),shadow.cljs.devtools.client.hud.source_line_html(((start_idx + cljs.core.count(before)) + (1)),after,shadow.cljs.devtools.client.hud.source_line_styles)], null);\n})():null)], null);\n});\nshadow.cljs.devtools.client.hud.hud_warnings \x3d (function shadow$cljs$devtools$client$hud$hud_warnings(p__22753){\nvar map__22754 \x3d p__22753;\nvar map__22754__$1 \x3d cljs.core.__destructure_map(map__22754);\nvar msg \x3d map__22754__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22754__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22754__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar map__22755 \x3d info;\nvar map__22755__$1 \x3d cljs.core.__destructure_map(map__22755);\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22755__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar sources_with_warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__22750_SHARP_){\nreturn cljs.core.seq(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651).cljs$core$IFn$_invoke$arity$1(p1__22750_SHARP_));\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827),sources)));\nif(cljs.core.seq(sources_with_warnings)){\nshadow.cljs.devtools.client.hud.load_end();\n\nif(shadow.cljs.devtools.client.hud.show_warnings){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22flex-direction\x22,\x22flex-direction\x22,364609438),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x2210000\x22,\x220px\x22,\x22flex\x22,\x22fixed\x22,\x22monospace\x22,\x22column\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22align-self\x22,\x22align-self\x22,1475936794),\x22flex-end\x22,new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22border-bottom\x22,\x22border-bottom\x22,2110948415),\x220px\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x226px\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x22-2px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),shadow.cljs.devtools.client.hud.hud_hide], null)], null),\x22Close\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22flex\x22,\x22flex\x22,-1425124628),\x221\x22,new cljs.core.Keyword(null,\x22max-height\x22,\x22max-height\x22,-612563804),\x22300px\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px 0\x22,new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),\x22auto\x22], null)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__22756(s__22757){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__22757__$1 \x3d s__22757;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__22757__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__22762 \x3d cljs.core.first(xs__6360__auto__);\nvar map__22762__$1 \x3d cljs.core.__destructure_map(map__22762);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22762__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar iterys__5519__auto__ \x3d ((function (s__22757__$1,map__22762,map__22762__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__22755,map__22755__$1,sources,sources_with_warnings,map__22754,map__22754__$1,msg,type,info){\nreturn (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__22756_$_iter__22758(s__22759){\nreturn (new cljs.core.LazySeq(null,((function (s__22757__$1,map__22762,map__22762__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__22755,map__22755__$1,sources,sources_with_warnings,map__22754,map__22754__$1,msg,type,info){\nreturn (function (){\nvar s__22759__$1 \x3d s__22759;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__22759__$1);\nif(temp__5804__auto____$1){\nvar s__22759__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__22759__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__22759__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__22761 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__22760 \x3d (0);\nwhile(true){\nif((i__22760 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__22760);\ncljs.core.chunk_append(b__22761,shadow.cljs.devtools.client.hud.html_for_warning(warning));\n\nvar G__22794 \x3d (i__22760 + (1));\ni__22760 \x3d G__22794;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22761),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__22756_$_iter__22758(cljs.core.chunk_rest(s__22759__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22761),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__22759__$2);\nreturn cljs.core.cons(shadow.cljs.devtools.client.hud.html_for_warning(warning),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__22756_$_iter__22758(cljs.core.rest(s__22759__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__22757__$1,map__22762,map__22762__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__22755,map__22755__$1,sources,sources_with_warnings,map__22754,map__22754__$1,msg,type,info))\n,null,null));\n});})(s__22757__$1,map__22762,map__22762__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__22755,map__22755__$1,sources,sources_with_warnings,map__22754,map__22754__$1,msg,type,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$hud$hud_warnings_$_iter__22756(cljs.core.rest(s__22757__$1)));\n} else {\nvar G__22795 \x3d cljs.core.rest(s__22757__$1);\ns__22757__$1 \x3d G__22795;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(sources_with_warnings);\n})()], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_error \x3d (function shadow$cljs$devtools$client$hud$hud_error(p__22765){\nvar map__22766 \x3d p__22765;\nvar map__22766__$1 \x3d cljs.core.__destructure_map(map__22766);\nvar msg \x3d map__22766__$1;\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22766__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x220px\x22,\x22auto\x22,\x22#fff\x22,\x2210000\x22,\x2220px\x22,\x220px\x22,\x22fixed\x22,\x225px solid red\x22,\x22monospace\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),\x22color: red; margin-bottom: 10px; font-size: 2em;\x22], null),\x22Compilation failed!\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),report], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error_id \x3d \x22shadow-connection-error\x22;\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_ \x3d (function shadow$cljs$devtools$client$hud$connection_error_clear_BANG_(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.connection_error_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar x \x3d temp__5808__auto__;\nreturn shadow.dom.remove(x);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error \x3d (function shadow$cljs$devtools$client$hud$connection_error(msg){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.connection_error_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874)],[\x222px 2px 10px #aaa\x22,\x22#fff\x22,\x2214px\x22,\x22bold\x22,\x2240px\x22,\x22#c00\x22,\x2210px\x22,\x2240px\x22,\x22monospace\x22])], null),[\x22shadow-cljs - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_failure \x3d (function shadow$cljs$devtools$client$hud$load_failure(error,task,remaining){\nshadow.cljs.devtools.client.hud.load_end();\n\nconsole.error(\x22reload-failed\x22,error);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22[reload failed] \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(error.message)].join(\x27\x27));\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.websocket.js", true , "goog.provide(\x27shadow.cljs.devtools.client.websocket\x27);\nshadow.cljs.devtools.client.websocket.start \x3d (function shadow$cljs$devtools$client$websocket$start(runtime){\nvar ws_url \x3d shadow.cljs.devtools.client.env.get_ws_relay_url();\nvar socket \x3d (new WebSocket(ws_url));\n(socket.onmessage \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_msg(runtime,e.data);\n}));\n\n(socket.onopen \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_open(runtime,e);\n}));\n\n(socket.onclose \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_close(runtime,e,ws_url);\n}));\n\n(socket.onerror \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_error(runtime,e);\n}));\n\nreturn socket;\n});\nshadow.cljs.devtools.client.websocket.send \x3d (function shadow$cljs$devtools$client$websocket$send(socket,msg){\nreturn socket.send(msg);\n});\nshadow.cljs.devtools.client.websocket.stop \x3d (function shadow$cljs$devtools$client$websocket$stop(socket){\n(socket.onopen \x3d null);\n\n(socket.onclose \x3d null);\n\n(socket.onmessage \x3d null);\n\n(socket.onerror \x3d null);\n\nreturn socket.close();\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.browser.js", true , "goog.provide(\x27shadow.cljs.devtools.client.browser\x27);\nshadow.cljs.devtools.client.browser.devtools_msg \x3d (function shadow$cljs$devtools$client$browser$devtools_msg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23425 \x3d arguments.length;\nvar i__5770__auto___23426 \x3d (0);\nwhile(true){\nif((i__5770__auto___23426 \x3c len__5769__auto___23425)){\nargs__5775__auto__.push((arguments[i__5770__auto___23426]));\n\nvar G__23427 \x3d (i__5770__auto___23426 + (1));\ni__5770__auto___23426 \x3d G__23427;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (msg,args){\nif(shadow.cljs.devtools.client.env.log){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.log_style)){\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22%cshadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27),shadow.cljs.devtools.client.env.log_style], null),args)));\n} else {\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22shadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null),args)));\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$applyTo \x3d (function (seq22779){\nvar G__22780 \x3d cljs.core.first(seq22779);\nvar seq22779__$1 \x3d cljs.core.next(seq22779);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22780,seq22779__$1);\n}));\n\nshadow.cljs.devtools.client.browser.script_eval \x3d (function shadow$cljs$devtools$client$browser$script_eval(code){\nreturn goog.globalEval(code);\n});\nshadow.cljs.devtools.client.browser.do_js_load \x3d (function shadow$cljs$devtools$client$browser$do_js_load(sources){\nvar seq__22788 \x3d cljs.core.seq(sources);\nvar chunk__22789 \x3d null;\nvar count__22790 \x3d (0);\nvar i__22791 \x3d (0);\nwhile(true){\nif((i__22791 \x3c count__22790)){\nvar map__22805 \x3d chunk__22789.cljs$core$IIndexed$_nth$arity$2(null,i__22791);\nvar map__22805__$1 \x3d cljs.core.__destructure_map(map__22805);\nvar src \x3d map__22805__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22805__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22805__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22805__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22805__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e22807){var e_23428 \x3d e22807;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_23428);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_23428.message)].join(\x27\x27)));\n}\n\nvar G__23429 \x3d seq__22788;\nvar G__23430 \x3d chunk__22789;\nvar G__23431 \x3d count__22790;\nvar G__23432 \x3d (i__22791 + (1));\nseq__22788 \x3d G__23429;\nchunk__22789 \x3d G__23430;\ncount__22790 \x3d G__23431;\ni__22791 \x3d G__23432;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22788);\nif(temp__5804__auto__){\nvar seq__22788__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22788__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22788__$1);\nvar G__23433 \x3d cljs.core.chunk_rest(seq__22788__$1);\nvar G__23434 \x3d c__5568__auto__;\nvar G__23435 \x3d cljs.core.count(c__5568__auto__);\nvar G__23436 \x3d (0);\nseq__22788 \x3d G__23433;\nchunk__22789 \x3d G__23434;\ncount__22790 \x3d G__23435;\ni__22791 \x3d G__23436;\ncontinue;\n} else {\nvar map__22808 \x3d cljs.core.first(seq__22788__$1);\nvar map__22808__$1 \x3d cljs.core.__destructure_map(map__22808);\nvar src \x3d map__22808__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22808__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22808__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22808__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22808__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e22809){var e_23437 \x3d e22809;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_23437);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_23437.message)].join(\x27\x27)));\n}\n\nvar G__23438 \x3d cljs.core.next(seq__22788__$1);\nvar G__23439 \x3d null;\nvar G__23440 \x3d (0);\nvar G__23441 \x3d (0);\nseq__22788 \x3d G__23438;\nchunk__22789 \x3d G__23439;\ncount__22790 \x3d G__23440;\ni__22791 \x3d G__23441;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.do_js_reload \x3d (function shadow$cljs$devtools$client$browser$do_js_reload(msg,sources,complete_fn,failure_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(msg,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765),(function (fn_sym){\nreturn null;\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call async \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n})], 0)),(function (){\nreturn shadow.cljs.devtools.client.browser.do_js_load(sources);\n}),complete_fn,failure_fn);\n});\n/**\n * when (require \x27[\x22some-str\x22 :as x]) is done at the REPL we need to manually call the shadow.js.require for it\n * since the file only adds the shadow$provide. only need to do this for shadow-js.\n */\nshadow.cljs.devtools.client.browser.do_js_requires \x3d (function shadow$cljs$devtools$client$browser$do_js_requires(js_requires){\nvar seq__22818 \x3d cljs.core.seq(js_requires);\nvar chunk__22819 \x3d null;\nvar count__22820 \x3d (0);\nvar i__22821 \x3d (0);\nwhile(true){\nif((i__22821 \x3c count__22820)){\nvar js_ns \x3d chunk__22819.cljs$core$IIndexed$_nth$arity$2(null,i__22821);\nvar require_str_23442 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_23442);\n\n\nvar G__23443 \x3d seq__22818;\nvar G__23444 \x3d chunk__22819;\nvar G__23445 \x3d count__22820;\nvar G__23446 \x3d (i__22821 + (1));\nseq__22818 \x3d G__23443;\nchunk__22819 \x3d G__23444;\ncount__22820 \x3d G__23445;\ni__22821 \x3d G__23446;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22818);\nif(temp__5804__auto__){\nvar seq__22818__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22818__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22818__$1);\nvar G__23455 \x3d cljs.core.chunk_rest(seq__22818__$1);\nvar G__23456 \x3d c__5568__auto__;\nvar G__23457 \x3d cljs.core.count(c__5568__auto__);\nvar G__23458 \x3d (0);\nseq__22818 \x3d G__23455;\nchunk__22819 \x3d G__23456;\ncount__22820 \x3d G__23457;\ni__22821 \x3d G__23458;\ncontinue;\n} else {\nvar js_ns \x3d cljs.core.first(seq__22818__$1);\nvar require_str_23459 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_23459);\n\n\nvar G__23460 \x3d cljs.core.next(seq__22818__$1);\nvar G__23461 \x3d null;\nvar G__23462 \x3d (0);\nvar G__23463 \x3d (0);\nseq__22818 \x3d G__23460;\nchunk__22819 \x3d G__23461;\ncount__22820 \x3d G__23462;\ni__22821 \x3d G__23463;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.handle_build_complete \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete(runtime,p__22827){\nvar map__22828 \x3d p__22827;\nvar map__22828__$1 \x3d cljs.core.__destructure_map(map__22828);\nvar msg \x3d map__22828__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22828__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22828__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__22830(s__22831){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__22831__$1 \x3d s__22831;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__22831__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__22836 \x3d cljs.core.first(xs__6360__auto__);\nvar map__22836__$1 \x3d cljs.core.__destructure_map(map__22836);\nvar src \x3d map__22836__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22836__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22836__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__22831__$1,map__22836,map__22836__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__22828,map__22828__$1,msg,info,reload_info){\nreturn (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__22830_$_iter__22832(s__22833){\nreturn (new cljs.core.LazySeq(null,((function (s__22831__$1,map__22836,map__22836__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__22828,map__22828__$1,msg,info,reload_info){\nreturn (function (){\nvar s__22833__$1 \x3d s__22833;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__22833__$1);\nif(temp__5804__auto____$1){\nvar s__22833__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__22833__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__22833__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__22835 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__22834 \x3d (0);\nwhile(true){\nif((i__22834 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__22834);\ncljs.core.chunk_append(b__22835,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__23473 \x3d (i__22834 + (1));\ni__22834 \x3d G__23473;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22835),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__22830_$_iter__22832(cljs.core.chunk_rest(s__22833__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22835),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__22833__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__22830_$_iter__22832(cljs.core.rest(s__22833__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__22831__$1,map__22836,map__22836__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__22828,map__22828__$1,msg,info,reload_info))\n,null,null));\n});})(s__22831__$1,map__22836,map__22836__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__22828,map__22828__$1,msg,info,reload_info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__22830(cljs.core.rest(s__22831__$1)));\n} else {\nvar G__23474 \x3d cljs.core.rest(s__22831__$1);\ns__22831__$1 \x3d G__23474;\ncontinue;\n}\n} else {\nvar G__23475 \x3d cljs.core.rest(s__22831__$1);\ns__22831__$1 \x3d G__23475;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nif(shadow.cljs.devtools.client.env.log){\nvar seq__22849_23476 \x3d cljs.core.seq(warnings);\nvar chunk__22859_23477 \x3d null;\nvar count__22861_23478 \x3d (0);\nvar i__22864_23479 \x3d (0);\nwhile(true){\nif((i__22864_23479 \x3c count__22861_23478)){\nvar map__22894_23480 \x3d chunk__22859_23477.cljs$core$IIndexed$_nth$arity$2(null,i__22864_23479);\nvar map__22894_23481__$1 \x3d cljs.core.__destructure_map(map__22894_23480);\nvar w_23482 \x3d map__22894_23481__$1;\nvar msg_23483__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894_23481__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_23484 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894_23481__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_23485 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894_23481__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_23486 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894_23481__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_23486),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_23484),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_23485),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_23483__$1)].join(\x27\x27));\n\n\nvar G__23487 \x3d seq__22849_23476;\nvar G__23488 \x3d chunk__22859_23477;\nvar G__23489 \x3d count__22861_23478;\nvar G__23490 \x3d (i__22864_23479 + (1));\nseq__22849_23476 \x3d G__23487;\nchunk__22859_23477 \x3d G__23488;\ncount__22861_23478 \x3d G__23489;\ni__22864_23479 \x3d G__23490;\ncontinue;\n} else {\nvar temp__5804__auto___23491 \x3d cljs.core.seq(seq__22849_23476);\nif(temp__5804__auto___23491){\nvar seq__22849_23492__$1 \x3d temp__5804__auto___23491;\nif(cljs.core.chunked_seq_QMARK_(seq__22849_23492__$1)){\nvar c__5568__auto___23493 \x3d cljs.core.chunk_first(seq__22849_23492__$1);\nvar G__23496 \x3d cljs.core.chunk_rest(seq__22849_23492__$1);\nvar G__23497 \x3d c__5568__auto___23493;\nvar G__23498 \x3d cljs.core.count(c__5568__auto___23493);\nvar G__23499 \x3d (0);\nseq__22849_23476 \x3d G__23496;\nchunk__22859_23477 \x3d G__23497;\ncount__22861_23478 \x3d G__23498;\ni__22864_23479 \x3d G__23499;\ncontinue;\n} else {\nvar map__22895_23500 \x3d cljs.core.first(seq__22849_23492__$1);\nvar map__22895_23501__$1 \x3d cljs.core.__destructure_map(map__22895_23500);\nvar w_23502 \x3d map__22895_23501__$1;\nvar msg_23503__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22895_23501__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_23504 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22895_23501__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_23505 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22895_23501__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_23506 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22895_23501__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_23506),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_23504),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_23505),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_23503__$1)].join(\x27\x27));\n\n\nvar G__23507 \x3d cljs.core.next(seq__22849_23492__$1);\nvar G__23508 \x3d null;\nvar G__23509 \x3d (0);\nvar G__23510 \x3d (0);\nseq__22849_23476 \x3d G__23507;\nchunk__22859_23477 \x3d G__23508;\ncount__22861_23478 \x3d G__23509;\ni__22864_23479 \x3d G__23510;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif((!(shadow.cljs.devtools.client.env.autoload))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(((cljs.core.empty_QMARK_(warnings)) || (shadow.cljs.devtools.client.env.ignore_warnings))){\nvar sources_to_get \x3d shadow.cljs.devtools.client.env.filter_reload_sources(info,reload_info);\nif(cljs.core.not(cljs.core.seq(sources_to_get))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285)], null)))){\n} else {\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22reloading code but no :after-load hooks are configured!\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22https://shadow-cljs.github.io/docs/UsersGuide.html#_lifecycle_hooks\x22], 0));\n}\n\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,sources_to_get,(function (p1__22826_SHARP_){\nreturn shadow.cljs.devtools.client.browser.do_js_reload(msg,p1__22826_SHARP_,shadow.cljs.devtools.client.hud.load_end_success,shadow.cljs.devtools.client.hud.load_failure);\n}));\n}\n} else {\nreturn null;\n}\n}\n});\nshadow.cljs.devtools.client.browser.page_load_uri \x3d (cljs.core.truth_(goog.global.document)?goog.Uri.parse(document.location.href):null);\nshadow.cljs.devtools.client.browser.match_paths \x3d (function shadow$cljs$devtools$client$browser$match_paths(old,new$){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22file\x22,shadow.cljs.devtools.client.browser.page_load_uri.getScheme())){\nvar rel_new \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new$,(1));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old,rel_new)) || (clojure.string.starts_with_QMARK_(old,[rel_new,\x22?\x22].join(\x27\x27))))){\nreturn rel_new;\n} else {\nreturn null;\n}\n} else {\nvar node_uri \x3d goog.Uri.parse(old);\nvar node_uri_resolved \x3d shadow.cljs.devtools.client.browser.page_load_uri.resolve(node_uri);\nvar node_abs \x3d node_uri_resolved.getPath();\nvar and__5043__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.browser.page_load_uri.hasSameDomainAs(node_uri))) || (cljs.core.not(node_uri.hasDomain())));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node_abs,new$);\nif(and__5043__auto____$1){\nreturn new$;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\nshadow.cljs.devtools.client.browser.handle_asset_update \x3d (function shadow$cljs$devtools$client$browser$handle_asset_update(p__22903){\nvar map__22908 \x3d p__22903;\nvar map__22908__$1 \x3d cljs.core.__destructure_map(map__22908);\nvar msg \x3d map__22908__$1;\nvar updates \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22908__$1,new cljs.core.Keyword(null,\x22updates\x22,\x22updates\x22,2013983452));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22908__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar seq__22909 \x3d cljs.core.seq(updates);\nvar chunk__22913 \x3d null;\nvar count__22914 \x3d (0);\nvar i__22915 \x3d (0);\nwhile(true){\nif((i__22915 \x3c count__22914)){\nvar path \x3d chunk__22913.cljs$core$IIndexed$_nth$arity$2(null,i__22915);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__23095_23517 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__23099_23518 \x3d null;\nvar count__23100_23519 \x3d (0);\nvar i__23101_23520 \x3d (0);\nwhile(true){\nif((i__23101_23520 \x3c count__23100_23519)){\nvar node_23521 \x3d chunk__23099_23518.cljs$core$IIndexed$_nth$arity$2(null,i__23101_23520);\nif(cljs.core.not(node_23521.shadow$old)){\nvar path_match_23522 \x3d shadow.cljs.devtools.client.browser.match_paths(node_23521.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_23522)){\nvar new_link_23523 \x3d (function (){var G__23239 \x3d node_23521.cloneNode(true);\nG__23239.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_23522),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__23239;\n})();\n(node_23521.shadow$old \x3d true);\n\n(new_link_23523.onload \x3d ((function (seq__23095_23517,chunk__23099_23518,count__23100_23519,i__23101_23520,seq__22909,chunk__22913,count__22914,i__22915,new_link_23523,path_match_23522,node_23521,path,map__22908,map__22908__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__23241_23524 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__23243_23525 \x3d null;\nvar count__23244_23526 \x3d (0);\nvar i__23245_23527 \x3d (0);\nwhile(true){\nif((i__23245_23527 \x3c count__23244_23526)){\nvar map__23259_23528 \x3d chunk__23243_23525.cljs$core$IIndexed$_nth$arity$2(null,i__23245_23527);\nvar map__23259_23529__$1 \x3d cljs.core.__destructure_map(map__23259_23528);\nvar task_23530 \x3d map__23259_23529__$1;\nvar fn_str_23531 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23259_23529__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23532 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23259_23529__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23533 \x3d goog.getObjectByName(fn_str_23531,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23532)].join(\x27\x27));\n\n(fn_obj_23533.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23533.cljs$core$IFn$_invoke$arity$2(path,new_link_23523) : fn_obj_23533.call(null,path,new_link_23523));\n\n\nvar G__23534 \x3d seq__23241_23524;\nvar G__23535 \x3d chunk__23243_23525;\nvar G__23536 \x3d count__23244_23526;\nvar G__23537 \x3d (i__23245_23527 + (1));\nseq__23241_23524 \x3d G__23534;\nchunk__23243_23525 \x3d G__23535;\ncount__23244_23526 \x3d G__23536;\ni__23245_23527 \x3d G__23537;\ncontinue;\n} else {\nvar temp__5804__auto___23538 \x3d cljs.core.seq(seq__23241_23524);\nif(temp__5804__auto___23538){\nvar seq__23241_23539__$1 \x3d temp__5804__auto___23538;\nif(cljs.core.chunked_seq_QMARK_(seq__23241_23539__$1)){\nvar c__5568__auto___23540 \x3d cljs.core.chunk_first(seq__23241_23539__$1);\nvar G__23541 \x3d cljs.core.chunk_rest(seq__23241_23539__$1);\nvar G__23542 \x3d c__5568__auto___23540;\nvar G__23543 \x3d cljs.core.count(c__5568__auto___23540);\nvar G__23544 \x3d (0);\nseq__23241_23524 \x3d G__23541;\nchunk__23243_23525 \x3d G__23542;\ncount__23244_23526 \x3d G__23543;\ni__23245_23527 \x3d G__23544;\ncontinue;\n} else {\nvar map__23273_23545 \x3d cljs.core.first(seq__23241_23539__$1);\nvar map__23273_23546__$1 \x3d cljs.core.__destructure_map(map__23273_23545);\nvar task_23547 \x3d map__23273_23546__$1;\nvar fn_str_23548 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23273_23546__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23549 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23273_23546__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23550 \x3d goog.getObjectByName(fn_str_23548,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23549)].join(\x27\x27));\n\n(fn_obj_23550.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23550.cljs$core$IFn$_invoke$arity$2(path,new_link_23523) : fn_obj_23550.call(null,path,new_link_23523));\n\n\nvar G__23552 \x3d cljs.core.next(seq__23241_23539__$1);\nvar G__23553 \x3d null;\nvar G__23554 \x3d (0);\nvar G__23555 \x3d (0);\nseq__23241_23524 \x3d G__23552;\nchunk__23243_23525 \x3d G__23553;\ncount__23244_23526 \x3d G__23554;\ni__23245_23527 \x3d G__23555;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_23521);\n});})(seq__23095_23517,chunk__23099_23518,count__23100_23519,i__23101_23520,seq__22909,chunk__22913,count__22914,i__22915,new_link_23523,path_match_23522,node_23521,path,map__22908,map__22908__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_23522], 0));\n\ngoog.dom.insertSiblingAfter(new_link_23523,node_23521);\n\n\nvar G__23558 \x3d seq__23095_23517;\nvar G__23559 \x3d chunk__23099_23518;\nvar G__23560 \x3d count__23100_23519;\nvar G__23561 \x3d (i__23101_23520 + (1));\nseq__23095_23517 \x3d G__23558;\nchunk__23099_23518 \x3d G__23559;\ncount__23100_23519 \x3d G__23560;\ni__23101_23520 \x3d G__23561;\ncontinue;\n} else {\nvar G__23562 \x3d seq__23095_23517;\nvar G__23563 \x3d chunk__23099_23518;\nvar G__23564 \x3d count__23100_23519;\nvar G__23565 \x3d (i__23101_23520 + (1));\nseq__23095_23517 \x3d G__23562;\nchunk__23099_23518 \x3d G__23563;\ncount__23100_23519 \x3d G__23564;\ni__23101_23520 \x3d G__23565;\ncontinue;\n}\n} else {\nvar G__23566 \x3d seq__23095_23517;\nvar G__23567 \x3d chunk__23099_23518;\nvar G__23568 \x3d count__23100_23519;\nvar G__23569 \x3d (i__23101_23520 + (1));\nseq__23095_23517 \x3d G__23566;\nchunk__23099_23518 \x3d G__23567;\ncount__23100_23519 \x3d G__23568;\ni__23101_23520 \x3d G__23569;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23570 \x3d cljs.core.seq(seq__23095_23517);\nif(temp__5804__auto___23570){\nvar seq__23095_23571__$1 \x3d temp__5804__auto___23570;\nif(cljs.core.chunked_seq_QMARK_(seq__23095_23571__$1)){\nvar c__5568__auto___23572 \x3d cljs.core.chunk_first(seq__23095_23571__$1);\nvar G__23573 \x3d cljs.core.chunk_rest(seq__23095_23571__$1);\nvar G__23574 \x3d c__5568__auto___23572;\nvar G__23575 \x3d cljs.core.count(c__5568__auto___23572);\nvar G__23576 \x3d (0);\nseq__23095_23517 \x3d G__23573;\nchunk__23099_23518 \x3d G__23574;\ncount__23100_23519 \x3d G__23575;\ni__23101_23520 \x3d G__23576;\ncontinue;\n} else {\nvar node_23577 \x3d cljs.core.first(seq__23095_23571__$1);\nif(cljs.core.not(node_23577.shadow$old)){\nvar path_match_23578 \x3d shadow.cljs.devtools.client.browser.match_paths(node_23577.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_23578)){\nvar new_link_23579 \x3d (function (){var G__23281 \x3d node_23577.cloneNode(true);\nG__23281.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_23578),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__23281;\n})();\n(node_23577.shadow$old \x3d true);\n\n(new_link_23579.onload \x3d ((function (seq__23095_23517,chunk__23099_23518,count__23100_23519,i__23101_23520,seq__22909,chunk__22913,count__22914,i__22915,new_link_23579,path_match_23578,node_23577,seq__23095_23571__$1,temp__5804__auto___23570,path,map__22908,map__22908__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__23282_23580 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__23284_23581 \x3d null;\nvar count__23285_23582 \x3d (0);\nvar i__23286_23583 \x3d (0);\nwhile(true){\nif((i__23286_23583 \x3c count__23285_23582)){\nvar map__23290_23584 \x3d chunk__23284_23581.cljs$core$IIndexed$_nth$arity$2(null,i__23286_23583);\nvar map__23290_23585__$1 \x3d cljs.core.__destructure_map(map__23290_23584);\nvar task_23586 \x3d map__23290_23585__$1;\nvar fn_str_23587 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23290_23585__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23588 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23290_23585__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23589 \x3d goog.getObjectByName(fn_str_23587,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23588)].join(\x27\x27));\n\n(fn_obj_23589.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23589.cljs$core$IFn$_invoke$arity$2(path,new_link_23579) : fn_obj_23589.call(null,path,new_link_23579));\n\n\nvar G__23590 \x3d seq__23282_23580;\nvar G__23591 \x3d chunk__23284_23581;\nvar G__23592 \x3d count__23285_23582;\nvar G__23593 \x3d (i__23286_23583 + (1));\nseq__23282_23580 \x3d G__23590;\nchunk__23284_23581 \x3d G__23591;\ncount__23285_23582 \x3d G__23592;\ni__23286_23583 \x3d G__23593;\ncontinue;\n} else {\nvar temp__5804__auto___23594__$1 \x3d cljs.core.seq(seq__23282_23580);\nif(temp__5804__auto___23594__$1){\nvar seq__23282_23595__$1 \x3d temp__5804__auto___23594__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23282_23595__$1)){\nvar c__5568__auto___23596 \x3d cljs.core.chunk_first(seq__23282_23595__$1);\nvar G__23597 \x3d cljs.core.chunk_rest(seq__23282_23595__$1);\nvar G__23598 \x3d c__5568__auto___23596;\nvar G__23599 \x3d cljs.core.count(c__5568__auto___23596);\nvar G__23600 \x3d (0);\nseq__23282_23580 \x3d G__23597;\nchunk__23284_23581 \x3d G__23598;\ncount__23285_23582 \x3d G__23599;\ni__23286_23583 \x3d G__23600;\ncontinue;\n} else {\nvar map__23291_23601 \x3d cljs.core.first(seq__23282_23595__$1);\nvar map__23291_23602__$1 \x3d cljs.core.__destructure_map(map__23291_23601);\nvar task_23603 \x3d map__23291_23602__$1;\nvar fn_str_23604 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23291_23602__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23605 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23291_23602__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23606 \x3d goog.getObjectByName(fn_str_23604,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23605)].join(\x27\x27));\n\n(fn_obj_23606.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23606.cljs$core$IFn$_invoke$arity$2(path,new_link_23579) : fn_obj_23606.call(null,path,new_link_23579));\n\n\nvar G__23607 \x3d cljs.core.next(seq__23282_23595__$1);\nvar G__23608 \x3d null;\nvar G__23609 \x3d (0);\nvar G__23610 \x3d (0);\nseq__23282_23580 \x3d G__23607;\nchunk__23284_23581 \x3d G__23608;\ncount__23285_23582 \x3d G__23609;\ni__23286_23583 \x3d G__23610;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_23577);\n});})(seq__23095_23517,chunk__23099_23518,count__23100_23519,i__23101_23520,seq__22909,chunk__22913,count__22914,i__22915,new_link_23579,path_match_23578,node_23577,seq__23095_23571__$1,temp__5804__auto___23570,path,map__22908,map__22908__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_23578], 0));\n\ngoog.dom.insertSiblingAfter(new_link_23579,node_23577);\n\n\nvar G__23611 \x3d cljs.core.next(seq__23095_23571__$1);\nvar G__23612 \x3d null;\nvar G__23613 \x3d (0);\nvar G__23614 \x3d (0);\nseq__23095_23517 \x3d G__23611;\nchunk__23099_23518 \x3d G__23612;\ncount__23100_23519 \x3d G__23613;\ni__23101_23520 \x3d G__23614;\ncontinue;\n} else {\nvar G__23615 \x3d cljs.core.next(seq__23095_23571__$1);\nvar G__23616 \x3d null;\nvar G__23617 \x3d (0);\nvar G__23618 \x3d (0);\nseq__23095_23517 \x3d G__23615;\nchunk__23099_23518 \x3d G__23616;\ncount__23100_23519 \x3d G__23617;\ni__23101_23520 \x3d G__23618;\ncontinue;\n}\n} else {\nvar G__23619 \x3d cljs.core.next(seq__23095_23571__$1);\nvar G__23620 \x3d null;\nvar G__23621 \x3d (0);\nvar G__23622 \x3d (0);\nseq__23095_23517 \x3d G__23619;\nchunk__23099_23518 \x3d G__23620;\ncount__23100_23519 \x3d G__23621;\ni__23101_23520 \x3d G__23622;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__23623 \x3d seq__22909;\nvar G__23624 \x3d chunk__22913;\nvar G__23625 \x3d count__22914;\nvar G__23626 \x3d (i__22915 + (1));\nseq__22909 \x3d G__23623;\nchunk__22913 \x3d G__23624;\ncount__22914 \x3d G__23625;\ni__22915 \x3d G__23626;\ncontinue;\n} else {\nvar G__23627 \x3d seq__22909;\nvar G__23628 \x3d chunk__22913;\nvar G__23629 \x3d count__22914;\nvar G__23630 \x3d (i__22915 + (1));\nseq__22909 \x3d G__23627;\nchunk__22913 \x3d G__23628;\ncount__22914 \x3d G__23629;\ni__22915 \x3d G__23630;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22909);\nif(temp__5804__auto__){\nvar seq__22909__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22909__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22909__$1);\nvar G__23631 \x3d cljs.core.chunk_rest(seq__22909__$1);\nvar G__23632 \x3d c__5568__auto__;\nvar G__23633 \x3d cljs.core.count(c__5568__auto__);\nvar G__23634 \x3d (0);\nseq__22909 \x3d G__23631;\nchunk__22913 \x3d G__23632;\ncount__22914 \x3d G__23633;\ni__22915 \x3d G__23634;\ncontinue;\n} else {\nvar path \x3d cljs.core.first(seq__22909__$1);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__23292_23635 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__23296_23636 \x3d null;\nvar count__23297_23637 \x3d (0);\nvar i__23298_23638 \x3d (0);\nwhile(true){\nif((i__23298_23638 \x3c count__23297_23637)){\nvar node_23639 \x3d chunk__23296_23636.cljs$core$IIndexed$_nth$arity$2(null,i__23298_23638);\nif(cljs.core.not(node_23639.shadow$old)){\nvar path_match_23640 \x3d shadow.cljs.devtools.client.browser.match_paths(node_23639.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_23640)){\nvar new_link_23641 \x3d (function (){var G__23327 \x3d node_23639.cloneNode(true);\nG__23327.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_23640),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__23327;\n})();\n(node_23639.shadow$old \x3d true);\n\n(new_link_23641.onload \x3d ((function (seq__23292_23635,chunk__23296_23636,count__23297_23637,i__23298_23638,seq__22909,chunk__22913,count__22914,i__22915,new_link_23641,path_match_23640,node_23639,path,seq__22909__$1,temp__5804__auto__,map__22908,map__22908__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__23328_23642 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__23330_23643 \x3d null;\nvar count__23331_23644 \x3d (0);\nvar i__23332_23645 \x3d (0);\nwhile(true){\nif((i__23332_23645 \x3c count__23331_23644)){\nvar map__23336_23647 \x3d chunk__23330_23643.cljs$core$IIndexed$_nth$arity$2(null,i__23332_23645);\nvar map__23336_23648__$1 \x3d cljs.core.__destructure_map(map__23336_23647);\nvar task_23649 \x3d map__23336_23648__$1;\nvar fn_str_23650 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23336_23648__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23651 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23336_23648__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23653 \x3d goog.getObjectByName(fn_str_23650,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23651)].join(\x27\x27));\n\n(fn_obj_23653.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23653.cljs$core$IFn$_invoke$arity$2(path,new_link_23641) : fn_obj_23653.call(null,path,new_link_23641));\n\n\nvar G__23654 \x3d seq__23328_23642;\nvar G__23655 \x3d chunk__23330_23643;\nvar G__23656 \x3d count__23331_23644;\nvar G__23657 \x3d (i__23332_23645 + (1));\nseq__23328_23642 \x3d G__23654;\nchunk__23330_23643 \x3d G__23655;\ncount__23331_23644 \x3d G__23656;\ni__23332_23645 \x3d G__23657;\ncontinue;\n} else {\nvar temp__5804__auto___23658__$1 \x3d cljs.core.seq(seq__23328_23642);\nif(temp__5804__auto___23658__$1){\nvar seq__23328_23659__$1 \x3d temp__5804__auto___23658__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23328_23659__$1)){\nvar c__5568__auto___23660 \x3d cljs.core.chunk_first(seq__23328_23659__$1);\nvar G__23661 \x3d cljs.core.chunk_rest(seq__23328_23659__$1);\nvar G__23662 \x3d c__5568__auto___23660;\nvar G__23663 \x3d cljs.core.count(c__5568__auto___23660);\nvar G__23664 \x3d (0);\nseq__23328_23642 \x3d G__23661;\nchunk__23330_23643 \x3d G__23662;\ncount__23331_23644 \x3d G__23663;\ni__23332_23645 \x3d G__23664;\ncontinue;\n} else {\nvar map__23338_23665 \x3d cljs.core.first(seq__23328_23659__$1);\nvar map__23338_23666__$1 \x3d cljs.core.__destructure_map(map__23338_23665);\nvar task_23667 \x3d map__23338_23666__$1;\nvar fn_str_23668 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23338_23666__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23669 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23338_23666__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23670 \x3d goog.getObjectByName(fn_str_23668,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23669)].join(\x27\x27));\n\n(fn_obj_23670.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23670.cljs$core$IFn$_invoke$arity$2(path,new_link_23641) : fn_obj_23670.call(null,path,new_link_23641));\n\n\nvar G__23671 \x3d cljs.core.next(seq__23328_23659__$1);\nvar G__23672 \x3d null;\nvar G__23673 \x3d (0);\nvar G__23674 \x3d (0);\nseq__23328_23642 \x3d G__23671;\nchunk__23330_23643 \x3d G__23672;\ncount__23331_23644 \x3d G__23673;\ni__23332_23645 \x3d G__23674;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_23639);\n});})(seq__23292_23635,chunk__23296_23636,count__23297_23637,i__23298_23638,seq__22909,chunk__22913,count__22914,i__22915,new_link_23641,path_match_23640,node_23639,path,seq__22909__$1,temp__5804__auto__,map__22908,map__22908__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_23640], 0));\n\ngoog.dom.insertSiblingAfter(new_link_23641,node_23639);\n\n\nvar G__23675 \x3d seq__23292_23635;\nvar G__23676 \x3d chunk__23296_23636;\nvar G__23677 \x3d count__23297_23637;\nvar G__23678 \x3d (i__23298_23638 + (1));\nseq__23292_23635 \x3d G__23675;\nchunk__23296_23636 \x3d G__23676;\ncount__23297_23637 \x3d G__23677;\ni__23298_23638 \x3d G__23678;\ncontinue;\n} else {\nvar G__23679 \x3d seq__23292_23635;\nvar G__23680 \x3d chunk__23296_23636;\nvar G__23681 \x3d count__23297_23637;\nvar G__23682 \x3d (i__23298_23638 + (1));\nseq__23292_23635 \x3d G__23679;\nchunk__23296_23636 \x3d G__23680;\ncount__23297_23637 \x3d G__23681;\ni__23298_23638 \x3d G__23682;\ncontinue;\n}\n} else {\nvar G__23683 \x3d seq__23292_23635;\nvar G__23684 \x3d chunk__23296_23636;\nvar G__23685 \x3d count__23297_23637;\nvar G__23686 \x3d (i__23298_23638 + (1));\nseq__23292_23635 \x3d G__23683;\nchunk__23296_23636 \x3d G__23684;\ncount__23297_23637 \x3d G__23685;\ni__23298_23638 \x3d G__23686;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23687__$1 \x3d cljs.core.seq(seq__23292_23635);\nif(temp__5804__auto___23687__$1){\nvar seq__23292_23688__$1 \x3d temp__5804__auto___23687__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23292_23688__$1)){\nvar c__5568__auto___23689 \x3d cljs.core.chunk_first(seq__23292_23688__$1);\nvar G__23690 \x3d cljs.core.chunk_rest(seq__23292_23688__$1);\nvar G__23691 \x3d c__5568__auto___23689;\nvar G__23692 \x3d cljs.core.count(c__5568__auto___23689);\nvar G__23693 \x3d (0);\nseq__23292_23635 \x3d G__23690;\nchunk__23296_23636 \x3d G__23691;\ncount__23297_23637 \x3d G__23692;\ni__23298_23638 \x3d G__23693;\ncontinue;\n} else {\nvar node_23694 \x3d cljs.core.first(seq__23292_23688__$1);\nif(cljs.core.not(node_23694.shadow$old)){\nvar path_match_23695 \x3d shadow.cljs.devtools.client.browser.match_paths(node_23694.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_23695)){\nvar new_link_23696 \x3d (function (){var G__23339 \x3d node_23694.cloneNode(true);\nG__23339.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_23695),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__23339;\n})();\n(node_23694.shadow$old \x3d true);\n\n(new_link_23696.onload \x3d ((function (seq__23292_23635,chunk__23296_23636,count__23297_23637,i__23298_23638,seq__22909,chunk__22913,count__22914,i__22915,new_link_23696,path_match_23695,node_23694,seq__23292_23688__$1,temp__5804__auto___23687__$1,path,seq__22909__$1,temp__5804__auto__,map__22908,map__22908__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__23342_23697 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__23344_23698 \x3d null;\nvar count__23345_23699 \x3d (0);\nvar i__23346_23700 \x3d (0);\nwhile(true){\nif((i__23346_23700 \x3c count__23345_23699)){\nvar map__23350_23701 \x3d chunk__23344_23698.cljs$core$IIndexed$_nth$arity$2(null,i__23346_23700);\nvar map__23350_23702__$1 \x3d cljs.core.__destructure_map(map__23350_23701);\nvar task_23703 \x3d map__23350_23702__$1;\nvar fn_str_23704 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23350_23702__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23705 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23350_23702__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23706 \x3d goog.getObjectByName(fn_str_23704,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23705)].join(\x27\x27));\n\n(fn_obj_23706.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23706.cljs$core$IFn$_invoke$arity$2(path,new_link_23696) : fn_obj_23706.call(null,path,new_link_23696));\n\n\nvar G__23707 \x3d seq__23342_23697;\nvar G__23708 \x3d chunk__23344_23698;\nvar G__23709 \x3d count__23345_23699;\nvar G__23710 \x3d (i__23346_23700 + (1));\nseq__23342_23697 \x3d G__23707;\nchunk__23344_23698 \x3d G__23708;\ncount__23345_23699 \x3d G__23709;\ni__23346_23700 \x3d G__23710;\ncontinue;\n} else {\nvar temp__5804__auto___23711__$2 \x3d cljs.core.seq(seq__23342_23697);\nif(temp__5804__auto___23711__$2){\nvar seq__23342_23712__$1 \x3d temp__5804__auto___23711__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__23342_23712__$1)){\nvar c__5568__auto___23713 \x3d cljs.core.chunk_first(seq__23342_23712__$1);\nvar G__23714 \x3d cljs.core.chunk_rest(seq__23342_23712__$1);\nvar G__23715 \x3d c__5568__auto___23713;\nvar G__23716 \x3d cljs.core.count(c__5568__auto___23713);\nvar G__23717 \x3d (0);\nseq__23342_23697 \x3d G__23714;\nchunk__23344_23698 \x3d G__23715;\ncount__23345_23699 \x3d G__23716;\ni__23346_23700 \x3d G__23717;\ncontinue;\n} else {\nvar map__23353_23718 \x3d cljs.core.first(seq__23342_23712__$1);\nvar map__23353_23719__$1 \x3d cljs.core.__destructure_map(map__23353_23718);\nvar task_23720 \x3d map__23353_23719__$1;\nvar fn_str_23721 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23353_23719__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_23722 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23353_23719__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_23723 \x3d goog.getObjectByName(fn_str_23721,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_23722)].join(\x27\x27));\n\n(fn_obj_23723.cljs$core$IFn$_invoke$arity$2 ? fn_obj_23723.cljs$core$IFn$_invoke$arity$2(path,new_link_23696) : fn_obj_23723.call(null,path,new_link_23696));\n\n\nvar G__23724 \x3d cljs.core.next(seq__23342_23712__$1);\nvar G__23725 \x3d null;\nvar G__23726 \x3d (0);\nvar G__23727 \x3d (0);\nseq__23342_23697 \x3d G__23724;\nchunk__23344_23698 \x3d G__23725;\ncount__23345_23699 \x3d G__23726;\ni__23346_23700 \x3d G__23727;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_23694);\n});})(seq__23292_23635,chunk__23296_23636,count__23297_23637,i__23298_23638,seq__22909,chunk__22913,count__22914,i__22915,new_link_23696,path_match_23695,node_23694,seq__23292_23688__$1,temp__5804__auto___23687__$1,path,seq__22909__$1,temp__5804__auto__,map__22908,map__22908__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_23695], 0));\n\ngoog.dom.insertSiblingAfter(new_link_23696,node_23694);\n\n\nvar G__23728 \x3d cljs.core.next(seq__23292_23688__$1);\nvar G__23729 \x3d null;\nvar G__23730 \x3d (0);\nvar G__23731 \x3d (0);\nseq__23292_23635 \x3d G__23728;\nchunk__23296_23636 \x3d G__23729;\ncount__23297_23637 \x3d G__23730;\ni__23298_23638 \x3d G__23731;\ncontinue;\n} else {\nvar G__23732 \x3d cljs.core.next(seq__23292_23688__$1);\nvar G__23733 \x3d null;\nvar G__23734 \x3d (0);\nvar G__23735 \x3d (0);\nseq__23292_23635 \x3d G__23732;\nchunk__23296_23636 \x3d G__23733;\ncount__23297_23637 \x3d G__23734;\ni__23298_23638 \x3d G__23735;\ncontinue;\n}\n} else {\nvar G__23736 \x3d cljs.core.next(seq__23292_23688__$1);\nvar G__23737 \x3d null;\nvar G__23738 \x3d (0);\nvar G__23739 \x3d (0);\nseq__23292_23635 \x3d G__23736;\nchunk__23296_23636 \x3d G__23737;\ncount__23297_23637 \x3d G__23738;\ni__23298_23638 \x3d G__23739;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__23740 \x3d cljs.core.next(seq__22909__$1);\nvar G__23741 \x3d null;\nvar G__23742 \x3d (0);\nvar G__23743 \x3d (0);\nseq__22909 \x3d G__23740;\nchunk__22913 \x3d G__23741;\ncount__22914 \x3d G__23742;\ni__22915 \x3d G__23743;\ncontinue;\n} else {\nvar G__23744 \x3d cljs.core.next(seq__22909__$1);\nvar G__23745 \x3d null;\nvar G__23746 \x3d (0);\nvar G__23747 \x3d (0);\nseq__22909 \x3d G__23744;\nchunk__22913 \x3d G__23745;\ncount__22914 \x3d G__23746;\ni__22915 \x3d G__23747;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.global_eval \x3d (function shadow$cljs$devtools$client$browser$global_eval(js){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(\x22undefined\x22,typeof(module))){\nreturn eval(js);\n} else {\nreturn (0,eval)(js);;\n}\n});\nshadow.cljs.devtools.client.browser.repl_init \x3d (function shadow$cljs$devtools$client$browser$repl_init(runtime,p__23356){\nvar map__23357 \x3d p__23356;\nvar map__23357__$1 \x3d cljs.core.__destructure_map(map__23357);\nvar repl_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23357__$1,new cljs.core.Keyword(null,\x22repl-state\x22,\x22repl-state\x22,-1733780387));\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535).cljs$core$IFn$_invoke$arity$1(repl_state))),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg(\x22ready!\x22);\n}));\n});\nshadow.cljs.devtools.client.browser.runtime_info \x3d (((typeof SHADOW_CONFIG !\x3d\x3d \x27undefined\x27))?shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1(SHADOW_CONFIG):null);\nshadow.cljs.devtools.client.browser.client_info \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.cljs.devtools.client.browser.runtime_info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),(cljs.core.truth_(goog.global.document)?new cljs.core.Keyword(null,\x22browser\x22,\x22browser\x22,828191719):new cljs.core.Keyword(null,\x22browser-worker\x22,\x22browser-worker\x22,1638998282)),new cljs.core.Keyword(null,\x22user-agent\x22,\x22user-agent\x22,1220426212),[(cljs.core.truth_(goog.userAgent.OPERA)?\x22Opera\x22:(cljs.core.truth_(goog.userAgent.product.CHROME)?\x22Chrome\x22:(cljs.core.truth_(goog.userAgent.IE)?\x22MSIE\x22:(cljs.core.truth_(goog.userAgent.EDGE)?\x22Edge\x22:(cljs.core.truth_(goog.userAgent.GECKO)?\x22Firefox\x22:(cljs.core.truth_(goog.userAgent.SAFARI)?\x22Safari\x22:(cljs.core.truth_(goog.userAgent.WEBKIT)?\x22Webkit\x22:null))))))),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.VERSION),\x22 [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.PLATFORM),\x22]\x22].join(\x27\x27),new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),(!((goog.global.document \x3d\x3d null)))], null)], 0));\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser.ws_was_welcome_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.browser.ws_was_welcome_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\n}\nif(((shadow.cljs.devtools.client.env.enabled) \x26\x26 ((shadow.cljs.devtools.client.env.worker_client_id \x3e (0))))){\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d (function (this$,code){\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(code);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$2 \x3d (function (this$,p__23367){\nvar map__23368 \x3d p__23367;\nvar map__23368__$1 \x3d cljs.core.__destructure_map(map__23368);\nvar _ \x3d map__23368__$1;\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23368__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(js);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d (function (runtime,p__23371,done,error){\nvar map__23372 \x3d p__23371;\nvar map__23372__$1 \x3d cljs.core.__destructure_map(map__23372);\nvar repl_sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23372__$1,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535));\nvar runtime__$1 \x3d this;\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime__$1,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,repl_sources)),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (done.cljs$core$IFn$_invoke$arity$0 ? done.cljs$core$IFn$_invoke$arity$0() : done.call(null));\n}));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d (function (runtime,p__23374,done,error){\nvar map__23375 \x3d p__23374;\nvar map__23375__$1 \x3d cljs.core.__destructure_map(map__23375);\nvar msg \x3d map__23375__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23375__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar reload_namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23375__$1,new cljs.core.Keyword(null,\x22reload-namespaces\x22,\x22reload-namespaces\x22,250210134));\nvar js_requires \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23375__$1,new cljs.core.Keyword(null,\x22js-requires\x22,\x22js-requires\x22,-1311472051));\nvar runtime__$1 \x3d this;\nvar sources_to_load \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__23377){\nvar map__23378 \x3d p__23377;\nvar map__23378__$1 \x3d cljs.core.__destructure_map(map__23378);\nvar src \x3d map__23378__$1;\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23378__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar and__5043__auto__ \x3d shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(cljs.core.some(reload_namespaces,provides));\n} else {\nreturn and__5043__auto__;\n}\n}),sources));\nif(cljs.core.not(cljs.core.seq(sources_to_load))){\nvar G__23381 \x3d cljs.core.PersistentVector.EMPTY;\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(G__23381) : done.call(null,G__23381));\n} else {\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime__$1,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources_to_load)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__23384){\nvar map__23385 \x3d p__23384;\nvar map__23385__$1 \x3d cljs.core.__destructure_map(map__23385);\nvar msg__$1 \x3d map__23385__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23385__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\ntry{shadow.cljs.devtools.client.browser.do_js_load(sources__$1);\n\nif(cljs.core.seq(js_requires)){\nshadow.cljs.devtools.client.browser.do_js_requires(js_requires);\n} else {\n}\n\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(sources_to_load) : done.call(null,sources_to_load));\n}catch (e23386){var ex \x3d e23386;\nreturn (error.cljs$core$IFn$_invoke$arity$1 ? error.cljs$core$IFn$_invoke$arity$1(ex) : error.call(null,ex));\n}})], null));\n}\n}));\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),cljs.core.PersistentHashSet.EMPTY,(function (p__23389){\nvar map__23390 \x3d p__23389;\nvar map__23390__$1 \x3d cljs.core.__destructure_map(map__23390);\nvar env \x3d map__23390__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23390__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,true);\n\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.env.patch_goog_BANG_();\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime)))),\x22 ready!\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814),(function (e){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.browser.ws_was_welcome_ref))){\nshadow.cljs.devtools.client.hud.connection_error(\x22The Websocket connection was closed!\x22);\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702),(function (e){\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22Reconnecting ...\x22);\n}),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),(function (msg){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22Stale Output! Your loaded JS was not produced by the running shadow-cljs instance.\x22,\x22 Is the watch for this build running?\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22cljs-runtime-init\x22,\x22cljs-runtime-init\x22,1305890232),(function (msg){\nreturn shadow.cljs.devtools.client.browser.repl_init(runtime,msg);\n}),new cljs.core.Keyword(null,\x22cljs-asset-update\x22,\x22cljs-asset-update\x22,1224093028),(function (msg){\nreturn shadow.cljs.devtools.client.browser.handle_asset_update(msg);\n}),new cljs.core.Keyword(null,\x22cljs-build-configure\x22,\x22cljs-build-configure\x22,-2089891268),(function (msg){\nreturn null;\n}),new cljs.core.Keyword(null,\x22cljs-build-start\x22,\x22cljs-build-start\x22,-725781241),(function (msg){\nshadow.cljs.devtools.client.hud.hud_hide();\n\nshadow.cljs.devtools.client.hud.load_start();\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480)));\n}),new cljs.core.Keyword(null,\x22cljs-build-complete\x22,\x22cljs-build-complete\x22,273626153),(function (msg){\nvar msg__$1 \x3d shadow.cljs.devtools.client.env.add_warnings_to_info(msg);\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.hud.hud_warnings(msg__$1);\n\nshadow.cljs.devtools.client.browser.handle_build_complete(runtime,msg__$1);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472)));\n}),new cljs.core.Keyword(null,\x22cljs-build-failure\x22,\x22cljs-build-failure\x22,1718154990),(function (msg){\nshadow.cljs.devtools.client.hud.load_end();\n\nshadow.cljs.devtools.client.hud.hud_error(msg);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466)));\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),(function (p__23416){\nvar map__23417 \x3d p__23416;\nvar map__23417__$1 \x3d cljs.core.__destructure_map(map__23417);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23417__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23417__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)))){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was stopped!\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-connect\x22,\x22client-connect\x22,-1113973888),event_op)){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was restarted. Reload required!\x22);\n} else {\nreturn null;\n}\n}\n})], null)], null));\n\nreturn svc;\n}),(function (p__23420){\nvar map__23421 \x3d p__23420;\nvar map__23421__$1 \x3d cljs.core.__destructure_map(map__23421);\nvar svc \x3d map__23421__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23421__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282));\n}));\n\nshadow.cljs.devtools.client.shared.init_runtime_BANG_(shadow.cljs.devtools.client.browser.client_info,shadow.cljs.devtools.client.websocket.start,shadow.cljs.devtools.client.websocket.send,shadow.cljs.devtools.client.websocket.stop);\n} else {\n}\n"); +SHADOW_ENV.evalLoad("shadow.js.js", true , "goog.provide(\x22shadow.js\x22);\nshadow.js.files \x3d {};\nshadow.js.nativeRequires \x3d {};\nshadow.js.NODE_ENV \x3d goog.define(\x22shadow.js.NODE_ENV\x22, \x22development\x22);\nshadow.js.requireStack \x3d [];\nshadow.js.add_native_require \x3d function(name, obj) {\n shadow.js.nativeRequires[name] \x3d obj;\n};\nshadow.js.jsRequire \x3d function(name, opts) {\n var nativeObj \x3d shadow.js.nativeRequires[name];\n if (nativeObj !\x3d\x3d undefined) {\n return nativeObj;\n }\n try {\n if (goog.DEBUG) {\n if (name instanceof String \x26\x26 name.indexOf(\x22/\x22) !\x3d -1) {\n console.warn(\x22Tried to dynamically require \x27\x22 + name + \x22\x27 from \x27\x22 + shadow.js.requireStack[shadow.js.requireStack.length - 1] + \x22\x27. This is not supported and may cause issues.\x22);\n }\n }\n shadow.js.requireStack.push(name);\n var module \x3d shadow.js.files[name];\n var moduleFn \x3d shadow$provide[name];\n if (module \x3d\x3d\x3d undefined) {\n if (moduleFn \x3d\x3d\x3d undefined) {\n throw \x22Module not provided: \x22 + name;\n }\n module \x3d {};\n module[\x22exports\x22] \x3d {};\n shadow.js.files[name] \x3d module;\n }\n if (moduleFn) {\n delete shadow$provide[name];\n try {\n moduleFn.call(module, goog.global, shadow.js.jsRequire, module, module[\x22exports\x22]);\n } catch (e) {\n console.warn(\x22shadow-cljs - failed to load\x22, name);\n throw e;\n }\n if (opts) {\n var globals \x3d opts[\x22globals\x22];\n if (globals) {\n for (var i \x3d 0; i \x3c globals.length; i++) {\n window[globals[i]] \x3d module[\x22exports\x22];\n }\n }\n }\n }\n } finally {\n shadow.js.requireStack.pop();\n }\n return module[\x22exports\x22];\n};\nshadow.js.jsRequire.cache \x3d {};\nshadow.js.jsRequire.resolve \x3d function(name) {\n return name;\n};\nshadow.js.modules \x3d {};\nshadow.js.require \x3d function(name, opts) {\n return shadow.js.jsRequire(name, opts);\n};\n"); +SHADOW_ENV.evalLoad("module$node_modules$react$cjs$react_development.js", true , "shadow$provide.module$node_modules$react$cjs$react_development\x3dfunction(global,require,module,exports){(function(){function getIteratorFn(maybeIterable){if(null\x3d\x3d\x3dmaybeIterable||\x22object\x22!\x3d\x3dtypeof maybeIterable)return null;maybeIterable\x3dMAYBE_ITERATOR_SYMBOL\x26\x26maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable[\x22@@iterator\x22];return\x22function\x22\x3d\x3d\x3dtypeof maybeIterable?maybeIterable:null}function warn(format){for(var _len\x3darguments.length,args\x3dArray(1\x3c_len?_len-1:0),_key\x3d1;_key\x3c_len;_key++)args[_key-1]\x3d\narguments[_key];printWarning(\x22warn\x22,format,args)}function error$jscomp$0(format){for(var _len2\x3darguments.length,args\x3dArray(1\x3c_len2?_len2-1:0),_key2\x3d1;_key2\x3c_len2;_key2++)args[_key2-1]\x3darguments[_key2];printWarning(\x22error\x22,format,args)}function printWarning(level,format,args){var stack\x3dReactSharedInternals.ReactDebugCurrentFrame.getStackAddendum();\x22\x22!\x3d\x3dstack\x26\x26(format+\x3d\x22%s\x22,args\x3dargs.concat([stack]));args\x3dargs.map(function(item){return String(item)});args.unshift(\x22Warning: \x22+format);Function.prototype.apply.call(console[level],\nconsole,args)}function warnNoop(publicInstance,callerName){publicInstance\x3d(publicInstance\x3dpublicInstance.constructor)\x26\x26(publicInstance.displayName||publicInstance.name)||\x22ReactClass\x22;var warningKey\x3dpublicInstance+\x22.\x22+callerName;didWarnStateUpdateForUnmountedComponent[warningKey]||(error$jscomp$0(\x22Can\x27t call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state \\x3d {};` class property with the desired state in the %s component.\x22,\ncallerName,publicInstance),didWarnStateUpdateForUnmountedComponent[warningKey]\x3d!0)}function Component(props,context,updater){this.props\x3dprops;this.context\x3dcontext;this.refs\x3demptyObject;this.updater\x3dupdater||ReactNoopUpdateQueue}function ComponentDummy(){}function PureComponent(props,context,updater){this.props\x3dprops;this.context\x3dcontext;this.refs\x3demptyObject;this.updater\x3dupdater||ReactNoopUpdateQueue}function checkKeyStringCoercion(value){try{var JSCompiler_inline_result\x3d!1}catch(e){JSCompiler_inline_result\x3d\n!0}if(JSCompiler_inline_result)return JSCompiler_inline_result\x3d\x22function\x22\x3d\x3d\x3dtypeof Symbol\x26\x26Symbol.toStringTag\x26\x26value[Symbol.toStringTag]||value.constructor.name||\x22Object\x22,error$jscomp$0(\x22The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\x22,JSCompiler_inline_result),\x22\x22+value}function getComponentNameFromType(type){if(null\x3d\x3dtype)return null;\x22number\x22\x3d\x3d\x3dtypeof type.tag\x26\x26error$jscomp$0(\x22Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\x22);\nif(\x22function\x22\x3d\x3d\x3dtypeof type)return type.displayName||type.name||null;if(\x22string\x22\x3d\x3d\x3dtypeof type)return type;switch(type){case REACT_FRAGMENT_TYPE:return\x22Fragment\x22;case REACT_PORTAL_TYPE:return\x22Portal\x22;case REACT_PROFILER_TYPE:return\x22Profiler\x22;case REACT_STRICT_MODE_TYPE:return\x22StrictMode\x22;case REACT_SUSPENSE_TYPE:return\x22Suspense\x22;case REACT_SUSPENSE_LIST_TYPE:return\x22SuspenseList\x22}if(\x22object\x22\x3d\x3d\x3dtypeof type)switch(type.$$typeof){case REACT_CONTEXT_TYPE:return(type.displayName||\x22Context\x22)+\x22.Consumer\x22;\ncase REACT_PROVIDER_TYPE:return(type._context.displayName||\x22Context\x22)+\x22.Provider\x22;case REACT_FORWARD_REF_TYPE:var innerType\x3dtype.render;type\x3dtype.displayName;type||(type\x3dinnerType.displayName||innerType.name||\x22\x22,type\x3d\x22\x22!\x3d\x3dtype?\x22ForwardRef(\x22+type+\x22)\x22:\x22ForwardRef\x22);return type;case REACT_MEMO_TYPE:return innerType\x3dtype.displayName||null,null!\x3d\x3dinnerType?innerType:getComponentNameFromType(type.type)||\x22Memo\x22;case REACT_LAZY_TYPE:innerType\x3dtype._payload;type\x3dtype._init;try{return getComponentNameFromType(type(innerType))}catch(x){}}return null}\nfunction hasValidRef(config){if(hasOwnProperty.call(config,\x22ref\x22)){var getter\x3dObject.getOwnPropertyDescriptor(config,\x22ref\x22).get;if(getter\x26\x26getter.isReactWarning)return!1}return void 0!\x3d\x3dconfig.ref}function hasValidKey(config){if(hasOwnProperty.call(config,\x22key\x22)){var getter\x3dObject.getOwnPropertyDescriptor(config,\x22key\x22).get;if(getter\x26\x26getter.isReactWarning)return!1}return void 0!\x3d\x3dconfig.key}function defineKeyPropWarningGetter(props,displayName){var warnAboutAccessingKey\x3dfunction(){specialPropKeyWarningShown||\n(specialPropKeyWarningShown\x3d!0,error$jscomp$0(\x22%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\x22,displayName))};warnAboutAccessingKey.isReactWarning\x3d!0;Object.defineProperty(props,\x22key\x22,{get:warnAboutAccessingKey,configurable:!0})}function defineRefPropWarningGetter(props,displayName){var warnAboutAccessingRef\x3dfunction(){specialPropRefWarningShown||\n(specialPropRefWarningShown\x3d!0,error$jscomp$0(\x22%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\x22,displayName))};warnAboutAccessingRef.isReactWarning\x3d!0;Object.defineProperty(props,\x22ref\x22,{get:warnAboutAccessingRef,configurable:!0})}function createElement(type,config,children){var props\x3d{},key\x3dnull,ref\x3dnull,self\x3dnull,\nsource\x3dnull;if(null!\x3dconfig)for(propName in hasValidRef(config)\x26\x26(ref\x3dconfig.ref,\x22string\x22\x3d\x3d\x3dtypeof config.ref\x26\x26ReactCurrentOwner.current\x26\x26config.__self\x26\x26ReactCurrentOwner.current.stateNode!\x3d\x3dconfig.__self\x26\x26(self\x3dgetComponentNameFromType(ReactCurrentOwner.current.type),didWarnAboutStringRefs[self]||(error$jscomp$0(\x27Component \x22%s\x22 contains the string ref \x22%s\x22. Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref\x27,\nself,config.ref),didWarnAboutStringRefs[self]\x3d!0))),hasValidKey(config)\x26\x26(checkKeyStringCoercion(config.key),key\x3d\x22\x22+config.key),self\x3dvoid 0\x3d\x3d\x3dconfig.__self?null:config.__self,source\x3dvoid 0\x3d\x3d\x3dconfig.__source?null:config.__source,config)hasOwnProperty.call(config,propName)\x26\x26!RESERVED_PROPS.hasOwnProperty(propName)\x26\x26(props[propName]\x3dconfig[propName]);var childrenLength\x3darguments.length-2;if(1\x3d\x3d\x3dchildrenLength)props.children\x3dchildren;else if(1\x3cchildrenLength){for(var childArray\x3dArray(childrenLength),\ni\x3d0;i\x3cchildrenLength;i++)childArray[i]\x3darguments[i+2];Object.freeze\x26\x26Object.freeze(childArray);props.children\x3dchildArray}if(type\x26\x26type.defaultProps)for(propName in childrenLength\x3dtype.defaultProps,childrenLength)void 0\x3d\x3d\x3dprops[propName]\x26\x26(props[propName]\x3dchildrenLength[propName]);if(key||ref){var propName\x3d\x22function\x22\x3d\x3d\x3dtypeof type?type.displayName||type.name||\x22Unknown\x22:type;key\x26\x26defineKeyPropWarningGetter(props,propName);ref\x26\x26defineRefPropWarningGetter(props,propName)}return ReactElement(type,key,\nref,self,source,ReactCurrentOwner.current,props)}function cloneAndReplaceKey(oldElement,newKey){return ReactElement(oldElement.type,newKey,oldElement.ref,oldElement._self,oldElement._source,oldElement._owner,oldElement.props)}function cloneElement(element,config,children){if(null\x3d\x3d\x3delement||void 0\x3d\x3d\x3delement)throw Error(\x22React.cloneElement(...): The argument must be a React element, but you passed \x22+element+\x22.\x22);var props\x3dassign({},element.props),key\x3delement.key,ref\x3delement.ref,self\x3delement._self,\nsource\x3delement._source,owner\x3delement._owner;if(null!\x3dconfig){hasValidRef(config)\x26\x26(ref\x3dconfig.ref,owner\x3dReactCurrentOwner.current);hasValidKey(config)\x26\x26(checkKeyStringCoercion(config.key),key\x3d\x22\x22+config.key);if(element.type\x26\x26element.type.defaultProps)var defaultProps\x3delement.type.defaultProps;for(propName in config)hasOwnProperty.call(config,propName)\x26\x26!RESERVED_PROPS.hasOwnProperty(propName)\x26\x26(props[propName]\x3dvoid 0\x3d\x3d\x3dconfig[propName]\x26\x26void 0!\x3d\x3ddefaultProps?defaultProps[propName]:config[propName])}var propName\x3d\narguments.length-2;if(1\x3d\x3d\x3dpropName)props.children\x3dchildren;else if(1\x3cpropName){defaultProps\x3dArray(propName);for(var i\x3d0;i\x3cpropName;i++)defaultProps[i]\x3darguments[i+2];props.children\x3ddefaultProps}return ReactElement(element.type,key,ref,self,source,owner,props)}function isValidElement(object){return\x22object\x22\x3d\x3d\x3dtypeof object\x26\x26null!\x3d\x3dobject\x26\x26object.$$typeof\x3d\x3d\x3dREACT_ELEMENT_TYPE}function escape(key){var escaperLookup\x3d{\x22\\x3d\x22:\x22\\x3d0\x22,\x22:\x22:\x22\\x3d2\x22};return\x22$\x22+key.replace(/[\x3d:]/g,function(match){return escaperLookup[match]})}\nfunction getElementKey(element,index){return\x22object\x22\x3d\x3d\x3dtypeof element\x26\x26null!\x3d\x3delement\x26\x26null!\x3delement.key?(checkKeyStringCoercion(element.key),escape(\x22\x22+element.key)):index.toString(36)}function mapIntoArray(children,array,escapedPrefix,nameSoFar,callback){var type\x3dtypeof children;if(\x22undefined\x22\x3d\x3d\x3dtype||\x22boolean\x22\x3d\x3d\x3dtype)children\x3dnull;var invokeCallback\x3d!1;if(null\x3d\x3d\x3dchildren)invokeCallback\x3d!0;else switch(type){case \x22string\x22:case \x22number\x22:invokeCallback\x3d!0;break;case \x22object\x22:switch(children.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:invokeCallback\x3d\n!0}}if(invokeCallback)return invokeCallback\x3dchildren,callback\x3dcallback(invokeCallback),nameSoFar\x3d\x22\x22\x3d\x3d\x3dnameSoFar?\x22.\x22+getElementKey(invokeCallback,0):nameSoFar,isArrayImpl(callback)?(escapedPrefix\x3d\x22\x22,null!\x3dnameSoFar\x26\x26(escapedPrefix\x3dnameSoFar.replace(userProvidedKeyEscapeRegex,\x22$\\x26/\x22)+\x22/\x22),mapIntoArray(callback,array,escapedPrefix,\x22\x22,function(c){return c})):null!\x3dcallback\x26\x26(isValidElement(callback)\x26\x26(!callback.key||invokeCallback\x26\x26invokeCallback.key\x3d\x3d\x3dcallback.key||checkKeyStringCoercion(callback.key),\ncallback\x3dcloneAndReplaceKey(callback,escapedPrefix+(!callback.key||invokeCallback\x26\x26invokeCallback.key\x3d\x3d\x3dcallback.key?\x22\x22:(\x22\x22+callback.key).replace(userProvidedKeyEscapeRegex,\x22$\\x26/\x22)+\x22/\x22)+nameSoFar)),array.push(callback)),1;invokeCallback\x3d0;nameSoFar\x3d\x22\x22\x3d\x3d\x3dnameSoFar?\x22.\x22:nameSoFar+\x22:\x22;if(isArrayImpl(children))for(var i\x3d0;i\x3cchildren.length;i++){type\x3dchildren[i];var nextName\x3dnameSoFar+getElementKey(type,i);invokeCallback+\x3dmapIntoArray(type,array,escapedPrefix,nextName,callback)}else if(nextName\x3dgetIteratorFn(children),\n\x22function\x22\x3d\x3d\x3dtypeof nextName)for(nextName\x3d\x3d\x3dchildren.entries\x26\x26(didWarnAboutMaps||warn(\x22Using Maps as children is not supported. Use an array of keyed ReactElements instead.\x22),didWarnAboutMaps\x3d!0),children\x3dnextName.call(children),i\x3d0;!(type\x3dchildren.next()).done;)type\x3dtype.value,nextName\x3dnameSoFar+getElementKey(type,i++),invokeCallback+\x3dmapIntoArray(type,array,escapedPrefix,nextName,callback);else if(\x22object\x22\x3d\x3d\x3dtype)throw array\x3dString(children),Error(\x22Objects are not valid as a React child (found: \x22+\n(\x22[object Object]\x22\x3d\x3d\x3darray?\x22object with keys {\x22+Object.keys(children).join(\x22, \x22)+\x22}\x22:array)+\x22). If you meant to render a collection of children, use an array instead.\x22);return invokeCallback}function mapChildren(children,func,context){if(null\x3d\x3dchildren)return children;var result\x3d[],count\x3d0;mapIntoArray(children,result,\x22\x22,\x22\x22,function(child){return func.call(context,child,count++)});return result}function lazyInitializer(payload){if(-1\x3d\x3d\x3dpayload._status){var ctor\x3dpayload._result;ctor\x3dctor();ctor.then(function(moduleObject){if(0\x3d\x3d\x3d\npayload._status||-1\x3d\x3d\x3dpayload._status)payload._status\x3d1,payload._result\x3dmoduleObject},function(error){if(0\x3d\x3d\x3dpayload._status||-1\x3d\x3d\x3dpayload._status)payload._status\x3d2,payload._result\x3derror});-1\x3d\x3d\x3dpayload._status\x26\x26(payload._status\x3d0,payload._result\x3dctor)}if(1\x3d\x3d\x3dpayload._status)return ctor\x3dpayload._result,void 0\x3d\x3d\x3dctor\x26\x26error$jscomp$0(\x22lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent \\x3d lazy(() \\x3d\\x3e import(\x27./MyComponent\x27))\\n\\nDid you accidentally put curly braces around the import?\x22,\nctor),\x22default\x22in ctor||error$jscomp$0(\x22lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent \\x3d lazy(() \\x3d\\x3e import(\x27./MyComponent\x27))\x22,ctor),ctor.default;throw payload._result;}function isValidElementType(type){return\x22string\x22\x3d\x3d\x3dtypeof type||\x22function\x22\x3d\x3d\x3dtypeof type||type\x3d\x3d\x3dREACT_FRAGMENT_TYPE||type\x3d\x3d\x3dREACT_PROFILER_TYPE||type\x3d\x3d\x3dREACT_STRICT_MODE_TYPE||type\x3d\x3d\x3dREACT_SUSPENSE_TYPE||type\x3d\x3d\x3dREACT_SUSPENSE_LIST_TYPE||type\x3d\x3d\x3d\nREACT_OFFSCREEN_TYPE||\x22object\x22\x3d\x3d\x3dtypeof type\x26\x26null!\x3d\x3dtype\x26\x26(type.$$typeof\x3d\x3d\x3dREACT_LAZY_TYPE||type.$$typeof\x3d\x3d\x3dREACT_MEMO_TYPE||type.$$typeof\x3d\x3d\x3dREACT_PROVIDER_TYPE||type.$$typeof\x3d\x3d\x3dREACT_CONTEXT_TYPE||type.$$typeof\x3d\x3d\x3dREACT_FORWARD_REF_TYPE||type.$$typeof\x3d\x3d\x3dREACT_MODULE_REFERENCE||void 0!\x3d\x3dtype.getModuleId)?!0:!1}function resolveDispatcher(){var dispatcher\x3dReactCurrentDispatcher.current;null\x3d\x3d\x3ddispatcher\x26\x26error$jscomp$0(\x22Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.\x22);\nreturn dispatcher}function disabledLog(){}function disableLogs(){if(0\x3d\x3d\x3ddisabledDepth){prevLog\x3dconsole.log;prevInfo\x3dconsole.info;prevWarn\x3dconsole.warn;prevError\x3dconsole.error;prevGroup\x3dconsole.group;prevGroupCollapsed\x3dconsole.groupCollapsed;prevGroupEnd\x3dconsole.groupEnd;var props\x3d{configurable:!0,enumerable:!0,value:disabledLog,writable:!0};Object.defineProperties(console,{info:props,log:props,warn:props,error:props,group:props,groupCollapsed:props,groupEnd:props})}disabledDepth++}function reenableLogs(){disabledDepth--;\nif(0\x3d\x3d\x3ddisabledDepth){var props\x3d{configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:assign({},props,{value:prevLog}),info:assign({},props,{value:prevInfo}),warn:assign({},props,{value:prevWarn}),error:assign({},props,{value:prevError}),group:assign({},props,{value:prevGroup}),groupCollapsed:assign({},props,{value:prevGroupCollapsed}),groupEnd:assign({},props,{value:prevGroupEnd})})}0\x3edisabledDepth\x26\x26error$jscomp$0(\x22disabledDepth fell below zero. This is a bug in React. Please file an issue.\x22)}\nfunction describeBuiltInComponentFrame(name,source,ownerFn){if(void 0\x3d\x3d\x3dprefix)try{throw Error();}catch(x){prefix\x3d(source\x3dx.stack.trim().match(/\\n( *(at )?)/))\x26\x26source[1]||\x22\x22}return\x22\\n\x22+prefix+name}function describeNativeComponentFrame(fn,construct){if(!fn||reentry)return\x22\x22;var frame\x3dcomponentFrameCache.get(fn);if(void 0!\x3d\x3dframe)return frame;reentry\x3d!0;frame\x3dError.prepareStackTrace;Error.prepareStackTrace\x3dvoid 0;var previousDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3d\nnull;disableLogs();try{if(construct)if(construct\x3dfunction(){throw Error();},Object.defineProperty(construct.prototype,\x22props\x22,{set:function(){throw Error();}}),\x22object\x22\x3d\x3d\x3dtypeof Reflect\x26\x26Reflect.construct){try{Reflect.construct(construct,[])}catch(x){var control\x3dx}Reflect.construct(fn,[],construct)}else{try{construct.call()}catch(x){control\x3dx}fn.call(construct.prototype)}else{try{throw Error();}catch(x){control\x3dx}fn()}}catch(sample){if(sample\x26\x26control\x26\x26\x22string\x22\x3d\x3d\x3dtypeof sample.stack){for(var sampleLines\x3d\nsample.stack.split(\x22\\n\x22),controlLines\x3dcontrol.stack.split(\x22\\n\x22),s\x3dsampleLines.length-1,c\x3dcontrolLines.length-1;1\x3c\x3ds\x26\x260\x3c\x3dc\x26\x26sampleLines[s]!\x3d\x3dcontrolLines[c];)c--;for(;1\x3c\x3ds\x26\x260\x3c\x3dc;s--,c--)if(sampleLines[s]!\x3d\x3dcontrolLines[c]){if(1!\x3d\x3ds||1!\x3d\x3dc){do if(s--,c--,0\x3ec||sampleLines[s]!\x3d\x3dcontrolLines[c]){var _frame\x3d\x22\\n\x22+sampleLines[s].replace(\x22 at new \x22,\x22 at \x22);fn.displayName\x26\x26_frame.includes(\x22\\x3canonymous\\x3e\x22)\x26\x26(_frame\x3d_frame.replace(\x22\\x3canonymous\\x3e\x22,fn.displayName));\x22function\x22\x3d\x3d\x3dtypeof fn\x26\x26componentFrameCache.set(fn,\n_frame);return _frame}while(1\x3c\x3ds\x26\x260\x3c\x3dc)}break}}}finally{reentry\x3d!1,ReactCurrentDispatcher$1.current\x3dpreviousDispatcher,reenableLogs(),Error.prepareStackTrace\x3dframe}control\x3d(control\x3dfn?fn.displayName||fn.name:\x22\x22)?describeBuiltInComponentFrame(control):\x22\x22;\x22function\x22\x3d\x3d\x3dtypeof fn\x26\x26componentFrameCache.set(fn,control);return control}function describeUnknownElementTypeFrameInDEV(type,source,ownerFn){if(null\x3d\x3dtype)return\x22\x22;if(\x22function\x22\x3d\x3d\x3dtypeof type)return source\x3dtype.prototype,describeNativeComponentFrame(type,\n!(!source||!source.isReactComponent));if(\x22string\x22\x3d\x3d\x3dtypeof type)return describeBuiltInComponentFrame(type);switch(type){case REACT_SUSPENSE_TYPE:return describeBuiltInComponentFrame(\x22Suspense\x22);case REACT_SUSPENSE_LIST_TYPE:return describeBuiltInComponentFrame(\x22SuspenseList\x22)}if(\x22object\x22\x3d\x3d\x3dtypeof type)switch(type.$$typeof){case REACT_FORWARD_REF_TYPE:return type\x3ddescribeNativeComponentFrame(type.render,!1),type;case REACT_MEMO_TYPE:return describeUnknownElementTypeFrameInDEV(type.type,source,ownerFn);\ncase REACT_LAZY_TYPE:var payload\x3dtype._payload;type\x3dtype._init;try{return describeUnknownElementTypeFrameInDEV(type(payload),source,ownerFn)}catch(x){}}return\x22\x22}function setCurrentlyValidatingElement(element){if(element){var owner\x3delement._owner;element\x3ddescribeUnknownElementTypeFrameInDEV(element.type,element._source,owner?owner.type:null);ReactDebugCurrentFrame$1.setExtraStackFrame(element)}else ReactDebugCurrentFrame$1.setExtraStackFrame(null)}function setCurrentlyValidatingElement$1(element){if(element){var owner\x3d\nelement._owner;currentExtraStackFrame\x3ddescribeUnknownElementTypeFrameInDEV(element.type,element._source,owner?owner.type:null)}else currentExtraStackFrame\x3dnull}function getDeclarationErrorAddendum(){if(ReactCurrentOwner.current){var name\x3dgetComponentNameFromType(ReactCurrentOwner.current.type);if(name)return\x22\\n\\nCheck the render method of `\x22+name+\x22`.\x22}return\x22\x22}function validateExplicitKey(element,parentType){if(element._store\x26\x26!element._store.validated\x26\x26null\x3d\x3delement.key){element._store.validated\x3d\n!0;var currentComponentErrorInfo\x3dgetDeclarationErrorAddendum();currentComponentErrorInfo||(parentType\x3d\x22string\x22\x3d\x3d\x3dtypeof parentType?parentType:parentType.displayName||parentType.name)\x26\x26(currentComponentErrorInfo\x3d\x22\\n\\nCheck the top-level render call using \\x3c\x22+parentType+\x22\\x3e.\x22);ownerHasKeyUseWarning[currentComponentErrorInfo]||(ownerHasKeyUseWarning[currentComponentErrorInfo]\x3d!0,parentType\x3d\x22\x22,element\x26\x26element._owner\x26\x26element._owner!\x3d\x3dReactCurrentOwner.current\x26\x26(parentType\x3d\x22 It was passed a child from \x22+\ngetComponentNameFromType(element._owner.type)+\x22.\x22),setCurrentlyValidatingElement$1(element),error$jscomp$0(\x27Each child in a list should have a unique \x22key\x22 prop.%s%s See https://reactjs.org/link/warning-keys for more information.\x27,currentComponentErrorInfo,parentType),setCurrentlyValidatingElement$1(null))}}function validateChildKeys(node,parentType){if(\x22object\x22\x3d\x3d\x3dtypeof node)if(isArrayImpl(node))for(var i\x3d0;i\x3cnode.length;i++){var child\x3dnode[i];isValidElement(child)\x26\x26validateExplicitKey(child,parentType)}else if(isValidElement(node))node._store\x26\x26\n(node._store.validated\x3d!0);else if(node\x26\x26(i\x3dgetIteratorFn(node),\x22function\x22\x3d\x3d\x3dtypeof i\x26\x26i!\x3d\x3dnode.entries))for(node\x3di.call(node);!(i\x3dnode.next()).done;)isValidElement(i.value)\x26\x26validateExplicitKey(i.value,parentType)}function validatePropTypes(element){var type\x3delement.type;if(null!\x3d\x3dtype\x26\x26void 0!\x3d\x3dtype\x26\x26\x22string\x22!\x3d\x3dtypeof type){var propTypes;if(\x22function\x22\x3d\x3d\x3dtypeof type||\x22object\x22\x3d\x3d\x3dtypeof type\x26\x26(type.$$typeof\x3d\x3d\x3dREACT_FORWARD_REF_TYPE||type.$$typeof\x3d\x3d\x3dREACT_MEMO_TYPE)){if(propTypes\x3dtype.propTypes){var name\x3d\ngetComponentNameFromType(type),values\x3delement.props,has\x3dFunction.call.bind(hasOwnProperty),typeSpecName;for(typeSpecName in propTypes)if(has(propTypes,typeSpecName)){var error$1\x3dvoid 0;try{if(\x22function\x22!\x3d\x3dtypeof propTypes[typeSpecName]){var err\x3dError((name||\x22React class\x22)+\x22: prop type `\x22+typeSpecName+\x22` is invalid; it must be a function, usually from the `prop-types` package, but received `\x22+typeof propTypes[typeSpecName]+\x22`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\x22);\nerr.name\x3d\x22Invariant Violation\x22;throw err;}error$1\x3dpropTypes[typeSpecName](values,typeSpecName,name,\x22prop\x22,null,\x22SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\x22)}catch(ex){error$1\x3dex}!error$1||error$1 instanceof Error||(setCurrentlyValidatingElement(element),error$jscomp$0(\x22%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\x22,\nname||\x22React class\x22,\x22prop\x22,typeSpecName,typeof error$1),setCurrentlyValidatingElement(null));error$1 instanceof Error\x26\x26!(error$1.message in loggedTypeFailures)\x26\x26(loggedTypeFailures[error$1.message]\x3d!0,setCurrentlyValidatingElement(element),error$jscomp$0(\x22Failed %s type: %s\x22,\x22prop\x22,error$1.message),setCurrentlyValidatingElement(null))}}else void 0\x3d\x3d\x3dtype.PropTypes||propTypesMisspellWarningShown||(propTypesMisspellWarningShown\x3d!0,element\x3dgetComponentNameFromType(type),error$jscomp$0(\x22Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\x22,\nelement||\x22Unknown\x22));\x22function\x22!\x3d\x3dtypeof type.getDefaultProps||type.getDefaultProps.isReactClassApproved||error$jscomp$0(\x22getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\x22)}}}function createElementWithValidation(type,props,children){var validType\x3disValidElementType(type);if(!validType){var info\x3d\x22\x22;if(void 0\x3d\x3d\x3dtype||\x22object\x22\x3d\x3d\x3dtypeof type\x26\x26null!\x3d\x3dtype\x26\x260\x3d\x3d\x3dObject.keys(type).length)info+\x3d\x22 You likely forgot to export your component from the file it\x27s defined in, or you might have mixed up default and named imports.\x22;\nif(null!\x3d\x3dprops\x26\x26void 0!\x3d\x3dprops){var sourceInfo\x3dprops.__source;sourceInfo\x3dvoid 0!\x3d\x3dsourceInfo?\x22\\n\\nCheck your code at \x22+sourceInfo.fileName.replace(/^.*[\\\\\\/]/,\x22\x22)+\x22:\x22+sourceInfo.lineNumber+\x22.\x22:\x22\x22}else sourceInfo\x3d\x22\x22;info\x3dsourceInfo?info+sourceInfo:info+getDeclarationErrorAddendum();null\x3d\x3d\x3dtype?sourceInfo\x3d\x22null\x22:isArrayImpl(type)?sourceInfo\x3d\x22array\x22:void 0!\x3d\x3dtype\x26\x26type.$$typeof\x3d\x3d\x3dREACT_ELEMENT_TYPE?(sourceInfo\x3d\x22\\x3c\x22+(getComponentNameFromType(type.type)||\x22Unknown\x22)+\x22 /\\x3e\x22,info\x3d\x22 Did you accidentally export a JSX literal instead of a component?\x22):\nsourceInfo\x3dtypeof type;error$jscomp$0(\x22React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\x22,sourceInfo,info)}info\x3dcreateElement.apply(this,arguments);if(null\x3d\x3dinfo)return info;if(validType)for(validType\x3d2;validType\x3carguments.length;validType++)validateChildKeys(arguments[validType],type);if(type\x3d\x3d\x3dREACT_FRAGMENT_TYPE){validType\x3dObject.keys(info.props);for(sourceInfo\x3d0;sourceInfo\x3cvalidType.length;sourceInfo++){var key\x3d\nvalidType[sourceInfo];if(\x22children\x22!\x3d\x3dkey\x26\x26\x22key\x22!\x3d\x3dkey){setCurrentlyValidatingElement$1(info);error$jscomp$0(\x22Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\x22,key);setCurrentlyValidatingElement$1(null);break}}null!\x3d\x3dinfo.ref\x26\x26(setCurrentlyValidatingElement$1(info),error$jscomp$0(\x22Invalid attribute `ref` supplied to `React.Fragment`.\x22),setCurrentlyValidatingElement$1(null))}else validatePropTypes(info);return info}function enqueueTask(task){if(null\x3d\x3d\x3d\nenqueueTaskImpl)try{var requireString\x3d(\x22require\x22+Math.random()).slice(0,7);enqueueTaskImpl\x3d(module\x26\x26module[requireString]).call(module,\x22timers\x22).setImmediate}catch(_err){enqueueTaskImpl\x3dfunction(callback){!1\x3d\x3d\x3ddidWarnAboutMessageChannel\x26\x26(didWarnAboutMessageChannel\x3d!0,\x22undefined\x22\x3d\x3d\x3dtypeof MessageChannel\x26\x26error$jscomp$0(\x22This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () \\x3d\\x3e ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\x22));\nvar channel\x3dnew MessageChannel;channel.port1.onmessage\x3dcallback;channel.port2.postMessage(void 0)}}return enqueueTaskImpl(task)}function popActScope(prevActScopeDepth){prevActScopeDepth!\x3d\x3dactScopeDepth-1\x26\x26error$jscomp$0(\x22You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \x22);actScopeDepth\x3dprevActScopeDepth}function recursivelyFlushAsyncActWork(returnValue,resolve,reject){var queue\x3dReactCurrentActQueue.current;if(null!\x3d\x3dqueue)try{flushActQueue(queue),\nenqueueTask(function(){0\x3d\x3d\x3dqueue.length?(ReactCurrentActQueue.current\x3dnull,resolve(returnValue)):recursivelyFlushAsyncActWork(returnValue,resolve,reject)})}catch(error){reject(error)}else resolve(returnValue)}function flushActQueue(queue){if(!isFlushing){isFlushing\x3d!0;var i\x3d0;try{for(;i\x3cqueue.length;i++){var callback\x3dqueue[i];do callback\x3dcallback(!0);while(null!\x3d\x3dcallback)}queue.length\x3d0}catch(error){throw queue.slice(i+1),error;}finally{isFlushing\x3d!1}}}\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\n\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var REACT_ELEMENT_TYPE\x3dSymbol.for(\x22react.element\x22),REACT_PORTAL_TYPE\x3dSymbol.for(\x22react.portal\x22),REACT_FRAGMENT_TYPE\x3dSymbol.for(\x22react.fragment\x22),REACT_STRICT_MODE_TYPE\x3dSymbol.for(\x22react.strict_mode\x22),REACT_PROFILER_TYPE\x3dSymbol.for(\x22react.profiler\x22),REACT_PROVIDER_TYPE\x3dSymbol.for(\x22react.provider\x22),REACT_CONTEXT_TYPE\x3dSymbol.for(\x22react.context\x22),REACT_FORWARD_REF_TYPE\x3d\nSymbol.for(\x22react.forward_ref\x22),REACT_SUSPENSE_TYPE\x3dSymbol.for(\x22react.suspense\x22),REACT_SUSPENSE_LIST_TYPE\x3dSymbol.for(\x22react.suspense_list\x22),REACT_MEMO_TYPE\x3dSymbol.for(\x22react.memo\x22),REACT_LAZY_TYPE\x3dSymbol.for(\x22react.lazy\x22),REACT_OFFSCREEN_TYPE\x3dSymbol.for(\x22react.offscreen\x22),MAYBE_ITERATOR_SYMBOL\x3dSymbol.iterator,ReactCurrentDispatcher\x3d{current:null},ReactCurrentBatchConfig\x3d{transition:null},ReactCurrentActQueue\x3d{current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},ReactCurrentOwner\x3d{current:null},\nReactDebugCurrentFrame\x3d{},currentExtraStackFrame\x3dnull;ReactDebugCurrentFrame.setExtraStackFrame\x3dfunction(stack){currentExtraStackFrame\x3dstack};ReactDebugCurrentFrame.getCurrentStack\x3dnull;ReactDebugCurrentFrame.getStackAddendum\x3dfunction(){var stack\x3d\x22\x22;currentExtraStackFrame\x26\x26(stack+\x3dcurrentExtraStackFrame);var impl\x3dReactDebugCurrentFrame.getCurrentStack;impl\x26\x26(stack+\x3dimpl()||\x22\x22);return stack};var ReactSharedInternals\x3d{ReactCurrentDispatcher,ReactCurrentBatchConfig,ReactCurrentOwner};ReactSharedInternals.ReactDebugCurrentFrame\x3d\nReactDebugCurrentFrame;ReactSharedInternals.ReactCurrentActQueue\x3dReactCurrentActQueue;var didWarnStateUpdateForUnmountedComponent\x3d{},ReactNoopUpdateQueue\x3d{isMounted:function(publicInstance){return!1},enqueueForceUpdate:function(publicInstance,callback,callerName){warnNoop(publicInstance,\x22forceUpdate\x22)},enqueueReplaceState:function(publicInstance,completeState,callback,callerName){warnNoop(publicInstance,\x22replaceState\x22)},enqueueSetState:function(publicInstance,partialState,callback,callerName){warnNoop(publicInstance,\n\x22setState\x22)}},assign\x3dObject.assign,emptyObject\x3d{};Object.freeze(emptyObject);Component.prototype.isReactComponent\x3d{};Component.prototype.setState\x3dfunction(partialState,callback){if(\x22object\x22!\x3d\x3dtypeof partialState\x26\x26\x22function\x22!\x3d\x3dtypeof partialState\x26\x26null!\x3dpartialState)throw Error(\x22setState(...): takes an object of state variables to update or a function which returns an object of state variables.\x22);this.updater.enqueueSetState(this,partialState,callback,\x22setState\x22)};Component.prototype.forceUpdate\x3dfunction(callback){this.updater.enqueueForceUpdate(this,\ncallback,\x22forceUpdate\x22)};var deprecatedAPIs\x3d{isMounted:[\x22isMounted\x22,\x22Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\x22],replaceState:[\x22replaceState\x22,\x22Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\x22]},defineDeprecationWarning\x3dfunction(methodName,info){Object.defineProperty(Component.prototype,methodName,{get:function(){warn(\x22%s(...) is deprecated in plain JavaScript React classes. %s\x22,\ninfo[0],info[1])}})},fnName;for(fnName in deprecatedAPIs)deprecatedAPIs.hasOwnProperty(fnName)\x26\x26defineDeprecationWarning(fnName,deprecatedAPIs[fnName]);ComponentDummy.prototype\x3dComponent.prototype;var pureComponentPrototype\x3dPureComponent.prototype\x3dnew ComponentDummy;pureComponentPrototype.constructor\x3dPureComponent;assign(pureComponentPrototype,Component.prototype);pureComponentPrototype.isPureReactComponent\x3d!0;var isArrayImpl\x3dArray.isArray,hasOwnProperty\x3dObject.prototype.hasOwnProperty,RESERVED_PROPS\x3d\n{key:!0,ref:!0,__self:!0,__source:!0},specialPropKeyWarningShown,specialPropRefWarningShown;var didWarnAboutStringRefs\x3d{};var ReactElement\x3dfunction(type,key,ref,self,source,owner,props){type\x3d{$$typeof:REACT_ELEMENT_TYPE,type,key,ref,props,_owner:owner,_store:{}};Object.defineProperty(type._store,\x22validated\x22,{configurable:!1,enumerable:!1,writable:!0,value:!1});Object.defineProperty(type,\x22_self\x22,{configurable:!1,enumerable:!1,writable:!1,value:self});Object.defineProperty(type,\x22_source\x22,{configurable:!1,\nenumerable:!1,writable:!1,value:source});Object.freeze\x26\x26(Object.freeze(type.props),Object.freeze(type));return type},didWarnAboutMaps\x3d!1,userProvidedKeyEscapeRegex\x3d/\\/+/g;var REACT_MODULE_REFERENCE\x3dSymbol.for(\x22react.module.reference\x22);var disabledDepth\x3d0,prevLog,prevInfo,prevWarn,prevError,prevGroup,prevGroupCollapsed,prevGroupEnd;disabledLog.__reactDisabledLog\x3d!0;var ReactCurrentDispatcher$1\x3dReactSharedInternals.ReactCurrentDispatcher,prefix,reentry\x3d!1;var componentFrameCache\x3dnew (\x22function\x22\x3d\x3d\x3dtypeof WeakMap?\nWeakMap:Map);var loggedTypeFailures\x3d{},ReactDebugCurrentFrame$1\x3dReactSharedInternals.ReactDebugCurrentFrame;var propTypesMisspellWarningShown\x3d!1;var ownerHasKeyUseWarning\x3d{},didWarnAboutDeprecatedCreateFactory\x3d!1,didWarnAboutMessageChannel\x3d!1,enqueueTaskImpl\x3dnull,actScopeDepth\x3d0,didWarnNoAwaitAct\x3d!1,isFlushing\x3d!1;exports.Children\x3d{map:mapChildren,forEach:function(children,forEachFunc,forEachContext){mapChildren(children,function(){forEachFunc.apply(this,arguments)},forEachContext)},count:function(children){var n\x3d\n0;mapChildren(children,function(){n++});return n},toArray:function(children){return mapChildren(children,function(child){return child})||[]},only:function(children){if(!isValidElement(children))throw Error(\x22React.Children.only expected to receive a single React element child.\x22);return children}};exports.Component\x3dComponent;exports.Fragment\x3dREACT_FRAGMENT_TYPE;exports.Profiler\x3dREACT_PROFILER_TYPE;exports.PureComponent\x3dPureComponent;exports.StrictMode\x3dREACT_STRICT_MODE_TYPE;exports.Suspense\x3dREACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\x3dReactSharedInternals;exports.cloneElement\x3dfunction(element,props,children){for(var newElement\x3dcloneElement.apply(this,arguments),i\x3d2;i\x3carguments.length;i++)validateChildKeys(arguments[i],newElement.type);validatePropTypes(newElement);return newElement};exports.createContext\x3dfunction(defaultValue){var context\x3d{$$typeof:REACT_CONTEXT_TYPE,_currentValue:defaultValue,_currentValue2:defaultValue,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,\n_globalName:null};context.Provider\x3d{$$typeof:REACT_PROVIDER_TYPE,_context:context};var hasWarnedAboutUsingNestedContextConsumers\x3d!1,hasWarnedAboutUsingConsumerProvider\x3d!1,hasWarnedAboutDisplayNameOnConsumer\x3d!1;defaultValue\x3d{$$typeof:REACT_CONTEXT_TYPE,_context:context};Object.defineProperties(defaultValue,{Provider:{get:function(){hasWarnedAboutUsingConsumerProvider||(hasWarnedAboutUsingConsumerProvider\x3d!0,error$jscomp$0(\x22Rendering \\x3cContext.Consumer.Provider\\x3e is not supported and will be removed in a future major release. Did you mean to render \\x3cContext.Provider\\x3e instead?\x22));\nreturn context.Provider},set:function(_Provider){context.Provider\x3d_Provider}},_currentValue:{get:function(){return context._currentValue},set:function(_currentValue){context._currentValue\x3d_currentValue}},_currentValue2:{get:function(){return context._currentValue2},set:function(_currentValue2){context._currentValue2\x3d_currentValue2}},_threadCount:{get:function(){return context._threadCount},set:function(_threadCount){context._threadCount\x3d_threadCount}},Consumer:{get:function(){hasWarnedAboutUsingNestedContextConsumers||\n(hasWarnedAboutUsingNestedContextConsumers\x3d!0,error$jscomp$0(\x22Rendering \\x3cContext.Consumer.Consumer\\x3e is not supported and will be removed in a future major release. Did you mean to render \\x3cContext.Consumer\\x3e instead?\x22));return context.Consumer}},displayName:{get:function(){return context.displayName},set:function(displayName){hasWarnedAboutDisplayNameOnConsumer||(warn(\x22Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName \\x3d \x27%s\x27.\x22,\ndisplayName),hasWarnedAboutDisplayNameOnConsumer\x3d!0)}}});context.Consumer\x3ddefaultValue;context._currentRenderer\x3dnull;context._currentRenderer2\x3dnull;return context};exports.createElement\x3dcreateElementWithValidation;exports.createFactory\x3dfunction(type){var validatedFactory\x3dcreateElementWithValidation.bind(null,type);validatedFactory.type\x3dtype;didWarnAboutDeprecatedCreateFactory||(didWarnAboutDeprecatedCreateFactory\x3d!0,warn(\x22React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.\x22));\nObject.defineProperty(validatedFactory,\x22type\x22,{enumerable:!1,get:function(){warn(\x22Factory.type is deprecated. Access the class directly before passing it to createFactory.\x22);Object.defineProperty(this,\x22type\x22,{value:type});return type}});return validatedFactory};exports.createRef\x3dfunction(){var refObject\x3d{current:null};Object.seal(refObject);return refObject};exports.forwardRef\x3dfunction(render){null!\x3drender\x26\x26render.$$typeof\x3d\x3d\x3dREACT_MEMO_TYPE?error$jscomp$0(\x22forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\x22):\n\x22function\x22!\x3d\x3dtypeof render?error$jscomp$0(\x22forwardRef requires a render function but was given %s.\x22,null\x3d\x3d\x3drender?\x22null\x22:typeof render):0!\x3d\x3drender.length\x26\x262!\x3d\x3drender.length\x26\x26error$jscomp$0(\x22forwardRef render functions accept exactly two parameters: props and ref. %s\x22,1\x3d\x3d\x3drender.length?\x22Did you forget to use the ref parameter?\x22:\x22Any additional parameter will be undefined.\x22);null\x3d\x3drender||null\x3d\x3drender.defaultProps\x26\x26null\x3d\x3drender.propTypes||error$jscomp$0(\x22forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?\x22);\nvar elementType\x3d{$$typeof:REACT_FORWARD_REF_TYPE,render},ownName;Object.defineProperty(elementType,\x22displayName\x22,{enumerable:!1,configurable:!0,get:function(){return ownName},set:function(name){ownName\x3dname;render.name||render.displayName||(render.displayName\x3dname)}});return elementType};exports.isValidElement\x3disValidElement;exports.lazy\x3dfunction(ctor){var lazyType\x3d{$$typeof:REACT_LAZY_TYPE,_payload:{_status:-1,_result:ctor},_init:lazyInitializer},defaultProps,propTypes;Object.defineProperties(lazyType,\n{defaultProps:{configurable:!0,get:function(){return defaultProps},set:function(newDefaultProps){error$jscomp$0(\x22React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\x22);defaultProps\x3dnewDefaultProps;Object.defineProperty(lazyType,\x22defaultProps\x22,{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return propTypes},set:function(newPropTypes){error$jscomp$0(\x22React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\x22);\npropTypes\x3dnewPropTypes;Object.defineProperty(lazyType,\x22propTypes\x22,{enumerable:!0})}}});return lazyType};exports.memo\x3dfunction(type,compare){isValidElementType(type)||error$jscomp$0(\x22memo: The first argument must be a component. Instead received: %s\x22,null\x3d\x3d\x3dtype?\x22null\x22:typeof type);compare\x3d{$$typeof:REACT_MEMO_TYPE,type,compare:void 0\x3d\x3d\x3dcompare?null:compare};var ownName;Object.defineProperty(compare,\x22displayName\x22,{enumerable:!1,configurable:!0,get:function(){return ownName},set:function(name){ownName\x3d\nname;type.name||type.displayName||(type.displayName\x3dname)}});return compare};exports.startTransition\x3dfunction(scope,options){options\x3dReactCurrentBatchConfig.transition;ReactCurrentBatchConfig.transition\x3d{};var currentTransition\x3dReactCurrentBatchConfig.transition;ReactCurrentBatchConfig.transition._updatedFibers\x3dnew Set;try{scope()}finally{ReactCurrentBatchConfig.transition\x3doptions,null\x3d\x3d\x3doptions\x26\x26currentTransition._updatedFibers\x26\x26(10\x3ccurrentTransition._updatedFibers.size\x26\x26warn(\x22Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\x22),\ncurrentTransition._updatedFibers.clear())}};exports.unstable_act\x3dfunction(callback){var prevActScopeDepth\x3dactScopeDepth;actScopeDepth++;null\x3d\x3d\x3dReactCurrentActQueue.current\x26\x26(ReactCurrentActQueue.current\x3d[]);var prevIsBatchingLegacy\x3dReactCurrentActQueue.isBatchingLegacy;try{ReactCurrentActQueue.isBatchingLegacy\x3d!0;var result\x3dcallback();if(!prevIsBatchingLegacy\x26\x26ReactCurrentActQueue.didScheduleLegacyUpdate){var queue\x3dReactCurrentActQueue.current;null!\x3d\x3dqueue\x26\x26(ReactCurrentActQueue.didScheduleLegacyUpdate\x3d\n!1,flushActQueue(queue))}}catch(error){throw popActScope(prevActScopeDepth),error;}finally{ReactCurrentActQueue.isBatchingLegacy\x3dprevIsBatchingLegacy}if(null!\x3d\x3dresult\x26\x26\x22object\x22\x3d\x3d\x3dtypeof result\x26\x26\x22function\x22\x3d\x3d\x3dtypeof result.then){var thenableResult\x3dresult,wasAwaited\x3d!1;didWarnNoAwaitAct||\x22undefined\x22\x3d\x3d\x3dtypeof Promise||Promise.resolve().then(function(){}).then(function(){wasAwaited||(didWarnNoAwaitAct\x3d!0,error$jscomp$0(\x22You called act(async () \\x3d\\x3e ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () \\x3d\\x3e ...);\x22))});\nreturn{then:function(resolve,reject){wasAwaited\x3d!0;thenableResult.then(function(returnValue){popActScope(prevActScopeDepth);0\x3d\x3d\x3dactScopeDepth?recursivelyFlushAsyncActWork(returnValue,resolve,reject):resolve(returnValue)},function(error){popActScope(prevActScopeDepth);reject(error)})}}}var returnValue\x3dresult;popActScope(prevActScopeDepth);return 0\x3d\x3d\x3dactScopeDepth?(callback\x3dReactCurrentActQueue.current,null!\x3d\x3dcallback\x26\x26(flushActQueue(callback),ReactCurrentActQueue.current\x3dnull),{then:function(resolve,\nreject){null\x3d\x3d\x3dReactCurrentActQueue.current?(ReactCurrentActQueue.current\x3d[],recursivelyFlushAsyncActWork(returnValue,resolve,reject)):resolve(returnValue)}}):{then:function(resolve,reject){resolve(returnValue)}}};exports.useCallback\x3dfunction(callback,deps){return resolveDispatcher().useCallback(callback,deps)};exports.useContext\x3dfunction(Context){var dispatcher\x3dresolveDispatcher();if(void 0!\x3d\x3dContext._context){var realContext\x3dContext._context;realContext.Consumer\x3d\x3d\x3dContext?error$jscomp$0(\x22Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?\x22):\nrealContext.Provider\x3d\x3d\x3dContext\x26\x26error$jscomp$0(\x22Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?\x22)}return dispatcher.useContext(Context)};exports.useDebugValue\x3dfunction(value,formatterFn){return resolveDispatcher().useDebugValue(value,formatterFn)};exports.useDeferredValue\x3dfunction(value){return resolveDispatcher().useDeferredValue(value)};exports.useEffect\x3dfunction(create,deps){return resolveDispatcher().useEffect(create,deps)};exports.useId\x3d\nfunction(){return resolveDispatcher().useId()};exports.useImperativeHandle\x3dfunction(ref,create,deps){return resolveDispatcher().useImperativeHandle(ref,create,deps)};exports.useInsertionEffect\x3dfunction(create,deps){return resolveDispatcher().useInsertionEffect(create,deps)};exports.useLayoutEffect\x3dfunction(create,deps){return resolveDispatcher().useLayoutEffect(create,deps)};exports.useMemo\x3dfunction(create,deps){return resolveDispatcher().useMemo(create,deps)};exports.useReducer\x3dfunction(reducer,\ninitialArg,init){return resolveDispatcher().useReducer(reducer,initialArg,init)};exports.useRef\x3dfunction(initialValue){return resolveDispatcher().useRef(initialValue)};exports.useState\x3dfunction(initialState){return resolveDispatcher().useState(initialState)};exports.useSyncExternalStore\x3dfunction(subscribe,getSnapshot,getServerSnapshot){return resolveDispatcher().useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)};exports.useTransition\x3dfunction(){return resolveDispatcher().useTransition()};\nexports.version\x3d\x2218.2.0\x22;\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}"); +SHADOW_ENV.evalLoad("module$node_modules$react$index.js", true , "shadow$provide.module$node_modules$react$index\x3dfunction(global,require,module,exports){module.exports\x3drequire(\x22module$node_modules$react$cjs$react_development\x22)}"); +SHADOW_ENV.evalLoad("module$node_modules$scheduler$cjs$scheduler_development.js", true , "shadow$provide.module$node_modules$scheduler$cjs$scheduler_development\x3dfunction(global,require,module,exports){(function(){function push(heap,node){var index\x3dheap.length;heap.push(node);a:for(;0\x3cindex;){var parentIndex\x3dindex-1\x3e\x3e\x3e1,parent\x3dheap[parentIndex];if(0\x3ccompare(parent,node))heap[parentIndex]\x3dnode,heap[index]\x3dparent,index\x3dparentIndex;else break a}}function peek(heap){return 0\x3d\x3d\x3dheap.length?null:heap[0]}function pop(heap){if(0\x3d\x3d\x3dheap.length)return null;var first\x3dheap[0],last\x3dheap.pop();if(last!\x3d\x3d\nfirst){heap[0]\x3dlast;a:for(var index\x3d0,length\x3dheap.length,halfLength\x3dlength\x3e\x3e\x3e1;index\x3chalfLength;){var leftIndex\x3d2*(index+1)-1,left\x3dheap[leftIndex],rightIndex\x3dleftIndex+1,right\x3dheap[rightIndex];if(0\x3ecompare(left,last))rightIndex\x3clength\x26\x260\x3ecompare(right,left)?(heap[index]\x3dright,heap[rightIndex]\x3dlast,index\x3drightIndex):(heap[index]\x3dleft,heap[leftIndex]\x3dlast,index\x3dleftIndex);else if(rightIndex\x3clength\x26\x260\x3ecompare(right,last))heap[index]\x3dright,heap[rightIndex]\x3dlast,index\x3drightIndex;else break a}}return first}\nfunction compare(a,b){var diff\x3da.sortIndex-b.sortIndex;return 0!\x3d\x3ddiff?diff:a.id-b.id}function advanceTimers(currentTime){for(var timer\x3dpeek(timerQueue);null!\x3d\x3dtimer;){if(null\x3d\x3d\x3dtimer.callback)pop(timerQueue);else if(timer.startTime\x3c\x3dcurrentTime)pop(timerQueue),timer.sortIndex\x3dtimer.expirationTime,push(taskQueue,timer);else break;timer\x3dpeek(timerQueue)}}function handleTimeout(currentTime){isHostTimeoutScheduled\x3d!1;advanceTimers(currentTime);if(!isHostCallbackScheduled)if(null!\x3d\x3dpeek(taskQueue))isHostCallbackScheduled\x3d\n!0,requestHostCallback(flushWork);else{var firstTimer\x3dpeek(timerQueue);null!\x3d\x3dfirstTimer\x26\x26requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)}}function flushWork(hasTimeRemaining,initialTime){isHostCallbackScheduled\x3d!1;isHostTimeoutScheduled\x26\x26(isHostTimeoutScheduled\x3d!1,localClearTimeout(taskTimeoutID),taskTimeoutID\x3d-1);isPerformingWork\x3d!0;var previousPriorityLevel\x3dcurrentPriorityLevel;try{advanceTimers(initialTime);for(currentTask\x3dpeek(taskQueue);null!\x3d\x3dcurrentTask\x26\x26(!(currentTask.expirationTime\x3e\ninitialTime)||hasTimeRemaining\x26\x26!shouldYieldToHost());){var callback\x3dcurrentTask.callback;if(\x22function\x22\x3d\x3d\x3dtypeof callback){currentTask.callback\x3dnull;currentPriorityLevel\x3dcurrentTask.priorityLevel;var continuationCallback\x3dcallback(currentTask.expirationTime\x3c\x3dinitialTime);initialTime\x3dexports.unstable_now();\x22function\x22\x3d\x3d\x3dtypeof continuationCallback?currentTask.callback\x3dcontinuationCallback:currentTask\x3d\x3d\x3dpeek(taskQueue)\x26\x26pop(taskQueue);advanceTimers(initialTime)}else pop(taskQueue);currentTask\x3dpeek(taskQueue)}if(null!\x3d\x3d\ncurrentTask)var JSCompiler_inline_result\x3d!0;else{var firstTimer\x3dpeek(timerQueue);null!\x3d\x3dfirstTimer\x26\x26requestHostTimeout(handleTimeout,firstTimer.startTime-initialTime);JSCompiler_inline_result\x3d!1}return JSCompiler_inline_result}finally{currentTask\x3dnull,currentPriorityLevel\x3dpreviousPriorityLevel,isPerformingWork\x3d!1}}function shouldYieldToHost(){return exports.unstable_now()-startTime\x3cframeInterval?!1:!0}function requestHostCallback(callback){scheduledHostCallback\x3dcallback;isMessageLoopRunning||(isMessageLoopRunning\x3d\n!0,schedulePerformWorkUntilDeadline())}function requestHostTimeout(callback,ms){taskTimeoutID\x3dlocalSetTimeout(function(){callback(exports.unstable_now())},ms)}\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());if(\x22object\x22\x3d\x3d\x3dtypeof performance\x26\x26\x22function\x22\x3d\x3d\x3dtypeof performance.now){var localPerformance\x3dperformance;exports.unstable_now\x3dfunction(){return localPerformance.now()}}else{var localDate\x3d\nDate,initialTime\x3dlocalDate.now();exports.unstable_now\x3dfunction(){return localDate.now()-initialTime}}var taskQueue\x3d[],timerQueue\x3d[],taskIdCounter\x3d1,currentTask\x3dnull,currentPriorityLevel\x3d3,isPerformingWork\x3d!1,isHostCallbackScheduled\x3d!1,isHostTimeoutScheduled\x3d!1,localSetTimeout\x3d\x22function\x22\x3d\x3d\x3dtypeof setTimeout?setTimeout:null,localClearTimeout\x3d\x22function\x22\x3d\x3d\x3dtypeof clearTimeout?clearTimeout:null,localSetImmediate\x3d\x22undefined\x22!\x3d\x3dtypeof setImmediate?setImmediate:null;\x22undefined\x22!\x3d\x3dtypeof navigator\x26\x26void 0!\x3d\x3d\nnavigator.scheduling\x26\x26void 0!\x3d\x3dnavigator.scheduling.isInputPending\x26\x26navigator.scheduling.isInputPending.bind(navigator.scheduling);var isMessageLoopRunning\x3d!1,scheduledHostCallback\x3dnull,taskTimeoutID\x3d-1,frameInterval\x3d5,startTime\x3d-1,performWorkUntilDeadline\x3dfunction(){if(null!\x3d\x3dscheduledHostCallback){var currentTime\x3dexports.unstable_now();startTime\x3dcurrentTime;var hasMoreWork\x3d!0;try{hasMoreWork\x3dscheduledHostCallback(!0,currentTime)}finally{hasMoreWork?schedulePerformWorkUntilDeadline():(isMessageLoopRunning\x3d\n!1,scheduledHostCallback\x3dnull)}}else isMessageLoopRunning\x3d!1};if(\x22function\x22\x3d\x3d\x3dtypeof localSetImmediate)var schedulePerformWorkUntilDeadline\x3dfunction(){localSetImmediate(performWorkUntilDeadline)};else if(\x22undefined\x22!\x3d\x3dtypeof MessageChannel){var channel\x3dnew MessageChannel,port\x3dchannel.port2;channel.port1.onmessage\x3dperformWorkUntilDeadline;schedulePerformWorkUntilDeadline\x3dfunction(){port.postMessage(null)}}else schedulePerformWorkUntilDeadline\x3dfunction(){localSetTimeout(performWorkUntilDeadline,0)};\nexports.unstable_IdlePriority\x3d5;exports.unstable_ImmediatePriority\x3d1;exports.unstable_LowPriority\x3d4;exports.unstable_NormalPriority\x3d3;exports.unstable_Profiling\x3dnull;exports.unstable_UserBlockingPriority\x3d2;exports.unstable_cancelCallback\x3dfunction(task){task.callback\x3dnull};exports.unstable_continueExecution\x3dfunction(){isHostCallbackScheduled||isPerformingWork||(isHostCallbackScheduled\x3d!0,requestHostCallback(flushWork))};exports.unstable_forceFrameRate\x3dfunction(fps){0\x3efps||125\x3cfps?console.error(\x22forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\x22):\nframeInterval\x3d0\x3cfps?Math.floor(1E3/fps):5};exports.unstable_getCurrentPriorityLevel\x3dfunction(){return currentPriorityLevel};exports.unstable_getFirstCallbackNode\x3dfunction(){return peek(taskQueue)};exports.unstable_next\x3dfunction(eventHandler){switch(currentPriorityLevel){case 1:case 2:case 3:var priorityLevel\x3d3;break;default:priorityLevel\x3dcurrentPriorityLevel}var previousPriorityLevel\x3dcurrentPriorityLevel;currentPriorityLevel\x3dpriorityLevel;try{return eventHandler()}finally{currentPriorityLevel\x3dpreviousPriorityLevel}};\nexports.unstable_pauseExecution\x3dfunction(){};exports.unstable_requestPaint\x3dfunction(){};exports.unstable_runWithPriority\x3dfunction(priorityLevel,eventHandler){switch(priorityLevel){case 1:case 2:case 3:case 4:case 5:break;default:priorityLevel\x3d3}var previousPriorityLevel\x3dcurrentPriorityLevel;currentPriorityLevel\x3dpriorityLevel;try{return eventHandler()}finally{currentPriorityLevel\x3dpreviousPriorityLevel}};exports.unstable_scheduleCallback\x3dfunction(priorityLevel,callback,options){var currentTime\x3dexports.unstable_now();\n\x22object\x22\x3d\x3d\x3dtypeof options\x26\x26null!\x3d\x3doptions?(options\x3doptions.delay,options\x3d\x22number\x22\x3d\x3d\x3dtypeof options\x26\x260\x3coptions?currentTime+options:currentTime):options\x3dcurrentTime;switch(priorityLevel){case 1:var timeout\x3d-1;break;case 2:timeout\x3d250;break;case 5:timeout\x3d1073741823;break;case 4:timeout\x3d1E4;break;default:timeout\x3d5E3}timeout\x3doptions+timeout;priorityLevel\x3d{id:taskIdCounter++,callback,priorityLevel,startTime:options,expirationTime:timeout,sortIndex:-1};options\x3ecurrentTime?(priorityLevel.sortIndex\x3doptions,\npush(timerQueue,priorityLevel),null\x3d\x3d\x3dpeek(taskQueue)\x26\x26priorityLevel\x3d\x3d\x3dpeek(timerQueue)\x26\x26(isHostTimeoutScheduled?(localClearTimeout(taskTimeoutID),taskTimeoutID\x3d-1):isHostTimeoutScheduled\x3d!0,requestHostTimeout(handleTimeout,options-currentTime))):(priorityLevel.sortIndex\x3dtimeout,push(taskQueue,priorityLevel),isHostCallbackScheduled||isPerformingWork||(isHostCallbackScheduled\x3d!0,requestHostCallback(flushWork)));return priorityLevel};exports.unstable_shouldYield\x3dshouldYieldToHost;exports.unstable_wrapCallback\x3d\nfunction(callback){var parentPriorityLevel\x3dcurrentPriorityLevel;return function(){var previousPriorityLevel\x3dcurrentPriorityLevel;currentPriorityLevel\x3dparentPriorityLevel;try{return callback.apply(this,arguments)}finally{currentPriorityLevel\x3dpreviousPriorityLevel}}};\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}"); +SHADOW_ENV.evalLoad("module$node_modules$scheduler$index.js", true , "shadow$provide.module$node_modules$scheduler$index\x3dfunction(global,require,module,exports){module.exports\x3drequire(\x22module$node_modules$scheduler$cjs$scheduler_development\x22)}"); +SHADOW_ENV.evalLoad("module$node_modules$react_dom$cjs$react_dom_development.js", true , "shadow$provide.module$node_modules$react_dom$cjs$react_dom_development\x3dfunction(global,require,module,exports){(function(){function warn(format){if(!suppressWarning){for(var _len\x3darguments.length,args\x3dArray(1\x3c_len?_len-1:0),_key\x3d1;_key\x3c_len;_key++)args[_key-1]\x3darguments[_key];printWarning(\x22warn\x22,format,args)}}function error$jscomp$0(format){if(!suppressWarning){for(var _len2\x3darguments.length,args\x3dArray(1\x3c_len2?_len2-1:0),_key2\x3d1;_key2\x3c_len2;_key2++)args[_key2-1]\x3darguments[_key2];printWarning(\x22error\x22,\nformat,args)}}function printWarning(level,format,args){var stack\x3dReactSharedInternals.ReactDebugCurrentFrame.getStackAddendum();\x22\x22!\x3d\x3dstack\x26\x26(format+\x3d\x22%s\x22,args\x3dargs.concat([stack]));args\x3dargs.map(function(item){return String(item)});args.unshift(\x22Warning: \x22+format);Function.prototype.apply.call(console[level],console,args)}function registerTwoPhaseEvent(registrationName,dependencies){registerDirectEvent(registrationName,dependencies);registerDirectEvent(registrationName+\x22Capture\x22,dependencies)}function registerDirectEvent(registrationName,\ndependencies){registrationNameDependencies[registrationName]\x26\x26error$jscomp$0(\x22EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.\x22,registrationName);registrationNameDependencies[registrationName]\x3ddependencies;var lowerCasedName\x3dregistrationName.toLowerCase();possibleRegistrationNames[lowerCasedName]\x3dregistrationName;\x22onDoubleClick\x22\x3d\x3d\x3dregistrationName\x26\x26(possibleRegistrationNames.ondblclick\x3dregistrationName);for(registrationName\x3d0;registrationName\x3cdependencies.length;registrationName++)allNativeEvents.add(dependencies[registrationName])}\nfunction isAttributeNameSafe(attributeName){if(hasOwnProperty.call(validatedAttributeNameCache,attributeName))return!0;if(hasOwnProperty.call(illegalAttributeNameCache,attributeName))return!1;if(VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))return validatedAttributeNameCache[attributeName]\x3d!0;illegalAttributeNameCache[attributeName]\x3d!0;error$jscomp$0(\x22Invalid attribute name: `%s`\x22,attributeName);return!1}function shouldIgnoreAttribute(name,propertyInfo,isCustomComponentTag){return null!\x3d\x3dpropertyInfo?\n0\x3d\x3d\x3dpropertyInfo.type:isCustomComponentTag?!1:!(2\x3cname.length)||\x22o\x22!\x3d\x3dname[0]\x26\x26\x22O\x22!\x3d\x3dname[0]||\x22n\x22!\x3d\x3dname[1]\x26\x26\x22N\x22!\x3d\x3dname[1]?!1:!0}function shouldRemoveAttributeWithWarning(name,value,propertyInfo,isCustomComponentTag){if(null!\x3d\x3dpropertyInfo\x26\x260\x3d\x3d\x3dpropertyInfo.type)return!1;switch(typeof value){case \x22function\x22:case \x22symbol\x22:return!0;case \x22boolean\x22:if(isCustomComponentTag)return!1;if(null!\x3d\x3dpropertyInfo)return!propertyInfo.acceptsBooleans;name\x3dname.toLowerCase().slice(0,5);return\x22data-\x22!\x3d\x3dname\x26\x26\x22aria-\x22!\x3d\x3d\nname;default:return!1}}function shouldRemoveAttribute(name,value,propertyInfo,isCustomComponentTag){if(null\x3d\x3d\x3dvalue||\x22undefined\x22\x3d\x3d\x3dtypeof value||shouldRemoveAttributeWithWarning(name,value,propertyInfo,isCustomComponentTag))return!0;if(isCustomComponentTag)return!1;if(null!\x3d\x3dpropertyInfo)switch(propertyInfo.type){case 3:return!value;case 4:return!1\x3d\x3d\x3dvalue;case 5:return isNaN(value);case 6:return isNaN(value)||1\x3evalue}return!1}function getPropertyInfo(name){return properties.hasOwnProperty(name)?\nproperties[name]:null}function PropertyInfoRecord(name,type,mustUseProperty,attributeName,attributeNamespace,sanitizeURL,removeEmptyString){this.acceptsBooleans\x3d2\x3d\x3d\x3dtype||3\x3d\x3d\x3dtype||4\x3d\x3d\x3dtype;this.attributeName\x3dattributeName;this.attributeNamespace\x3dattributeNamespace;this.mustUseProperty\x3dmustUseProperty;this.propertyName\x3dname;this.type\x3dtype;this.sanitizeURL\x3dsanitizeURL;this.removeEmptyString\x3dremoveEmptyString}function sanitizeURL(url){!didWarn\x26\x26isJavaScriptProtocol.test(url)\x26\x26(didWarn\x3d!0,error$jscomp$0(\x22A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.\x22,\nJSON.stringify(url)))}function getValueForAttribute(node,name,expected,isCustomComponentTag){if(isAttributeNameSafe(name)){if(!node.hasAttribute(name))return void 0\x3d\x3d\x3dexpected?void 0:null;node\x3dnode.getAttribute(name);return node\x3d\x3d\x3d\x22\x22+expected?expected:node}}function setValueForProperty(node,name,value,isCustomComponentTag){var propertyInfo\x3dgetPropertyInfo(name);if(!shouldIgnoreAttribute(name,propertyInfo,isCustomComponentTag))if(shouldRemoveAttribute(name,value,propertyInfo,isCustomComponentTag)\x26\x26\n(value\x3dnull),isCustomComponentTag||null\x3d\x3d\x3dpropertyInfo)isAttributeNameSafe(name)\x26\x26(null\x3d\x3d\x3dvalue?node.removeAttribute(name):node.setAttribute(name,\x22\x22+value));else if(propertyInfo.mustUseProperty)node[propertyInfo.propertyName]\x3dnull\x3d\x3d\x3dvalue?3\x3d\x3d\x3dpropertyInfo.type?!1:\x22\x22:value;else if(name\x3dpropertyInfo.attributeName,isCustomComponentTag\x3dpropertyInfo.attributeNamespace,null\x3d\x3d\x3dvalue)node.removeAttribute(name);else{var _type\x3dpropertyInfo.type;3\x3d\x3d\x3d_type||4\x3d\x3d\x3d_type\x26\x26!0\x3d\x3d\x3dvalue?value\x3d\x22\x22:(value\x3d\x22\x22+value,propertyInfo.sanitizeURL\x26\x26\nsanitizeURL(value.toString()));isCustomComponentTag?node.setAttributeNS(isCustomComponentTag,name,value):node.setAttribute(name,value)}}function getIteratorFn(maybeIterable){if(null\x3d\x3d\x3dmaybeIterable||\x22object\x22!\x3d\x3dtypeof maybeIterable)return null;maybeIterable\x3dMAYBE_ITERATOR_SYMBOL\x26\x26maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable[\x22@@iterator\x22];return\x22function\x22\x3d\x3d\x3dtypeof maybeIterable?maybeIterable:null}function disabledLog(){}function disableLogs(){if(0\x3d\x3d\x3ddisabledDepth){prevLog\x3dconsole.log;prevInfo\x3d\nconsole.info;prevWarn\x3dconsole.warn;prevError\x3dconsole.error;prevGroup\x3dconsole.group;prevGroupCollapsed\x3dconsole.groupCollapsed;prevGroupEnd\x3dconsole.groupEnd;var props\x3d{configurable:!0,enumerable:!0,value:disabledLog,writable:!0};Object.defineProperties(console,{info:props,log:props,warn:props,error:props,group:props,groupCollapsed:props,groupEnd:props})}disabledDepth++}function reenableLogs(){disabledDepth--;if(0\x3d\x3d\x3ddisabledDepth){var props\x3d{configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,\n{log:assign({},props,{value:prevLog}),info:assign({},props,{value:prevInfo}),warn:assign({},props,{value:prevWarn}),error:assign({},props,{value:prevError}),group:assign({},props,{value:prevGroup}),groupCollapsed:assign({},props,{value:prevGroupCollapsed}),groupEnd:assign({},props,{value:prevGroupEnd})})}0\x3edisabledDepth\x26\x26error$jscomp$0(\x22disabledDepth fell below zero. This is a bug in React. Please file an issue.\x22)}function describeBuiltInComponentFrame(name,source,ownerFn){if(void 0\x3d\x3d\x3dprefix$jscomp$0)try{throw Error();\n}catch(x){prefix$jscomp$0\x3d(source\x3dx.stack.trim().match(/\\n( *(at )?)/))\x26\x26source[1]||\x22\x22}return\x22\\n\x22+prefix$jscomp$0+name}function describeNativeComponentFrame(fn,construct){if(!fn||reentry)return\x22\x22;var frame\x3dcomponentFrameCache.get(fn);if(void 0!\x3d\x3dframe)return frame;reentry\x3d!0;frame\x3dError.prepareStackTrace;Error.prepareStackTrace\x3dvoid 0;var previousDispatcher\x3dReactCurrentDispatcher.current;ReactCurrentDispatcher.current\x3dnull;disableLogs();try{if(construct)if(construct\x3dfunction(){throw Error();},Object.defineProperty(construct.prototype,\n\x22props\x22,{set:function(){throw Error();}}),\x22object\x22\x3d\x3d\x3dtypeof Reflect\x26\x26Reflect.construct){try{Reflect.construct(construct,[])}catch(x){var control\x3dx}Reflect.construct(fn,[],construct)}else{try{construct.call()}catch(x){control\x3dx}fn.call(construct.prototype)}else{try{throw Error();}catch(x){control\x3dx}fn()}}catch(sample){if(sample\x26\x26control\x26\x26\x22string\x22\x3d\x3d\x3dtypeof sample.stack){for(var sampleLines\x3dsample.stack.split(\x22\\n\x22),controlLines\x3dcontrol.stack.split(\x22\\n\x22),s\x3dsampleLines.length-1,c\x3dcontrolLines.length-1;1\x3c\x3d\ns\x26\x260\x3c\x3dc\x26\x26sampleLines[s]!\x3d\x3dcontrolLines[c];)c--;for(;1\x3c\x3ds\x26\x260\x3c\x3dc;s--,c--)if(sampleLines[s]!\x3d\x3dcontrolLines[c]){if(1!\x3d\x3ds||1!\x3d\x3dc){do if(s--,c--,0\x3ec||sampleLines[s]!\x3d\x3dcontrolLines[c]){var _frame\x3d\x22\\n\x22+sampleLines[s].replace(\x22 at new \x22,\x22 at \x22);fn.displayName\x26\x26_frame.includes(\x22\\x3canonymous\\x3e\x22)\x26\x26(_frame\x3d_frame.replace(\x22\\x3canonymous\\x3e\x22,fn.displayName));\x22function\x22\x3d\x3d\x3dtypeof fn\x26\x26componentFrameCache.set(fn,_frame);return _frame}while(1\x3c\x3ds\x26\x260\x3c\x3dc)}break}}}finally{reentry\x3d!1,ReactCurrentDispatcher.current\x3dpreviousDispatcher,\nreenableLogs(),Error.prepareStackTrace\x3dframe}control\x3d(control\x3dfn?fn.displayName||fn.name:\x22\x22)?describeBuiltInComponentFrame(control):\x22\x22;\x22function\x22\x3d\x3d\x3dtypeof fn\x26\x26componentFrameCache.set(fn,control);return control}function describeUnknownElementTypeFrameInDEV(type,source,ownerFn){if(null\x3d\x3dtype)return\x22\x22;if(\x22function\x22\x3d\x3d\x3dtypeof type)return source\x3dtype.prototype,describeNativeComponentFrame(type,!(!source||!source.isReactComponent));if(\x22string\x22\x3d\x3d\x3dtypeof type)return describeBuiltInComponentFrame(type);switch(type){case REACT_SUSPENSE_TYPE:return describeBuiltInComponentFrame(\x22Suspense\x22);\ncase REACT_SUSPENSE_LIST_TYPE:return describeBuiltInComponentFrame(\x22SuspenseList\x22)}if(\x22object\x22\x3d\x3d\x3dtypeof type)switch(type.$$typeof){case REACT_FORWARD_REF_TYPE:return type\x3ddescribeNativeComponentFrame(type.render,!1),type;case REACT_MEMO_TYPE:return describeUnknownElementTypeFrameInDEV(type.type,source,ownerFn);case REACT_LAZY_TYPE:var payload\x3dtype._payload;type\x3dtype._init;try{return describeUnknownElementTypeFrameInDEV(type(payload),source,ownerFn)}catch(x){}}return\x22\x22}function describeFiber(fiber){switch(fiber.tag){case 5:return describeBuiltInComponentFrame(fiber.type);\ncase 16:return describeBuiltInComponentFrame(\x22Lazy\x22);case 13:return describeBuiltInComponentFrame(\x22Suspense\x22);case 19:return describeBuiltInComponentFrame(\x22SuspenseList\x22);case 0:case 2:case 15:return fiber\x3ddescribeNativeComponentFrame(fiber.type,!1),fiber;case 11:return fiber\x3ddescribeNativeComponentFrame(fiber.type.render,!1),fiber;case 1:return fiber\x3ddescribeNativeComponentFrame(fiber.type,!0),fiber;default:return\x22\x22}}function getStackByFiberInDevAndProd(workInProgress){try{var info\x3d\x22\x22;do info+\x3ddescribeFiber(workInProgress),\nworkInProgress\x3dworkInProgress.return;while(workInProgress);return info}catch(x){return\x22\\nError generating stack: \x22+x.message+\x22\\n\x22+x.stack}}function getComponentNameFromType(type){if(null\x3d\x3dtype)return null;\x22number\x22\x3d\x3d\x3dtypeof type.tag\x26\x26error$jscomp$0(\x22Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\x22);if(\x22function\x22\x3d\x3d\x3dtypeof type)return type.displayName||type.name||null;if(\x22string\x22\x3d\x3d\x3dtypeof type)return type;switch(type){case REACT_FRAGMENT_TYPE:return\x22Fragment\x22;\ncase REACT_PORTAL_TYPE:return\x22Portal\x22;case REACT_PROFILER_TYPE:return\x22Profiler\x22;case REACT_STRICT_MODE_TYPE:return\x22StrictMode\x22;case REACT_SUSPENSE_TYPE:return\x22Suspense\x22;case REACT_SUSPENSE_LIST_TYPE:return\x22SuspenseList\x22}if(\x22object\x22\x3d\x3d\x3dtypeof type)switch(type.$$typeof){case REACT_CONTEXT_TYPE:return(type.displayName||\x22Context\x22)+\x22.Consumer\x22;case REACT_PROVIDER_TYPE:return(type._context.displayName||\x22Context\x22)+\x22.Provider\x22;case REACT_FORWARD_REF_TYPE:var innerType\x3dtype.render;type\x3dtype.displayName;type||\n(type\x3dinnerType.displayName||innerType.name||\x22\x22,type\x3d\x22\x22!\x3d\x3dtype?\x22ForwardRef(\x22+type+\x22)\x22:\x22ForwardRef\x22);return type;case REACT_MEMO_TYPE:return innerType\x3dtype.displayName||null,null!\x3d\x3dinnerType?innerType:getComponentNameFromType(type.type)||\x22Memo\x22;case REACT_LAZY_TYPE:innerType\x3dtype._payload;type\x3dtype._init;try{return getComponentNameFromType(type(innerType))}catch(x){}}return null}function getComponentNameFromFiber(fiber){var type\x3dfiber.type;switch(fiber.tag){case 24:return\x22Cache\x22;case 9:return(type.displayName||\n\x22Context\x22)+\x22.Consumer\x22;case 10:return(type._context.displayName||\x22Context\x22)+\x22.Provider\x22;case 18:return\x22DehydratedFragment\x22;case 11:return fiber\x3dtype.render,fiber\x3dfiber.displayName||fiber.name||\x22\x22,type.displayName||(\x22\x22!\x3d\x3dfiber?\x22ForwardRef(\x22+fiber+\x22)\x22:\x22ForwardRef\x22);case 7:return\x22Fragment\x22;case 5:return type;case 4:return\x22Portal\x22;case 3:return\x22Root\x22;case 6:return\x22Text\x22;case 16:return getComponentNameFromType(type);case 8:return type\x3d\x3d\x3dREACT_STRICT_MODE_TYPE?\x22StrictMode\x22:\x22Mode\x22;case 22:return\x22Offscreen\x22;\ncase 12:return\x22Profiler\x22;case 21:return\x22Scope\x22;case 13:return\x22Suspense\x22;case 19:return\x22SuspenseList\x22;case 25:return\x22TracingMarker\x22;case 1:case 0:case 17:case 2:case 14:case 15:if(\x22function\x22\x3d\x3d\x3dtypeof type)return type.displayName||type.name||null;if(\x22string\x22\x3d\x3d\x3dtypeof type)return type}return null}function getCurrentFiberOwnerNameInDevOrNull(){if(null\x3d\x3d\x3dcurrent)return null;var owner\x3dcurrent._debugOwner;return null!\x3d\x3downer\x26\x26\x22undefined\x22!\x3d\x3dtypeof owner?getComponentNameFromFiber(owner):null}function getCurrentFiberStackInDev(){return null\x3d\x3d\x3d\ncurrent?\x22\x22:getStackByFiberInDevAndProd(current)}function resetCurrentFiber(){current\x3dReactDebugCurrentFrame.getCurrentStack\x3dnull;isRendering\x3d!1}function setCurrentFiber(fiber){ReactDebugCurrentFrame.getCurrentStack\x3dnull\x3d\x3d\x3dfiber?null:getCurrentFiberStackInDev;current\x3dfiber;isRendering\x3d!1}function getToStringValue(value){switch(typeof value){case \x22boolean\x22:case \x22number\x22:case \x22string\x22:case \x22undefined\x22:return value;case \x22object\x22:return value;default:return\x22\x22}}function checkControlledValueProps(tagName,\nprops){hasReadOnlyValue[props.type]||props.onChange||props.onInput||props.readOnly||props.disabled||null\x3d\x3dprops.value||error$jscomp$0(\x22You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\x22);props.onChange||props.readOnly||props.disabled||null\x3d\x3dprops.checked||error$jscomp$0(\x22You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\x22)}\nfunction isCheckable(elem){var type\x3delem.type;return(elem\x3delem.nodeName)\x26\x26\x22input\x22\x3d\x3d\x3delem.toLowerCase()\x26\x26(\x22checkbox\x22\x3d\x3d\x3dtype||\x22radio\x22\x3d\x3d\x3dtype)}function trackValueOnNode(node){var valueField\x3disCheckable(node)?\x22checked\x22:\x22value\x22,descriptor\x3dObject.getOwnPropertyDescriptor(node.constructor.prototype,valueField),currentValue\x3d\x22\x22+node[valueField];if(!node.hasOwnProperty(valueField)\x26\x26\x22undefined\x22!\x3d\x3dtypeof descriptor\x26\x26\x22function\x22\x3d\x3d\x3dtypeof descriptor.get\x26\x26\x22function\x22\x3d\x3d\x3dtypeof descriptor.set){var get\x3ddescriptor.get,\nset\x3ddescriptor.set;Object.defineProperty(node,valueField,{configurable:!0,get:function(){return get.call(this)},set:function(value){currentValue\x3d\x22\x22+value;set.call(this,value)}});Object.defineProperty(node,valueField,{enumerable:descriptor.enumerable});return{getValue:function(){return currentValue},setValue:function(value){currentValue\x3d\x22\x22+value},stopTracking:function(){node._valueTracker\x3dnull;delete node[valueField]}}}}function track(node){node._valueTracker||(node._valueTracker\x3dtrackValueOnNode(node))}\nfunction updateValueIfChanged(node){if(!node)return!1;var tracker\x3dnode._valueTracker;if(!tracker)return!0;var lastValue\x3dtracker.getValue();var value\x3d\x22\x22;node\x26\x26(value\x3disCheckable(node)?node.checked?\x22true\x22:\x22false\x22:node.value);node\x3dvalue;return node!\x3d\x3dlastValue?(tracker.setValue(node),!0):!1}function getActiveElement(doc){doc\x3ddoc||(\x22undefined\x22!\x3d\x3dtypeof document?document:void 0);if(\x22undefined\x22\x3d\x3d\x3dtypeof doc)return null;try{return doc.activeElement||doc.body}catch(e){return doc.body}}function isControlled(props){return\x22checkbox\x22\x3d\x3d\x3d\nprops.type||\x22radio\x22\x3d\x3d\x3dprops.type?null!\x3dprops.checked:null!\x3dprops.value}function getHostProps(element,props){var checked\x3dprops.checked;return assign({},props,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!\x3dchecked?checked:element._wrapperState.initialChecked})}function initWrapperState(element,props){checkControlledValueProps(\x22input\x22,props);void 0\x3d\x3d\x3dprops.checked||void 0\x3d\x3d\x3dprops.defaultChecked||didWarnCheckedDefaultChecked||(error$jscomp$0(\x22%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\x22,\ngetCurrentFiberOwnerNameInDevOrNull()||\x22A component\x22,props.type),didWarnCheckedDefaultChecked\x3d!0);void 0\x3d\x3d\x3dprops.value||void 0\x3d\x3d\x3dprops.defaultValue||didWarnValueDefaultValue||(error$jscomp$0(\x22%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\x22,\ngetCurrentFiberOwnerNameInDevOrNull()||\x22A component\x22,props.type),didWarnValueDefaultValue\x3d!0);var defaultValue\x3dnull\x3d\x3dprops.defaultValue?\x22\x22:props.defaultValue;element._wrapperState\x3d{initialChecked:null!\x3dprops.checked?props.checked:props.defaultChecked,initialValue:getToStringValue(null!\x3dprops.value?props.value:defaultValue),controlled:isControlled(props)}}function updateChecked(element,props){props\x3dprops.checked;null!\x3dprops\x26\x26setValueForProperty(element,\x22checked\x22,props,!1)}function updateWrapper(element,\nprops){var controlled\x3disControlled(props);element._wrapperState.controlled||!controlled||didWarnUncontrolledToControlled||(error$jscomp$0(\x22A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\x22),didWarnUncontrolledToControlled\x3d!0);\n!element._wrapperState.controlled||controlled||didWarnControlledToUncontrolled||(error$jscomp$0(\x22A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\x22),didWarnControlledToUncontrolled\x3d!0);updateChecked(element,props);controlled\x3dgetToStringValue(props.value);\nvar type\x3dprops.type;if(null!\x3dcontrolled)if(\x22number\x22\x3d\x3d\x3dtype){if(0\x3d\x3d\x3dcontrolled\x26\x26\x22\x22\x3d\x3d\x3delement.value||element.value!\x3dcontrolled)element.value\x3d\x22\x22+controlled}else element.value!\x3d\x3d\x22\x22+controlled\x26\x26(element.value\x3d\x22\x22+controlled);else if(\x22submit\x22\x3d\x3d\x3dtype||\x22reset\x22\x3d\x3d\x3dtype){element.removeAttribute(\x22value\x22);return}props.hasOwnProperty(\x22value\x22)?setDefaultValue(element,props.type,controlled):props.hasOwnProperty(\x22defaultValue\x22)\x26\x26setDefaultValue(element,props.type,getToStringValue(props.defaultValue));null\x3d\x3dprops.checked\x26\x26\nnull!\x3dprops.defaultChecked\x26\x26(element.defaultChecked\x3d!!props.defaultChecked)}function postMountWrapper(element,props,isHydrating){if(props.hasOwnProperty(\x22value\x22)||props.hasOwnProperty(\x22defaultValue\x22)){var type\x3dprops.type;if(!(\x22submit\x22!\x3d\x3dtype\x26\x26\x22reset\x22!\x3d\x3dtype||void 0!\x3d\x3dprops.value\x26\x26null!\x3d\x3dprops.value))return;props\x3d\x22\x22+element._wrapperState.initialValue;isHydrating||props\x3d\x3d\x3delement.value||(element.value\x3dprops);element.defaultValue\x3dprops}isHydrating\x3delement.name;\x22\x22!\x3d\x3disHydrating\x26\x26(element.name\x3d\x22\x22);element.defaultChecked\x3d\n!element.defaultChecked;element.defaultChecked\x3d!!element._wrapperState.initialChecked;\x22\x22!\x3d\x3disHydrating\x26\x26(element.name\x3disHydrating)}function setDefaultValue(node,type,value){if(\x22number\x22!\x3d\x3dtype||getActiveElement(node.ownerDocument)!\x3d\x3dnode)null\x3d\x3dvalue?node.defaultValue\x3d\x22\x22+node._wrapperState.initialValue:node.defaultValue!\x3d\x3d\x22\x22+value\x26\x26(node.defaultValue\x3d\x22\x22+value)}function validateProps(element,props){null\x3d\x3dprops.value\x26\x26(\x22object\x22\x3d\x3d\x3dtypeof props.children\x26\x26null!\x3d\x3dprops.children?React.Children.forEach(props.children,\nfunction(child){null\x3d\x3dchild||\x22string\x22\x3d\x3d\x3dtypeof child||\x22number\x22\x3d\x3d\x3dtypeof child||didWarnInvalidChild||(didWarnInvalidChild\x3d!0,error$jscomp$0(\x22Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to \\x3coption\\x3e.\x22))}):null\x3d\x3dprops.dangerouslySetInnerHTML||didWarnInvalidInnerHTML||(didWarnInvalidInnerHTML\x3d!0,error$jscomp$0(\x22Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.\x22)));null\x3d\x3dprops.selected||didWarnSelectedSetOnOption||\n(error$jscomp$0(\x22Use the `defaultValue` or `value` props on \\x3cselect\\x3e instead of setting `selected` on \\x3coption\\x3e.\x22),didWarnSelectedSetOnOption\x3d!0)}function getDeclarationErrorAddendum(){var ownerName\x3dgetCurrentFiberOwnerNameInDevOrNull();return ownerName?\x22\\n\\nCheck the render method of `\x22+ownerName+\x22`.\x22:\x22\x22}function updateOptions(node,multiple,propValue,setDefaultSelected){node\x3dnode.options;if(multiple){multiple\x3d{};for(var i\x3d0;i\x3cpropValue.length;i++)multiple[\x22$\x22+propValue[i]]\x3d!0;for(propValue\x3d\n0;propValue\x3cnode.length;propValue++)i\x3dmultiple.hasOwnProperty(\x22$\x22+node[propValue].value),node[propValue].selected!\x3d\x3di\x26\x26(node[propValue].selected\x3di),i\x26\x26setDefaultSelected\x26\x26(node[propValue].defaultSelected\x3d!0)}else{propValue\x3d\x22\x22+getToStringValue(propValue);multiple\x3dnull;for(i\x3d0;i\x3cnode.length;i++){if(node[i].value\x3d\x3d\x3dpropValue){node[i].selected\x3d!0;setDefaultSelected\x26\x26(node[i].defaultSelected\x3d!0);return}null!\x3d\x3dmultiple||node[i].disabled||(multiple\x3dnode[i])}null!\x3d\x3dmultiple\x26\x26(multiple.selected\x3d!0)}}function initWrapperState$1(element,\nprops){checkControlledValueProps(\x22select\x22,props);for(var i\x3d0;i\x3cvaluePropNames.length;i++){var propName\x3dvaluePropNames[i];if(null!\x3dprops[propName]){var propNameIsArray\x3disArrayImpl(props[propName]);props.multiple\x26\x26!propNameIsArray?error$jscomp$0(\x22The `%s` prop supplied to \\x3cselect\\x3e must be an array if `multiple` is true.%s\x22,propName,getDeclarationErrorAddendum()):!props.multiple\x26\x26propNameIsArray\x26\x26error$jscomp$0(\x22The `%s` prop supplied to \\x3cselect\\x3e must be a scalar value if `multiple` is false.%s\x22,\npropName,getDeclarationErrorAddendum())}}element._wrapperState\x3d{wasMultiple:!!props.multiple};void 0\x3d\x3d\x3dprops.value||void 0\x3d\x3d\x3dprops.defaultValue||didWarnValueDefaultValue$1||(error$jscomp$0(\x22Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components\x22),didWarnValueDefaultValue$1\x3d\n!0)}function getHostProps$2(element,props){if(null!\x3dprops.dangerouslySetInnerHTML)throw Error(\x22`dangerouslySetInnerHTML` does not make sense on \\x3ctextarea\\x3e.\x22);return assign({},props,{value:void 0,defaultValue:void 0,children:\x22\x22+element._wrapperState.initialValue})}function initWrapperState$2(element,props){checkControlledValueProps(\x22textarea\x22,props);void 0\x3d\x3d\x3dprops.value||void 0\x3d\x3d\x3dprops.defaultValue||didWarnValDefaultVal||(error$jscomp$0(\x22%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components\x22,\ngetCurrentFiberOwnerNameInDevOrNull()||\x22A component\x22),didWarnValDefaultVal\x3d!0);var initialValue\x3dprops.value;if(null\x3d\x3dinitialValue){initialValue\x3dprops.children;props\x3dprops.defaultValue;if(null!\x3dinitialValue){error$jscomp$0(\x22Use the `defaultValue` or `value` props instead of setting children on \\x3ctextarea\\x3e.\x22);if(null!\x3dprops)throw Error(\x22If you supply `defaultValue` on a \\x3ctextarea\\x3e, do not pass children.\x22);if(isArrayImpl(initialValue)){if(1\x3cinitialValue.length)throw Error(\x22\\x3ctextarea\\x3e can only have at most one child.\x22);\ninitialValue\x3dinitialValue[0]}props\x3dinitialValue}null\x3d\x3dprops\x26\x26(props\x3d\x22\x22);initialValue\x3dprops}element._wrapperState\x3d{initialValue:getToStringValue(initialValue)}}function updateWrapper$1(element,props){var value\x3dgetToStringValue(props.value),defaultValue\x3dgetToStringValue(props.defaultValue);null!\x3dvalue\x26\x26(value\x3d\x22\x22+value,value!\x3d\x3delement.value\x26\x26(element.value\x3dvalue),null\x3d\x3dprops.defaultValue\x26\x26element.defaultValue!\x3d\x3dvalue\x26\x26(element.defaultValue\x3dvalue));null!\x3ddefaultValue\x26\x26(element.defaultValue\x3d\x22\x22+defaultValue)}\nfunction postMountWrapper$3(element,props){props\x3delement.textContent;props\x3d\x3d\x3delement._wrapperState.initialValue\x26\x26\x22\x22!\x3d\x3dprops\x26\x26null!\x3d\x3dprops\x26\x26(element.value\x3dprops)}function getIntrinsicNamespace(type){switch(type){case \x22svg\x22:return\x22http://www.w3.org/2000/svg\x22;case \x22math\x22:return\x22http://www.w3.org/1998/Math/MathML\x22;default:return\x22http://www.w3.org/1999/xhtml\x22}}function getChildNamespace(parentNamespace,type){return null\x3d\x3dparentNamespace||\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dparentNamespace?getIntrinsicNamespace(type):\n\x22http://www.w3.org/2000/svg\x22\x3d\x3d\x3dparentNamespace\x26\x26\x22foreignObject\x22\x3d\x3d\x3dtype?\x22http://www.w3.org/1999/xhtml\x22:parentNamespace}function dangerousStyleValue(name,value,isCustomProperty){return null\x3d\x3dvalue||\x22boolean\x22\x3d\x3d\x3dtypeof value||\x22\x22\x3d\x3d\x3dvalue?\x22\x22:isCustomProperty||\x22number\x22!\x3d\x3dtypeof value||0\x3d\x3d\x3dvalue||isUnitlessNumber.hasOwnProperty(name)\x26\x26isUnitlessNumber[name]?(\x22\x22+value).trim():value+\x22px\x22}function setValueForStyles(node,styles){node\x3dnode.style;for(var styleName in styles)if(styles.hasOwnProperty(styleName)){var isCustomProperty\x3d\n0\x3d\x3d\x3dstyleName.indexOf(\x22--\x22);isCustomProperty||warnValidStyle$1(styleName,styles[styleName]);var styleValue\x3ddangerousStyleValue(styleName,styles[styleName],isCustomProperty);\x22float\x22\x3d\x3d\x3dstyleName\x26\x26(styleName\x3d\x22cssFloat\x22);isCustomProperty?node.setProperty(styleName,styleValue):node[styleName]\x3dstyleValue}}function expandShorthandMap(styles){var expanded\x3d{},key;for(key in styles){styles\x3dshorthandToLonghand[key]||[key];for(var i\x3d0;i\x3cstyles.length;i++)expanded[styles[i]]\x3dkey}return expanded}function assertValidProps(tag,\nprops){if(props){if(voidElementTags[tag]\x26\x26(null!\x3dprops.children||null!\x3dprops.dangerouslySetInnerHTML))throw Error(tag+\x22 is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\x22);if(null!\x3dprops.dangerouslySetInnerHTML){if(null!\x3dprops.children)throw Error(\x22Can only set one of `children` or `props.dangerouslySetInnerHTML`.\x22);if(\x22object\x22!\x3d\x3dtypeof props.dangerouslySetInnerHTML||!(\x22__html\x22in props.dangerouslySetInnerHTML))throw Error(\x22`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.\x22);\n}!props.suppressContentEditableWarning\x26\x26props.contentEditable\x26\x26null!\x3dprops.children\x26\x26error$jscomp$0(\x22A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.\x22);if(null!\x3dprops.style\x26\x26\x22object\x22!\x3d\x3dtypeof props.style)throw Error(\x22The `style` prop expects a mapping from style properties to values, not a string. For example, style\\x3d{{marginRight: spacing + \x27em\x27}} when using JSX.\x22);\n}}function isCustomComponent(tagName,props){if(-1\x3d\x3d\x3dtagName.indexOf(\x22-\x22))return\x22string\x22\x3d\x3d\x3dtypeof props.is;switch(tagName){case \x22annotation-xml\x22:case \x22color-profile\x22:case \x22font-face\x22:case \x22font-face-src\x22:case \x22font-face-uri\x22:case \x22font-face-format\x22:case \x22font-face-name\x22:case \x22missing-glyph\x22:return!1;default:return!0}}function validateProperty(tagName,name){if(hasOwnProperty.call(warnedProperties,name)\x26\x26warnedProperties[name])return!0;if(rARIACamel.test(name)){tagName\x3d\x22aria-\x22+name.slice(4).toLowerCase();\ntagName\x3dariaProperties.hasOwnProperty(tagName)?tagName:null;if(null\x3d\x3dtagName)return error$jscomp$0(\x22Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.\x22,name),warnedProperties[name]\x3d!0;if(name!\x3d\x3dtagName)return error$jscomp$0(\x22Invalid ARIA attribute `%s`. Did you mean `%s`?\x22,name,tagName),warnedProperties[name]\x3d!0}if(rARIA.test(name)){tagName\x3dname.toLowerCase();tagName\x3dariaProperties.hasOwnProperty(tagName)?tagName:null;if(null\x3d\x3dtagName)return warnedProperties[name]\x3d\n!0,!1;name!\x3d\x3dtagName\x26\x26(error$jscomp$0(\x22Unknown ARIA attribute `%s`. Did you mean `%s`?\x22,name,tagName),warnedProperties[name]\x3d!0)}return!0}function warnInvalidARIAProps(type,props){var invalidProps\x3d[],key;for(key in props)validateProperty(type,key)||invalidProps.push(key);props\x3dinvalidProps.map(function(prop){return\x22`\x22+prop+\x22`\x22}).join(\x22, \x22);1\x3d\x3d\x3dinvalidProps.length?error$jscomp$0(\x22Invalid aria prop %s on \\x3c%s\\x3e tag. For details, see https://reactjs.org/link/invalid-aria-props\x22,props,type):1\x3cinvalidProps.length\x26\x26\nerror$jscomp$0(\x22Invalid aria props %s on \\x3c%s\\x3e tag. For details, see https://reactjs.org/link/invalid-aria-props\x22,props,type)}function getEventTarget(nativeEvent){nativeEvent\x3dnativeEvent.target||nativeEvent.srcElement||window;nativeEvent.correspondingUseElement\x26\x26(nativeEvent\x3dnativeEvent.correspondingUseElement);return 3\x3d\x3d\x3dnativeEvent.nodeType?nativeEvent.parentNode:nativeEvent}function restoreStateOfTarget(target){if(target\x3dgetInstanceFromNode(target)){if(\x22function\x22!\x3d\x3dtypeof restoreImpl)throw Error(\x22setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue.\x22);\nvar stateNode\x3dtarget.stateNode;stateNode\x26\x26(stateNode\x3dgetFiberCurrentPropsFromNode(stateNode),restoreImpl(target.stateNode,target.type,stateNode))}}function enqueueStateRestore(target){restoreTarget?restoreQueue?restoreQueue.push(target):restoreQueue\x3d[target]:restoreTarget\x3dtarget}function restoreStateIfNeeded(){if(restoreTarget){var target\x3drestoreTarget,queuedTargets\x3drestoreQueue;restoreQueue\x3drestoreTarget\x3dnull;restoreStateOfTarget(target);if(queuedTargets)for(target\x3d0;target\x3cqueuedTargets.length;target++)restoreStateOfTarget(queuedTargets[target])}}\nfunction batchedUpdates(fn,a,b){if(isInsideEventHandler)return fn(a,b);isInsideEventHandler\x3d!0;try{return batchedUpdatesImpl(fn,a,b)}finally{if(isInsideEventHandler\x3d!1,null!\x3d\x3drestoreTarget||null!\x3d\x3drestoreQueue)flushSyncImpl(),restoreStateIfNeeded()}}function getListener(inst,registrationName){var stateNode\x3dinst.stateNode;if(null\x3d\x3d\x3dstateNode)return null;var props\x3dgetFiberCurrentPropsFromNode(stateNode);if(null\x3d\x3d\x3dprops)return null;stateNode\x3dprops[registrationName];a:switch(registrationName){case \x22onClick\x22:case \x22onClickCapture\x22:case \x22onDoubleClick\x22:case \x22onDoubleClickCapture\x22:case \x22onMouseDown\x22:case \x22onMouseDownCapture\x22:case \x22onMouseMove\x22:case \x22onMouseMoveCapture\x22:case \x22onMouseUp\x22:case \x22onMouseUpCapture\x22:case \x22onMouseEnter\x22:(props\x3d\n!props.disabled)||(inst\x3dinst.type,props\x3d!(\x22button\x22\x3d\x3d\x3dinst||\x22input\x22\x3d\x3d\x3dinst||\x22select\x22\x3d\x3d\x3dinst||\x22textarea\x22\x3d\x3d\x3dinst));inst\x3d!props;break a;default:inst\x3d!1}if(inst)return null;if(stateNode\x26\x26\x22function\x22!\x3d\x3dtypeof stateNode)throw Error(\x22Expected `\x22+registrationName+\x22` listener to be a function, instead got a value of `\x22+typeof stateNode+\x22` type.\x22);return stateNode}function invokeGuardedCallbackProd(name,func,context,a,b,c,d,e,f){var funcArgs\x3dArray.prototype.slice.call(arguments,3);try{func.apply(context,funcArgs)}catch(error){this.onError(error)}}\nfunction invokeGuardedCallback(name,func,context,a,b,c,d,e,f){hasError\x3d!1;caughtError\x3dnull;invokeGuardedCallbackImpl$1.apply(reporter,arguments)}function invokeGuardedCallbackAndCatchFirstError(name,func,context,a,b,c,d,e,f){invokeGuardedCallback.apply(this,arguments);if(hasError){var error\x3dclearCaughtError();hasRethrowError||(hasRethrowError\x3d!0,rethrowError\x3derror)}}function clearCaughtError(){if(hasError){var error\x3dcaughtError;hasError\x3d!1;caughtError\x3dnull;return error}throw Error(\x22clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.\x22);\n}function getNearestMountedFiber(fiber){var node\x3dfiber,nearestMounted\x3dfiber;if(fiber.alternate)for(;node.return;)node\x3dnode.return;else{fiber\x3dnode;do node\x3dfiber,0!\x3d\x3d(node.flags\x264098)\x26\x26(nearestMounted\x3dnode.return),fiber\x3dnode.return;while(fiber)}return 3\x3d\x3d\x3dnode.tag?nearestMounted:null}function getSuspenseInstanceFromFiber(fiber){if(13\x3d\x3d\x3dfiber.tag){var suspenseState\x3dfiber.memoizedState;null\x3d\x3d\x3dsuspenseState\x26\x26(fiber\x3dfiber.alternate,null!\x3d\x3dfiber\x26\x26(suspenseState\x3dfiber.memoizedState));if(null!\x3d\x3dsuspenseState)return suspenseState.dehydrated}return null}\nfunction assertIsMounted(fiber){if(getNearestMountedFiber(fiber)!\x3d\x3dfiber)throw Error(\x22Unable to find node on an unmounted component.\x22);}function findCurrentFiberUsingSlowPath(fiber){var alternate\x3dfiber.alternate;if(!alternate){alternate\x3dgetNearestMountedFiber(fiber);if(null\x3d\x3d\x3dalternate)throw Error(\x22Unable to find node on an unmounted component.\x22);return alternate!\x3d\x3dfiber?null:fiber}for(var a\x3dfiber,b\x3dalternate;;){var parentA\x3da.return;if(null\x3d\x3d\x3dparentA)break;var parentB\x3dparentA.alternate;if(null\x3d\x3d\x3d\nparentB){b\x3dparentA.return;if(null!\x3d\x3db){a\x3db;continue}break}if(parentA.child\x3d\x3d\x3dparentB.child){for(parentB\x3dparentA.child;parentB;){if(parentB\x3d\x3d\x3da)return assertIsMounted(parentA),fiber;if(parentB\x3d\x3d\x3db)return assertIsMounted(parentA),alternate;parentB\x3dparentB.sibling}throw Error(\x22Unable to find node on an unmounted component.\x22);}if(a.return!\x3d\x3db.return)a\x3dparentA,b\x3dparentB;else{for(var didFindChild\x3d!1,_child\x3dparentA.child;_child;){if(_child\x3d\x3d\x3da){didFindChild\x3d!0;a\x3dparentA;b\x3dparentB;break}if(_child\x3d\x3d\x3db){didFindChild\x3d\n!0;b\x3dparentA;a\x3dparentB;break}_child\x3d_child.sibling}if(!didFindChild){for(_child\x3dparentB.child;_child;){if(_child\x3d\x3d\x3da){didFindChild\x3d!0;a\x3dparentB;b\x3dparentA;break}if(_child\x3d\x3d\x3db){didFindChild\x3d!0;b\x3dparentB;a\x3dparentA;break}_child\x3d_child.sibling}if(!didFindChild)throw Error(\x22Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\x22);}}if(a.alternate!\x3d\x3db)throw Error(\x22Return fibers should always be each others\x27 alternates. This error is likely caused by a bug in React. Please file an issue.\x22);\n}if(3!\x3d\x3da.tag)throw Error(\x22Unable to find node on an unmounted component.\x22);return a.stateNode.current\x3d\x3d\x3da?fiber:alternate}function findCurrentHostFiber(parent){parent\x3dfindCurrentFiberUsingSlowPath(parent);return null!\x3d\x3dparent?findCurrentHostFiberImpl(parent):null}function findCurrentHostFiberImpl(node){if(5\x3d\x3d\x3dnode.tag||6\x3d\x3d\x3dnode.tag)return node;for(node\x3dnode.child;null!\x3d\x3dnode;){var match\x3dfindCurrentHostFiberImpl(node);if(null!\x3d\x3dmatch)return match;node\x3dnode.sibling}return null}function findCurrentHostFiberWithNoPortalsImpl(node){if(5\x3d\x3d\x3d\nnode.tag||6\x3d\x3d\x3dnode.tag)return node;for(node\x3dnode.child;null!\x3d\x3dnode;){if(4!\x3d\x3dnode.tag){var match\x3dfindCurrentHostFiberWithNoPortalsImpl(node);if(null!\x3d\x3dmatch)return match}node\x3dnode.sibling}return null}function injectInternals(internals){if(\x22undefined\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var hook\x3d__REACT_DEVTOOLS_GLOBAL_HOOK__;if(hook.isDisabled)return!0;if(!hook.supportsFiber)return error$jscomp$0(\x22The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://reactjs.org/link/react-devtools\x22),\n!0;try{internals\x3dassign({},internals,{getLaneLabelMap,injectProfilingHooks}),rendererID\x3dhook.inject(internals),injectedHook\x3dhook}catch(err){error$jscomp$0(\x22React instrumentation encountered an error: %s.\x22,err)}return hook.checkDCE?!0:!1}function onCommitRoot(root,eventPriority){if(injectedHook\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedHook.onCommitFiberRoot)try{var didError\x3d128\x3d\x3d\x3d(root.current.flags\x26128);switch(eventPriority){case DiscreteEventPriority:var schedulerPriority\x3dImmediatePriority;break;case ContinuousEventPriority:schedulerPriority\x3d\nUserBlockingPriority;break;case DefaultEventPriority:schedulerPriority\x3dNormalPriority;break;case IdleEventPriority:schedulerPriority\x3dIdlePriority;break;default:schedulerPriority\x3dNormalPriority}injectedHook.onCommitFiberRoot(rendererID,root,schedulerPriority,didError)}catch(err){hasLoggedError||(hasLoggedError\x3d!0,error$jscomp$0(\x22React instrumentation encountered an error: %s\x22,err))}}function setIsStrictModeForDevtools(newIsStrictMode){\x22function\x22\x3d\x3d\x3dtypeof unstable_yieldValue\x26\x26(unstable_setDisableYieldValue(newIsStrictMode),\nsuppressWarning\x3dnewIsStrictMode);if(injectedHook\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedHook.setStrictMode)try{injectedHook.setStrictMode(rendererID,newIsStrictMode)}catch(err){hasLoggedError||(hasLoggedError\x3d!0,error$jscomp$0(\x22React instrumentation encountered an error: %s\x22,err))}}function injectProfilingHooks(profilingHooks){injectedProfilingHooks\x3dprofilingHooks}function getLaneLabelMap(){for(var map\x3dnew Map,lane\x3d1,index\x3d0;index\x3cTotalLanes;index++){var label\x3dgetLabelForLane(lane);map.set(lane,label);lane*\x3d\n2}return map}function markCommitStopped(){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markCommitStopped\x26\x26injectedProfilingHooks.markCommitStopped()}function markComponentRenderStarted(fiber){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentRenderStarted\x26\x26injectedProfilingHooks.markComponentRenderStarted(fiber)}function markComponentRenderStopped(){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentRenderStopped\x26\x26\ninjectedProfilingHooks.markComponentRenderStopped()}function markComponentLayoutEffectUnmountStarted(fiber){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted\x26\x26injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber)}function markComponentLayoutEffectUnmountStopped(){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped\x26\x26injectedProfilingHooks.markComponentLayoutEffectUnmountStopped()}\nfunction markRenderStarted(lanes){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markRenderStarted\x26\x26injectedProfilingHooks.markRenderStarted(lanes)}function markRenderStopped(){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markRenderStopped\x26\x26injectedProfilingHooks.markRenderStopped()}function markStateUpdateScheduled(fiber,lane){null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markStateUpdateScheduled\x26\x26injectedProfilingHooks.markStateUpdateScheduled(fiber,\nlane)}function clz32Fallback(x){x\x3e\x3e\x3e\x3d0;return 0\x3d\x3d\x3dx?32:31-(log(x)/LN2|0)|0}function getLabelForLane(lane){if(lane\x26SyncLane)return\x22Sync\x22;if(lane\x26InputContinuousHydrationLane)return\x22InputContinuousHydration\x22;if(lane\x26InputContinuousLane)return\x22InputContinuous\x22;if(lane\x26DefaultHydrationLane)return\x22DefaultHydration\x22;if(lane\x26DefaultLane)return\x22Default\x22;if(lane\x26TransitionHydrationLane)return\x22TransitionHydration\x22;if(lane\x26TransitionLanes)return\x22Transition\x22;if(lane\x26RetryLanes)return\x22Retry\x22;if(lane\x26SelectiveHydrationLane)return\x22SelectiveHydration\x22;\nif(lane\x26IdleHydrationLane)return\x22IdleHydration\x22;if(lane\x26IdleLane)return\x22Idle\x22;if(lane\x26OffscreenLane)return\x22Offscreen\x22}function getHighestPriorityLanes(lanes){switch(lanes\x26-lanes){case SyncLane:return SyncLane;case InputContinuousHydrationLane:return InputContinuousHydrationLane;case InputContinuousLane:return InputContinuousLane;case DefaultHydrationLane:return DefaultHydrationLane;case DefaultLane:return DefaultLane;case TransitionHydrationLane:return TransitionHydrationLane;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return lanes\x26\nTransitionLanes;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return lanes\x26RetryLanes;case SelectiveHydrationLane:return SelectiveHydrationLane;case IdleHydrationLane:return IdleHydrationLane;case IdleLane:return IdleLane;case OffscreenLane:return OffscreenLane;default:return error$jscomp$0(\x22Should have found matching lanes. This is a bug in React.\x22),lanes}}function getNextLanes(root,wipLanes){var pendingLanes\x3droot.pendingLanes;if(0\x3d\x3d\x3dpendingLanes)return 0;var nextLanes\x3d0,suspendedLanes\x3d\nroot.suspendedLanes,pingedLanes\x3droot.pingedLanes,nonIdlePendingLanes\x3dpendingLanes\x26268435455;if(0!\x3d\x3dnonIdlePendingLanes){var nonIdleUnblockedLanes\x3dnonIdlePendingLanes\x26~suspendedLanes;0!\x3d\x3dnonIdleUnblockedLanes?nextLanes\x3dgetHighestPriorityLanes(nonIdleUnblockedLanes):(pingedLanes\x26\x3dnonIdlePendingLanes,0!\x3d\x3dpingedLanes\x26\x26(nextLanes\x3dgetHighestPriorityLanes(pingedLanes)))}else nonIdlePendingLanes\x3dpendingLanes\x26~suspendedLanes,0!\x3d\x3dnonIdlePendingLanes?nextLanes\x3dgetHighestPriorityLanes(nonIdlePendingLanes):0!\x3d\x3d\npingedLanes\x26\x26(nextLanes\x3dgetHighestPriorityLanes(pingedLanes));if(0\x3d\x3d\x3dnextLanes)return 0;if(0!\x3d\x3dwipLanes\x26\x26wipLanes!\x3d\x3dnextLanes\x26\x260\x3d\x3d\x3d(wipLanes\x26suspendedLanes)\x26\x26(suspendedLanes\x3dnextLanes\x26-nextLanes,pingedLanes\x3dwipLanes\x26-wipLanes,suspendedLanes\x3e\x3dpingedLanes||suspendedLanes\x3d\x3d\x3dDefaultLane\x26\x260!\x3d\x3d(pingedLanes\x26TransitionLanes)))return wipLanes;0!\x3d\x3d(nextLanes\x26InputContinuousLane)\x26\x26(nextLanes|\x3dpendingLanes\x26DefaultLane);wipLanes\x3droot.entangledLanes;if(0!\x3d\x3dwipLanes)for(root\x3droot.entanglements,wipLanes\x26\x3dnextLanes;0\x3c\nwipLanes;)pendingLanes\x3d31-clz32(wipLanes),suspendedLanes\x3d1\x3c\x3cpendingLanes,nextLanes|\x3droot[pendingLanes],wipLanes\x26\x3d~suspendedLanes;return nextLanes}function computeExpirationTime(lane,currentTime){switch(lane){case SyncLane:case InputContinuousHydrationLane:case InputContinuousLane:return currentTime+250;case DefaultHydrationLane:case DefaultLane:case TransitionHydrationLane:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return currentTime+\n5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case SelectiveHydrationLane:case IdleHydrationLane:case IdleLane:case OffscreenLane:return-1;default:return error$jscomp$0(\x22Should have found matching lanes. This is a bug in React.\x22),-1}}function markStarvedLanesAsExpired(root,currentTime){for(var suspendedLanes\x3droot.suspendedLanes,pingedLanes\x3droot.pingedLanes,expirationTimes\x3droot.expirationTimes,lanes\x3droot.pendingLanes;0\x3clanes;){var index\x3d31-clz32(lanes),lane\x3d1\x3c\x3cindex,\nexpirationTime\x3dexpirationTimes[index];if(-1\x3d\x3d\x3dexpirationTime){if(0\x3d\x3d\x3d(lane\x26suspendedLanes)||0!\x3d\x3d(lane\x26pingedLanes))expirationTimes[index]\x3dcomputeExpirationTime(lane,currentTime)}else expirationTime\x3c\x3dcurrentTime\x26\x26(root.expiredLanes|\x3dlane);lanes\x26\x3d~lane}}function getLanesToRetrySynchronouslyOnError(root){root\x3droot.pendingLanes\x26~OffscreenLane;return 0!\x3d\x3droot?root:root\x26OffscreenLane?OffscreenLane:0}function claimNextTransitionLane(){var lane\x3dnextTransitionLane;nextTransitionLane\x3c\x3c\x3d1;0\x3d\x3d\x3d(nextTransitionLane\x26\nTransitionLanes)\x26\x26(nextTransitionLane\x3d64);return lane}function createLaneMap(initial){for(var laneMap\x3d[],i\x3d0;i\x3cTotalLanes;i++)laneMap.push(initial);return laneMap}function markRootUpdated(root,updateLane,eventTime){root.pendingLanes|\x3dupdateLane;updateLane!\x3d\x3dIdleLane\x26\x26(root.suspendedLanes\x3d0,root.pingedLanes\x3d0);root\x3droot.eventTimes;updateLane\x3d31-clz32(updateLane);root[updateLane]\x3deventTime}function markRootFinished(root,remainingLanes){var noLongerPendingLanes\x3droot.pendingLanes\x26~remainingLanes;root.pendingLanes\x3d\nremainingLanes;root.suspendedLanes\x3d0;root.pingedLanes\x3d0;root.expiredLanes\x26\x3dremainingLanes;root.mutableReadLanes\x26\x3dremainingLanes;root.entangledLanes\x26\x3dremainingLanes;remainingLanes\x3droot.entanglements;var eventTimes\x3droot.eventTimes;for(root\x3droot.expirationTimes;0\x3cnoLongerPendingLanes;){var index\x3d31-clz32(noLongerPendingLanes),lane\x3d1\x3c\x3cindex;remainingLanes[index]\x3d0;eventTimes[index]\x3d-1;root[index]\x3d-1;noLongerPendingLanes\x26\x3d~lane}}function markRootEntangled(root,entangledLanes){var rootEntangledLanes\x3droot.entangledLanes|\x3d\nentangledLanes;for(root\x3droot.entanglements;rootEntangledLanes;){var index\x3d31-clz32(rootEntangledLanes),lane\x3d1\x3c\x3cindex;lane\x26entangledLanes|root[index]\x26entangledLanes\x26\x26(root[index]|\x3dentangledLanes);rootEntangledLanes\x26\x3d~lane}}function addFiberToLanesMap(root,fiber,lanes){if(isDevToolsPresent)for(root\x3droot.pendingUpdatersLaneMap;0\x3clanes;){var index\x3d31-clz32(lanes),lane\x3d1\x3c\x3cindex;root[index].add(fiber);lanes\x26\x3d~lane}}function movePendingFibersToMemoized(root,lanes){if(isDevToolsPresent)for(var pendingUpdatersLaneMap\x3d\nroot.pendingUpdatersLaneMap,memoizedUpdaters\x3droot.memoizedUpdaters;0\x3clanes;){var index\x3d31-clz32(lanes);root\x3d1\x3c\x3cindex;index\x3dpendingUpdatersLaneMap[index];0\x3cindex.size\x26\x26(index.forEach(function(fiber){var alternate\x3dfiber.alternate;null!\x3d\x3dalternate\x26\x26memoizedUpdaters.has(alternate)||memoizedUpdaters.add(fiber)}),index.clear());lanes\x26\x3d~root}}function lanesToEventPriority(lanes){lanes\x26\x3d-lanes;return 0!\x3d\x3dDiscreteEventPriority\x26\x26DiscreteEventPriority\x3clanes?0!\x3d\x3dContinuousEventPriority\x26\x26ContinuousEventPriority\x3c\nlanes?0!\x3d\x3d(lanes\x26268435455)?DefaultEventPriority:IdleEventPriority:ContinuousEventPriority:DiscreteEventPriority}function clearIfContinuousEvent(domEventName,nativeEvent){switch(domEventName){case \x22focusin\x22:case \x22focusout\x22:queuedFocus\x3dnull;break;case \x22dragenter\x22:case \x22dragleave\x22:queuedDrag\x3dnull;break;case \x22mouseover\x22:case \x22mouseout\x22:queuedMouse\x3dnull;break;case \x22pointerover\x22:case \x22pointerout\x22:queuedPointers.delete(nativeEvent.pointerId);break;case \x22gotpointercapture\x22:case \x22lostpointercapture\x22:queuedPointerCaptures.delete(nativeEvent.pointerId)}}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent,blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent){if(null\x3d\x3d\x3dexistingQueuedEvent||existingQueuedEvent.nativeEvent!\x3d\x3dnativeEvent)return existingQueuedEvent\x3d{blockedOn,domEventName,eventSystemFlags,nativeEvent,targetContainers:[targetContainer]},null!\x3d\x3dblockedOn\x26\x26(blockedOn\x3dgetInstanceFromNode(blockedOn),null!\x3d\x3dblockedOn\x26\x26attemptContinuousHydration(blockedOn)),existingQueuedEvent;existingQueuedEvent.eventSystemFlags|\x3d\neventSystemFlags;blockedOn\x3dexistingQueuedEvent.targetContainers;null!\x3d\x3dtargetContainer\x26\x26-1\x3d\x3d\x3dblockedOn.indexOf(targetContainer)\x26\x26blockedOn.push(targetContainer);return existingQueuedEvent}function queueIfContinuousEvent(blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent){switch(domEventName){case \x22focusin\x22:return queuedFocus\x3daccumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus,blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent),!0;case \x22dragenter\x22:return queuedDrag\x3d\naccumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag,blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent),!0;case \x22mouseover\x22:return queuedMouse\x3daccumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse,blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent),!0;case \x22pointerover\x22:var pointerId\x3dnativeEvent.pointerId;queuedPointers.set(pointerId,accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId)||null,blockedOn,domEventName,eventSystemFlags,\ntargetContainer,nativeEvent));return!0;case \x22gotpointercapture\x22:return pointerId\x3dnativeEvent.pointerId,queuedPointerCaptures.set(pointerId,accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(pointerId)||null,blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent)),!0}return!1}function attemptExplicitHydrationTarget(queuedTarget){var targetInst\x3dgetClosestInstanceFromNode(queuedTarget.target);if(null!\x3d\x3dtargetInst){var nearestMounted\x3dgetNearestMountedFiber(targetInst);\nif(null!\x3d\x3dnearestMounted)if(targetInst\x3dnearestMounted.tag,13\x3d\x3d\x3dtargetInst){if(targetInst\x3dgetSuspenseInstanceFromFiber(nearestMounted),null!\x3d\x3dtargetInst){queuedTarget.blockedOn\x3dtargetInst;attemptHydrationAtPriority(queuedTarget.priority,function(){attemptHydrationAtCurrentPriority(nearestMounted)});return}}else if(3\x3d\x3d\x3dtargetInst\x26\x26nearestMounted.stateNode.current.memoizedState.isDehydrated){queuedTarget.blockedOn\x3d3\x3d\x3d\x3dnearestMounted.tag?nearestMounted.stateNode.containerInfo:null;return}}queuedTarget.blockedOn\x3d\nnull}function attemptReplayContinuousQueuedEvent(queuedEvent){if(null!\x3d\x3dqueuedEvent.blockedOn)return!1;for(var targetContainers\x3dqueuedEvent.targetContainers;0\x3ctargetContainers.length;){var nextBlockedOn\x3dfindInstanceBlockingEvent(queuedEvent.domEventName,queuedEvent.eventSystemFlags,targetContainers[0],queuedEvent.nativeEvent);if(null\x3d\x3d\x3dnextBlockedOn){nextBlockedOn\x3dqueuedEvent.nativeEvent;var nativeEventClone\x3dnew nextBlockedOn.constructor(nextBlockedOn.type,nextBlockedOn),event\x3dnativeEventClone;null!\x3d\x3d\ncurrentReplayingEvent\x26\x26error$jscomp$0(\x22Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue.\x22);currentReplayingEvent\x3devent;nextBlockedOn.target.dispatchEvent(nativeEventClone);null\x3d\x3d\x3dcurrentReplayingEvent\x26\x26error$jscomp$0(\x22Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.\x22);currentReplayingEvent\x3dnull}else return targetContainers\x3dgetInstanceFromNode(nextBlockedOn),null!\x3d\x3d\ntargetContainers\x26\x26attemptContinuousHydration(targetContainers),queuedEvent.blockedOn\x3dnextBlockedOn,!1;targetContainers.shift()}return!0}function attemptReplayContinuousQueuedEventInMap(queuedEvent,key,map){attemptReplayContinuousQueuedEvent(queuedEvent)\x26\x26map.delete(key)}function replayUnblockedEvents(){hasScheduledReplayAttempt\x3d!1;null!\x3d\x3dqueuedFocus\x26\x26attemptReplayContinuousQueuedEvent(queuedFocus)\x26\x26(queuedFocus\x3dnull);null!\x3d\x3dqueuedDrag\x26\x26attemptReplayContinuousQueuedEvent(queuedDrag)\x26\x26(queuedDrag\x3dnull);\nnull!\x3d\x3dqueuedMouse\x26\x26attemptReplayContinuousQueuedEvent(queuedMouse)\x26\x26(queuedMouse\x3dnull);queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap)}function scheduleCallbackIfUnblocked(queuedEvent,unblocked){queuedEvent.blockedOn\x3d\x3d\x3dunblocked\x26\x26(queuedEvent.blockedOn\x3dnull,hasScheduledReplayAttempt||(hasScheduledReplayAttempt\x3d!0,Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority,replayUnblockedEvents)))}function retryIfBlockedOn(unblocked){if(0\x3c\nqueuedDiscreteEvents.length){scheduleCallbackIfUnblocked(queuedDiscreteEvents[0],unblocked);for(var i\x3d1;i\x3cqueuedDiscreteEvents.length;i++){var queuedEvent$jscomp$0\x3dqueuedDiscreteEvents[i];queuedEvent$jscomp$0.blockedOn\x3d\x3d\x3dunblocked\x26\x26(queuedEvent$jscomp$0.blockedOn\x3dnull)}}null!\x3d\x3dqueuedFocus\x26\x26scheduleCallbackIfUnblocked(queuedFocus,unblocked);null!\x3d\x3dqueuedDrag\x26\x26scheduleCallbackIfUnblocked(queuedDrag,unblocked);null!\x3d\x3dqueuedMouse\x26\x26scheduleCallbackIfUnblocked(queuedMouse,unblocked);i\x3dfunction(queuedEvent){return scheduleCallbackIfUnblocked(queuedEvent,\nunblocked)};queuedPointers.forEach(i);queuedPointerCaptures.forEach(i);for(i\x3d0;i\x3cqueuedExplicitHydrationTargets.length;i++)queuedEvent$jscomp$0\x3dqueuedExplicitHydrationTargets[i],queuedEvent$jscomp$0.blockedOn\x3d\x3d\x3dunblocked\x26\x26(queuedEvent$jscomp$0.blockedOn\x3dnull);for(;0\x3cqueuedExplicitHydrationTargets.length\x26\x26(i\x3dqueuedExplicitHydrationTargets[0],null\x3d\x3d\x3di.blockedOn);)attemptExplicitHydrationTarget(i),null\x3d\x3d\x3di.blockedOn\x26\x26queuedExplicitHydrationTargets.shift()}function dispatchDiscreteEvent(domEventName,\neventSystemFlags,container,nativeEvent){var previousPriority\x3dcurrentUpdatePriority,prevTransition\x3dReactCurrentBatchConfig.transition;ReactCurrentBatchConfig.transition\x3dnull;try{currentUpdatePriority\x3dDiscreteEventPriority,dispatchEvent(domEventName,eventSystemFlags,container,nativeEvent)}finally{currentUpdatePriority\x3dpreviousPriority,ReactCurrentBatchConfig.transition\x3dprevTransition}}function dispatchContinuousEvent(domEventName,eventSystemFlags,container,nativeEvent){var previousPriority\x3dcurrentUpdatePriority,\nprevTransition\x3dReactCurrentBatchConfig.transition;ReactCurrentBatchConfig.transition\x3dnull;try{currentUpdatePriority\x3dContinuousEventPriority,dispatchEvent(domEventName,eventSystemFlags,container,nativeEvent)}finally{currentUpdatePriority\x3dpreviousPriority,ReactCurrentBatchConfig.transition\x3dprevTransition}}function dispatchEvent(domEventName,eventSystemFlags,targetContainer,nativeEvent){if(_enabled){var blockedOn\x3dfindInstanceBlockingEvent(domEventName,eventSystemFlags,targetContainer,nativeEvent);if(null\x3d\x3d\x3d\nblockedOn)dispatchEventForPluginEventSystem(domEventName,eventSystemFlags,nativeEvent,return_targetInst,targetContainer),clearIfContinuousEvent(domEventName,nativeEvent);else if(queueIfContinuousEvent(blockedOn,domEventName,eventSystemFlags,targetContainer,nativeEvent))nativeEvent.stopPropagation();else if(clearIfContinuousEvent(domEventName,nativeEvent),eventSystemFlags\x264\x26\x26-1\x3cdiscreteReplayableEvents.indexOf(domEventName)){for(;null!\x3d\x3dblockedOn;){var fiber\x3dgetInstanceFromNode(blockedOn);null!\x3d\x3dfiber\x26\x26\n_attemptSynchronousHydration(fiber);fiber\x3dfindInstanceBlockingEvent(domEventName,eventSystemFlags,targetContainer,nativeEvent);null\x3d\x3d\x3dfiber\x26\x26dispatchEventForPluginEventSystem(domEventName,eventSystemFlags,nativeEvent,return_targetInst,targetContainer);if(fiber\x3d\x3d\x3dblockedOn)break;blockedOn\x3dfiber}null!\x3d\x3dblockedOn\x26\x26nativeEvent.stopPropagation()}else dispatchEventForPluginEventSystem(domEventName,eventSystemFlags,nativeEvent,null,targetContainer)}}function findInstanceBlockingEvent(domEventName,eventSystemFlags,\ntargetContainer,nativeEvent){return_targetInst\x3dnull;domEventName\x3dgetEventTarget(nativeEvent);domEventName\x3dgetClosestInstanceFromNode(domEventName);if(null!\x3d\x3ddomEventName)if(eventSystemFlags\x3dgetNearestMountedFiber(domEventName),null\x3d\x3d\x3deventSystemFlags)domEventName\x3dnull;else if(targetContainer\x3deventSystemFlags.tag,13\x3d\x3d\x3dtargetContainer){domEventName\x3dgetSuspenseInstanceFromFiber(eventSystemFlags);if(null!\x3d\x3ddomEventName)return domEventName;domEventName\x3dnull}else if(3\x3d\x3d\x3dtargetContainer){if(eventSystemFlags.stateNode.current.memoizedState.isDehydrated)return 3\x3d\x3d\x3d\neventSystemFlags.tag?eventSystemFlags.stateNode.containerInfo:null;domEventName\x3dnull}else eventSystemFlags!\x3d\x3ddomEventName\x26\x26(domEventName\x3dnull);return_targetInst\x3ddomEventName;return null}function getEventPriority(domEventName){switch(domEventName){case \x22cancel\x22:case \x22click\x22:case \x22close\x22:case \x22contextmenu\x22:case \x22copy\x22:case \x22cut\x22:case \x22auxclick\x22:case \x22dblclick\x22:case \x22dragend\x22:case \x22dragstart\x22:case \x22drop\x22:case \x22focusin\x22:case \x22focusout\x22:case \x22input\x22:case \x22invalid\x22:case \x22keydown\x22:case \x22keypress\x22:case \x22keyup\x22:case \x22mousedown\x22:case \x22mouseup\x22:case \x22paste\x22:case \x22pause\x22:case \x22play\x22:case \x22pointercancel\x22:case \x22pointerdown\x22:case \x22pointerup\x22:case \x22ratechange\x22:case \x22reset\x22:case \x22resize\x22:case \x22seeked\x22:case \x22submit\x22:case \x22touchcancel\x22:case \x22touchend\x22:case \x22touchstart\x22:case \x22volumechange\x22:case \x22change\x22:case \x22selectionchange\x22:case \x22textInput\x22:case \x22compositionstart\x22:case \x22compositionend\x22:case \x22compositionupdate\x22:case \x22beforeblur\x22:case \x22afterblur\x22:case \x22beforeinput\x22:case \x22blur\x22:case \x22fullscreenchange\x22:case \x22focus\x22:case \x22hashchange\x22:case \x22popstate\x22:case \x22select\x22:case \x22selectstart\x22:return DiscreteEventPriority;\ncase \x22drag\x22:case \x22dragenter\x22:case \x22dragexit\x22:case \x22dragleave\x22:case \x22dragover\x22:case \x22mousemove\x22:case \x22mouseout\x22:case \x22mouseover\x22:case \x22pointermove\x22:case \x22pointerout\x22:case \x22pointerover\x22:case \x22scroll\x22:case \x22toggle\x22:case \x22touchmove\x22:case \x22wheel\x22:case \x22mouseenter\x22:case \x22mouseleave\x22:case \x22pointerenter\x22:case \x22pointerleave\x22:return ContinuousEventPriority;case \x22message\x22:switch(getCurrentPriorityLevel()){case ImmediatePriority:return DiscreteEventPriority;case UserBlockingPriority:return ContinuousEventPriority;\ncase NormalPriority:case LowPriority:return DefaultEventPriority;case IdlePriority:return IdleEventPriority;default:return DefaultEventPriority}default:return DefaultEventPriority}}function getData(){if(fallbackText)return fallbackText;var start,startValue\x3dstartText,startLength\x3dstartValue.length,end,endValue\x3d\x22value\x22in root$jscomp$1?root$jscomp$1.value:root$jscomp$1.textContent,endLength\x3dendValue.length;for(start\x3d0;start\x3cstartLength\x26\x26startValue[start]\x3d\x3d\x3dendValue[start];start++);var minEnd\x3dstartLength-\nstart;for(end\x3d1;end\x3c\x3dminEnd\x26\x26startValue[startLength-end]\x3d\x3d\x3dendValue[endLength-end];end++);return fallbackText\x3dendValue.slice(start,1\x3cend?1-end:void 0)}function getEventCharCode(nativeEvent){var keyCode\x3dnativeEvent.keyCode;\x22charCode\x22in nativeEvent?(nativeEvent\x3dnativeEvent.charCode,0\x3d\x3d\x3dnativeEvent\x26\x2613\x3d\x3d\x3dkeyCode\x26\x26(nativeEvent\x3d13)):nativeEvent\x3dkeyCode;10\x3d\x3d\x3dnativeEvent\x26\x26(nativeEvent\x3d13);return 32\x3c\x3dnativeEvent||13\x3d\x3d\x3dnativeEvent?nativeEvent:0}function functionThatReturnsTrue(){return!0}function functionThatReturnsFalse(){return!1}\nfunction createSyntheticEvent(Interface){function SyntheticBaseEvent(reactName,reactEventType,targetInst,nativeEvent,nativeEventTarget){this._reactName\x3dreactName;this._targetInst\x3dtargetInst;this.type\x3dreactEventType;this.nativeEvent\x3dnativeEvent;this.target\x3dnativeEventTarget;this.currentTarget\x3dnull;for(var _propName in Interface)Interface.hasOwnProperty(_propName)\x26\x26(reactName\x3dInterface[_propName],this[_propName]\x3dreactName?reactName(nativeEvent):nativeEvent[_propName]);this.isDefaultPrevented\x3d(null!\x3d\nnativeEvent.defaultPrevented?nativeEvent.defaultPrevented:!1\x3d\x3d\x3dnativeEvent.returnValue)?functionThatReturnsTrue:functionThatReturnsFalse;this.isPropagationStopped\x3dfunctionThatReturnsFalse;return this}assign(SyntheticBaseEvent.prototype,{preventDefault:function(){this.defaultPrevented\x3d!0;var event\x3dthis.nativeEvent;event\x26\x26(event.preventDefault?event.preventDefault():\x22unknown\x22!\x3d\x3dtypeof event.returnValue\x26\x26(event.returnValue\x3d!1),this.isDefaultPrevented\x3dfunctionThatReturnsTrue)},stopPropagation:function(){var event\x3d\nthis.nativeEvent;event\x26\x26(event.stopPropagation?event.stopPropagation():\x22unknown\x22!\x3d\x3dtypeof event.cancelBubble\x26\x26(event.cancelBubble\x3d!0),this.isPropagationStopped\x3dfunctionThatReturnsTrue)},persist:function(){},isPersistent:functionThatReturnsTrue});return SyntheticBaseEvent}function modifierStateGetter(keyArg){var nativeEvent\x3dthis.nativeEvent;return nativeEvent.getModifierState?nativeEvent.getModifierState(keyArg):(keyArg\x3dmodifierKeyToProp[keyArg])?!!nativeEvent[keyArg]:!1}function getEventModifierState(nativeEvent){return modifierStateGetter}\nfunction isFallbackCompositionEnd(domEventName,nativeEvent){switch(domEventName){case \x22keyup\x22:return-1!\x3d\x3dEND_KEYCODES.indexOf(nativeEvent.keyCode);case \x22keydown\x22:return nativeEvent.keyCode!\x3d\x3dSTART_KEYCODE;case \x22keypress\x22:case \x22mousedown\x22:case \x22focusout\x22:return!0;default:return!1}}function getDataFromCustomEvent(nativeEvent){nativeEvent\x3dnativeEvent.detail;return\x22object\x22\x3d\x3d\x3dtypeof nativeEvent\x26\x26\x22data\x22in nativeEvent?nativeEvent.data:null}function getNativeBeforeInputChars(domEventName,nativeEvent){switch(domEventName){case \x22compositionend\x22:return getDataFromCustomEvent(nativeEvent);\ncase \x22keypress\x22:if(nativeEvent.which!\x3d\x3dSPACEBAR_CODE)return null;hasSpaceKeypress\x3d!0;return SPACEBAR_CHAR;case \x22textInput\x22:return domEventName\x3dnativeEvent.data,domEventName\x3d\x3d\x3dSPACEBAR_CHAR\x26\x26hasSpaceKeypress?null:domEventName;default:return null}}function getFallbackBeforeInputChars(domEventName,nativeEvent){if(isComposing)return\x22compositionend\x22\x3d\x3d\x3ddomEventName||!canUseCompositionEvent\x26\x26isFallbackCompositionEnd(domEventName,nativeEvent)?(domEventName\x3dgetData(),fallbackText\x3dstartText\x3droot$jscomp$1\x3dnull,\nisComposing\x3d!1,domEventName):null;switch(domEventName){case \x22paste\x22:return null;case \x22keypress\x22:if(!(nativeEvent.ctrlKey||nativeEvent.altKey||nativeEvent.metaKey)||nativeEvent.ctrlKey\x26\x26nativeEvent.altKey){if(nativeEvent.char\x26\x261\x3cnativeEvent.char.length)return nativeEvent.char;if(nativeEvent.which)return String.fromCharCode(nativeEvent.which)}return null;case \x22compositionend\x22:return useFallbackCompositionData\x26\x26\x22ko\x22!\x3d\x3dnativeEvent.locale?null:nativeEvent.data;default:return null}}function isTextInputElement(elem){var nodeName\x3d\nelem\x26\x26elem.nodeName\x26\x26elem.nodeName.toLowerCase();return\x22input\x22\x3d\x3d\x3dnodeName?!!supportedInputTypes[elem.type]:\x22textarea\x22\x3d\x3d\x3dnodeName?!0:!1}function isEventSupported(eventNameSuffix){if(!canUseDOM)return!1;eventNameSuffix\x3d\x22on\x22+eventNameSuffix;var isSupported\x3deventNameSuffix in document;isSupported||(isSupported\x3ddocument.createElement(\x22div\x22),isSupported.setAttribute(eventNameSuffix,\x22return;\x22),isSupported\x3d\x22function\x22\x3d\x3d\x3dtypeof isSupported[eventNameSuffix]);return isSupported}function createAndAccumulateChangeEvent(dispatchQueue,\ninst,nativeEvent,target){enqueueStateRestore(target);inst\x3daccumulateTwoPhaseListeners(inst,\x22onChange\x22);0\x3cinst.length\x26\x26(nativeEvent\x3dnew SyntheticEvent(\x22onChange\x22,\x22change\x22,null,nativeEvent,target),dispatchQueue.push({event:nativeEvent,listeners:inst}))}function runEventInBatch(dispatchQueue){processDispatchQueue(dispatchQueue,0)}function getInstIfValueChanged(targetInst){var targetNode\x3dgetNodeFromInstance(targetInst);if(updateValueIfChanged(targetNode))return targetInst}function getTargetInstForChangeEvent(domEventName,\ntargetInst){if(\x22change\x22\x3d\x3d\x3ddomEventName)return targetInst}function stopWatchingForValueChange(){activeElement\x26\x26(activeElement.detachEvent(\x22onpropertychange\x22,handlePropertyChange),activeElementInst\x3dactiveElement\x3dnull)}function handlePropertyChange(nativeEvent){if(\x22value\x22\x3d\x3d\x3dnativeEvent.propertyName\x26\x26getInstIfValueChanged(activeElementInst)){var dispatchQueue\x3d[];createAndAccumulateChangeEvent(dispatchQueue,activeElementInst,nativeEvent,getEventTarget(nativeEvent));batchedUpdates(runEventInBatch,dispatchQueue)}}\nfunction handleEventsForInputEventPolyfill(domEventName,target,targetInst){\x22focusin\x22\x3d\x3d\x3ddomEventName?(stopWatchingForValueChange(),activeElement\x3dtarget,activeElementInst\x3dtargetInst,activeElement.attachEvent(\x22onpropertychange\x22,handlePropertyChange)):\x22focusout\x22\x3d\x3d\x3ddomEventName\x26\x26stopWatchingForValueChange()}function getTargetInstForInputEventPolyfill(domEventName,targetInst){if(\x22selectionchange\x22\x3d\x3d\x3ddomEventName||\x22keyup\x22\x3d\x3d\x3ddomEventName||\x22keydown\x22\x3d\x3d\x3ddomEventName)return getInstIfValueChanged(activeElementInst)}\nfunction getTargetInstForClickEvent(domEventName,targetInst){if(\x22click\x22\x3d\x3d\x3ddomEventName)return getInstIfValueChanged(targetInst)}function getTargetInstForInputOrChangeEvent(domEventName,targetInst){if(\x22input\x22\x3d\x3d\x3ddomEventName||\x22change\x22\x3d\x3d\x3ddomEventName)return getInstIfValueChanged(targetInst)}function is(x,y){return x\x3d\x3d\x3dy\x26\x26(0!\x3d\x3dx||1/x\x3d\x3d\x3d1/y)||x!\x3d\x3dx\x26\x26y!\x3d\x3dy}function shallowEqual(objA,objB){if(objectIs(objA,objB))return!0;if(\x22object\x22!\x3d\x3dtypeof objA||null\x3d\x3d\x3dobjA||\x22object\x22!\x3d\x3dtypeof objB||null\x3d\x3d\x3dobjB)return!1;\nvar keysA\x3dObject.keys(objA),keysB\x3dObject.keys(objB);if(keysA.length!\x3d\x3dkeysB.length)return!1;for(keysB\x3d0;keysB\x3ckeysA.length;keysB++){var currentKey\x3dkeysA[keysB];if(!hasOwnProperty.call(objB,currentKey)||!objectIs(objA[currentKey],objB[currentKey]))return!1}return!0}function getLeafNode(node){for(;node\x26\x26node.firstChild;)node\x3dnode.firstChild;return node}function getNodeForCharacterOffset(root,offset){var node\x3dgetLeafNode(root);root\x3d0;for(var nodeEnd;node;){if(3\x3d\x3d\x3dnode.nodeType){nodeEnd\x3droot+node.textContent.length;\nif(root\x3c\x3doffset\x26\x26nodeEnd\x3e\x3doffset)return{node,offset:offset-root};root\x3dnodeEnd}a:{for(;node;){if(node.nextSibling){node\x3dnode.nextSibling;break a}node\x3dnode.parentNode}node\x3dvoid 0}node\x3dgetLeafNode(node)}}function containsNode(outerNode,innerNode){return outerNode\x26\x26innerNode?outerNode\x3d\x3d\x3dinnerNode?!0:outerNode\x26\x263\x3d\x3d\x3douterNode.nodeType?!1:innerNode\x26\x263\x3d\x3d\x3dinnerNode.nodeType?containsNode(outerNode,innerNode.parentNode):\x22contains\x22in outerNode?outerNode.contains(innerNode):outerNode.compareDocumentPosition?!!(outerNode.compareDocumentPosition(innerNode)\x26\n16):!1:!1}function getActiveElementDeep(){for(var win\x3dwindow,element\x3dgetActiveElement();element instanceof win.HTMLIFrameElement;){try{var JSCompiler_inline_result\x3d\x22string\x22\x3d\x3d\x3dtypeof element.contentWindow.location.href}catch(err){JSCompiler_inline_result\x3d!1}if(JSCompiler_inline_result)win\x3delement.contentWindow;else break;element\x3dgetActiveElement(win.document)}return element}function hasSelectionCapabilities(elem){var nodeName\x3delem\x26\x26elem.nodeName\x26\x26elem.nodeName.toLowerCase();return nodeName\x26\x26(\x22input\x22\x3d\x3d\x3d\nnodeName\x26\x26(\x22text\x22\x3d\x3d\x3delem.type||\x22search\x22\x3d\x3d\x3delem.type||\x22tel\x22\x3d\x3d\x3delem.type||\x22url\x22\x3d\x3d\x3delem.type||\x22password\x22\x3d\x3d\x3delem.type)||\x22textarea\x22\x3d\x3d\x3dnodeName||\x22true\x22\x3d\x3d\x3delem.contentEditable)}function restoreSelection(priorSelectionInformation){var curFocusedElem\x3dgetActiveElementDeep(),priorFocusedElem\x3dpriorSelectionInformation.focusedElem,priorSelectionRange\x3dpriorSelectionInformation.selectionRange;if(curFocusedElem!\x3d\x3dpriorFocusedElem\x26\x26priorFocusedElem\x26\x26priorFocusedElem.ownerDocument\x26\x26containsNode(priorFocusedElem.ownerDocument.documentElement,\npriorFocusedElem)){if(null!\x3d\x3dpriorSelectionRange\x26\x26hasSelectionCapabilities(priorFocusedElem))if(curFocusedElem\x3dpriorSelectionRange.start,priorSelectionInformation\x3dpriorSelectionRange.end,void 0\x3d\x3d\x3dpriorSelectionInformation\x26\x26(priorSelectionInformation\x3dcurFocusedElem),\x22selectionStart\x22in priorFocusedElem)priorFocusedElem.selectionStart\x3dcurFocusedElem,priorFocusedElem.selectionEnd\x3dMath.min(priorSelectionInformation,priorFocusedElem.value.length);else if(priorSelectionInformation\x3d(curFocusedElem\x3dpriorFocusedElem.ownerDocument||\ndocument)\x26\x26curFocusedElem.defaultView||window,priorSelectionInformation.getSelection){priorSelectionInformation\x3dpriorSelectionInformation.getSelection();var length\x3dpriorFocusedElem.textContent.length,start\x3dMath.min(priorSelectionRange.start,length);priorSelectionRange\x3dvoid 0\x3d\x3d\x3dpriorSelectionRange.end?start:Math.min(priorSelectionRange.end,length);!priorSelectionInformation.extend\x26\x26start\x3epriorSelectionRange\x26\x26(length\x3dpriorSelectionRange,priorSelectionRange\x3dstart,start\x3dlength);length\x3dgetNodeForCharacterOffset(priorFocusedElem,\nstart);var endMarker\x3dgetNodeForCharacterOffset(priorFocusedElem,priorSelectionRange);length\x26\x26endMarker\x26\x26(1!\x3d\x3dpriorSelectionInformation.rangeCount||priorSelectionInformation.anchorNode!\x3d\x3dlength.node||priorSelectionInformation.anchorOffset!\x3d\x3dlength.offset||priorSelectionInformation.focusNode!\x3d\x3dendMarker.node||priorSelectionInformation.focusOffset!\x3d\x3dendMarker.offset)\x26\x26(curFocusedElem\x3dcurFocusedElem.createRange(),curFocusedElem.setStart(length.node,length.offset),priorSelectionInformation.removeAllRanges(),\nstart\x3epriorSelectionRange?(priorSelectionInformation.addRange(curFocusedElem),priorSelectionInformation.extend(endMarker.node,endMarker.offset)):(curFocusedElem.setEnd(endMarker.node,endMarker.offset),priorSelectionInformation.addRange(curFocusedElem)))}curFocusedElem\x3d[];for(priorSelectionInformation\x3dpriorFocusedElem;priorSelectionInformation\x3dpriorSelectionInformation.parentNode;)1\x3d\x3d\x3dpriorSelectionInformation.nodeType\x26\x26curFocusedElem.push({element:priorSelectionInformation,left:priorSelectionInformation.scrollLeft,\ntop:priorSelectionInformation.scrollTop});\x22function\x22\x3d\x3d\x3dtypeof priorFocusedElem.focus\x26\x26priorFocusedElem.focus();for(priorFocusedElem\x3d0;priorFocusedElem\x3ccurFocusedElem.length;priorFocusedElem++)priorSelectionInformation\x3dcurFocusedElem[priorFocusedElem],priorSelectionInformation.element.scrollLeft\x3dpriorSelectionInformation.left,priorSelectionInformation.element.scrollTop\x3dpriorSelectionInformation.top}}function constructSelectEvent(dispatchQueue,nativeEvent,nativeEventTarget){var doc\x3dnativeEventTarget.window\x3d\x3d\x3d\nnativeEventTarget?nativeEventTarget.document:9\x3d\x3d\x3dnativeEventTarget.nodeType?nativeEventTarget:nativeEventTarget.ownerDocument;mouseDown||null\x3d\x3dactiveElement$1||activeElement$1!\x3d\x3dgetActiveElement(doc)||(doc\x3dactiveElement$1,\x22selectionStart\x22in doc\x26\x26hasSelectionCapabilities(doc)?doc\x3d{start:doc.selectionStart,end:doc.selectionEnd}:(doc\x3d(doc.ownerDocument\x26\x26doc.ownerDocument.defaultView||window).getSelection(),doc\x3d{anchorNode:doc.anchorNode,anchorOffset:doc.anchorOffset,focusNode:doc.focusNode,focusOffset:doc.focusOffset}),\nlastSelection\x26\x26shallowEqual(lastSelection,doc)||(lastSelection\x3ddoc,doc\x3daccumulateTwoPhaseListeners(activeElementInst$1,\x22onSelect\x22),0\x3cdoc.length\x26\x26(nativeEvent\x3dnew SyntheticEvent(\x22onSelect\x22,\x22select\x22,null,nativeEvent,nativeEventTarget),dispatchQueue.push({event:nativeEvent,listeners:doc}),nativeEvent.target\x3dactiveElement$1)))}function makePrefixMap(styleProp,eventName){var prefixes\x3d{};prefixes[styleProp.toLowerCase()]\x3deventName.toLowerCase();prefixes[\x22Webkit\x22+styleProp]\x3d\x22webkit\x22+eventName;prefixes[\x22Moz\x22+\nstyleProp]\x3d\x22moz\x22+eventName;return prefixes}function getVendorPrefixedEventName(eventName){if(prefixedEventNames[eventName])return prefixedEventNames[eventName];if(!vendorPrefixes[eventName])return eventName;var prefixMap\x3dvendorPrefixes[eventName],styleProp;for(styleProp in prefixMap)if(prefixMap.hasOwnProperty(styleProp)\x26\x26styleProp in style)return prefixedEventNames[eventName]\x3dprefixMap[styleProp];return eventName}function registerSimpleEvent(domEventName,reactName){topLevelEventsToReactNames.set(domEventName,\nreactName);registerTwoPhaseEvent(reactName,[domEventName])}function executeDispatch(event,listener,currentTarget){var type\x3devent.type||\x22unknown-event\x22;event.currentTarget\x3dcurrentTarget;invokeGuardedCallbackAndCatchFirstError(type,listener,void 0,event);event.currentTarget\x3dnull}function processDispatchQueue(dispatchQueue,eventSystemFlags){eventSystemFlags\x3d0!\x3d\x3d(eventSystemFlags\x264);for(var i\x3d0;i\x3cdispatchQueue.length;i++){var _dispatchQueue$i\x3ddispatchQueue[i];a:{var previousInstance\x3dvoid 0,event\x3d_dispatchQueue$i.event;\n_dispatchQueue$i\x3d_dispatchQueue$i.listeners;if(eventSystemFlags)for(var i$jscomp$0\x3d_dispatchQueue$i.length-1;0\x3c\x3di$jscomp$0;i$jscomp$0--){var _dispatchListeners$i\x3d_dispatchQueue$i[i$jscomp$0],instance\x3d_dispatchListeners$i.instance,currentTarget\x3d_dispatchListeners$i.currentTarget;_dispatchListeners$i\x3d_dispatchListeners$i.listener;if(instance!\x3d\x3dpreviousInstance\x26\x26event.isPropagationStopped())break a;executeDispatch(event,_dispatchListeners$i,currentTarget);previousInstance\x3dinstance}else for(i$jscomp$0\x3d\n0;i$jscomp$0\x3c_dispatchQueue$i.length;i$jscomp$0++){_dispatchListeners$i\x3d_dispatchQueue$i[i$jscomp$0];instance\x3d_dispatchListeners$i.instance;currentTarget\x3d_dispatchListeners$i.currentTarget;_dispatchListeners$i\x3d_dispatchListeners$i.listener;if(instance!\x3d\x3dpreviousInstance\x26\x26event.isPropagationStopped())break a;executeDispatch(event,_dispatchListeners$i,currentTarget);previousInstance\x3dinstance}}}if(hasRethrowError)throw dispatchQueue\x3drethrowError,hasRethrowError\x3d!1,rethrowError\x3dnull,dispatchQueue;}function listenToNonDelegatedEvent(domEventName,\ntargetElement){nonDelegatedEvents.has(domEventName)||error$jscomp$0(\x27Did not expect a listenToNonDelegatedEvent() call for \x22%s\x22. This is a bug in React. Please file an issue.\x27,domEventName);var listenerSet\x3dtargetElement[internalEventHandlersKey];void 0\x3d\x3d\x3dlistenerSet\x26\x26(listenerSet\x3dtargetElement[internalEventHandlersKey]\x3dnew Set);var listenerSetKey\x3ddomEventName+\x22__bubble\x22;listenerSet.has(listenerSetKey)||(addTrappedEventListener(targetElement,domEventName,2,!1),listenerSet.add(listenerSetKey))}function listenToNativeEvent(domEventName,\nisCapturePhaseListener,target){nonDelegatedEvents.has(domEventName)\x26\x26!isCapturePhaseListener\x26\x26error$jscomp$0(\x27Did not expect a listenToNativeEvent() call for \x22%s\x22 in the bubble phase. This is a bug in React. Please file an issue.\x27,domEventName);var eventSystemFlags\x3d0;isCapturePhaseListener\x26\x26(eventSystemFlags|\x3d4);addTrappedEventListener(target,domEventName,eventSystemFlags,isCapturePhaseListener)}function listenToAllSupportedEvents(rootContainerElement){if(!rootContainerElement[listeningMarker]){rootContainerElement[listeningMarker]\x3d\n!0;allNativeEvents.forEach(function(domEventName){\x22selectionchange\x22!\x3d\x3ddomEventName\x26\x26(nonDelegatedEvents.has(domEventName)||listenToNativeEvent(domEventName,!1,rootContainerElement),listenToNativeEvent(domEventName,!0,rootContainerElement))});var ownerDocument\x3d9\x3d\x3d\x3drootContainerElement.nodeType?rootContainerElement:rootContainerElement.ownerDocument;null\x3d\x3d\x3downerDocument||ownerDocument[listeningMarker]||(ownerDocument[listeningMarker]\x3d!0,listenToNativeEvent(\x22selectionchange\x22,!1,ownerDocument))}}function addTrappedEventListener(targetContainer,\ndomEventName,eventSystemFlags,isCapturePhaseListener,isDeferredListenerForLegacyFBSupport){switch(getEventPriority(domEventName)){case DiscreteEventPriority:isDeferredListenerForLegacyFBSupport\x3ddispatchDiscreteEvent;break;case ContinuousEventPriority:isDeferredListenerForLegacyFBSupport\x3ddispatchContinuousEvent;break;default:isDeferredListenerForLegacyFBSupport\x3ddispatchEvent}eventSystemFlags\x3disDeferredListenerForLegacyFBSupport.bind(null,domEventName,eventSystemFlags,targetContainer);isDeferredListenerForLegacyFBSupport\x3d\nvoid 0;!passiveBrowserEventsSupported||\x22touchstart\x22!\x3d\x3ddomEventName\x26\x26\x22touchmove\x22!\x3d\x3ddomEventName\x26\x26\x22wheel\x22!\x3d\x3ddomEventName||(isDeferredListenerForLegacyFBSupport\x3d!0);isCapturePhaseListener?void 0!\x3d\x3disDeferredListenerForLegacyFBSupport?targetContainer.addEventListener(domEventName,eventSystemFlags,{capture:!0,passive:isDeferredListenerForLegacyFBSupport}):targetContainer.addEventListener(domEventName,eventSystemFlags,!0):void 0!\x3d\x3disDeferredListenerForLegacyFBSupport?targetContainer.addEventListener(domEventName,\neventSystemFlags,{passive:isDeferredListenerForLegacyFBSupport}):targetContainer.addEventListener(domEventName,eventSystemFlags,!1)}function dispatchEventForPluginEventSystem(domEventName,eventSystemFlags,nativeEvent,targetInst$jscomp$0,targetContainer){var ancestorInst\x3dtargetInst$jscomp$0;if(0\x3d\x3d\x3d(eventSystemFlags\x261)\x26\x260\x3d\x3d\x3d(eventSystemFlags\x262)\x26\x26null!\x3d\x3dtargetInst$jscomp$0)a:for(;;){if(null\x3d\x3d\x3dtargetInst$jscomp$0)return;var nodeTag\x3dtargetInst$jscomp$0.tag;if(3\x3d\x3d\x3dnodeTag||4\x3d\x3d\x3dnodeTag){var container\x3dtargetInst$jscomp$0.stateNode.containerInfo;\nif(container\x3d\x3d\x3dtargetContainer||8\x3d\x3d\x3dcontainer.nodeType\x26\x26container.parentNode\x3d\x3d\x3dtargetContainer)break;if(4\x3d\x3d\x3dnodeTag)for(nodeTag\x3dtargetInst$jscomp$0.return;null!\x3d\x3dnodeTag;){var grandTag\x3dnodeTag.tag;if(3\x3d\x3d\x3dgrandTag||4\x3d\x3d\x3dgrandTag)if(grandTag\x3dnodeTag.stateNode.containerInfo,grandTag\x3d\x3d\x3dtargetContainer||8\x3d\x3d\x3dgrandTag.nodeType\x26\x26grandTag.parentNode\x3d\x3d\x3dtargetContainer)return;nodeTag\x3dnodeTag.return}for(;null!\x3d\x3dcontainer;){nodeTag\x3dgetClosestInstanceFromNode(container);if(null\x3d\x3d\x3dnodeTag)return;grandTag\x3dnodeTag.tag;\nif(5\x3d\x3d\x3dgrandTag||6\x3d\x3d\x3dgrandTag){targetInst$jscomp$0\x3dancestorInst\x3dnodeTag;continue a}container\x3dcontainer.parentNode}}targetInst$jscomp$0\x3dtargetInst$jscomp$0.return}batchedUpdates(function(){var targetInst\x3dancestorInst,nativeEventTarget\x3dgetEventTarget(nativeEvent),dispatchQueue\x3d[];a:{var reactName\x3dtopLevelEventsToReactNames.get(domEventName);if(void 0!\x3d\x3dreactName){var SyntheticEventCtor\x3dSyntheticEvent,reactEventType\x3ddomEventName;switch(domEventName){case \x22keypress\x22:if(0\x3d\x3d\x3dgetEventCharCode(nativeEvent))break a;\ncase \x22keydown\x22:case \x22keyup\x22:SyntheticEventCtor\x3dSyntheticKeyboardEvent;break;case \x22focusin\x22:reactEventType\x3d\x22focus\x22;SyntheticEventCtor\x3dSyntheticFocusEvent;break;case \x22focusout\x22:reactEventType\x3d\x22blur\x22;SyntheticEventCtor\x3dSyntheticFocusEvent;break;case \x22beforeblur\x22:case \x22afterblur\x22:SyntheticEventCtor\x3dSyntheticFocusEvent;break;case \x22click\x22:if(2\x3d\x3d\x3dnativeEvent.button)break a;case \x22auxclick\x22:case \x22dblclick\x22:case \x22mousedown\x22:case \x22mousemove\x22:case \x22mouseup\x22:case \x22mouseout\x22:case \x22mouseover\x22:case \x22contextmenu\x22:SyntheticEventCtor\x3d\nSyntheticMouseEvent;break;case \x22drag\x22:case \x22dragend\x22:case \x22dragenter\x22:case \x22dragexit\x22:case \x22dragleave\x22:case \x22dragover\x22:case \x22dragstart\x22:case \x22drop\x22:SyntheticEventCtor\x3dSyntheticDragEvent;break;case \x22touchcancel\x22:case \x22touchend\x22:case \x22touchmove\x22:case \x22touchstart\x22:SyntheticEventCtor\x3dSyntheticTouchEvent;break;case ANIMATION_END:case ANIMATION_ITERATION:case ANIMATION_START:SyntheticEventCtor\x3dSyntheticAnimationEvent;break;case TRANSITION_END:SyntheticEventCtor\x3dSyntheticTransitionEvent;break;case \x22scroll\x22:SyntheticEventCtor\x3d\nSyntheticUIEvent;break;case \x22wheel\x22:SyntheticEventCtor\x3dSyntheticWheelEvent;break;case \x22copy\x22:case \x22cut\x22:case \x22paste\x22:SyntheticEventCtor\x3dSyntheticClipboardEvent;break;case \x22gotpointercapture\x22:case \x22lostpointercapture\x22:case \x22pointercancel\x22:case \x22pointerdown\x22:case \x22pointermove\x22:case \x22pointerout\x22:case \x22pointerover\x22:case \x22pointerup\x22:SyntheticEventCtor\x3dSyntheticPointerEvent}var inCapturePhase\x3d0!\x3d\x3d(eventSystemFlags\x264),accumulateTargetOnly\x3d!inCapturePhase\x26\x26\x22scroll\x22\x3d\x3d\x3ddomEventName,reactEventName\x3dinCapturePhase?\nnull!\x3d\x3dreactName?reactName+\x22Capture\x22:null:reactName;inCapturePhase\x3d[];for(var instance\x3dtargetInst,lastHostComponent;null!\x3d\x3dinstance;){lastHostComponent\x3dinstance;var stateNode\x3dlastHostComponent.stateNode;5\x3d\x3d\x3dlastHostComponent.tag\x26\x26null!\x3d\x3dstateNode\x26\x26(lastHostComponent\x3dstateNode,null!\x3d\x3dreactEventName\x26\x26(stateNode\x3dgetListener(instance,reactEventName),null!\x3dstateNode\x26\x26inCapturePhase.push(createDispatchListener(instance,stateNode,lastHostComponent))));if(accumulateTargetOnly)break;instance\x3dinstance.return}0\x3c\ninCapturePhase.length\x26\x26(reactName\x3dnew SyntheticEventCtor(reactName,reactEventType,null,nativeEvent,nativeEventTarget),dispatchQueue.push({event:reactName,listeners:inCapturePhase}))}}if(0\x3d\x3d\x3d(eventSystemFlags\x267)){a:{reactName\x3d\x22mouseover\x22\x3d\x3d\x3ddomEventName||\x22pointerover\x22\x3d\x3d\x3ddomEventName;SyntheticEventCtor\x3d\x22mouseout\x22\x3d\x3d\x3ddomEventName||\x22pointerout\x22\x3d\x3d\x3ddomEventName;if(reactName\x26\x26nativeEvent!\x3d\x3dcurrentReplayingEvent\x26\x26(reactEventType\x3dnativeEvent.relatedTarget||nativeEvent.fromElement)\x26\x26(getClosestInstanceFromNode(reactEventType)||\nreactEventType[internalContainerInstanceKey]))break a;if(SyntheticEventCtor||reactName){reactName\x3dnativeEventTarget.window\x3d\x3d\x3dnativeEventTarget?nativeEventTarget:(reactName\x3dnativeEventTarget.ownerDocument)?reactName.defaultView||reactName.parentWindow:window;if(SyntheticEventCtor){if(reactEventType\x3dnativeEvent.relatedTarget||nativeEvent.toElement,SyntheticEventCtor\x3dtargetInst,reactEventType\x3dreactEventType?getClosestInstanceFromNode(reactEventType):null,null!\x3d\x3dreactEventType\x26\x26(accumulateTargetOnly\x3d\ngetNearestMountedFiber(reactEventType),reactEventType!\x3d\x3daccumulateTargetOnly||5!\x3d\x3dreactEventType.tag\x26\x266!\x3d\x3dreactEventType.tag))reactEventType\x3dnull}else SyntheticEventCtor\x3dnull,reactEventType\x3dtargetInst;if(SyntheticEventCtor!\x3d\x3dreactEventType){inCapturePhase\x3dSyntheticMouseEvent;stateNode\x3d\x22onMouseLeave\x22;reactEventName\x3d\x22onMouseEnter\x22;instance\x3d\x22mouse\x22;if(\x22pointerout\x22\x3d\x3d\x3ddomEventName||\x22pointerover\x22\x3d\x3d\x3ddomEventName)inCapturePhase\x3dSyntheticPointerEvent,stateNode\x3d\x22onPointerLeave\x22,reactEventName\x3d\x22onPointerEnter\x22,\ninstance\x3d\x22pointer\x22;accumulateTargetOnly\x3dnull\x3d\x3dSyntheticEventCtor?reactName:getNodeFromInstance(SyntheticEventCtor);lastHostComponent\x3dnull\x3d\x3dreactEventType?reactName:getNodeFromInstance(reactEventType);reactName\x3dnew inCapturePhase(stateNode,instance+\x22leave\x22,SyntheticEventCtor,nativeEvent,nativeEventTarget);reactName.target\x3daccumulateTargetOnly;reactName.relatedTarget\x3dlastHostComponent;stateNode\x3dnull;getClosestInstanceFromNode(nativeEventTarget)\x3d\x3d\x3dtargetInst\x26\x26(inCapturePhase\x3dnew inCapturePhase(reactEventName,\ninstance+\x22enter\x22,reactEventType,nativeEvent,nativeEventTarget),inCapturePhase.target\x3dlastHostComponent,inCapturePhase.relatedTarget\x3daccumulateTargetOnly,stateNode\x3dinCapturePhase);accumulateTargetOnly\x3dstateNode;if(SyntheticEventCtor\x26\x26reactEventType)b:{inCapturePhase\x3dSyntheticEventCtor;reactEventName\x3dreactEventType;instance\x3d0;for(lastHostComponent\x3dinCapturePhase;lastHostComponent;lastHostComponent\x3dgetParent(lastHostComponent))instance++;lastHostComponent\x3d0;for(stateNode\x3dreactEventName;stateNode;stateNode\x3d\ngetParent(stateNode))lastHostComponent++;for(;0\x3cinstance-lastHostComponent;)inCapturePhase\x3dgetParent(inCapturePhase),instance--;for(;0\x3clastHostComponent-instance;)reactEventName\x3dgetParent(reactEventName),lastHostComponent--;for(;instance--;){if(inCapturePhase\x3d\x3d\x3dreactEventName||null!\x3d\x3dreactEventName\x26\x26inCapturePhase\x3d\x3d\x3dreactEventName.alternate)break b;inCapturePhase\x3dgetParent(inCapturePhase);reactEventName\x3dgetParent(reactEventName)}inCapturePhase\x3dnull}else inCapturePhase\x3dnull;null!\x3d\x3dSyntheticEventCtor\x26\x26\naccumulateEnterLeaveListenersForEvent(dispatchQueue,reactName,SyntheticEventCtor,inCapturePhase,!1);null!\x3d\x3dreactEventType\x26\x26null!\x3d\x3daccumulateTargetOnly\x26\x26accumulateEnterLeaveListenersForEvent(dispatchQueue,accumulateTargetOnly,reactEventType,inCapturePhase,!0)}}}a:{reactName\x3dtargetInst?getNodeFromInstance(targetInst):window;SyntheticEventCtor\x3dreactName.nodeName\x26\x26reactName.nodeName.toLowerCase();if(\x22select\x22\x3d\x3d\x3dSyntheticEventCtor||\x22input\x22\x3d\x3d\x3dSyntheticEventCtor\x26\x26\x22file\x22\x3d\x3d\x3dreactName.type)var getTargetInstFunc\x3d\ngetTargetInstForChangeEvent;else if(isTextInputElement(reactName))if(isInputEventSupported)getTargetInstFunc\x3dgetTargetInstForInputOrChangeEvent;else{getTargetInstFunc\x3dgetTargetInstForInputEventPolyfill;var handleEventFunc\x3dhandleEventsForInputEventPolyfill}else(SyntheticEventCtor\x3dreactName.nodeName)\x26\x26\x22input\x22\x3d\x3d\x3dSyntheticEventCtor.toLowerCase()\x26\x26(\x22checkbox\x22\x3d\x3d\x3dreactName.type||\x22radio\x22\x3d\x3d\x3dreactName.type)\x26\x26(getTargetInstFunc\x3dgetTargetInstForClickEvent);if(getTargetInstFunc\x26\x26(getTargetInstFunc\x3dgetTargetInstFunc(domEventName,\ntargetInst))){createAndAccumulateChangeEvent(dispatchQueue,getTargetInstFunc,nativeEvent,nativeEventTarget);break a}handleEventFunc\x26\x26handleEventFunc(domEventName,reactName,targetInst);\x22focusout\x22\x3d\x3d\x3ddomEventName\x26\x26(handleEventFunc\x3dreactName._wrapperState)\x26\x26handleEventFunc.controlled\x26\x26\x22number\x22\x3d\x3d\x3dreactName.type\x26\x26setDefaultValue(reactName,\x22number\x22,reactName.value)}handleEventFunc\x3dtargetInst?getNodeFromInstance(targetInst):window;switch(domEventName){case \x22focusin\x22:if(isTextInputElement(handleEventFunc)||\n\x22true\x22\x3d\x3d\x3dhandleEventFunc.contentEditable)activeElement$1\x3dhandleEventFunc,activeElementInst$1\x3dtargetInst,lastSelection\x3dnull;break;case \x22focusout\x22:lastSelection\x3dactiveElementInst$1\x3dactiveElement$1\x3dnull;break;case \x22mousedown\x22:mouseDown\x3d!0;break;case \x22contextmenu\x22:case \x22mouseup\x22:case \x22dragend\x22:mouseDown\x3d!1;constructSelectEvent(dispatchQueue,nativeEvent,nativeEventTarget);break;case \x22selectionchange\x22:if(skipSelectionChangeEvent)break;case \x22keydown\x22:case \x22keyup\x22:constructSelectEvent(dispatchQueue,nativeEvent,\nnativeEventTarget)}var fallbackData;if(canUseCompositionEvent)b:{switch(domEventName){case \x22compositionstart\x22:var eventType\x3d\x22onCompositionStart\x22;break b;case \x22compositionend\x22:eventType\x3d\x22onCompositionEnd\x22;break b;case \x22compositionupdate\x22:eventType\x3d\x22onCompositionUpdate\x22;break b}eventType\x3dvoid 0}else isComposing?isFallbackCompositionEnd(domEventName,nativeEvent)\x26\x26(eventType\x3d\x22onCompositionEnd\x22):\x22keydown\x22\x3d\x3d\x3ddomEventName\x26\x26nativeEvent.keyCode\x3d\x3d\x3dSTART_KEYCODE\x26\x26(eventType\x3d\x22onCompositionStart\x22);eventType\x26\x26\n(useFallbackCompositionData\x26\x26\x22ko\x22!\x3d\x3dnativeEvent.locale\x26\x26(isComposing||\x22onCompositionStart\x22!\x3d\x3deventType?\x22onCompositionEnd\x22\x3d\x3d\x3deventType\x26\x26isComposing\x26\x26(fallbackData\x3dgetData()):(root$jscomp$1\x3dnativeEventTarget,startText\x3d\x22value\x22in root$jscomp$1?root$jscomp$1.value:root$jscomp$1.textContent,isComposing\x3d!0)),handleEventFunc\x3daccumulateTwoPhaseListeners(targetInst,eventType),0\x3chandleEventFunc.length\x26\x26(eventType\x3dnew SyntheticCompositionEvent(eventType,domEventName,null,nativeEvent,nativeEventTarget),dispatchQueue.push({event:eventType,\nlisteners:handleEventFunc}),fallbackData?eventType.data\x3dfallbackData:(fallbackData\x3dgetDataFromCustomEvent(nativeEvent),null!\x3d\x3dfallbackData\x26\x26(eventType.data\x3dfallbackData))));if(fallbackData\x3dcanUseTextInputEvent?getNativeBeforeInputChars(domEventName,nativeEvent):getFallbackBeforeInputChars(domEventName,nativeEvent))targetInst\x3daccumulateTwoPhaseListeners(targetInst,\x22onBeforeInput\x22),0\x3ctargetInst.length\x26\x26(nativeEventTarget\x3dnew SyntheticInputEvent(\x22onBeforeInput\x22,\x22beforeinput\x22,null,nativeEvent,nativeEventTarget),\ndispatchQueue.push({event:nativeEventTarget,listeners:targetInst}),nativeEventTarget.data\x3dfallbackData)}processDispatchQueue(dispatchQueue,eventSystemFlags)})}function createDispatchListener(instance,listener,currentTarget){return{instance,listener,currentTarget}}function accumulateTwoPhaseListeners(targetFiber,reactName){for(var captureName\x3dreactName+\x22Capture\x22,listeners\x3d[];null!\x3d\x3dtargetFiber;){var _instance3\x3dtargetFiber,stateNode\x3d_instance3.stateNode;5\x3d\x3d\x3d_instance3.tag\x26\x26null!\x3d\x3dstateNode\x26\x26(_instance3\x3d\nstateNode,stateNode\x3dgetListener(targetFiber,captureName),null!\x3dstateNode\x26\x26listeners.unshift(createDispatchListener(targetFiber,stateNode,_instance3)),stateNode\x3dgetListener(targetFiber,reactName),null!\x3dstateNode\x26\x26listeners.push(createDispatchListener(targetFiber,stateNode,_instance3)));targetFiber\x3dtargetFiber.return}return listeners}function getParent(inst){if(null\x3d\x3d\x3dinst)return null;do inst\x3dinst.return;while(inst\x26\x265!\x3d\x3dinst.tag);return inst?inst:null}function accumulateEnterLeaveListenersForEvent(dispatchQueue,\nevent,target,common,inCapturePhase){for(var registrationName\x3devent._reactName,listeners\x3d[];null!\x3d\x3dtarget\x26\x26target!\x3d\x3dcommon;){var _instance4\x3dtarget,alternate\x3d_instance4.alternate,stateNode\x3d_instance4.stateNode;if(null!\x3d\x3dalternate\x26\x26alternate\x3d\x3d\x3dcommon)break;5\x3d\x3d\x3d_instance4.tag\x26\x26null!\x3d\x3dstateNode\x26\x26(_instance4\x3dstateNode,inCapturePhase?(alternate\x3dgetListener(target,registrationName),null!\x3dalternate\x26\x26listeners.unshift(createDispatchListener(target,alternate,_instance4))):inCapturePhase||(alternate\x3dgetListener(target,\nregistrationName),null!\x3dalternate\x26\x26listeners.push(createDispatchListener(target,alternate,_instance4))));target\x3dtarget.return}0!\x3d\x3dlisteners.length\x26\x26dispatchQueue.push({event,listeners})}function normalizeMarkupForTextOrAttribute(markup){return(\x22string\x22\x3d\x3d\x3dtypeof markup?markup:\x22\x22+markup).replace(NORMALIZE_NEWLINES_REGEX,\x22\\n\x22).replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX,\x22\x22)}function checkForUnmatchedText(serverText,clientText,isConcurrentMode,shouldWarnDev){clientText\x3dnormalizeMarkupForTextOrAttribute(clientText);\nserverText\x3dnormalizeMarkupForTextOrAttribute(serverText);if(serverText!\x3d\x3dclientText\x26\x26(shouldWarnDev\x26\x26!didWarnInvalidHydration\x26\x26(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x27Text content did not match. Server: \x22%s\x22 Client: \x22%s\x22\x27,serverText,clientText)),isConcurrentMode))throw Error(\x22Text content does not match server-rendered HTML.\x22);}function noop(){}function warnForDeletedHydratableElement(parentNode,child){didWarnInvalidHydration||(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x22Did not expect server HTML to contain a \\x3c%s\\x3e in \\x3c%s\\x3e.\x22,\nchild.nodeName.toLowerCase(),parentNode.nodeName.toLowerCase()))}function warnForDeletedHydratableText(parentNode,child){didWarnInvalidHydration||(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x27Did not expect server HTML to contain the text node \x22%s\x22 in \\x3c%s\\x3e.\x27,child.nodeValue,parentNode.nodeName.toLowerCase()))}function warnForInsertedHydratedElement(parentNode,tag,props){didWarnInvalidHydration||(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x22Expected server HTML to contain a matching \\x3c%s\\x3e in \\x3c%s\\x3e.\x22,\ntag,parentNode.nodeName.toLowerCase()))}function warnForInsertedHydratedText(parentNode,text){\x22\x22\x3d\x3d\x3dtext||didWarnInvalidHydration||(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x27Expected server HTML to contain a matching text node for \x22%s\x22 in \\x3c%s\\x3e.\x27,text,parentNode.nodeName.toLowerCase()))}function shouldSetTextContent(type,props){return\x22textarea\x22\x3d\x3d\x3dtype||\x22noscript\x22\x3d\x3d\x3dtype||\x22string\x22\x3d\x3d\x3dtypeof props.children||\x22number\x22\x3d\x3d\x3dtypeof props.children||\x22object\x22\x3d\x3d\x3dtypeof props.dangerouslySetInnerHTML\x26\x26null!\x3d\x3d\nprops.dangerouslySetInnerHTML\x26\x26null!\x3dprops.dangerouslySetInnerHTML.__html}function handleErrorInNextTick(error){setTimeout(function(){throw error;})}function clearSuspenseBoundary(parentInstance,suspenseInstance){var node\x3dsuspenseInstance,depth\x3d0;do{var nextNode\x3dnode.nextSibling;parentInstance.removeChild(node);if(nextNode\x26\x268\x3d\x3d\x3dnextNode.nodeType)if(node\x3dnextNode.data,node\x3d\x3d\x3dSUSPENSE_END_DATA){if(0\x3d\x3d\x3ddepth){parentInstance.removeChild(nextNode);retryIfBlockedOn(suspenseInstance);return}depth--}else node!\x3d\x3d\nSUSPENSE_START_DATA\x26\x26node!\x3d\x3dSUSPENSE_PENDING_START_DATA\x26\x26node!\x3d\x3dSUSPENSE_FALLBACK_START_DATA||depth++;node\x3dnextNode}while(node);retryIfBlockedOn(suspenseInstance)}function getNextHydratable(node){for(;null!\x3dnode;node\x3dnode.nextSibling){var nodeType\x3dnode.nodeType;if(1\x3d\x3d\x3dnodeType||3\x3d\x3d\x3dnodeType)break;if(8\x3d\x3d\x3dnodeType){nodeType\x3dnode.data;if(nodeType\x3d\x3d\x3dSUSPENSE_START_DATA||nodeType\x3d\x3d\x3dSUSPENSE_FALLBACK_START_DATA||nodeType\x3d\x3d\x3dSUSPENSE_PENDING_START_DATA)break;if(nodeType\x3d\x3d\x3dSUSPENSE_END_DATA)return null}}return node}\nfunction getParentSuspenseInstance(targetInstance){targetInstance\x3dtargetInstance.previousSibling;for(var depth\x3d0;targetInstance;){if(8\x3d\x3d\x3dtargetInstance.nodeType){var data\x3dtargetInstance.data;if(data\x3d\x3d\x3dSUSPENSE_START_DATA||data\x3d\x3d\x3dSUSPENSE_FALLBACK_START_DATA||data\x3d\x3d\x3dSUSPENSE_PENDING_START_DATA){if(0\x3d\x3d\x3ddepth)return targetInstance;depth--}else data\x3d\x3d\x3dSUSPENSE_END_DATA\x26\x26depth++}targetInstance\x3dtargetInstance.previousSibling}return null}function getClosestInstanceFromNode(targetNode){var targetInst\x3dtargetNode[internalInstanceKey];\nif(targetInst)return targetInst;for(var parentNode\x3dtargetNode.parentNode;parentNode;){if(targetInst\x3dparentNode[internalContainerInstanceKey]||parentNode[internalInstanceKey]){parentNode\x3dtargetInst.alternate;if(null!\x3d\x3dtargetInst.child||null!\x3d\x3dparentNode\x26\x26null!\x3d\x3dparentNode.child)for(targetNode\x3dgetParentSuspenseInstance(targetNode);null!\x3d\x3dtargetNode;){if(parentNode\x3dtargetNode[internalInstanceKey])return parentNode;targetNode\x3dgetParentSuspenseInstance(targetNode)}return targetInst}targetNode\x3dparentNode;\nparentNode\x3dtargetNode.parentNode}return null}function getInstanceFromNode(node){node\x3dnode[internalInstanceKey]||node[internalContainerInstanceKey];return!node||5!\x3d\x3dnode.tag\x26\x266!\x3d\x3dnode.tag\x26\x2613!\x3d\x3dnode.tag\x26\x263!\x3d\x3dnode.tag?null:node}function getNodeFromInstance(inst){if(5\x3d\x3d\x3dinst.tag||6\x3d\x3d\x3dinst.tag)return inst.stateNode;throw Error(\x22getNodeFromInstance: Invalid argument.\x22);}function getFiberCurrentPropsFromNode(node){return node[internalPropsKey]||null}function setCurrentlyValidatingElement(element){if(element){var owner\x3d\nelement._owner;element\x3ddescribeUnknownElementTypeFrameInDEV(element.type,element._source,owner?owner.type:null);ReactDebugCurrentFrame$1.setExtraStackFrame(element)}else ReactDebugCurrentFrame$1.setExtraStackFrame(null)}function checkPropTypes(typeSpecs,values,location,componentName,element){var has\x3dFunction.call.bind(hasOwnProperty),typeSpecName;for(typeSpecName in typeSpecs)if(has(typeSpecs,typeSpecName)){var error$1\x3dvoid 0;try{if(\x22function\x22!\x3d\x3dtypeof typeSpecs[typeSpecName]){var err\x3dError((componentName||\n\x22React class\x22)+\x22: \x22+location+\x22 type `\x22+typeSpecName+\x22` is invalid; it must be a function, usually from the `prop-types` package, but received `\x22+typeof typeSpecs[typeSpecName]+\x22`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\x22);err.name\x3d\x22Invariant Violation\x22;throw err;}error$1\x3dtypeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,\x22SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\x22)}catch(ex){error$1\x3dex}!error$1||error$1 instanceof Error||\n(setCurrentlyValidatingElement(element),error$jscomp$0(\x22%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\x22,componentName||\x22React class\x22,location,typeSpecName,typeof error$1),setCurrentlyValidatingElement(null));error$1 instanceof Error\x26\x26!(error$1.message in loggedTypeFailures)\x26\x26\n(loggedTypeFailures[error$1.message]\x3d!0,setCurrentlyValidatingElement(element),error$jscomp$0(\x22Failed %s type: %s\x22,location,error$1.message),setCurrentlyValidatingElement(null))}}function createCursor(defaultValue){return{current:defaultValue}}function pop(cursor,fiber){0\x3eindex$jscomp$0?error$jscomp$0(\x22Unexpected pop.\x22):(fiber!\x3d\x3dfiberStack[index$jscomp$0]\x26\x26error$jscomp$0(\x22Unexpected Fiber popped.\x22),cursor.current\x3dvalueStack[index$jscomp$0],valueStack[index$jscomp$0]\x3dnull,fiberStack[index$jscomp$0]\x3d\nnull,index$jscomp$0--)}function push(cursor,value,fiber){index$jscomp$0++;valueStack[index$jscomp$0]\x3dcursor.current;fiberStack[index$jscomp$0]\x3dfiber;cursor.current\x3dvalue}function getMaskedContext(workInProgress,unmaskedContext){var contextTypes\x3dworkInProgress.type.contextTypes;if(!contextTypes)return emptyContextObject;var instance\x3dworkInProgress.stateNode;if(instance\x26\x26instance.__reactInternalMemoizedUnmaskedChildContext\x3d\x3d\x3dunmaskedContext)return instance.__reactInternalMemoizedMaskedChildContext;\nvar context\x3d{};for(key in contextTypes)context[key]\x3dunmaskedContext[key];var key\x3dgetComponentNameFromFiber(workInProgress)||\x22Unknown\x22;checkPropTypes(contextTypes,context,\x22context\x22,key);instance\x26\x26(workInProgress\x3dworkInProgress.stateNode,workInProgress.__reactInternalMemoizedUnmaskedChildContext\x3dunmaskedContext,workInProgress.__reactInternalMemoizedMaskedChildContext\x3dcontext);return context}function isContextProvider(type){type\x3dtype.childContextTypes;return null!\x3d\x3dtype\x26\x26void 0!\x3d\x3dtype}function popContext(fiber){pop(didPerformWorkStackCursor,\nfiber);pop(contextStackCursor,fiber)}function popTopLevelContextObject(fiber){pop(didPerformWorkStackCursor,fiber);pop(contextStackCursor,fiber)}function pushTopLevelContextObject(fiber,context,didChange){if(contextStackCursor.current!\x3d\x3demptyContextObject)throw Error(\x22Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.\x22);push(contextStackCursor,context,fiber);push(didPerformWorkStackCursor,didChange,fiber)}function processChildContext(fiber,type,\nparentContext){var instance\x3dfiber.stateNode;type\x3dtype.childContextTypes;if(\x22function\x22!\x3d\x3dtypeof instance.getChildContext)return fiber\x3dgetComponentNameFromFiber(fiber)||\x22Unknown\x22,warnedAboutMissingGetChildContext[fiber]||(warnedAboutMissingGetChildContext[fiber]\x3d!0,error$jscomp$0(\x22%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.\x22,fiber,fiber)),parentContext;instance\x3dinstance.getChildContext();\nfor(var contextKey in instance)if(!(contextKey in type))throw Error((getComponentNameFromFiber(fiber)||\x22Unknown\x22)+\x27.getChildContext(): key \x22\x27+contextKey+\x27\x22 is not defined in childContextTypes.\x27);fiber\x3dgetComponentNameFromFiber(fiber)||\x22Unknown\x22;checkPropTypes(type,instance,\x22child context\x22,fiber);return assign({},parentContext,instance)}function pushContextProvider(workInProgress){var instance\x3dworkInProgress.stateNode;instance\x3dinstance\x26\x26instance.__reactInternalMemoizedMergedChildContext||emptyContextObject;\npreviousContext\x3dcontextStackCursor.current;push(contextStackCursor,instance,workInProgress);push(didPerformWorkStackCursor,didPerformWorkStackCursor.current,workInProgress);return!0}function invalidateContextProvider(workInProgress,type,didChange){var instance\x3dworkInProgress.stateNode;if(!instance)throw Error(\x22Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.\x22);didChange?(type\x3dprocessChildContext(workInProgress,type,previousContext),instance.__reactInternalMemoizedMergedChildContext\x3d\ntype,pop(didPerformWorkStackCursor,workInProgress),pop(contextStackCursor,workInProgress),push(contextStackCursor,type,workInProgress)):pop(didPerformWorkStackCursor,workInProgress);push(didPerformWorkStackCursor,didChange,workInProgress)}function scheduleSyncCallback(callback){null\x3d\x3d\x3dsyncQueue?syncQueue\x3d[callback]:syncQueue.push(callback)}function scheduleLegacySyncCallback(callback){includesLegacySyncCallbacks\x3d!0;scheduleSyncCallback(callback)}function flushSyncCallbacks(){if(!isFlushingSyncQueue\x26\x26\nnull!\x3d\x3dsyncQueue){isFlushingSyncQueue\x3d!0;var i\x3d0,previousUpdatePriority\x3dcurrentUpdatePriority;try{var queue\x3dsyncQueue;for(currentUpdatePriority\x3dDiscreteEventPriority;i\x3cqueue.length;i++){var callback\x3dqueue[i];do callback\x3dcallback(!0);while(null!\x3d\x3dcallback)}syncQueue\x3dnull;includesLegacySyncCallbacks\x3d!1}catch(error){throw null!\x3d\x3dsyncQueue\x26\x26(syncQueue\x3dsyncQueue.slice(i+1)),scheduleCallback(ImmediatePriority,flushSyncCallbacks),error;}finally{currentUpdatePriority\x3dpreviousUpdatePriority,isFlushingSyncQueue\x3d\n!1}}return null}function pushTreeFork(workInProgress,totalChildren){warnIfNotHydrating();forkStack[forkStackIndex++]\x3dtreeForkCount;forkStack[forkStackIndex++]\x3dtreeForkProvider;treeForkProvider\x3dworkInProgress;treeForkCount\x3dtotalChildren}function pushTreeId(workInProgress,totalChildren,index){warnIfNotHydrating();idStack[idStackIndex++]\x3dtreeContextId;idStack[idStackIndex++]\x3dtreeContextOverflow;idStack[idStackIndex++]\x3dtreeContextProvider;treeContextProvider\x3dworkInProgress;var baseIdWithLeadingBit\x3dtreeContextId;\nworkInProgress\x3dtreeContextOverflow;var baseLength\x3d32-clz32(baseIdWithLeadingBit)-1;baseIdWithLeadingBit\x26\x3d~(1\x3c\x3cbaseLength);index+\x3d1;var length\x3d32-clz32(totalChildren)+baseLength;if(30\x3clength){var numberOfOverflowBits\x3dbaseLength-baseLength%5;length\x3d(baseIdWithLeadingBit\x26(1\x3c\x3cnumberOfOverflowBits)-1).toString(32);baseIdWithLeadingBit\x3e\x3e\x3dnumberOfOverflowBits;baseLength-\x3dnumberOfOverflowBits;treeContextId\x3d1\x3c\x3c32-clz32(totalChildren)+baseLength|index\x3c\x3cbaseLength|baseIdWithLeadingBit;treeContextOverflow\x3dlength+\nworkInProgress}else treeContextId\x3d1\x3c\x3clength|index\x3c\x3cbaseLength|baseIdWithLeadingBit,treeContextOverflow\x3dworkInProgress}function pushMaterializedTreeId(workInProgress){warnIfNotHydrating();null!\x3d\x3dworkInProgress.return\x26\x26(pushTreeFork(workInProgress,1),pushTreeId(workInProgress,1,0))}function popTreeContext(workInProgress){for(;workInProgress\x3d\x3d\x3dtreeForkProvider;)treeForkProvider\x3dforkStack[--forkStackIndex],forkStack[forkStackIndex]\x3dnull,treeForkCount\x3dforkStack[--forkStackIndex],forkStack[forkStackIndex]\x3d\nnull;for(;workInProgress\x3d\x3d\x3dtreeContextProvider;)treeContextProvider\x3didStack[--idStackIndex],idStack[idStackIndex]\x3dnull,treeContextOverflow\x3didStack[--idStackIndex],idStack[idStackIndex]\x3dnull,treeContextId\x3didStack[--idStackIndex],idStack[idStackIndex]\x3dnull}function warnIfNotHydrating(){isHydrating||error$jscomp$0(\x22Expected to be hydrating. This is a bug in React. Please file an issue.\x22)}function warnUnhydratedInstance(returnFiber,instance){switch(returnFiber.tag){case 3:returnFiber\x3dreturnFiber.stateNode.containerInfo;\n1\x3d\x3d\x3dinstance.nodeType?warnForDeletedHydratableElement(returnFiber,instance):8!\x3d\x3dinstance.nodeType\x26\x26warnForDeletedHydratableText(returnFiber,instance);break;case 5:var parentInstance\x3dreturnFiber.stateNode;if(0!\x3d\x3d(returnFiber.mode\x261)||!0!\x3d\x3dreturnFiber.memoizedProps.suppressHydrationWarning)1\x3d\x3d\x3dinstance.nodeType?warnForDeletedHydratableElement(parentInstance,instance):8!\x3d\x3dinstance.nodeType\x26\x26warnForDeletedHydratableText(parentInstance,instance);break;case 13:returnFiber\x3dreturnFiber.memoizedState,null!\x3d\x3d\nreturnFiber.dehydrated\x26\x26(returnFiber\x3dreturnFiber.dehydrated.parentNode,null!\x3d\x3dreturnFiber\x26\x26(1\x3d\x3d\x3dinstance.nodeType?warnForDeletedHydratableElement(returnFiber,instance):8!\x3d\x3dinstance.nodeType\x26\x26warnForDeletedHydratableText(returnFiber,instance)))}}function deleteHydratableInstance(returnFiber,instance){warnUnhydratedInstance(returnFiber,instance);var fiber\x3dcreateFiber(5,null,null,0);fiber.elementType\x3d\x22DELETED\x22;fiber.stateNode\x3dinstance;fiber.return\x3dreturnFiber;instance\x3dreturnFiber.deletions;null\x3d\x3d\x3dinstance?\n(returnFiber.deletions\x3d[fiber],returnFiber.flags|\x3d16):instance.push(fiber)}function warnNonhydratedInstance(returnFiber,fiber){if(!didSuspendOrErrorDEV)switch(returnFiber.tag){case 3:returnFiber\x3dreturnFiber.stateNode.containerInfo;switch(fiber.tag){case 5:warnForInsertedHydratedElement(returnFiber,fiber.type);break;case 6:warnForInsertedHydratedText(returnFiber,fiber.pendingProps)}break;case 5:var parentProps\x3dreturnFiber.memoizedProps,parentInstance\x3dreturnFiber.stateNode;switch(fiber.tag){case 5:fiber\x3d\nfiber.type;0\x3d\x3d\x3d(returnFiber.mode\x261)\x26\x26!0\x3d\x3d\x3dparentProps.suppressHydrationWarning||warnForInsertedHydratedElement(parentInstance,fiber);break;case 6:fiber\x3dfiber.pendingProps,0\x3d\x3d\x3d(returnFiber.mode\x261)\x26\x26!0\x3d\x3d\x3dparentProps.suppressHydrationWarning||warnForInsertedHydratedText(parentInstance,fiber)}break;case 13:if(returnFiber\x3dreturnFiber.memoizedState.dehydrated,null!\x3d\x3dreturnFiber)switch(fiber.tag){case 5:fiber\x3dfiber.type;returnFiber\x3dreturnFiber.parentNode;null!\x3d\x3dreturnFiber\x26\x26warnForInsertedHydratedElement(returnFiber,\nfiber);break;case 6:fiber\x3dfiber.pendingProps,returnFiber\x3dreturnFiber.parentNode,null!\x3d\x3dreturnFiber\x26\x26warnForInsertedHydratedText(returnFiber,fiber)}}}function tryHydrate(fiber,nextInstance){switch(fiber.tag){case 5:var type\x3dfiber.type;nextInstance\x3d1!\x3d\x3dnextInstance.nodeType||type.toLowerCase()!\x3d\x3dnextInstance.nodeName.toLowerCase()?null:nextInstance;return null!\x3d\x3dnextInstance?(fiber.stateNode\x3dnextInstance,hydrationParentFiber\x3dfiber,nextHydratableInstance\x3dgetNextHydratable(nextInstance.firstChild),!0):\n!1;case 6:return nextInstance\x3d\x22\x22\x3d\x3d\x3dfiber.pendingProps||3!\x3d\x3dnextInstance.nodeType?null:nextInstance,null!\x3d\x3dnextInstance?(fiber.stateNode\x3dnextInstance,hydrationParentFiber\x3dfiber,nextHydratableInstance\x3dnull,!0):!1;case 13:return nextInstance\x3d8!\x3d\x3dnextInstance.nodeType?null:nextInstance,null!\x3d\x3dnextInstance?(warnIfNotHydrating(),type\x3dnull!\x3d\x3dtreeContextProvider?{id:treeContextId,overflow:treeContextOverflow}:null,fiber.memoizedState\x3d{dehydrated:nextInstance,treeContext:type,retryLane:OffscreenLane},type\x3d\ncreateFiber(18,null,null,0),type.stateNode\x3dnextInstance,type.return\x3dfiber,fiber.child\x3dtype,hydrationParentFiber\x3dfiber,nextHydratableInstance\x3dnull,!0):!1;default:return!1}}function shouldClientRenderOnMismatch(fiber){return 0!\x3d\x3d(fiber.mode\x261)\x26\x260\x3d\x3d\x3d(fiber.flags\x26128)}function throwOnHydrationMismatch(fiber){throw Error(\x22Hydration failed because the initial UI does not match what was rendered on the server.\x22);}function tryToClaimNextHydratableInstance(fiber){if(isHydrating){var nextInstance\x3dnextHydratableInstance;\nif(nextInstance){var firstAttemptedInstance\x3dnextInstance;if(!tryHydrate(fiber,nextInstance)){shouldClientRenderOnMismatch(fiber)\x26\x26(warnNonhydratedInstance(hydrationParentFiber,fiber),throwOnHydrationMismatch());nextInstance\x3dgetNextHydratable(firstAttemptedInstance.nextSibling);var prevHydrationParentFiber\x3dhydrationParentFiber;nextInstance\x26\x26tryHydrate(fiber,nextInstance)?deleteHydratableInstance(prevHydrationParentFiber,firstAttemptedInstance):(nextInstance\x3dhydrationParentFiber,fiber.flags\x3dfiber.flags\x26\n-4097|2,warnNonhydratedInstance(nextInstance,fiber),isHydrating\x3d!1,hydrationParentFiber\x3dfiber)}}else shouldClientRenderOnMismatch(fiber)\x26\x26(warnNonhydratedInstance(hydrationParentFiber,fiber),throwOnHydrationMismatch()),nextInstance\x3dhydrationParentFiber,fiber.flags\x3dfiber.flags\x26-4097|2,warnNonhydratedInstance(nextInstance,fiber),isHydrating\x3d!1,hydrationParentFiber\x3dfiber}}function popToNextHostParent(fiber){for(fiber\x3dfiber.return;null!\x3d\x3dfiber\x26\x265!\x3d\x3dfiber.tag\x26\x263!\x3d\x3dfiber.tag\x26\x2613!\x3d\x3dfiber.tag;)fiber\x3dfiber.return;\nhydrationParentFiber\x3dfiber}function popHydrationState(fiber){if(fiber!\x3d\x3dhydrationParentFiber)return!1;if(!isHydrating)return popToNextHostParent(fiber),isHydrating\x3d!0,!1;var JSCompiler_temp;(JSCompiler_temp\x3d3!\x3d\x3dfiber.tag)\x26\x26!(JSCompiler_temp\x3d5!\x3d\x3dfiber.tag)\x26\x26(JSCompiler_temp\x3dfiber.type,JSCompiler_temp\x3d\x22head\x22!\x3d\x3dJSCompiler_temp\x26\x26\x22body\x22!\x3d\x3dJSCompiler_temp\x26\x26!shouldSetTextContent(fiber.type,fiber.memoizedProps));if(JSCompiler_temp\x26\x26(JSCompiler_temp\x3dnextHydratableInstance))if(shouldClientRenderOnMismatch(fiber))warnIfUnhydratedTailNodes(fiber),\nthrowOnHydrationMismatch();else for(;JSCompiler_temp;)deleteHydratableInstance(fiber,JSCompiler_temp),JSCompiler_temp\x3dgetNextHydratable(JSCompiler_temp.nextSibling);popToNextHostParent(fiber);if(13\x3d\x3d\x3dfiber.tag){fiber\x3dfiber.memoizedState;fiber\x3dnull!\x3d\x3dfiber?fiber.dehydrated:null;if(!fiber)throw Error(\x22Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\x22);a:{fiber\x3dfiber.nextSibling;for(JSCompiler_temp\x3d0;fiber;){if(8\x3d\x3d\x3dfiber.nodeType){var data\x3d\nfiber.data;if(data\x3d\x3d\x3dSUSPENSE_END_DATA){if(0\x3d\x3d\x3dJSCompiler_temp){nextHydratableInstance\x3dgetNextHydratable(fiber.nextSibling);break a}JSCompiler_temp--}else data!\x3d\x3dSUSPENSE_START_DATA\x26\x26data!\x3d\x3dSUSPENSE_FALLBACK_START_DATA\x26\x26data!\x3d\x3dSUSPENSE_PENDING_START_DATA||JSCompiler_temp++}fiber\x3dfiber.nextSibling}nextHydratableInstance\x3dnull}}else nextHydratableInstance\x3dhydrationParentFiber?getNextHydratable(fiber.stateNode.nextSibling):null;return!0}function warnIfUnhydratedTailNodes(fiber){for(var nextInstance\x3dnextHydratableInstance;nextInstance;)warnUnhydratedInstance(fiber,\nnextInstance),nextInstance\x3dgetNextHydratable(nextInstance.nextSibling)}function resetHydrationState(){nextHydratableInstance\x3dhydrationParentFiber\x3dnull;didSuspendOrErrorDEV\x3disHydrating\x3d!1}function queueHydrationError(error){null\x3d\x3d\x3dhydrationErrors?hydrationErrors\x3d[error]:hydrationErrors.push(error)}function resolveDefaultProps(Component,baseProps){if(Component\x26\x26Component.defaultProps){baseProps\x3dassign({},baseProps);Component\x3dComponent.defaultProps;for(var propName in Component)void 0\x3d\x3d\x3dbaseProps[propName]\x26\x26\n(baseProps[propName]\x3dComponent[propName]);return baseProps}return baseProps}function resetContextDependencies(){lastFullyObservedContext\x3dlastContextDependency\x3dcurrentlyRenderingFiber\x3dnull;isDisallowedContextReadInDEV\x3d!1}function pushProvider(providerFiber,context,nextValue){push(valueCursor,context._currentValue,providerFiber);context._currentValue\x3dnextValue;void 0!\x3d\x3dcontext._currentRenderer\x26\x26null!\x3d\x3dcontext._currentRenderer\x26\x26context._currentRenderer!\x3d\x3drendererSigil\x26\x26error$jscomp$0(\x22Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\x22);\ncontext._currentRenderer\x3drendererSigil}function popProvider(context,providerFiber){var currentValue\x3dvalueCursor.current;pop(valueCursor,providerFiber);context._currentValue\x3dcurrentValue}function scheduleContextWorkOnParentPath(parent,renderLanes,propagationRoot){for(;null!\x3d\x3dparent;){var alternate\x3dparent.alternate;(parent.childLanes\x26renderLanes)!\x3d\x3drenderLanes?(parent.childLanes|\x3drenderLanes,null!\x3d\x3dalternate\x26\x26(alternate.childLanes|\x3drenderLanes)):null!\x3d\x3dalternate\x26\x26(alternate.childLanes\x26renderLanes)!\x3d\x3d\nrenderLanes\x26\x26(alternate.childLanes|\x3drenderLanes);if(parent\x3d\x3d\x3dpropagationRoot)break;parent\x3dparent.return}parent!\x3d\x3dpropagationRoot\x26\x26error$jscomp$0(\x22Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.\x22)}function prepareToReadContext(workInProgress,renderLanes){currentlyRenderingFiber\x3dworkInProgress;lastFullyObservedContext\x3dlastContextDependency\x3dnull;workInProgress\x3dworkInProgress.dependencies;null!\x3d\x3dworkInProgress\x26\x26null!\x3d\x3d\nworkInProgress.firstContext\x26\x26(0!\x3d\x3d(workInProgress.lanes\x26renderLanes)\x26\x26(didReceiveUpdate\x3d!0),workInProgress.firstContext\x3dnull)}function readContext(context){isDisallowedContextReadInDEV\x26\x26error$jscomp$0(\x22Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\x22);var value\x3dcontext._currentValue;if(lastFullyObservedContext!\x3d\x3d\ncontext)if(context\x3d{context,memoizedValue:value,next:null},null\x3d\x3d\x3dlastContextDependency){if(null\x3d\x3d\x3dcurrentlyRenderingFiber)throw Error(\x22Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\x22);lastContextDependency\x3dcontext;currentlyRenderingFiber.dependencies\x3d{lanes:0,firstContext:context}}else lastContextDependency\x3d\nlastContextDependency.next\x3dcontext;return value}function pushConcurrentUpdateQueue(queue){null\x3d\x3d\x3dconcurrentQueues?concurrentQueues\x3d[queue]:concurrentQueues.push(queue)}function enqueueConcurrentHookUpdate(fiber,queue,update,lane){var interleaved\x3dqueue.interleaved;null\x3d\x3d\x3dinterleaved?(update.next\x3dupdate,pushConcurrentUpdateQueue(queue)):(update.next\x3dinterleaved.next,interleaved.next\x3dupdate);queue.interleaved\x3dupdate;return markUpdateLaneFromFiberToRoot(fiber,lane)}function markUpdateLaneFromFiberToRoot(sourceFiber,\nlane){sourceFiber.lanes|\x3dlane;var alternate\x3dsourceFiber.alternate;null!\x3d\x3dalternate\x26\x26(alternate.lanes|\x3dlane);null\x3d\x3d\x3dalternate\x26\x260!\x3d\x3d(sourceFiber.flags\x264098)\x26\x26warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);alternate\x3dsourceFiber;for(var parent\x3dsourceFiber.return;null!\x3d\x3dparent;)parent.childLanes|\x3dlane,alternate\x3dparent.alternate,null!\x3d\x3dalternate?alternate.childLanes|\x3dlane:0!\x3d\x3d(parent.flags\x264098)\x26\x26warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber),alternate\x3dparent,parent\x3dparent.return;return 3\x3d\x3d\x3d\nalternate.tag?alternate.stateNode:null}function initializeUpdateQueue(fiber){fiber.updateQueue\x3d{baseState:fiber.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function cloneUpdateQueue(current,workInProgress){current\x3dcurrent.updateQueue;workInProgress.updateQueue\x3d\x3d\x3dcurrent\x26\x26(workInProgress.updateQueue\x3d{baseState:current.baseState,firstBaseUpdate:current.firstBaseUpdate,lastBaseUpdate:current.lastBaseUpdate,shared:current.shared,\neffects:current.effects})}function createUpdate(eventTime,lane){return{eventTime,lane,tag:UpdateState,payload:null,callback:null,next:null}}function enqueueUpdate(fiber,update,lane){var updateQueue\x3dfiber.updateQueue;if(null\x3d\x3d\x3dupdateQueue)return null;updateQueue\x3dupdateQueue.shared;currentlyProcessingQueue!\x3d\x3dupdateQueue||didWarnUpdateInsideUpdate||(error$jscomp$0(\x22An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\x22),\ndidWarnUpdateInsideUpdate\x3d!0);if((executionContext\x26RenderContext)!\x3d\x3dNoContext){var pending\x3dupdateQueue.pending;null\x3d\x3d\x3dpending?update.next\x3dupdate:(update.next\x3dpending.next,pending.next\x3dupdate);updateQueue.pending\x3dupdate;return unsafe_markUpdateLaneFromFiberToRoot(fiber,lane)}pending\x3dupdateQueue.interleaved;null\x3d\x3d\x3dpending?(update.next\x3dupdate,pushConcurrentUpdateQueue(updateQueue)):(update.next\x3dpending.next,pending.next\x3dupdate);updateQueue.interleaved\x3dupdate;return markUpdateLaneFromFiberToRoot(fiber,\nlane)}function entangleTransitions(root,fiber,lane){fiber\x3dfiber.updateQueue;if(null!\x3d\x3dfiber\x26\x26(fiber\x3dfiber.shared,0!\x3d\x3d(lane\x26TransitionLanes))){var queueLanes\x3dfiber.lanes;queueLanes\x26\x3droot.pendingLanes;lane|\x3dqueueLanes;fiber.lanes\x3dlane;markRootEntangled(root,lane)}}function enqueueCapturedUpdate(workInProgress,capturedUpdate){var queue\x3dworkInProgress.updateQueue,current\x3dworkInProgress.alternate;if(null!\x3d\x3dcurrent\x26\x26(current\x3dcurrent.updateQueue,queue\x3d\x3d\x3dcurrent)){var newFirst\x3dnull,newLast\x3dnull;queue\x3dqueue.firstBaseUpdate;\nif(null!\x3d\x3dqueue){do{var clone\x3d{eventTime:queue.eventTime,lane:queue.lane,tag:queue.tag,payload:queue.payload,callback:queue.callback,next:null};null\x3d\x3d\x3dnewLast?newFirst\x3dnewLast\x3dclone:newLast\x3dnewLast.next\x3dclone;queue\x3dqueue.next}while(null!\x3d\x3dqueue);null\x3d\x3d\x3dnewLast?newFirst\x3dnewLast\x3dcapturedUpdate:newLast\x3dnewLast.next\x3dcapturedUpdate}else newFirst\x3dnewLast\x3dcapturedUpdate;queue\x3d{baseState:current.baseState,firstBaseUpdate:newFirst,lastBaseUpdate:newLast,shared:current.shared,effects:current.effects};workInProgress.updateQueue\x3d\nqueue;return}workInProgress\x3dqueue.lastBaseUpdate;null\x3d\x3d\x3dworkInProgress?queue.firstBaseUpdate\x3dcapturedUpdate:workInProgress.next\x3dcapturedUpdate;queue.lastBaseUpdate\x3dcapturedUpdate}function processUpdateQueue(workInProgress,props,instance$jscomp$0,renderLanes){var queue\x3dworkInProgress.updateQueue;hasForceUpdate\x3d!1;currentlyProcessingQueue\x3dqueue.shared;var firstBaseUpdate\x3dqueue.firstBaseUpdate,lastBaseUpdate\x3dqueue.lastBaseUpdate,pendingQueue\x3dqueue.shared.pending;if(null!\x3d\x3dpendingQueue){queue.shared.pending\x3d\nnull;var lastPendingUpdate\x3dpendingQueue,firstPendingUpdate\x3dlastPendingUpdate.next;lastPendingUpdate.next\x3dnull;null\x3d\x3d\x3dlastBaseUpdate?firstBaseUpdate\x3dfirstPendingUpdate:lastBaseUpdate.next\x3dfirstPendingUpdate;lastBaseUpdate\x3dlastPendingUpdate;var current\x3dworkInProgress.alternate;null!\x3d\x3dcurrent\x26\x26(current\x3dcurrent.updateQueue,pendingQueue\x3dcurrent.lastBaseUpdate,pendingQueue!\x3d\x3dlastBaseUpdate\x26\x26(null\x3d\x3d\x3dpendingQueue?current.firstBaseUpdate\x3dfirstPendingUpdate:pendingQueue.next\x3dfirstPendingUpdate,current.lastBaseUpdate\x3d\nlastPendingUpdate))}if(null!\x3d\x3dfirstBaseUpdate){var newState\x3dqueue.baseState;lastBaseUpdate\x3d0;current\x3dfirstPendingUpdate\x3dlastPendingUpdate\x3dnull;pendingQueue\x3dfirstBaseUpdate;do{var updateLane\x3dpendingQueue.lane,updateEventTime\x3dpendingQueue.eventTime;if((renderLanes\x26updateLane)\x3d\x3d\x3dupdateLane){null!\x3d\x3dcurrent\x26\x26(current\x3dcurrent.next\x3d{eventTime:updateEventTime,lane:0,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:pendingQueue.callback,next:null});a:{updateLane\x3dworkInProgress;var partialState\x3dpendingQueue;\nupdateEventTime\x3dprops;var instance\x3dinstance$jscomp$0;switch(partialState.tag){case 1:partialState\x3dpartialState.payload;if(\x22function\x22\x3d\x3d\x3dtypeof partialState){isDisallowedContextReadInDEV\x3d!0;var nextState\x3dpartialState.call(instance,newState,updateEventTime);if(updateLane.mode\x268){setIsStrictModeForDevtools(!0);try{partialState.call(instance,newState,updateEventTime)}finally{setIsStrictModeForDevtools(!1)}}isDisallowedContextReadInDEV\x3d!1;newState\x3dnextState;break a}newState\x3dpartialState;break a;case 3:updateLane.flags\x3d\nupdateLane.flags\x26-65537|128;case UpdateState:nextState\x3dpartialState.payload;if(\x22function\x22\x3d\x3d\x3dtypeof nextState){isDisallowedContextReadInDEV\x3d!0;partialState\x3dnextState.call(instance,newState,updateEventTime);if(updateLane.mode\x268){setIsStrictModeForDevtools(!0);try{nextState.call(instance,newState,updateEventTime)}finally{setIsStrictModeForDevtools(!1)}}isDisallowedContextReadInDEV\x3d!1}else partialState\x3dnextState;if(null\x3d\x3d\x3dpartialState||void 0\x3d\x3d\x3dpartialState)break a;newState\x3dassign({},newState,partialState);\nbreak a;case ForceUpdate:hasForceUpdate\x3d!0}}null!\x3d\x3dpendingQueue.callback\x26\x260!\x3d\x3dpendingQueue.lane\x26\x26(workInProgress.flags|\x3d64,updateLane\x3dqueue.effects,null\x3d\x3d\x3dupdateLane?queue.effects\x3d[pendingQueue]:updateLane.push(pendingQueue))}else updateEventTime\x3d{eventTime:updateEventTime,lane:updateLane,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:pendingQueue.callback,next:null},null\x3d\x3d\x3dcurrent?(firstPendingUpdate\x3dcurrent\x3dupdateEventTime,lastPendingUpdate\x3dnewState):current\x3dcurrent.next\x3dupdateEventTime,\nlastBaseUpdate|\x3dupdateLane;pendingQueue\x3dpendingQueue.next;if(null\x3d\x3d\x3dpendingQueue)if(pendingQueue\x3dqueue.shared.pending,null\x3d\x3d\x3dpendingQueue)break;else updateLane\x3dpendingQueue,pendingQueue\x3dupdateLane.next,updateLane.next\x3dnull,queue.lastBaseUpdate\x3dupdateLane,queue.shared.pending\x3dnull}while(1);null\x3d\x3d\x3dcurrent\x26\x26(lastPendingUpdate\x3dnewState);queue.baseState\x3dlastPendingUpdate;queue.firstBaseUpdate\x3dfirstPendingUpdate;queue.lastBaseUpdate\x3dcurrent;props\x3dqueue.shared.interleaved;if(null!\x3d\x3dprops){queue\x3dprops;do lastBaseUpdate|\x3d\nqueue.lane,queue\x3dqueue.next;while(queue!\x3d\x3dprops)}else null\x3d\x3d\x3dfirstBaseUpdate\x26\x26(queue.shared.lanes\x3d0);workInProgressRootSkippedLanes|\x3dlastBaseUpdate;workInProgress.lanes\x3dlastBaseUpdate;workInProgress.memoizedState\x3dnewState}currentlyProcessingQueue\x3dnull}function commitUpdateQueue(finishedWork,finishedQueue,instance){finishedWork\x3dfinishedQueue.effects;finishedQueue.effects\x3dnull;if(null!\x3d\x3dfinishedWork)for(finishedQueue\x3d0;finishedQueue\x3cfinishedWork.length;finishedQueue++){var effect\x3dfinishedWork[finishedQueue],\ncallback\x3deffect.callback;if(null!\x3d\x3dcallback){effect.callback\x3dnull;if(\x22function\x22!\x3d\x3dtypeof callback)throw Error(\x22Invalid argument passed as callback. Expected a function. Instead received: \x22+callback);callback.call(instance)}}}function applyDerivedStateFromProps(workInProgress,ctor,getDerivedStateFromProps,nextProps){var prevState\x3dworkInProgress.memoizedState,partialState\x3dgetDerivedStateFromProps(nextProps,prevState);if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{partialState\x3dgetDerivedStateFromProps(nextProps,\nprevState)}finally{setIsStrictModeForDevtools(!1)}}warnOnUndefinedDerivedState(ctor,partialState);ctor\x3dnull\x3d\x3d\x3dpartialState||void 0\x3d\x3d\x3dpartialState?prevState:assign({},prevState,partialState);workInProgress.memoizedState\x3dctor;0\x3d\x3d\x3dworkInProgress.lanes\x26\x26(workInProgress.updateQueue.baseState\x3dctor)}function checkShouldComponentUpdate(workInProgress,ctor,oldProps,newProps,oldState,newState,nextContext){var instance\x3dworkInProgress.stateNode;if(\x22function\x22\x3d\x3d\x3dtypeof instance.shouldComponentUpdate){oldProps\x3d\ninstance.shouldComponentUpdate(newProps,newState,nextContext);if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{oldProps\x3dinstance.shouldComponentUpdate(newProps,newState,nextContext)}finally{setIsStrictModeForDevtools(!1)}}void 0\x3d\x3d\x3doldProps\x26\x26error$jscomp$0(\x22%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.\x22,getComponentNameFromType(ctor)||\x22Component\x22);return oldProps}return ctor.prototype\x26\x26ctor.prototype.isPureReactComponent?!shallowEqual(oldProps,\nnewProps)||!shallowEqual(oldState,newState):!0}function constructClassInstance(workInProgress,ctor,props){var isLegacyContextConsumer\x3d!1,unmaskedContext\x3demptyContextObject;var context\x3dctor.contextType;if(\x22contextType\x22in ctor\x26\x26null!\x3d\x3dcontext\x26\x26(void 0\x3d\x3d\x3dcontext||context.$$typeof!\x3d\x3dREACT_CONTEXT_TYPE||void 0!\x3d\x3dcontext._context)\x26\x26!didWarnAboutInvalidateContextType.has(ctor)){didWarnAboutInvalidateContextType.add(ctor);var addendum\x3dvoid 0\x3d\x3d\x3dcontext?\x22 However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.\x22:\n\x22object\x22!\x3d\x3dtypeof context?\x22 However, it is set to a \x22+typeof context+\x22.\x22:context.$$typeof\x3d\x3d\x3dREACT_PROVIDER_TYPE?\x22 Did you accidentally pass the Context.Provider instead?\x22:void 0!\x3d\x3dcontext._context?\x22 Did you accidentally pass the Context.Consumer instead?\x22:\x22 However, it is set to an object with keys {\x22+Object.keys(context).join(\x22, \x22)+\x22}.\x22;error$jscomp$0(\x22%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s\x22,getComponentNameFromType(ctor)||\n\x22Component\x22,addendum)}\x22object\x22\x3d\x3d\x3dtypeof context\x26\x26null!\x3d\x3dcontext?context\x3dreadContext(context):(unmaskedContext\x3disContextProvider(ctor)?previousContext:contextStackCursor.current,isLegacyContextConsumer\x3dctor.contextTypes,context\x3d(isLegacyContextConsumer\x3dnull!\x3d\x3disLegacyContextConsumer\x26\x26void 0!\x3d\x3disLegacyContextConsumer)?getMaskedContext(workInProgress,unmaskedContext):emptyContextObject);addendum\x3dnew ctor(props,context);if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{addendum\x3dnew ctor(props,\ncontext)}finally{setIsStrictModeForDevtools(!1)}}props\x3dworkInProgress.memoizedState\x3dnull!\x3d\x3daddendum.state\x26\x26void 0!\x3d\x3daddendum.state?addendum.state:null;var instance\x3daddendum;instance.updater\x3dclassComponentUpdater;workInProgress.stateNode\x3dinstance;instance._reactInternals\x3dworkInProgress;instance._reactInternalInstance\x3dfakeInternalInstance;\x22function\x22\x3d\x3d\x3dtypeof ctor.getDerivedStateFromProps\x26\x26null\x3d\x3d\x3dprops\x26\x26(props\x3dgetComponentNameFromType(ctor)||\x22Component\x22,didWarnAboutUninitializedState.has(props)||(didWarnAboutUninitializedState.add(props),\nerror$jscomp$0(\x22`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.\x22,props,null\x3d\x3d\x3daddendum.state?\x22null\x22:\x22undefined\x22,props)));if(\x22function\x22\x3d\x3d\x3dtypeof ctor.getDerivedStateFromProps||\x22function\x22\x3d\x3d\x3dtypeof addendum.getSnapshotBeforeUpdate){var foundWillUpdateName\x3dinstance\x3dprops\x3dnull;\x22function\x22\x3d\x3d\x3d\ntypeof addendum.componentWillMount\x26\x26!0!\x3d\x3daddendum.componentWillMount.__suppressDeprecationWarning?props\x3d\x22componentWillMount\x22:\x22function\x22\x3d\x3d\x3dtypeof addendum.UNSAFE_componentWillMount\x26\x26(props\x3d\x22UNSAFE_componentWillMount\x22);\x22function\x22\x3d\x3d\x3dtypeof addendum.componentWillReceiveProps\x26\x26!0!\x3d\x3daddendum.componentWillReceiveProps.__suppressDeprecationWarning?instance\x3d\x22componentWillReceiveProps\x22:\x22function\x22\x3d\x3d\x3dtypeof addendum.UNSAFE_componentWillReceiveProps\x26\x26(instance\x3d\x22UNSAFE_componentWillReceiveProps\x22);\x22function\x22\x3d\x3d\x3d\ntypeof addendum.componentWillUpdate\x26\x26!0!\x3d\x3daddendum.componentWillUpdate.__suppressDeprecationWarning?foundWillUpdateName\x3d\x22componentWillUpdate\x22:\x22function\x22\x3d\x3d\x3dtypeof addendum.UNSAFE_componentWillUpdate\x26\x26(foundWillUpdateName\x3d\x22UNSAFE_componentWillUpdate\x22);if(null!\x3d\x3dprops||null!\x3d\x3dinstance||null!\x3d\x3dfoundWillUpdateName){var _componentName\x3dgetComponentNameFromType(ctor)||\x22Component\x22;ctor\x3d\x22function\x22\x3d\x3d\x3dtypeof ctor.getDerivedStateFromProps?\x22getDerivedStateFromProps()\x22:\x22getSnapshotBeforeUpdate()\x22;didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)||\n(didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName),error$jscomp$0(\x22Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\nhttps://reactjs.org/link/unsafe-component-lifecycles\x22,_componentName,ctor,null!\x3d\x3dprops?\x22\\n \x22+props:\x22\x22,null!\x3d\x3dinstance?\x22\\n \x22+instance:\x22\x22,null!\x3d\x3dfoundWillUpdateName?\x22\\n \x22+foundWillUpdateName:\n\x22\x22))}}isLegacyContextConsumer\x26\x26(workInProgress\x3dworkInProgress.stateNode,workInProgress.__reactInternalMemoizedUnmaskedChildContext\x3dunmaskedContext,workInProgress.__reactInternalMemoizedMaskedChildContext\x3dcontext);return addendum}function callComponentWillReceiveProps(workInProgress,instance,newProps,nextContext){var oldState\x3dinstance.state;\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillReceiveProps\x26\x26instance.componentWillReceiveProps(newProps,nextContext);\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillReceiveProps\x26\x26\ninstance.UNSAFE_componentWillReceiveProps(newProps,nextContext);instance.state!\x3d\x3doldState\x26\x26(workInProgress\x3dgetComponentNameFromFiber(workInProgress)||\x22Component\x22,didWarnAboutStateAssignmentForComponent.has(workInProgress)||(didWarnAboutStateAssignmentForComponent.add(workInProgress),error$jscomp$0(\x22%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component\x27s constructor). Use setState instead.\x22,workInProgress)),classComponentUpdater.enqueueReplaceState(instance,\ninstance.state,null))}function mountClassInstance(workInProgress,ctor,newProps,renderLanes){var instance\x3dworkInProgress.stateNode,name\x3dgetComponentNameFromType(ctor)||\x22Component\x22;instance.render||(ctor.prototype\x26\x26\x22function\x22\x3d\x3d\x3dtypeof ctor.prototype.render?error$jscomp$0(\x22%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?\x22,name):error$jscomp$0(\x22%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.\x22,\nname));!instance.getInitialState||instance.getInitialState.isReactClassApproved||instance.state||error$jscomp$0(\x22getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?\x22,name);instance.getDefaultProps\x26\x26!instance.getDefaultProps.isReactClassApproved\x26\x26error$jscomp$0(\x22getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.\x22,\nname);instance.propTypes\x26\x26error$jscomp$0(\x22propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.\x22,name);instance.contextType\x26\x26error$jscomp$0(\x22contextType was defined as an instance property on %s. Use a static property to define contextType instead.\x22,name);instance.contextTypes\x26\x26error$jscomp$0(\x22contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.\x22,name);ctor.contextType\x26\x26ctor.contextTypes\x26\x26!didWarnAboutContextTypeAndContextTypes.has(ctor)\x26\x26\n(didWarnAboutContextTypeAndContextTypes.add(ctor),error$jscomp$0(\x22%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.\x22,name));\x22function\x22\x3d\x3d\x3dtypeof instance.componentShouldUpdate\x26\x26error$jscomp$0(\x22%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.\x22,name);ctor.prototype\x26\x26ctor.prototype.isPureReactComponent\x26\x26\x22undefined\x22!\x3d\x3d\ntypeof instance.shouldComponentUpdate\x26\x26error$jscomp$0(\x22%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.\x22,getComponentNameFromType(ctor)||\x22A pure component\x22);\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidUnmount\x26\x26error$jscomp$0(\x22%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?\x22,name);\x22function\x22\x3d\x3d\x3d\ntypeof instance.componentDidReceiveProps\x26\x26error$jscomp$0(\x22%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().\x22,name);\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillRecieveProps\x26\x26error$jscomp$0(\x22%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?\x22,\nname);\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillRecieveProps\x26\x26error$jscomp$0(\x22%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?\x22,name);var hasMutatedProps\x3dinstance.props!\x3d\x3dnewProps;void 0!\x3d\x3dinstance.props\x26\x26hasMutatedProps\x26\x26error$jscomp$0(\x22%s(...): When calling super() in `%s`, make sure to pass up the same props that your component\x27s constructor was passed.\x22,name,name);instance.defaultProps\x26\x26error$jscomp$0(\x22Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.\x22,\nname,name);\x22function\x22!\x3d\x3dtypeof instance.getSnapshotBeforeUpdate||\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidUpdate||didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)||(didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor),error$jscomp$0(\x22%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.\x22,getComponentNameFromType(ctor)));\x22function\x22\x3d\x3d\x3dtypeof instance.getDerivedStateFromProps\x26\x26error$jscomp$0(\x22%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.\x22,\nname);\x22function\x22\x3d\x3d\x3dtypeof instance.getDerivedStateFromError\x26\x26error$jscomp$0(\x22%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.\x22,name);\x22function\x22\x3d\x3d\x3dtypeof ctor.getSnapshotBeforeUpdate\x26\x26error$jscomp$0(\x22%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.\x22,name);(hasMutatedProps\x3dinstance.state)\x26\x26(\x22object\x22!\x3d\x3dtypeof hasMutatedProps||isArrayImpl(hasMutatedProps))\x26\x26\nerror$jscomp$0(\x22%s.state: must be set to an object or null\x22,name);\x22function\x22\x3d\x3d\x3dtypeof instance.getChildContext\x26\x26\x22object\x22!\x3d\x3dtypeof ctor.childContextTypes\x26\x26error$jscomp$0(\x22%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().\x22,name);instance\x3dworkInProgress.stateNode;instance.props\x3dnewProps;instance.state\x3dworkInProgress.memoizedState;instance.refs\x3demptyRefsObject;initializeUpdateQueue(workInProgress);name\x3dctor.contextType;\x22object\x22\x3d\x3d\x3dtypeof name\x26\x26null!\x3d\x3dname?instance.context\x3d\nreadContext(name):(name\x3disContextProvider(ctor)?previousContext:contextStackCursor.current,instance.context\x3dgetMaskedContext(workInProgress,name));instance.state\x3d\x3d\x3dnewProps\x26\x26(name\x3dgetComponentNameFromType(ctor)||\x22Component\x22,didWarnAboutDirectlyAssigningPropsToState.has(name)||(didWarnAboutDirectlyAssigningPropsToState.add(name),error$jscomp$0(\x22%s: It is not recommended to assign props directly to state because updates to props won\x27t be reflected in state. In most cases, it is better to use props directly.\x22,\nname)));workInProgress.mode\x268\x26\x26ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress,instance);ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress,instance);instance.state\x3dworkInProgress.memoizedState;name\x3dctor.getDerivedStateFromProps;\x22function\x22\x3d\x3d\x3dtypeof name\x26\x26(applyDerivedStateFromProps(workInProgress,ctor,name,newProps),instance.state\x3dworkInProgress.memoizedState);\x22function\x22\x3d\x3d\x3dtypeof ctor.getDerivedStateFromProps||\x22function\x22\x3d\x3d\x3dtypeof instance.getSnapshotBeforeUpdate||\n\x22function\x22!\x3d\x3dtypeof instance.UNSAFE_componentWillMount\x26\x26\x22function\x22!\x3d\x3dtypeof instance.componentWillMount||(ctor\x3dinstance.state,\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillMount\x26\x26instance.componentWillMount(),\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillMount\x26\x26instance.UNSAFE_componentWillMount(),ctor!\x3d\x3dinstance.state\x26\x26(error$jscomp$0(\x22%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component\x27s constructor). Use setState instead.\x22,getComponentNameFromFiber(workInProgress)||\n\x22Component\x22),classComponentUpdater.enqueueReplaceState(instance,instance.state,null)),processUpdateQueue(workInProgress,newProps,instance,renderLanes),instance.state\x3dworkInProgress.memoizedState);\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidMount\x26\x26(newProps\x3d4194308,0!\x3d\x3d(workInProgress.mode\x2616)\x26\x26(newProps|\x3d16777216),workInProgress.flags|\x3dnewProps)}function coerceRef(returnFiber,current,element){var mixedRef\x3delement.ref;if(null!\x3d\x3dmixedRef\x26\x26\x22function\x22!\x3d\x3dtypeof mixedRef\x26\x26\x22object\x22!\x3d\x3dtypeof mixedRef){!(returnFiber.mode\x26\n8)||element._owner\x26\x26element._self\x26\x26element._owner.stateNode!\x3d\x3delement._self||(returnFiber\x3dgetComponentNameFromFiber(returnFiber)||\x22Component\x22,didWarnAboutStringRefs[returnFiber]||(error$jscomp$0(\x27A string ref, \x22%s\x22, has been found within a strict mode tree. String refs are a source of potential bugs and should be avoided. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref\x27,mixedRef),didWarnAboutStringRefs[returnFiber]\x3d\n!0));if(element._owner){element\x3delement._owner;if(element){if(1!\x3d\x3delement.tag)throw Error(\x22Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref\x22);var inst\x3delement.stateNode}if(!inst)throw Error(\x22Missing owner for string ref \x22+mixedRef+\x22. This error is likely caused by a bug in React. Please file an issue.\x22);var resolvedInst\x3dinst,stringRef\x3d\x22\x22+mixedRef;if(null!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.ref\x26\x26\n\x22function\x22\x3d\x3d\x3dtypeof current.ref\x26\x26current.ref._stringRef\x3d\x3d\x3dstringRef)return current.ref;current\x3dfunction(value){var refs\x3dresolvedInst.refs;refs\x3d\x3d\x3demptyRefsObject\x26\x26(refs\x3dresolvedInst.refs\x3d{});null\x3d\x3d\x3dvalue?delete refs[stringRef]:refs[stringRef]\x3dvalue};current._stringRef\x3dstringRef;return current}if(\x22string\x22!\x3d\x3dtypeof mixedRef)throw Error(\x22Expected ref to be a function, a string, an object returned by React.createRef(), or null.\x22);if(!element._owner)throw Error(\x22Element ref was specified as a string (\x22+\nmixedRef+\x22) but no owner was set. This could happen for one of the following reasons:\\n1. You may be adding a ref to a function component\\n2. You may be adding a ref to a component that was not created inside a component\x27s render method\\n3. You have multiple copies of React loaded\\nSee https://reactjs.org/link/refs-must-have-owner for more information.\x22);}return mixedRef}function throwOnInvalidObjectType(returnFiber,newChild){returnFiber\x3dObject.prototype.toString.call(newChild);throw Error(\x22Objects are not valid as a React child (found: \x22+\n(\x22[object Object]\x22\x3d\x3d\x3dreturnFiber?\x22object with keys {\x22+Object.keys(newChild).join(\x22, \x22)+\x22}\x22:returnFiber)+\x22). If you meant to render a collection of children, use an array instead.\x22);}function warnOnFunctionType(returnFiber){returnFiber\x3dgetComponentNameFromFiber(returnFiber)||\x22Component\x22;ownerHasFunctionTypeWarning[returnFiber]||(ownerHasFunctionTypeWarning[returnFiber]\x3d!0,error$jscomp$0(\x22Functions are not valid as a React child. This may happen if you return a Component instead of \\x3cComponent /\\x3e from render. Or maybe you meant to call this function rather than return it.\x22))}\nfunction resolveLazy(lazyType){var init\x3dlazyType._init;return init(lazyType._payload)}function ChildReconciler(shouldTrackSideEffects){function deleteChild(returnFiber,childToDelete){if(shouldTrackSideEffects){var deletions\x3dreturnFiber.deletions;null\x3d\x3d\x3ddeletions?(returnFiber.deletions\x3d[childToDelete],returnFiber.flags|\x3d16):deletions.push(childToDelete)}}function deleteRemainingChildren(returnFiber,currentFirstChild){if(!shouldTrackSideEffects)return null;for(;null!\x3d\x3dcurrentFirstChild;)deleteChild(returnFiber,\ncurrentFirstChild),currentFirstChild\x3dcurrentFirstChild.sibling;return null}function mapRemainingChildren(returnFiber,currentFirstChild){for(returnFiber\x3dnew Map;null!\x3d\x3dcurrentFirstChild;)null!\x3d\x3dcurrentFirstChild.key?returnFiber.set(currentFirstChild.key,currentFirstChild):returnFiber.set(currentFirstChild.index,currentFirstChild),currentFirstChild\x3dcurrentFirstChild.sibling;return returnFiber}function useFiber(fiber,pendingProps){fiber\x3dcreateWorkInProgress(fiber,pendingProps);fiber.index\x3d0;fiber.sibling\x3d\nnull;return fiber}function placeChild(newFiber,lastPlacedIndex,newIndex){newFiber.index\x3dnewIndex;if(!shouldTrackSideEffects)return newFiber.flags|\x3d1048576,lastPlacedIndex;newIndex\x3dnewFiber.alternate;if(null!\x3d\x3dnewIndex)return newIndex\x3dnewIndex.index,newIndex\x3clastPlacedIndex?(newFiber.flags|\x3d2,lastPlacedIndex):newIndex;newFiber.flags|\x3d2;return lastPlacedIndex}function placeSingleChild(newFiber){shouldTrackSideEffects\x26\x26null\x3d\x3d\x3dnewFiber.alternate\x26\x26(newFiber.flags|\x3d2);return newFiber}function updateTextNode(returnFiber,\ncurrent,textContent,lanes){if(null\x3d\x3d\x3dcurrent||6!\x3d\x3dcurrent.tag)return current\x3dcreateFiberFromText(textContent,returnFiber.mode,lanes),current.return\x3dreturnFiber,current;current\x3duseFiber(current,textContent);current.return\x3dreturnFiber;return current}function updateElement(returnFiber,current,element,lanes){var elementType\x3delement.type;if(elementType\x3d\x3d\x3dREACT_FRAGMENT_TYPE)return updateFragment(returnFiber,current,element.props.children,lanes,element.key);if(null!\x3d\x3dcurrent\x26\x26(current.elementType\x3d\x3d\x3delementType||\nisCompatibleFamilyForHotReloading(current,element)||\x22object\x22\x3d\x3d\x3dtypeof elementType\x26\x26null!\x3d\x3delementType\x26\x26elementType.$$typeof\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26resolveLazy(elementType)\x3d\x3d\x3dcurrent.type))return lanes\x3duseFiber(current,element.props),lanes.ref\x3dcoerceRef(returnFiber,current,element),lanes.return\x3dreturnFiber,lanes._debugSource\x3delement._source,lanes._debugOwner\x3delement._owner,lanes;lanes\x3dcreateFiberFromElement(element,returnFiber.mode,lanes);lanes.ref\x3dcoerceRef(returnFiber,current,element);lanes.return\x3dreturnFiber;\nreturn lanes}function updatePortal(returnFiber,current,portal,lanes){if(null\x3d\x3d\x3dcurrent||4!\x3d\x3dcurrent.tag||current.stateNode.containerInfo!\x3d\x3dportal.containerInfo||current.stateNode.implementation!\x3d\x3dportal.implementation)return current\x3dcreateFiberFromPortal(portal,returnFiber.mode,lanes),current.return\x3dreturnFiber,current;current\x3duseFiber(current,portal.children||[]);current.return\x3dreturnFiber;return current}function updateFragment(returnFiber,current,fragment,lanes,key){if(null\x3d\x3d\x3dcurrent||7!\x3d\x3dcurrent.tag)return current\x3d\ncreateFiberFromFragment(fragment,returnFiber.mode,lanes,key),current.return\x3dreturnFiber,current;current\x3duseFiber(current,fragment);current.return\x3dreturnFiber;return current}function createChild(returnFiber,newChild,lanes){if(\x22string\x22\x3d\x3d\x3dtypeof newChild\x26\x26\x22\x22!\x3d\x3dnewChild||\x22number\x22\x3d\x3d\x3dtypeof newChild)return newChild\x3dcreateFiberFromText(\x22\x22+newChild,returnFiber.mode,lanes),newChild.return\x3dreturnFiber,newChild;if(\x22object\x22\x3d\x3d\x3dtypeof newChild\x26\x26null!\x3d\x3dnewChild){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return lanes\x3d\ncreateFiberFromElement(newChild,returnFiber.mode,lanes),lanes.ref\x3dcoerceRef(returnFiber,null,newChild),lanes.return\x3dreturnFiber,lanes;case REACT_PORTAL_TYPE:return newChild\x3dcreateFiberFromPortal(newChild,returnFiber.mode,lanes),newChild.return\x3dreturnFiber,newChild;case REACT_LAZY_TYPE:var init\x3dnewChild._init;return createChild(returnFiber,init(newChild._payload),lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return newChild\x3dcreateFiberFromFragment(newChild,returnFiber.mode,lanes,null),newChild.return\x3d\nreturnFiber,newChild;throwOnInvalidObjectType(returnFiber,newChild)}\x22function\x22\x3d\x3d\x3dtypeof newChild\x26\x26warnOnFunctionType(returnFiber);return null}function updateSlot(returnFiber,oldFiber,newChild,lanes){var key\x3dnull!\x3d\x3doldFiber?oldFiber.key:null;if(\x22string\x22\x3d\x3d\x3dtypeof newChild\x26\x26\x22\x22!\x3d\x3dnewChild||\x22number\x22\x3d\x3d\x3dtypeof newChild)return null!\x3d\x3dkey?null:updateTextNode(returnFiber,oldFiber,\x22\x22+newChild,lanes);if(\x22object\x22\x3d\x3d\x3dtypeof newChild\x26\x26null!\x3d\x3dnewChild){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return newChild.key\x3d\x3d\x3d\nkey?updateElement(returnFiber,oldFiber,newChild,lanes):null;case REACT_PORTAL_TYPE:return newChild.key\x3d\x3d\x3dkey?updatePortal(returnFiber,oldFiber,newChild,lanes):null;case REACT_LAZY_TYPE:return key\x3dnewChild._init,updateSlot(returnFiber,oldFiber,key(newChild._payload),lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return null!\x3d\x3dkey?null:updateFragment(returnFiber,oldFiber,newChild,lanes,null);throwOnInvalidObjectType(returnFiber,newChild)}\x22function\x22\x3d\x3d\x3dtypeof newChild\x26\x26warnOnFunctionType(returnFiber);\nreturn null}function updateFromMap(existingChildren,returnFiber,newIdx,newChild,lanes){if(\x22string\x22\x3d\x3d\x3dtypeof newChild\x26\x26\x22\x22!\x3d\x3dnewChild||\x22number\x22\x3d\x3d\x3dtypeof newChild)return existingChildren\x3dexistingChildren.get(newIdx)||null,updateTextNode(returnFiber,existingChildren,\x22\x22+newChild,lanes);if(\x22object\x22\x3d\x3d\x3dtypeof newChild\x26\x26null!\x3d\x3dnewChild){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return existingChildren\x3dexistingChildren.get(null\x3d\x3d\x3dnewChild.key?newIdx:newChild.key)||null,updateElement(returnFiber,existingChildren,\nnewChild,lanes);case REACT_PORTAL_TYPE:return existingChildren\x3dexistingChildren.get(null\x3d\x3d\x3dnewChild.key?newIdx:newChild.key)||null,updatePortal(returnFiber,existingChildren,newChild,lanes);case REACT_LAZY_TYPE:var init\x3dnewChild._init;return updateFromMap(existingChildren,returnFiber,newIdx,init(newChild._payload),lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return existingChildren\x3dexistingChildren.get(newIdx)||null,updateFragment(returnFiber,existingChildren,newChild,lanes,null);throwOnInvalidObjectType(returnFiber,\nnewChild)}\x22function\x22\x3d\x3d\x3dtypeof newChild\x26\x26warnOnFunctionType(returnFiber);return null}function warnOnInvalidKey(child,knownKeys,returnFiber){if(\x22object\x22!\x3d\x3dtypeof child||null\x3d\x3d\x3dchild)return knownKeys;switch(child.$$typeof){case REACT_ELEMENT_TYPE:case REACT_PORTAL_TYPE:warnForMissingKey(child,returnFiber);child\x3dchild.key;if(\x22string\x22!\x3d\x3dtypeof child)break;if(null\x3d\x3d\x3dknownKeys){knownKeys\x3dnew Set;knownKeys.add(child);break}if(!knownKeys.has(child)){knownKeys.add(child);break}error$jscomp$0(\x22Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.\x22,\nchild);break;case REACT_LAZY_TYPE:var init\x3dchild._init;warnOnInvalidKey(init(child._payload),knownKeys,returnFiber)}return knownKeys}function reconcileChildrenArray(returnFiber,currentFirstChild,newChildren,lanes){for(var knownKeys\x3dnull,i\x3d0;i\x3cnewChildren.length;i++)knownKeys\x3dwarnOnInvalidKey(newChildren[i],knownKeys,returnFiber);i\x3dknownKeys\x3dnull;for(var oldFiber\x3dcurrentFirstChild,newIdx\x3dcurrentFirstChild\x3d0,nextOldFiber\x3dnull;null!\x3d\x3doldFiber\x26\x26newIdx\x3cnewChildren.length;newIdx++){oldFiber.index\x3enewIdx?\n(nextOldFiber\x3doldFiber,oldFiber\x3dnull):nextOldFiber\x3doldFiber.sibling;var newFiber\x3dupdateSlot(returnFiber,oldFiber,newChildren[newIdx],lanes);if(null\x3d\x3d\x3dnewFiber){null\x3d\x3d\x3doldFiber\x26\x26(oldFiber\x3dnextOldFiber);break}shouldTrackSideEffects\x26\x26oldFiber\x26\x26null\x3d\x3d\x3dnewFiber.alternate\x26\x26deleteChild(returnFiber,oldFiber);currentFirstChild\x3dplaceChild(newFiber,currentFirstChild,newIdx);null\x3d\x3d\x3di?knownKeys\x3dnewFiber:i.sibling\x3dnewFiber;i\x3dnewFiber;oldFiber\x3dnextOldFiber}if(newIdx\x3d\x3d\x3dnewChildren.length)return deleteRemainingChildren(returnFiber,\noldFiber),isHydrating\x26\x26pushTreeFork(returnFiber,newIdx),knownKeys;if(null\x3d\x3d\x3doldFiber){for(;newIdx\x3cnewChildren.length;newIdx++)oldFiber\x3dcreateChild(returnFiber,newChildren[newIdx],lanes),null!\x3d\x3doldFiber\x26\x26(currentFirstChild\x3dplaceChild(oldFiber,currentFirstChild,newIdx),null\x3d\x3d\x3di?knownKeys\x3doldFiber:i.sibling\x3doldFiber,i\x3doldFiber);isHydrating\x26\x26pushTreeFork(returnFiber,newIdx);return knownKeys}for(oldFiber\x3dmapRemainingChildren(returnFiber,oldFiber);newIdx\x3cnewChildren.length;newIdx++)nextOldFiber\x3dupdateFromMap(oldFiber,\nreturnFiber,newIdx,newChildren[newIdx],lanes),null!\x3d\x3dnextOldFiber\x26\x26(shouldTrackSideEffects\x26\x26null!\x3d\x3dnextOldFiber.alternate\x26\x26oldFiber.delete(null\x3d\x3d\x3dnextOldFiber.key?newIdx:nextOldFiber.key),currentFirstChild\x3dplaceChild(nextOldFiber,currentFirstChild,newIdx),null\x3d\x3d\x3di?knownKeys\x3dnextOldFiber:i.sibling\x3dnextOldFiber,i\x3dnextOldFiber);shouldTrackSideEffects\x26\x26oldFiber.forEach(function(child){return deleteChild(returnFiber,child)});isHydrating\x26\x26pushTreeFork(returnFiber,newIdx);return knownKeys}function reconcileChildrenIterator(returnFiber,\ncurrentFirstChild,newChildrenIterable,lanes){var iteratorFn\x3dgetIteratorFn(newChildrenIterable);if(\x22function\x22!\x3d\x3dtypeof iteratorFn)throw Error(\x22An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\x22);\x22function\x22\x3d\x3d\x3dtypeof Symbol\x26\x26\x22Generator\x22\x3d\x3d\x3dnewChildrenIterable[Symbol.toStringTag]\x26\x26(didWarnAboutGenerators||error$jscomp$0(\x22Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers.\x22),\ndidWarnAboutGenerators\x3d!0);newChildrenIterable.entries\x3d\x3d\x3diteratorFn\x26\x26(didWarnAboutMaps||error$jscomp$0(\x22Using Maps as children is not supported. Use an array of keyed ReactElements instead.\x22),didWarnAboutMaps\x3d!0);var _newChildren\x3diteratorFn.call(newChildrenIterable);if(_newChildren)for(var knownKeys\x3dnull,_step\x3d_newChildren.next();!_step.done;_step\x3d_newChildren.next())knownKeys\x3dwarnOnInvalidKey(_step.value,knownKeys,returnFiber);newChildrenIterable\x3diteratorFn.call(newChildrenIterable);if(null\x3d\x3dnewChildrenIterable)throw Error(\x22An iterable object provided no iterator.\x22);\n_newChildren\x3diteratorFn\x3dnull;var oldFiber\x3dcurrentFirstChild;knownKeys\x3dcurrentFirstChild\x3d0;var nextOldFiber\x3dnull;for(_step\x3dnewChildrenIterable.next();null!\x3d\x3doldFiber\x26\x26!_step.done;knownKeys++,_step\x3dnewChildrenIterable.next()){oldFiber.index\x3eknownKeys?(nextOldFiber\x3doldFiber,oldFiber\x3dnull):nextOldFiber\x3doldFiber.sibling;var newFiber\x3dupdateSlot(returnFiber,oldFiber,_step.value,lanes);if(null\x3d\x3d\x3dnewFiber){null\x3d\x3d\x3doldFiber\x26\x26(oldFiber\x3dnextOldFiber);break}shouldTrackSideEffects\x26\x26oldFiber\x26\x26null\x3d\x3d\x3dnewFiber.alternate\x26\x26\ndeleteChild(returnFiber,oldFiber);currentFirstChild\x3dplaceChild(newFiber,currentFirstChild,knownKeys);null\x3d\x3d\x3d_newChildren?iteratorFn\x3dnewFiber:_newChildren.sibling\x3dnewFiber;_newChildren\x3dnewFiber;oldFiber\x3dnextOldFiber}if(_step.done)return deleteRemainingChildren(returnFiber,oldFiber),isHydrating\x26\x26pushTreeFork(returnFiber,knownKeys),iteratorFn;if(null\x3d\x3d\x3doldFiber){for(;!_step.done;knownKeys++,_step\x3dnewChildrenIterable.next())_step\x3dcreateChild(returnFiber,_step.value,lanes),null!\x3d\x3d_step\x26\x26(currentFirstChild\x3d\nplaceChild(_step,currentFirstChild,knownKeys),null\x3d\x3d\x3d_newChildren?iteratorFn\x3d_step:_newChildren.sibling\x3d_step,_newChildren\x3d_step);isHydrating\x26\x26pushTreeFork(returnFiber,knownKeys);return iteratorFn}for(oldFiber\x3dmapRemainingChildren(returnFiber,oldFiber);!_step.done;knownKeys++,_step\x3dnewChildrenIterable.next())_step\x3dupdateFromMap(oldFiber,returnFiber,knownKeys,_step.value,lanes),null!\x3d\x3d_step\x26\x26(shouldTrackSideEffects\x26\x26null!\x3d\x3d_step.alternate\x26\x26oldFiber.delete(null\x3d\x3d\x3d_step.key?knownKeys:_step.key),currentFirstChild\x3d\nplaceChild(_step,currentFirstChild,knownKeys),null\x3d\x3d\x3d_newChildren?iteratorFn\x3d_step:_newChildren.sibling\x3d_step,_newChildren\x3d_step);shouldTrackSideEffects\x26\x26oldFiber.forEach(function(child){return deleteChild(returnFiber,child)});isHydrating\x26\x26pushTreeFork(returnFiber,knownKeys);return iteratorFn}function reconcileChildFibers(returnFiber,currentFirstChild,newChild,lanes){\x22object\x22\x3d\x3d\x3dtypeof newChild\x26\x26null!\x3d\x3dnewChild\x26\x26newChild.type\x3d\x3d\x3dREACT_FRAGMENT_TYPE\x26\x26null\x3d\x3d\x3dnewChild.key\x26\x26(newChild\x3dnewChild.props.children);\nif(\x22object\x22\x3d\x3d\x3dtypeof newChild\x26\x26null!\x3d\x3dnewChild){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:a:{for(var key\x3dnewChild.key,child\x3dcurrentFirstChild;null!\x3d\x3dchild;){if(child.key\x3d\x3d\x3dkey){key\x3dnewChild.type;if(key\x3d\x3d\x3dREACT_FRAGMENT_TYPE){if(7\x3d\x3d\x3dchild.tag){deleteRemainingChildren(returnFiber,child.sibling);currentFirstChild\x3duseFiber(child,newChild.props.children);currentFirstChild.return\x3dreturnFiber;currentFirstChild._debugSource\x3dnewChild._source;currentFirstChild._debugOwner\x3dnewChild._owner;returnFiber\x3d\ncurrentFirstChild;break a}}else if(child.elementType\x3d\x3d\x3dkey||isCompatibleFamilyForHotReloading(child,newChild)||\x22object\x22\x3d\x3d\x3dtypeof key\x26\x26null!\x3d\x3dkey\x26\x26key.$$typeof\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26resolveLazy(key)\x3d\x3d\x3dchild.type){deleteRemainingChildren(returnFiber,child.sibling);currentFirstChild\x3duseFiber(child,newChild.props);currentFirstChild.ref\x3dcoerceRef(returnFiber,child,newChild);currentFirstChild.return\x3dreturnFiber;currentFirstChild._debugSource\x3dnewChild._source;currentFirstChild._debugOwner\x3dnewChild._owner;returnFiber\x3d\ncurrentFirstChild;break a}deleteRemainingChildren(returnFiber,child);break}else deleteChild(returnFiber,child);child\x3dchild.sibling}newChild.type\x3d\x3d\x3dREACT_FRAGMENT_TYPE?(currentFirstChild\x3dcreateFiberFromFragment(newChild.props.children,returnFiber.mode,lanes,newChild.key),currentFirstChild.return\x3dreturnFiber,returnFiber\x3dcurrentFirstChild):(lanes\x3dcreateFiberFromElement(newChild,returnFiber.mode,lanes),lanes.ref\x3dcoerceRef(returnFiber,currentFirstChild,newChild),lanes.return\x3dreturnFiber,returnFiber\x3dlanes)}return placeSingleChild(returnFiber);\ncase REACT_PORTAL_TYPE:a:{for(child\x3dnewChild.key;null!\x3d\x3dcurrentFirstChild;){if(currentFirstChild.key\x3d\x3d\x3dchild)if(4\x3d\x3d\x3dcurrentFirstChild.tag\x26\x26currentFirstChild.stateNode.containerInfo\x3d\x3d\x3dnewChild.containerInfo\x26\x26currentFirstChild.stateNode.implementation\x3d\x3d\x3dnewChild.implementation){deleteRemainingChildren(returnFiber,currentFirstChild.sibling);currentFirstChild\x3duseFiber(currentFirstChild,newChild.children||[]);currentFirstChild.return\x3dreturnFiber;returnFiber\x3dcurrentFirstChild;break a}else{deleteRemainingChildren(returnFiber,\ncurrentFirstChild);break}else deleteChild(returnFiber,currentFirstChild);currentFirstChild\x3dcurrentFirstChild.sibling}currentFirstChild\x3dcreateFiberFromPortal(newChild,returnFiber.mode,lanes);currentFirstChild.return\x3dreturnFiber;returnFiber\x3dcurrentFirstChild}return placeSingleChild(returnFiber);case REACT_LAZY_TYPE:return child\x3dnewChild._init,reconcileChildFibers(returnFiber,currentFirstChild,child(newChild._payload),lanes)}if(isArrayImpl(newChild))return reconcileChildrenArray(returnFiber,currentFirstChild,\nnewChild,lanes);if(getIteratorFn(newChild))return reconcileChildrenIterator(returnFiber,currentFirstChild,newChild,lanes);throwOnInvalidObjectType(returnFiber,newChild)}if(\x22string\x22\x3d\x3d\x3dtypeof newChild\x26\x26\x22\x22!\x3d\x3dnewChild||\x22number\x22\x3d\x3d\x3dtypeof newChild)return newChild\x3d\x22\x22+newChild,null!\x3d\x3dcurrentFirstChild\x26\x266\x3d\x3d\x3dcurrentFirstChild.tag?(deleteRemainingChildren(returnFiber,currentFirstChild.sibling),currentFirstChild\x3duseFiber(currentFirstChild,newChild),currentFirstChild.return\x3dreturnFiber,returnFiber\x3dcurrentFirstChild):\n(deleteRemainingChildren(returnFiber,currentFirstChild),currentFirstChild\x3dcreateFiberFromText(newChild,returnFiber.mode,lanes),currentFirstChild.return\x3dreturnFiber,returnFiber\x3dcurrentFirstChild),placeSingleChild(returnFiber);\x22function\x22\x3d\x3d\x3dtypeof newChild\x26\x26warnOnFunctionType(returnFiber);return deleteRemainingChildren(returnFiber,currentFirstChild)}return reconcileChildFibers}function requiredContext(c){if(c\x3d\x3d\x3dNO_CONTEXT)throw Error(\x22Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\x22);\nreturn c}function pushHostContainer(fiber,nextRootInstance){push(rootInstanceStackCursor,nextRootInstance,fiber);push(contextFiberStackCursor,fiber,fiber);push(contextStackCursor$1,NO_CONTEXT,fiber);var nextRootContext\x3dnextRootInstance.nodeType;switch(nextRootContext){case 9:case 11:nextRootContext\x3d9\x3d\x3d\x3dnextRootContext?\x22#document\x22:\x22#fragment\x22;nextRootInstance\x3d(nextRootInstance\x3dnextRootInstance.documentElement)?nextRootInstance.namespaceURI:getChildNamespace(null,\x22\x22);break;default:nextRootContext\x3d8\x3d\x3d\x3d\nnextRootContext?nextRootInstance.parentNode:nextRootInstance,nextRootInstance\x3dnextRootContext.namespaceURI||null,nextRootContext\x3dnextRootContext.tagName,nextRootInstance\x3dgetChildNamespace(nextRootInstance,nextRootContext)}nextRootContext\x3dnextRootContext.toLowerCase();nextRootContext\x3dupdatedAncestorInfo(null,nextRootContext);nextRootContext\x3d{namespace:nextRootInstance,ancestorInfo:nextRootContext};pop(contextStackCursor$1,fiber);push(contextStackCursor$1,nextRootContext,fiber)}function popHostContainer(fiber){pop(contextStackCursor$1,\nfiber);pop(contextFiberStackCursor,fiber);pop(rootInstanceStackCursor,fiber)}function pushHostContext(fiber){requiredContext(rootInstanceStackCursor.current);var context\x3drequiredContext(contextStackCursor$1.current);var type\x3dfiber.type;var nextContext\x3dgetChildNamespace(context.namespace,type);type\x3dupdatedAncestorInfo(context.ancestorInfo,type);nextContext\x3d{namespace:nextContext,ancestorInfo:type};context!\x3d\x3dnextContext\x26\x26(push(contextFiberStackCursor,fiber,fiber),push(contextStackCursor$1,nextContext,\nfiber))}function popHostContext(fiber){contextFiberStackCursor.current\x3d\x3d\x3dfiber\x26\x26(pop(contextStackCursor$1,fiber),pop(contextFiberStackCursor,fiber))}function findFirstSuspended(row){for(var node\x3drow;null!\x3d\x3dnode;){if(13\x3d\x3d\x3dnode.tag){var state\x3dnode.memoizedState;if(null!\x3d\x3dstate\x26\x26(state\x3dstate.dehydrated,null\x3d\x3d\x3dstate||state.data\x3d\x3d\x3dSUSPENSE_PENDING_START_DATA||state.data\x3d\x3d\x3dSUSPENSE_FALLBACK_START_DATA))return node}else if(19\x3d\x3d\x3dnode.tag\x26\x26void 0!\x3d\x3dnode.memoizedProps.revealOrder){if(0!\x3d\x3d(node.flags\x26128))return node}else if(null!\x3d\x3d\nnode.child){node.child.return\x3dnode;node\x3dnode.child;continue}if(node\x3d\x3d\x3drow)break;for(;null\x3d\x3d\x3dnode.sibling;){if(null\x3d\x3d\x3dnode.return||node.return\x3d\x3d\x3drow)return null;node\x3dnode.return}node.sibling.return\x3dnode.return;node\x3dnode.sibling}return null}function resetWorkInProgressVersions(){for(var i\x3d0;i\x3cworkInProgressSources.length;i++)workInProgressSources[i]._workInProgressVersionPrimary\x3dnull;workInProgressSources.length\x3d0}function mountHookTypesDev(){var hookName\x3dcurrentHookNameInDev;null\x3d\x3d\x3dhookTypesDev?hookTypesDev\x3d\n[hookName]:hookTypesDev.push(hookName)}function updateHookTypesDev(){var hookName\x3dcurrentHookNameInDev;if(null!\x3d\x3dhookTypesDev\x26\x26(hookTypesUpdateIndexDev++,hookTypesDev[hookTypesUpdateIndexDev]!\x3d\x3dhookName)){var componentName\x3dgetComponentNameFromFiber(currentlyRenderingFiber$1);if(!didWarnAboutMismatchedHooksForComponent.has(componentName)\x26\x26(didWarnAboutMismatchedHooksForComponent.add(componentName),null!\x3d\x3dhookTypesDev)){for(var table\x3d\x22\x22,i\x3d0;i\x3c\x3dhookTypesUpdateIndexDev;i++){var oldHookName\x3dhookTypesDev[i],\nnewHookName\x3di\x3d\x3d\x3dhookTypesUpdateIndexDev?hookName:oldHookName;for(oldHookName\x3di+1+\x22. \x22+oldHookName;30\x3eoldHookName.length;)oldHookName+\x3d\x22 \x22;oldHookName+\x3dnewHookName+\x22\\n\x22;table+\x3doldHookName}error$jscomp$0(\x22React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\n\\n Previous render Next render\\n ------------------------------------------------------\\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n\x22,\ncomponentName,table)}}}function checkDepsAreArrayDev(deps){void 0\x3d\x3d\x3ddeps||null\x3d\x3d\x3ddeps||isArrayImpl(deps)||error$jscomp$0(\x22%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.\x22,currentHookNameInDev,typeof deps)}function throwInvalidHookError(){throw Error(\x22Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.\x22);\n}function areHookInputsEqual(nextDeps,prevDeps){if(ignorePreviousDependencies)return!1;if(null\x3d\x3d\x3dprevDeps)return error$jscomp$0(\x22%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.\x22,currentHookNameInDev),!1;nextDeps.length!\x3d\x3dprevDeps.length\x26\x26error$jscomp$0(\x22The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\\n\\nPrevious: %s\\nIncoming: %s\x22,\ncurrentHookNameInDev,\x22[\x22+prevDeps.join(\x22, \x22)+\x22]\x22,\x22[\x22+nextDeps.join(\x22, \x22)+\x22]\x22);for(var i\x3d0;i\x3cprevDeps.length\x26\x26i\x3cnextDeps.length;i++)if(!objectIs(nextDeps[i],prevDeps[i]))return!1;return!0}function renderWithHooks(current,workInProgress,Component,props,secondArg,nextRenderLanes){renderLanes\x3dnextRenderLanes;currentlyRenderingFiber$1\x3dworkInProgress;hookTypesDev\x3dnull!\x3d\x3dcurrent?current._debugHookTypes:null;hookTypesUpdateIndexDev\x3d-1;ignorePreviousDependencies\x3dnull!\x3d\x3dcurrent\x26\x26current.type!\x3d\x3dworkInProgress.type;\nworkInProgress.memoizedState\x3dnull;workInProgress.updateQueue\x3dnull;workInProgress.lanes\x3d0;ReactCurrentDispatcher$1.current\x3dnull!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.memoizedState?HooksDispatcherOnUpdateInDEV:null!\x3d\x3dhookTypesDev?HooksDispatcherOnMountWithHookTypesInDEV:HooksDispatcherOnMountInDEV;nextRenderLanes\x3dComponent(props,secondArg);if(didScheduleRenderPhaseUpdateDuringThisPass){var numberOfReRenders\x3d0;do{didScheduleRenderPhaseUpdateDuringThisPass\x3d!1;localIdCounter\x3d0;if(25\x3c\x3dnumberOfReRenders)throw Error(\x22Too many re-renders. React limits the number of renders to prevent an infinite loop.\x22);\nnumberOfReRenders+\x3d1;ignorePreviousDependencies\x3d!1;workInProgressHook\x3dcurrentHook\x3dnull;workInProgress.updateQueue\x3dnull;hookTypesUpdateIndexDev\x3d-1;ReactCurrentDispatcher$1.current\x3dHooksDispatcherOnRerenderInDEV;nextRenderLanes\x3dComponent(props,secondArg)}while(didScheduleRenderPhaseUpdateDuringThisPass)}ReactCurrentDispatcher$1.current\x3dContextOnlyDispatcher;workInProgress._debugHookTypes\x3dhookTypesDev;Component\x3dnull!\x3d\x3dcurrentHook\x26\x26null!\x3d\x3dcurrentHook.next;renderLanes\x3d0;hookTypesDev\x3dcurrentHookNameInDev\x3d\nworkInProgressHook\x3dcurrentHook\x3dcurrentlyRenderingFiber$1\x3dnull;hookTypesUpdateIndexDev\x3d-1;null!\x3d\x3dcurrent\x26\x26(current.flags\x2614680064)!\x3d\x3d(workInProgress.flags\x2614680064)\x26\x260!\x3d\x3d(current.mode\x261)\x26\x26error$jscomp$0(\x22Internal React error: Expected static flag was missing. Please notify the React team.\x22);didScheduleRenderPhaseUpdate\x3d!1;if(Component)throw Error(\x22Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\x22);return nextRenderLanes}function checkDidRenderIdHook(){var didRenderIdHook\x3d\n0!\x3d\x3dlocalIdCounter;localIdCounter\x3d0;return didRenderIdHook}function bailoutHooks(current,workInProgress,lanes){workInProgress.updateQueue\x3dcurrent.updateQueue;workInProgress.flags\x3d0!\x3d\x3d(workInProgress.mode\x2616)?workInProgress.flags\x26-50333701:workInProgress.flags\x26-2053;current.lanes\x26\x3d~lanes}function resetHooksAfterThrow(){ReactCurrentDispatcher$1.current\x3dContextOnlyDispatcher;if(didScheduleRenderPhaseUpdate){for(var hook\x3dcurrentlyRenderingFiber$1.memoizedState;null!\x3d\x3dhook;){var queue\x3dhook.queue;null!\x3d\x3d\nqueue\x26\x26(queue.pending\x3dnull);hook\x3dhook.next}didScheduleRenderPhaseUpdate\x3d!1}renderLanes\x3d0;hookTypesDev\x3dworkInProgressHook\x3dcurrentHook\x3dcurrentlyRenderingFiber$1\x3dnull;hookTypesUpdateIndexDev\x3d-1;currentHookNameInDev\x3dnull;didScheduleRenderPhaseUpdateDuringThisPass\x3disUpdatingOpaqueValueInRenderPhase\x3d!1;localIdCounter\x3d0}function mountWorkInProgressHook(){var hook\x3d{memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null\x3d\x3d\x3dworkInProgressHook?currentlyRenderingFiber$1.memoizedState\x3dworkInProgressHook\x3d\nhook:workInProgressHook\x3dworkInProgressHook.next\x3dhook;return workInProgressHook}function updateWorkInProgressHook(){if(null\x3d\x3d\x3dcurrentHook){var nextCurrentHook\x3dcurrentlyRenderingFiber$1.alternate;nextCurrentHook\x3dnull!\x3d\x3dnextCurrentHook?nextCurrentHook.memoizedState:null}else nextCurrentHook\x3dcurrentHook.next;var nextWorkInProgressHook\x3dnull\x3d\x3d\x3dworkInProgressHook?currentlyRenderingFiber$1.memoizedState:workInProgressHook.next;if(null!\x3d\x3dnextWorkInProgressHook)workInProgressHook\x3dnextWorkInProgressHook,currentHook\x3d\nnextCurrentHook;else{if(null\x3d\x3d\x3dnextCurrentHook)throw Error(\x22Rendered more hooks than during the previous render.\x22);currentHook\x3dnextCurrentHook;nextCurrentHook\x3d{memoizedState:currentHook.memoizedState,baseState:currentHook.baseState,baseQueue:currentHook.baseQueue,queue:currentHook.queue,next:null};null\x3d\x3d\x3dworkInProgressHook?currentlyRenderingFiber$1.memoizedState\x3dworkInProgressHook\x3dnextCurrentHook:workInProgressHook\x3dworkInProgressHook.next\x3dnextCurrentHook}return workInProgressHook}function basicStateReducer(state,\naction){return\x22function\x22\x3d\x3d\x3dtypeof action?action(state):action}function mountReducer(reducer,initialArg,init){var hook\x3dmountWorkInProgressHook();initialArg\x3dvoid 0!\x3d\x3dinit?init(initialArg):initialArg;hook.memoizedState\x3dhook.baseState\x3dinitialArg;reducer\x3d{pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:reducer,lastRenderedState:initialArg};hook.queue\x3dreducer;reducer\x3dreducer.dispatch\x3ddispatchReducerAction.bind(null,currentlyRenderingFiber$1,reducer);return[hook.memoizedState,reducer]}\nfunction updateReducer(reducer,initialArg,init){initialArg\x3dupdateWorkInProgressHook();init\x3dinitialArg.queue;if(null\x3d\x3d\x3dinit)throw Error(\x22Should have a queue. This is likely a bug in React. Please file an issue.\x22);init.lastRenderedReducer\x3dreducer;var current\x3dcurrentHook,baseQueue\x3dcurrent.baseQueue,pendingQueue\x3dinit.pending;if(null!\x3d\x3dpendingQueue){if(null!\x3d\x3dbaseQueue){var baseFirst\x3dbaseQueue.next;baseQueue.next\x3dpendingQueue.next;pendingQueue.next\x3dbaseFirst}current.baseQueue!\x3d\x3dbaseQueue\x26\x26error$jscomp$0(\x22Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.\x22);\ncurrent.baseQueue\x3dbaseQueue\x3dpendingQueue;init.pending\x3dnull}if(null!\x3d\x3dbaseQueue){pendingQueue\x3dbaseQueue.next;current\x3dcurrent.baseState;var newBaseQueueFirst\x3dbaseFirst\x3dnull,newBaseQueueLast\x3dnull,update\x3dpendingQueue;do{var updateLane\x3dupdate.lane;if((renderLanes\x26updateLane)\x3d\x3d\x3dupdateLane)null!\x3d\x3dnewBaseQueueLast\x26\x26(newBaseQueueLast\x3dnewBaseQueueLast.next\x3d{lane:0,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null}),current\x3dupdate.hasEagerState?update.eagerState:\nreducer(current,update.action);else{var clone\x3d{lane:updateLane,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null};null\x3d\x3d\x3dnewBaseQueueLast?(newBaseQueueFirst\x3dnewBaseQueueLast\x3dclone,baseFirst\x3dcurrent):newBaseQueueLast\x3dnewBaseQueueLast.next\x3dclone;currentlyRenderingFiber$1.lanes|\x3dupdateLane;workInProgressRootSkippedLanes|\x3dupdateLane}update\x3dupdate.next}while(null!\x3d\x3dupdate\x26\x26update!\x3d\x3dpendingQueue);null\x3d\x3d\x3dnewBaseQueueLast?baseFirst\x3dcurrent:newBaseQueueLast.next\x3d\nnewBaseQueueFirst;objectIs(current,initialArg.memoizedState)||(didReceiveUpdate\x3d!0);initialArg.memoizedState\x3dcurrent;initialArg.baseState\x3dbaseFirst;initialArg.baseQueue\x3dnewBaseQueueLast;init.lastRenderedState\x3dcurrent}reducer\x3dinit.interleaved;if(null!\x3d\x3dreducer){baseQueue\x3dreducer;do pendingQueue\x3dbaseQueue.lane,currentlyRenderingFiber$1.lanes|\x3dpendingQueue,workInProgressRootSkippedLanes|\x3dpendingQueue,baseQueue\x3dbaseQueue.next;while(baseQueue!\x3d\x3dreducer)}else null\x3d\x3d\x3dbaseQueue\x26\x26(init.lanes\x3d0);return[initialArg.memoizedState,\ninit.dispatch]}function rerenderReducer(reducer,initialArg,init){initialArg\x3dupdateWorkInProgressHook();init\x3dinitialArg.queue;if(null\x3d\x3d\x3dinit)throw Error(\x22Should have a queue. This is likely a bug in React. Please file an issue.\x22);init.lastRenderedReducer\x3dreducer;var dispatch\x3dinit.dispatch,lastRenderPhaseUpdate\x3dinit.pending,newState\x3dinitialArg.memoizedState;if(null!\x3d\x3dlastRenderPhaseUpdate){init.pending\x3dnull;var update\x3dlastRenderPhaseUpdate\x3dlastRenderPhaseUpdate.next;do newState\x3dreducer(newState,update.action),\nupdate\x3dupdate.next;while(update!\x3d\x3dlastRenderPhaseUpdate);objectIs(newState,initialArg.memoizedState)||(didReceiveUpdate\x3d!0);initialArg.memoizedState\x3dnewState;null\x3d\x3d\x3dinitialArg.baseQueue\x26\x26(initialArg.baseState\x3dnewState);init.lastRenderedState\x3dnewState}return[newState,dispatch]}function mountSyncExternalStore(subscribe,getSnapshot,getServerSnapshot){var fiber\x3dcurrentlyRenderingFiber$1,hook\x3dmountWorkInProgressHook();if(isHydrating){if(void 0\x3d\x3d\x3dgetServerSnapshot)throw Error(\x22Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\x22);\nvar nextSnapshot\x3dgetServerSnapshot();didWarnUncachedGetSnapshot||nextSnapshot\x3d\x3d\x3dgetServerSnapshot()||(error$jscomp$0(\x22The result of getServerSnapshot should be cached to avoid an infinite loop\x22),didWarnUncachedGetSnapshot\x3d!0)}else{nextSnapshot\x3dgetSnapshot();didWarnUncachedGetSnapshot||(getServerSnapshot\x3dgetSnapshot(),objectIs(nextSnapshot,getServerSnapshot)||(error$jscomp$0(\x22The result of getSnapshot should be cached to avoid an infinite loop\x22),didWarnUncachedGetSnapshot\x3d!0));if(null\x3d\x3d\x3dworkInProgressRoot)throw Error(\x22Expected a work-in-progress root. This is a bug in React. Please file an issue.\x22);\n0!\x3d\x3d(renderLanes\x26(InputContinuousHydrationLane|InputContinuousLane|DefaultHydrationLane|DefaultLane))||pushStoreConsistencyCheck(fiber,getSnapshot,nextSnapshot)}hook.memoizedState\x3dnextSnapshot;getServerSnapshot\x3d{value:nextSnapshot,getSnapshot};hook.queue\x3dgetServerSnapshot;mountEffect(subscribeToStore.bind(null,fiber,getServerSnapshot,subscribe),[subscribe]);fiber.flags|\x3d2048;pushEffect(HasEffect|Passive$1,updateStoreInstance.bind(null,fiber,getServerSnapshot,nextSnapshot,getSnapshot),void 0,null);\nreturn nextSnapshot}function updateSyncExternalStore(subscribe,getSnapshot,getServerSnapshot){getServerSnapshot\x3dcurrentlyRenderingFiber$1;var hook\x3dupdateWorkInProgressHook(),nextSnapshot\x3dgetSnapshot();if(!didWarnUncachedGetSnapshot){var cachedSnapshot\x3dgetSnapshot();objectIs(nextSnapshot,cachedSnapshot)||(error$jscomp$0(\x22The result of getSnapshot should be cached to avoid an infinite loop\x22),didWarnUncachedGetSnapshot\x3d!0)}if(cachedSnapshot\x3d!objectIs(hook.memoizedState,nextSnapshot))hook.memoizedState\x3d\nnextSnapshot,didReceiveUpdate\x3d!0;hook\x3dhook.queue;var create\x3dsubscribeToStore.bind(null,getServerSnapshot,hook,subscribe);updateEffectImpl(2048,Passive$1,create,[subscribe]);if(hook.getSnapshot!\x3d\x3dgetSnapshot||cachedSnapshot||null!\x3d\x3dworkInProgressHook\x26\x26workInProgressHook.memoizedState.tag\x26HasEffect){getServerSnapshot.flags|\x3d2048;pushEffect(HasEffect|Passive$1,updateStoreInstance.bind(null,getServerSnapshot,hook,nextSnapshot,getSnapshot),void 0,null);if(null\x3d\x3d\x3dworkInProgressRoot)throw Error(\x22Expected a work-in-progress root. This is a bug in React. Please file an issue.\x22);\n0!\x3d\x3d(renderLanes\x26(InputContinuousHydrationLane|InputContinuousLane|DefaultHydrationLane|DefaultLane))||pushStoreConsistencyCheck(getServerSnapshot,getSnapshot,nextSnapshot)}return nextSnapshot}function pushStoreConsistencyCheck(fiber,getSnapshot,renderedSnapshot){fiber.flags|\x3d16384;fiber\x3d{getSnapshot,value:renderedSnapshot};getSnapshot\x3dcurrentlyRenderingFiber$1.updateQueue;null\x3d\x3d\x3dgetSnapshot?(getSnapshot\x3d{lastEffect:null,stores:null},currentlyRenderingFiber$1.updateQueue\x3dgetSnapshot,getSnapshot.stores\x3d\n[fiber]):(renderedSnapshot\x3dgetSnapshot.stores,null\x3d\x3d\x3drenderedSnapshot?getSnapshot.stores\x3d[fiber]:renderedSnapshot.push(fiber))}function updateStoreInstance(fiber,inst,nextSnapshot,getSnapshot){inst.value\x3dnextSnapshot;inst.getSnapshot\x3dgetSnapshot;checkIfSnapshotChanged(inst)\x26\x26forceStoreRerender(fiber)}function subscribeToStore(fiber,inst,subscribe){return subscribe(function(){checkIfSnapshotChanged(inst)\x26\x26forceStoreRerender(fiber)})}function checkIfSnapshotChanged(inst){var latestGetSnapshot\x3dinst.getSnapshot;\ninst\x3dinst.value;try{var nextValue\x3dlatestGetSnapshot();return!objectIs(inst,nextValue)}catch(error){return!0}}function forceStoreRerender(fiber){var root\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);null!\x3d\x3droot\x26\x26scheduleUpdateOnFiber(root,fiber,SyncLane,-1)}function mountState(initialState){var hook\x3dmountWorkInProgressHook();\x22function\x22\x3d\x3d\x3dtypeof initialState\x26\x26(initialState\x3dinitialState());hook.memoizedState\x3dhook.baseState\x3dinitialState;initialState\x3d{pending:null,interleaved:null,lanes:0,dispatch:null,\nlastRenderedReducer:basicStateReducer,lastRenderedState:initialState};hook.queue\x3dinitialState;initialState\x3dinitialState.dispatch\x3ddispatchSetState.bind(null,currentlyRenderingFiber$1,initialState);return[hook.memoizedState,initialState]}function pushEffect(tag,create,destroy,deps){tag\x3d{tag,create,destroy,deps,next:null};create\x3dcurrentlyRenderingFiber$1.updateQueue;null\x3d\x3d\x3dcreate?(create\x3d{lastEffect:null,stores:null},currentlyRenderingFiber$1.updateQueue\x3dcreate,create.lastEffect\x3dtag.next\x3dtag):(destroy\x3d\ncreate.lastEffect,null\x3d\x3d\x3ddestroy?create.lastEffect\x3dtag.next\x3dtag:(deps\x3ddestroy.next,destroy.next\x3dtag,tag.next\x3ddeps,create.lastEffect\x3dtag));return tag}function mountRef(initialValue){var hook\x3dmountWorkInProgressHook();initialValue\x3d{current:initialValue};return hook.memoizedState\x3dinitialValue}function mountEffectImpl(fiberFlags,hookFlags,create,deps){var hook\x3dmountWorkInProgressHook();currentlyRenderingFiber$1.flags|\x3dfiberFlags;hook.memoizedState\x3dpushEffect(HasEffect|hookFlags,create,void 0,void 0\x3d\x3d\x3d\ndeps?null:deps)}function updateEffectImpl(fiberFlags,hookFlags,create,deps){var hook\x3dupdateWorkInProgressHook();deps\x3dvoid 0\x3d\x3d\x3ddeps?null:deps;var destroy\x3dvoid 0;if(null!\x3d\x3dcurrentHook){var prevEffect\x3dcurrentHook.memoizedState;destroy\x3dprevEffect.destroy;if(null!\x3d\x3ddeps\x26\x26areHookInputsEqual(deps,prevEffect.deps)){hook.memoizedState\x3dpushEffect(hookFlags,create,destroy,deps);return}}currentlyRenderingFiber$1.flags|\x3dfiberFlags;hook.memoizedState\x3dpushEffect(HasEffect|hookFlags,create,destroy,deps)}function mountEffect(create,\ndeps){return 0!\x3d\x3d(currentlyRenderingFiber$1.mode\x2616)?mountEffectImpl(41945088,Passive$1,create,deps):mountEffectImpl(8390656,Passive$1,create,deps)}function mountLayoutEffect(create,deps){var fiberFlags\x3d4194308;0!\x3d\x3d(currentlyRenderingFiber$1.mode\x2616)\x26\x26(fiberFlags|\x3d16777216);return mountEffectImpl(fiberFlags,Layout,create,deps)}function imperativeHandleEffect(create,ref){if(\x22function\x22\x3d\x3d\x3dtypeof ref)return create\x3dcreate(),ref(create),function(){ref(null)};if(null!\x3d\x3dref\x26\x26void 0!\x3d\x3dref)return ref.hasOwnProperty(\x22current\x22)||\nerror$jscomp$0(\x22Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.\x22,\x22an object with keys {\x22+Object.keys(ref).join(\x22, \x22)+\x22}\x22),create\x3dcreate(),ref.current\x3dcreate,function(){ref.current\x3dnull}}function mountImperativeHandle(ref,create,deps){\x22function\x22!\x3d\x3dtypeof create\x26\x26error$jscomp$0(\x22Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\x22,null!\x3d\x3dcreate?typeof create:\x22null\x22);\ndeps\x3dnull!\x3d\x3ddeps\x26\x26void 0!\x3d\x3ddeps?deps.concat([ref]):null;var fiberFlags\x3d4194308;0!\x3d\x3d(currentlyRenderingFiber$1.mode\x2616)\x26\x26(fiberFlags|\x3d16777216);return mountEffectImpl(fiberFlags,Layout,imperativeHandleEffect.bind(null,create,ref),deps)}function updateImperativeHandle(ref,create,deps){\x22function\x22!\x3d\x3dtypeof create\x26\x26error$jscomp$0(\x22Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\x22,null!\x3d\x3dcreate?typeof create:\x22null\x22);deps\x3dnull!\x3d\x3ddeps\x26\x26void 0!\x3d\x3d\ndeps?deps.concat([ref]):null;return updateEffectImpl(4,Layout,imperativeHandleEffect.bind(null,create,ref),deps)}function mountCallback(callback,deps){mountWorkInProgressHook().memoizedState\x3d[callback,void 0\x3d\x3d\x3ddeps?null:deps];return callback}function updateCallback(callback,deps){var hook\x3dupdateWorkInProgressHook();deps\x3dvoid 0\x3d\x3d\x3ddeps?null:deps;var prevState\x3dhook.memoizedState;if(null!\x3d\x3dprevState\x26\x26null!\x3d\x3ddeps\x26\x26areHookInputsEqual(deps,prevState[1]))return prevState[0];hook.memoizedState\x3d[callback,deps];\nreturn callback}function mountMemo(nextCreate,deps){var hook\x3dmountWorkInProgressHook();deps\x3dvoid 0\x3d\x3d\x3ddeps?null:deps;nextCreate\x3dnextCreate();hook.memoizedState\x3d[nextCreate,deps];return nextCreate}function updateMemo(nextCreate,deps){var hook\x3dupdateWorkInProgressHook();deps\x3dvoid 0\x3d\x3d\x3ddeps?null:deps;var prevState\x3dhook.memoizedState;if(null!\x3d\x3dprevState\x26\x26null!\x3d\x3ddeps\x26\x26areHookInputsEqual(deps,prevState[1]))return prevState[0];nextCreate\x3dnextCreate();hook.memoizedState\x3d[nextCreate,deps];return nextCreate}\nfunction mountDeferredValue(value){return mountWorkInProgressHook().memoizedState\x3dvalue}function updateDeferredValue(value){var hook\x3dupdateWorkInProgressHook();return updateDeferredValueImpl(hook,currentHook.memoizedState,value)}function rerenderDeferredValue(value){var hook\x3dupdateWorkInProgressHook();return null\x3d\x3d\x3dcurrentHook?hook.memoizedState\x3dvalue:updateDeferredValueImpl(hook,currentHook.memoizedState,value)}function updateDeferredValueImpl(hook,prevValue,value){if(0\x3d\x3d\x3d(renderLanes\x26(SyncLane|\nInputContinuousLane|DefaultLane)))return hook.baseState\x26\x26(hook.baseState\x3d!1,didReceiveUpdate\x3d!0),hook.memoizedState\x3dvalue;objectIs(value,prevValue)||(value\x3dclaimNextTransitionLane(),currentlyRenderingFiber$1.lanes|\x3dvalue,workInProgressRootSkippedLanes|\x3dvalue,hook.baseState\x3d!0);return prevValue}function startTransition(setPending,callback,options){options\x3dcurrentUpdatePriority;currentUpdatePriority\x3d0!\x3d\x3doptions\x26\x26options\x3cContinuousEventPriority?options:ContinuousEventPriority;setPending(!0);var prevTransition\x3d\nReactCurrentBatchConfig$2.transition;ReactCurrentBatchConfig$2.transition\x3d{};var currentTransition\x3dReactCurrentBatchConfig$2.transition;ReactCurrentBatchConfig$2.transition._updatedFibers\x3dnew Set;try{setPending(!1),callback()}finally{currentUpdatePriority\x3doptions,ReactCurrentBatchConfig$2.transition\x3dprevTransition,null\x3d\x3d\x3dprevTransition\x26\x26currentTransition._updatedFibers\x26\x26(10\x3ccurrentTransition._updatedFibers.size\x26\x26warn(\x22Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\x22),\ncurrentTransition._updatedFibers.clear())}}function mountTransition(){var _mountState\x3dmountState(!1),isPending\x3d_mountState[0];_mountState\x3dstartTransition.bind(null,_mountState[1]);mountWorkInProgressHook().memoizedState\x3d_mountState;return[isPending,_mountState]}function updateTransition(){var isPending\x3dupdateReducer(basicStateReducer)[0],start\x3dupdateWorkInProgressHook().memoizedState;return[isPending,start]}function rerenderTransition(){var isPending\x3drerenderReducer(basicStateReducer)[0],start\x3dupdateWorkInProgressHook().memoizedState;\nreturn[isPending,start]}function mountId(){var hook\x3dmountWorkInProgressHook(),identifierPrefix\x3dworkInProgressRoot.identifierPrefix;if(isHydrating){var treeId\x3dtreeContextOverflow;var idWithLeadingBit\x3dtreeContextId;treeId\x3d(idWithLeadingBit\x26~(1\x3c\x3c32-clz32(idWithLeadingBit)-1)).toString(32)+treeId;identifierPrefix\x3d\x22:\x22+identifierPrefix+\x22R\x22+treeId;treeId\x3dlocalIdCounter++;0\x3ctreeId\x26\x26(identifierPrefix+\x3d\x22H\x22+treeId.toString(32));identifierPrefix+\x3d\x22:\x22}else treeId\x3dglobalClientIdCounter++,identifierPrefix\x3d\x22:\x22+identifierPrefix+\n\x22r\x22+treeId.toString(32)+\x22:\x22;return hook.memoizedState\x3didentifierPrefix}function dispatchReducerAction(fiber,queue,action,JSCompiler_OptimizeArgumentsArray_p0){\x22function\x22\x3d\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p0\x26\x26error$jscomp$0(\x22State updates from the useState() and useReducer() Hooks don\x27t support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\x22);JSCompiler_OptimizeArgumentsArray_p0\x3drequestUpdateLane(fiber);action\x3d{lane:JSCompiler_OptimizeArgumentsArray_p0,\naction,hasEagerState:!1,eagerState:null,next:null};if(isRenderPhaseUpdate(fiber))enqueueRenderPhaseUpdate(queue,action);else if(action\x3denqueueConcurrentHookUpdate(fiber,queue,action,JSCompiler_OptimizeArgumentsArray_p0),null!\x3d\x3daction){var eventTime\x3drequestEventTime();scheduleUpdateOnFiber(action,fiber,JSCompiler_OptimizeArgumentsArray_p0,eventTime);entangleTransitionUpdate(action,queue,JSCompiler_OptimizeArgumentsArray_p0)}markStateUpdateScheduled(fiber,JSCompiler_OptimizeArgumentsArray_p0)}function dispatchSetState(fiber,\nqueue,action,JSCompiler_OptimizeArgumentsArray_p1){\x22function\x22\x3d\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p1\x26\x26error$jscomp$0(\x22State updates from the useState() and useReducer() Hooks don\x27t support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\x22);JSCompiler_OptimizeArgumentsArray_p1\x3drequestUpdateLane(fiber);var update\x3d{lane:JSCompiler_OptimizeArgumentsArray_p1,action,hasEagerState:!1,eagerState:null,next:null};if(isRenderPhaseUpdate(fiber))enqueueRenderPhaseUpdate(queue,\nupdate);else{var alternate\x3dfiber.alternate;if(0\x3d\x3d\x3dfiber.lanes\x26\x26(null\x3d\x3d\x3dalternate||0\x3d\x3d\x3dalternate.lanes)\x26\x26(alternate\x3dqueue.lastRenderedReducer,null!\x3d\x3dalternate)){var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{var currentState\x3dqueue.lastRenderedState,eagerState\x3dalternate(currentState,action);update.hasEagerState\x3d!0;update.eagerState\x3deagerState;if(objectIs(eagerState,currentState)){var interleaved\x3dqueue.interleaved;null\x3d\x3d\x3d\ninterleaved?(update.next\x3dupdate,pushConcurrentUpdateQueue(queue)):(update.next\x3dinterleaved.next,interleaved.next\x3dupdate);queue.interleaved\x3dupdate;return}}catch(error){}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}}action\x3denqueueConcurrentHookUpdate(fiber,queue,update,JSCompiler_OptimizeArgumentsArray_p1);null!\x3d\x3daction\x26\x26(currentState\x3drequestEventTime(),scheduleUpdateOnFiber(action,fiber,JSCompiler_OptimizeArgumentsArray_p1,currentState),entangleTransitionUpdate(action,queue,JSCompiler_OptimizeArgumentsArray_p1))}markStateUpdateScheduled(fiber,\nJSCompiler_OptimizeArgumentsArray_p1)}function isRenderPhaseUpdate(fiber){var alternate\x3dfiber.alternate;return fiber\x3d\x3d\x3dcurrentlyRenderingFiber$1||null!\x3d\x3dalternate\x26\x26alternate\x3d\x3d\x3dcurrentlyRenderingFiber$1}function enqueueRenderPhaseUpdate(queue,update){didScheduleRenderPhaseUpdateDuringThisPass\x3ddidScheduleRenderPhaseUpdate\x3d!0;var pending\x3dqueue.pending;null\x3d\x3d\x3dpending?update.next\x3dupdate:(update.next\x3dpending.next,pending.next\x3dupdate);queue.pending\x3dupdate}function entangleTransitionUpdate(root,queue,lane){if(0!\x3d\x3d\n(lane\x26TransitionLanes)){var queueLanes\x3dqueue.lanes;queueLanes\x26\x3droot.pendingLanes;lane|\x3dqueueLanes;queue.lanes\x3dlane;markRootEntangled(root,lane)}}function startProfilerTimer(fiber){profilerStartTime\x3dnow$1();0\x3efiber.actualStartTime\x26\x26(fiber.actualStartTime\x3dnow$1())}function stopProfilerTimerIfRunningAndRecordDelta(fiber,overrideBaseTime){if(0\x3c\x3dprofilerStartTime){var elapsedTime\x3dnow$1()-profilerStartTime;fiber.actualDuration+\x3delapsedTime;overrideBaseTime\x26\x26(fiber.selfBaseDuration\x3delapsedTime);profilerStartTime\x3d\n-1}}function recordLayoutEffectDuration(fiber){if(0\x3c\x3dlayoutEffectStartTime){var elapsedTime\x3dnow$1()-layoutEffectStartTime;layoutEffectStartTime\x3d-1;for(fiber\x3dfiber.return;null!\x3d\x3dfiber;){switch(fiber.tag){case 3:fiber.stateNode.effectDuration+\x3delapsedTime;return;case 12:fiber.stateNode.effectDuration+\x3delapsedTime;return}fiber\x3dfiber.return}}}function recordPassiveEffectDuration(fiber){if(0\x3c\x3dpassiveEffectStartTime){var elapsedTime\x3dnow$1()-passiveEffectStartTime;passiveEffectStartTime\x3d-1;for(fiber\x3dfiber.return;null!\x3d\x3d\nfiber;){switch(fiber.tag){case 3:fiber\x3dfiber.stateNode;null!\x3d\x3dfiber\x26\x26(fiber.passiveEffectDuration+\x3delapsedTime);return;case 12:fiber\x3dfiber.stateNode;null!\x3d\x3dfiber\x26\x26(fiber.passiveEffectDuration+\x3delapsedTime);return}fiber\x3dfiber.return}}}function startLayoutEffectTimer(){layoutEffectStartTime\x3dnow$1()}function transferActualDuration(fiber){for(var child\x3dfiber.child;child;)fiber.actualDuration+\x3dchild.actualDuration,child\x3dchild.sibling}function createCapturedValueAtFiber(value,source){return{value,source,\nstack:getStackByFiberInDevAndProd(source),digest:null}}function createCapturedValue(value,digest,stack){return{value,source:null,stack:null!\x3dstack?stack:null,digest:null!\x3ddigest?digest:null}}function logCapturedError(boundary,errorInfo){try{var error\x3derrorInfo.value,source\x3derrorInfo.source,stack\x3derrorInfo.stack;errorInfo\x3dnull!\x3d\x3dstack?stack:\x22\x22;if(null!\x3derror\x26\x26error._suppressLogging){if(1\x3d\x3d\x3dboundary.tag)return;console.error(error)}var componentName\x3dsource?getComponentNameFromFiber(source):null;error\x3d\ncomponentName?\x22The above error occurred in the \\x3c\x22+componentName+\x22\\x3e component:\x22:\x22The above error occurred in one of your React components:\x22;var errorBoundaryMessage\x3d3\x3d\x3d\x3dboundary.tag?\x22Consider adding an error boundary to your tree to customize error handling behavior.\\nVisit https://reactjs.org/link/error-boundaries to learn more about error boundaries.\x22:\x22React will try to recreate this component tree from scratch using the error boundary you provided, \x22+((getComponentNameFromFiber(boundary)||\n\x22Anonymous\x22)+\x22.\x22);console.error(error+\x22\\n\x22+errorInfo+\x22\\n\\n\x22+errorBoundaryMessage)}catch(e){setTimeout(function(){throw e;})}}function createRootErrorUpdate(fiber,errorInfo,lane){lane\x3dcreateUpdate(-1,lane);lane.tag\x3d3;lane.payload\x3d{element:null};var error\x3derrorInfo.value;lane.callback\x3dfunction(){hasUncaughtError||(hasUncaughtError\x3d!0,firstUncaughtError\x3derror);logCapturedError(fiber,errorInfo)};return lane}function createClassErrorUpdate(fiber,errorInfo,lane){lane\x3dcreateUpdate(-1,lane);lane.tag\x3d3;var getDerivedStateFromError\x3d\nfiber.type.getDerivedStateFromError;if(\x22function\x22\x3d\x3d\x3dtypeof getDerivedStateFromError){var error$1\x3derrorInfo.value;lane.payload\x3dfunction(){return getDerivedStateFromError(error$1)};lane.callback\x3dfunction(){markFailedErrorBoundaryForHotReloading(fiber);logCapturedError(fiber,errorInfo)}}var inst\x3dfiber.stateNode;null!\x3d\x3dinst\x26\x26\x22function\x22\x3d\x3d\x3dtypeof inst.componentDidCatch\x26\x26(lane.callback\x3dfunction(){markFailedErrorBoundaryForHotReloading(fiber);logCapturedError(fiber,errorInfo);\x22function\x22!\x3d\x3dtypeof getDerivedStateFromError\x26\x26\n(null\x3d\x3d\x3dlegacyErrorBoundariesThatAlreadyFailed?legacyErrorBoundariesThatAlreadyFailed\x3dnew Set([this]):legacyErrorBoundariesThatAlreadyFailed.add(this));var stack\x3derrorInfo.stack;this.componentDidCatch(errorInfo.value,{componentStack:null!\x3d\x3dstack?stack:\x22\x22});\x22function\x22!\x3d\x3dtypeof getDerivedStateFromError\x26\x260\x3d\x3d\x3d(fiber.lanes\x26SyncLane)\x26\x26error$jscomp$0(\x22%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.\x22,getComponentNameFromFiber(fiber)||\n\x22Unknown\x22)});return lane}function attachPingListener(root,wakeable,lanes){var pingCache\x3droot.pingCache;if(null\x3d\x3d\x3dpingCache){pingCache\x3droot.pingCache\x3dnew PossiblyWeakMap$1;var threadIDs\x3dnew Set;pingCache.set(wakeable,threadIDs)}else threadIDs\x3dpingCache.get(wakeable),void 0\x3d\x3d\x3dthreadIDs\x26\x26(threadIDs\x3dnew Set,pingCache.set(wakeable,threadIDs));threadIDs.has(lanes)||(threadIDs.add(lanes),pingCache\x3dpingSuspendedRoot.bind(null,root,wakeable,lanes),isDevToolsPresent\x26\x26restorePendingUpdaters(root,lanes),wakeable.then(pingCache,\npingCache))}function getNearestSuspenseBoundaryToCapture(returnFiber){do{var JSCompiler_temp;if(JSCompiler_temp\x3d13\x3d\x3d\x3dreturnFiber.tag)JSCompiler_temp\x3dreturnFiber.memoizedState,JSCompiler_temp\x3dnull!\x3d\x3dJSCompiler_temp?null!\x3d\x3dJSCompiler_temp.dehydrated?!0:!1:!0;if(JSCompiler_temp)return returnFiber;returnFiber\x3dreturnFiber.return}while(null!\x3d\x3dreturnFiber);return null}function markSuspenseBoundaryShouldCapture(suspenseBoundary,returnFiber,sourceFiber,root,rootRenderLanes){if(0\x3d\x3d\x3d(suspenseBoundary.mode\x261))return suspenseBoundary\x3d\x3d\x3d\nreturnFiber?suspenseBoundary.flags|\x3d65536:(suspenseBoundary.flags|\x3d128,sourceFiber.flags|\x3d131072,sourceFiber.flags\x26\x3d-52805,1\x3d\x3d\x3dsourceFiber.tag\x26\x26(null\x3d\x3d\x3dsourceFiber.alternate?sourceFiber.tag\x3d17:(returnFiber\x3dcreateUpdate(-1,SyncLane),returnFiber.tag\x3dForceUpdate,enqueueUpdate(sourceFiber,returnFiber,SyncLane))),sourceFiber.lanes|\x3dSyncLane),suspenseBoundary;suspenseBoundary.flags|\x3d65536;suspenseBoundary.lanes\x3drootRenderLanes;return suspenseBoundary}function reconcileChildren(current,workInProgress,nextChildren,\nrenderLanes){workInProgress.child\x3dnull\x3d\x3d\x3dcurrent?mountChildFibers(workInProgress,null,nextChildren,renderLanes):reconcileChildFibers(workInProgress,current.child,nextChildren,renderLanes)}function updateForwardRef(current,workInProgress,Component,nextProps,renderLanes){if(workInProgress.type!\x3d\x3dworkInProgress.elementType){var innerPropTypes\x3dComponent.propTypes;innerPropTypes\x26\x26checkPropTypes(innerPropTypes,nextProps,\x22prop\x22,getComponentNameFromType(Component))}Component\x3dComponent.render;innerPropTypes\x3d\nworkInProgress.ref;prepareToReadContext(workInProgress,renderLanes);markComponentRenderStarted(workInProgress);ReactCurrentOwner$1.current\x3dworkInProgress;isRendering\x3d!0;var nextChildren\x3drenderWithHooks(current,workInProgress,Component,nextProps,innerPropTypes,renderLanes);var hasId\x3dcheckDidRenderIdHook();if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{nextChildren\x3drenderWithHooks(current,workInProgress,Component,nextProps,innerPropTypes,renderLanes),hasId\x3dcheckDidRenderIdHook()}finally{setIsStrictModeForDevtools(!1)}}isRendering\x3d\n!1;markComponentRenderStopped();if(null!\x3d\x3dcurrent\x26\x26!didReceiveUpdate)return bailoutHooks(current,workInProgress,renderLanes),bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);isHydrating\x26\x26hasId\x26\x26pushMaterializedTreeId(workInProgress);workInProgress.flags|\x3d1;reconcileChildren(current,workInProgress,nextChildren,renderLanes);return workInProgress.child}function updateMemoComponent(current,workInProgress,Component,nextProps,renderLanes){if(null\x3d\x3d\x3dcurrent){var type\x3dComponent.type;if(\x22function\x22\x3d\x3d\x3d\ntypeof type\x26\x26!shouldConstruct$1(type)\x26\x26void 0\x3d\x3d\x3dtype.defaultProps\x26\x26null\x3d\x3d\x3dComponent.compare\x26\x26void 0\x3d\x3d\x3dComponent.defaultProps)return Component\x3dresolveFunctionForHotReloading(type),workInProgress.tag\x3d15,workInProgress.type\x3dComponent,validateFunctionComponentInDev(workInProgress,type),updateSimpleMemoComponent(current,workInProgress,Component,nextProps,renderLanes);(current\x3dtype.propTypes)\x26\x26checkPropTypes(current,nextProps,\x22prop\x22,getComponentNameFromType(type));nextProps\x3dcreateFiberFromTypeAndProps(Component.type,\nnull,nextProps,workInProgress,workInProgress.mode,renderLanes);nextProps.ref\x3dworkInProgress.ref;nextProps.return\x3dworkInProgress;return workInProgress.child\x3dnextProps}type\x3dComponent.type;var _innerPropTypes\x3dtype.propTypes;_innerPropTypes\x26\x26checkPropTypes(_innerPropTypes,nextProps,\x22prop\x22,getComponentNameFromType(type));type\x3dcurrent.child;if(0\x3d\x3d\x3d(current.lanes\x26renderLanes)\x26\x26(_innerPropTypes\x3dtype.memoizedProps,Component\x3dComponent.compare,Component\x3dnull!\x3d\x3dComponent?Component:shallowEqual,Component(_innerPropTypes,\nnextProps)\x26\x26current.ref\x3d\x3d\x3dworkInProgress.ref))return bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);workInProgress.flags|\x3d1;nextProps\x3dcreateWorkInProgress(type,nextProps);nextProps.ref\x3dworkInProgress.ref;nextProps.return\x3dworkInProgress;return workInProgress.child\x3dnextProps}function updateSimpleMemoComponent(current,workInProgress,Component,nextProps,renderLanes){if(workInProgress.type!\x3d\x3dworkInProgress.elementType){var outerMemoType\x3dworkInProgress.elementType;if(outerMemoType.$$typeof\x3d\x3d\x3d\nREACT_LAZY_TYPE){var lazyComponent\x3douterMemoType,payload\x3dlazyComponent._payload;lazyComponent\x3dlazyComponent._init;try{outerMemoType\x3dlazyComponent(payload)}catch(x){outerMemoType\x3dnull}(payload\x3douterMemoType\x26\x26outerMemoType.propTypes)\x26\x26checkPropTypes(payload,nextProps,\x22prop\x22,getComponentNameFromType(outerMemoType))}}if(null!\x3d\x3dcurrent\x26\x26(outerMemoType\x3dcurrent.memoizedProps,shallowEqual(outerMemoType,nextProps)\x26\x26current.ref\x3d\x3d\x3dworkInProgress.ref\x26\x26workInProgress.type\x3d\x3d\x3dcurrent.type))if(didReceiveUpdate\x3d!1,\nworkInProgress.pendingProps\x3dnextProps\x3douterMemoType,0!\x3d\x3d(current.lanes\x26renderLanes))0!\x3d\x3d(current.flags\x26131072)\x26\x26(didReceiveUpdate\x3d!0);else return workInProgress.lanes\x3dcurrent.lanes,bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);return updateFunctionComponent(current,workInProgress,Component,nextProps,renderLanes)}function updateOffscreenComponent(current,workInProgress,renderLanes){var nextProps\x3dworkInProgress.pendingProps,nextChildren\x3dnextProps.children,prevState\x3dnull!\x3d\x3dcurrent?\ncurrent.memoizedState:null;if(\x22hidden\x22\x3d\x3d\x3dnextProps.mode)if(0\x3d\x3d\x3d(workInProgress.mode\x261))workInProgress.memoizedState\x3d{baseLanes:0,cachePool:null,transitions:null},pushRenderLanes(workInProgress,renderLanes);else{if(0\x3d\x3d\x3d(renderLanes\x26OffscreenLane))return current\x3dnull!\x3d\x3dprevState?prevState.baseLanes|renderLanes:renderLanes,workInProgress.lanes\x3dworkInProgress.childLanes\x3dOffscreenLane,workInProgress.memoizedState\x3d{baseLanes:current,cachePool:null,transitions:null},workInProgress.updateQueue\x3dnull,pushRenderLanes(workInProgress,\ncurrent),null;workInProgress.memoizedState\x3d{baseLanes:0,cachePool:null,transitions:null};pushRenderLanes(workInProgress,null!\x3d\x3dprevState?prevState.baseLanes:renderLanes)}else null!\x3d\x3dprevState?(nextProps\x3dprevState.baseLanes|renderLanes,workInProgress.memoizedState\x3dnull):nextProps\x3drenderLanes,pushRenderLanes(workInProgress,nextProps);reconcileChildren(current,workInProgress,nextChildren,renderLanes);return workInProgress.child}function markRef(current,workInProgress){var ref\x3dworkInProgress.ref;if(null\x3d\x3d\x3d\ncurrent\x26\x26null!\x3d\x3dref||null!\x3d\x3dcurrent\x26\x26current.ref!\x3d\x3dref)workInProgress.flags|\x3d512,workInProgress.flags|\x3d2097152}function updateFunctionComponent(current,workInProgress,Component,nextProps,renderLanes){if(workInProgress.type!\x3d\x3dworkInProgress.elementType){var innerPropTypes\x3dComponent.propTypes;innerPropTypes\x26\x26checkPropTypes(innerPropTypes,nextProps,\x22prop\x22,getComponentNameFromType(Component))}innerPropTypes\x3disContextProvider(Component)?previousContext:contextStackCursor.current;innerPropTypes\x3dgetMaskedContext(workInProgress,\ninnerPropTypes);prepareToReadContext(workInProgress,renderLanes);markComponentRenderStarted(workInProgress);ReactCurrentOwner$1.current\x3dworkInProgress;isRendering\x3d!0;var nextChildren\x3drenderWithHooks(current,workInProgress,Component,nextProps,innerPropTypes,renderLanes);var hasId\x3dcheckDidRenderIdHook();if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{nextChildren\x3drenderWithHooks(current,workInProgress,Component,nextProps,innerPropTypes,renderLanes),hasId\x3dcheckDidRenderIdHook()}finally{setIsStrictModeForDevtools(!1)}}isRendering\x3d\n!1;markComponentRenderStopped();if(null!\x3d\x3dcurrent\x26\x26!didReceiveUpdate)return bailoutHooks(current,workInProgress,renderLanes),bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);isHydrating\x26\x26hasId\x26\x26pushMaterializedTreeId(workInProgress);workInProgress.flags|\x3d1;reconcileChildren(current,workInProgress,nextChildren,renderLanes);return workInProgress.child}function updateClassComponent(current,workInProgress,Component,nextProps,renderLanes){switch(shouldErrorImpl(workInProgress)){case !1:var _instance\x3d\nworkInProgress.stateNode,state\x3d(new workInProgress.type(workInProgress.memoizedProps,_instance.context)).state;_instance.updater.enqueueSetState(_instance,state,null);break;case !0:workInProgress.flags|\x3d128,workInProgress.flags|\x3d65536,_instance\x3dError(\x22Simulated error coming from DevTools\x22),state\x3drenderLanes\x26-renderLanes,workInProgress.lanes|\x3dstate,_instance\x3dcreateClassErrorUpdate(workInProgress,createCapturedValueAtFiber(_instance,workInProgress),state),enqueueCapturedUpdate(workInProgress,_instance)}workInProgress.type!\x3d\x3d\nworkInProgress.elementType\x26\x26(_instance\x3dComponent.propTypes)\x26\x26checkPropTypes(_instance,nextProps,\x22prop\x22,getComponentNameFromType(Component));isContextProvider(Component)?(_instance\x3d!0,pushContextProvider(workInProgress)):_instance\x3d!1;prepareToReadContext(workInProgress,renderLanes);if(null\x3d\x3d\x3dworkInProgress.stateNode)resetSuspendedCurrentOnMountInLegacyMode(current,workInProgress),constructClassInstance(workInProgress,Component,nextProps),mountClassInstance(workInProgress,Component,nextProps,renderLanes),\nstate\x3d!0;else if(null\x3d\x3d\x3dcurrent){state\x3dworkInProgress.stateNode;var oldProps\x3dworkInProgress.memoizedProps;state.props\x3doldProps;var oldContext\x3dstate.context,contextType\x3dComponent.contextType;\x22object\x22\x3d\x3d\x3dtypeof contextType\x26\x26null!\x3d\x3dcontextType?contextType\x3dreadContext(contextType):(contextType\x3disContextProvider(Component)?previousContext:contextStackCursor.current,contextType\x3dgetMaskedContext(workInProgress,contextType));var getDerivedStateFromProps\x3dComponent.getDerivedStateFromProps,hasNewLifecycles\x3d\n\x22function\x22\x3d\x3d\x3dtypeof getDerivedStateFromProps||\x22function\x22\x3d\x3d\x3dtypeof state.getSnapshotBeforeUpdate;hasNewLifecycles||\x22function\x22!\x3d\x3dtypeof state.UNSAFE_componentWillReceiveProps\x26\x26\x22function\x22!\x3d\x3dtypeof state.componentWillReceiveProps||(oldProps!\x3d\x3dnextProps||oldContext!\x3d\x3dcontextType)\x26\x26callComponentWillReceiveProps(workInProgress,state,nextProps,contextType);hasForceUpdate\x3d!1;var oldState\x3dworkInProgress.memoizedState;state.state\x3doldState;processUpdateQueue(workInProgress,nextProps,state,renderLanes);oldContext\x3d\nworkInProgress.memoizedState;oldProps!\x3d\x3dnextProps||oldState!\x3d\x3doldContext||didPerformWorkStackCursor.current||hasForceUpdate?(\x22function\x22\x3d\x3d\x3dtypeof getDerivedStateFromProps\x26\x26(applyDerivedStateFromProps(workInProgress,Component,getDerivedStateFromProps,nextProps),oldContext\x3dworkInProgress.memoizedState),(oldProps\x3dhasForceUpdate||checkShouldComponentUpdate(workInProgress,Component,oldProps,nextProps,oldState,oldContext,contextType))?(hasNewLifecycles||\x22function\x22!\x3d\x3dtypeof state.UNSAFE_componentWillMount\x26\x26\n\x22function\x22!\x3d\x3dtypeof state.componentWillMount||(\x22function\x22\x3d\x3d\x3dtypeof state.componentWillMount\x26\x26state.componentWillMount(),\x22function\x22\x3d\x3d\x3dtypeof state.UNSAFE_componentWillMount\x26\x26state.UNSAFE_componentWillMount()),\x22function\x22\x3d\x3d\x3dtypeof state.componentDidMount\x26\x26(hasNewLifecycles\x3d4194308,0!\x3d\x3d(workInProgress.mode\x2616)\x26\x26(hasNewLifecycles|\x3d16777216),workInProgress.flags|\x3dhasNewLifecycles)):(\x22function\x22\x3d\x3d\x3dtypeof state.componentDidMount\x26\x26(hasNewLifecycles\x3d4194308,0!\x3d\x3d(workInProgress.mode\x2616)\x26\x26(hasNewLifecycles|\x3d16777216),\nworkInProgress.flags|\x3dhasNewLifecycles),workInProgress.memoizedProps\x3dnextProps,workInProgress.memoizedState\x3doldContext),state.props\x3dnextProps,state.state\x3doldContext,state.context\x3dcontextType,state\x3doldProps):(\x22function\x22\x3d\x3d\x3dtypeof state.componentDidMount\x26\x26(state\x3d4194308,0!\x3d\x3d(workInProgress.mode\x2616)\x26\x26(state|\x3d16777216),workInProgress.flags|\x3dstate),state\x3d!1)}else{state\x3dworkInProgress.stateNode;cloneUpdateQueue(current,workInProgress);contextType\x3dworkInProgress.memoizedProps;oldProps\x3dworkInProgress.type\x3d\x3d\x3d\nworkInProgress.elementType?contextType:resolveDefaultProps(workInProgress.type,contextType);state.props\x3doldProps;oldContext\x3dworkInProgress.pendingProps;oldState\x3dstate.context;hasNewLifecycles\x3dComponent.contextType;\x22object\x22\x3d\x3d\x3dtypeof hasNewLifecycles\x26\x26null!\x3d\x3dhasNewLifecycles?hasNewLifecycles\x3dreadContext(hasNewLifecycles):(hasNewLifecycles\x3disContextProvider(Component)?previousContext:contextStackCursor.current,hasNewLifecycles\x3dgetMaskedContext(workInProgress,hasNewLifecycles));var getDerivedStateFromProps$jscomp$0\x3d\nComponent.getDerivedStateFromProps;(getDerivedStateFromProps\x3d\x22function\x22\x3d\x3d\x3dtypeof getDerivedStateFromProps$jscomp$0||\x22function\x22\x3d\x3d\x3dtypeof state.getSnapshotBeforeUpdate)||\x22function\x22!\x3d\x3dtypeof state.UNSAFE_componentWillReceiveProps\x26\x26\x22function\x22!\x3d\x3dtypeof state.componentWillReceiveProps||(contextType!\x3d\x3doldContext||oldState!\x3d\x3dhasNewLifecycles)\x26\x26callComponentWillReceiveProps(workInProgress,state,nextProps,hasNewLifecycles);hasForceUpdate\x3d!1;oldState\x3dworkInProgress.memoizedState;state.state\x3doldState;processUpdateQueue(workInProgress,\nnextProps,state,renderLanes);var newState\x3dworkInProgress.memoizedState;contextType!\x3d\x3doldContext||oldState!\x3d\x3dnewState||didPerformWorkStackCursor.current||hasForceUpdate?(\x22function\x22\x3d\x3d\x3dtypeof getDerivedStateFromProps$jscomp$0\x26\x26(applyDerivedStateFromProps(workInProgress,Component,getDerivedStateFromProps$jscomp$0,nextProps),newState\x3dworkInProgress.memoizedState),(oldProps\x3dhasForceUpdate||checkShouldComponentUpdate(workInProgress,Component,oldProps,nextProps,oldState,newState,hasNewLifecycles)||!1)?(getDerivedStateFromProps||\n\x22function\x22!\x3d\x3dtypeof state.UNSAFE_componentWillUpdate\x26\x26\x22function\x22!\x3d\x3dtypeof state.componentWillUpdate||(\x22function\x22\x3d\x3d\x3dtypeof state.componentWillUpdate\x26\x26state.componentWillUpdate(nextProps,newState,hasNewLifecycles),\x22function\x22\x3d\x3d\x3dtypeof state.UNSAFE_componentWillUpdate\x26\x26state.UNSAFE_componentWillUpdate(nextProps,newState,hasNewLifecycles)),\x22function\x22\x3d\x3d\x3dtypeof state.componentDidUpdate\x26\x26(workInProgress.flags|\x3d4),\x22function\x22\x3d\x3d\x3dtypeof state.getSnapshotBeforeUpdate\x26\x26(workInProgress.flags|\x3d1024)):(\x22function\x22!\x3d\x3d\ntypeof state.componentDidUpdate||contextType\x3d\x3d\x3dcurrent.memoizedProps\x26\x26oldState\x3d\x3d\x3dcurrent.memoizedState||(workInProgress.flags|\x3d4),\x22function\x22!\x3d\x3dtypeof state.getSnapshotBeforeUpdate||contextType\x3d\x3d\x3dcurrent.memoizedProps\x26\x26oldState\x3d\x3d\x3dcurrent.memoizedState||(workInProgress.flags|\x3d1024),workInProgress.memoizedProps\x3dnextProps,workInProgress.memoizedState\x3dnewState),state.props\x3dnextProps,state.state\x3dnewState,state.context\x3dhasNewLifecycles,state\x3doldProps):(\x22function\x22!\x3d\x3dtypeof state.componentDidUpdate||contextType\x3d\x3d\x3d\ncurrent.memoizedProps\x26\x26oldState\x3d\x3d\x3dcurrent.memoizedState||(workInProgress.flags|\x3d4),\x22function\x22!\x3d\x3dtypeof state.getSnapshotBeforeUpdate||contextType\x3d\x3d\x3dcurrent.memoizedProps\x26\x26oldState\x3d\x3d\x3dcurrent.memoizedState||(workInProgress.flags|\x3d1024),state\x3d!1)}current\x3dfinishClassComponent(current,workInProgress,Component,state,_instance,renderLanes);Component\x3dworkInProgress.stateNode;state\x26\x26Component.props!\x3d\x3dnextProps\x26\x26(didWarnAboutReassigningProps||error$jscomp$0(\x22It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.\x22,\ngetComponentNameFromFiber(workInProgress)||\x22a component\x22),didWarnAboutReassigningProps\x3d!0);return current}function finishClassComponent(current,workInProgress,Component,shouldUpdate,hasContext,renderLanes){markRef(current,workInProgress);var didCaptureError\x3d0!\x3d\x3d(workInProgress.flags\x26128);if(!shouldUpdate\x26\x26!didCaptureError)return hasContext\x26\x26invalidateContextProvider(workInProgress,Component,!1),bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);shouldUpdate\x3dworkInProgress.stateNode;\nReactCurrentOwner$1.current\x3dworkInProgress;if(didCaptureError\x26\x26\x22function\x22!\x3d\x3dtypeof Component.getDerivedStateFromError){var nextChildren\x3dnull;profilerStartTime\x3d-1}else{markComponentRenderStarted(workInProgress);isRendering\x3d!0;nextChildren\x3dshouldUpdate.render();if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{shouldUpdate.render()}finally{setIsStrictModeForDevtools(!1)}}isRendering\x3d!1;markComponentRenderStopped()}workInProgress.flags|\x3d1;null!\x3d\x3dcurrent\x26\x26didCaptureError?(didCaptureError\x3dnextChildren,\nworkInProgress.child\x3dreconcileChildFibers(workInProgress,current.child,null,renderLanes),workInProgress.child\x3dreconcileChildFibers(workInProgress,null,didCaptureError,renderLanes)):reconcileChildren(current,workInProgress,nextChildren,renderLanes);workInProgress.memoizedState\x3dshouldUpdate.state;hasContext\x26\x26invalidateContextProvider(workInProgress,Component,!0);return workInProgress.child}function pushHostRootContext(workInProgress){var root\x3dworkInProgress.stateNode;root.pendingContext?pushTopLevelContextObject(workInProgress,\nroot.pendingContext,root.pendingContext!\x3d\x3droot.context):root.context\x26\x26pushTopLevelContextObject(workInProgress,root.context,!1);pushHostContainer(workInProgress,root.containerInfo)}function mountHostRootWithoutHydrating(current,workInProgress,nextChildren,renderLanes,recoverableError){resetHydrationState();queueHydrationError(recoverableError);workInProgress.flags|\x3d256;reconcileChildren(current,workInProgress,nextChildren,renderLanes);return workInProgress.child}function validateFunctionComponentInDev(workInProgress,\nComponent){Component\x26\x26Component.childContextTypes\x26\x26error$jscomp$0(\x22%s(...): childContextTypes cannot be defined on a function component.\x22,Component.displayName||Component.name||\x22Component\x22);if(null!\x3d\x3dworkInProgress.ref){var info\x3d\x22\x22,ownerName\x3dgetCurrentFiberOwnerNameInDevOrNull();ownerName\x26\x26(info+\x3d\x22\\n\\nCheck the render method of `\x22+ownerName+\x22`.\x22);ownerName\x3downerName||\x22\x22;(workInProgress\x3dworkInProgress._debugSource)\x26\x26(ownerName\x3dworkInProgress.fileName+\x22:\x22+workInProgress.lineNumber);didWarnAboutFunctionRefs[ownerName]||\n(didWarnAboutFunctionRefs[ownerName]\x3d!0,error$jscomp$0(\x22Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s\x22,info))}\x22function\x22\x3d\x3d\x3dtypeof Component.getDerivedStateFromProps\x26\x26(info\x3dgetComponentNameFromType(Component)||\x22Unknown\x22,didWarnAboutGetDerivedStateOnFunctionComponent[info]||(error$jscomp$0(\x22%s: Function components do not support getDerivedStateFromProps.\x22,info),didWarnAboutGetDerivedStateOnFunctionComponent[info]\x3d!0));\x22object\x22\x3d\x3d\x3d\ntypeof Component.contextType\x26\x26null!\x3d\x3dComponent.contextType\x26\x26(Component\x3dgetComponentNameFromType(Component)||\x22Unknown\x22,didWarnAboutContextTypeOnFunctionComponent[Component]||(error$jscomp$0(\x22%s: Function components do not support contextType.\x22,Component),didWarnAboutContextTypeOnFunctionComponent[Component]\x3d!0))}function mountSuspenseOffscreenState(renderLanes){return{baseLanes:renderLanes,cachePool:null,transitions:null}}function updateSuspenseComponent(current,workInProgress,renderLanes){var nextProps\x3d\nworkInProgress.pendingProps;shouldSuspendImpl(workInProgress)\x26\x26(workInProgress.flags|\x3d128);var suspenseContext\x3dsuspenseStackCursor.current,showFallback\x3d!1,didSuspend\x3d0!\x3d\x3d(workInProgress.flags\x26128),JSCompiler_temp;(JSCompiler_temp\x3ddidSuspend)||(JSCompiler_temp\x3dnull!\x3d\x3dcurrent\x26\x26null\x3d\x3d\x3dcurrent.memoizedState?!1:0!\x3d\x3d(suspenseContext\x26ForceSuspenseFallback));if(JSCompiler_temp)showFallback\x3d!0,workInProgress.flags\x26\x3d-129;else if(null\x3d\x3d\x3dcurrent||null!\x3d\x3dcurrent.memoizedState)suspenseContext|\x3dInvisibleParentSuspenseContext;\nsuspenseContext\x26\x3dSubtreeSuspenseContextMask;push(suspenseStackCursor,suspenseContext,workInProgress);if(null\x3d\x3d\x3dcurrent){tryToClaimNextHydratableInstance(workInProgress);current\x3dworkInProgress.memoizedState;if(null!\x3d\x3dcurrent\x26\x26(current\x3dcurrent.dehydrated,null!\x3d\x3dcurrent))return 0\x3d\x3d\x3d(workInProgress.mode\x261)?(error$jscomp$0(\x22Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOMClient.hydrateRoot(container, \\x3cApp /\\x3e).render(element) or remove the Suspense components from the server rendered components.\x22),\nworkInProgress.lanes\x3dSyncLane):current.data\x3d\x3d\x3dSUSPENSE_FALLBACK_START_DATA?workInProgress.lanes\x3dDefaultHydrationLane:workInProgress.lanes\x3dOffscreenLane,null;didSuspend\x3dnextProps.children;current\x3dnextProps.fallback;return showFallback?(nextProps\x3dworkInProgress.mode,showFallback\x3dworkInProgress.child,didSuspend\x3d{mode:\x22hidden\x22,children:didSuspend},0\x3d\x3d\x3d(nextProps\x261)\x26\x26null!\x3d\x3dshowFallback?(showFallback.childLanes\x3d0,showFallback.pendingProps\x3ddidSuspend,workInProgress.mode\x262\x26\x26(showFallback.actualDuration\x3d\n0,showFallback.actualStartTime\x3d-1,showFallback.selfBaseDuration\x3d0,showFallback.treeBaseDuration\x3d0)):showFallback\x3dcreateFiberFromOffscreen(didSuspend,nextProps,0,null),current\x3dcreateFiberFromFragment(current,nextProps,renderLanes,null),showFallback.return\x3dworkInProgress,current.return\x3dworkInProgress,showFallback.sibling\x3dcurrent,workInProgress.child\x3dshowFallback,workInProgress.child.memoizedState\x3dmountSuspenseOffscreenState(renderLanes),workInProgress.memoizedState\x3dSUSPENDED_MARKER,current):mountSuspensePrimaryChildren(workInProgress,\ndidSuspend)}suspenseContext\x3dcurrent.memoizedState;if(null!\x3d\x3dsuspenseContext\x26\x26(JSCompiler_temp\x3dsuspenseContext.dehydrated,null!\x3d\x3dJSCompiler_temp))return updateDehydratedSuspenseComponent(current,workInProgress,didSuspend,nextProps,JSCompiler_temp,suspenseContext,renderLanes);if(showFallback){showFallback\x3dnextProps.fallback;didSuspend\x3dworkInProgress.mode;suspenseContext\x3dcurrent.child;JSCompiler_temp\x3dsuspenseContext.sibling;var primaryChildProps\x3d{mode:\x22hidden\x22,children:nextProps.children};0\x3d\x3d\x3d(didSuspend\x26\n1)\x26\x26workInProgress.child!\x3d\x3dsuspenseContext?(nextProps\x3dworkInProgress.child,nextProps.childLanes\x3d0,nextProps.pendingProps\x3dprimaryChildProps,workInProgress.mode\x262\x26\x26(nextProps.actualDuration\x3d0,nextProps.actualStartTime\x3d-1,nextProps.selfBaseDuration\x3dsuspenseContext.selfBaseDuration,nextProps.treeBaseDuration\x3dsuspenseContext.treeBaseDuration),workInProgress.deletions\x3dnull):(nextProps\x3dcreateWorkInProgress(suspenseContext,primaryChildProps),nextProps.subtreeFlags\x3dsuspenseContext.subtreeFlags\x2614680064);null!\x3d\x3d\nJSCompiler_temp?showFallback\x3dcreateWorkInProgress(JSCompiler_temp,showFallback):(showFallback\x3dcreateFiberFromFragment(showFallback,didSuspend,renderLanes,null),showFallback.flags|\x3d2);showFallback.return\x3dworkInProgress;nextProps.return\x3dworkInProgress;nextProps.sibling\x3dshowFallback;workInProgress.child\x3dnextProps;nextProps\x3dshowFallback;showFallback\x3dworkInProgress.child;didSuspend\x3dcurrent.child.memoizedState;didSuspend\x3dnull\x3d\x3d\x3ddidSuspend?mountSuspenseOffscreenState(renderLanes):{baseLanes:didSuspend.baseLanes|\nrenderLanes,cachePool:null,transitions:didSuspend.transitions};showFallback.memoizedState\x3ddidSuspend;showFallback.childLanes\x3dcurrent.childLanes\x26~renderLanes;workInProgress.memoizedState\x3dSUSPENDED_MARKER;return nextProps}showFallback\x3dcurrent.child;current\x3dshowFallback.sibling;nextProps\x3dcreateWorkInProgress(showFallback,{mode:\x22visible\x22,children:nextProps.children});0\x3d\x3d\x3d(workInProgress.mode\x261)\x26\x26(nextProps.lanes\x3drenderLanes);nextProps.return\x3dworkInProgress;nextProps.sibling\x3dnull;null!\x3d\x3dcurrent\x26\x26(renderLanes\x3d\nworkInProgress.deletions,null\x3d\x3d\x3drenderLanes?(workInProgress.deletions\x3d[current],workInProgress.flags|\x3d16):renderLanes.push(current));workInProgress.child\x3dnextProps;workInProgress.memoizedState\x3dnull;return nextProps}function mountSuspensePrimaryChildren(workInProgress,primaryChildren,renderLanes){primaryChildren\x3dcreateFiberFromOffscreen({mode:\x22visible\x22,children:primaryChildren},workInProgress.mode,0,null);primaryChildren.return\x3dworkInProgress;return workInProgress.child\x3dprimaryChildren}function retrySuspenseComponentWithoutHydrating(current,\nworkInProgress,renderLanes,recoverableError){null!\x3d\x3drecoverableError\x26\x26queueHydrationError(recoverableError);reconcileChildFibers(workInProgress,current.child,null,renderLanes);current\x3dmountSuspensePrimaryChildren(workInProgress,workInProgress.pendingProps.children);current.flags|\x3d2;workInProgress.memoizedState\x3dnull;return current}function updateDehydratedSuspenseComponent(current,workInProgress,didSuspend,nextProps,suspenseInstance,suspenseState,renderLanes){if(didSuspend){if(workInProgress.flags\x26\n256)return workInProgress.flags\x26\x3d-257,nextProps\x3dcreateCapturedValue(Error(\x22There was an error while hydrating this Suspense boundary. Switched to client rendering.\x22)),retrySuspenseComponentWithoutHydrating(current,workInProgress,renderLanes,nextProps);if(null!\x3d\x3dworkInProgress.memoizedState)return workInProgress.child\x3dcurrent.child,workInProgress.flags|\x3d128,null;suspenseState\x3dnextProps.fallback;suspenseInstance\x3dworkInProgress.mode;nextProps\x3dcreateFiberFromOffscreen({mode:\x22visible\x22,children:nextProps.children},\nsuspenseInstance,0,null);suspenseState\x3dcreateFiberFromFragment(suspenseState,suspenseInstance,renderLanes,null);suspenseState.flags|\x3d2;nextProps.return\x3dworkInProgress;suspenseState.return\x3dworkInProgress;nextProps.sibling\x3dsuspenseState;workInProgress.child\x3dnextProps;0!\x3d\x3d(workInProgress.mode\x261)\x26\x26reconcileChildFibers(workInProgress,current.child,null,renderLanes);workInProgress.child.memoizedState\x3dmountSuspenseOffscreenState(renderLanes);workInProgress.memoizedState\x3dSUSPENDED_MARKER;return suspenseState}isHydrating\x26\x26\nerror$jscomp$0(\x22We should not be hydrating here. This is a bug in React. Please file a bug.\x22);if(0\x3d\x3d\x3d(workInProgress.mode\x261))return retrySuspenseComponentWithoutHydrating(current,workInProgress,renderLanes,null);if(suspenseInstance.data\x3d\x3d\x3dSUSPENSE_FALLBACK_START_DATA){nextProps\x3dsuspenseInstance.nextSibling\x26\x26suspenseInstance.nextSibling.dataset;if(nextProps){var digest\x3dnextProps.dgst;var message\x3dnextProps.msg;var stack\x3dnextProps.stck}nextProps\x3dmessage;nextProps\x3dcreateCapturedValue(nextProps?Error(nextProps):\nError(\x22The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\x22),digest,stack);return retrySuspenseComponentWithoutHydrating(current,workInProgress,renderLanes,nextProps)}digest\x3d0!\x3d\x3d(renderLanes\x26current.childLanes);if(didReceiveUpdate||digest){nextProps\x3dworkInProgressRoot;if(null!\x3d\x3dnextProps){switch(renderLanes\x26-renderLanes){case InputContinuousLane:suspenseInstance\x3dInputContinuousHydrationLane;break;case DefaultLane:suspenseInstance\x3d\nDefaultHydrationLane;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:suspenseInstance\x3dTransitionHydrationLane;break;case IdleLane:suspenseInstance\x3dIdleHydrationLane;break;default:suspenseInstance\x3d0}suspenseInstance\x3d0!\x3d\x3d(suspenseInstance\x26(nextProps.suspendedLanes|renderLanes))?0:suspenseInstance;0!\x3d\x3dsuspenseInstance\x26\x26\nsuspenseInstance!\x3d\x3dsuspenseState.retryLane\x26\x26(suspenseState.retryLane\x3dsuspenseInstance,markUpdateLaneFromFiberToRoot(current,suspenseInstance),scheduleUpdateOnFiber(nextProps,current,suspenseInstance,-1))}renderDidSuspendDelayIfPossible();nextProps\x3dcreateCapturedValue(Error(\x22This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition.\x22));return retrySuspenseComponentWithoutHydrating(current,\nworkInProgress,renderLanes,nextProps)}if(suspenseInstance.data\x3d\x3d\x3dSUSPENSE_PENDING_START_DATA)return workInProgress.flags|\x3d128,workInProgress.child\x3dcurrent.child,workInProgress\x3dretryDehydratedSuspenseBoundary.bind(null,current),suspenseInstance._reactRetry\x3dworkInProgress,null;current\x3dsuspenseState.treeContext;nextHydratableInstance\x3dgetNextHydratable(suspenseInstance.nextSibling);hydrationParentFiber\x3dworkInProgress;isHydrating\x3d!0;hydrationErrors\x3dnull;didSuspendOrErrorDEV\x3d!1;null!\x3d\x3dcurrent\x26\x26(warnIfNotHydrating(),\nidStack[idStackIndex++]\x3dtreeContextId,idStack[idStackIndex++]\x3dtreeContextOverflow,idStack[idStackIndex++]\x3dtreeContextProvider,treeContextId\x3dcurrent.id,treeContextOverflow\x3dcurrent.overflow,treeContextProvider\x3dworkInProgress);workInProgress\x3dmountSuspensePrimaryChildren(workInProgress,nextProps.children);workInProgress.flags|\x3d4096;return workInProgress}function scheduleSuspenseWorkOnFiber(fiber,renderLanes,propagationRoot){fiber.lanes|\x3drenderLanes;var alternate\x3dfiber.alternate;null!\x3d\x3dalternate\x26\x26(alternate.lanes|\x3d\nrenderLanes);scheduleContextWorkOnParentPath(fiber.return,renderLanes,propagationRoot)}function validateSuspenseListNestedChild(childSlot,index){var isAnArray\x3disArrayImpl(childSlot);childSlot\x3d!isAnArray\x26\x26\x22function\x22\x3d\x3d\x3dtypeof getIteratorFn(childSlot);return isAnArray||childSlot?(isAnArray\x3disAnArray?\x22array\x22:\x22iterable\x22,error$jscomp$0(\x22A nested %s was passed to row #%s in \\x3cSuspenseList /\\x3e. Wrap it in an additional SuspenseList to configure its revealOrder: \\x3cSuspenseList revealOrder\\x3d...\\x3e ... \\x3cSuspenseList revealOrder\\x3d...\\x3e{%s}\\x3c/SuspenseList\\x3e ... \\x3c/SuspenseList\\x3e\x22,\nisAnArray,index,isAnArray),!1):!0}function initSuspenseListRenderState(workInProgress,isBackwards,tail,lastContentRow,tailMode){var renderState\x3dworkInProgress.memoizedState;null\x3d\x3d\x3drenderState?workInProgress.memoizedState\x3d{isBackwards,rendering:null,renderingStartTime:0,last:lastContentRow,tail,tailMode}:(renderState.isBackwards\x3disBackwards,renderState.rendering\x3dnull,renderState.renderingStartTime\x3d0,renderState.last\x3dlastContentRow,renderState.tail\x3dtail,renderState.tailMode\x3dtailMode)}function updateSuspenseListComponent(current,\nworkInProgress,renderLanes){var nextProps\x3dworkInProgress.pendingProps,revealOrder\x3dnextProps.revealOrder,tailMode\x3dnextProps.tail;nextProps\x3dnextProps.children;if(void 0!\x3d\x3drevealOrder\x26\x26\x22forwards\x22!\x3d\x3drevealOrder\x26\x26\x22backwards\x22!\x3d\x3drevealOrder\x26\x26\x22together\x22!\x3d\x3drevealOrder\x26\x26!didWarnAboutRevealOrder[revealOrder])if(didWarnAboutRevealOrder[revealOrder]\x3d!0,\x22string\x22\x3d\x3d\x3dtypeof revealOrder)switch(revealOrder.toLowerCase()){case \x22together\x22:case \x22forwards\x22:case \x22backwards\x22:error$jscomp$0(\x27\x22%s\x22 is not a valid value for revealOrder on \\x3cSuspenseList /\\x3e. Use lowercase \x22%s\x22 instead.\x27,\nrevealOrder,revealOrder.toLowerCase());break;case \x22forward\x22:case \x22backward\x22:error$jscomp$0(\x27\x22%s\x22 is not a valid value for revealOrder on \\x3cSuspenseList /\\x3e. React uses the -s suffix in the spelling. Use \x22%ss\x22 instead.\x27,revealOrder,revealOrder.toLowerCase());break;default:error$jscomp$0(\x27\x22%s\x22 is not a supported revealOrder on \\x3cSuspenseList /\\x3e. Did you mean \x22together\x22, \x22forwards\x22 or \x22backwards\x22?\x27,revealOrder)}else error$jscomp$0(\x27%s is not a supported value for revealOrder on \\x3cSuspenseList /\\x3e. Did you mean \x22together\x22, \x22forwards\x22 or \x22backwards\x22?\x27,\nrevealOrder);void 0\x3d\x3d\x3dtailMode||didWarnAboutTailOptions[tailMode]||(\x22collapsed\x22!\x3d\x3dtailMode\x26\x26\x22hidden\x22!\x3d\x3dtailMode?(didWarnAboutTailOptions[tailMode]\x3d!0,error$jscomp$0(\x27\x22%s\x22 is not a supported value for tail on \\x3cSuspenseList /\\x3e. Did you mean \x22collapsed\x22 or \x22hidden\x22?\x27,tailMode)):\x22forwards\x22!\x3d\x3drevealOrder\x26\x26\x22backwards\x22!\x3d\x3drevealOrder\x26\x26(didWarnAboutTailOptions[tailMode]\x3d!0,error$jscomp$0(\x27\\x3cSuspenseList tail\\x3d\x22%s\x22 /\\x3e is only valid if revealOrder is \x22forwards\x22 or \x22backwards\x22. Did you mean to specify revealOrder\\x3d\x22forwards\x22?\x27,\ntailMode)));a:if((\x22forwards\x22\x3d\x3d\x3drevealOrder||\x22backwards\x22\x3d\x3d\x3drevealOrder)\x26\x26void 0!\x3d\x3dnextProps\x26\x26null!\x3d\x3dnextProps\x26\x26!1!\x3d\x3dnextProps)if(isArrayImpl(nextProps))for(var i\x3d0;i\x3cnextProps.length;i++){if(!validateSuspenseListNestedChild(nextProps[i],i))break a}else if(i\x3dgetIteratorFn(nextProps),\x22function\x22\x3d\x3d\x3dtypeof i){if(i\x3di.call(nextProps))for(var step\x3di.next(),_i\x3d0;!step.done;step\x3di.next()){if(!validateSuspenseListNestedChild(step.value,_i))break a;_i++}}else error$jscomp$0(\x27A single row was passed to a \\x3cSuspenseList revealOrder\\x3d\x22%s\x22 /\\x3e. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?\x27,\nrevealOrder);reconcileChildren(current,workInProgress,nextProps,renderLanes);nextProps\x3dsuspenseStackCursor.current;if(0!\x3d\x3d(nextProps\x26ForceSuspenseFallback))nextProps\x3dnextProps\x26SubtreeSuspenseContextMask|ForceSuspenseFallback,workInProgress.flags|\x3d128;else{if(null!\x3d\x3dcurrent\x26\x260!\x3d\x3d(current.flags\x26128))a:for(current\x3dworkInProgress.child;null!\x3d\x3dcurrent;){if(13\x3d\x3d\x3dcurrent.tag)null!\x3d\x3dcurrent.memoizedState\x26\x26scheduleSuspenseWorkOnFiber(current,renderLanes,workInProgress);else if(19\x3d\x3d\x3dcurrent.tag)scheduleSuspenseWorkOnFiber(current,\nrenderLanes,workInProgress);else if(null!\x3d\x3dcurrent.child){current.child.return\x3dcurrent;current\x3dcurrent.child;continue}if(current\x3d\x3d\x3dworkInProgress)break a;for(;null\x3d\x3d\x3dcurrent.sibling;){if(null\x3d\x3d\x3dcurrent.return||current.return\x3d\x3d\x3dworkInProgress)break a;current\x3dcurrent.return}current.sibling.return\x3dcurrent.return;current\x3dcurrent.sibling}nextProps\x26\x3dSubtreeSuspenseContextMask}push(suspenseStackCursor,nextProps,workInProgress);if(0\x3d\x3d\x3d(workInProgress.mode\x261))workInProgress.memoizedState\x3dnull;else switch(revealOrder){case \x22forwards\x22:renderLanes\x3d\nworkInProgress.child;for(revealOrder\x3dnull;null!\x3d\x3drenderLanes;)current\x3drenderLanes.alternate,null!\x3d\x3dcurrent\x26\x26null\x3d\x3d\x3dfindFirstSuspended(current)\x26\x26(revealOrder\x3drenderLanes),renderLanes\x3drenderLanes.sibling;renderLanes\x3drevealOrder;null\x3d\x3d\x3drenderLanes?(revealOrder\x3dworkInProgress.child,workInProgress.child\x3dnull):(revealOrder\x3drenderLanes.sibling,renderLanes.sibling\x3dnull);initSuspenseListRenderState(workInProgress,!1,revealOrder,renderLanes,tailMode);break;case \x22backwards\x22:renderLanes\x3dnull;revealOrder\x3dworkInProgress.child;\nfor(workInProgress.child\x3dnull;null!\x3d\x3drevealOrder;){current\x3drevealOrder.alternate;if(null!\x3d\x3dcurrent\x26\x26null\x3d\x3d\x3dfindFirstSuspended(current)){workInProgress.child\x3drevealOrder;break}current\x3drevealOrder.sibling;revealOrder.sibling\x3drenderLanes;renderLanes\x3drevealOrder;revealOrder\x3dcurrent}initSuspenseListRenderState(workInProgress,!0,renderLanes,null,tailMode);break;case \x22together\x22:initSuspenseListRenderState(workInProgress,!1,null,null,void 0);break;default:workInProgress.memoizedState\x3dnull}return workInProgress.child}\nfunction resetSuspendedCurrentOnMountInLegacyMode(current,workInProgress){0\x3d\x3d\x3d(workInProgress.mode\x261)\x26\x26null!\x3d\x3dcurrent\x26\x26(current.alternate\x3dnull,workInProgress.alternate\x3dnull,workInProgress.flags|\x3d2)}function bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes){null!\x3d\x3dcurrent\x26\x26(workInProgress.dependencies\x3dcurrent.dependencies);profilerStartTime\x3d-1;workInProgressRootSkippedLanes|\x3dworkInProgress.lanes;if(0\x3d\x3d\x3d(renderLanes\x26workInProgress.childLanes))return null;if(null!\x3d\x3dcurrent\x26\x26workInProgress.child!\x3d\x3d\ncurrent.child)throw Error(\x22Resuming work not yet implemented.\x22);if(null!\x3d\x3dworkInProgress.child){current\x3dworkInProgress.child;renderLanes\x3dcreateWorkInProgress(current,current.pendingProps);workInProgress.child\x3drenderLanes;for(renderLanes.return\x3dworkInProgress;null!\x3d\x3dcurrent.sibling;)current\x3dcurrent.sibling,renderLanes\x3drenderLanes.sibling\x3dcreateWorkInProgress(current,current.pendingProps),renderLanes.return\x3dworkInProgress;renderLanes.sibling\x3dnull}return workInProgress.child}function attemptEarlyBailoutIfNoScheduledUpdate(current,\nworkInProgress,renderLanes){switch(workInProgress.tag){case 3:pushHostRootContext(workInProgress);resetHydrationState();break;case 5:pushHostContext(workInProgress);break;case 1:isContextProvider(workInProgress.type)\x26\x26pushContextProvider(workInProgress);break;case 4:pushHostContainer(workInProgress,workInProgress.stateNode.containerInfo);break;case 10:pushProvider(workInProgress,workInProgress.type._context,workInProgress.memoizedProps.value);break;case 12:0!\x3d\x3d(renderLanes\x26workInProgress.childLanes)\x26\x26\n(workInProgress.flags|\x3d4);var stateNode\x3dworkInProgress.stateNode;stateNode.effectDuration\x3d0;stateNode.passiveEffectDuration\x3d0;break;case 13:stateNode\x3dworkInProgress.memoizedState;if(null!\x3d\x3dstateNode){if(null!\x3d\x3dstateNode.dehydrated)return push(suspenseStackCursor,suspenseStackCursor.current\x26SubtreeSuspenseContextMask,workInProgress),workInProgress.flags|\x3d128,null;if(0!\x3d\x3d(renderLanes\x26workInProgress.child.childLanes))return updateSuspenseComponent(current,workInProgress,renderLanes);push(suspenseStackCursor,\nsuspenseStackCursor.current\x26SubtreeSuspenseContextMask,workInProgress);current\x3dbailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);return null!\x3d\x3dcurrent?current.sibling:null}push(suspenseStackCursor,suspenseStackCursor.current\x26SubtreeSuspenseContextMask,workInProgress);break;case 19:stateNode\x3d0!\x3d\x3d(renderLanes\x26workInProgress.childLanes);if(0!\x3d\x3d(current.flags\x26128)){if(stateNode)return updateSuspenseListComponent(current,workInProgress,renderLanes);workInProgress.flags|\x3d128}var renderState\x3d\nworkInProgress.memoizedState;null!\x3d\x3drenderState\x26\x26(renderState.rendering\x3dnull,renderState.tail\x3dnull,renderState.lastEffect\x3dnull);push(suspenseStackCursor,suspenseStackCursor.current,workInProgress);if(stateNode)break;else return null;case 22:case 23:return workInProgress.lanes\x3d0,updateOffscreenComponent(current,workInProgress,renderLanes)}return bailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes)}function beginWork(current,workInProgress,renderLanes){if(workInProgress._debugNeedsRemount\x26\x26\nnull!\x3d\x3dcurrent){renderLanes\x3dcreateFiberFromTypeAndProps(workInProgress.type,workInProgress.key,workInProgress.pendingProps,workInProgress._debugOwner||null,workInProgress.mode,workInProgress.lanes);var returnFiber\x3dworkInProgress.return;if(null\x3d\x3d\x3dreturnFiber)throw Error(\x22Cannot swap the root fiber.\x22);current.alternate\x3dnull;workInProgress.alternate\x3dnull;renderLanes.index\x3dworkInProgress.index;renderLanes.sibling\x3dworkInProgress.sibling;renderLanes.return\x3dworkInProgress.return;renderLanes.ref\x3dworkInProgress.ref;\nif(workInProgress\x3d\x3d\x3dreturnFiber.child)returnFiber.child\x3drenderLanes;else{var prevSibling\x3dreturnFiber.child;if(null\x3d\x3d\x3dprevSibling)throw Error(\x22Expected parent to have a child.\x22);for(;prevSibling.sibling!\x3d\x3dworkInProgress;)if(prevSibling\x3dprevSibling.sibling,null\x3d\x3d\x3dprevSibling)throw Error(\x22Expected to find the previous sibling.\x22);prevSibling.sibling\x3drenderLanes}workInProgress\x3dreturnFiber.deletions;null\x3d\x3d\x3dworkInProgress?(returnFiber.deletions\x3d[current],returnFiber.flags|\x3d16):workInProgress.push(current);\nrenderLanes.flags|\x3d2;return renderLanes}if(null!\x3d\x3dcurrent)if(current.memoizedProps!\x3d\x3dworkInProgress.pendingProps||didPerformWorkStackCursor.current||workInProgress.type!\x3d\x3dcurrent.type)didReceiveUpdate\x3d!0;else{if(0\x3d\x3d\x3d(current.lanes\x26renderLanes)\x26\x260\x3d\x3d\x3d(workInProgress.flags\x26128))return didReceiveUpdate\x3d!1,attemptEarlyBailoutIfNoScheduledUpdate(current,workInProgress,renderLanes);didReceiveUpdate\x3d0!\x3d\x3d(current.flags\x26131072)?!0:!1}else{didReceiveUpdate\x3d!1;if(returnFiber\x3disHydrating)warnIfNotHydrating(),\nreturnFiber\x3d0!\x3d\x3d(workInProgress.flags\x261048576);returnFiber\x26\x26(returnFiber\x3dworkInProgress.index,warnIfNotHydrating(),pushTreeId(workInProgress,treeForkCount,returnFiber))}workInProgress.lanes\x3d0;switch(workInProgress.tag){case 2:returnFiber\x3dworkInProgress.type;resetSuspendedCurrentOnMountInLegacyMode(current,workInProgress);current\x3dworkInProgress.pendingProps;var context\x3dgetMaskedContext(workInProgress,contextStackCursor.current);prepareToReadContext(workInProgress,renderLanes);markComponentRenderStarted(workInProgress);\nreturnFiber.prototype\x26\x26\x22function\x22\x3d\x3d\x3dtypeof returnFiber.prototype.render\x26\x26(prevSibling\x3dgetComponentNameFromType(returnFiber)||\x22Unknown\x22,didWarnAboutBadClass[prevSibling]||(error$jscomp$0(\x22The \\x3c%s /\\x3e component appears to have a render method, but doesn\x27t extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.\x22,prevSibling,prevSibling),didWarnAboutBadClass[prevSibling]\x3d!0));workInProgress.mode\x268\x26\x26ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress,\nnull);isRendering\x3d!0;ReactCurrentOwner$1.current\x3dworkInProgress;prevSibling\x3drenderWithHooks(null,workInProgress,returnFiber,current,context,renderLanes);var hasId\x3dcheckDidRenderIdHook();isRendering\x3d!1;markComponentRenderStopped();workInProgress.flags|\x3d1;if(\x22object\x22\x3d\x3d\x3dtypeof prevSibling\x26\x26null!\x3d\x3dprevSibling\x26\x26\x22function\x22\x3d\x3d\x3dtypeof prevSibling.render\x26\x26void 0\x3d\x3d\x3dprevSibling.$$typeof){var _componentName\x3dgetComponentNameFromType(returnFiber)||\x22Unknown\x22;didWarnAboutModulePatternComponent[_componentName]||(error$jscomp$0(\x22The \\x3c%s /\\x3e component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can\x27t use a class try assigning the prototype on the function as a workaround. `%s.prototype \\x3d React.Component.prototype`. Don\x27t use an arrow function since it cannot be called with `new` by React.\x22,\n_componentName,_componentName,_componentName),didWarnAboutModulePatternComponent[_componentName]\x3d!0)}if(\x22object\x22\x3d\x3d\x3dtypeof prevSibling\x26\x26null!\x3d\x3dprevSibling\x26\x26\x22function\x22\x3d\x3d\x3dtypeof prevSibling.render\x26\x26void 0\x3d\x3d\x3dprevSibling.$$typeof)context\x3dgetComponentNameFromType(returnFiber)||\x22Unknown\x22,didWarnAboutModulePatternComponent[context]||(error$jscomp$0(\x22The \\x3c%s /\\x3e component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can\x27t use a class try assigning the prototype on the function as a workaround. `%s.prototype \\x3d React.Component.prototype`. Don\x27t use an arrow function since it cannot be called with `new` by React.\x22,\ncontext,context,context),didWarnAboutModulePatternComponent[context]\x3d!0),workInProgress.tag\x3d1,workInProgress.memoizedState\x3dnull,workInProgress.updateQueue\x3dnull,isContextProvider(returnFiber)?(context\x3d!0,pushContextProvider(workInProgress)):context\x3d!1,workInProgress.memoizedState\x3dnull!\x3d\x3dprevSibling.state\x26\x26void 0!\x3d\x3dprevSibling.state?prevSibling.state:null,initializeUpdateQueue(workInProgress),prevSibling.updater\x3dclassComponentUpdater,workInProgress.stateNode\x3dprevSibling,prevSibling._reactInternals\x3d\nworkInProgress,prevSibling._reactInternalInstance\x3dfakeInternalInstance,mountClassInstance(workInProgress,returnFiber,current,renderLanes),workInProgress\x3dfinishClassComponent(null,workInProgress,returnFiber,!0,context,renderLanes);else{workInProgress.tag\x3d0;if(workInProgress.mode\x268){setIsStrictModeForDevtools(!0);try{prevSibling\x3drenderWithHooks(null,workInProgress,returnFiber,current,context,renderLanes),hasId\x3dcheckDidRenderIdHook()}finally{setIsStrictModeForDevtools(!1)}}isHydrating\x26\x26hasId\x26\x26pushMaterializedTreeId(workInProgress);\nreconcileChildren(null,workInProgress,prevSibling,renderLanes);validateFunctionComponentInDev(workInProgress,returnFiber);workInProgress\x3dworkInProgress.child}return workInProgress;case 16:a:{prevSibling\x3dworkInProgress.elementType;resetSuspendedCurrentOnMountInLegacyMode(current,workInProgress);returnFiber\x3dworkInProgress.pendingProps;current\x3dprevSibling._init;current\x3dcurrent(prevSibling._payload);workInProgress.type\x3dcurrent;prevSibling\x3dworkInProgress.tag\x3dresolveLazyComponentTag(current);returnFiber\x3d\nresolveDefaultProps(current,returnFiber);switch(prevSibling){case 0:validateFunctionComponentInDev(workInProgress,current);workInProgress.type\x3dcurrent\x3dresolveFunctionForHotReloading(current);workInProgress\x3dupdateFunctionComponent(null,workInProgress,current,returnFiber,renderLanes);break a;case 1:workInProgress.type\x3dcurrent\x3dresolveFunctionForHotReloading(current);workInProgress\x3dupdateClassComponent(null,workInProgress,current,returnFiber,renderLanes);break a;case 11:workInProgress.type\x3dcurrent\x3dresolveForwardRefForHotReloading(current);\nworkInProgress\x3dupdateForwardRef(null,workInProgress,current,returnFiber,renderLanes);break a;case 14:workInProgress.type!\x3d\x3dworkInProgress.elementType\x26\x26(prevSibling\x3dcurrent.propTypes)\x26\x26checkPropTypes(prevSibling,returnFiber,\x22prop\x22,getComponentNameFromType(current));workInProgress\x3dupdateMemoComponent(null,workInProgress,current,resolveDefaultProps(current.type,returnFiber),renderLanes);break a}workInProgress\x3d\x22\x22;null!\x3d\x3dcurrent\x26\x26\x22object\x22\x3d\x3d\x3dtypeof current\x26\x26current.$$typeof\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26(workInProgress\x3d\n\x22 Did you wrap a component in React.lazy() more than once?\x22);throw Error(\x22Element type is invalid. Received a promise that resolves to: \x22+current+\x22. Lazy element type must resolve to a class or function.\x22+workInProgress);}return workInProgress;case 0:return returnFiber\x3dworkInProgress.type,prevSibling\x3dworkInProgress.pendingProps,prevSibling\x3dworkInProgress.elementType\x3d\x3d\x3dreturnFiber?prevSibling:resolveDefaultProps(returnFiber,prevSibling),updateFunctionComponent(current,workInProgress,returnFiber,prevSibling,\nrenderLanes);case 1:return returnFiber\x3dworkInProgress.type,prevSibling\x3dworkInProgress.pendingProps,prevSibling\x3dworkInProgress.elementType\x3d\x3d\x3dreturnFiber?prevSibling:resolveDefaultProps(returnFiber,prevSibling),updateClassComponent(current,workInProgress,returnFiber,prevSibling,renderLanes);case 3:a:{pushHostRootContext(workInProgress);if(null\x3d\x3d\x3dcurrent)throw Error(\x22Should have a current fiber. This is a bug in React.\x22);returnFiber\x3dworkInProgress.pendingProps;context\x3dworkInProgress.memoizedState;prevSibling\x3d\ncontext.element;cloneUpdateQueue(current,workInProgress);processUpdateQueue(workInProgress,returnFiber,null,renderLanes);hasId\x3dworkInProgress.memoizedState;returnFiber\x3dhasId.element;if(context.isDehydrated)if(context\x3d{element:returnFiber,isDehydrated:!1,cache:hasId.cache,pendingSuspenseBoundaries:hasId.pendingSuspenseBoundaries,transitions:hasId.transitions},workInProgress.updateQueue.baseState\x3dcontext,workInProgress.memoizedState\x3dcontext,workInProgress.flags\x26256){prevSibling\x3dcreateCapturedValueAtFiber(Error(\x22There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.\x22),\nworkInProgress);workInProgress\x3dmountHostRootWithoutHydrating(current,workInProgress,returnFiber,renderLanes,prevSibling);break a}else if(returnFiber!\x3d\x3dprevSibling){prevSibling\x3dcreateCapturedValueAtFiber(Error(\x22This root received an early update, before anything was able hydrate. Switched the entire root to client rendering.\x22),workInProgress);workInProgress\x3dmountHostRootWithoutHydrating(current,workInProgress,returnFiber,renderLanes,prevSibling);break a}else for(nextHydratableInstance\x3dgetNextHydratable(workInProgress.stateNode.containerInfo.firstChild),\nhydrationParentFiber\x3dworkInProgress,isHydrating\x3d!0,hydrationErrors\x3dnull,didSuspendOrErrorDEV\x3d!1,renderLanes\x3dmountChildFibers(workInProgress,null,returnFiber,renderLanes),workInProgress.child\x3drenderLanes;renderLanes;)renderLanes.flags\x3drenderLanes.flags\x26-3|4096,renderLanes\x3drenderLanes.sibling;else{resetHydrationState();if(returnFiber\x3d\x3d\x3dprevSibling){workInProgress\x3dbailoutOnAlreadyFinishedWork(current,workInProgress,renderLanes);break a}reconcileChildren(current,workInProgress,returnFiber,renderLanes)}workInProgress\x3d\nworkInProgress.child}return workInProgress;case 5:return pushHostContext(workInProgress),null\x3d\x3d\x3dcurrent\x26\x26tryToClaimNextHydratableInstance(workInProgress),returnFiber\x3dworkInProgress.type,prevSibling\x3dworkInProgress.pendingProps,context\x3dnull!\x3d\x3dcurrent?current.memoizedProps:null,hasId\x3dprevSibling.children,shouldSetTextContent(returnFiber,prevSibling)?hasId\x3dnull:null!\x3d\x3dcontext\x26\x26shouldSetTextContent(returnFiber,context)\x26\x26(workInProgress.flags|\x3d32),markRef(current,workInProgress),reconcileChildren(current,\nworkInProgress,hasId,renderLanes),workInProgress.child;case 6:return null\x3d\x3d\x3dcurrent\x26\x26tryToClaimNextHydratableInstance(workInProgress),null;case 13:return updateSuspenseComponent(current,workInProgress,renderLanes);case 4:return pushHostContainer(workInProgress,workInProgress.stateNode.containerInfo),returnFiber\x3dworkInProgress.pendingProps,null\x3d\x3d\x3dcurrent?workInProgress.child\x3dreconcileChildFibers(workInProgress,null,returnFiber,renderLanes):reconcileChildren(current,workInProgress,returnFiber,renderLanes),\nworkInProgress.child;case 11:return returnFiber\x3dworkInProgress.type,prevSibling\x3dworkInProgress.pendingProps,prevSibling\x3dworkInProgress.elementType\x3d\x3d\x3dreturnFiber?prevSibling:resolveDefaultProps(returnFiber,prevSibling),updateForwardRef(current,workInProgress,returnFiber,prevSibling,renderLanes);case 7:return reconcileChildren(current,workInProgress,workInProgress.pendingProps,renderLanes),workInProgress.child;case 8:return reconcileChildren(current,workInProgress,workInProgress.pendingProps.children,\nrenderLanes),workInProgress.child;case 12:return workInProgress.flags|\x3d4,returnFiber\x3dworkInProgress.stateNode,returnFiber.effectDuration\x3d0,returnFiber.passiveEffectDuration\x3d0,reconcileChildren(current,workInProgress,workInProgress.pendingProps.children,renderLanes),workInProgress.child;case 10:a:{returnFiber\x3dworkInProgress.type._context;prevSibling\x3dworkInProgress.pendingProps;context\x3dworkInProgress.memoizedProps;hasId\x3dprevSibling.value;\x22value\x22in prevSibling||hasWarnedAboutUsingNoValuePropOnContextProvider||\n(hasWarnedAboutUsingNoValuePropOnContextProvider\x3d!0,error$jscomp$0(\x22The `value` prop is required for the `\\x3cContext.Provider\\x3e`. Did you misspell it or forget to pass it?\x22));(_componentName\x3dworkInProgress.type.propTypes)\x26\x26checkPropTypes(_componentName,prevSibling,\x22prop\x22,\x22Context.Provider\x22);pushProvider(workInProgress,returnFiber,hasId);if(null!\x3d\x3dcontext)if(objectIs(context.value,hasId)){if(context.children\x3d\x3d\x3dprevSibling.children\x26\x26!didPerformWorkStackCursor.current){workInProgress\x3dbailoutOnAlreadyFinishedWork(current,\nworkInProgress,renderLanes);break a}}else for(context\x3dworkInProgress.child,null!\x3d\x3dcontext\x26\x26(context.return\x3dworkInProgress);null!\x3d\x3dcontext;){_componentName\x3dcontext.dependencies;if(null!\x3d\x3d_componentName){hasId\x3dcontext.child;for(var dependency\x3d_componentName.firstContext;null!\x3d\x3ddependency;){if(dependency.context\x3d\x3d\x3dreturnFiber){if(1\x3d\x3d\x3dcontext.tag){dependency\x3dcreateUpdate(-1,renderLanes\x26-renderLanes);dependency.tag\x3dForceUpdate;var updateQueue\x3dcontext.updateQueue;if(null!\x3d\x3dupdateQueue){updateQueue\x3dupdateQueue.shared;\nvar pending\x3dupdateQueue.pending;null\x3d\x3d\x3dpending?dependency.next\x3ddependency:(dependency.next\x3dpending.next,pending.next\x3ddependency);updateQueue.pending\x3ddependency}}context.lanes|\x3drenderLanes;dependency\x3dcontext.alternate;null!\x3d\x3ddependency\x26\x26(dependency.lanes|\x3drenderLanes);scheduleContextWorkOnParentPath(context.return,renderLanes,workInProgress);_componentName.lanes|\x3drenderLanes;break}dependency\x3ddependency.next}}else if(10\x3d\x3d\x3dcontext.tag)hasId\x3dcontext.type\x3d\x3d\x3dworkInProgress.type?null:context.child;else if(18\x3d\x3d\x3d\ncontext.tag){hasId\x3dcontext.return;if(null\x3d\x3d\x3dhasId)throw Error(\x22We just came from a parent so we must have had a parent. This is a bug in React.\x22);hasId.lanes|\x3drenderLanes;_componentName\x3dhasId.alternate;null!\x3d\x3d_componentName\x26\x26(_componentName.lanes|\x3drenderLanes);scheduleContextWorkOnParentPath(hasId,renderLanes,workInProgress);hasId\x3dcontext.sibling}else hasId\x3dcontext.child;if(null!\x3d\x3dhasId)hasId.return\x3dcontext;else for(hasId\x3dcontext;null!\x3d\x3dhasId;){if(hasId\x3d\x3d\x3dworkInProgress){hasId\x3dnull;break}context\x3d\nhasId.sibling;if(null!\x3d\x3dcontext){context.return\x3dhasId.return;hasId\x3dcontext;break}hasId\x3dhasId.return}context\x3dhasId}reconcileChildren(current,workInProgress,prevSibling.children,renderLanes);workInProgress\x3dworkInProgress.child}return workInProgress;case 9:return prevSibling\x3dworkInProgress.type,void 0\x3d\x3d\x3dprevSibling._context?prevSibling\x3d\x3d\x3dprevSibling.Consumer||hasWarnedAboutUsingContextAsConsumer||(hasWarnedAboutUsingContextAsConsumer\x3d!0,error$jscomp$0(\x22Rendering \\x3cContext\\x3e directly is not supported and will be removed in a future major release. Did you mean to render \\x3cContext.Consumer\\x3e instead?\x22)):\nprevSibling\x3dprevSibling._context,returnFiber\x3dworkInProgress.pendingProps.children,\x22function\x22!\x3d\x3dtypeof returnFiber\x26\x26error$jscomp$0(\x22A context consumer was rendered with multiple children, or a child that isn\x27t a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.\x22),prepareToReadContext(workInProgress,renderLanes),prevSibling\x3dreadContext(prevSibling),markComponentRenderStarted(workInProgress),\nReactCurrentOwner$1.current\x3dworkInProgress,isRendering\x3d!0,returnFiber\x3dreturnFiber(prevSibling),isRendering\x3d!1,markComponentRenderStopped(),workInProgress.flags|\x3d1,reconcileChildren(current,workInProgress,returnFiber,renderLanes),workInProgress.child;case 14:return returnFiber\x3dworkInProgress.type,prevSibling\x3dresolveDefaultProps(returnFiber,workInProgress.pendingProps),workInProgress.type!\x3d\x3dworkInProgress.elementType\x26\x26(context\x3dreturnFiber.propTypes)\x26\x26checkPropTypes(context,prevSibling,\x22prop\x22,getComponentNameFromType(returnFiber)),\nprevSibling\x3dresolveDefaultProps(returnFiber.type,prevSibling),updateMemoComponent(current,workInProgress,returnFiber,prevSibling,renderLanes);case 15:return updateSimpleMemoComponent(current,workInProgress,workInProgress.type,workInProgress.pendingProps,renderLanes);case 17:return returnFiber\x3dworkInProgress.type,prevSibling\x3dworkInProgress.pendingProps,prevSibling\x3dworkInProgress.elementType\x3d\x3d\x3dreturnFiber?prevSibling:resolveDefaultProps(returnFiber,prevSibling),resetSuspendedCurrentOnMountInLegacyMode(current,\nworkInProgress),workInProgress.tag\x3d1,isContextProvider(returnFiber)?(current\x3d!0,pushContextProvider(workInProgress)):current\x3d!1,prepareToReadContext(workInProgress,renderLanes),constructClassInstance(workInProgress,returnFiber,prevSibling),mountClassInstance(workInProgress,returnFiber,prevSibling,renderLanes),finishClassComponent(null,workInProgress,returnFiber,!0,current,renderLanes);case 19:return updateSuspenseListComponent(current,workInProgress,renderLanes);case 22:return updateOffscreenComponent(current,\nworkInProgress,renderLanes)}throw Error(\x22Unknown unit of work tag (\x22+workInProgress.tag+\x22). This error is likely caused by a bug in React. Please file an issue.\x22);}function cutOffTailIfNeeded(renderState,hasRenderedATailFallback){if(!isHydrating)switch(renderState.tailMode){case \x22hidden\x22:hasRenderedATailFallback\x3drenderState.tail;for(var lastTailNode\x3dnull;null!\x3d\x3dhasRenderedATailFallback;)null!\x3d\x3dhasRenderedATailFallback.alternate\x26\x26(lastTailNode\x3dhasRenderedATailFallback),hasRenderedATailFallback\x3dhasRenderedATailFallback.sibling;\nnull\x3d\x3d\x3dlastTailNode?renderState.tail\x3dnull:lastTailNode.sibling\x3dnull;break;case \x22collapsed\x22:lastTailNode\x3drenderState.tail;for(var _lastTailNode\x3dnull;null!\x3d\x3dlastTailNode;)null!\x3d\x3dlastTailNode.alternate\x26\x26(_lastTailNode\x3dlastTailNode),lastTailNode\x3dlastTailNode.sibling;null\x3d\x3d\x3d_lastTailNode?hasRenderedATailFallback||null\x3d\x3d\x3drenderState.tail?renderState.tail\x3dnull:renderState.tail.sibling\x3dnull:_lastTailNode.sibling\x3dnull}}function bubbleProperties(completedWork){var didBailout\x3dnull!\x3d\x3dcompletedWork.alternate\x26\x26\ncompletedWork.alternate.child\x3d\x3d\x3dcompletedWork.child,newChildLanes\x3d0,subtreeFlags\x3d0;if(didBailout)if(0!\x3d\x3d(completedWork.mode\x262)){for(var _treeBaseDuration\x3dcompletedWork.selfBaseDuration,_child2\x3dcompletedWork.child;null!\x3d\x3d_child2;)newChildLanes|\x3d_child2.lanes|_child2.childLanes,subtreeFlags|\x3d_child2.subtreeFlags\x2614680064,subtreeFlags|\x3d_child2.flags\x2614680064,_treeBaseDuration+\x3d_child2.treeBaseDuration,_child2\x3d_child2.sibling;completedWork.treeBaseDuration\x3d_treeBaseDuration}else for(_treeBaseDuration\x3d\ncompletedWork.child;null!\x3d\x3d_treeBaseDuration;)newChildLanes|\x3d_treeBaseDuration.lanes|_treeBaseDuration.childLanes,subtreeFlags|\x3d_treeBaseDuration.subtreeFlags\x2614680064,subtreeFlags|\x3d_treeBaseDuration.flags\x2614680064,_treeBaseDuration.return\x3dcompletedWork,_treeBaseDuration\x3d_treeBaseDuration.sibling;else if(0!\x3d\x3d(completedWork.mode\x262)){_treeBaseDuration\x3dcompletedWork.actualDuration;_child2\x3dcompletedWork.selfBaseDuration;for(var child\x3dcompletedWork.child;null!\x3d\x3dchild;)newChildLanes|\x3dchild.lanes|child.childLanes,\nsubtreeFlags|\x3dchild.subtreeFlags,subtreeFlags|\x3dchild.flags,_treeBaseDuration+\x3dchild.actualDuration,_child2+\x3dchild.treeBaseDuration,child\x3dchild.sibling;completedWork.actualDuration\x3d_treeBaseDuration;completedWork.treeBaseDuration\x3d_child2}else for(_treeBaseDuration\x3dcompletedWork.child;null!\x3d\x3d_treeBaseDuration;)newChildLanes|\x3d_treeBaseDuration.lanes|_treeBaseDuration.childLanes,subtreeFlags|\x3d_treeBaseDuration.subtreeFlags,subtreeFlags|\x3d_treeBaseDuration.flags,_treeBaseDuration.return\x3dcompletedWork,_treeBaseDuration\x3d\n_treeBaseDuration.sibling;completedWork.subtreeFlags|\x3dsubtreeFlags;completedWork.childLanes\x3dnewChildLanes;return didBailout}function completeWork(current,workInProgress,renderLanes){var newProps\x3dworkInProgress.pendingProps;popTreeContext(workInProgress);switch(workInProgress.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bubbleProperties(workInProgress),null;case 1:return isContextProvider(workInProgress.type)\x26\x26popContext(workInProgress),bubbleProperties(workInProgress),\nnull;case 3:var fiberRoot\x3dworkInProgress.stateNode;popHostContainer(workInProgress);popTopLevelContextObject(workInProgress);resetWorkInProgressVersions();fiberRoot.pendingContext\x26\x26(fiberRoot.context\x3dfiberRoot.pendingContext,fiberRoot.pendingContext\x3dnull);if(null\x3d\x3d\x3dcurrent||null\x3d\x3d\x3dcurrent.child)popHydrationState(workInProgress)?workInProgress.flags|\x3d4:null\x3d\x3d\x3dcurrent||current.memoizedState.isDehydrated\x26\x260\x3d\x3d\x3d(workInProgress.flags\x26256)||(workInProgress.flags|\x3d1024,null!\x3d\x3dhydrationErrors\x26\x26(queueRecoverableErrors(hydrationErrors),\nhydrationErrors\x3dnull));updateHostContainer(current,workInProgress);bubbleProperties(workInProgress);return null;case 5:popHostContext(workInProgress);var rootContainerInstance\x3drequiredContext(rootInstanceStackCursor.current);renderLanes\x3dworkInProgress.type;if(null!\x3d\x3dcurrent\x26\x26null!\x3dworkInProgress.stateNode)updateHostComponent$1(current,workInProgress,renderLanes,newProps,rootContainerInstance),current.ref!\x3d\x3dworkInProgress.ref\x26\x26(workInProgress.flags|\x3d512,workInProgress.flags|\x3d2097152);else{if(!newProps){if(null\x3d\x3d\x3d\nworkInProgress.stateNode)throw Error(\x22We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\x22);bubbleProperties(workInProgress);return null}var currentHostContext\x3drequiredContext(contextStackCursor$1.current);if(popHydrationState(workInProgress)){newProps\x3dworkInProgress.stateNode;renderLanes\x3dworkInProgress.type;var props\x3dworkInProgress.memoizedProps;current\x3d!didSuspendOrErrorDEV;newProps[internalInstanceKey]\x3dworkInProgress;newProps[internalPropsKey]\x3d\nprops;var parentNamespace\x3dcurrentHostContext.namespace;currentHostContext\x3d0!\x3d\x3d(workInProgress.mode\x261);var extraAttributeNames;rootContainerInstance\x3disCustomComponent(renderLanes,props);validatePropertiesInDevelopment(renderLanes,props);switch(renderLanes){case \x22dialog\x22:listenToNonDelegatedEvent(\x22cancel\x22,newProps);listenToNonDelegatedEvent(\x22close\x22,newProps);break;case \x22iframe\x22:case \x22object\x22:case \x22embed\x22:listenToNonDelegatedEvent(\x22load\x22,newProps);break;case \x22video\x22:case \x22audio\x22:for(extraAttributeNames\x3d\n0;extraAttributeNames\x3cmediaEventTypes.length;extraAttributeNames++)listenToNonDelegatedEvent(mediaEventTypes[extraAttributeNames],newProps);break;case \x22source\x22:listenToNonDelegatedEvent(\x22error\x22,newProps);break;case \x22img\x22:case \x22image\x22:case \x22link\x22:listenToNonDelegatedEvent(\x22error\x22,newProps);listenToNonDelegatedEvent(\x22load\x22,newProps);break;case \x22details\x22:listenToNonDelegatedEvent(\x22toggle\x22,newProps);break;case \x22input\x22:initWrapperState(newProps,props);listenToNonDelegatedEvent(\x22invalid\x22,newProps);break;\ncase \x22option\x22:validateProps(newProps,props);break;case \x22select\x22:initWrapperState$1(newProps,props);listenToNonDelegatedEvent(\x22invalid\x22,newProps);break;case \x22textarea\x22:initWrapperState$2(newProps,props),listenToNonDelegatedEvent(\x22invalid\x22,newProps)}assertValidProps(renderLanes,props);extraAttributeNames\x3dnew Set;for(var attributes\x3dnewProps.attributes,_i\x3d0;_i\x3cattributes.length;_i++)switch(attributes[_i].name.toLowerCase()){case \x22value\x22:break;case \x22checked\x22:break;case \x22selected\x22:break;default:extraAttributeNames.add(attributes[_i].name)}attributes\x3d\nnull;for(fiberRoot in props)if(props.hasOwnProperty(fiberRoot))if(_i\x3dprops[fiberRoot],\x22children\x22\x3d\x3d\x3dfiberRoot)\x22string\x22\x3d\x3d\x3dtypeof _i?newProps.textContent!\x3d\x3d_i\x26\x26(!0!\x3d\x3dprops.suppressHydrationWarning\x26\x26checkForUnmatchedText(newProps.textContent,_i,currentHostContext,current),attributes\x3d[\x22children\x22,_i]):\x22number\x22\x3d\x3d\x3dtypeof _i\x26\x26newProps.textContent!\x3d\x3d\x22\x22+_i\x26\x26(!0!\x3d\x3dprops.suppressHydrationWarning\x26\x26checkForUnmatchedText(newProps.textContent,_i,currentHostContext,current),attributes\x3d[\x22children\x22,\x22\x22+_i]);else if(registrationNameDependencies.hasOwnProperty(fiberRoot))null!\x3d\n_i\x26\x26(\x22function\x22!\x3d\x3dtypeof _i\x26\x26warnForInvalidEventListener(fiberRoot,_i),\x22onScroll\x22\x3d\x3d\x3dfiberRoot\x26\x26listenToNonDelegatedEvent(\x22scroll\x22,newProps));else if(current\x26\x26\x22boolean\x22\x3d\x3d\x3dtypeof rootContainerInstance){var serverValue,propertyInfo\x3dgetPropertyInfo(fiberRoot);if(!0!\x3d\x3dprops.suppressHydrationWarning\x26\x26\x22suppressContentEditableWarning\x22!\x3d\x3dfiberRoot\x26\x26\x22suppressHydrationWarning\x22!\x3d\x3dfiberRoot\x26\x26\x22value\x22!\x3d\x3dfiberRoot\x26\x26\x22checked\x22!\x3d\x3dfiberRoot\x26\x26\x22selected\x22!\x3d\x3dfiberRoot)if(\x22dangerouslySetInnerHTML\x22\x3d\x3d\x3dfiberRoot){var serverHTML\x3d\nnewProps.innerHTML;_i\x3d_i?_i.__html:void 0;null!\x3d_i\x26\x26(_i\x3dnormalizeHTML(newProps,_i),_i!\x3d\x3dserverHTML\x26\x26warnForPropDifference(fiberRoot,serverHTML,_i))}else if(\x22style\x22\x3d\x3d\x3dfiberRoot){if(extraAttributeNames.delete(fiberRoot),canDiffStyleForHydrationWarning){serverHTML\x3dvoid 0;var delimiter\x3dserverValue\x3d\x22\x22;for(serverHTML in _i)if(_i.hasOwnProperty(serverHTML)){var styleValue\x3d_i[serverHTML];null!\x3dstyleValue\x26\x26(propertyInfo\x3d0\x3d\x3d\x3dserverHTML.indexOf(\x22--\x22),serverValue+\x3ddelimiter+(propertyInfo?serverHTML:serverHTML.replace(uppercasePattern,\n\x22-$1\x22).toLowerCase().replace(msPattern,\x22-ms-\x22))+\x22:\x22,serverValue+\x3ddangerousStyleValue(serverHTML,styleValue,propertyInfo),delimiter\x3d\x22;\x22)}_i\x3dserverValue||null;serverValue\x3dnewProps.getAttribute(\x22style\x22);_i!\x3d\x3dserverValue\x26\x26warnForPropDifference(fiberRoot,serverValue,_i)}}else if(rootContainerInstance)extraAttributeNames.delete(fiberRoot.toLowerCase()),serverValue\x3dgetValueForAttribute(newProps,fiberRoot,_i),_i!\x3d\x3dserverValue\x26\x26warnForPropDifference(fiberRoot,serverValue,_i);else if(!shouldIgnoreAttribute(fiberRoot,\npropertyInfo,rootContainerInstance)\x26\x26!shouldRemoveAttribute(fiberRoot,_i,propertyInfo,rootContainerInstance)){serverHTML\x3d!1;if(null!\x3d\x3dpropertyInfo)b:if(extraAttributeNames.delete(propertyInfo.attributeName),styleValue\x3dnewProps,serverValue\x3dfiberRoot,delimiter\x3d_i,propertyInfo.mustUseProperty)serverValue\x3dstyleValue[propertyInfo.propertyName];else{propertyInfo.sanitizeURL\x26\x26sanitizeURL(\x22\x22+delimiter);var attributeName\x3dpropertyInfo.attributeName,stringValue\x3dnull;if(4\x3d\x3d\x3dpropertyInfo.type){if(styleValue.hasAttribute(attributeName)){styleValue\x3d\nstyleValue.getAttribute(attributeName);serverValue\x3d\x22\x22\x3d\x3d\x3dstyleValue?!0:shouldRemoveAttribute(serverValue,delimiter,propertyInfo,!1)?styleValue:styleValue\x3d\x3d\x3d\x22\x22+delimiter?delimiter:styleValue;break b}}else if(styleValue.hasAttribute(attributeName)){if(shouldRemoveAttribute(serverValue,delimiter,propertyInfo,!1)){serverValue\x3dstyleValue.getAttribute(attributeName);break b}if(3\x3d\x3d\x3dpropertyInfo.type){serverValue\x3ddelimiter;break b}stringValue\x3dstyleValue.getAttribute(attributeName)}serverValue\x3dshouldRemoveAttribute(serverValue,\ndelimiter,propertyInfo,!1)?null\x3d\x3d\x3dstringValue?delimiter:stringValue:stringValue\x3d\x3d\x3d\x22\x22+delimiter?delimiter:stringValue}else serverValue\x3dparentNamespace,\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dserverValue\x26\x26(serverValue\x3dgetIntrinsicNamespace(renderLanes)),\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dserverValue?extraAttributeNames.delete(fiberRoot.toLowerCase()):(serverValue\x3dfiberRoot.toLowerCase(),serverValue\x3dpossibleStandardNames.hasOwnProperty(serverValue)?possibleStandardNames[serverValue]||null:null,null!\x3d\x3dserverValue\x26\x26\nserverValue!\x3d\x3dfiberRoot\x26\x26(serverHTML\x3d!0,extraAttributeNames.delete(serverValue)),extraAttributeNames.delete(fiberRoot)),serverValue\x3dgetValueForAttribute(newProps,fiberRoot,_i);_i\x3d\x3d\x3dserverValue||serverHTML||warnForPropDifference(fiberRoot,serverValue,_i)}}current\x26\x260\x3cextraAttributeNames.size\x26\x26!0!\x3d\x3dprops.suppressHydrationWarning\x26\x26warnForExtraAttributes(extraAttributeNames);switch(renderLanes){case \x22input\x22:track(newProps);postMountWrapper(newProps,props,!0);break;case \x22textarea\x22:track(newProps);postMountWrapper$3(newProps);\nbreak;case \x22select\x22:case \x22option\x22:break;default:\x22function\x22\x3d\x3d\x3dtypeof props.onClick\x26\x26(newProps.onclick\x3dnoop)}fiberRoot\x3dattributes;workInProgress.updateQueue\x3dfiberRoot;null!\x3d\x3dfiberRoot\x26\x26(workInProgress.flags|\x3d4)}else{validateDOMNesting(renderLanes,null,currentHostContext.ancestorInfo);if(\x22string\x22\x3d\x3d\x3dtypeof newProps.children||\x22number\x22\x3d\x3d\x3dtypeof newProps.children)fiberRoot\x3d\x22\x22+newProps.children,current\x3dupdatedAncestorInfo(currentHostContext.ancestorInfo,renderLanes),validateDOMNesting(null,fiberRoot,current);\ncurrent\x3d9\x3d\x3d\x3drootContainerInstance.nodeType?rootContainerInstance:rootContainerInstance.ownerDocument;fiberRoot\x3dcurrentHostContext.namespace;\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dfiberRoot\x26\x26(fiberRoot\x3dgetIntrinsicNamespace(renderLanes));\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dfiberRoot?((parentNamespace\x3disCustomComponent(renderLanes,newProps))||renderLanes\x3d\x3d\x3drenderLanes.toLowerCase()||error$jscomp$0(\x22\\x3c%s /\\x3e is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.\x22,\nrenderLanes),\x22script\x22\x3d\x3d\x3drenderLanes?(current\x3dcurrent.createElement(\x22div\x22),current.innerHTML\x3d\x22\\x3cscript\\x3e\\x3c/script\\x3e\x22,current\x3dcurrent.removeChild(current.firstChild)):\x22string\x22\x3d\x3d\x3dtypeof newProps.is?current\x3dcurrent.createElement(renderLanes,{is:newProps.is}):(current\x3dcurrent.createElement(renderLanes),\x22select\x22\x3d\x3d\x3drenderLanes\x26\x26(currentHostContext\x3dcurrent,newProps.multiple?currentHostContext.multiple\x3d!0:newProps.size\x26\x26(currentHostContext.size\x3dnewProps.size)))):current\x3dcurrent.createElementNS(fiberRoot,\nrenderLanes);\x22http://www.w3.org/1999/xhtml\x22!\x3d\x3dfiberRoot||parentNamespace||\x22[object HTMLUnknownElement]\x22!\x3d\x3dObject.prototype.toString.call(current)||hasOwnProperty.call(warnedUnknownTags,renderLanes)||(warnedUnknownTags[renderLanes]\x3d!0,error$jscomp$0(\x22The tag \\x3c%s\\x3e is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.\x22,renderLanes));fiberRoot\x3dcurrent;fiberRoot[internalInstanceKey]\x3dworkInProgress;fiberRoot[internalPropsKey]\x3dnewProps;\nappendAllChildren(fiberRoot,workInProgress,!1,!1);workInProgress.stateNode\x3dfiberRoot;a:{current\x3disCustomComponent(renderLanes,newProps);validatePropertiesInDevelopment(renderLanes,newProps);switch(renderLanes){case \x22dialog\x22:listenToNonDelegatedEvent(\x22cancel\x22,fiberRoot);listenToNonDelegatedEvent(\x22close\x22,fiberRoot);parentNamespace\x3dnewProps;break;case \x22iframe\x22:case \x22object\x22:case \x22embed\x22:listenToNonDelegatedEvent(\x22load\x22,fiberRoot);parentNamespace\x3dnewProps;break;case \x22video\x22:case \x22audio\x22:for(parentNamespace\x3d\n0;parentNamespace\x3cmediaEventTypes.length;parentNamespace++)listenToNonDelegatedEvent(mediaEventTypes[parentNamespace],fiberRoot);parentNamespace\x3dnewProps;break;case \x22source\x22:listenToNonDelegatedEvent(\x22error\x22,fiberRoot);parentNamespace\x3dnewProps;break;case \x22img\x22:case \x22image\x22:case \x22link\x22:listenToNonDelegatedEvent(\x22error\x22,fiberRoot);listenToNonDelegatedEvent(\x22load\x22,fiberRoot);parentNamespace\x3dnewProps;break;case \x22details\x22:listenToNonDelegatedEvent(\x22toggle\x22,fiberRoot);parentNamespace\x3dnewProps;break;case \x22input\x22:initWrapperState(fiberRoot,\nnewProps);parentNamespace\x3dgetHostProps(fiberRoot,newProps);listenToNonDelegatedEvent(\x22invalid\x22,fiberRoot);break;case \x22option\x22:validateProps(fiberRoot,newProps);parentNamespace\x3dnewProps;break;case \x22select\x22:initWrapperState$1(fiberRoot,newProps);parentNamespace\x3dassign({},newProps,{value:void 0});listenToNonDelegatedEvent(\x22invalid\x22,fiberRoot);break;case \x22textarea\x22:initWrapperState$2(fiberRoot,newProps);parentNamespace\x3dgetHostProps$2(fiberRoot,newProps);listenToNonDelegatedEvent(\x22invalid\x22,fiberRoot);\nbreak;default:parentNamespace\x3dnewProps}assertValidProps(renderLanes,parentNamespace);currentHostContext\x3dparentNamespace;for(props in currentHostContext)currentHostContext.hasOwnProperty(props)\x26\x26(rootContainerInstance\x3dcurrentHostContext[props],\x22style\x22\x3d\x3d\x3dprops?(rootContainerInstance\x26\x26Object.freeze(rootContainerInstance),setValueForStyles(fiberRoot,rootContainerInstance)):\x22dangerouslySetInnerHTML\x22\x3d\x3d\x3dprops?(rootContainerInstance\x3drootContainerInstance?rootContainerInstance.__html:void 0,null!\x3drootContainerInstance\x26\x26\nsetInnerHTML(fiberRoot,rootContainerInstance)):\x22children\x22\x3d\x3d\x3dprops?\x22string\x22\x3d\x3d\x3dtypeof rootContainerInstance?(\x22textarea\x22!\x3d\x3drenderLanes||\x22\x22!\x3d\x3drootContainerInstance)\x26\x26setTextContent(fiberRoot,rootContainerInstance):\x22number\x22\x3d\x3d\x3dtypeof rootContainerInstance\x26\x26setTextContent(fiberRoot,\x22\x22+rootContainerInstance):\x22suppressContentEditableWarning\x22!\x3d\x3dprops\x26\x26\x22suppressHydrationWarning\x22!\x3d\x3dprops\x26\x26\x22autoFocus\x22!\x3d\x3dprops\x26\x26(registrationNameDependencies.hasOwnProperty(props)?null!\x3drootContainerInstance\x26\x26(\x22function\x22!\x3d\x3dtypeof rootContainerInstance\x26\x26\nwarnForInvalidEventListener(props,rootContainerInstance),\x22onScroll\x22\x3d\x3d\x3dprops\x26\x26listenToNonDelegatedEvent(\x22scroll\x22,fiberRoot)):null!\x3drootContainerInstance\x26\x26setValueForProperty(fiberRoot,props,rootContainerInstance,current)));switch(renderLanes){case \x22input\x22:track(fiberRoot);postMountWrapper(fiberRoot,newProps,!1);break;case \x22textarea\x22:track(fiberRoot);postMountWrapper$3(fiberRoot);break;case \x22option\x22:null!\x3dnewProps.value\x26\x26fiberRoot.setAttribute(\x22value\x22,\x22\x22+getToStringValue(newProps.value));break;case \x22select\x22:fiberRoot.multiple\x3d\n!!newProps.multiple;props\x3dnewProps.value;null!\x3dprops?updateOptions(fiberRoot,!!newProps.multiple,props,!1):null!\x3dnewProps.defaultValue\x26\x26updateOptions(fiberRoot,!!newProps.multiple,newProps.defaultValue,!0);break;default:\x22function\x22\x3d\x3d\x3dtypeof parentNamespace.onClick\x26\x26(fiberRoot.onclick\x3dnoop)}switch(renderLanes){case \x22button\x22:case \x22input\x22:case \x22select\x22:case \x22textarea\x22:fiberRoot\x3d!!newProps.autoFocus;break a;case \x22img\x22:fiberRoot\x3d!0;break a;default:fiberRoot\x3d!1}}fiberRoot\x26\x26(workInProgress.flags|\x3d4)}null!\x3d\x3d\nworkInProgress.ref\x26\x26(workInProgress.flags|\x3d512,workInProgress.flags|\x3d2097152)}bubbleProperties(workInProgress);return null;case 6:if(current\x26\x26null!\x3dworkInProgress.stateNode)updateHostText$1(current,workInProgress,current.memoizedProps,newProps);else{if(\x22string\x22!\x3d\x3dtypeof newProps\x26\x26null\x3d\x3d\x3dworkInProgress.stateNode)throw Error(\x22We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\x22);fiberRoot\x3drequiredContext(rootInstanceStackCursor.current);renderLanes\x3d\nrequiredContext(contextStackCursor$1.current);if(popHydrationState(workInProgress)){fiberRoot\x3dworkInProgress.stateNode;newProps\x3dworkInProgress.memoizedProps;fiberRoot[internalInstanceKey]\x3dworkInProgress;if(renderLanes\x3dfiberRoot.nodeValue!\x3d\x3dnewProps)if(props\x3dhydrationParentFiber,null!\x3d\x3dprops)switch(props.tag){case 3:checkForUnmatchedText(fiberRoot.nodeValue,newProps,0!\x3d\x3d(props.mode\x261),!0);break;case 5:!0!\x3d\x3dprops.memoizedProps.suppressHydrationWarning\x26\x26checkForUnmatchedText(fiberRoot.nodeValue,newProps,\n0!\x3d\x3d(props.mode\x261),!0)}renderLanes\x26\x26(workInProgress.flags|\x3d4)}else validateDOMNesting(null,newProps,renderLanes.ancestorInfo),fiberRoot\x3d(9\x3d\x3d\x3dfiberRoot.nodeType?fiberRoot:fiberRoot.ownerDocument).createTextNode(newProps),fiberRoot[internalInstanceKey]\x3dworkInProgress,workInProgress.stateNode\x3dfiberRoot}bubbleProperties(workInProgress);return null;case 13:pop(suspenseStackCursor,workInProgress);fiberRoot\x3dworkInProgress.memoizedState;if(null\x3d\x3d\x3dcurrent||null!\x3d\x3dcurrent.memoizedState\x26\x26null!\x3d\x3dcurrent.memoizedState.dehydrated){if(isHydrating\x26\x26\nnull!\x3d\x3dnextHydratableInstance\x26\x260!\x3d\x3d(workInProgress.mode\x261)\x26\x260\x3d\x3d\x3d(workInProgress.flags\x26128))warnIfUnhydratedTailNodes(workInProgress),resetHydrationState(),workInProgress.flags|\x3d98560,newProps\x3d!1;else if(newProps\x3dpopHydrationState(workInProgress),null!\x3d\x3dfiberRoot\x26\x26null!\x3d\x3dfiberRoot.dehydrated){if(null\x3d\x3d\x3dcurrent){if(!newProps)throw Error(\x22A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\x22);newProps\x3dworkInProgress.memoizedState;newProps\x3dnull!\x3d\x3dnewProps?\nnewProps.dehydrated:null;if(!newProps)throw Error(\x22Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\x22);newProps[internalInstanceKey]\x3dworkInProgress;bubbleProperties(workInProgress);0!\x3d\x3d(workInProgress.mode\x262)\x26\x26null!\x3d\x3dfiberRoot\x26\x26(newProps\x3dworkInProgress.child,null!\x3d\x3dnewProps\x26\x26(workInProgress.treeBaseDuration-\x3dnewProps.treeBaseDuration))}else resetHydrationState(),0\x3d\x3d\x3d(workInProgress.flags\x26128)\x26\x26(workInProgress.memoizedState\x3dnull),workInProgress.flags|\x3d\n4,bubbleProperties(workInProgress),0!\x3d\x3d(workInProgress.mode\x262)\x26\x26null!\x3d\x3dfiberRoot\x26\x26(newProps\x3dworkInProgress.child,null!\x3d\x3dnewProps\x26\x26(workInProgress.treeBaseDuration-\x3dnewProps.treeBaseDuration));newProps\x3d!1}else null!\x3d\x3dhydrationErrors\x26\x26(queueRecoverableErrors(hydrationErrors),hydrationErrors\x3dnull),newProps\x3d!0;if(!newProps)return workInProgress.flags\x2665536?workInProgress:null}if(0!\x3d\x3d(workInProgress.flags\x26128))return workInProgress.lanes\x3drenderLanes,0!\x3d\x3d(workInProgress.mode\x262)\x26\x26transferActualDuration(workInProgress),\nworkInProgress;fiberRoot\x3dnull!\x3d\x3dfiberRoot;fiberRoot!\x3d\x3d(null!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.memoizedState)\x26\x26fiberRoot\x26\x26(workInProgress.child.flags|\x3d8192,0!\x3d\x3d(workInProgress.mode\x261)\x26\x26(null\x3d\x3d\x3dcurrent||0!\x3d\x3d(suspenseStackCursor.current\x26InvisibleParentSuspenseContext)?workInProgressRootExitStatus\x3d\x3d\x3dRootInProgress\x26\x26(workInProgressRootExitStatus\x3dRootSuspended):renderDidSuspendDelayIfPossible()));null!\x3d\x3dworkInProgress.updateQueue\x26\x26(workInProgress.flags|\x3d4);bubbleProperties(workInProgress);0!\x3d\x3d(workInProgress.mode\x26\n2)\x26\x26fiberRoot\x26\x26(fiberRoot\x3dworkInProgress.child,null!\x3d\x3dfiberRoot\x26\x26(workInProgress.treeBaseDuration-\x3dfiberRoot.treeBaseDuration));return null;case 4:return popHostContainer(workInProgress),updateHostContainer(current,workInProgress),null\x3d\x3d\x3dcurrent\x26\x26listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),bubbleProperties(workInProgress),null;case 10:return popProvider(workInProgress.type._context,workInProgress),bubbleProperties(workInProgress),null;case 17:return isContextProvider(workInProgress.type)\x26\x26\npopContext(workInProgress),bubbleProperties(workInProgress),null;case 19:pop(suspenseStackCursor,workInProgress);newProps\x3dworkInProgress.memoizedState;if(null\x3d\x3d\x3dnewProps)return bubbleProperties(workInProgress),null;fiberRoot\x3d0!\x3d\x3d(workInProgress.flags\x26128);props\x3dnewProps.rendering;if(null\x3d\x3d\x3dprops)if(fiberRoot)cutOffTailIfNeeded(newProps,!1);else{if(workInProgressRootExitStatus!\x3d\x3dRootInProgress||null!\x3d\x3dcurrent\x26\x260!\x3d\x3d(current.flags\x26128))for(props\x3dworkInProgress.child;null!\x3d\x3dprops;){current\x3dfindFirstSuspended(props);\nif(null!\x3d\x3dcurrent){workInProgress.flags|\x3d128;cutOffTailIfNeeded(newProps,!1);fiberRoot\x3dcurrent.updateQueue;null!\x3d\x3dfiberRoot\x26\x26(workInProgress.updateQueue\x3dfiberRoot,workInProgress.flags|\x3d4);workInProgress.subtreeFlags\x3d0;fiberRoot\x3drenderLanes;for(newProps\x3dworkInProgress.child;null!\x3d\x3dnewProps;)renderLanes\x3dnewProps,current\x3dfiberRoot,renderLanes.flags\x26\x3d14680066,props\x3drenderLanes.alternate,null\x3d\x3d\x3dprops?(renderLanes.childLanes\x3d0,renderLanes.lanes\x3dcurrent,renderLanes.child\x3dnull,renderLanes.subtreeFlags\x3d0,\nrenderLanes.memoizedProps\x3dnull,renderLanes.memoizedState\x3dnull,renderLanes.updateQueue\x3dnull,renderLanes.dependencies\x3dnull,renderLanes.stateNode\x3dnull,renderLanes.selfBaseDuration\x3d0,renderLanes.treeBaseDuration\x3d0):(renderLanes.childLanes\x3dprops.childLanes,renderLanes.lanes\x3dprops.lanes,renderLanes.child\x3dprops.child,renderLanes.subtreeFlags\x3d0,renderLanes.deletions\x3dnull,renderLanes.memoizedProps\x3dprops.memoizedProps,renderLanes.memoizedState\x3dprops.memoizedState,renderLanes.updateQueue\x3dprops.updateQueue,renderLanes.type\x3d\nprops.type,current\x3dprops.dependencies,renderLanes.dependencies\x3dnull\x3d\x3d\x3dcurrent?null:{lanes:current.lanes,firstContext:current.firstContext},renderLanes.selfBaseDuration\x3dprops.selfBaseDuration,renderLanes.treeBaseDuration\x3dprops.treeBaseDuration),newProps\x3dnewProps.sibling;push(suspenseStackCursor,suspenseStackCursor.current\x26SubtreeSuspenseContextMask|ForceSuspenseFallback,workInProgress);return workInProgress.child}props\x3dprops.sibling}null!\x3d\x3dnewProps.tail\x26\x26now()\x3eworkInProgressRootRenderTargetTime\x26\x26(workInProgress.flags|\x3d\n128,fiberRoot\x3d!0,cutOffTailIfNeeded(newProps,!1),workInProgress.lanes\x3d4194304)}else{if(!fiberRoot)if(current\x3dfindFirstSuspended(props),null!\x3d\x3dcurrent){if(workInProgress.flags|\x3d128,fiberRoot\x3d!0,renderLanes\x3dcurrent.updateQueue,null!\x3d\x3drenderLanes\x26\x26(workInProgress.updateQueue\x3drenderLanes,workInProgress.flags|\x3d4),cutOffTailIfNeeded(newProps,!0),null\x3d\x3d\x3dnewProps.tail\x26\x26\x22hidden\x22\x3d\x3d\x3dnewProps.tailMode\x26\x26!props.alternate\x26\x26!isHydrating)return bubbleProperties(workInProgress),null}else 2*now()-newProps.renderingStartTime\x3e\nworkInProgressRootRenderTargetTime\x26\x26renderLanes!\x3d\x3dOffscreenLane\x26\x26(workInProgress.flags|\x3d128,fiberRoot\x3d!0,cutOffTailIfNeeded(newProps,!1),workInProgress.lanes\x3d4194304);newProps.isBackwards?(props.sibling\x3dworkInProgress.child,workInProgress.child\x3dprops):(renderLanes\x3dnewProps.last,null!\x3d\x3drenderLanes?renderLanes.sibling\x3dprops:workInProgress.child\x3dprops,newProps.last\x3dprops)}if(null!\x3d\x3dnewProps.tail)return renderLanes\x3dnewProps.tail,newProps.rendering\x3drenderLanes,newProps.tail\x3drenderLanes.sibling,newProps.renderingStartTime\x3d\nnow(),renderLanes.sibling\x3dnull,newProps\x3dsuspenseStackCursor.current,newProps\x3dfiberRoot?newProps\x26SubtreeSuspenseContextMask|ForceSuspenseFallback:newProps\x26SubtreeSuspenseContextMask,push(suspenseStackCursor,newProps,workInProgress),renderLanes;bubbleProperties(workInProgress);return null;case 22:case 23:return popRenderLanes(workInProgress),fiberRoot\x3dnull!\x3d\x3dworkInProgress.memoizedState,null!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.memoizedState!\x3d\x3dfiberRoot\x26\x26(workInProgress.flags|\x3d8192),fiberRoot\x26\x260!\x3d\x3d(workInProgress.mode\x26\n1)?0!\x3d\x3d(subtreeRenderLanes\x26OffscreenLane)\x26\x26(bubbleProperties(workInProgress),workInProgress.subtreeFlags\x266\x26\x26(workInProgress.flags|\x3d8192)):bubbleProperties(workInProgress),null;case 24:return null;case 25:return null}throw Error(\x22Unknown unit of work tag (\x22+workInProgress.tag+\x22). This error is likely caused by a bug in React. Please file an issue.\x22);}function unwindWork(current,workInProgress,renderLanes){popTreeContext(workInProgress);switch(workInProgress.tag){case 1:return isContextProvider(workInProgress.type)\x26\x26\npopContext(workInProgress),current\x3dworkInProgress.flags,current\x2665536?(workInProgress.flags\x3dcurrent\x26-65537|128,0!\x3d\x3d(workInProgress.mode\x262)\x26\x26transferActualDuration(workInProgress),workInProgress):null;case 3:return popHostContainer(workInProgress),popTopLevelContextObject(workInProgress),resetWorkInProgressVersions(),current\x3dworkInProgress.flags,0!\x3d\x3d(current\x2665536)\x26\x260\x3d\x3d\x3d(current\x26128)?(workInProgress.flags\x3dcurrent\x26-65537|128,workInProgress):null;case 5:return popHostContext(workInProgress),null;case 13:pop(suspenseStackCursor,\nworkInProgress);current\x3dworkInProgress.memoizedState;if(null!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.dehydrated){if(null\x3d\x3d\x3dworkInProgress.alternate)throw Error(\x22Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\x22);resetHydrationState()}current\x3dworkInProgress.flags;return current\x2665536?(workInProgress.flags\x3dcurrent\x26-65537|128,0!\x3d\x3d(workInProgress.mode\x262)\x26\x26transferActualDuration(workInProgress),workInProgress):null;case 19:return pop(suspenseStackCursor,workInProgress),\nnull;case 4:return popHostContainer(workInProgress),null;case 10:return popProvider(workInProgress.type._context,workInProgress),null;case 22:case 23:return popRenderLanes(workInProgress),null;case 24:return null;default:return null}}function unwindInterruptedWork(current,interruptedWork,renderLanes){popTreeContext(interruptedWork);switch(interruptedWork.tag){case 1:current\x3dinterruptedWork.type.childContextTypes;null!\x3d\x3dcurrent\x26\x26void 0!\x3d\x3dcurrent\x26\x26popContext(interruptedWork);break;case 3:popHostContainer(interruptedWork);\npopTopLevelContextObject(interruptedWork);resetWorkInProgressVersions();break;case 5:popHostContext(interruptedWork);break;case 4:popHostContainer(interruptedWork);break;case 13:pop(suspenseStackCursor,interruptedWork);break;case 19:pop(suspenseStackCursor,interruptedWork);break;case 10:popProvider(interruptedWork.type._context,interruptedWork);break;case 22:case 23:popRenderLanes(interruptedWork)}}function reportUncaughtErrorInDEV(error){invokeGuardedCallback(null,function(){throw error;});clearCaughtError()}\nfunction safelyCallComponentWillUnmount(current,nearestMountedAncestor,instance){try{if(instance.props\x3dcurrent.memoizedProps,instance.state\x3dcurrent.memoizedState,current.mode\x262)try{startLayoutEffectTimer(),instance.componentWillUnmount()}finally{recordLayoutEffectDuration(current)}else instance.componentWillUnmount()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}}function safelyDetachRef(current,nearestMountedAncestor){var ref\x3dcurrent.ref;if(null!\x3d\x3dref)if(\x22function\x22\x3d\x3d\x3d\ntypeof ref){try{if(current.mode\x262)try{startLayoutEffectTimer();var retVal\x3dref(null)}finally{recordLayoutEffectDuration(current)}else retVal\x3dref(null)}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}\x22function\x22\x3d\x3d\x3dtypeof retVal\x26\x26error$jscomp$0(\x22Unexpected return value from a callback ref in %s. A callback ref should not return a function.\x22,getComponentNameFromFiber(current))}else ref.current\x3dnull}function safelyCallDestroy(current,nearestMountedAncestor,destroy){try{destroy()}catch(error){captureCommitPhaseError(current,\nnearestMountedAncestor,error)}}function commitBeforeMutationEffects(root,firstChild){eventsEnabled\x3d_enabled;root\x3dgetActiveElementDeep();if(hasSelectionCapabilities(root)){if(\x22selectionStart\x22in root)var JSCompiler_temp\x3d{start:root.selectionStart,end:root.selectionEnd};else a:{JSCompiler_temp\x3d(JSCompiler_temp\x3droot.ownerDocument)\x26\x26JSCompiler_temp.defaultView||window;var selection\x3dJSCompiler_temp.getSelection\x26\x26JSCompiler_temp.getSelection();if(selection\x26\x260!\x3d\x3dselection.rangeCount){JSCompiler_temp\x3dselection.anchorNode;\nvar anchorOffset\x3dselection.anchorOffset,focusNode\x3dselection.focusNode;selection\x3dselection.focusOffset;try{JSCompiler_temp.nodeType,focusNode.nodeType}catch(e){JSCompiler_temp\x3dnull;break a}var length\x3d0,start\x3d-1,end\x3d-1,indexWithinAnchor\x3d0,indexWithinFocus\x3d0,node\x3droot,parentNode\x3dnull;b:for(;;){for(var next;;){node!\x3d\x3dJSCompiler_temp||0!\x3d\x3danchorOffset\x26\x263!\x3d\x3dnode.nodeType||(start\x3dlength+anchorOffset);node!\x3d\x3dfocusNode||0!\x3d\x3dselection\x26\x263!\x3d\x3dnode.nodeType||(end\x3dlength+selection);3\x3d\x3d\x3dnode.nodeType\x26\x26(length+\x3dnode.nodeValue.length);\nif(null\x3d\x3d\x3d(next\x3dnode.firstChild))break;parentNode\x3dnode;node\x3dnext}for(;;){if(node\x3d\x3d\x3droot)break b;parentNode\x3d\x3d\x3dJSCompiler_temp\x26\x26++indexWithinAnchor\x3d\x3d\x3danchorOffset\x26\x26(start\x3dlength);parentNode\x3d\x3d\x3dfocusNode\x26\x26++indexWithinFocus\x3d\x3d\x3dselection\x26\x26(end\x3dlength);if(null!\x3d\x3d(next\x3dnode.nextSibling))break;node\x3dparentNode;parentNode\x3dnode.parentNode}node\x3dnext}JSCompiler_temp\x3d-1\x3d\x3d\x3dstart||-1\x3d\x3d\x3dend?null:{start,end}}else JSCompiler_temp\x3dnull}JSCompiler_temp\x3dJSCompiler_temp||{start:0,end:0}}else JSCompiler_temp\x3dnull;selectionInformation\x3d\n{focusedElem:root,selectionRange:JSCompiler_temp};_enabled\x3d!1;for(nextEffect\x3dfirstChild;null!\x3d\x3dnextEffect;)if(firstChild\x3dnextEffect,root\x3dfirstChild.child,0!\x3d\x3d(firstChild.subtreeFlags\x261028)\x26\x26null!\x3d\x3droot)root.return\x3dfirstChild,nextEffect\x3droot;else for(;null!\x3d\x3dnextEffect;){firstChild\x3dnextEffect;setCurrentFiber(firstChild);try{root\x3dfirstChild;var current\x3droot.alternate;if(0!\x3d\x3d(root.flags\x261024)){setCurrentFiber(root);switch(root.tag){case 0:case 11:case 15:break;case 1:if(null!\x3d\x3dcurrent){var prevProps\x3d\ncurrent.memoizedProps,prevState\x3dcurrent.memoizedState,instance\x3droot.stateNode;root.type!\x3d\x3droot.elementType||didWarnAboutReassigningProps||(instance.props!\x3d\x3droot.memoizedProps\x26\x26error$jscomp$0(\x22Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\x22,getComponentNameFromFiber(root)||\x22instance\x22),instance.state!\x3d\x3droot.memoizedState\x26\x26error$jscomp$0(\x22Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\x22,\ngetComponentNameFromFiber(root)||\x22instance\x22));var snapshot\x3dinstance.getSnapshotBeforeUpdate(root.elementType\x3d\x3d\x3droot.type?prevProps:resolveDefaultProps(root.type,prevProps),prevState);JSCompiler_temp\x3ddidWarnAboutUndefinedSnapshotBeforeUpdate;void 0!\x3d\x3dsnapshot||JSCompiler_temp.has(root.type)||(JSCompiler_temp.add(root.type),error$jscomp$0(\x22%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.\x22,getComponentNameFromFiber(root)));instance.__reactInternalSnapshotBeforeUpdate\x3d\nsnapshot}break;case 3:var container\x3droot.stateNode.containerInfo;1\x3d\x3d\x3dcontainer.nodeType?container.textContent\x3d\x22\x22:9\x3d\x3d\x3dcontainer.nodeType\x26\x26container.documentElement\x26\x26container.removeChild(container.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(\x22This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\x22);}resetCurrentFiber()}}catch(error){captureCommitPhaseError(firstChild,firstChild.return,error)}resetCurrentFiber();\nroot\x3dfirstChild.sibling;if(null!\x3d\x3droot){root.return\x3dfirstChild.return;nextEffect\x3droot;break}nextEffect\x3dfirstChild.return}current\x3dshouldFireAfterActiveInstanceBlur;shouldFireAfterActiveInstanceBlur\x3d!1;return current}function commitHookEffectListUnmount(flags,finishedWork,nearestMountedAncestor){var updateQueue\x3dfinishedWork.updateQueue;updateQueue\x3dnull!\x3d\x3dupdateQueue?updateQueue.lastEffect:null;if(null!\x3d\x3dupdateQueue){var effect\x3dupdateQueue\x3dupdateQueue.next;do{if((effect.tag\x26flags)\x3d\x3d\x3dflags){var destroy\x3d\neffect.destroy;effect.destroy\x3dvoid 0;void 0!\x3d\x3ddestroy\x26\x26((flags\x26Passive$1)!\x3d\x3dNoFlags$1?null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted\x26\x26injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(finishedWork):(flags\x26Layout)!\x3d\x3dNoFlags$1\x26\x26markComponentLayoutEffectUnmountStarted(finishedWork),(flags\x26Insertion)!\x3d\x3dNoFlags$1\x26\x26(isRunningInsertionEffect\x3d!0),safelyCallDestroy(finishedWork,nearestMountedAncestor,destroy),(flags\x26Insertion)!\x3d\x3d\nNoFlags$1\x26\x26(isRunningInsertionEffect\x3d!1),(flags\x26Passive$1)!\x3d\x3dNoFlags$1?null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped\x26\x26injectedProfilingHooks.markComponentPassiveEffectUnmountStopped():(flags\x26Layout)!\x3d\x3dNoFlags$1\x26\x26markComponentLayoutEffectUnmountStopped())}effect\x3deffect.next}while(effect!\x3d\x3dupdateQueue)}}function commitHookEffectListMount(flags,finishedWork){var updateQueue\x3dfinishedWork.updateQueue;updateQueue\x3dnull!\x3d\x3dupdateQueue?updateQueue.lastEffect:\nnull;if(null!\x3d\x3dupdateQueue){var effect\x3dupdateQueue\x3dupdateQueue.next;do{if((effect.tag\x26flags)\x3d\x3d\x3dflags){(flags\x26Passive$1)!\x3d\x3dNoFlags$1?null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentPassiveEffectMountStarted\x26\x26injectedProfilingHooks.markComponentPassiveEffectMountStarted(finishedWork):(flags\x26Layout)!\x3d\x3dNoFlags$1\x26\x26null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentLayoutEffectMountStarted\x26\x26injectedProfilingHooks.markComponentLayoutEffectMountStarted(finishedWork);\nvar create\x3deffect.create;(flags\x26Insertion)!\x3d\x3dNoFlags$1\x26\x26(isRunningInsertionEffect\x3d!0);effect.destroy\x3dcreate();(flags\x26Insertion)!\x3d\x3dNoFlags$1\x26\x26(isRunningInsertionEffect\x3d!1);(flags\x26Passive$1)!\x3d\x3dNoFlags$1?null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentPassiveEffectMountStopped\x26\x26injectedProfilingHooks.markComponentPassiveEffectMountStopped():(flags\x26Layout)!\x3d\x3dNoFlags$1\x26\x26null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentLayoutEffectMountStopped\x26\x26\ninjectedProfilingHooks.markComponentLayoutEffectMountStopped();create\x3deffect.destroy;if(void 0!\x3d\x3dcreate\x26\x26\x22function\x22!\x3d\x3dtypeof create){var hookName\x3d0!\x3d\x3d(effect.tag\x26Layout)?\x22useLayoutEffect\x22:0!\x3d\x3d(effect.tag\x26Insertion)?\x22useInsertionEffect\x22:\x22useEffect\x22;error$jscomp$0(\x22%s must not return anything besides a function, which is used for clean-up.%s\x22,hookName,null\x3d\x3d\x3dcreate?\x22 You returned null. If your effect does not require clean up, return undefined (or nothing).\x22:\x22function\x22\x3d\x3d\x3dtypeof create.then?\x22\\n\\nIt looks like you wrote \x22+\nhookName+\x22(async () \\x3d\\x3e ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\\n\\n\x22+hookName+\x22(() \\x3d\\x3e {\\n async function fetchData() {\\n // You can await here\\n const response \\x3d await MyAPI.getData(someId);\\n // ...\\n }\\n fetchData();\\n}, [someId]); // Or [] if effect doesn\x27t need props or state\\n\\nLearn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching\x22:\x22 You returned: \x22+create)}}effect\x3deffect.next}while(effect!\x3d\x3d\nupdateQueue)}}function commitAttachRef(finishedWork){var ref\x3dfinishedWork.ref;if(null!\x3d\x3dref){var instance\x3dfinishedWork.stateNode;if(\x22function\x22\x3d\x3d\x3dtypeof ref){if(finishedWork.mode\x262)try{startLayoutEffectTimer();var retVal\x3dref(instance)}finally{recordLayoutEffectDuration(finishedWork)}else retVal\x3dref(instance);\x22function\x22\x3d\x3d\x3dtypeof retVal\x26\x26error$jscomp$0(\x22Unexpected return value from a callback ref in %s. A callback ref should not return a function.\x22,getComponentNameFromFiber(finishedWork))}else ref.hasOwnProperty(\x22current\x22)||\nerror$jscomp$0(\x22Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().\x22,getComponentNameFromFiber(finishedWork)),ref.current\x3dinstance}}function detachFiberAfterEffects(fiber){var alternate\x3dfiber.alternate;null!\x3d\x3dalternate\x26\x26(fiber.alternate\x3dnull,detachFiberAfterEffects(alternate));fiber.child\x3dnull;fiber.deletions\x3dnull;fiber.sibling\x3dnull;5\x3d\x3d\x3dfiber.tag\x26\x26(alternate\x3dfiber.stateNode,null!\x3d\x3dalternate\x26\x26(delete alternate[internalInstanceKey],delete alternate[internalPropsKey],\ndelete alternate[internalEventHandlersKey],delete alternate[internalEventHandlerListenersKey],delete alternate[internalEventHandlesSetKey]));fiber.stateNode\x3dnull;fiber._debugOwner\x3dnull;fiber.return\x3dnull;fiber.dependencies\x3dnull;fiber.memoizedProps\x3dnull;fiber.memoizedState\x3dnull;fiber.pendingProps\x3dnull;fiber.stateNode\x3dnull;fiber.updateQueue\x3dnull}function isHostParent(fiber){return 5\x3d\x3d\x3dfiber.tag||3\x3d\x3d\x3dfiber.tag||4\x3d\x3d\x3dfiber.tag}function getHostSibling(fiber){a:for(;;){for(;null\x3d\x3d\x3dfiber.sibling;){if(null\x3d\x3d\x3d\nfiber.return||isHostParent(fiber.return))return null;fiber\x3dfiber.return}fiber.sibling.return\x3dfiber.return;for(fiber\x3dfiber.sibling;5!\x3d\x3dfiber.tag\x26\x266!\x3d\x3dfiber.tag\x26\x2618!\x3d\x3dfiber.tag;){if(fiber.flags\x262)continue a;if(null\x3d\x3d\x3dfiber.child||4\x3d\x3d\x3dfiber.tag)continue a;else fiber.child.return\x3dfiber,fiber\x3dfiber.child}if(!(fiber.flags\x262))return fiber.stateNode}}function insertOrAppendPlacementNodeIntoContainer(node,before,parent){var tag\x3dnode.tag;if(5\x3d\x3d\x3dtag||6\x3d\x3d\x3dtag)node\x3dnode.stateNode,before?8\x3d\x3d\x3dparent.nodeType?parent.parentNode.insertBefore(node,\nbefore):parent.insertBefore(node,before):(8\x3d\x3d\x3dparent.nodeType?(before\x3dparent.parentNode,before.insertBefore(node,parent)):(before\x3dparent,before.appendChild(node)),parent\x3dparent._reactRootContainer,null!\x3d\x3dparent\x26\x26void 0!\x3d\x3dparent||null!\x3d\x3dbefore.onclick||(before.onclick\x3dnoop));else if(4!\x3d\x3dtag\x26\x26(node\x3dnode.child,null!\x3d\x3dnode))for(insertOrAppendPlacementNodeIntoContainer(node,before,parent),node\x3dnode.sibling;null!\x3d\x3dnode;)insertOrAppendPlacementNodeIntoContainer(node,before,parent),node\x3dnode.sibling}function insertOrAppendPlacementNode(node,\nbefore,parent){var tag\x3dnode.tag;if(5\x3d\x3d\x3dtag||6\x3d\x3d\x3dtag)node\x3dnode.stateNode,before?parent.insertBefore(node,before):parent.appendChild(node);else if(4!\x3d\x3dtag\x26\x26(node\x3dnode.child,null!\x3d\x3dnode))for(insertOrAppendPlacementNode(node,before,parent),node\x3dnode.sibling;null!\x3d\x3dnode;)insertOrAppendPlacementNode(node,before,parent),node\x3dnode.sibling}function recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,parent){for(parent\x3dparent.child;null!\x3d\x3dparent;)commitDeletionEffectsOnFiber(finishedRoot,\nnearestMountedAncestor,parent),parent\x3dparent.sibling}function commitDeletionEffectsOnFiber(finishedRoot,nearestMountedAncestor,deletedFiber){if(injectedHook\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedHook.onCommitFiberUnmount)try{injectedHook.onCommitFiberUnmount(rendererID,deletedFiber)}catch(err){hasLoggedError||(hasLoggedError\x3d!0,error$jscomp$0(\x22React instrumentation encountered an error: %s\x22,err))}switch(deletedFiber.tag){case 5:offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor);\ncase 6:var prevHostParent\x3dhostParent,prevHostParentIsContainer\x3dhostParentIsContainer;hostParent\x3dnull;recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);hostParent\x3dprevHostParent;hostParentIsContainer\x3dprevHostParentIsContainer;null!\x3d\x3dhostParent\x26\x26(hostParentIsContainer?(finishedRoot\x3dhostParent,deletedFiber\x3ddeletedFiber.stateNode,8\x3d\x3d\x3dfinishedRoot.nodeType?finishedRoot.parentNode.removeChild(deletedFiber):finishedRoot.removeChild(deletedFiber)):hostParent.removeChild(deletedFiber.stateNode));\nbreak;case 18:null!\x3d\x3dhostParent\x26\x26(hostParentIsContainer?(finishedRoot\x3dhostParent,deletedFiber\x3ddeletedFiber.stateNode,8\x3d\x3d\x3dfinishedRoot.nodeType?clearSuspenseBoundary(finishedRoot.parentNode,deletedFiber):1\x3d\x3d\x3dfinishedRoot.nodeType\x26\x26clearSuspenseBoundary(finishedRoot,deletedFiber),retryIfBlockedOn(finishedRoot)):clearSuspenseBoundary(hostParent,deletedFiber.stateNode));break;case 4:prevHostParent\x3dhostParent;prevHostParentIsContainer\x3dhostParentIsContainer;hostParent\x3ddeletedFiber.stateNode.containerInfo;\nhostParentIsContainer\x3d!0;recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);hostParent\x3dprevHostParent;hostParentIsContainer\x3dprevHostParentIsContainer;break;case 0:case 11:case 14:case 15:if(!offscreenSubtreeWasHidden\x26\x26(prevHostParent\x3ddeletedFiber.updateQueue,null!\x3d\x3dprevHostParent\x26\x26(prevHostParent\x3dprevHostParent.lastEffect,null!\x3d\x3dprevHostParent))){prevHostParentIsContainer\x3dprevHostParent\x3dprevHostParent.next;do{var _effect\x3dprevHostParentIsContainer,destroy\x3d_effect.destroy;\n_effect\x3d_effect.tag;void 0!\x3d\x3ddestroy\x26\x26((_effect\x26Insertion)!\x3d\x3dNoFlags$1?safelyCallDestroy(deletedFiber,nearestMountedAncestor,destroy):(_effect\x26Layout)!\x3d\x3dNoFlags$1\x26\x26(markComponentLayoutEffectUnmountStarted(deletedFiber),deletedFiber.mode\x262?(startLayoutEffectTimer(),safelyCallDestroy(deletedFiber,nearestMountedAncestor,destroy),recordLayoutEffectDuration(deletedFiber)):safelyCallDestroy(deletedFiber,nearestMountedAncestor,destroy),markComponentLayoutEffectUnmountStopped()));prevHostParentIsContainer\x3d\nprevHostParentIsContainer.next}while(prevHostParentIsContainer!\x3d\x3dprevHostParent)}recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 1:offscreenSubtreeWasHidden||(safelyDetachRef(deletedFiber,nearestMountedAncestor),prevHostParent\x3ddeletedFiber.stateNode,\x22function\x22\x3d\x3d\x3dtypeof prevHostParent.componentWillUnmount\x26\x26safelyCallComponentWillUnmount(deletedFiber,nearestMountedAncestor,prevHostParent));recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,\ndeletedFiber);break;case 21:recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 22:deletedFiber.mode\x261?(offscreenSubtreeWasHidden\x3d(prevHostParent\x3doffscreenSubtreeWasHidden)||null!\x3d\x3ddeletedFiber.memoizedState,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),offscreenSubtreeWasHidden\x3dprevHostParent):recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;default:recursivelyTraverseDeletionEffects(finishedRoot,\nnearestMountedAncestor,deletedFiber)}}function attachSuspenseRetryListeners(finishedWork){var wakeables\x3dfinishedWork.updateQueue;if(null!\x3d\x3dwakeables){finishedWork.updateQueue\x3dnull;var retryCache\x3dfinishedWork.stateNode;null\x3d\x3d\x3dretryCache\x26\x26(retryCache\x3dfinishedWork.stateNode\x3dnew PossiblyWeakSet);wakeables.forEach(function(wakeable){var retry\x3dresolveRetryWakeable.bind(null,finishedWork,wakeable);if(!retryCache.has(wakeable)){retryCache.add(wakeable);if(isDevToolsPresent)if(null!\x3d\x3dinProgressLanes\x26\x26null!\x3d\x3d\ninProgressRoot)restorePendingUpdaters(inProgressRoot,inProgressLanes);else throw Error(\x22Expected finished root and lanes to be set. This is a bug in React.\x22);wakeable.then(retry,retry)}})}}function commitMutationEffects(root,finishedWork,committedLanes){inProgressLanes\x3dcommittedLanes;inProgressRoot\x3droot;setCurrentFiber(finishedWork);commitMutationEffectsOnFiber(finishedWork,root);setCurrentFiber(finishedWork);inProgressRoot\x3dinProgressLanes\x3dnull}function recursivelyTraverseMutationEffects(root$jscomp$0,\nparentFiber,lanes){lanes\x3dparentFiber.deletions;if(null!\x3d\x3dlanes)for(var i\x3d0;i\x3clanes.length;i++){var childToDelete\x3dlanes[i];try{var root\x3droot$jscomp$0,returnFiber\x3dparentFiber,deletedFiber\x3dchildToDelete,parent\x3dreturnFiber;a:for(;null!\x3d\x3dparent;){switch(parent.tag){case 5:hostParent\x3dparent.stateNode;hostParentIsContainer\x3d!1;break a;case 3:hostParent\x3dparent.stateNode.containerInfo;hostParentIsContainer\x3d!0;break a;case 4:hostParent\x3dparent.stateNode.containerInfo;hostParentIsContainer\x3d!0;break a}parent\x3dparent.return}if(null\x3d\x3d\x3d\nhostParent)throw Error(\x22Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\x22);commitDeletionEffectsOnFiber(root,returnFiber,deletedFiber);hostParent\x3dnull;hostParentIsContainer\x3d!1;root\x3ddeletedFiber;var alternate\x3droot.alternate;null!\x3d\x3dalternate\x26\x26(alternate.return\x3dnull);root.return\x3dnull}catch(error){captureCommitPhaseError(childToDelete,parentFiber,error)}}alternate\x3dcurrent;if(parentFiber.subtreeFlags\x2612854)for(parentFiber\x3dparentFiber.child;null!\x3d\x3dparentFiber;)setCurrentFiber(parentFiber),\ncommitMutationEffectsOnFiber(parentFiber,root$jscomp$0),parentFiber\x3dparentFiber.sibling;setCurrentFiber(alternate)}function commitMutationEffectsOnFiber(finishedWork,root,lanes){var current\x3dfinishedWork.alternate;lanes\x3dfinishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 14:case 15:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);if(lanes\x264){try{commitHookEffectListUnmount(Insertion|HasEffect,finishedWork,finishedWork.return),commitHookEffectListMount(Insertion|\nHasEffect,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}if(finishedWork.mode\x262){try{startLayoutEffectTimer(),commitHookEffectListUnmount(Layout|HasEffect,finishedWork,finishedWork.return)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}recordLayoutEffectDuration(finishedWork)}else try{commitHookEffectListUnmount(Layout|HasEffect,finishedWork,finishedWork.return)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,\nerror)}}break;case 1:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);lanes\x26512\x26\x26null!\x3d\x3dcurrent\x26\x26safelyDetachRef(current,current.return);break;case 5:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);lanes\x26512\x26\x26null!\x3d\x3dcurrent\x26\x26safelyDetachRef(current,current.return);if(finishedWork.flags\x2632){var instance\x3dfinishedWork.stateNode;try{setTextContent(instance,\x22\x22)}catch(error){captureCommitPhaseError(finishedWork,\nfinishedWork.return,error)}}if(lanes\x264\x26\x26(instance\x3dfinishedWork.stateNode,null!\x3dinstance)){var newProps\x3dfinishedWork.memoizedProps,oldProps\x3dnull!\x3d\x3dcurrent?current.memoizedProps:newProps,type\x3dfinishedWork.type,updatePayload\x3dfinishedWork.updateQueue;finishedWork.updateQueue\x3dnull;if(null!\x3d\x3dupdatePayload)try{\x22input\x22\x3d\x3d\x3dtype\x26\x26\x22radio\x22\x3d\x3d\x3dnewProps.type\x26\x26null!\x3dnewProps.name\x26\x26updateChecked(instance,newProps);isCustomComponent(type,oldProps);var isCustomComponentTag\x3disCustomComponent(type,newProps);for(oldProps\x3d\n0;oldProps\x3cupdatePayload.length;oldProps+\x3d2){var propKey\x3dupdatePayload[oldProps],propValue\x3dupdatePayload[oldProps+1];\x22style\x22\x3d\x3d\x3dpropKey?setValueForStyles(instance,propValue):\x22dangerouslySetInnerHTML\x22\x3d\x3d\x3dpropKey?setInnerHTML(instance,propValue):\x22children\x22\x3d\x3d\x3dpropKey?setTextContent(instance,propValue):setValueForProperty(instance,propKey,propValue,isCustomComponentTag)}switch(type){case \x22input\x22:updateWrapper(instance,newProps);break;case \x22textarea\x22:updateWrapper$1(instance,newProps);break;case \x22select\x22:var wasMultiple\x3d\ninstance._wrapperState.wasMultiple;instance._wrapperState.wasMultiple\x3d!!newProps.multiple;var value\x3dnewProps.value;null!\x3dvalue?updateOptions(instance,!!newProps.multiple,value,!1):wasMultiple!\x3d\x3d!!newProps.multiple\x26\x26(null!\x3dnewProps.defaultValue?updateOptions(instance,!!newProps.multiple,newProps.defaultValue,!0):updateOptions(instance,!!newProps.multiple,newProps.multiple?[]:\x22\x22,!1))}instance[internalPropsKey]\x3dnewProps}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;\ncase 6:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);if(lanes\x264){if(null\x3d\x3d\x3dfinishedWork.stateNode)throw Error(\x22This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\x22);instance\x3dfinishedWork.stateNode;newProps\x3dfinishedWork.memoizedProps;try{instance.nodeValue\x3dnewProps}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 3:recursivelyTraverseMutationEffects(root,\nfinishedWork);commitReconciliationEffects(finishedWork);if(lanes\x264\x26\x26null!\x3d\x3dcurrent\x26\x26current.memoizedState.isDehydrated)try{retryIfBlockedOn(root.containerInfo)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}break;case 4:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);break;case 13:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);instance\x3dfinishedWork.child;instance.flags\x268192\x26\x26\n(newProps\x3dnull!\x3d\x3dinstance.memoizedState,instance.stateNode.isHidden\x3dnewProps,!newProps||null!\x3d\x3dinstance.alternate\x26\x26null!\x3d\x3dinstance.alternate.memoizedState||(globalMostRecentFallbackTime\x3dnow()));lanes\x264\x26\x26attachSuspenseRetryListeners(finishedWork);break;case 22:propKey\x3dnull!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.memoizedState;finishedWork.mode\x261?(offscreenSubtreeWasHidden\x3d(isCustomComponentTag\x3doffscreenSubtreeWasHidden)||propKey,recursivelyTraverseMutationEffects(root,finishedWork),offscreenSubtreeWasHidden\x3disCustomComponentTag):\nrecursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);if(lanes\x268192){isCustomComponentTag\x3dnull!\x3d\x3dfinishedWork.memoizedState;if((finishedWork.stateNode.isHidden\x3disCustomComponentTag)\x26\x26!propKey\x26\x260!\x3d\x3d(finishedWork.mode\x261))for(nextEffect\x3dfinishedWork,propKey\x3dfinishedWork.child;null!\x3d\x3dpropKey;){for(propValue\x3dnextEffect\x3dpropKey;null!\x3d\x3dnextEffect;){wasMultiple\x3dnextEffect;value\x3dwasMultiple.child;switch(wasMultiple.tag){case 0:case 11:case 14:case 15:if(wasMultiple.mode\x26\n2)try{startLayoutEffectTimer(),commitHookEffectListUnmount(Layout,wasMultiple,wasMultiple.return)}finally{recordLayoutEffectDuration(wasMultiple)}else commitHookEffectListUnmount(Layout,wasMultiple,wasMultiple.return);break;case 1:safelyDetachRef(wasMultiple,wasMultiple.return);lanes\x3dwasMultiple.stateNode;\x22function\x22\x3d\x3d\x3dtypeof lanes.componentWillUnmount\x26\x26safelyCallComponentWillUnmount(wasMultiple,wasMultiple.return,lanes);break;case 5:safelyDetachRef(wasMultiple,wasMultiple.return);break;case 22:if(null!\x3d\x3d\nwasMultiple.memoizedState){disappearLayoutEffects_complete(propValue);continue}}null!\x3d\x3dvalue?(value.return\x3dwasMultiple,nextEffect\x3dvalue):disappearLayoutEffects_complete(propValue)}propKey\x3dpropKey.sibling}a:for(propKey\x3dnull,propValue\x3dfinishedWork;;){if(5\x3d\x3d\x3dpropValue.tag){if(null\x3d\x3d\x3dpropKey){propKey\x3dpropValue;try{instance\x3dpropValue.stateNode,isCustomComponentTag?(newProps\x3dinstance.style,\x22function\x22\x3d\x3d\x3dtypeof newProps.setProperty?newProps.setProperty(\x22display\x22,\x22none\x22,\x22important\x22):newProps.display\x3d\x22none\x22):\n(type\x3dpropValue.stateNode,updatePayload\x3dpropValue.memoizedProps.style,oldProps\x3dvoid 0!\x3d\x3dupdatePayload\x26\x26null!\x3d\x3dupdatePayload\x26\x26updatePayload.hasOwnProperty(\x22display\x22)?updatePayload.display:null,type.style.display\x3ddangerousStyleValue(\x22display\x22,oldProps))}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}}else if(6\x3d\x3d\x3dpropValue.tag){if(null\x3d\x3d\x3dpropKey)try{propValue.stateNode.nodeValue\x3disCustomComponentTag?\x22\x22:propValue.memoizedProps}catch(error){captureCommitPhaseError(finishedWork,\nfinishedWork.return,error)}}else if((22!\x3d\x3dpropValue.tag\x26\x2623!\x3d\x3dpropValue.tag||null\x3d\x3d\x3dpropValue.memoizedState||propValue\x3d\x3d\x3dfinishedWork)\x26\x26null!\x3d\x3dpropValue.child){propValue.child.return\x3dpropValue;propValue\x3dpropValue.child;continue}if(propValue\x3d\x3d\x3dfinishedWork)break a;for(;null\x3d\x3d\x3dpropValue.sibling;){if(null\x3d\x3d\x3dpropValue.return||propValue.return\x3d\x3d\x3dfinishedWork)break a;propKey\x3d\x3d\x3dpropValue\x26\x26(propKey\x3dnull);propValue\x3dpropValue.return}propKey\x3d\x3d\x3dpropValue\x26\x26(propKey\x3dnull);propValue.sibling.return\x3dpropValue.return;\npropValue\x3dpropValue.sibling}}break;case 19:recursivelyTraverseMutationEffects(root,finishedWork);commitReconciliationEffects(finishedWork);lanes\x264\x26\x26attachSuspenseRetryListeners(finishedWork);break;case 21:break;default:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork)}}function commitReconciliationEffects(finishedWork){var flags\x3dfinishedWork.flags;if(flags\x262){try{a:{for(var parent\x3dfinishedWork.return;null!\x3d\x3dparent;){if(isHostParent(parent)){var parentFiber\x3d\nparent;break a}parent\x3dparent.return}throw Error(\x22Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\x22);}switch(parentFiber.tag){case 5:var parent$jscomp$0\x3dparentFiber.stateNode;parentFiber.flags\x2632\x26\x26(setTextContent(parent$jscomp$0,\x22\x22),parentFiber.flags\x26\x3d-33);var before\x3dgetHostSibling(finishedWork);insertOrAppendPlacementNode(finishedWork,before,parent$jscomp$0);break;case 3:case 4:var _parent\x3dparentFiber.stateNode.containerInfo,_before\x3dgetHostSibling(finishedWork);\ninsertOrAppendPlacementNodeIntoContainer(finishedWork,_before,_parent);break;default:throw Error(\x22Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\x22);}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}finishedWork.flags\x26\x3d-3}flags\x264096\x26\x26(finishedWork.flags\x26\x3d-4097)}function commitLayoutEffects(finishedWork,root,committedLanes){inProgressLanes\x3dcommittedLanes;inProgressRoot\x3droot;nextEffect\x3dfinishedWork;commitLayoutEffects_begin(finishedWork,\nroot,committedLanes);inProgressRoot\x3dinProgressLanes\x3dnull}function commitLayoutEffects_begin(subtreeRoot,root,committedLanes){for(var isModernRoot\x3d0!\x3d\x3d(subtreeRoot.mode\x261);null!\x3d\x3dnextEffect;){var fiber\x3dnextEffect,firstChild\x3dfiber.child;if(22\x3d\x3d\x3dfiber.tag\x26\x26isModernRoot){var newOffscreenSubtreeIsHidden\x3dnull!\x3d\x3dfiber.memoizedState||offscreenSubtreeIsHidden;if(!newOffscreenSubtreeIsHidden){var current\x3dfiber.alternate,newOffscreenSubtreeWasHidden\x3dnull!\x3d\x3dcurrent\x26\x26null!\x3d\x3dcurrent.memoizedState||offscreenSubtreeWasHidden;\ncurrent\x3doffscreenSubtreeIsHidden;var prevOffscreenSubtreeWasHidden\x3doffscreenSubtreeWasHidden;offscreenSubtreeIsHidden\x3dnewOffscreenSubtreeIsHidden;if((offscreenSubtreeWasHidden\x3dnewOffscreenSubtreeWasHidden)\x26\x26!prevOffscreenSubtreeWasHidden)for(newOffscreenSubtreeIsHidden\x3dnextEffect\x3dfiber;null!\x3d\x3dnextEffect;){newOffscreenSubtreeWasHidden\x3dnextEffect;var firstChild$jscomp$0\x3dnewOffscreenSubtreeWasHidden.child;22\x3d\x3d\x3dnewOffscreenSubtreeWasHidden.tag\x26\x26null!\x3d\x3dnewOffscreenSubtreeWasHidden.memoizedState?reappearLayoutEffects_complete(newOffscreenSubtreeIsHidden):\nnull!\x3d\x3dfirstChild$jscomp$0?(firstChild$jscomp$0.return\x3dnewOffscreenSubtreeWasHidden,nextEffect\x3dfirstChild$jscomp$0):reappearLayoutEffects_complete(newOffscreenSubtreeIsHidden)}for(;null!\x3d\x3dfirstChild;)nextEffect\x3dfirstChild,commitLayoutEffects_begin(firstChild,root,committedLanes),firstChild\x3dfirstChild.sibling;nextEffect\x3dfiber;offscreenSubtreeIsHidden\x3dcurrent;offscreenSubtreeWasHidden\x3dprevOffscreenSubtreeWasHidden}commitLayoutMountEffects_complete(subtreeRoot,root,committedLanes)}else 0!\x3d\x3d(fiber.subtreeFlags\x26\n8772)\x26\x26null!\x3d\x3dfirstChild?(firstChild.return\x3dfiber,nextEffect\x3dfirstChild):commitLayoutMountEffects_complete(subtreeRoot,root,committedLanes)}}function commitLayoutMountEffects_complete(subtreeRoot,root,committedLanes){for(;null!\x3d\x3dnextEffect;){root\x3dnextEffect;if(0!\x3d\x3d(root.flags\x268772)){committedLanes\x3droot.alternate;setCurrentFiber(root);try{var current\x3dcommittedLanes;committedLanes\x3droot;if(0!\x3d\x3d(committedLanes.flags\x268772))switch(committedLanes.tag){case 0:case 11:case 15:if(!offscreenSubtreeWasHidden)if(committedLanes.mode\x26\n2)try{startLayoutEffectTimer(),commitHookEffectListMount(Layout|HasEffect,committedLanes)}finally{recordLayoutEffectDuration(committedLanes)}else commitHookEffectListMount(Layout|HasEffect,committedLanes);break;case 1:var instance\x3dcommittedLanes.stateNode;if(committedLanes.flags\x264\x26\x26!offscreenSubtreeWasHidden)if(null\x3d\x3d\x3dcurrent)if(committedLanes.type!\x3d\x3dcommittedLanes.elementType||didWarnAboutReassigningProps||(instance.props!\x3d\x3dcommittedLanes.memoizedProps\x26\x26error$jscomp$0(\x22Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\x22,\ngetComponentNameFromFiber(committedLanes)||\x22instance\x22),instance.state!\x3d\x3dcommittedLanes.memoizedState\x26\x26error$jscomp$0(\x22Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\x22,getComponentNameFromFiber(committedLanes)||\x22instance\x22)),committedLanes.mode\x262)try{startLayoutEffectTimer(),instance.componentDidMount()}finally{recordLayoutEffectDuration(committedLanes)}else instance.componentDidMount();\nelse{var prevProps\x3dcommittedLanes.elementType\x3d\x3d\x3dcommittedLanes.type?current.memoizedProps:resolveDefaultProps(committedLanes.type,current.memoizedProps),prevState\x3dcurrent.memoizedState;committedLanes.type!\x3d\x3dcommittedLanes.elementType||didWarnAboutReassigningProps||(instance.props!\x3d\x3dcommittedLanes.memoizedProps\x26\x26error$jscomp$0(\x22Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\x22,\ngetComponentNameFromFiber(committedLanes)||\x22instance\x22),instance.state!\x3d\x3dcommittedLanes.memoizedState\x26\x26error$jscomp$0(\x22Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\x22,getComponentNameFromFiber(committedLanes)||\x22instance\x22));if(committedLanes.mode\x262)try{startLayoutEffectTimer(),instance.componentDidUpdate(prevProps,prevState,instance.__reactInternalSnapshotBeforeUpdate)}finally{recordLayoutEffectDuration(committedLanes)}else instance.componentDidUpdate(prevProps,\nprevState,instance.__reactInternalSnapshotBeforeUpdate)}var updateQueue\x3dcommittedLanes.updateQueue;null!\x3d\x3dupdateQueue\x26\x26(committedLanes.type!\x3d\x3dcommittedLanes.elementType||didWarnAboutReassigningProps||(instance.props!\x3d\x3dcommittedLanes.memoizedProps\x26\x26error$jscomp$0(\x22Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\x22,getComponentNameFromFiber(committedLanes)||\n\x22instance\x22),instance.state!\x3d\x3dcommittedLanes.memoizedState\x26\x26error$jscomp$0(\x22Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\x22,getComponentNameFromFiber(committedLanes)||\x22instance\x22)),commitUpdateQueue(committedLanes,updateQueue,instance));break;case 3:var _updateQueue\x3dcommittedLanes.updateQueue;if(null!\x3d\x3d_updateQueue){var _instance\x3dnull;if(null!\x3d\x3d\ncommittedLanes.child)switch(committedLanes.child.tag){case 5:_instance\x3dcommittedLanes.child.stateNode;break;case 1:_instance\x3dcommittedLanes.child.stateNode}commitUpdateQueue(committedLanes,_updateQueue,_instance)}break;case 5:var _instance2\x3dcommittedLanes.stateNode;if(null\x3d\x3d\x3dcurrent\x26\x26committedLanes.flags\x264){_instance\x3d_instance2;var newProps\x3dcommittedLanes.memoizedProps;switch(committedLanes.type){case \x22button\x22:case \x22input\x22:case \x22select\x22:case \x22textarea\x22:newProps.autoFocus\x26\x26_instance.focus();break;\ncase \x22img\x22:newProps.src\x26\x26(_instance.src\x3dnewProps.src)}}break;case 6:break;case 4:break;case 12:var _finishedWork$memoize2\x3dcommittedLanes.memoizedProps,onCommit\x3d_finishedWork$memoize2.onCommit,onRender\x3d_finishedWork$memoize2.onRender,effectDuration\x3dcommittedLanes.stateNode.effectDuration;_instance\x3dcommitTime;current\x3dnull\x3d\x3d\x3dcurrent?\x22mount\x22:\x22update\x22;currentUpdateIsNested\x26\x26(current\x3d\x22nested-update\x22);\x22function\x22\x3d\x3d\x3dtypeof onRender\x26\x26onRender(committedLanes.memoizedProps.id,current,committedLanes.actualDuration,\ncommittedLanes.treeBaseDuration,committedLanes.actualStartTime,_instance);\x22function\x22\x3d\x3d\x3dtypeof onCommit\x26\x26onCommit(committedLanes.memoizedProps.id,current,effectDuration,_instance);enqueuePendingPassiveProfilerEffect(committedLanes);var parentFiber\x3dcommittedLanes.return;a:for(;null!\x3d\x3dparentFiber;){switch(parentFiber.tag){case 3:parentFiber.stateNode.effectDuration+\x3deffectDuration;break a;case 12:parentFiber.stateNode.effectDuration+\x3deffectDuration;break a}parentFiber\x3dparentFiber.return}break;case 13:if(null\x3d\x3d\x3d\ncommittedLanes.memoizedState){var current$jscomp$0\x3dcommittedLanes.alternate;if(null!\x3d\x3dcurrent$jscomp$0){var prevState$jscomp$0\x3dcurrent$jscomp$0.memoizedState;if(null!\x3d\x3dprevState$jscomp$0){var suspenseInstance\x3dprevState$jscomp$0.dehydrated;null!\x3d\x3dsuspenseInstance\x26\x26retryIfBlockedOn(suspenseInstance)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(\x22This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\x22);\n}offscreenSubtreeWasHidden||committedLanes.flags\x26512\x26\x26commitAttachRef(committedLanes)}catch(error){captureCommitPhaseError(root,root.return,error)}resetCurrentFiber()}if(root\x3d\x3d\x3dsubtreeRoot){nextEffect\x3dnull;break}committedLanes\x3droot.sibling;if(null!\x3d\x3dcommittedLanes){committedLanes.return\x3droot.return;nextEffect\x3dcommittedLanes;break}nextEffect\x3droot.return}}function disappearLayoutEffects_complete(subtreeRoot){for(;null!\x3d\x3dnextEffect;){var fiber\x3dnextEffect;if(fiber\x3d\x3d\x3dsubtreeRoot){nextEffect\x3dnull;break}var sibling\x3d\nfiber.sibling;if(null!\x3d\x3dsibling){sibling.return\x3dfiber.return;nextEffect\x3dsibling;break}nextEffect\x3dfiber.return}}function reappearLayoutEffects_complete(subtreeRoot){for(;null!\x3d\x3dnextEffect;){var fiber\x3dnextEffect;setCurrentFiber(fiber);try{var node\x3dfiber;switch(node.tag){case 0:case 11:case 15:if(node.mode\x262)try{startLayoutEffectTimer();var current\x3dnode,nearestMountedAncestor\x3dnode.return;try{commitHookEffectListMount(Layout,current)}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,\nerror)}}finally{recordLayoutEffectDuration(node)}else{current\x3dnode;var nearestMountedAncestor$jscomp$0\x3dnode.return;try{commitHookEffectListMount(Layout,current)}catch(error){captureCommitPhaseError(current,nearestMountedAncestor$jscomp$0,error)}}break;case 1:var instance\x3dnode.stateNode;if(\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidMount){current\x3dnode;var nearestMountedAncestor$jscomp$1\x3dnode.return;try{instance.componentDidMount()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor$jscomp$1,\nerror)}}current\x3dnode;var nearestMountedAncestor$jscomp$2\x3dnode.return;try{commitAttachRef(current)}catch(error){captureCommitPhaseError(current,nearestMountedAncestor$jscomp$2,error)}break;case 5:current\x3dnode;var nearestMountedAncestor$jscomp$3\x3dnode.return;try{commitAttachRef(current)}catch(error){captureCommitPhaseError(current,nearestMountedAncestor$jscomp$3,error)}}}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}resetCurrentFiber();if(fiber\x3d\x3d\x3dsubtreeRoot){nextEffect\x3dnull;break}node\x3d\nfiber.sibling;if(null!\x3d\x3dnode){node.return\x3dfiber.return;nextEffect\x3dnode;break}nextEffect\x3dfiber.return}}function invokeLayoutEffectMountInDEV(fiber){switch(fiber.tag){case 0:case 11:case 15:try{commitHookEffectListMount(Layout|HasEffect,fiber)}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}break;case 1:var instance\x3dfiber.stateNode;try{instance.componentDidMount()}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}}}function invokePassiveEffectMountInDEV(fiber){switch(fiber.tag){case 0:case 11:case 15:try{commitHookEffectListMount(Passive$1|\nHasEffect,fiber)}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}}}function invokeLayoutEffectUnmountInDEV(fiber){switch(fiber.tag){case 0:case 11:case 15:try{commitHookEffectListUnmount(Layout|HasEffect,fiber,fiber.return)}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}break;case 1:var instance\x3dfiber.stateNode;\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillUnmount\x26\x26safelyCallComponentWillUnmount(fiber,fiber.return,instance)}}function invokePassiveEffectUnmountInDEV(fiber){switch(fiber.tag){case 0:case 11:case 15:try{commitHookEffectListUnmount(Passive$1|\nHasEffect,fiber,fiber.return)}catch(error){captureCommitPhaseError(fiber,fiber.return,error)}}}function onCommitRoot$1(){commitHooks.forEach(function(commitHook){return commitHook()})}function isConcurrentActEnvironment(){var isReactActEnvironmentGlobal\x3d\x22undefined\x22!\x3d\x3dtypeof IS_REACT_ACT_ENVIRONMENT?IS_REACT_ACT_ENVIRONMENT:void 0;isReactActEnvironmentGlobal||null\x3d\x3d\x3dReactCurrentActQueue.current||error$jscomp$0(\x22The current testing environment is not configured to support act(...)\x22);return isReactActEnvironmentGlobal}\nfunction resetRenderTimer(){workInProgressRootRenderTargetTime\x3dnow()+RENDER_TIMEOUT_MS}function requestEventTime(){return(executionContext\x26(RenderContext|CommitContext))!\x3d\x3dNoContext?now():-1!\x3d\x3dcurrentEventTime?currentEventTime:currentEventTime\x3dnow()}function requestUpdateLane(fiber){if(0\x3d\x3d\x3d(fiber.mode\x261))return SyncLane;if((executionContext\x26RenderContext)!\x3d\x3dNoContext\x26\x260!\x3d\x3dworkInProgressRootRenderLanes)return workInProgressRootRenderLanes\x26-workInProgressRootRenderLanes;if(null!\x3d\x3dReactCurrentBatchConfig$1.transition){if(null!\x3d\x3d\nReactCurrentBatchConfig$3.transition){var transition\x3dReactCurrentBatchConfig$3.transition;transition._updatedFibers||(transition._updatedFibers\x3dnew Set);transition._updatedFibers.add(fiber)}0\x3d\x3d\x3dcurrentEventTransitionLane\x26\x26(currentEventTransitionLane\x3dclaimNextTransitionLane());return currentEventTransitionLane}fiber\x3dcurrentUpdatePriority;if(0!\x3d\x3dfiber)return fiber;fiber\x3dwindow.event;fiber\x3dvoid 0\x3d\x3d\x3dfiber?DefaultEventPriority:getEventPriority(fiber.type);return fiber}function scheduleUpdateOnFiber(root,\nfiber,lane,eventTime){if(nestedUpdateCount\x3eNESTED_UPDATE_LIMIT)throw nestedUpdateCount\x3d0,rootWithNestedUpdates\x3dnull,Error(\x22Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\x22);nestedPassiveUpdateCount\x3eNESTED_PASSIVE_UPDATE_LIMIT\x26\x26(nestedPassiveUpdateCount\x3d0,rootWithPassiveNestedUpdates\x3dnull,error$jscomp$0(\x22Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn\x27t have a dependency array, or one of the dependencies changes on every render.\x22));\nisRunningInsertionEffect\x26\x26error$jscomp$0(\x22useInsertionEffect must not schedule updates.\x22);isFlushingPassiveEffects\x26\x26(didScheduleUpdateDuringPassiveEffects\x3d!0);markRootUpdated(root,lane,eventTime);if(0!\x3d\x3d(executionContext\x26RenderContext)\x26\x26root\x3d\x3d\x3dworkInProgressRoot){if(isRendering\x26\x26!isUpdatingOpaqueValueInRenderPhase)switch(fiber.tag){case 0:case 11:case 15:root\x3dworkInProgress\x26\x26getComponentNameFromFiber(workInProgress)||\x22Unknown\x22;didWarnAboutUpdateInRenderForAnotherComponent.has(root)||(didWarnAboutUpdateInRenderForAnotherComponent.add(root),\nfiber\x3dgetComponentNameFromFiber(fiber)||\x22Unknown\x22,error$jscomp$0(\x22Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render\x22,fiber,root,root));break;case 1:didWarnAboutUpdateInRender||(error$jscomp$0(\x22Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.\x22),didWarnAboutUpdateInRender\x3d\n!0)}}else{isDevToolsPresent\x26\x26addFiberToLanesMap(root,fiber,lane);a:{if(fiber.mode\x261){if(!isConcurrentActEnvironment())break a}else{var JSCompiler_inline_result\x3d\x22undefined\x22!\x3d\x3dtypeof IS_REACT_ACT_ENVIRONMENT?IS_REACT_ACT_ENVIRONMENT:void 0;JSCompiler_inline_result\x3d\x22undefined\x22!\x3d\x3dtypeof jest\x26\x26!1!\x3d\x3dJSCompiler_inline_result;if(!JSCompiler_inline_result||executionContext!\x3d\x3dNoContext||0!\x3d\x3dfiber.tag\x26\x2611!\x3d\x3dfiber.tag\x26\x2615!\x3d\x3dfiber.tag)break a}if(null\x3d\x3d\x3dReactCurrentActQueue$1.current){JSCompiler_inline_result\x3d\ncurrent;try{setCurrentFiber(fiber),error$jscomp$0(\x22An update to %s inside a test was not wrapped in act(...).\\n\\nWhen testing, code that causes React state updates should be wrapped into act(...):\\n\\nact(() \\x3d\\x3e {\\n /* fire events that update state */\\n});\\n/* assert on the output */\\n\\nThis ensures that you\x27re testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act\x22,getComponentNameFromFiber(fiber))}finally{JSCompiler_inline_result?\nsetCurrentFiber(fiber):resetCurrentFiber()}}}root\x3d\x3d\x3dworkInProgressRoot\x26\x26((executionContext\x26RenderContext)\x3d\x3d\x3dNoContext\x26\x26(workInProgressRootInterleavedUpdatedLanes|\x3dlane),workInProgressRootExitStatus\x3d\x3d\x3dRootSuspendedWithDelay\x26\x26markRootSuspended$1(root,workInProgressRootRenderLanes));ensureRootIsScheduled(root,eventTime);lane!\x3d\x3dSyncLane||executionContext!\x3d\x3dNoContext||0!\x3d\x3d(fiber.mode\x261)||ReactCurrentActQueue$1.isBatchingLegacy||(resetRenderTimer(),includesLegacySyncCallbacks\x26\x26flushSyncCallbacks())}}function ensureRootIsScheduled(root,\ncurrentTime){var existingCallbackNode\x3droot.callbackNode;markStarvedLanesAsExpired(root,currentTime);var nextLanes\x3dgetNextLanes(root,root\x3d\x3d\x3dworkInProgressRoot?workInProgressRootRenderLanes:0);if(0\x3d\x3d\x3dnextLanes)null!\x3d\x3dexistingCallbackNode\x26\x26cancelCallback$1(existingCallbackNode),root.callbackNode\x3dnull,root.callbackPriority\x3d0;else{currentTime\x3dnextLanes\x26-nextLanes;var existingCallbackPriority\x3droot.callbackPriority;if(existingCallbackPriority!\x3d\x3dcurrentTime||null!\x3d\x3dReactCurrentActQueue$1.current\x26\x26existingCallbackNode!\x3d\x3d\nfakeActCallbackNode){null!\x3dexistingCallbackNode\x26\x26cancelCallback$1(existingCallbackNode);if(currentTime\x3d\x3d\x3dSyncLane)0\x3d\x3d\x3droot.tag?(null!\x3d\x3dReactCurrentActQueue$1.isBatchingLegacy\x26\x26(ReactCurrentActQueue$1.didScheduleLegacyUpdate\x3d!0),scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null,root))):scheduleSyncCallback(performSyncWorkOnRoot.bind(null,root)),null!\x3d\x3dReactCurrentActQueue$1.current?ReactCurrentActQueue$1.current.push(flushSyncCallbacks):scheduleMicrotask(function(){(executionContext\x26(RenderContext|\nCommitContext))\x3d\x3d\x3dNoContext\x26\x26flushSyncCallbacks()}),existingCallbackNode\x3dnull;else{switch(lanesToEventPriority(nextLanes)){case DiscreteEventPriority:existingCallbackNode\x3dImmediatePriority;break;case ContinuousEventPriority:existingCallbackNode\x3dUserBlockingPriority;break;case DefaultEventPriority:existingCallbackNode\x3dNormalPriority;break;case IdleEventPriority:existingCallbackNode\x3dIdlePriority;break;default:existingCallbackNode\x3dNormalPriority}existingCallbackNode\x3dscheduleCallback$1(existingCallbackNode,\nperformConcurrentWorkOnRoot.bind(null,root))}root.callbackPriority\x3dcurrentTime;root.callbackNode\x3dexistingCallbackNode}else null\x3d\x3dexistingCallbackNode\x26\x26existingCallbackPriority!\x3d\x3dSyncLane\x26\x26error$jscomp$0(\x22Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.\x22)}}function performConcurrentWorkOnRoot(root,didTimeout){nestedUpdateScheduled\x3dcurrentUpdateIsNested\x3d!1;currentEventTime\x3d-1;currentEventTransitionLane\x3d0;if((executionContext\x26(RenderContext|CommitContext))!\x3d\x3d\nNoContext)throw Error(\x22Should not already be working.\x22);var originalCallbackNode\x3droot.callbackNode;if(flushPassiveEffects()\x26\x26root.callbackNode!\x3d\x3doriginalCallbackNode)return null;var lanes\x3dgetNextLanes(root,root\x3d\x3d\x3dworkInProgressRoot?workInProgressRootRenderLanes:0);if(0\x3d\x3d\x3dlanes)return null;if(0!\x3d\x3d(lanes\x26(InputContinuousHydrationLane|InputContinuousLane|DefaultHydrationLane|DefaultLane))||0!\x3d\x3d(lanes\x26root.expiredLanes)||didTimeout)didTimeout\x3drenderRootSync(root,lanes);else{didTimeout\x3dlanes;var prevExecutionContext\x3d\nexecutionContext;executionContext|\x3dRenderContext;var prevDispatcher\x3dpushDispatcher();if(workInProgressRoot!\x3d\x3droot||workInProgressRootRenderLanes!\x3d\x3ddidTimeout){if(isDevToolsPresent){var memoizedUpdaters\x3droot.memoizedUpdaters;0\x3cmemoizedUpdaters.size\x26\x26(restorePendingUpdaters(root,workInProgressRootRenderLanes),memoizedUpdaters.clear());movePendingFibersToMemoized(root,didTimeout)}workInProgressTransitions\x3dnull;resetRenderTimer();prepareFreshStack(root,didTimeout)}markRenderStarted(didTimeout);do try{workLoopConcurrent();\nbreak}catch(thrownValue){handleError(root,thrownValue)}while(1);resetContextDependencies();ReactCurrentDispatcher$2.current\x3dprevDispatcher;executionContext\x3dprevExecutionContext;null!\x3d\x3dworkInProgress?(null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markRenderYielded\x26\x26injectedProfilingHooks.markRenderYielded(),didTimeout\x3dRootInProgress):(markRenderStopped(),workInProgressRoot\x3dnull,workInProgressRootRenderLanes\x3d0,didTimeout\x3dworkInProgressRootExitStatus)}if(didTimeout!\x3d\x3dRootInProgress){didTimeout\x3d\x3d\x3d\nRootErrored\x26\x26(prevExecutionContext\x3dgetLanesToRetrySynchronouslyOnError(root),0!\x3d\x3dprevExecutionContext\x26\x26(lanes\x3dprevExecutionContext,didTimeout\x3drecoverFromConcurrentError(root,prevExecutionContext)));if(didTimeout\x3d\x3d\x3dRootFatalErrored)throw originalCallbackNode\x3dworkInProgressRootFatalError,prepareFreshStack(root,0),markRootSuspended$1(root,lanes),ensureRootIsScheduled(root,now()),originalCallbackNode;if(didTimeout\x3d\x3d\x3dRootDidNotComplete)markRootSuspended$1(root,lanes);else{prevExecutionContext\x3droot.current.alternate;\nif(0\x3d\x3d\x3d(lanes\x26(InputContinuousHydrationLane|InputContinuousLane|DefaultHydrationLane|DefaultLane))\x26\x26!isRenderConsistentWithExternalStores(prevExecutionContext)\x26\x26(didTimeout\x3drenderRootSync(root,lanes),didTimeout\x3d\x3d\x3dRootErrored\x26\x26(prevDispatcher\x3dgetLanesToRetrySynchronouslyOnError(root),0!\x3d\x3dprevDispatcher\x26\x26(lanes\x3dprevDispatcher,didTimeout\x3drecoverFromConcurrentError(root,prevDispatcher))),didTimeout\x3d\x3d\x3dRootFatalErrored))throw originalCallbackNode\x3dworkInProgressRootFatalError,prepareFreshStack(root,0),markRootSuspended$1(root,\nlanes),ensureRootIsScheduled(root,now()),originalCallbackNode;root.finishedWork\x3dprevExecutionContext;root.finishedLanes\x3dlanes;switch(didTimeout){case RootInProgress:case RootFatalErrored:throw Error(\x22Root did not complete. This is a bug in React.\x22);case RootErrored:commitRoot(root,workInProgressRootRecoverableErrors,workInProgressTransitions);break;case RootSuspended:markRootSuspended$1(root,lanes);if((lanes\x26RetryLanes)\x3d\x3d\x3dlanes\x26\x26null\x3d\x3d\x3dReactCurrentActQueue$1.current\x26\x26(didTimeout\x3dglobalMostRecentFallbackTime+\nFALLBACK_THROTTLE_MS-now(),10\x3cdidTimeout)){if(0!\x3d\x3dgetNextLanes(root,0))break;prevExecutionContext\x3droot.suspendedLanes;if((prevExecutionContext\x26lanes)!\x3d\x3dlanes){requestEventTime();root.pingedLanes|\x3droot.suspendedLanes\x26prevExecutionContext;break}root.timeoutHandle\x3dscheduleTimeout(commitRoot.bind(null,root,workInProgressRootRecoverableErrors,workInProgressTransitions),didTimeout);break}commitRoot(root,workInProgressRootRecoverableErrors,workInProgressTransitions);break;case RootSuspendedWithDelay:markRootSuspended$1(root,\nlanes);if((lanes\x26TransitionLanes)\x3d\x3d\x3dlanes)break;if(null\x3d\x3d\x3dReactCurrentActQueue$1.current){didTimeout\x3droot.eventTimes;for(prevExecutionContext\x3d-1;0\x3clanes;)memoizedUpdaters\x3d31-clz32(lanes),prevDispatcher\x3d1\x3c\x3cmemoizedUpdaters,memoizedUpdaters\x3ddidTimeout[memoizedUpdaters],memoizedUpdaters\x3eprevExecutionContext\x26\x26(prevExecutionContext\x3dmemoizedUpdaters),lanes\x26\x3d~prevDispatcher;lanes\x3dprevExecutionContext;lanes\x3dnow()-lanes;lanes\x3d(120\x3elanes?120:480\x3elanes?480:1080\x3elanes?1080:1920\x3elanes?1920:3E3\x3elanes?3E3:4320\x3e\nlanes?4320:1960*ceil(lanes/1960))-lanes;if(10\x3clanes){root.timeoutHandle\x3dscheduleTimeout(commitRoot.bind(null,root,workInProgressRootRecoverableErrors,workInProgressTransitions),lanes);break}}commitRoot(root,workInProgressRootRecoverableErrors,workInProgressTransitions);break;case RootCompleted:commitRoot(root,workInProgressRootRecoverableErrors,workInProgressTransitions);break;default:throw Error(\x22Unknown root exit status.\x22);}}}ensureRootIsScheduled(root,now());return root.callbackNode\x3d\x3d\x3doriginalCallbackNode?\nperformConcurrentWorkOnRoot.bind(null,root):null}function recoverFromConcurrentError(root,errorRetryLanes){var errorsFromFirstAttempt\x3dworkInProgressRootConcurrentErrors;root.current.memoizedState.isDehydrated\x26\x26(prepareFreshStack(root,errorRetryLanes).flags|\x3d256,error$jscomp$0(\x22An error occurred during hydration. The server HTML was replaced with client content in \\x3c%s\\x3e.\x22,root.containerInfo.nodeName.toLowerCase()));root\x3drenderRootSync(root,errorRetryLanes);root!\x3d\x3dRootErrored\x26\x26(errorRetryLanes\x3d\nworkInProgressRootRecoverableErrors,workInProgressRootRecoverableErrors\x3derrorsFromFirstAttempt,null!\x3d\x3derrorRetryLanes\x26\x26queueRecoverableErrors(errorRetryLanes));return root}function queueRecoverableErrors(errors){null\x3d\x3d\x3dworkInProgressRootRecoverableErrors?workInProgressRootRecoverableErrors\x3derrors:workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors,errors)}function isRenderConsistentWithExternalStores(finishedWork){for(var node\x3dfinishedWork;;){if(node.flags\x2616384){var updateQueue\x3d\nnode.updateQueue;if(null!\x3d\x3dupdateQueue\x26\x26(updateQueue\x3dupdateQueue.stores,null!\x3d\x3dupdateQueue))for(var i\x3d0;i\x3cupdateQueue.length;i++){var check\x3dupdateQueue[i],getSnapshot\x3dcheck.getSnapshot;check\x3dcheck.value;try{if(!objectIs(getSnapshot(),check))return!1}catch(error){return!1}}}updateQueue\x3dnode.child;if(node.subtreeFlags\x2616384\x26\x26null!\x3d\x3dupdateQueue)updateQueue.return\x3dnode,node\x3dupdateQueue;else{if(node\x3d\x3d\x3dfinishedWork)break;for(;null\x3d\x3d\x3dnode.sibling;){if(null\x3d\x3d\x3dnode.return||node.return\x3d\x3d\x3dfinishedWork)return!0;\nnode\x3dnode.return}node.sibling.return\x3dnode.return;node\x3dnode.sibling}}return!0}function markRootSuspended$1(root,suspendedLanes){suspendedLanes\x26\x3d~workInProgressRootPingedLanes;suspendedLanes\x26\x3d~workInProgressRootInterleavedUpdatedLanes;root.suspendedLanes|\x3dsuspendedLanes;root.pingedLanes\x26\x3d~suspendedLanes;for(root\x3droot.expirationTimes;0\x3csuspendedLanes;){var index\x3d31-clz32(suspendedLanes),lane\x3d1\x3c\x3cindex;root[index]\x3d-1;suspendedLanes\x26\x3d~lane}}function performSyncWorkOnRoot(root){currentUpdateIsNested\x3dnestedUpdateScheduled;\nnestedUpdateScheduled\x3d!1;if((executionContext\x26(RenderContext|CommitContext))!\x3d\x3dNoContext)throw Error(\x22Should not already be working.\x22);flushPassiveEffects();var lanes\x3dgetNextLanes(root,0);if(0\x3d\x3d\x3d(lanes\x26SyncLane))return ensureRootIsScheduled(root,now()),null;var exitStatus\x3drenderRootSync(root,lanes);if(0!\x3d\x3droot.tag\x26\x26exitStatus\x3d\x3d\x3dRootErrored){var errorRetryLanes\x3dgetLanesToRetrySynchronouslyOnError(root);0!\x3d\x3derrorRetryLanes\x26\x26(lanes\x3derrorRetryLanes,exitStatus\x3drecoverFromConcurrentError(root,errorRetryLanes))}if(exitStatus\x3d\x3d\x3d\nRootFatalErrored)throw exitStatus\x3dworkInProgressRootFatalError,prepareFreshStack(root,0),markRootSuspended$1(root,lanes),ensureRootIsScheduled(root,now()),exitStatus;if(exitStatus\x3d\x3d\x3dRootDidNotComplete)throw Error(\x22Root did not complete. This is a bug in React.\x22);root.finishedWork\x3droot.current.alternate;root.finishedLanes\x3dlanes;commitRoot(root,workInProgressRootRecoverableErrors,workInProgressTransitions);ensureRootIsScheduled(root,now());return null}function flushRoot(root,lanes){0!\x3d\x3dlanes\x26\x26(markRootEntangled(root,\nlanes|SyncLane),ensureRootIsScheduled(root,now()),(executionContext\x26(RenderContext|CommitContext))\x3d\x3d\x3dNoContext\x26\x26(resetRenderTimer(),flushSyncCallbacks()))}function batchedUpdates$1(fn,a){var prevExecutionContext\x3dexecutionContext;executionContext|\x3d1;try{return fn(a)}finally{executionContext\x3dprevExecutionContext,executionContext!\x3d\x3dNoContext||ReactCurrentActQueue$1.isBatchingLegacy||(resetRenderTimer(),includesLegacySyncCallbacks\x26\x26flushSyncCallbacks())}}function flushSync(fn){null!\x3d\x3drootWithPendingPassiveEffects\x26\x26\n0\x3d\x3d\x3drootWithPendingPassiveEffects.tag\x26\x26(executionContext\x26(RenderContext|CommitContext))\x3d\x3d\x3dNoContext\x26\x26flushPassiveEffects();var prevExecutionContext\x3dexecutionContext;executionContext|\x3d1;var prevTransition\x3dReactCurrentBatchConfig$3.transition,previousPriority\x3dcurrentUpdatePriority;try{if(ReactCurrentBatchConfig$3.transition\x3dnull,currentUpdatePriority\x3dDiscreteEventPriority,fn)return fn()}finally{currentUpdatePriority\x3dpreviousPriority,ReactCurrentBatchConfig$3.transition\x3dprevTransition,executionContext\x3d\nprevExecutionContext,(executionContext\x26(RenderContext|CommitContext))\x3d\x3d\x3dNoContext\x26\x26flushSyncCallbacks()}}function pushRenderLanes(fiber,lanes){push(subtreeRenderLanesCursor,subtreeRenderLanes,fiber);subtreeRenderLanes|\x3dlanes}function popRenderLanes(fiber){subtreeRenderLanes\x3dsubtreeRenderLanesCursor.current;pop(subtreeRenderLanesCursor,fiber)}function prepareFreshStack(root,lanes){root.finishedWork\x3dnull;root.finishedLanes\x3d0;var timeoutHandle\x3droot.timeoutHandle;-1!\x3d\x3dtimeoutHandle\x26\x26(root.timeoutHandle\x3d\n-1,cancelTimeout(timeoutHandle));if(null!\x3d\x3dworkInProgress)for(timeoutHandle\x3dworkInProgress.return;null!\x3d\x3dtimeoutHandle;)unwindInterruptedWork(timeoutHandle.alternate,timeoutHandle),timeoutHandle\x3dtimeoutHandle.return;workInProgressRoot\x3droot;workInProgress\x3droot\x3dcreateWorkInProgress(root.current,null);workInProgressRootRenderLanes\x3dsubtreeRenderLanes\x3dlanes;workInProgressRootExitStatus\x3dRootInProgress;workInProgressRootFatalError\x3dnull;workInProgressRootPingedLanes\x3dworkInProgressRootInterleavedUpdatedLanes\x3d\nworkInProgressRootSkippedLanes\x3d0;workInProgressRootRecoverableErrors\x3dworkInProgressRootConcurrentErrors\x3dnull;if(null!\x3d\x3dconcurrentQueues){for(lanes\x3d0;lanes\x3cconcurrentQueues.length;lanes++){timeoutHandle\x3dconcurrentQueues[lanes];var lastInterleavedUpdate\x3dtimeoutHandle.interleaved;if(null!\x3d\x3dlastInterleavedUpdate){timeoutHandle.interleaved\x3dnull;var firstInterleavedUpdate\x3dlastInterleavedUpdate.next,lastPendingUpdate\x3dtimeoutHandle.pending;if(null!\x3d\x3dlastPendingUpdate){var firstPendingUpdate\x3dlastPendingUpdate.next;\nlastPendingUpdate.next\x3dfirstInterleavedUpdate;lastInterleavedUpdate.next\x3dfirstPendingUpdate}timeoutHandle.pending\x3dlastInterleavedUpdate}}concurrentQueues\x3dnull}ReactStrictModeWarnings.discardPendingWarnings();return root}function handleError(root$jscomp$0,thrownValue){do{var erroredWork\x3dworkInProgress;try{resetContextDependencies();resetHooksAfterThrow();resetCurrentFiber();ReactCurrentOwner$2.current\x3dnull;if(null\x3d\x3d\x3derroredWork||null\x3d\x3d\x3derroredWork.return){workInProgressRootExitStatus\x3dRootFatalErrored;\nworkInProgressRootFatalError\x3dthrownValue;workInProgress\x3dnull;break}erroredWork.mode\x262\x26\x26stopProfilerTimerIfRunningAndRecordDelta(erroredWork,!0);markComponentRenderStopped();if(null!\x3d\x3dthrownValue\x26\x26\x22object\x22\x3d\x3d\x3dtypeof thrownValue\x26\x26\x22function\x22\x3d\x3d\x3dtypeof thrownValue.then){var wakeable\x3dthrownValue;null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentSuspended\x26\x26injectedProfilingHooks.markComponentSuspended(erroredWork,wakeable,workInProgressRootRenderLanes)}else null!\x3d\x3dinjectedProfilingHooks\x26\x26\n\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markComponentErrored\x26\x26injectedProfilingHooks.markComponentErrored(erroredWork,thrownValue,workInProgressRootRenderLanes);a:{var root\x3droot$jscomp$0,returnFiber\x3derroredWork.return,sourceFiber\x3derroredWork;wakeable\x3dthrownValue;thrownValue\x3dworkInProgressRootRenderLanes;sourceFiber.flags|\x3d32768;isDevToolsPresent\x26\x26restorePendingUpdaters(root,thrownValue);if(null!\x3d\x3dwakeable\x26\x26\x22object\x22\x3d\x3d\x3dtypeof wakeable\x26\x26\x22function\x22\x3d\x3d\x3dtypeof wakeable.then){var wakeable$jscomp$0\x3dwakeable,\nsourceFiber$jscomp$0\x3dsourceFiber,tag\x3dsourceFiber$jscomp$0.tag;if(0\x3d\x3d\x3d(sourceFiber$jscomp$0.mode\x261)\x26\x26(0\x3d\x3d\x3dtag||11\x3d\x3d\x3dtag||15\x3d\x3d\x3dtag)){var currentSource\x3dsourceFiber$jscomp$0.alternate;currentSource?(sourceFiber$jscomp$0.updateQueue\x3dcurrentSource.updateQueue,sourceFiber$jscomp$0.memoizedState\x3dcurrentSource.memoizedState,sourceFiber$jscomp$0.lanes\x3dcurrentSource.lanes):(sourceFiber$jscomp$0.updateQueue\x3dnull,sourceFiber$jscomp$0.memoizedState\x3dnull)}isHydrating\x26\x26sourceFiber.mode\x261\x26\x26(didSuspendOrErrorDEV\x3d!0);\nvar suspenseBoundary\x3dgetNearestSuspenseBoundaryToCapture(returnFiber);if(null!\x3d\x3dsuspenseBoundary){suspenseBoundary.flags\x26\x3d-257;markSuspenseBoundaryShouldCapture(suspenseBoundary,returnFiber,sourceFiber,root,thrownValue);suspenseBoundary.mode\x261\x26\x26attachPingListener(root,wakeable$jscomp$0,thrownValue);thrownValue\x3dsuspenseBoundary;wakeable\x3dwakeable$jscomp$0;var wakeables\x3dthrownValue.updateQueue;if(null\x3d\x3d\x3dwakeables){var updateQueue\x3dnew Set;updateQueue.add(wakeable);thrownValue.updateQueue\x3dupdateQueue}else wakeables.add(wakeable);\nbreak a}else{if(0\x3d\x3d\x3d(thrownValue\x26SyncLane)){attachPingListener(root,wakeable$jscomp$0,thrownValue);renderDidSuspendDelayIfPossible();break a}wakeable\x3dError(\x22A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.\x22)}}else if(isHydrating\x26\x26sourceFiber.mode\x261){didSuspendOrErrorDEV\x3d!0;var _suspenseBoundary\x3dgetNearestSuspenseBoundaryToCapture(returnFiber);if(null!\x3d\x3d_suspenseBoundary){0\x3d\x3d\x3d\n(_suspenseBoundary.flags\x2665536)\x26\x26(_suspenseBoundary.flags|\x3d256);markSuspenseBoundaryShouldCapture(_suspenseBoundary,returnFiber,sourceFiber,root,thrownValue);queueHydrationError(createCapturedValueAtFiber(wakeable,sourceFiber));break a}}root\x3dwakeable\x3dcreateCapturedValueAtFiber(wakeable,sourceFiber);workInProgressRootExitStatus!\x3d\x3dRootSuspendedWithDelay\x26\x26(workInProgressRootExitStatus\x3dRootErrored);null\x3d\x3d\x3dworkInProgressRootConcurrentErrors?workInProgressRootConcurrentErrors\x3d[root]:workInProgressRootConcurrentErrors.push(root);\nroot\x3dreturnFiber;do{switch(root.tag){case 3:root.flags|\x3d65536;thrownValue\x26\x3d-thrownValue;root.lanes|\x3dthrownValue;var update\x3dcreateRootErrorUpdate(root,wakeable,thrownValue);enqueueCapturedUpdate(root,update);break a;case 1:sourceFiber\x3dwakeable;var ctor\x3droot.type,instance\x3droot.stateNode;if(0\x3d\x3d\x3d(root.flags\x26128)\x26\x26(\x22function\x22\x3d\x3d\x3dtypeof ctor.getDerivedStateFromError||null!\x3d\x3dinstance\x26\x26\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidCatch\x26\x26(null\x3d\x3d\x3dlegacyErrorBoundariesThatAlreadyFailed||!legacyErrorBoundariesThatAlreadyFailed.has(instance)))){root.flags|\x3d\n65536;thrownValue\x26\x3d-thrownValue;root.lanes|\x3dthrownValue;var _update\x3dcreateClassErrorUpdate(root,sourceFiber,thrownValue);enqueueCapturedUpdate(root,_update);break a}}root\x3droot.return}while(null!\x3d\x3droot)}completeUnitOfWork(erroredWork)}catch(yetAnotherThrownValue){thrownValue\x3dyetAnotherThrownValue;workInProgress\x3d\x3d\x3derroredWork\x26\x26null!\x3d\x3derroredWork\x26\x26(workInProgress\x3derroredWork\x3derroredWork.return);continue}break}while(1)}function pushDispatcher(){var prevDispatcher\x3dReactCurrentDispatcher$2.current;ReactCurrentDispatcher$2.current\x3d\nContextOnlyDispatcher;return null\x3d\x3d\x3dprevDispatcher?ContextOnlyDispatcher:prevDispatcher}function renderDidSuspendDelayIfPossible(){if(workInProgressRootExitStatus\x3d\x3d\x3dRootInProgress||workInProgressRootExitStatus\x3d\x3d\x3dRootSuspended||workInProgressRootExitStatus\x3d\x3d\x3dRootErrored)workInProgressRootExitStatus\x3dRootSuspendedWithDelay;null\x3d\x3d\x3dworkInProgressRoot||0\x3d\x3d\x3d(workInProgressRootSkippedLanes\x26268435455)\x26\x260\x3d\x3d\x3d(workInProgressRootInterleavedUpdatedLanes\x26268435455)||markRootSuspended$1(workInProgressRoot,workInProgressRootRenderLanes)}\nfunction renderRootSync(root,lanes){var prevExecutionContext\x3dexecutionContext;executionContext|\x3dRenderContext;var prevDispatcher\x3dpushDispatcher();if(workInProgressRoot!\x3d\x3droot||workInProgressRootRenderLanes!\x3d\x3dlanes){if(isDevToolsPresent){var memoizedUpdaters\x3droot.memoizedUpdaters;0\x3cmemoizedUpdaters.size\x26\x26(restorePendingUpdaters(root,workInProgressRootRenderLanes),memoizedUpdaters.clear());movePendingFibersToMemoized(root,lanes)}workInProgressTransitions\x3dnull;prepareFreshStack(root,lanes)}markRenderStarted(lanes);\ndo try{workLoopSync();break}catch(thrownValue){handleError(root,thrownValue)}while(1);resetContextDependencies();executionContext\x3dprevExecutionContext;ReactCurrentDispatcher$2.current\x3dprevDispatcher;if(null!\x3d\x3dworkInProgress)throw Error(\x22Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.\x22);markRenderStopped();workInProgressRoot\x3dnull;workInProgressRootRenderLanes\x3d0;return workInProgressRootExitStatus}function workLoopSync(){for(;null!\x3d\x3dworkInProgress;)performUnitOfWork(workInProgress)}\nfunction workLoopConcurrent(){for(;null!\x3d\x3dworkInProgress\x26\x26!shouldYield();)performUnitOfWork(workInProgress)}function performUnitOfWork(unitOfWork){var current\x3dunitOfWork.alternate;setCurrentFiber(unitOfWork);0!\x3d\x3d(unitOfWork.mode\x262)?(startProfilerTimer(unitOfWork),current\x3dbeginWork$1(current,unitOfWork,subtreeRenderLanes),stopProfilerTimerIfRunningAndRecordDelta(unitOfWork,!0)):current\x3dbeginWork$1(current,unitOfWork,subtreeRenderLanes);resetCurrentFiber();unitOfWork.memoizedProps\x3dunitOfWork.pendingProps;\nnull\x3d\x3d\x3dcurrent?completeUnitOfWork(unitOfWork):workInProgress\x3dcurrent;ReactCurrentOwner$2.current\x3dnull}function completeUnitOfWork(unitOfWork){var completedWork\x3dunitOfWork;do{var current\x3dcompletedWork.alternate;unitOfWork\x3dcompletedWork.return;if(0\x3d\x3d\x3d(completedWork.flags\x2632768)){if(setCurrentFiber(completedWork),0\x3d\x3d\x3d(completedWork.mode\x262)?current\x3dcompleteWork(current,completedWork,subtreeRenderLanes):(startProfilerTimer(completedWork),current\x3dcompleteWork(current,completedWork,subtreeRenderLanes),stopProfilerTimerIfRunningAndRecordDelta(completedWork,\n!1)),resetCurrentFiber(),null!\x3d\x3dcurrent){workInProgress\x3dcurrent;return}}else{current\x3dunwindWork(current,completedWork);if(null!\x3d\x3dcurrent){current.flags\x26\x3d32767;workInProgress\x3dcurrent;return}if(0!\x3d\x3d(completedWork.mode\x262)){stopProfilerTimerIfRunningAndRecordDelta(completedWork,!1);current\x3dcompletedWork.actualDuration;for(var child\x3dcompletedWork.child;null!\x3d\x3dchild;)current+\x3dchild.actualDuration,child\x3dchild.sibling;completedWork.actualDuration\x3dcurrent}if(null!\x3d\x3dunitOfWork)unitOfWork.flags|\x3d32768,unitOfWork.subtreeFlags\x3d\n0,unitOfWork.deletions\x3dnull;else{workInProgressRootExitStatus\x3dRootDidNotComplete;workInProgress\x3dnull;return}}completedWork\x3dcompletedWork.sibling;if(null!\x3d\x3dcompletedWork){workInProgress\x3dcompletedWork;return}workInProgress\x3dcompletedWork\x3dunitOfWork}while(null!\x3d\x3dcompletedWork);workInProgressRootExitStatus\x3d\x3d\x3dRootInProgress\x26\x26(workInProgressRootExitStatus\x3dRootCompleted)}function commitRoot(root,recoverableErrors,transitions){var previousUpdateLanePriority\x3dcurrentUpdatePriority,prevTransition\x3dReactCurrentBatchConfig$3.transition;\ntry{ReactCurrentBatchConfig$3.transition\x3dnull,currentUpdatePriority\x3dDiscreteEventPriority,commitRootImpl(root,recoverableErrors,transitions,previousUpdateLanePriority)}finally{ReactCurrentBatchConfig$3.transition\x3dprevTransition,currentUpdatePriority\x3dpreviousUpdateLanePriority}return null}function commitRootImpl(root,recoverableErrors,transitions,renderPriorityLevel){do flushPassiveEffects();while(null!\x3d\x3drootWithPendingPassiveEffects);ReactStrictModeWarnings.flushLegacyContextWarning();ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\nif((executionContext\x26(RenderContext|CommitContext))!\x3d\x3dNoContext)throw Error(\x22Should not already be working.\x22);transitions\x3droot.finishedWork;var lanes\x3droot.finishedLanes;null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markCommitStarted\x26\x26injectedProfilingHooks.markCommitStarted(lanes);if(null\x3d\x3d\x3dtransitions)return markCommitStopped(),null;0\x3d\x3d\x3dlanes\x26\x26error$jscomp$0(\x22root.finishedLanes should not be empty during a commit. This is a bug in React.\x22);root.finishedWork\x3dnull;root.finishedLanes\x3d\n0;if(transitions\x3d\x3d\x3droot.current)throw Error(\x22Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\x22);root.callbackNode\x3dnull;root.callbackPriority\x3d0;var remainingLanes\x3dtransitions.lanes|transitions.childLanes;markRootFinished(root,remainingLanes);root\x3d\x3d\x3dworkInProgressRoot\x26\x26(workInProgress\x3dworkInProgressRoot\x3dnull,workInProgressRootRenderLanes\x3d0);0\x3d\x3d\x3d(transitions.subtreeFlags\x262064)\x26\x260\x3d\x3d\x3d(transitions.flags\x262064)||rootDoesHavePassiveEffects||(rootDoesHavePassiveEffects\x3d\n!0,scheduleCallback$1(NormalPriority,function(){flushPassiveEffects();return null}));remainingLanes\x3d0!\x3d\x3d(transitions.flags\x2615990);if(0!\x3d\x3d(transitions.subtreeFlags\x2615990)||remainingLanes){remainingLanes\x3dReactCurrentBatchConfig$3.transition;ReactCurrentBatchConfig$3.transition\x3dnull;var previousPriority\x3dcurrentUpdatePriority;currentUpdatePriority\x3dDiscreteEventPriority;var prevExecutionContext\x3dexecutionContext;executionContext|\x3dCommitContext;ReactCurrentOwner$2.current\x3dnull;commitBeforeMutationEffects(root,\ntransitions);commitTime\x3dnow$1();commitMutationEffects(root,transitions,lanes);restoreSelection(selectionInformation);_enabled\x3d!!eventsEnabled;selectionInformation\x3deventsEnabled\x3dnull;root.current\x3dtransitions;null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markLayoutEffectsStarted\x26\x26injectedProfilingHooks.markLayoutEffectsStarted(lanes);commitLayoutEffects(transitions,root,lanes);null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markLayoutEffectsStopped\x26\x26\ninjectedProfilingHooks.markLayoutEffectsStopped();requestPaint();executionContext\x3dprevExecutionContext;currentUpdatePriority\x3dpreviousPriority;ReactCurrentBatchConfig$3.transition\x3dremainingLanes}else root.current\x3dtransitions,commitTime\x3dnow$1();(previousPriority\x3drootDoesHavePassiveEffects)?(rootDoesHavePassiveEffects\x3d!1,rootWithPendingPassiveEffects\x3droot,pendingPassiveEffectsLanes\x3dlanes):(nestedPassiveUpdateCount\x3d0,rootWithPassiveNestedUpdates\x3dnull);remainingLanes\x3droot.pendingLanes;0\x3d\x3d\x3dremainingLanes\x26\x26\n(legacyErrorBoundariesThatAlreadyFailed\x3dnull);previousPriority||commitDoubleInvokeEffectsInDEV(root.current,!1);onCommitRoot(transitions.stateNode,renderPriorityLevel);isDevToolsPresent\x26\x26root.memoizedUpdaters.clear();onCommitRoot$1();ensureRootIsScheduled(root,now());if(null!\x3d\x3drecoverableErrors)for(renderPriorityLevel\x3droot.onRecoverableError,transitions\x3d0;transitions\x3crecoverableErrors.length;transitions++)lanes\x3drecoverableErrors[transitions],renderPriorityLevel(lanes.value,{componentStack:lanes.stack,\ndigest:lanes.digest});if(hasUncaughtError)throw hasUncaughtError\x3d!1,root\x3dfirstUncaughtError,firstUncaughtError\x3dnull,root;0!\x3d\x3d(pendingPassiveEffectsLanes\x26SyncLane)\x26\x260!\x3d\x3droot.tag\x26\x26flushPassiveEffects();remainingLanes\x3droot.pendingLanes;0!\x3d\x3d(remainingLanes\x26SyncLane)?(nestedUpdateScheduled\x3d!0,root\x3d\x3d\x3drootWithNestedUpdates?nestedUpdateCount++:(nestedUpdateCount\x3d0,rootWithNestedUpdates\x3droot)):nestedUpdateCount\x3d0;flushSyncCallbacks();markCommitStopped();return null}function flushPassiveEffects(){if(null!\x3d\x3d\nrootWithPendingPassiveEffects){var renderPriority\x3dlanesToEventPriority(pendingPassiveEffectsLanes),priority\x3d0\x3d\x3d\x3dDefaultEventPriority||DefaultEventPriority\x3erenderPriority?DefaultEventPriority:renderPriority;renderPriority\x3dReactCurrentBatchConfig$3.transition;var previousPriority\x3dcurrentUpdatePriority;try{ReactCurrentBatchConfig$3.transition\x3dnull;currentUpdatePriority\x3dpriority;if(null\x3d\x3d\x3drootWithPendingPassiveEffects)var JSCompiler_inline_result\x3d!1;else{priority\x3drootWithPendingPassiveEffects;var lanes\x3d\npendingPassiveEffectsLanes;rootWithPendingPassiveEffects\x3dnull;pendingPassiveEffectsLanes\x3d0;if((executionContext\x26(RenderContext|CommitContext))!\x3d\x3dNoContext)throw Error(\x22Cannot flush passive effects while already rendering.\x22);isFlushingPassiveEffects\x3d!0;didScheduleUpdateDuringPassiveEffects\x3d!1;null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markPassiveEffectsStarted\x26\x26injectedProfilingHooks.markPassiveEffectsStarted(lanes);lanes\x3dexecutionContext;executionContext|\x3dCommitContext;\nfor(nextEffect\x3dpriority.current;null!\x3d\x3dnextEffect;){var fiber\x3dnextEffect,child\x3dfiber.child;if(0!\x3d\x3d(nextEffect.flags\x2616)){var deletions\x3dfiber.deletions;if(null!\x3d\x3ddeletions){for(var i\x3d0;i\x3cdeletions.length;i++)for(var fiberToDelete\x3ddeletions[i],deletedSubtreeRoot\x3dnextEffect\x3dfiberToDelete,nearestMountedAncestor\x3dfiber;null!\x3d\x3dnextEffect;){var fiber$jscomp$0\x3dnextEffect;setCurrentFiber(fiber$jscomp$0);var current\x3dfiber$jscomp$0,nearestMountedAncestor$jscomp$0\x3dnearestMountedAncestor;switch(current.tag){case 0:case 11:case 15:current.mode\x26\n2?(passiveEffectStartTime\x3dnow$1(),commitHookEffectListUnmount(Passive$1,current,nearestMountedAncestor$jscomp$0),recordPassiveEffectDuration(current)):commitHookEffectListUnmount(Passive$1,current,nearestMountedAncestor$jscomp$0)}resetCurrentFiber();var child$jscomp$0\x3dfiber$jscomp$0.child;if(null!\x3d\x3dchild$jscomp$0)child$jscomp$0.return\x3dfiber$jscomp$0,nextEffect\x3dchild$jscomp$0;else for(fiber$jscomp$0\x3ddeletedSubtreeRoot;null!\x3d\x3dnextEffect;){current\x3dnextEffect;var sibling\x3dcurrent.sibling,returnFiber\x3dcurrent.return;\ndetachFiberAfterEffects(current);if(current\x3d\x3d\x3dfiber$jscomp$0){nextEffect\x3dnull;break}if(null!\x3d\x3dsibling){sibling.return\x3dreturnFiber;nextEffect\x3dsibling;break}nextEffect\x3dreturnFiber}}var previousFiber\x3dfiber.alternate;if(null!\x3d\x3dpreviousFiber){var detachedChild\x3dpreviousFiber.child;if(null!\x3d\x3ddetachedChild){previousFiber.child\x3dnull;do{var detachedSibling\x3ddetachedChild.sibling;detachedChild.sibling\x3dnull;detachedChild\x3ddetachedSibling}while(null!\x3d\x3ddetachedChild)}}nextEffect\x3dfiber}}if(0!\x3d\x3d(fiber.subtreeFlags\x26\n2064)\x26\x26null!\x3d\x3dchild)child.return\x3dfiber,nextEffect\x3dchild;else b:for(;null!\x3d\x3dnextEffect;){fiber\x3dnextEffect;if(0!\x3d\x3d(fiber.flags\x262048)){setCurrentFiber(fiber);i\x3dfiber;switch(i.tag){case 0:case 11:case 15:i.mode\x262?(passiveEffectStartTime\x3dnow$1(),commitHookEffectListUnmount(Passive$1|HasEffect,i,i.return),recordPassiveEffectDuration(i)):commitHookEffectListUnmount(Passive$1|HasEffect,i,i.return)}resetCurrentFiber()}var sibling$jscomp$0\x3dfiber.sibling;if(null!\x3d\x3dsibling$jscomp$0){sibling$jscomp$0.return\x3dfiber.return;\nnextEffect\x3dsibling$jscomp$0;break b}nextEffect\x3dfiber.return}}var finishedWork\x3dpriority.current;for(nextEffect\x3dfinishedWork;null!\x3d\x3dnextEffect;){child\x3dnextEffect;var firstChild\x3dchild.child;if(0!\x3d\x3d(child.subtreeFlags\x262064)\x26\x26null!\x3d\x3dfirstChild)firstChild.return\x3dchild,nextEffect\x3dfirstChild;else b:for(child\x3dfinishedWork;null!\x3d\x3dnextEffect;){deletions\x3dnextEffect;if(0!\x3d\x3d(deletions.flags\x262048)){setCurrentFiber(deletions);try{switch(fiberToDelete\x3ddeletions,fiberToDelete.tag){case 0:case 11:case 15:if(fiberToDelete.mode\x26\n2){passiveEffectStartTime\x3dnow$1();try{commitHookEffectListMount(Passive$1|HasEffect,fiberToDelete)}finally{recordPassiveEffectDuration(fiberToDelete)}}else commitHookEffectListMount(Passive$1|HasEffect,fiberToDelete)}}catch(error){captureCommitPhaseError(deletions,deletions.return,error)}resetCurrentFiber()}if(deletions\x3d\x3d\x3dchild){nextEffect\x3dnull;break b}var sibling$jscomp$1\x3ddeletions.sibling;if(null!\x3d\x3dsibling$jscomp$1){sibling$jscomp$1.return\x3ddeletions.return;nextEffect\x3dsibling$jscomp$1;break b}nextEffect\x3d\ndeletions.return}}finishedWork\x3dpendingPassiveProfilerEffects;pendingPassiveProfilerEffects\x3d[];for(firstChild\x3d0;firstChild\x3cfinishedWork.length;firstChild++){var finishedWork$jscomp$0\x3dfinishedWork[firstChild];if(0!\x3d\x3d(finishedWork$jscomp$0.flags\x264))switch(finishedWork$jscomp$0.tag){case 12:var passiveEffectDuration\x3dfinishedWork$jscomp$0.stateNode.passiveEffectDuration,_finishedWork$memoize\x3dfinishedWork$jscomp$0.memoizedProps,id\x3d_finishedWork$memoize.id,onPostCommit\x3d_finishedWork$memoize.onPostCommit;\nsibling$jscomp$1\x3dcommitTime;var phase\x3dnull\x3d\x3d\x3dfinishedWork$jscomp$0.alternate?\x22mount\x22:\x22update\x22;currentUpdateIsNested\x26\x26(phase\x3d\x22nested-update\x22);\x22function\x22\x3d\x3d\x3dtypeof onPostCommit\x26\x26onPostCommit(id,phase,passiveEffectDuration,sibling$jscomp$1);var parentFiber\x3dfinishedWork$jscomp$0.return;b:for(;null!\x3d\x3dparentFiber;){switch(parentFiber.tag){case 3:parentFiber.stateNode.passiveEffectDuration+\x3dpassiveEffectDuration;break b;case 12:parentFiber.stateNode.passiveEffectDuration+\x3dpassiveEffectDuration;break b}parentFiber\x3d\nparentFiber.return}}}null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markPassiveEffectsStopped\x26\x26injectedProfilingHooks.markPassiveEffectsStopped();commitDoubleInvokeEffectsInDEV(priority.current,!0);executionContext\x3dlanes;flushSyncCallbacks();didScheduleUpdateDuringPassiveEffects?priority\x3d\x3d\x3drootWithPassiveNestedUpdates?nestedPassiveUpdateCount++:(nestedPassiveUpdateCount\x3d0,rootWithPassiveNestedUpdates\x3dpriority):nestedPassiveUpdateCount\x3d0;didScheduleUpdateDuringPassiveEffects\x3d\nisFlushingPassiveEffects\x3d!1;if(injectedHook\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedHook.onPostCommitFiberRoot)try{injectedHook.onPostCommitFiberRoot(rendererID,priority)}catch(err){hasLoggedError||(hasLoggedError\x3d!0,error$jscomp$0(\x22React instrumentation encountered an error: %s\x22,err))}var stateNode\x3dpriority.current.stateNode;stateNode.effectDuration\x3d0;stateNode.passiveEffectDuration\x3d0;JSCompiler_inline_result\x3d!0}return JSCompiler_inline_result}finally{currentUpdatePriority\x3dpreviousPriority,ReactCurrentBatchConfig$3.transition\x3d\nrenderPriority}}return!1}function enqueuePendingPassiveProfilerEffect(fiber){pendingPassiveProfilerEffects.push(fiber);rootDoesHavePassiveEffects||(rootDoesHavePassiveEffects\x3d!0,scheduleCallback$1(NormalPriority,function(){flushPassiveEffects();return null}))}function captureCommitPhaseErrorOnRoot(rootFiber,sourceFiber,error){sourceFiber\x3dcreateCapturedValueAtFiber(error,sourceFiber);sourceFiber\x3dcreateRootErrorUpdate(rootFiber,sourceFiber,SyncLane);rootFiber\x3denqueueUpdate(rootFiber,sourceFiber,SyncLane);\nsourceFiber\x3drequestEventTime();null!\x3d\x3drootFiber\x26\x26(markRootUpdated(rootFiber,SyncLane,sourceFiber),ensureRootIsScheduled(rootFiber,sourceFiber))}function captureCommitPhaseError(sourceFiber,nearestMountedAncestor,error$1){reportUncaughtErrorInDEV(error$1);isRunningInsertionEffect\x3d!1;if(3\x3d\x3d\x3dsourceFiber.tag)captureCommitPhaseErrorOnRoot(sourceFiber,sourceFiber,error$1);else{for(;null!\x3d\x3dnearestMountedAncestor;){if(3\x3d\x3d\x3dnearestMountedAncestor.tag){captureCommitPhaseErrorOnRoot(nearestMountedAncestor,sourceFiber,\nerror$1);return}if(1\x3d\x3d\x3dnearestMountedAncestor.tag){var instance\x3dnearestMountedAncestor.stateNode;if(\x22function\x22\x3d\x3d\x3dtypeof nearestMountedAncestor.type.getDerivedStateFromError||\x22function\x22\x3d\x3d\x3dtypeof instance.componentDidCatch\x26\x26(null\x3d\x3d\x3dlegacyErrorBoundariesThatAlreadyFailed||!legacyErrorBoundariesThatAlreadyFailed.has(instance))){sourceFiber\x3dcreateCapturedValueAtFiber(error$1,sourceFiber);sourceFiber\x3dcreateClassErrorUpdate(nearestMountedAncestor,sourceFiber,SyncLane);nearestMountedAncestor\x3denqueueUpdate(nearestMountedAncestor,\nsourceFiber,SyncLane);sourceFiber\x3drequestEventTime();null!\x3d\x3dnearestMountedAncestor\x26\x26(markRootUpdated(nearestMountedAncestor,SyncLane,sourceFiber),ensureRootIsScheduled(nearestMountedAncestor,sourceFiber));return}}nearestMountedAncestor\x3dnearestMountedAncestor.return}error$jscomp$0(\x22Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Likely causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\\n\\nError message:\\n\\n%s\x22,\nerror$1)}}function pingSuspendedRoot(root,wakeable,pingedLanes){var pingCache\x3droot.pingCache;null!\x3d\x3dpingCache\x26\x26pingCache.delete(wakeable);wakeable\x3drequestEventTime();root.pingedLanes|\x3droot.suspendedLanes\x26pingedLanes;0!\x3d\x3droot.tag\x26\x26isConcurrentActEnvironment()\x26\x26null\x3d\x3d\x3dReactCurrentActQueue$1.current\x26\x26error$jscomp$0(\x22A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\\n\\nWhen testing, code that resolves suspended data should be wrapped into act(...):\\n\\nact(() \\x3d\\x3e {\\n /* finish loading suspended data */\\n});\\n/* assert on the output */\\n\\nThis ensures that you\x27re testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act\x22);\nworkInProgressRoot\x3d\x3d\x3droot\x26\x26(workInProgressRootRenderLanes\x26pingedLanes)\x3d\x3d\x3dpingedLanes\x26\x26(workInProgressRootExitStatus\x3d\x3d\x3dRootSuspendedWithDelay||workInProgressRootExitStatus\x3d\x3d\x3dRootSuspended\x26\x26(workInProgressRootRenderLanes\x26RetryLanes)\x3d\x3d\x3dworkInProgressRootRenderLanes\x26\x26now()-globalMostRecentFallbackTime\x3cFALLBACK_THROTTLE_MS?prepareFreshStack(root,0):workInProgressRootPingedLanes|\x3dpingedLanes);ensureRootIsScheduled(root,wakeable)}function retryTimedOutBoundary(boundaryFiber,retryLane){0\x3d\x3d\x3dretryLane\x26\x26(0\x3d\x3d\x3d\n(boundaryFiber.mode\x261)?retryLane\x3dSyncLane:(retryLane\x3dnextRetryLane,nextRetryLane\x3c\x3c\x3d1,0\x3d\x3d\x3d(nextRetryLane\x26RetryLanes)\x26\x26(nextRetryLane\x3d4194304)));var eventTime\x3drequestEventTime();boundaryFiber\x3dmarkUpdateLaneFromFiberToRoot(boundaryFiber,retryLane);null!\x3d\x3dboundaryFiber\x26\x26(markRootUpdated(boundaryFiber,retryLane,eventTime),ensureRootIsScheduled(boundaryFiber,eventTime))}function retryDehydratedSuspenseBoundary(boundaryFiber){var suspenseState\x3dboundaryFiber.memoizedState,retryLane\x3d0;null!\x3d\x3dsuspenseState\x26\x26\n(retryLane\x3dsuspenseState.retryLane);retryTimedOutBoundary(boundaryFiber,retryLane)}function resolveRetryWakeable(boundaryFiber,wakeable){var retryLane\x3d0;switch(boundaryFiber.tag){case 13:var retryCache\x3dboundaryFiber.stateNode;var suspenseState\x3dboundaryFiber.memoizedState;null!\x3d\x3dsuspenseState\x26\x26(retryLane\x3dsuspenseState.retryLane);break;case 19:retryCache\x3dboundaryFiber.stateNode;break;default:throw Error(\x22Pinged unknown suspense boundary type. This is probably a bug in React.\x22);}null!\x3d\x3dretryCache\x26\x26retryCache.delete(wakeable);\nretryTimedOutBoundary(boundaryFiber,retryLane)}function commitDoubleInvokeEffectsInDEV(fiber,hasPassiveEffects){setCurrentFiber(fiber);invokeEffectsInDev(fiber,16777216,invokeLayoutEffectUnmountInDEV);hasPassiveEffects\x26\x26invokeEffectsInDev(fiber,33554432,invokePassiveEffectUnmountInDEV);invokeEffectsInDev(fiber,16777216,invokeLayoutEffectMountInDEV);hasPassiveEffects\x26\x26invokeEffectsInDev(fiber,33554432,invokePassiveEffectMountInDEV);resetCurrentFiber()}function invokeEffectsInDev(firstChild,fiberFlags,\ninvokeEffectFn){for(var subtreeRoot\x3dnull;null!\x3d\x3dfirstChild;){var primarySubtreeFlag\x3dfirstChild.subtreeFlags\x26fiberFlags;firstChild!\x3d\x3dsubtreeRoot\x26\x26null!\x3d\x3dfirstChild.child\x26\x260!\x3d\x3dprimarySubtreeFlag?firstChild\x3dfirstChild.child:(0!\x3d\x3d(firstChild.flags\x26fiberFlags)\x26\x26invokeEffectFn(firstChild),firstChild\x3dnull!\x3d\x3dfirstChild.sibling?firstChild.sibling:subtreeRoot\x3dfirstChild.return)}}function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber){if((executionContext\x26RenderContext)\x3d\x3d\x3dNoContext\x26\x26fiber.mode\x261){var tag\x3dfiber.tag;\nif(2\x3d\x3d\x3dtag||3\x3d\x3d\x3dtag||1\x3d\x3d\x3dtag||0\x3d\x3d\x3dtag||11\x3d\x3d\x3dtag||14\x3d\x3d\x3dtag||15\x3d\x3d\x3dtag){tag\x3dgetComponentNameFromFiber(fiber)||\x22ReactComponent\x22;if(null!\x3d\x3ddidWarnStateUpdateForNotYetMountedComponent){if(didWarnStateUpdateForNotYetMountedComponent.has(tag))return;didWarnStateUpdateForNotYetMountedComponent.add(tag)}else didWarnStateUpdateForNotYetMountedComponent\x3dnew Set([tag]);tag\x3dcurrent;try{setCurrentFiber(fiber),error$jscomp$0(\x22Can\x27t perform a React state update on a component that hasn\x27t mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead.\x22)}finally{tag?\nsetCurrentFiber(fiber):resetCurrentFiber()}}}}function restorePendingUpdaters(root,lanes){isDevToolsPresent\x26\x26root.memoizedUpdaters.forEach(function(schedulingFiber){addFiberToLanesMap(root,schedulingFiber,lanes)})}function scheduleCallback$1(priorityLevel,callback){var actQueue\x3dReactCurrentActQueue$1.current;return null!\x3d\x3dactQueue?(actQueue.push(callback),fakeActCallbackNode):scheduleCallback(priorityLevel,callback)}function cancelCallback$1(callbackNode){if(callbackNode!\x3d\x3dfakeActCallbackNode)return cancelCallback(callbackNode)}\nfunction resolveFunctionForHotReloading(type){if(null\x3d\x3d\x3dresolveFamily)return type;var family\x3dresolveFamily(type);return void 0\x3d\x3d\x3dfamily?type:family.current}function resolveForwardRefForHotReloading(type){if(null\x3d\x3d\x3dresolveFamily)return type;var family\x3dresolveFamily(type);return void 0\x3d\x3d\x3dfamily?null!\x3d\x3dtype\x26\x26void 0!\x3d\x3dtype\x26\x26\x22function\x22\x3d\x3d\x3dtypeof type.render\x26\x26(family\x3dresolveFunctionForHotReloading(type.render),type.render!\x3d\x3dfamily)?(family\x3d{$$typeof:REACT_FORWARD_REF_TYPE,render:family},void 0!\x3d\x3dtype.displayName\x26\x26\n(family.displayName\x3dtype.displayName),family):type:family.current}function isCompatibleFamilyForHotReloading(fiber,element){if(null\x3d\x3d\x3dresolveFamily)return!1;var prevType\x3dfiber.elementType;element\x3delement.type;var needsCompareFamilies\x3d!1,$$typeofNextType\x3d\x22object\x22\x3d\x3d\x3dtypeof element\x26\x26null!\x3d\x3delement?element.$$typeof:null;switch(fiber.tag){case 1:\x22function\x22\x3d\x3d\x3dtypeof element\x26\x26(needsCompareFamilies\x3d!0);break;case 0:\x22function\x22\x3d\x3d\x3dtypeof element?needsCompareFamilies\x3d!0:$$typeofNextType\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26(needsCompareFamilies\x3d\n!0);break;case 11:$$typeofNextType\x3d\x3d\x3dREACT_FORWARD_REF_TYPE?needsCompareFamilies\x3d!0:$$typeofNextType\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26(needsCompareFamilies\x3d!0);break;case 14:case 15:$$typeofNextType\x3d\x3d\x3dREACT_MEMO_TYPE?needsCompareFamilies\x3d!0:$$typeofNextType\x3d\x3d\x3dREACT_LAZY_TYPE\x26\x26(needsCompareFamilies\x3d!0);break;default:return!1}return needsCompareFamilies\x26\x26(fiber\x3dresolveFamily(prevType),void 0!\x3d\x3dfiber\x26\x26fiber\x3d\x3d\x3dresolveFamily(element))?!0:!1}function markFailedErrorBoundaryForHotReloading(fiber){null!\x3d\x3dresolveFamily\x26\x26\n\x22function\x22\x3d\x3d\x3dtypeof WeakSet\x26\x26(null\x3d\x3d\x3dfailedBoundaries\x26\x26(failedBoundaries\x3dnew WeakSet),failedBoundaries.add(fiber))}function scheduleFibersWithFamiliesRecursively(fiber,updatedFamilies,staleFamilies){var alternate\x3dfiber.alternate,child\x3dfiber.child,sibling\x3dfiber.sibling,tag\x3dfiber.tag,type\x3dfiber.type,candidateType\x3dnull;switch(tag){case 0:case 15:case 1:candidateType\x3dtype;break;case 11:candidateType\x3dtype.render}if(null\x3d\x3d\x3dresolveFamily)throw Error(\x22Expected resolveFamily to be set during hot reload.\x22);\nvar needsRender\x3d!1;type\x3d!1;null!\x3d\x3dcandidateType\x26\x26(candidateType\x3dresolveFamily(candidateType),void 0!\x3d\x3dcandidateType\x26\x26(staleFamilies.has(candidateType)?type\x3d!0:updatedFamilies.has(candidateType)\x26\x26(1\x3d\x3d\x3dtag?type\x3d!0:needsRender\x3d!0)));null!\x3d\x3dfailedBoundaries\x26\x26(failedBoundaries.has(fiber)||null!\x3d\x3dalternate\x26\x26failedBoundaries.has(alternate))\x26\x26(type\x3d!0);type\x26\x26(fiber._debugNeedsRemount\x3d!0);if(type||needsRender)alternate\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane),null!\x3d\x3dalternate\x26\x26scheduleUpdateOnFiber(alternate,\nfiber,SyncLane,-1);null\x3d\x3d\x3dchild||type||scheduleFibersWithFamiliesRecursively(child,updatedFamilies,staleFamilies);null!\x3d\x3dsibling\x26\x26scheduleFibersWithFamiliesRecursively(sibling,updatedFamilies,staleFamilies)}function findHostInstancesForMatchingFibersRecursively(fiber,types,hostInstances){var child\x3dfiber.child,sibling\x3dfiber.sibling,type\x3dfiber.type,candidateType\x3dnull;switch(fiber.tag){case 0:case 15:case 1:candidateType\x3dtype;break;case 11:candidateType\x3dtype.render}type\x3d!1;null!\x3d\x3dcandidateType\x26\x26types.has(candidateType)\x26\x26\n(type\x3d!0);if(type)a:{b:for(child\x3dfiber,candidateType\x3d!1;;){if(5\x3d\x3d\x3dchild.tag)candidateType\x3d!0,hostInstances.add(child.stateNode);else if(null!\x3d\x3dchild.child){child.child.return\x3dchild;child\x3dchild.child;continue}if(child\x3d\x3d\x3dfiber){child\x3dcandidateType;break b}for(;null\x3d\x3d\x3dchild.sibling;){if(null\x3d\x3d\x3dchild.return||child.return\x3d\x3d\x3dfiber){child\x3dcandidateType;break b}child\x3dchild.return}child.sibling.return\x3dchild.return;child\x3dchild.sibling}if(!child)for(;;){switch(fiber.tag){case 5:hostInstances.add(fiber.stateNode);\nbreak a;case 4:hostInstances.add(fiber.stateNode.containerInfo);break a;case 3:hostInstances.add(fiber.stateNode.containerInfo);break a}if(null\x3d\x3d\x3dfiber.return)throw Error(\x22Expected to reach root first.\x22);fiber\x3dfiber.return}}else null!\x3d\x3dchild\x26\x26findHostInstancesForMatchingFibersRecursively(child,types,hostInstances);null!\x3d\x3dsibling\x26\x26findHostInstancesForMatchingFibersRecursively(sibling,types,hostInstances)}function FiberNode(tag,pendingProps,key,mode){this.tag\x3dtag;this.key\x3dkey;this.sibling\x3dthis.child\x3d\nthis.return\x3dthis.stateNode\x3dthis.type\x3dthis.elementType\x3dnull;this.index\x3d0;this.ref\x3dnull;this.pendingProps\x3dpendingProps;this.dependencies\x3dthis.memoizedState\x3dthis.updateQueue\x3dthis.memoizedProps\x3dnull;this.mode\x3dmode;this.subtreeFlags\x3dthis.flags\x3d0;this.deletions\x3dnull;this.childLanes\x3dthis.lanes\x3d0;this.alternate\x3dnull;this.actualDuration\x3d0;this.actualStartTime\x3d-1;this.treeBaseDuration\x3dthis.selfBaseDuration\x3d0;this._debugOwner\x3dthis._debugSource\x3dnull;this._debugNeedsRemount\x3d!1;this._debugHookTypes\x3dnull;hasBadMapPolyfill||\n\x22function\x22!\x3d\x3dtypeof Object.preventExtensions||Object.preventExtensions(this)}function shouldConstruct$1(Component){Component\x3dComponent.prototype;return!(!Component||!Component.isReactComponent)}function resolveLazyComponentTag(Component){if(\x22function\x22\x3d\x3d\x3dtypeof Component)return shouldConstruct$1(Component)?1:0;if(void 0!\x3d\x3dComponent\x26\x26null!\x3d\x3dComponent){Component\x3dComponent.$$typeof;if(Component\x3d\x3d\x3dREACT_FORWARD_REF_TYPE)return 11;if(Component\x3d\x3d\x3dREACT_MEMO_TYPE)return 14}return 2}function createWorkInProgress(current,\npendingProps){var workInProgress\x3dcurrent.alternate;null\x3d\x3d\x3dworkInProgress?(workInProgress\x3dcreateFiber(current.tag,pendingProps,current.key,current.mode),workInProgress.elementType\x3dcurrent.elementType,workInProgress.type\x3dcurrent.type,workInProgress.stateNode\x3dcurrent.stateNode,workInProgress._debugSource\x3dcurrent._debugSource,workInProgress._debugOwner\x3dcurrent._debugOwner,workInProgress._debugHookTypes\x3dcurrent._debugHookTypes,workInProgress.alternate\x3dcurrent,current.alternate\x3dworkInProgress):(workInProgress.pendingProps\x3d\npendingProps,workInProgress.type\x3dcurrent.type,workInProgress.flags\x3d0,workInProgress.subtreeFlags\x3d0,workInProgress.deletions\x3dnull,workInProgress.actualDuration\x3d0,workInProgress.actualStartTime\x3d-1);workInProgress.flags\x3dcurrent.flags\x2614680064;workInProgress.childLanes\x3dcurrent.childLanes;workInProgress.lanes\x3dcurrent.lanes;workInProgress.child\x3dcurrent.child;workInProgress.memoizedProps\x3dcurrent.memoizedProps;workInProgress.memoizedState\x3dcurrent.memoizedState;workInProgress.updateQueue\x3dcurrent.updateQueue;\npendingProps\x3dcurrent.dependencies;workInProgress.dependencies\x3dnull\x3d\x3d\x3dpendingProps?null:{lanes:pendingProps.lanes,firstContext:pendingProps.firstContext};workInProgress.sibling\x3dcurrent.sibling;workInProgress.index\x3dcurrent.index;workInProgress.ref\x3dcurrent.ref;workInProgress.selfBaseDuration\x3dcurrent.selfBaseDuration;workInProgress.treeBaseDuration\x3dcurrent.treeBaseDuration;workInProgress._debugNeedsRemount\x3dcurrent._debugNeedsRemount;switch(workInProgress.tag){case 2:case 0:case 15:workInProgress.type\x3d\nresolveFunctionForHotReloading(current.type);break;case 1:workInProgress.type\x3dresolveFunctionForHotReloading(current.type);break;case 11:workInProgress.type\x3dresolveForwardRefForHotReloading(current.type)}return workInProgress}function createFiberFromTypeAndProps(type,key,pendingProps,owner,mode,lanes){var fiberTag\x3d2,resolvedType\x3dtype;if(\x22function\x22\x3d\x3d\x3dtypeof type)shouldConstruct$1(type)\x26\x26(fiberTag\x3d1),resolvedType\x3dresolveFunctionForHotReloading(resolvedType);else if(\x22string\x22\x3d\x3d\x3dtypeof type)fiberTag\x3d5;\nelse a:switch(type){case REACT_FRAGMENT_TYPE:return createFiberFromFragment(pendingProps.children,mode,lanes,key);case REACT_STRICT_MODE_TYPE:fiberTag\x3d8;mode|\x3d8;0!\x3d\x3d(mode\x261)\x26\x26(mode|\x3d16);break;case REACT_PROFILER_TYPE:return type\x3dmode,\x22string\x22!\x3d\x3dtypeof pendingProps.id\x26\x26error$jscomp$0(\x27Profiler must specify an \x22id\x22 of type `string` as a prop. Received the type `%s` instead.\x27,typeof pendingProps.id),type\x3dcreateFiber(12,pendingProps,key,type|2),type.elementType\x3dREACT_PROFILER_TYPE,type.lanes\x3dlanes,type.stateNode\x3d\n{effectDuration:0,passiveEffectDuration:0},type;case REACT_SUSPENSE_TYPE:return type\x3dcreateFiber(13,pendingProps,key,mode),type.elementType\x3dREACT_SUSPENSE_TYPE,type.lanes\x3dlanes,type;case REACT_SUSPENSE_LIST_TYPE:return type\x3dcreateFiber(19,pendingProps,key,mode),type.elementType\x3dREACT_SUSPENSE_LIST_TYPE,type.lanes\x3dlanes,type;case REACT_OFFSCREEN_TYPE:return createFiberFromOffscreen(pendingProps,mode,lanes,key);default:if(\x22object\x22\x3d\x3d\x3dtypeof type\x26\x26null!\x3d\x3dtype)switch(type.$$typeof){case REACT_PROVIDER_TYPE:fiberTag\x3d\n10;break a;case REACT_CONTEXT_TYPE:fiberTag\x3d9;break a;case REACT_FORWARD_REF_TYPE:fiberTag\x3d11;resolvedType\x3dresolveForwardRefForHotReloading(resolvedType);break a;case REACT_MEMO_TYPE:fiberTag\x3d14;break a;case REACT_LAZY_TYPE:fiberTag\x3d16;resolvedType\x3dnull;break a}lanes\x3d\x22\x22;if(void 0\x3d\x3d\x3dtype||\x22object\x22\x3d\x3d\x3dtypeof type\x26\x26null!\x3d\x3dtype\x26\x260\x3d\x3d\x3dObject.keys(type).length)lanes+\x3d\x22 You likely forgot to export your component from the file it\x27s defined in, or you might have mixed up default and named imports.\x22;(owner\x3downer?\ngetComponentNameFromFiber(owner):null)\x26\x26(lanes+\x3d\x22\\n\\nCheck the render method of `\x22+owner+\x22`.\x22);throw Error(\x22Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \x22+((null\x3d\x3dtype?type:typeof type)+\x22.\x22+lanes));}key\x3dcreateFiber(fiberTag,pendingProps,key,mode);key.elementType\x3dtype;key.type\x3dresolvedType;key.lanes\x3dlanes;key._debugOwner\x3downer;return key}function createFiberFromElement(element,mode,lanes){mode\x3dcreateFiberFromTypeAndProps(element.type,\nelement.key,element.props,element._owner,mode,lanes);mode._debugSource\x3delement._source;mode._debugOwner\x3delement._owner;return mode}function createFiberFromFragment(elements,mode,lanes,key){elements\x3dcreateFiber(7,elements,key,mode);elements.lanes\x3dlanes;return elements}function createFiberFromOffscreen(pendingProps,mode,lanes,key){pendingProps\x3dcreateFiber(22,pendingProps,key,mode);pendingProps.elementType\x3dREACT_OFFSCREEN_TYPE;pendingProps.lanes\x3dlanes;pendingProps.stateNode\x3d{isHidden:!1};return pendingProps}\nfunction createFiberFromText(content,mode,lanes){content\x3dcreateFiber(6,content,null,mode);content.lanes\x3dlanes;return content}function createFiberFromPortal(portal,mode,lanes){mode\x3dcreateFiber(4,null!\x3d\x3dportal.children?portal.children:[],portal.key,mode);mode.lanes\x3dlanes;mode.stateNode\x3d{containerInfo:portal.containerInfo,pendingChildren:null,implementation:portal.implementation};return mode}function assignFiberPropertiesInDEV(target,source){null\x3d\x3d\x3dtarget\x26\x26(target\x3dcreateFiber(2,null,null,0));target.tag\x3d\nsource.tag;target.key\x3dsource.key;target.elementType\x3dsource.elementType;target.type\x3dsource.type;target.stateNode\x3dsource.stateNode;target.return\x3dsource.return;target.child\x3dsource.child;target.sibling\x3dsource.sibling;target.index\x3dsource.index;target.ref\x3dsource.ref;target.pendingProps\x3dsource.pendingProps;target.memoizedProps\x3dsource.memoizedProps;target.updateQueue\x3dsource.updateQueue;target.memoizedState\x3dsource.memoizedState;target.dependencies\x3dsource.dependencies;target.mode\x3dsource.mode;target.flags\x3dsource.flags;\ntarget.subtreeFlags\x3dsource.subtreeFlags;target.deletions\x3dsource.deletions;target.lanes\x3dsource.lanes;target.childLanes\x3dsource.childLanes;target.alternate\x3dsource.alternate;target.actualDuration\x3dsource.actualDuration;target.actualStartTime\x3dsource.actualStartTime;target.selfBaseDuration\x3dsource.selfBaseDuration;target.treeBaseDuration\x3dsource.treeBaseDuration;target._debugSource\x3dsource._debugSource;target._debugOwner\x3dsource._debugOwner;target._debugNeedsRemount\x3dsource._debugNeedsRemount;target._debugHookTypes\x3d\nsource._debugHookTypes;return target}function FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onRecoverableError){this.tag\x3dtag;this.containerInfo\x3dcontainerInfo;this.finishedWork\x3dthis.pingCache\x3dthis.current\x3dthis.pendingChildren\x3dnull;this.timeoutHandle\x3d-1;this.callbackNode\x3dthis.pendingContext\x3dthis.context\x3dnull;this.callbackPriority\x3d0;this.eventTimes\x3dcreateLaneMap(0);this.expirationTimes\x3dcreateLaneMap(-1);this.entangledLanes\x3dthis.finishedLanes\x3dthis.mutableReadLanes\x3dthis.expiredLanes\x3dthis.pingedLanes\x3d\nthis.suspendedLanes\x3dthis.pendingLanes\x3d0;this.entanglements\x3dcreateLaneMap(0);this.identifierPrefix\x3didentifierPrefix;this.onRecoverableError\x3donRecoverableError;this.mutableSourceEagerHydrationData\x3dnull;this.passiveEffectDuration\x3dthis.effectDuration\x3d0;this.memoizedUpdaters\x3dnew Set;containerInfo\x3dthis.pendingUpdatersLaneMap\x3d[];for(identifierPrefix\x3d0;identifierPrefix\x3cTotalLanes;identifierPrefix++)containerInfo.push(new Set);switch(tag){case 1:this._debugRootType\x3dhydrate?\x22hydrateRoot()\x22:\x22createRoot()\x22;break;\ncase 0:this._debugRootType\x3dhydrate?\x22hydrate()\x22:\x22render()\x22}}function createFiberRoot(containerInfo,tag,hydrate,initialChildren,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onRecoverableError,transitionCallbacks){containerInfo\x3dnew FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onRecoverableError);1\x3d\x3d\x3dtag?(tag\x3d1,!0\x3d\x3d\x3disStrictMode\x26\x26(tag|\x3d24)):tag\x3d0;isDevToolsPresent\x26\x26(tag|\x3d2);isStrictMode\x3dcreateFiber(3,null,null,tag);containerInfo.current\x3disStrictMode;\nisStrictMode.stateNode\x3dcontainerInfo;isStrictMode.memoizedState\x3d{element:initialChildren,isDehydrated:hydrate,cache:null,transitions:null,pendingSuspenseBoundaries:null};initializeUpdateQueue(isStrictMode);return containerInfo}function createPortal(children,containerInfo,implementation){var key\x3d3\x3carguments.length\x26\x26void 0!\x3d\x3darguments[3]?arguments[3]:null;return{$$typeof:REACT_PORTAL_TYPE,key:null\x3d\x3dkey?null:\x22\x22+key,children,containerInfo,implementation}}function getContextForSubtree(parentComponent){if(!parentComponent)return emptyContextObject;\nparentComponent\x3dparentComponent._reactInternals;a:{if(getNearestMountedFiber(parentComponent)!\x3d\x3dparentComponent||1!\x3d\x3dparentComponent.tag)throw Error(\x22Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.\x22);var parentContext\x3dparentComponent;do{switch(parentContext.tag){case 3:parentContext\x3dparentContext.stateNode.context;break a;case 1:if(isContextProvider(parentContext.type)){parentContext\x3dparentContext.stateNode.__reactInternalMemoizedMergedChildContext;\nbreak a}}parentContext\x3dparentContext.return}while(null!\x3d\x3dparentContext);throw Error(\x22Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.\x22);}if(1\x3d\x3d\x3dparentComponent.tag){var Component\x3dparentComponent.type;if(isContextProvider(Component))return processChildContext(parentComponent,Component,parentContext)}return parentContext}function createHydrationContainer(initialChildren,callback,containerInfo,tag,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,\nidentifierPrefix,onRecoverableError,transitionCallbacks){initialChildren\x3dcreateFiberRoot(containerInfo,tag,!0,initialChildren,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onRecoverableError);initialChildren.context\x3dgetContextForSubtree(null);containerInfo\x3dinitialChildren.current;tag\x3drequestEventTime();hydrationCallbacks\x3drequestUpdateLane(containerInfo);isStrictMode\x3dcreateUpdate(tag,hydrationCallbacks);isStrictMode.callback\x3dvoid 0!\x3d\x3dcallback\x26\x26null!\x3d\x3dcallback?\ncallback:null;enqueueUpdate(containerInfo,isStrictMode,hydrationCallbacks);initialChildren.current.lanes\x3dhydrationCallbacks;markRootUpdated(initialChildren,hydrationCallbacks,tag);ensureRootIsScheduled(initialChildren,tag);return initialChildren}function updateContainer(element,container,parentComponent,callback){if(injectedHook\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedHook.onScheduleFiberRoot)try{injectedHook.onScheduleFiberRoot(rendererID,container,element)}catch(err){hasLoggedError||(hasLoggedError\x3d!0,error$jscomp$0(\x22React instrumentation encountered an error: %s\x22,\nerr))}var current$1\x3dcontainer.current,eventTime\x3drequestEventTime(),lane\x3drequestUpdateLane(current$1);null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markRenderScheduled\x26\x26injectedProfilingHooks.markRenderScheduled(lane);parentComponent\x3dgetContextForSubtree(parentComponent);null\x3d\x3d\x3dcontainer.context?container.context\x3dparentComponent:container.pendingContext\x3dparentComponent;isRendering\x26\x26null!\x3d\x3dcurrent\x26\x26!didWarnAboutNestedUpdates\x26\x26(didWarnAboutNestedUpdates\x3d!0,error$jscomp$0(\x22Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\\n\\nCheck the render method of %s.\x22,\ngetComponentNameFromFiber(current)||\x22Unknown\x22));container\x3dcreateUpdate(eventTime,lane);container.payload\x3d{element};callback\x3dvoid 0\x3d\x3d\x3dcallback?null:callback;null!\x3d\x3dcallback\x26\x26(\x22function\x22!\x3d\x3dtypeof callback\x26\x26error$jscomp$0(\x22render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\x22,callback),container.callback\x3dcallback);element\x3denqueueUpdate(current$1,container,lane);null!\x3d\x3delement\x26\x26(scheduleUpdateOnFiber(element,current$1,lane,eventTime),entangleTransitions(element,\ncurrent$1,lane));return lane}function getPublicRootInstance(container){container\x3dcontainer.current;if(!container.child)return null;switch(container.child.tag){case 5:return container.child.stateNode;default:return container.child.stateNode}}function markRetryLaneImpl(fiber,retryLane){fiber\x3dfiber.memoizedState;if(null!\x3d\x3dfiber\x26\x26null!\x3d\x3dfiber.dehydrated){var a\x3dfiber.retryLane;fiber.retryLane\x3d0!\x3d\x3da\x26\x26a\x3cretryLane?a:retryLane}}function markRetryLaneIfNotHydrated(fiber,retryLane){markRetryLaneImpl(fiber,retryLane);\n(fiber\x3dfiber.alternate)\x26\x26markRetryLaneImpl(fiber,retryLane)}function findHostInstanceWithNoPortals(fiber){fiber\x3dfindCurrentFiberUsingSlowPath(fiber);fiber\x3dnull!\x3d\x3dfiber?findCurrentHostFiberWithNoPortalsImpl(fiber):null;return null\x3d\x3d\x3dfiber?null:fiber.stateNode}function findHostInstanceByFiber(fiber){fiber\x3dfindCurrentHostFiber(fiber);return null\x3d\x3d\x3dfiber?null:fiber.stateNode}function emptyFindFiberByHostInstance(instance){return null}function getCurrentFiberForDevTools(){return current}function ReactDOMRoot(internalRoot){this._internalRoot\x3d\ninternalRoot}function ReactDOMHydrationRoot(internalRoot){this._internalRoot\x3dinternalRoot}function isValidContainer(node){return!(!node||1!\x3d\x3dnode.nodeType\x26\x269!\x3d\x3dnode.nodeType\x26\x2611!\x3d\x3dnode.nodeType)}function isValidContainerLegacy(node){return!(!node||1!\x3d\x3dnode.nodeType\x26\x269!\x3d\x3dnode.nodeType\x26\x2611!\x3d\x3dnode.nodeType\x26\x26(8!\x3d\x3dnode.nodeType||\x22 react-mount-point-unstable \x22!\x3d\x3dnode.nodeValue))}function warnIfReactDOMContainerInDEV(container){1\x3d\x3d\x3dcontainer.nodeType\x26\x26container.tagName\x26\x26\x22BODY\x22\x3d\x3d\x3dcontainer.tagName.toUpperCase()\x26\x26\nerror$jscomp$0(\x22createRoot(): Creating roots directly with document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try using a container element created for your app.\x22);container[internalContainerInstanceKey]\x26\x26(container._reactRootContainer?error$jscomp$0(\x22You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.\x22):error$jscomp$0(\x22You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.\x22))}\nfunction getReactRootElementInContainer(container){return container?9\x3d\x3d\x3dcontainer.nodeType?container.documentElement:container.firstChild:null}function noopOnRecoverableError(){}function legacyCreateRootFromDOMContainer(container,initialChildren,parentComponent,callback,isHydrationContainer){if(isHydrationContainer){if(\x22function\x22\x3d\x3d\x3dtypeof callback){var originalCallback\x3dcallback;callback\x3dfunction(){var instance\x3dgetPublicRootInstance(root);originalCallback.call(instance)}}var root\x3dcreateHydrationContainer(initialChildren,\ncallback,container,0,null,!1,!1,\x22\x22,noopOnRecoverableError);container._reactRootContainer\x3droot;container[internalContainerInstanceKey]\x3droot.current;listenToAllSupportedEvents(8\x3d\x3d\x3dcontainer.nodeType?container.parentNode:container);flushSync();return root}for(;isHydrationContainer\x3dcontainer.lastChild;)container.removeChild(isHydrationContainer);if(\x22function\x22\x3d\x3d\x3dtypeof callback){var _originalCallback\x3dcallback;callback\x3dfunction(){var instance\x3dgetPublicRootInstance(_root);_originalCallback.call(instance)}}var _root\x3d\ncreateFiberRoot(container,0,!1,null,null,!1,!1,\x22\x22,noopOnRecoverableError);container._reactRootContainer\x3d_root;container[internalContainerInstanceKey]\x3d_root.current;listenToAllSupportedEvents(8\x3d\x3d\x3dcontainer.nodeType?container.parentNode:container);flushSync(function(){updateContainer(initialChildren,_root,parentComponent,callback)});return _root}function warnOnInvalidCallback$1(callback,callerName){null!\x3d\x3dcallback\x26\x26\x22function\x22!\x3d\x3dtypeof callback\x26\x26error$jscomp$0(\x22%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\x22,\ncallerName,callback)}function legacyRenderSubtreeIntoContainer(parentComponent,children,container,forceHydrate,callback){topLevelUpdateWarnings(container);warnOnInvalidCallback$1(void 0\x3d\x3d\x3dcallback?null:callback,\x22render\x22);var maybeRoot\x3dcontainer._reactRootContainer;if(maybeRoot){var root\x3dmaybeRoot;if(\x22function\x22\x3d\x3d\x3dtypeof callback){var originalCallback\x3dcallback;callback\x3dfunction(){var instance\x3dgetPublicRootInstance(root);originalCallback.call(instance)}}updateContainer(children,root,parentComponent,\ncallback)}else root\x3dlegacyCreateRootFromDOMContainer(container,children,parentComponent,callback,forceHydrate);return getPublicRootInstance(root)}\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var React\x3drequire(\x22module$node_modules$react$index\x22),Scheduler\x3drequire(\x22module$node_modules$scheduler$index\x22),ReactSharedInternals\x3dReact.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\nsuppressWarning\x3d!1,allNativeEvents\x3dnew Set,registrationNameDependencies\x3d{},possibleRegistrationNames\x3d{},canUseDOM\x3d!(\x22undefined\x22\x3d\x3d\x3dtypeof window||\x22undefined\x22\x3d\x3d\x3dtypeof window.document||\x22undefined\x22\x3d\x3d\x3dtypeof window.document.createElement),hasOwnProperty\x3dObject.prototype.hasOwnProperty,VALID_ATTRIBUTE_NAME_REGEX\x3dRegExp(\x22^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\x22),\nillegalAttributeNameCache\x3d{},validatedAttributeNameCache\x3d{},properties\x3d{};\x22children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\x22.split(\x22 \x22).forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,0,!1,name,null,!1,!1)});[[\x22acceptCharset\x22,\x22accept-charset\x22],[\x22className\x22,\x22class\x22],[\x22htmlFor\x22,\x22for\x22],[\x22httpEquiv\x22,\x22http-equiv\x22]].forEach(function(_ref){var name\x3d_ref[0];properties[name]\x3dnew PropertyInfoRecord(name,\n1,!1,_ref[1],null,!1,!1)});[\x22contentEditable\x22,\x22draggable\x22,\x22spellCheck\x22,\x22value\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,2,!1,name.toLowerCase(),null,!1,!1)});[\x22autoReverse\x22,\x22externalResourcesRequired\x22,\x22focusable\x22,\x22preserveAlpha\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,2,!1,name,null,!1,!1)});\x22allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\x22.split(\x22 \x22).forEach(function(name){properties[name]\x3d\nnew PropertyInfoRecord(name,3,!1,name.toLowerCase(),null,!1,!1)});[\x22checked\x22,\x22multiple\x22,\x22muted\x22,\x22selected\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,3,!0,name,null,!1,!1)});[\x22capture\x22,\x22download\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,4,!1,name,null,!1,!1)});[\x22cols\x22,\x22rows\x22,\x22size\x22,\x22span\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,6,!1,name,null,!1,!1)});[\x22rowSpan\x22,\x22start\x22].forEach(function(name){properties[name]\x3dnew PropertyInfoRecord(name,\n5,!1,name.toLowerCase(),null,!1,!1)});var CAMELIZE\x3d/[\\-:]([a-z])/g,capitalize\x3dfunction(token){return token[1].toUpperCase()};\x22accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\x22.split(\x22 \x22).forEach(function(attributeName){var name\x3d\nattributeName.replace(CAMELIZE,capitalize);properties[name]\x3dnew PropertyInfoRecord(name,1,!1,attributeName,null,!1,!1)});\x22xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\x22.split(\x22 \x22).forEach(function(attributeName){var name\x3dattributeName.replace(CAMELIZE,capitalize);properties[name]\x3dnew PropertyInfoRecord(name,1,!1,attributeName,\x22http://www.w3.org/1999/xlink\x22,!1,!1)});[\x22xml:base\x22,\x22xml:lang\x22,\x22xml:space\x22].forEach(function(attributeName){var name\x3dattributeName.replace(CAMELIZE,\ncapitalize);properties[name]\x3dnew PropertyInfoRecord(name,1,!1,attributeName,\x22http://www.w3.org/XML/1998/namespace\x22,!1,!1)});[\x22tabIndex\x22,\x22crossOrigin\x22].forEach(function(attributeName){properties[attributeName]\x3dnew PropertyInfoRecord(attributeName,1,!1,attributeName.toLowerCase(),null,!1,!1)});properties.xlinkHref\x3dnew PropertyInfoRecord(\x22xlinkHref\x22,1,!1,\x22xlink:href\x22,\x22http://www.w3.org/1999/xlink\x22,!0,!1);[\x22src\x22,\x22href\x22,\x22action\x22,\x22formAction\x22].forEach(function(attributeName){properties[attributeName]\x3dnew PropertyInfoRecord(attributeName,\n1,!1,attributeName.toLowerCase(),null,!0,!0)});var isJavaScriptProtocol\x3d/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i,didWarn\x3d!1,REACT_ELEMENT_TYPE\x3dSymbol.for(\x22react.element\x22),REACT_PORTAL_TYPE\x3dSymbol.for(\x22react.portal\x22),REACT_FRAGMENT_TYPE\x3dSymbol.for(\x22react.fragment\x22),REACT_STRICT_MODE_TYPE\x3dSymbol.for(\x22react.strict_mode\x22),REACT_PROFILER_TYPE\x3dSymbol.for(\x22react.profiler\x22),REACT_PROVIDER_TYPE\x3dSymbol.for(\x22react.provider\x22),REACT_CONTEXT_TYPE\x3d\nSymbol.for(\x22react.context\x22),REACT_FORWARD_REF_TYPE\x3dSymbol.for(\x22react.forward_ref\x22),REACT_SUSPENSE_TYPE\x3dSymbol.for(\x22react.suspense\x22),REACT_SUSPENSE_LIST_TYPE\x3dSymbol.for(\x22react.suspense_list\x22),REACT_MEMO_TYPE\x3dSymbol.for(\x22react.memo\x22),REACT_LAZY_TYPE\x3dSymbol.for(\x22react.lazy\x22);Symbol.for(\x22react.scope\x22);Symbol.for(\x22react.debug_trace_mode\x22);var REACT_OFFSCREEN_TYPE\x3dSymbol.for(\x22react.offscreen\x22);Symbol.for(\x22react.legacy_hidden\x22);Symbol.for(\x22react.cache\x22);Symbol.for(\x22react.tracing_marker\x22);var MAYBE_ITERATOR_SYMBOL\x3d\nSymbol.iterator,assign\x3dObject.assign,disabledDepth\x3d0,prevLog,prevInfo,prevWarn,prevError,prevGroup,prevGroupCollapsed,prevGroupEnd;disabledLog.__reactDisabledLog\x3d!0;var ReactCurrentDispatcher\x3dReactSharedInternals.ReactCurrentDispatcher,prefix$jscomp$0,reentry\x3d!1;var componentFrameCache\x3dnew (\x22function\x22\x3d\x3d\x3dtypeof WeakMap?WeakMap:Map);var ReactDebugCurrentFrame\x3dReactSharedInternals.ReactDebugCurrentFrame,current\x3dnull,isRendering\x3d!1,hasReadOnlyValue\x3d{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,\nsubmit:!0},didWarnValueDefaultValue\x3d!1,didWarnCheckedDefaultChecked\x3d!1,didWarnControlledToUncontrolled\x3d!1,didWarnUncontrolledToControlled\x3d!1,didWarnSelectedSetOnOption\x3d!1,didWarnInvalidChild\x3d!1,didWarnInvalidInnerHTML\x3d!1,isArrayImpl\x3dArray.isArray;var didWarnValueDefaultValue$1\x3d!1;var valuePropNames\x3d[\x22value\x22,\x22defaultValue\x22],didWarnValDefaultVal\x3d!1,reusableSVGContainer,setInnerHTML\x3dfunction(func){return\x22undefined\x22!\x3d\x3dtypeof MSApp\x26\x26MSApp.execUnsafeLocalFunction?function(arg0,arg1,arg2,arg3){MSApp.execUnsafeLocalFunction(function(){return func(arg0,\narg1,arg2,arg3)})}:func}(function(node,html){if(\x22http://www.w3.org/2000/svg\x22!\x3d\x3dnode.namespaceURI||\x22innerHTML\x22in node)node.innerHTML\x3dhtml;else{reusableSVGContainer\x3dreusableSVGContainer||document.createElement(\x22div\x22);reusableSVGContainer.innerHTML\x3d\x22\\x3csvg\\x3e\x22+html.valueOf().toString()+\x22\\x3c/svg\\x3e\x22;for(html\x3dreusableSVGContainer.firstChild;node.firstChild;)node.removeChild(node.firstChild);for(;html.firstChild;)node.appendChild(html.firstChild)}}),setTextContent\x3dfunction(node,text){if(text){var firstChild\x3d\nnode.firstChild;if(firstChild\x26\x26firstChild\x3d\x3d\x3dnode.lastChild\x26\x263\x3d\x3d\x3dfirstChild.nodeType){firstChild.nodeValue\x3dtext;return}}node.textContent\x3dtext},shorthandToLonghand\x3d{animation:\x22animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction\x22.split(\x22 \x22),background:\x22backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize\x22.split(\x22 \x22),\nbackgroundPosition:[\x22backgroundPositionX\x22,\x22backgroundPositionY\x22],border:\x22borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth\x22.split(\x22 \x22),borderBlockEnd:[\x22borderBlockEndColor\x22,\x22borderBlockEndStyle\x22,\x22borderBlockEndWidth\x22],borderBlockStart:[\x22borderBlockStartColor\x22,\x22borderBlockStartStyle\x22,\n\x22borderBlockStartWidth\x22],borderBottom:[\x22borderBottomColor\x22,\x22borderBottomStyle\x22,\x22borderBottomWidth\x22],borderColor:[\x22borderBottomColor\x22,\x22borderLeftColor\x22,\x22borderRightColor\x22,\x22borderTopColor\x22],borderImage:[\x22borderImageOutset\x22,\x22borderImageRepeat\x22,\x22borderImageSlice\x22,\x22borderImageSource\x22,\x22borderImageWidth\x22],borderInlineEnd:[\x22borderInlineEndColor\x22,\x22borderInlineEndStyle\x22,\x22borderInlineEndWidth\x22],borderInlineStart:[\x22borderInlineStartColor\x22,\x22borderInlineStartStyle\x22,\x22borderInlineStartWidth\x22],borderLeft:[\x22borderLeftColor\x22,\n\x22borderLeftStyle\x22,\x22borderLeftWidth\x22],borderRadius:[\x22borderBottomLeftRadius\x22,\x22borderBottomRightRadius\x22,\x22borderTopLeftRadius\x22,\x22borderTopRightRadius\x22],borderRight:[\x22borderRightColor\x22,\x22borderRightStyle\x22,\x22borderRightWidth\x22],borderStyle:[\x22borderBottomStyle\x22,\x22borderLeftStyle\x22,\x22borderRightStyle\x22,\x22borderTopStyle\x22],borderTop:[\x22borderTopColor\x22,\x22borderTopStyle\x22,\x22borderTopWidth\x22],borderWidth:[\x22borderBottomWidth\x22,\x22borderLeftWidth\x22,\x22borderRightWidth\x22,\x22borderTopWidth\x22],columnRule:[\x22columnRuleColor\x22,\x22columnRuleStyle\x22,\n\x22columnRuleWidth\x22],columns:[\x22columnCount\x22,\x22columnWidth\x22],flex:[\x22flexBasis\x22,\x22flexGrow\x22,\x22flexShrink\x22],flexFlow:[\x22flexDirection\x22,\x22flexWrap\x22],font:\x22fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight\x22.split(\x22 \x22),fontVariant:\x22fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition\x22.split(\x22 \x22),\ngap:[\x22columnGap\x22,\x22rowGap\x22],grid:\x22gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows\x22.split(\x22 \x22),gridArea:[\x22gridColumnEnd\x22,\x22gridColumnStart\x22,\x22gridRowEnd\x22,\x22gridRowStart\x22],gridColumn:[\x22gridColumnEnd\x22,\x22gridColumnStart\x22],gridColumnGap:[\x22columnGap\x22],gridGap:[\x22columnGap\x22,\x22rowGap\x22],gridRow:[\x22gridRowEnd\x22,\x22gridRowStart\x22],gridRowGap:[\x22rowGap\x22],gridTemplate:[\x22gridTemplateAreas\x22,\x22gridTemplateColumns\x22,\x22gridTemplateRows\x22],listStyle:[\x22listStyleImage\x22,\x22listStylePosition\x22,\n\x22listStyleType\x22],margin:[\x22marginBottom\x22,\x22marginLeft\x22,\x22marginRight\x22,\x22marginTop\x22],marker:[\x22markerEnd\x22,\x22markerMid\x22,\x22markerStart\x22],mask:\x22maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize\x22.split(\x22 \x22),maskPosition:[\x22maskPositionX\x22,\x22maskPositionY\x22],outline:[\x22outlineColor\x22,\x22outlineStyle\x22,\x22outlineWidth\x22],overflow:[\x22overflowX\x22,\x22overflowY\x22],padding:[\x22paddingBottom\x22,\x22paddingLeft\x22,\x22paddingRight\x22,\x22paddingTop\x22],placeContent:[\x22alignContent\x22,\x22justifyContent\x22],placeItems:[\x22alignItems\x22,\n\x22justifyItems\x22],placeSelf:[\x22alignSelf\x22,\x22justifySelf\x22],textDecoration:[\x22textDecorationColor\x22,\x22textDecorationLine\x22,\x22textDecorationStyle\x22],textEmphasis:[\x22textEmphasisColor\x22,\x22textEmphasisStyle\x22],transition:[\x22transitionDelay\x22,\x22transitionDuration\x22,\x22transitionProperty\x22,\x22transitionTimingFunction\x22],wordWrap:[\x22overflowWrap\x22]},isUnitlessNumber\x3d{animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,\nflex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},prefixes\x3d[\x22Webkit\x22,\x22ms\x22,\x22Moz\x22,\x22O\x22];Object.keys(isUnitlessNumber).forEach(function(prop){prefixes.forEach(function(prefix){prefix\x3d\nprefix+prop.charAt(0).toUpperCase()+prop.substring(1);isUnitlessNumber[prefix]\x3disUnitlessNumber[prop]})});var uppercasePattern\x3d/([A-Z])/g,msPattern\x3d/^ms-/,warnValidStyle\x3dfunction(){},badVendoredStyleNamePattern\x3d/^(?:webkit|moz|o)[A-Z]/,msPattern$1\x3d/^-ms-/,hyphenPattern\x3d/-(.)/g,badStyleValueWithSemicolonPattern\x3d/;\\s*$/,warnedStyleNames\x3d{},warnedStyleValues\x3d{},warnedForNaNValue\x3d!1,warnedForInfinityValue\x3d!1,camelize\x3dfunction(string){return string.replace(hyphenPattern,function(_,character){return character.toUpperCase()})},\nwarnValidStyle$1\x3dwarnValidStyle\x3dfunction(name,value){-1\x3cname.indexOf(\x22-\x22)?warnedStyleNames.hasOwnProperty(name)\x26\x26warnedStyleNames[name]||(warnedStyleNames[name]\x3d!0,error$jscomp$0(\x22Unsupported style property %s. Did you mean %s?\x22,name,camelize(name.replace(msPattern$1,\x22ms-\x22)))):badVendoredStyleNamePattern.test(name)?warnedStyleNames.hasOwnProperty(name)\x26\x26warnedStyleNames[name]||(warnedStyleNames[name]\x3d!0,error$jscomp$0(\x22Unsupported vendor-prefixed style property %s. Did you mean %s?\x22,name,name.charAt(0).toUpperCase()+\nname.slice(1))):badStyleValueWithSemicolonPattern.test(value)\x26\x26(warnedStyleValues.hasOwnProperty(value)\x26\x26warnedStyleValues[value]||(warnedStyleValues[value]\x3d!0,error$jscomp$0(\x27Style property values shouldn\\\x27t contain a semicolon. Try \x22%s: %s\x22 instead.\x27,name,value.replace(badStyleValueWithSemicolonPattern,\x22\x22))));\x22number\x22\x3d\x3d\x3dtypeof value\x26\x26(isNaN(value)?warnedForNaNValue||(warnedForNaNValue\x3d!0,error$jscomp$0(\x22`NaN` is an invalid value for the `%s` css style property.\x22,name)):isFinite(value)||warnedForInfinityValue||\n(warnedForInfinityValue\x3d!0,error$jscomp$0(\x22`Infinity` is an invalid value for the `%s` css style property.\x22,name)))},voidElementTags\x3dassign({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),possibleStandardNames\x3d{accept:\x22accept\x22,acceptcharset:\x22acceptCharset\x22,\x22accept-charset\x22:\x22acceptCharset\x22,accesskey:\x22accessKey\x22,action:\x22action\x22,allowfullscreen:\x22allowFullScreen\x22,alt:\x22alt\x22,as:\x22as\x22,async:\x22async\x22,autocapitalize:\x22autoCapitalize\x22,\nautocomplete:\x22autoComplete\x22,autocorrect:\x22autoCorrect\x22,autofocus:\x22autoFocus\x22,autoplay:\x22autoPlay\x22,autosave:\x22autoSave\x22,capture:\x22capture\x22,cellpadding:\x22cellPadding\x22,cellspacing:\x22cellSpacing\x22,challenge:\x22challenge\x22,charset:\x22charSet\x22,checked:\x22checked\x22,children:\x22children\x22,cite:\x22cite\x22,class:\x22className\x22,classid:\x22classID\x22,classname:\x22className\x22,cols:\x22cols\x22,colspan:\x22colSpan\x22,content:\x22content\x22,contenteditable:\x22contentEditable\x22,contextmenu:\x22contextMenu\x22,controls:\x22controls\x22,controlslist:\x22controlsList\x22,coords:\x22coords\x22,\ncrossorigin:\x22crossOrigin\x22,dangerouslysetinnerhtml:\x22dangerouslySetInnerHTML\x22,data:\x22data\x22,datetime:\x22dateTime\x22,default:\x22default\x22,defaultchecked:\x22defaultChecked\x22,defaultvalue:\x22defaultValue\x22,defer:\x22defer\x22,dir:\x22dir\x22,disabled:\x22disabled\x22,disablepictureinpicture:\x22disablePictureInPicture\x22,disableremoteplayback:\x22disableRemotePlayback\x22,download:\x22download\x22,draggable:\x22draggable\x22,enctype:\x22encType\x22,enterkeyhint:\x22enterKeyHint\x22,for:\x22htmlFor\x22,form:\x22form\x22,formmethod:\x22formMethod\x22,formaction:\x22formAction\x22,formenctype:\x22formEncType\x22,\nformnovalidate:\x22formNoValidate\x22,formtarget:\x22formTarget\x22,frameborder:\x22frameBorder\x22,headers:\x22headers\x22,height:\x22height\x22,hidden:\x22hidden\x22,high:\x22high\x22,href:\x22href\x22,hreflang:\x22hrefLang\x22,htmlfor:\x22htmlFor\x22,httpequiv:\x22httpEquiv\x22,\x22http-equiv\x22:\x22httpEquiv\x22,icon:\x22icon\x22,id:\x22id\x22,imagesizes:\x22imageSizes\x22,imagesrcset:\x22imageSrcSet\x22,innerhtml:\x22innerHTML\x22,inputmode:\x22inputMode\x22,integrity:\x22integrity\x22,is:\x22is\x22,itemid:\x22itemID\x22,itemprop:\x22itemProp\x22,itemref:\x22itemRef\x22,itemscope:\x22itemScope\x22,itemtype:\x22itemType\x22,keyparams:\x22keyParams\x22,\nkeytype:\x22keyType\x22,kind:\x22kind\x22,label:\x22label\x22,lang:\x22lang\x22,list:\x22list\x22,loop:\x22loop\x22,low:\x22low\x22,manifest:\x22manifest\x22,marginwidth:\x22marginWidth\x22,marginheight:\x22marginHeight\x22,max:\x22max\x22,maxlength:\x22maxLength\x22,media:\x22media\x22,mediagroup:\x22mediaGroup\x22,method:\x22method\x22,min:\x22min\x22,minlength:\x22minLength\x22,multiple:\x22multiple\x22,muted:\x22muted\x22,name:\x22name\x22,nomodule:\x22noModule\x22,nonce:\x22nonce\x22,novalidate:\x22noValidate\x22,open:\x22open\x22,optimum:\x22optimum\x22,pattern:\x22pattern\x22,placeholder:\x22placeholder\x22,playsinline:\x22playsInline\x22,poster:\x22poster\x22,\npreload:\x22preload\x22,profile:\x22profile\x22,radiogroup:\x22radioGroup\x22,readonly:\x22readOnly\x22,referrerpolicy:\x22referrerPolicy\x22,rel:\x22rel\x22,required:\x22required\x22,reversed:\x22reversed\x22,role:\x22role\x22,rows:\x22rows\x22,rowspan:\x22rowSpan\x22,sandbox:\x22sandbox\x22,scope:\x22scope\x22,scoped:\x22scoped\x22,scrolling:\x22scrolling\x22,seamless:\x22seamless\x22,selected:\x22selected\x22,shape:\x22shape\x22,size:\x22size\x22,sizes:\x22sizes\x22,span:\x22span\x22,spellcheck:\x22spellCheck\x22,src:\x22src\x22,srcdoc:\x22srcDoc\x22,srclang:\x22srcLang\x22,srcset:\x22srcSet\x22,start:\x22start\x22,step:\x22step\x22,style:\x22style\x22,summary:\x22summary\x22,\ntabindex:\x22tabIndex\x22,target:\x22target\x22,title:\x22title\x22,type:\x22type\x22,usemap:\x22useMap\x22,value:\x22value\x22,width:\x22width\x22,wmode:\x22wmode\x22,wrap:\x22wrap\x22,about:\x22about\x22,accentheight:\x22accentHeight\x22,\x22accent-height\x22:\x22accentHeight\x22,accumulate:\x22accumulate\x22,additive:\x22additive\x22,alignmentbaseline:\x22alignmentBaseline\x22,\x22alignment-baseline\x22:\x22alignmentBaseline\x22,allowreorder:\x22allowReorder\x22,alphabetic:\x22alphabetic\x22,amplitude:\x22amplitude\x22,arabicform:\x22arabicForm\x22,\x22arabic-form\x22:\x22arabicForm\x22,ascent:\x22ascent\x22,attributename:\x22attributeName\x22,attributetype:\x22attributeType\x22,\nautoreverse:\x22autoReverse\x22,azimuth:\x22azimuth\x22,basefrequency:\x22baseFrequency\x22,baselineshift:\x22baselineShift\x22,\x22baseline-shift\x22:\x22baselineShift\x22,baseprofile:\x22baseProfile\x22,bbox:\x22bbox\x22,begin:\x22begin\x22,bias:\x22bias\x22,by:\x22by\x22,calcmode:\x22calcMode\x22,capheight:\x22capHeight\x22,\x22cap-height\x22:\x22capHeight\x22,clip:\x22clip\x22,clippath:\x22clipPath\x22,\x22clip-path\x22:\x22clipPath\x22,clippathunits:\x22clipPathUnits\x22,cliprule:\x22clipRule\x22,\x22clip-rule\x22:\x22clipRule\x22,color:\x22color\x22,colorinterpolation:\x22colorInterpolation\x22,\x22color-interpolation\x22:\x22colorInterpolation\x22,\ncolorinterpolationfilters:\x22colorInterpolationFilters\x22,\x22color-interpolation-filters\x22:\x22colorInterpolationFilters\x22,colorprofile:\x22colorProfile\x22,\x22color-profile\x22:\x22colorProfile\x22,colorrendering:\x22colorRendering\x22,\x22color-rendering\x22:\x22colorRendering\x22,contentscripttype:\x22contentScriptType\x22,contentstyletype:\x22contentStyleType\x22,cursor:\x22cursor\x22,cx:\x22cx\x22,cy:\x22cy\x22,d:\x22d\x22,datatype:\x22datatype\x22,decelerate:\x22decelerate\x22,descent:\x22descent\x22,diffuseconstant:\x22diffuseConstant\x22,direction:\x22direction\x22,display:\x22display\x22,divisor:\x22divisor\x22,\ndominantbaseline:\x22dominantBaseline\x22,\x22dominant-baseline\x22:\x22dominantBaseline\x22,dur:\x22dur\x22,dx:\x22dx\x22,dy:\x22dy\x22,edgemode:\x22edgeMode\x22,elevation:\x22elevation\x22,enablebackground:\x22enableBackground\x22,\x22enable-background\x22:\x22enableBackground\x22,end:\x22end\x22,exponent:\x22exponent\x22,externalresourcesrequired:\x22externalResourcesRequired\x22,fill:\x22fill\x22,fillopacity:\x22fillOpacity\x22,\x22fill-opacity\x22:\x22fillOpacity\x22,fillrule:\x22fillRule\x22,\x22fill-rule\x22:\x22fillRule\x22,filter:\x22filter\x22,filterres:\x22filterRes\x22,filterunits:\x22filterUnits\x22,floodopacity:\x22floodOpacity\x22,\n\x22flood-opacity\x22:\x22floodOpacity\x22,floodcolor:\x22floodColor\x22,\x22flood-color\x22:\x22floodColor\x22,focusable:\x22focusable\x22,fontfamily:\x22fontFamily\x22,\x22font-family\x22:\x22fontFamily\x22,fontsize:\x22fontSize\x22,\x22font-size\x22:\x22fontSize\x22,fontsizeadjust:\x22fontSizeAdjust\x22,\x22font-size-adjust\x22:\x22fontSizeAdjust\x22,fontstretch:\x22fontStretch\x22,\x22font-stretch\x22:\x22fontStretch\x22,fontstyle:\x22fontStyle\x22,\x22font-style\x22:\x22fontStyle\x22,fontvariant:\x22fontVariant\x22,\x22font-variant\x22:\x22fontVariant\x22,fontweight:\x22fontWeight\x22,\x22font-weight\x22:\x22fontWeight\x22,format:\x22format\x22,from:\x22from\x22,\nfx:\x22fx\x22,fy:\x22fy\x22,g1:\x22g1\x22,g2:\x22g2\x22,glyphname:\x22glyphName\x22,\x22glyph-name\x22:\x22glyphName\x22,glyphorientationhorizontal:\x22glyphOrientationHorizontal\x22,\x22glyph-orientation-horizontal\x22:\x22glyphOrientationHorizontal\x22,glyphorientationvertical:\x22glyphOrientationVertical\x22,\x22glyph-orientation-vertical\x22:\x22glyphOrientationVertical\x22,glyphref:\x22glyphRef\x22,gradienttransform:\x22gradientTransform\x22,gradientunits:\x22gradientUnits\x22,hanging:\x22hanging\x22,horizadvx:\x22horizAdvX\x22,\x22horiz-adv-x\x22:\x22horizAdvX\x22,horizoriginx:\x22horizOriginX\x22,\x22horiz-origin-x\x22:\x22horizOriginX\x22,\nideographic:\x22ideographic\x22,imagerendering:\x22imageRendering\x22,\x22image-rendering\x22:\x22imageRendering\x22,in2:\x22in2\x22,in:\x22in\x22,inlist:\x22inlist\x22,intercept:\x22intercept\x22,k1:\x22k1\x22,k2:\x22k2\x22,k3:\x22k3\x22,k4:\x22k4\x22,k:\x22k\x22,kernelmatrix:\x22kernelMatrix\x22,kernelunitlength:\x22kernelUnitLength\x22,kerning:\x22kerning\x22,keypoints:\x22keyPoints\x22,keysplines:\x22keySplines\x22,keytimes:\x22keyTimes\x22,lengthadjust:\x22lengthAdjust\x22,letterspacing:\x22letterSpacing\x22,\x22letter-spacing\x22:\x22letterSpacing\x22,lightingcolor:\x22lightingColor\x22,\x22lighting-color\x22:\x22lightingColor\x22,limitingconeangle:\x22limitingConeAngle\x22,\nlocal:\x22local\x22,markerend:\x22markerEnd\x22,\x22marker-end\x22:\x22markerEnd\x22,markerheight:\x22markerHeight\x22,markermid:\x22markerMid\x22,\x22marker-mid\x22:\x22markerMid\x22,markerstart:\x22markerStart\x22,\x22marker-start\x22:\x22markerStart\x22,markerunits:\x22markerUnits\x22,markerwidth:\x22markerWidth\x22,mask:\x22mask\x22,maskcontentunits:\x22maskContentUnits\x22,maskunits:\x22maskUnits\x22,mathematical:\x22mathematical\x22,mode:\x22mode\x22,numoctaves:\x22numOctaves\x22,offset:\x22offset\x22,opacity:\x22opacity\x22,operator:\x22operator\x22,order:\x22order\x22,orient:\x22orient\x22,orientation:\x22orientation\x22,origin:\x22origin\x22,\noverflow:\x22overflow\x22,overlineposition:\x22overlinePosition\x22,\x22overline-position\x22:\x22overlinePosition\x22,overlinethickness:\x22overlineThickness\x22,\x22overline-thickness\x22:\x22overlineThickness\x22,paintorder:\x22paintOrder\x22,\x22paint-order\x22:\x22paintOrder\x22,panose1:\x22panose1\x22,\x22panose-1\x22:\x22panose1\x22,pathlength:\x22pathLength\x22,patterncontentunits:\x22patternContentUnits\x22,patterntransform:\x22patternTransform\x22,patternunits:\x22patternUnits\x22,pointerevents:\x22pointerEvents\x22,\x22pointer-events\x22:\x22pointerEvents\x22,points:\x22points\x22,pointsatx:\x22pointsAtX\x22,pointsaty:\x22pointsAtY\x22,\npointsatz:\x22pointsAtZ\x22,prefix:\x22prefix\x22,preservealpha:\x22preserveAlpha\x22,preserveaspectratio:\x22preserveAspectRatio\x22,primitiveunits:\x22primitiveUnits\x22,property:\x22property\x22,r:\x22r\x22,radius:\x22radius\x22,refx:\x22refX\x22,refy:\x22refY\x22,renderingintent:\x22renderingIntent\x22,\x22rendering-intent\x22:\x22renderingIntent\x22,repeatcount:\x22repeatCount\x22,repeatdur:\x22repeatDur\x22,requiredextensions:\x22requiredExtensions\x22,requiredfeatures:\x22requiredFeatures\x22,resource:\x22resource\x22,restart:\x22restart\x22,result:\x22result\x22,results:\x22results\x22,rotate:\x22rotate\x22,rx:\x22rx\x22,ry:\x22ry\x22,\nscale:\x22scale\x22,security:\x22security\x22,seed:\x22seed\x22,shaperendering:\x22shapeRendering\x22,\x22shape-rendering\x22:\x22shapeRendering\x22,slope:\x22slope\x22,spacing:\x22spacing\x22,specularconstant:\x22specularConstant\x22,specularexponent:\x22specularExponent\x22,speed:\x22speed\x22,spreadmethod:\x22spreadMethod\x22,startoffset:\x22startOffset\x22,stddeviation:\x22stdDeviation\x22,stemh:\x22stemh\x22,stemv:\x22stemv\x22,stitchtiles:\x22stitchTiles\x22,stopcolor:\x22stopColor\x22,\x22stop-color\x22:\x22stopColor\x22,stopopacity:\x22stopOpacity\x22,\x22stop-opacity\x22:\x22stopOpacity\x22,strikethroughposition:\x22strikethroughPosition\x22,\n\x22strikethrough-position\x22:\x22strikethroughPosition\x22,strikethroughthickness:\x22strikethroughThickness\x22,\x22strikethrough-thickness\x22:\x22strikethroughThickness\x22,string:\x22string\x22,stroke:\x22stroke\x22,strokedasharray:\x22strokeDasharray\x22,\x22stroke-dasharray\x22:\x22strokeDasharray\x22,strokedashoffset:\x22strokeDashoffset\x22,\x22stroke-dashoffset\x22:\x22strokeDashoffset\x22,strokelinecap:\x22strokeLinecap\x22,\x22stroke-linecap\x22:\x22strokeLinecap\x22,strokelinejoin:\x22strokeLinejoin\x22,\x22stroke-linejoin\x22:\x22strokeLinejoin\x22,strokemiterlimit:\x22strokeMiterlimit\x22,\x22stroke-miterlimit\x22:\x22strokeMiterlimit\x22,\nstrokewidth:\x22strokeWidth\x22,\x22stroke-width\x22:\x22strokeWidth\x22,strokeopacity:\x22strokeOpacity\x22,\x22stroke-opacity\x22:\x22strokeOpacity\x22,suppresscontenteditablewarning:\x22suppressContentEditableWarning\x22,suppresshydrationwarning:\x22suppressHydrationWarning\x22,surfacescale:\x22surfaceScale\x22,systemlanguage:\x22systemLanguage\x22,tablevalues:\x22tableValues\x22,targetx:\x22targetX\x22,targety:\x22targetY\x22,textanchor:\x22textAnchor\x22,\x22text-anchor\x22:\x22textAnchor\x22,textdecoration:\x22textDecoration\x22,\x22text-decoration\x22:\x22textDecoration\x22,textlength:\x22textLength\x22,textrendering:\x22textRendering\x22,\n\x22text-rendering\x22:\x22textRendering\x22,to:\x22to\x22,transform:\x22transform\x22,typeof:\x22typeof\x22,u1:\x22u1\x22,u2:\x22u2\x22,underlineposition:\x22underlinePosition\x22,\x22underline-position\x22:\x22underlinePosition\x22,underlinethickness:\x22underlineThickness\x22,\x22underline-thickness\x22:\x22underlineThickness\x22,unicode:\x22unicode\x22,unicodebidi:\x22unicodeBidi\x22,\x22unicode-bidi\x22:\x22unicodeBidi\x22,unicoderange:\x22unicodeRange\x22,\x22unicode-range\x22:\x22unicodeRange\x22,unitsperem:\x22unitsPerEm\x22,\x22units-per-em\x22:\x22unitsPerEm\x22,unselectable:\x22unselectable\x22,valphabetic:\x22vAlphabetic\x22,\x22v-alphabetic\x22:\x22vAlphabetic\x22,\nvalues:\x22values\x22,vectoreffect:\x22vectorEffect\x22,\x22vector-effect\x22:\x22vectorEffect\x22,version:\x22version\x22,vertadvy:\x22vertAdvY\x22,\x22vert-adv-y\x22:\x22vertAdvY\x22,vertoriginx:\x22vertOriginX\x22,\x22vert-origin-x\x22:\x22vertOriginX\x22,vertoriginy:\x22vertOriginY\x22,\x22vert-origin-y\x22:\x22vertOriginY\x22,vhanging:\x22vHanging\x22,\x22v-hanging\x22:\x22vHanging\x22,videographic:\x22vIdeographic\x22,\x22v-ideographic\x22:\x22vIdeographic\x22,viewbox:\x22viewBox\x22,viewtarget:\x22viewTarget\x22,visibility:\x22visibility\x22,vmathematical:\x22vMathematical\x22,\x22v-mathematical\x22:\x22vMathematical\x22,vocab:\x22vocab\x22,widths:\x22widths\x22,\nwordspacing:\x22wordSpacing\x22,\x22word-spacing\x22:\x22wordSpacing\x22,writingmode:\x22writingMode\x22,\x22writing-mode\x22:\x22writingMode\x22,x1:\x22x1\x22,x2:\x22x2\x22,x:\x22x\x22,xchannelselector:\x22xChannelSelector\x22,xheight:\x22xHeight\x22,\x22x-height\x22:\x22xHeight\x22,xlinkactuate:\x22xlinkActuate\x22,\x22xlink:actuate\x22:\x22xlinkActuate\x22,xlinkarcrole:\x22xlinkArcrole\x22,\x22xlink:arcrole\x22:\x22xlinkArcrole\x22,xlinkhref:\x22xlinkHref\x22,\x22xlink:href\x22:\x22xlinkHref\x22,xlinkrole:\x22xlinkRole\x22,\x22xlink:role\x22:\x22xlinkRole\x22,xlinkshow:\x22xlinkShow\x22,\x22xlink:show\x22:\x22xlinkShow\x22,xlinktitle:\x22xlinkTitle\x22,\x22xlink:title\x22:\x22xlinkTitle\x22,\nxlinktype:\x22xlinkType\x22,\x22xlink:type\x22:\x22xlinkType\x22,xmlbase:\x22xmlBase\x22,\x22xml:base\x22:\x22xmlBase\x22,xmllang:\x22xmlLang\x22,\x22xml:lang\x22:\x22xmlLang\x22,xmlns:\x22xmlns\x22,\x22xml:space\x22:\x22xmlSpace\x22,xmlnsxlink:\x22xmlnsXlink\x22,\x22xmlns:xlink\x22:\x22xmlnsXlink\x22,xmlspace:\x22xmlSpace\x22,y1:\x22y1\x22,y2:\x22y2\x22,y:\x22y\x22,ychannelselector:\x22yChannelSelector\x22,z:\x22z\x22,zoomandpan:\x22zoomAndPan\x22},ariaProperties\x3d{\x22aria-current\x22:0,\x22aria-description\x22:0,\x22aria-details\x22:0,\x22aria-disabled\x22:0,\x22aria-hidden\x22:0,\x22aria-invalid\x22:0,\x22aria-keyshortcuts\x22:0,\x22aria-label\x22:0,\x22aria-roledescription\x22:0,\n\x22aria-autocomplete\x22:0,\x22aria-checked\x22:0,\x22aria-expanded\x22:0,\x22aria-haspopup\x22:0,\x22aria-level\x22:0,\x22aria-modal\x22:0,\x22aria-multiline\x22:0,\x22aria-multiselectable\x22:0,\x22aria-orientation\x22:0,\x22aria-placeholder\x22:0,\x22aria-pressed\x22:0,\x22aria-readonly\x22:0,\x22aria-required\x22:0,\x22aria-selected\x22:0,\x22aria-sort\x22:0,\x22aria-valuemax\x22:0,\x22aria-valuemin\x22:0,\x22aria-valuenow\x22:0,\x22aria-valuetext\x22:0,\x22aria-atomic\x22:0,\x22aria-busy\x22:0,\x22aria-live\x22:0,\x22aria-relevant\x22:0,\x22aria-dropeffect\x22:0,\x22aria-grabbed\x22:0,\x22aria-activedescendant\x22:0,\x22aria-colcount\x22:0,\x22aria-colindex\x22:0,\n\x22aria-colspan\x22:0,\x22aria-controls\x22:0,\x22aria-describedby\x22:0,\x22aria-errormessage\x22:0,\x22aria-flowto\x22:0,\x22aria-labelledby\x22:0,\x22aria-owns\x22:0,\x22aria-posinset\x22:0,\x22aria-rowcount\x22:0,\x22aria-rowindex\x22:0,\x22aria-rowspan\x22:0,\x22aria-setsize\x22:0},warnedProperties\x3d{},rARIA\x3dRegExp(\x22^(aria)-[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\x22),rARIACamel\x3dRegExp(\x22^(aria)[A-Z][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\x22),\ndidWarnValueNull\x3d!1,validateProperty$1\x3dfunction(){},warnedProperties$1\x3d{},EVENT_NAME_REGEX\x3d/^on./,INVALID_EVENT_NAME_REGEX\x3d/^on[^A-Z]/,rARIA$1\x3dRegExp(\x22^(aria)-[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\x22),rARIACamel$1\x3dRegExp(\x22^(aria)[A-Z][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\x22);\nvalidateProperty$1\x3dfunction(tagName,name,value,eventRegistry){if(hasOwnProperty.call(warnedProperties$1,name)\x26\x26warnedProperties$1[name])return!0;tagName\x3dname.toLowerCase();if(\x22onfocusin\x22\x3d\x3d\x3dtagName||\x22onfocusout\x22\x3d\x3d\x3dtagName)return error$jscomp$0(\x22React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.\x22),warnedProperties$1[name]\x3d!0;if(null!\x3deventRegistry){var possibleRegistrationNames\x3d\neventRegistry.possibleRegistrationNames;if(eventRegistry.registrationNameDependencies.hasOwnProperty(name))return!0;eventRegistry\x3dpossibleRegistrationNames.hasOwnProperty(tagName)?possibleRegistrationNames[tagName]:null;if(null!\x3deventRegistry)return error$jscomp$0(\x22Invalid event handler property `%s`. Did you mean `%s`?\x22,name,eventRegistry),warnedProperties$1[name]\x3d!0;if(EVENT_NAME_REGEX.test(name))return error$jscomp$0(\x22Unknown event handler property `%s`. It will be ignored.\x22,name),warnedProperties$1[name]\x3d\n!0}else if(EVENT_NAME_REGEX.test(name))return INVALID_EVENT_NAME_REGEX.test(name)\x26\x26error$jscomp$0(\x22Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.\x22,name),warnedProperties$1[name]\x3d!0;if(rARIA$1.test(name)||rARIACamel$1.test(name))return!0;if(\x22innerhtml\x22\x3d\x3d\x3dtagName)return error$jscomp$0(\x22Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.\x22),warnedProperties$1[name]\x3d\n!0;if(\x22aria\x22\x3d\x3d\x3dtagName)return error$jscomp$0(\x22The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead.\x22),warnedProperties$1[name]\x3d!0;if(\x22is\x22\x3d\x3d\x3dtagName\x26\x26null!\x3d\x3dvalue\x26\x26void 0!\x3d\x3dvalue\x26\x26\x22string\x22!\x3d\x3dtypeof value)return error$jscomp$0(\x22Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.\x22,typeof value),warnedProperties$1[name]\x3d!0;if(\x22number\x22\x3d\x3d\x3dtypeof value\x26\x26isNaN(value))return error$jscomp$0(\x22Received NaN for the `%s` attribute. If this is expected, cast the value to a string.\x22,\nname),warnedProperties$1[name]\x3d!0;eventRegistry\x3dgetPropertyInfo(name);possibleRegistrationNames\x3dnull!\x3d\x3deventRegistry\x26\x260\x3d\x3d\x3deventRegistry.type;if(possibleStandardNames.hasOwnProperty(tagName)){if(tagName\x3dpossibleStandardNames[tagName],tagName!\x3d\x3dname)return error$jscomp$0(\x22Invalid DOM property `%s`. Did you mean `%s`?\x22,name,tagName),warnedProperties$1[name]\x3d!0}else if(!possibleRegistrationNames\x26\x26name!\x3d\x3dtagName)return error$jscomp$0(\x22React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.\x22,\nname,tagName),warnedProperties$1[name]\x3d!0;if(\x22boolean\x22\x3d\x3d\x3dtypeof value\x26\x26shouldRemoveAttributeWithWarning(name,value,eventRegistry,!1))return value?error$jscomp$0(\x27Received `%s` for a non-boolean attribute `%s`.\\n\\nIf you want to write it to the DOM, pass a string instead: %s\\x3d\x22%s\x22 or %s\\x3d{value.toString()}.\x27,value,name,name,value,name):error$jscomp$0(\x27Received `%s` for a non-boolean attribute `%s`.\\n\\nIf you want to write it to the DOM, pass a string instead: %s\\x3d\x22%s\x22 or %s\\x3d{value.toString()}.\\n\\nIf you used to conditionally omit it with %s\\x3d{condition \\x26\\x26 value}, pass %s\\x3d{condition ? value : undefined} instead.\x27,\nvalue,name,name,value,name,name,name),warnedProperties$1[name]\x3d!0;if(possibleRegistrationNames)return!0;if(shouldRemoveAttributeWithWarning(name,value,eventRegistry,!1))return warnedProperties$1[name]\x3d!0,!1;\x22false\x22!\x3d\x3dvalue\x26\x26\x22true\x22!\x3d\x3dvalue||null\x3d\x3d\x3deventRegistry||3!\x3d\x3deventRegistry.type||(error$jscomp$0(\x22Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s\\x3d{%s}?\x22,value,name,\x22false\x22\x3d\x3d\x3dvalue?\x22The browser will interpret it as a truthy value.\x22:\x27Although this works, it will not work as expected if you pass the string \x22false\x22.\x27,\nname,value),warnedProperties$1[name]\x3d!0);return!0};var warnUnknownProperties\x3dfunction(type,props,eventRegistry){var unknownProps\x3d[],key;for(key in props)validateProperty$1(type,key,props[key],eventRegistry)||unknownProps.push(key);props\x3dunknownProps.map(function(prop){return\x22`\x22+prop+\x22`\x22}).join(\x22, \x22);1\x3d\x3d\x3dunknownProps.length?error$jscomp$0(\x22Invalid value for prop %s on \\x3c%s\\x3e tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://reactjs.org/link/attribute-behavior \x22,\nprops,type):1\x3cunknownProps.length\x26\x26error$jscomp$0(\x22Invalid values for props %s on \\x3c%s\\x3e tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://reactjs.org/link/attribute-behavior \x22,props,type)},currentReplayingEvent\x3dnull,restoreImpl\x3dnull,restoreTarget\x3dnull,restoreQueue\x3dnull,batchedUpdatesImpl\x3dfunction(fn,bookkeeping){return fn(bookkeeping)},flushSyncImpl\x3dfunction(){},isInsideEventHandler\x3d!1,passiveBrowserEventsSupported\x3d!1;\nif(canUseDOM)try{var options$jscomp$0\x3d{};Object.defineProperty(options$jscomp$0,\x22passive\x22,{get:function(){passiveBrowserEventsSupported\x3d!0}});window.addEventListener(\x22test\x22,options$jscomp$0,options$jscomp$0);window.removeEventListener(\x22test\x22,options$jscomp$0,options$jscomp$0)}catch(e){passiveBrowserEventsSupported\x3d!1}var invokeGuardedCallbackImpl\x3dinvokeGuardedCallbackProd;if(\x22undefined\x22!\x3d\x3dtypeof window\x26\x26\x22function\x22\x3d\x3d\x3dtypeof window.dispatchEvent\x26\x26\x22undefined\x22!\x3d\x3dtypeof document\x26\x26\x22function\x22\x3d\x3d\x3dtypeof document.createEvent){var fakeNode\x3d\ndocument.createElement(\x22react\x22);invokeGuardedCallbackImpl\x3dfunction(name,func,context,a,b,c,d,e,f){function restoreAfterDispatch(){fakeNode.removeEventListener(evtType,callCallback,!1);\x22undefined\x22!\x3d\x3dtypeof window.event\x26\x26window.hasOwnProperty(\x22event\x22)\x26\x26(window.event\x3dwindowEvent)}function callCallback(){didCall\x3d!0;restoreAfterDispatch();func.apply(context,funcArgs);didError\x3d!1}function handleWindowError(event){error\x3devent.error;didSetError\x3d!0;null\x3d\x3d\x3derror\x26\x260\x3d\x3d\x3devent.colno\x26\x260\x3d\x3d\x3devent.lineno\x26\x26(isCrossOriginError\x3d\n!0);if(event.defaultPrevented\x26\x26null!\x3derror\x26\x26\x22object\x22\x3d\x3d\x3dtypeof error)try{error._suppressLogging\x3d!0}catch(inner){}}if(\x22undefined\x22\x3d\x3d\x3dtypeof document||null\x3d\x3d\x3ddocument)throw Error(\x22The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.\x22);\nvar evt\x3ddocument.createEvent(\x22Event\x22),didCall\x3d!1,didError\x3d!0,windowEvent\x3dwindow.event,windowEventDescriptor\x3dObject.getOwnPropertyDescriptor(window,\x22event\x22),funcArgs\x3dArray.prototype.slice.call(arguments,3),error,didSetError\x3d!1,isCrossOriginError\x3d!1,evtType\x3d\x22react-\x22+(name?name:\x22invokeguardedcallback\x22);window.addEventListener(\x22error\x22,handleWindowError);fakeNode.addEventListener(evtType,callCallback,!1);evt.initEvent(evtType,!1,!1);fakeNode.dispatchEvent(evt);windowEventDescriptor\x26\x26Object.defineProperty(window,\n\x22event\x22,windowEventDescriptor);didCall\x26\x26didError\x26\x26(didSetError?isCrossOriginError\x26\x26(error\x3dError(\x22A cross-origin error was thrown. React doesn\x27t have access to the actual error object in development. See https://reactjs.org/link/crossorigin-error for more information.\x22)):error\x3dError(\x22An error was thrown inside one of your components, but React doesn\x27t know what it was. This is likely due to browser flakiness. React does its best to preserve the \\\x22Pause on exceptions\\\x22 behavior of the DevTools, which requires some DEV-mode only tricks. It\x27s possible that these don\x27t work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.\x22),\nthis.onError(error));window.removeEventListener(\x22error\x22,handleWindowError);if(!didCall)return restoreAfterDispatch(),invokeGuardedCallbackProd.apply(this,arguments)}}var invokeGuardedCallbackImpl$1\x3dinvokeGuardedCallbackImpl,hasError\x3d!1,caughtError\x3dnull,hasRethrowError\x3d!1,rethrowError\x3dnull,reporter\x3d{onError:function(error){hasError\x3d!0;caughtError\x3derror}},ReactCurrentOwner\x3dReactSharedInternals.ReactCurrentOwner,scheduleCallback\x3dScheduler.unstable_scheduleCallback,cancelCallback\x3dScheduler.unstable_cancelCallback,\nshouldYield\x3dScheduler.unstable_shouldYield,requestPaint\x3dScheduler.unstable_requestPaint,now\x3dScheduler.unstable_now,getCurrentPriorityLevel\x3dScheduler.unstable_getCurrentPriorityLevel,ImmediatePriority\x3dScheduler.unstable_ImmediatePriority,UserBlockingPriority\x3dScheduler.unstable_UserBlockingPriority,NormalPriority\x3dScheduler.unstable_NormalPriority,LowPriority\x3dScheduler.unstable_LowPriority,IdlePriority\x3dScheduler.unstable_IdlePriority,unstable_yieldValue\x3dScheduler.unstable_yieldValue,unstable_setDisableYieldValue\x3d\nScheduler.unstable_setDisableYieldValue,rendererID\x3dnull,injectedHook\x3dnull,injectedProfilingHooks\x3dnull,hasLoggedError\x3d!1,isDevToolsPresent\x3d\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__,clz32\x3dMath.clz32?Math.clz32:clz32Fallback,log\x3dMath.log,LN2\x3dMath.LN2,TotalLanes\x3d31,SyncLane\x3d1,InputContinuousHydrationLane\x3d2,InputContinuousLane\x3d4,DefaultHydrationLane\x3d8,DefaultLane\x3d16,TransitionHydrationLane\x3d32,TransitionLanes\x3d4194240,RetryLanes\x3d130023424,SelectiveHydrationLane\x3d134217728,IdleHydrationLane\x3d268435456,\nIdleLane\x3d536870912,OffscreenLane\x3d1073741824,nextTransitionLane\x3d64,nextRetryLane\x3d4194304,DiscreteEventPriority\x3dSyncLane,ContinuousEventPriority\x3dInputContinuousLane,DefaultEventPriority\x3dDefaultLane,IdleEventPriority\x3dIdleLane,currentUpdatePriority\x3d0,hasScheduledReplayAttempt\x3d!1,queuedDiscreteEvents\x3d[],queuedFocus\x3dnull,queuedDrag\x3dnull,queuedMouse\x3dnull,queuedPointers\x3dnew Map,queuedPointerCaptures\x3dnew Map,queuedExplicitHydrationTargets\x3d[],discreteReplayableEvents\x3d\x22mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\x22.split(\x22 \x22),\nReactCurrentBatchConfig\x3dReactSharedInternals.ReactCurrentBatchConfig,_enabled\x3d!0,return_targetInst\x3dnull,root$jscomp$1\x3dnull,startText\x3dnull,fallbackText\x3dnull,EventInterface\x3d{eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(event){return event.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},SyntheticEvent\x3dcreateSyntheticEvent(EventInterface),UIEventInterface\x3dassign({},EventInterface,{view:0,detail:0}),SyntheticUIEvent\x3dcreateSyntheticEvent(UIEventInterface),lastMovementX,lastMovementY,lastMouseEvent,\nMouseEventInterface\x3dassign({},UIEventInterface,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:getEventModifierState,button:0,buttons:0,relatedTarget:function(event){return void 0\x3d\x3d\x3devent.relatedTarget?event.fromElement\x3d\x3d\x3devent.srcElement?event.toElement:event.fromElement:event.relatedTarget},movementX:function(event){if(\x22movementX\x22in event)return event.movementX;event!\x3d\x3dlastMouseEvent\x26\x26(lastMouseEvent\x26\x26\x22mousemove\x22\x3d\x3d\x3devent.type?(lastMovementX\x3d\nevent.screenX-lastMouseEvent.screenX,lastMovementY\x3devent.screenY-lastMouseEvent.screenY):lastMovementY\x3dlastMovementX\x3d0,lastMouseEvent\x3devent);return lastMovementX},movementY:function(event){return\x22movementY\x22in event?event.movementY:lastMovementY}}),SyntheticMouseEvent\x3dcreateSyntheticEvent(MouseEventInterface),DragEventInterface\x3dassign({},MouseEventInterface,{dataTransfer:0}),SyntheticDragEvent\x3dcreateSyntheticEvent(DragEventInterface),FocusEventInterface\x3dassign({},UIEventInterface,{relatedTarget:0}),\nSyntheticFocusEvent\x3dcreateSyntheticEvent(FocusEventInterface),AnimationEventInterface\x3dassign({},EventInterface,{animationName:0,elapsedTime:0,pseudoElement:0}),SyntheticAnimationEvent\x3dcreateSyntheticEvent(AnimationEventInterface),ClipboardEventInterface\x3dassign({},EventInterface,{clipboardData:function(event){return\x22clipboardData\x22in event?event.clipboardData:window.clipboardData}}),SyntheticClipboardEvent\x3dcreateSyntheticEvent(ClipboardEventInterface),CompositionEventInterface\x3dassign({},EventInterface,\n{data:0}),SyntheticCompositionEvent\x3dcreateSyntheticEvent(CompositionEventInterface),SyntheticInputEvent\x3dSyntheticCompositionEvent,normalizeKey\x3d{Esc:\x22Escape\x22,Spacebar:\x22 \x22,Left:\x22ArrowLeft\x22,Up:\x22ArrowUp\x22,Right:\x22ArrowRight\x22,Down:\x22ArrowDown\x22,Del:\x22Delete\x22,Win:\x22OS\x22,Menu:\x22ContextMenu\x22,Apps:\x22ContextMenu\x22,Scroll:\x22ScrollLock\x22,MozPrintableKey:\x22Unidentified\x22},translateToKey\x3d{8:\x22Backspace\x22,9:\x22Tab\x22,12:\x22Clear\x22,13:\x22Enter\x22,16:\x22Shift\x22,17:\x22Control\x22,18:\x22Alt\x22,19:\x22Pause\x22,20:\x22CapsLock\x22,27:\x22Escape\x22,32:\x22 \x22,33:\x22PageUp\x22,34:\x22PageDown\x22,\n35:\x22End\x22,36:\x22Home\x22,37:\x22ArrowLeft\x22,38:\x22ArrowUp\x22,39:\x22ArrowRight\x22,40:\x22ArrowDown\x22,45:\x22Insert\x22,46:\x22Delete\x22,112:\x22F1\x22,113:\x22F2\x22,114:\x22F3\x22,115:\x22F4\x22,116:\x22F5\x22,117:\x22F6\x22,118:\x22F7\x22,119:\x22F8\x22,120:\x22F9\x22,121:\x22F10\x22,122:\x22F11\x22,123:\x22F12\x22,144:\x22NumLock\x22,145:\x22ScrollLock\x22,224:\x22Meta\x22},modifierKeyToProp\x3d{Alt:\x22altKey\x22,Control:\x22ctrlKey\x22,Meta:\x22metaKey\x22,Shift:\x22shiftKey\x22},KeyboardEventInterface\x3dassign({},UIEventInterface,{key:function(nativeEvent){if(nativeEvent.key){var key\x3dnormalizeKey[nativeEvent.key]||nativeEvent.key;if(\x22Unidentified\x22!\x3d\x3d\nkey)return key}return\x22keypress\x22\x3d\x3d\x3dnativeEvent.type?(nativeEvent\x3dgetEventCharCode(nativeEvent),13\x3d\x3d\x3dnativeEvent?\x22Enter\x22:String.fromCharCode(nativeEvent)):\x22keydown\x22\x3d\x3d\x3dnativeEvent.type||\x22keyup\x22\x3d\x3d\x3dnativeEvent.type?translateToKey[nativeEvent.keyCode]||\x22Unidentified\x22:\x22\x22},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:getEventModifierState,charCode:function(event){return\x22keypress\x22\x3d\x3d\x3devent.type?getEventCharCode(event):0},keyCode:function(event){return\x22keydown\x22\x3d\x3d\x3d\nevent.type||\x22keyup\x22\x3d\x3d\x3devent.type?event.keyCode:0},which:function(event){return\x22keypress\x22\x3d\x3d\x3devent.type?getEventCharCode(event):\x22keydown\x22\x3d\x3d\x3devent.type||\x22keyup\x22\x3d\x3d\x3devent.type?event.keyCode:0}}),SyntheticKeyboardEvent\x3dcreateSyntheticEvent(KeyboardEventInterface),PointerEventInterface\x3dassign({},MouseEventInterface,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),SyntheticPointerEvent\x3dcreateSyntheticEvent(PointerEventInterface),TouchEventInterface\x3d\nassign({},UIEventInterface,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:getEventModifierState}),SyntheticTouchEvent\x3dcreateSyntheticEvent(TouchEventInterface),TransitionEventInterface\x3dassign({},EventInterface,{propertyName:0,elapsedTime:0,pseudoElement:0}),SyntheticTransitionEvent\x3dcreateSyntheticEvent(TransitionEventInterface),WheelEventInterface\x3dassign({},MouseEventInterface,{deltaX:function(event){return\x22deltaX\x22in event?event.deltaX:\x22wheelDeltaX\x22in\nevent?-event.wheelDeltaX:0},deltaY:function(event){return\x22deltaY\x22in event?event.deltaY:\x22wheelDeltaY\x22in event?-event.wheelDeltaY:\x22wheelDelta\x22in event?-event.wheelDelta:0},deltaZ:0,deltaMode:0}),SyntheticWheelEvent\x3dcreateSyntheticEvent(WheelEventInterface),END_KEYCODES\x3d[9,13,27,32],START_KEYCODE\x3d229,canUseCompositionEvent\x3dcanUseDOM\x26\x26\x22CompositionEvent\x22in window,documentMode\x3dnull;canUseDOM\x26\x26\x22documentMode\x22in document\x26\x26(documentMode\x3ddocument.documentMode);var canUseTextInputEvent\x3dcanUseDOM\x26\x26\x22TextEvent\x22in\nwindow\x26\x26!documentMode,useFallbackCompositionData\x3dcanUseDOM\x26\x26(!canUseCompositionEvent||documentMode\x26\x268\x3cdocumentMode\x26\x2611\x3e\x3ddocumentMode),SPACEBAR_CODE\x3d32,SPACEBAR_CHAR\x3dString.fromCharCode(SPACEBAR_CODE),hasSpaceKeypress\x3d!1,isComposing\x3d!1,supportedInputTypes\x3d{color:!0,date:!0,datetime:!0,\x22datetime-local\x22:!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},activeElement\x3dnull,activeElementInst\x3dnull,isInputEventSupported\x3d!1;canUseDOM\x26\x26(isInputEventSupported\x3d\nisEventSupported(\x22input\x22)\x26\x26(!document.documentMode||9\x3cdocument.documentMode));var objectIs\x3d\x22function\x22\x3d\x3d\x3dtypeof Object.is?Object.is:is,skipSelectionChangeEvent\x3dcanUseDOM\x26\x26\x22documentMode\x22in document\x26\x2611\x3e\x3ddocument.documentMode,activeElement$1\x3dnull,activeElementInst$1\x3dnull,lastSelection\x3dnull,mouseDown\x3d!1,vendorPrefixes\x3d{animationend:makePrefixMap(\x22Animation\x22,\x22AnimationEnd\x22),animationiteration:makePrefixMap(\x22Animation\x22,\x22AnimationIteration\x22),animationstart:makePrefixMap(\x22Animation\x22,\x22AnimationStart\x22),transitionend:makePrefixMap(\x22Transition\x22,\n\x22TransitionEnd\x22)},prefixedEventNames\x3d{},style\x3d{};canUseDOM\x26\x26(style\x3ddocument.createElement(\x22div\x22).style,\x22AnimationEvent\x22in window||(delete vendorPrefixes.animationend.animation,delete vendorPrefixes.animationiteration.animation,delete vendorPrefixes.animationstart.animation),\x22TransitionEvent\x22in window||delete vendorPrefixes.transitionend.transition);var ANIMATION_END\x3dgetVendorPrefixedEventName(\x22animationend\x22),ANIMATION_ITERATION\x3dgetVendorPrefixedEventName(\x22animationiteration\x22),ANIMATION_START\x3dgetVendorPrefixedEventName(\x22animationstart\x22),\nTRANSITION_END\x3dgetVendorPrefixedEventName(\x22transitionend\x22),topLevelEventsToReactNames\x3dnew Map,simpleEventPluginEvents\x3d\x22abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\x22.split(\x22 \x22);\n(function(){for(var i\x3d0;i\x3csimpleEventPluginEvents.length;i++){var eventName\x3dsimpleEventPluginEvents[i],domEventName\x3deventName.toLowerCase();eventName\x3deventName[0].toUpperCase()+eventName.slice(1);registerSimpleEvent(domEventName,\x22on\x22+eventName)}registerSimpleEvent(ANIMATION_END,\x22onAnimationEnd\x22);registerSimpleEvent(ANIMATION_ITERATION,\x22onAnimationIteration\x22);registerSimpleEvent(ANIMATION_START,\x22onAnimationStart\x22);registerSimpleEvent(\x22dblclick\x22,\x22onDoubleClick\x22);registerSimpleEvent(\x22focusin\x22,\x22onFocus\x22);\nregisterSimpleEvent(\x22focusout\x22,\x22onBlur\x22);registerSimpleEvent(TRANSITION_END,\x22onTransitionEnd\x22)})();registerDirectEvent(\x22onMouseEnter\x22,[\x22mouseout\x22,\x22mouseover\x22]);registerDirectEvent(\x22onMouseLeave\x22,[\x22mouseout\x22,\x22mouseover\x22]);registerDirectEvent(\x22onPointerEnter\x22,[\x22pointerout\x22,\x22pointerover\x22]);registerDirectEvent(\x22onPointerLeave\x22,[\x22pointerout\x22,\x22pointerover\x22]);registerTwoPhaseEvent(\x22onChange\x22,\x22change click focusin focusout input keydown keyup selectionchange\x22.split(\x22 \x22));registerTwoPhaseEvent(\x22onSelect\x22,\n\x22focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\x22.split(\x22 \x22));registerTwoPhaseEvent(\x22onBeforeInput\x22,[\x22compositionend\x22,\x22keypress\x22,\x22textInput\x22,\x22paste\x22]);registerTwoPhaseEvent(\x22onCompositionEnd\x22,\x22compositionend focusout keydown keypress keyup mousedown\x22.split(\x22 \x22));registerTwoPhaseEvent(\x22onCompositionStart\x22,\x22compositionstart focusout keydown keypress keyup mousedown\x22.split(\x22 \x22));registerTwoPhaseEvent(\x22onCompositionUpdate\x22,\x22compositionupdate focusout keydown keypress keyup mousedown\x22.split(\x22 \x22));\nvar mediaEventTypes\x3d\x22abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\x22.split(\x22 \x22),nonDelegatedEvents\x3dnew Set(\x22cancel close invalid load scroll toggle\x22.split(\x22 \x22).concat(mediaEventTypes)),listeningMarker\x3d\x22_reactListening\x22+Math.random().toString(36).slice(2),didWarnInvalidHydration\x3d!1;var warnedUnknownTags\x3d{dialog:!0,webview:!0};var validatePropertiesInDevelopment\x3d\nfunction(type,props){isCustomComponent(type,props)||warnInvalidARIAProps(type,props);\x22input\x22!\x3d\x3dtype\x26\x26\x22textarea\x22!\x3d\x3dtype\x26\x26\x22select\x22!\x3d\x3dtype||null\x3d\x3dprops||null!\x3d\x3dprops.value||didWarnValueNull||(didWarnValueNull\x3d!0,\x22select\x22\x3d\x3d\x3dtype\x26\x26props.multiple?error$jscomp$0(\x22`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.\x22,type):error$jscomp$0(\x22`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.\x22,\ntype));var eventRegistry\x3d{registrationNameDependencies,possibleRegistrationNames};isCustomComponent(type,props)||warnUnknownProperties(type,props,eventRegistry)};var canDiffStyleForHydrationWarning\x3dcanUseDOM\x26\x26!document.documentMode;var warnForPropDifference\x3dfunction(propName,serverValue,clientValue){didWarnInvalidHydration||(clientValue\x3dnormalizeMarkupForTextOrAttribute(clientValue),serverValue\x3dnormalizeMarkupForTextOrAttribute(serverValue),serverValue!\x3d\x3dclientValue\x26\x26(didWarnInvalidHydration\x3d!0,error$jscomp$0(\x22Prop `%s` did not match. Server: %s Client: %s\x22,\npropName,JSON.stringify(serverValue),JSON.stringify(clientValue))))};var warnForExtraAttributes\x3dfunction(attributeNames){if(!didWarnInvalidHydration){didWarnInvalidHydration\x3d!0;var names\x3d[];attributeNames.forEach(function(name){names.push(name)});error$jscomp$0(\x22Extra attributes from the server: %s\x22,names)}};var warnForInvalidEventListener\x3dfunction(registrationName,listener){!1\x3d\x3d\x3dlistener?error$jscomp$0(\x22Expected `%s` listener to be a function, instead got `false`.\\n\\nIf you used to conditionally omit it with %s\\x3d{condition \\x26\\x26 value}, pass %s\\x3d{condition ? value : undefined} instead.\x22,\nregistrationName,registrationName,registrationName):error$jscomp$0(\x22Expected `%s` listener to be a function, instead got a value of `%s` type.\x22,registrationName,typeof listener)};var normalizeHTML\x3dfunction(parent,html){parent\x3d\x22http://www.w3.org/1999/xhtml\x22\x3d\x3d\x3dparent.namespaceURI?parent.ownerDocument.createElement(parent.tagName):parent.ownerDocument.createElementNS(parent.namespaceURI,parent.tagName);parent.innerHTML\x3dhtml;return parent.innerHTML};var NORMALIZE_NEWLINES_REGEX\x3d/\\r\\n?/g,NORMALIZE_NULL_AND_REPLACEMENT_REGEX\x3d\n/\\u0000|\\uFFFD/g,validateDOMNesting\x3dfunction(){},updatedAncestorInfo\x3dfunction(){},specialTags\x3d\x22address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp\x22.split(\x22 \x22),\ninScopeTags\x3d\x22applet caption html table td th marquee object template foreignObject desc title\x22.split(\x22 \x22),buttonScopeTags\x3dinScopeTags.concat([\x22button\x22]),impliedEndTags\x3d\x22dd dt li option optgroup p rp rt\x22.split(\x22 \x22),emptyAncestorInfo\x3d{current:null,formTag:null,aTagInScope:null,buttonTagInScope:null,nobrTagInScope:null,pTagInButtonScope:null,listItemTagAutoclosing:null,dlItemTagAutoclosing:null};updatedAncestorInfo\x3dfunction(oldInfo,tag){oldInfo\x3dassign({},oldInfo||emptyAncestorInfo);var info\x3d{tag};-1!\x3d\x3d\ninScopeTags.indexOf(tag)\x26\x26(oldInfo.aTagInScope\x3dnull,oldInfo.buttonTagInScope\x3dnull,oldInfo.nobrTagInScope\x3dnull);-1!\x3d\x3dbuttonScopeTags.indexOf(tag)\x26\x26(oldInfo.pTagInButtonScope\x3dnull);-1!\x3d\x3dspecialTags.indexOf(tag)\x26\x26\x22address\x22!\x3d\x3dtag\x26\x26\x22div\x22!\x3d\x3dtag\x26\x26\x22p\x22!\x3d\x3dtag\x26\x26(oldInfo.listItemTagAutoclosing\x3dnull,oldInfo.dlItemTagAutoclosing\x3dnull);oldInfo.current\x3dinfo;\x22form\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.formTag\x3dinfo);\x22a\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.aTagInScope\x3dinfo);\x22button\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.buttonTagInScope\x3dinfo);\x22nobr\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.nobrTagInScope\x3d\ninfo);\x22p\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.pTagInButtonScope\x3dinfo);\x22li\x22\x3d\x3d\x3dtag\x26\x26(oldInfo.listItemTagAutoclosing\x3dinfo);if(\x22dd\x22\x3d\x3d\x3dtag||\x22dt\x22\x3d\x3d\x3dtag)oldInfo.dlItemTagAutoclosing\x3dinfo;return oldInfo};var isTagValidWithParent\x3dfunction(tag,parentTag){switch(parentTag){case \x22select\x22:return\x22option\x22\x3d\x3d\x3dtag||\x22optgroup\x22\x3d\x3d\x3dtag||\x22#text\x22\x3d\x3d\x3dtag;case \x22optgroup\x22:return\x22option\x22\x3d\x3d\x3dtag||\x22#text\x22\x3d\x3d\x3dtag;case \x22option\x22:return\x22#text\x22\x3d\x3d\x3dtag;case \x22tr\x22:return\x22th\x22\x3d\x3d\x3dtag||\x22td\x22\x3d\x3d\x3dtag||\x22style\x22\x3d\x3d\x3dtag||\x22script\x22\x3d\x3d\x3dtag||\x22template\x22\x3d\x3d\x3dtag;case \x22tbody\x22:case \x22thead\x22:case \x22tfoot\x22:return\x22tr\x22\x3d\x3d\x3d\ntag||\x22style\x22\x3d\x3d\x3dtag||\x22script\x22\x3d\x3d\x3dtag||\x22template\x22\x3d\x3d\x3dtag;case \x22colgroup\x22:return\x22col\x22\x3d\x3d\x3dtag||\x22template\x22\x3d\x3d\x3dtag;case \x22table\x22:return\x22caption\x22\x3d\x3d\x3dtag||\x22colgroup\x22\x3d\x3d\x3dtag||\x22tbody\x22\x3d\x3d\x3dtag||\x22tfoot\x22\x3d\x3d\x3dtag||\x22thead\x22\x3d\x3d\x3dtag||\x22style\x22\x3d\x3d\x3dtag||\x22script\x22\x3d\x3d\x3dtag||\x22template\x22\x3d\x3d\x3dtag;case \x22head\x22:return\x22base\x22\x3d\x3d\x3dtag||\x22basefont\x22\x3d\x3d\x3dtag||\x22bgsound\x22\x3d\x3d\x3dtag||\x22link\x22\x3d\x3d\x3dtag||\x22meta\x22\x3d\x3d\x3dtag||\x22title\x22\x3d\x3d\x3dtag||\x22noscript\x22\x3d\x3d\x3dtag||\x22noframes\x22\x3d\x3d\x3dtag||\x22style\x22\x3d\x3d\x3dtag||\x22script\x22\x3d\x3d\x3dtag||\x22template\x22\x3d\x3d\x3dtag;case \x22html\x22:return\x22head\x22\x3d\x3d\x3dtag||\x22body\x22\x3d\x3d\x3dtag||\x22frameset\x22\x3d\x3d\x3d\ntag;case \x22frameset\x22:return\x22frame\x22\x3d\x3d\x3dtag;case \x22#document\x22:return\x22html\x22\x3d\x3d\x3dtag}switch(tag){case \x22h1\x22:case \x22h2\x22:case \x22h3\x22:case \x22h4\x22:case \x22h5\x22:case \x22h6\x22:return\x22h1\x22!\x3d\x3dparentTag\x26\x26\x22h2\x22!\x3d\x3dparentTag\x26\x26\x22h3\x22!\x3d\x3dparentTag\x26\x26\x22h4\x22!\x3d\x3dparentTag\x26\x26\x22h5\x22!\x3d\x3dparentTag\x26\x26\x22h6\x22!\x3d\x3dparentTag;case \x22rp\x22:case \x22rt\x22:return-1\x3d\x3d\x3dimpliedEndTags.indexOf(parentTag);case \x22body\x22:case \x22caption\x22:case \x22col\x22:case \x22colgroup\x22:case \x22frameset\x22:case \x22frame\x22:case \x22head\x22:case \x22html\x22:case \x22tbody\x22:case \x22td\x22:case \x22tfoot\x22:case \x22th\x22:case \x22thead\x22:case \x22tr\x22:return null\x3d\x3d\nparentTag}return!0},findInvalidAncestorForTag\x3dfunction(tag,ancestorInfo){switch(tag){case \x22address\x22:case \x22article\x22:case \x22aside\x22:case \x22blockquote\x22:case \x22center\x22:case \x22details\x22:case \x22dialog\x22:case \x22dir\x22:case \x22div\x22:case \x22dl\x22:case \x22fieldset\x22:case \x22figcaption\x22:case \x22figure\x22:case \x22footer\x22:case \x22header\x22:case \x22hgroup\x22:case \x22main\x22:case \x22menu\x22:case \x22nav\x22:case \x22ol\x22:case \x22p\x22:case \x22section\x22:case \x22summary\x22:case \x22ul\x22:case \x22pre\x22:case \x22listing\x22:case \x22table\x22:case \x22hr\x22:case \x22xmp\x22:case \x22h1\x22:case \x22h2\x22:case \x22h3\x22:case \x22h4\x22:case \x22h5\x22:case \x22h6\x22:return ancestorInfo.pTagInButtonScope;\ncase \x22form\x22:return ancestorInfo.formTag||ancestorInfo.pTagInButtonScope;case \x22li\x22:return ancestorInfo.listItemTagAutoclosing;case \x22dd\x22:case \x22dt\x22:return ancestorInfo.dlItemTagAutoclosing;case \x22button\x22:return ancestorInfo.buttonTagInScope;case \x22a\x22:return ancestorInfo.aTagInScope;case \x22nobr\x22:return ancestorInfo.nobrTagInScope}return null},didWarn$1\x3d{};validateDOMNesting\x3dfunction(childTag,childText,ancestorInfo){ancestorInfo\x3dancestorInfo||emptyAncestorInfo;var parentInfo\x3dancestorInfo.current,parentTag\x3d\nparentInfo\x26\x26parentInfo.tag;null!\x3dchildText\x26\x26(null!\x3dchildTag\x26\x26error$jscomp$0(\x22validateDOMNesting: when childText is passed, childTag should be null\x22),childTag\x3d\x22#text\x22);ancestorInfo\x3d(parentInfo\x3disTagValidWithParent(childTag,parentTag)?null:parentInfo)?null:findInvalidAncestorForTag(childTag,ancestorInfo);if(ancestorInfo\x3dparentInfo||ancestorInfo)ancestorInfo\x3dancestorInfo.tag,parentTag\x3d!!parentInfo+\x22|\x22+childTag+\x22|\x22+ancestorInfo,didWarn$1[parentTag]||(didWarn$1[parentTag]\x3d!0,parentTag\x3d\x22\x22,\x22#text\x22\x3d\x3d\x3dchildTag?\n/\\S/.test(childText)?childText\x3d\x22Text nodes\x22:(childText\x3d\x22Whitespace text nodes\x22,parentTag\x3d\x22 Make sure you don\x27t have any extra whitespace between tags on each line of your source code.\x22):childText\x3d\x22\\x3c\x22+childTag+\x22\\x3e\x22,parentInfo?(parentInfo\x3d\x22\x22,\x22table\x22\x3d\x3d\x3dancestorInfo\x26\x26\x22tr\x22\x3d\x3d\x3dchildTag\x26\x26(parentInfo+\x3d\x22 Add a \\x3ctbody\\x3e, \\x3cthead\\x3e or \\x3ctfoot\\x3e to your code to match the DOM tree generated by the browser.\x22),error$jscomp$0(\x22validateDOMNesting(...): %s cannot appear as a child of \\x3c%s\\x3e.%s%s\x22,\nchildText,ancestorInfo,parentTag,parentInfo)):error$jscomp$0(\x22validateDOMNesting(...): %s cannot appear as a descendant of \\x3c%s\\x3e.\x22,childText,ancestorInfo))};var SUSPENSE_START_DATA\x3d\x22$\x22,SUSPENSE_END_DATA\x3d\x22/$\x22,SUSPENSE_PENDING_START_DATA\x3d\x22$?\x22,SUSPENSE_FALLBACK_START_DATA\x3d\x22$!\x22,eventsEnabled\x3dnull,selectionInformation\x3dnull,scheduleTimeout\x3d\x22function\x22\x3d\x3d\x3dtypeof setTimeout?setTimeout:void 0,cancelTimeout\x3d\x22function\x22\x3d\x3d\x3dtypeof clearTimeout?clearTimeout:void 0,localPromise\x3d\x22function\x22\x3d\x3d\x3dtypeof Promise?Promise:\nvoid 0,scheduleMicrotask\x3d\x22function\x22\x3d\x3d\x3dtypeof queueMicrotask?queueMicrotask:\x22undefined\x22!\x3d\x3dtypeof localPromise?function(callback){return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick)}:scheduleTimeout,randomKey\x3dMath.random().toString(36).slice(2),internalInstanceKey\x3d\x22__reactFiber$\x22+randomKey,internalPropsKey\x3d\x22__reactProps$\x22+randomKey,internalContainerInstanceKey\x3d\x22__reactContainer$\x22+randomKey,internalEventHandlersKey\x3d\x22__reactEvents$\x22+randomKey,internalEventHandlerListenersKey\x3d\n\x22__reactListeners$\x22+randomKey,internalEventHandlesSetKey\x3d\x22__reactHandles$\x22+randomKey,loggedTypeFailures\x3d{},ReactDebugCurrentFrame$1\x3dReactSharedInternals.ReactDebugCurrentFrame,valueStack\x3d[];var fiberStack\x3d[];var index$jscomp$0\x3d-1;var warnedAboutMissingGetChildContext\x3d{};var emptyContextObject\x3d{};Object.freeze(emptyContextObject);var contextStackCursor\x3dcreateCursor(emptyContextObject),didPerformWorkStackCursor\x3dcreateCursor(!1),previousContext\x3demptyContextObject,syncQueue\x3dnull,includesLegacySyncCallbacks\x3d\n!1,isFlushingSyncQueue\x3d!1,forkStack\x3d[],forkStackIndex\x3d0,treeForkProvider\x3dnull,treeForkCount\x3d0,idStack\x3d[],idStackIndex\x3d0,treeContextProvider\x3dnull,treeContextId\x3d1,treeContextOverflow\x3d\x22\x22,hydrationParentFiber\x3dnull,nextHydratableInstance\x3dnull,isHydrating\x3d!1,didSuspendOrErrorDEV\x3d!1,hydrationErrors\x3dnull,ReactCurrentBatchConfig$1\x3dReactSharedInternals.ReactCurrentBatchConfig,ReactStrictModeWarnings\x3d{recordUnsafeLifecycleWarnings:function(fiber,instance){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(fiber,\ninstance){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}},setToSortedString\x3dfunction(set){var array\x3d[];set.forEach(function(value){array.push(value)});return array.sort().join(\x22, \x22)},pendingComponentWillMountWarnings\x3d[],pendingUNSAFE_ComponentWillMountWarnings\x3d[],pendingComponentWillReceivePropsWarnings\x3d[],pendingUNSAFE_ComponentWillReceivePropsWarnings\x3d[],pendingComponentWillUpdateWarnings\x3d[],pendingUNSAFE_ComponentWillUpdateWarnings\x3d[],didWarnAboutUnsafeLifecycles\x3d\nnew Set;ReactStrictModeWarnings.recordUnsafeLifecycleWarnings\x3dfunction(fiber,instance){didWarnAboutUnsafeLifecycles.has(fiber.type)||(\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillMount\x26\x26!0!\x3d\x3dinstance.componentWillMount.__suppressDeprecationWarning\x26\x26pendingComponentWillMountWarnings.push(fiber),fiber.mode\x268\x26\x26\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillMount\x26\x26pendingUNSAFE_ComponentWillMountWarnings.push(fiber),\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillReceiveProps\x26\x26!0!\x3d\x3dinstance.componentWillReceiveProps.__suppressDeprecationWarning\x26\x26\npendingComponentWillReceivePropsWarnings.push(fiber),fiber.mode\x268\x26\x26\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillReceiveProps\x26\x26pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber),\x22function\x22\x3d\x3d\x3dtypeof instance.componentWillUpdate\x26\x26!0!\x3d\x3dinstance.componentWillUpdate.__suppressDeprecationWarning\x26\x26pendingComponentWillUpdateWarnings.push(fiber),fiber.mode\x268\x26\x26\x22function\x22\x3d\x3d\x3dtypeof instance.UNSAFE_componentWillUpdate\x26\x26pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber))};ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings\x3d\nfunction(){var componentWillMountUniqueNames\x3dnew Set;0\x3cpendingComponentWillMountWarnings.length\x26\x26(pendingComponentWillMountWarnings.forEach(function(fiber){componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber)||\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingComponentWillMountWarnings\x3d[]);var UNSAFE_componentWillMountUniqueNames\x3dnew Set;0\x3cpendingUNSAFE_ComponentWillMountWarnings.length\x26\x26(pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber){UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber)||\n\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingUNSAFE_ComponentWillMountWarnings\x3d[]);var componentWillReceivePropsUniqueNames\x3dnew Set;0\x3cpendingComponentWillReceivePropsWarnings.length\x26\x26(pendingComponentWillReceivePropsWarnings.forEach(function(fiber){componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber)||\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingComponentWillReceivePropsWarnings\x3d[]);var UNSAFE_componentWillReceivePropsUniqueNames\x3dnew Set;\n0\x3cpendingUNSAFE_ComponentWillReceivePropsWarnings.length\x26\x26(pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function(fiber){UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber)||\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingUNSAFE_ComponentWillReceivePropsWarnings\x3d[]);var componentWillUpdateUniqueNames\x3dnew Set;0\x3cpendingComponentWillUpdateWarnings.length\x26\x26(pendingComponentWillUpdateWarnings.forEach(function(fiber){componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber)||\n\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingComponentWillUpdateWarnings\x3d[]);var UNSAFE_componentWillUpdateUniqueNames\x3dnew Set;0\x3cpendingUNSAFE_ComponentWillUpdateWarnings.length\x26\x26(pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber){UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber)||\x22Component\x22);didWarnAboutUnsafeLifecycles.add(fiber.type)}),pendingUNSAFE_ComponentWillUpdateWarnings\x3d[]);if(0\x3cUNSAFE_componentWillMountUniqueNames.size){var sortedNames\x3d\nsetToSortedString(UNSAFE_componentWillMountUniqueNames);error$jscomp$0(\x22Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n\\nPlease update the following components: %s\x22,sortedNames)}0\x3cUNSAFE_componentWillReceivePropsUniqueNames.size\x26\x26(sortedNames\x3dsetToSortedString(UNSAFE_componentWillReceivePropsUniqueNames),\nerror$jscomp$0(\x22Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* If you\x27re updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n\\nPlease update the following components: %s\x22,\nsortedNames));0\x3cUNSAFE_componentWillUpdateUniqueNames.size\x26\x26(sortedNames\x3dsetToSortedString(UNSAFE_componentWillUpdateUniqueNames),error$jscomp$0(\x22Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n\\nPlease update the following components: %s\x22,sortedNames));0\x3ccomponentWillMountUniqueNames.size\x26\x26(sortedNames\x3dsetToSortedString(componentWillMountUniqueNames),\nwarn(\x22componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\x22,\nsortedNames));0\x3ccomponentWillReceivePropsUniqueNames.size\x26\x26(sortedNames\x3dsetToSortedString(componentWillReceivePropsUniqueNames),warn(\x22componentWillReceiveProps has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* If you\x27re updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\x22,\nsortedNames));0\x3ccomponentWillUpdateUniqueNames.size\x26\x26(sortedNames\x3dsetToSortedString(componentWillUpdateUniqueNames),warn(\x22componentWillUpdate has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\x22,\nsortedNames))};var pendingLegacyContextWarning\x3dnew Map,didWarnAboutLegacyContext\x3dnew Set;ReactStrictModeWarnings.recordLegacyContextWarning\x3dfunction(fiber,instance){var strictRoot\x3dnull;for(var node\x3dfiber;null!\x3d\x3dnode;)node.mode\x268\x26\x26(strictRoot\x3dnode),node\x3dnode.return;null\x3d\x3d\x3dstrictRoot?error$jscomp$0(\x22Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.\x22):!didWarnAboutLegacyContext.has(fiber.type)\x26\x26(node\x3dpendingLegacyContextWarning.get(strictRoot),\nnull!\x3dfiber.type.contextTypes||null!\x3dfiber.type.childContextTypes||null!\x3d\x3dinstance\x26\x26\x22function\x22\x3d\x3d\x3dtypeof instance.getChildContext)\x26\x26(void 0\x3d\x3d\x3dnode\x26\x26(node\x3d[],pendingLegacyContextWarning.set(strictRoot,node)),node.push(fiber))};ReactStrictModeWarnings.flushLegacyContextWarning\x3dfunction(){pendingLegacyContextWarning.forEach(function(fiberArray,strictRoot){if(0!\x3d\x3dfiberArray.length){strictRoot\x3dfiberArray[0];var uniqueNames\x3dnew Set;fiberArray.forEach(function(fiber){uniqueNames.add(getComponentNameFromFiber(fiber)||\n\x22Component\x22);didWarnAboutLegacyContext.add(fiber.type)});fiberArray\x3dsetToSortedString(uniqueNames);try{setCurrentFiber(strictRoot),error$jscomp$0(\x22Legacy context API has been detected within a strict-mode tree.\\n\\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\\n\\nPlease update the following components: %s\\n\\nLearn more about this warning here: https://reactjs.org/link/legacy-context\x22,fiberArray)}finally{resetCurrentFiber()}}})};ReactStrictModeWarnings.discardPendingWarnings\x3d\nfunction(){pendingComponentWillMountWarnings\x3d[];pendingUNSAFE_ComponentWillMountWarnings\x3d[];pendingComponentWillReceivePropsWarnings\x3d[];pendingUNSAFE_ComponentWillReceivePropsWarnings\x3d[];pendingComponentWillUpdateWarnings\x3d[];pendingUNSAFE_ComponentWillUpdateWarnings\x3d[];pendingLegacyContextWarning\x3dnew Map};var valueCursor\x3dcreateCursor(null);var rendererSigil\x3d{};var currentlyRenderingFiber\x3dnull,lastContextDependency\x3dnull,lastFullyObservedContext\x3dnull,isDisallowedContextReadInDEV\x3d!1,concurrentQueues\x3d\nnull,unsafe_markUpdateLaneFromFiberToRoot\x3dmarkUpdateLaneFromFiberToRoot,UpdateState\x3d0,ForceUpdate\x3d2,hasForceUpdate\x3d!1;var didWarnUpdateInsideUpdate\x3d!1;var currentlyProcessingQueue\x3dnull;var fakeInternalInstance\x3d{},emptyRefsObject\x3d(new React.Component).refs;var didWarnAboutStateAssignmentForComponent\x3dnew Set;var didWarnAboutUninitializedState\x3dnew Set;var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate\x3dnew Set;var didWarnAboutLegacyLifecyclesAndDerivedState\x3dnew Set;var didWarnAboutDirectlyAssigningPropsToState\x3d\nnew Set;var didWarnAboutUndefinedDerivedState\x3dnew Set;var didWarnAboutContextTypeAndContextTypes\x3dnew Set;var didWarnAboutInvalidateContextType\x3dnew Set;var didWarnOnInvalidCallback\x3dnew Set;var warnOnInvalidCallback\x3dfunction(callback,callerName){if(null!\x3d\x3dcallback\x26\x26\x22function\x22!\x3d\x3dtypeof callback){var key\x3dcallerName+\x22_\x22+callback;didWarnOnInvalidCallback.has(key)||(didWarnOnInvalidCallback.add(key),error$jscomp$0(\x22%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\x22,\ncallerName,callback))}};var warnOnUndefinedDerivedState\x3dfunction(type,partialState){void 0\x3d\x3d\x3dpartialState\x26\x26(type\x3dgetComponentNameFromType(type)||\x22Component\x22,didWarnAboutUndefinedDerivedState.has(type)||(didWarnAboutUndefinedDerivedState.add(type),error$jscomp$0(\x22%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.\x22,type)))};Object.defineProperty(fakeInternalInstance,\x22_processChildContext\x22,{enumerable:!1,value:function(){throw Error(\x22_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn\x27t supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).\x22);\n}});Object.freeze(fakeInternalInstance);var classComponentUpdater\x3d{isMounted:function(component){var owner\x3dReactCurrentOwner.current;if(null!\x3d\x3downer\x26\x261\x3d\x3d\x3downer.tag){var instance\x3downer.stateNode;instance._warnedAboutRefsInRender||error$jscomp$0(\x22%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\x22,\ngetComponentNameFromFiber(owner)||\x22A component\x22);instance._warnedAboutRefsInRender\x3d!0}return(component\x3dcomponent._reactInternals)?getNearestMountedFiber(component)\x3d\x3d\x3dcomponent:!1},enqueueSetState:function(inst,payload,callback){inst\x3dinst._reactInternals;var eventTime\x3drequestEventTime(),lane\x3drequestUpdateLane(inst),update\x3dcreateUpdate(eventTime,lane);update.payload\x3dpayload;void 0!\x3d\x3dcallback\x26\x26null!\x3d\x3dcallback\x26\x26(warnOnInvalidCallback(callback,\x22setState\x22),update.callback\x3dcallback);payload\x3denqueueUpdate(inst,\nupdate,lane);null!\x3d\x3dpayload\x26\x26(scheduleUpdateOnFiber(payload,inst,lane,eventTime),entangleTransitions(payload,inst,lane));markStateUpdateScheduled(inst,lane)},enqueueReplaceState:function(inst,payload,callback){inst\x3dinst._reactInternals;var eventTime\x3drequestEventTime(),lane\x3drequestUpdateLane(inst),update\x3dcreateUpdate(eventTime,lane);update.tag\x3d1;update.payload\x3dpayload;void 0!\x3d\x3dcallback\x26\x26null!\x3d\x3dcallback\x26\x26(warnOnInvalidCallback(callback,\x22replaceState\x22),update.callback\x3dcallback);payload\x3denqueueUpdate(inst,\nupdate,lane);null!\x3d\x3dpayload\x26\x26(scheduleUpdateOnFiber(payload,inst,lane,eventTime),entangleTransitions(payload,inst,lane));markStateUpdateScheduled(inst,lane)},enqueueForceUpdate:function(inst,callback){inst\x3dinst._reactInternals;var eventTime\x3drequestEventTime(),lane\x3drequestUpdateLane(inst),update\x3dcreateUpdate(eventTime,lane);update.tag\x3dForceUpdate;void 0!\x3d\x3dcallback\x26\x26null!\x3d\x3dcallback\x26\x26(warnOnInvalidCallback(callback,\x22forceUpdate\x22),update.callback\x3dcallback);callback\x3denqueueUpdate(inst,update,lane);null!\x3d\x3d\ncallback\x26\x26(scheduleUpdateOnFiber(callback,inst,lane,eventTime),entangleTransitions(callback,inst,lane));null!\x3d\x3dinjectedProfilingHooks\x26\x26\x22function\x22\x3d\x3d\x3dtypeof injectedProfilingHooks.markForceUpdateScheduled\x26\x26injectedProfilingHooks.markForceUpdateScheduled(inst,lane)}},didWarnAboutMaps,warnForMissingKey\x3dfunction(child,returnFiber){};var didWarnAboutGenerators\x3ddidWarnAboutMaps\x3d!1;var didWarnAboutStringRefs\x3d{};var ownerHasKeyUseWarning\x3d{};var ownerHasFunctionTypeWarning\x3d{};warnForMissingKey\x3dfunction(child,\nreturnFiber){if(null!\x3d\x3dchild\x26\x26\x22object\x22\x3d\x3d\x3dtypeof child\x26\x26child._store\x26\x26!child._store.validated\x26\x26null\x3d\x3dchild.key){if(\x22object\x22!\x3d\x3dtypeof child._store)throw Error(\x22React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\x22);child._store.validated\x3d!0;child\x3dgetComponentNameFromFiber(returnFiber)||\x22Component\x22;ownerHasKeyUseWarning[child]||(ownerHasKeyUseWarning[child]\x3d!0,error$jscomp$0(\x27Each child in a list should have a unique \x22key\x22 prop. See https://reactjs.org/link/warning-keys for more information.\x27))}};\nvar reconcileChildFibers\x3dChildReconciler(!0),mountChildFibers\x3dChildReconciler(!1),NO_CONTEXT\x3d{},contextStackCursor$1\x3dcreateCursor(NO_CONTEXT),contextFiberStackCursor\x3dcreateCursor(NO_CONTEXT),rootInstanceStackCursor\x3dcreateCursor(NO_CONTEXT),SubtreeSuspenseContextMask\x3d1,InvisibleParentSuspenseContext\x3d1,ForceSuspenseFallback\x3d2,suspenseStackCursor\x3dcreateCursor(0),NoFlags$1\x3d0,HasEffect\x3d1,Insertion\x3d2,Layout\x3d4,Passive$1\x3d8,workInProgressSources\x3d[],ReactCurrentDispatcher$1\x3dReactSharedInternals.ReactCurrentDispatcher,\nReactCurrentBatchConfig$2\x3dReactSharedInternals.ReactCurrentBatchConfig,didWarnUncachedGetSnapshot;var didWarnAboutMismatchedHooksForComponent\x3dnew Set;var renderLanes\x3d0,currentlyRenderingFiber$1\x3dnull,currentHook\x3dnull,workInProgressHook\x3dnull,didScheduleRenderPhaseUpdate\x3d!1,didScheduleRenderPhaseUpdateDuringThisPass\x3d!1,localIdCounter\x3d0,globalClientIdCounter\x3d0,currentHookNameInDev\x3dnull,hookTypesDev\x3dnull,hookTypesUpdateIndexDev\x3d-1,ignorePreviousDependencies\x3d!1,isUpdatingOpaqueValueInRenderPhase\x3d!1,ContextOnlyDispatcher\x3d\n{readContext,useCallback:throwInvalidHookError,useContext:throwInvalidHookError,useEffect:throwInvalidHookError,useImperativeHandle:throwInvalidHookError,useInsertionEffect:throwInvalidHookError,useLayoutEffect:throwInvalidHookError,useMemo:throwInvalidHookError,useReducer:throwInvalidHookError,useRef:throwInvalidHookError,useState:throwInvalidHookError,useDebugValue:throwInvalidHookError,useDeferredValue:throwInvalidHookError,useTransition:throwInvalidHookError,useMutableSource:throwInvalidHookError,\nuseSyncExternalStore:throwInvalidHookError,useId:throwInvalidHookError,unstable_isNewReconciler:!1},HooksDispatcherOnMountInDEV\x3dnull,HooksDispatcherOnMountWithHookTypesInDEV\x3dnull,HooksDispatcherOnUpdateInDEV\x3dnull,HooksDispatcherOnRerenderInDEV\x3dnull,InvalidNestedHooksDispatcherOnMountInDEV\x3dnull,InvalidNestedHooksDispatcherOnUpdateInDEV\x3dnull,InvalidNestedHooksDispatcherOnRerenderInDEV\x3dnull,warnInvalidContextAccess\x3dfunction(){error$jscomp$0(\x22Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\x22)},\nwarnInvalidHookAccess\x3dfunction(){error$jscomp$0(\x22Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks\x22)};HooksDispatcherOnMountInDEV\x3d{readContext:function(context){return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);return mountCallback(callback,deps)},\nuseContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;mountHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);return mountEffect(create,deps)},useImperativeHandle:function(ref,create,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);return mountImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\n\x22useInsertionEffect\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);return mountEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);return mountLayoutEffect(create,deps)},useMemo:function(create,deps){currentHookNameInDev\x3d\x22useMemo\x22;mountHookTypesDev();checkDepsAreArrayDev(deps);var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;\ntry{return mountMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;mountHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;mountHookTypesDev();\nreturn mountRef(initialValue)},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;mountHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountState(initialState)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;mountHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;\nmountHookTypesDev();return mountDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;mountHookTypesDev();return mountTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;mountHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;mountHookTypesDev();return mountSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},useId:function(){currentHookNameInDev\x3d\n\x22useId\x22;mountHookTypesDev();return mountId()},unstable_isNewReconciler:!1};HooksDispatcherOnMountWithHookTypesInDEV\x3d{readContext:function(context){return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;updateHookTypesDev();return mountCallback(callback,deps)},useContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;updateHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;updateHookTypesDev();\nreturn mountEffect(create,deps)},useImperativeHandle:function(ref,create,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;updateHookTypesDev();return mountImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\x22useInsertionEffect\x22;updateHookTypesDev();return mountEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;updateHookTypesDev();return mountLayoutEffect(create,deps)},useMemo:function(create,\ndeps){currentHookNameInDev\x3d\x22useMemo\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;\ntry{return mountReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;updateHookTypesDev();return mountRef(initialValue)},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountState(initialState)}finally{ReactCurrentDispatcher$1.current\x3d\nprevDispatcher}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;updateHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;updateHookTypesDev();return mountDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;updateHookTypesDev();return mountTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;updateHookTypesDev()},useSyncExternalStore:function(subscribe,\ngetSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;updateHookTypesDev();return mountSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;updateHookTypesDev();return mountId()},unstable_isNewReconciler:!1};HooksDispatcherOnUpdateInDEV\x3d{readContext:function(context){return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;updateHookTypesDev();return updateCallback(callback,deps)},\nuseContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;updateHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;updateHookTypesDev();return updateEffectImpl(2048,Passive$1,create,deps)},useImperativeHandle:function(ref,create,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;updateHookTypesDev();return updateImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\x22useInsertionEffect\x22;updateHookTypesDev();\nreturn updateEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;updateHookTypesDev();return updateEffectImpl(4,Layout,create,deps)},useMemo:function(create,deps){currentHookNameInDev\x3d\x22useMemo\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,\ninitialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;updateHookTypesDev();return updateWorkInProgressHook().memoizedState},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;\nupdateHookTypesDev();initialState\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateReducer(basicStateReducer)}finally{ReactCurrentDispatcher$1.current\x3dinitialState}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;updateHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;updateHookTypesDev();return updateDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\n\x22useTransition\x22;updateHookTypesDev();return updateTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;updateHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;updateHookTypesDev();return updateSyncExternalStore(subscribe,getSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;updateHookTypesDev();return updateWorkInProgressHook().memoizedState},unstable_isNewReconciler:!1};\nHooksDispatcherOnRerenderInDEV\x3d{readContext:function(context){return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;updateHookTypesDev();return updateCallback(callback,deps)},useContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;updateHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;updateHookTypesDev();return updateEffectImpl(2048,Passive$1,create,deps)},useImperativeHandle:function(ref,\ncreate,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;updateHookTypesDev();return updateImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\x22useInsertionEffect\x22;updateHookTypesDev();return updateEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;updateHookTypesDev();return updateEffectImpl(4,Layout,create,deps)},useMemo:function(create,deps){currentHookNameInDev\x3d\x22useMemo\x22;updateHookTypesDev();\nvar prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnRerenderInDEV;try{return updateMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnRerenderInDEV;try{return rerenderReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3d\nprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;updateHookTypesDev();return updateWorkInProgressHook().memoizedState},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;updateHookTypesDev();initialState\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnRerenderInDEV;try{return rerenderReducer(basicStateReducer)}finally{ReactCurrentDispatcher$1.current\x3dinitialState}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\n\x22useDebugValue\x22;updateHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;updateHookTypesDev();return rerenderDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;updateHookTypesDev();return rerenderTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;updateHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;\nupdateHookTypesDev();return updateSyncExternalStore(subscribe,getSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;updateHookTypesDev();return updateWorkInProgressHook().memoizedState},unstable_isNewReconciler:!1};InvalidNestedHooksDispatcherOnMountInDEV\x3d{readContext:function(context){warnInvalidContextAccess();return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;warnInvalidHookAccess();mountHookTypesDev();return mountCallback(callback,deps)},\nuseContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;warnInvalidHookAccess();mountHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;warnInvalidHookAccess();mountHookTypesDev();return mountEffect(create,deps)},useImperativeHandle:function(ref,create,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;warnInvalidHookAccess();mountHookTypesDev();return mountImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\n\x22useInsertionEffect\x22;warnInvalidHookAccess();mountHookTypesDev();return mountEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;warnInvalidHookAccess();mountHookTypesDev();return mountLayoutEffect(create,deps)},useMemo:function(create,deps){currentHookNameInDev\x3d\x22useMemo\x22;warnInvalidHookAccess();mountHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;\ntry{return mountMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;warnInvalidHookAccess();mountHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;\nwarnInvalidHookAccess();mountHookTypesDev();return mountRef(initialValue)},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;warnInvalidHookAccess();mountHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnMountInDEV;try{return mountState(initialState)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;warnInvalidHookAccess();\nmountHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;warnInvalidHookAccess();mountHookTypesDev();return mountDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;warnInvalidHookAccess();mountHookTypesDev();return mountTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;warnInvalidHookAccess();mountHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\n\x22useSyncExternalStore\x22;warnInvalidHookAccess();mountHookTypesDev();return mountSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;warnInvalidHookAccess();mountHookTypesDev();return mountId()},unstable_isNewReconciler:!1};InvalidNestedHooksDispatcherOnUpdateInDEV\x3d{readContext:function(context){warnInvalidContextAccess();return readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;warnInvalidHookAccess();updateHookTypesDev();\nreturn updateCallback(callback,deps)},useContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;warnInvalidHookAccess();updateHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(2048,Passive$1,create,deps)},useImperativeHandle:function(ref,create,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;warnInvalidHookAccess();updateHookTypesDev();return updateImperativeHandle(ref,\ncreate,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\x22useInsertionEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(4,Layout,create,deps)},useMemo:function(create,deps){currentHookNameInDev\x3d\x22useMemo\x22;warnInvalidHookAccess();updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;\nReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;warnInvalidHookAccess();updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3d\nprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;warnInvalidHookAccess();updateHookTypesDev();return updateWorkInProgressHook().memoizedState},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;warnInvalidHookAccess();updateHookTypesDev();initialState\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateReducer(basicStateReducer)}finally{ReactCurrentDispatcher$1.current\x3dinitialState}},\nuseDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;warnInvalidHookAccess();updateHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;warnInvalidHookAccess();updateHookTypesDev();return updateDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;warnInvalidHookAccess();updateHookTypesDev();return updateTransition()},useMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;\nwarnInvalidHookAccess();updateHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;warnInvalidHookAccess();updateHookTypesDev();return updateSyncExternalStore(subscribe,getSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;warnInvalidHookAccess();updateHookTypesDev();return updateWorkInProgressHook().memoizedState},unstable_isNewReconciler:!1};InvalidNestedHooksDispatcherOnRerenderInDEV\x3d{readContext:function(context){warnInvalidContextAccess();\nreturn readContext(context)},useCallback:function(callback,deps){currentHookNameInDev\x3d\x22useCallback\x22;warnInvalidHookAccess();updateHookTypesDev();return updateCallback(callback,deps)},useContext:function(context){currentHookNameInDev\x3d\x22useContext\x22;warnInvalidHookAccess();updateHookTypesDev();return readContext(context)},useEffect:function(create,deps){currentHookNameInDev\x3d\x22useEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(2048,Passive$1,create,deps)},useImperativeHandle:function(ref,\ncreate,deps){currentHookNameInDev\x3d\x22useImperativeHandle\x22;warnInvalidHookAccess();updateHookTypesDev();return updateImperativeHandle(ref,create,deps)},useInsertionEffect:function(create,deps){currentHookNameInDev\x3d\x22useInsertionEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(4,Insertion,create,deps)},useLayoutEffect:function(create,deps){currentHookNameInDev\x3d\x22useLayoutEffect\x22;warnInvalidHookAccess();updateHookTypesDev();return updateEffectImpl(4,Layout,create,deps)},useMemo:function(create,\ndeps){currentHookNameInDev\x3d\x22useMemo\x22;warnInvalidHookAccess();updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;try{return updateMemo(create,deps)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useReducer:function(reducer,initialArg,init){currentHookNameInDev\x3d\x22useReducer\x22;warnInvalidHookAccess();updateHookTypesDev();var prevDispatcher\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3d\nInvalidNestedHooksDispatcherOnUpdateInDEV;try{return rerenderReducer(reducer,initialArg,init)}finally{ReactCurrentDispatcher$1.current\x3dprevDispatcher}},useRef:function(initialValue){currentHookNameInDev\x3d\x22useRef\x22;warnInvalidHookAccess();updateHookTypesDev();return updateWorkInProgressHook().memoizedState},useState:function(initialState){currentHookNameInDev\x3d\x22useState\x22;warnInvalidHookAccess();updateHookTypesDev();initialState\x3dReactCurrentDispatcher$1.current;ReactCurrentDispatcher$1.current\x3dInvalidNestedHooksDispatcherOnUpdateInDEV;\ntry{return rerenderReducer(basicStateReducer)}finally{ReactCurrentDispatcher$1.current\x3dinitialState}},useDebugValue:function(value,formatterFn){currentHookNameInDev\x3d\x22useDebugValue\x22;warnInvalidHookAccess();updateHookTypesDev()},useDeferredValue:function(value){currentHookNameInDev\x3d\x22useDeferredValue\x22;warnInvalidHookAccess();updateHookTypesDev();return rerenderDeferredValue(value)},useTransition:function(){currentHookNameInDev\x3d\x22useTransition\x22;warnInvalidHookAccess();updateHookTypesDev();return rerenderTransition()},\nuseMutableSource:function(source,getSnapshot,subscribe){currentHookNameInDev\x3d\x22useMutableSource\x22;warnInvalidHookAccess();updateHookTypesDev()},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){currentHookNameInDev\x3d\x22useSyncExternalStore\x22;warnInvalidHookAccess();updateHookTypesDev();return updateSyncExternalStore(subscribe,getSnapshot)},useId:function(){currentHookNameInDev\x3d\x22useId\x22;warnInvalidHookAccess();updateHookTypesDev();return updateWorkInProgressHook().memoizedState},unstable_isNewReconciler:!1};\nvar now$1\x3dScheduler.unstable_now,commitTime\x3d0,layoutEffectStartTime\x3d-1,profilerStartTime\x3d-1,passiveEffectStartTime\x3d-1,currentUpdateIsNested\x3d!1,nestedUpdateScheduled\x3d!1,PossiblyWeakMap$1\x3d\x22function\x22\x3d\x3d\x3dtypeof WeakMap?WeakMap:Map,ReactCurrentOwner$1\x3dReactSharedInternals.ReactCurrentOwner,didReceiveUpdate\x3d!1;var didWarnAboutBadClass\x3d{};var didWarnAboutModulePatternComponent\x3d{};var didWarnAboutContextTypeOnFunctionComponent\x3d{};var didWarnAboutGetDerivedStateOnFunctionComponent\x3d{};var didWarnAboutFunctionRefs\x3d\n{};var didWarnAboutReassigningProps\x3d!1;var didWarnAboutRevealOrder\x3d{};var didWarnAboutTailOptions\x3d{};var SUSPENDED_MARKER\x3d{dehydrated:null,treeContext:null,retryLane:0},hasWarnedAboutUsingNoValuePropOnContextProvider\x3d!1,hasWarnedAboutUsingContextAsConsumer\x3d!1;var appendAllChildren\x3dfunction(parent,workInProgress,needsVisibilityToggle,isHidden){for(needsVisibilityToggle\x3dworkInProgress.child;null!\x3d\x3dneedsVisibilityToggle;){if(5\x3d\x3d\x3dneedsVisibilityToggle.tag||6\x3d\x3d\x3dneedsVisibilityToggle.tag)parent.appendChild(needsVisibilityToggle.stateNode);\nelse if(4!\x3d\x3dneedsVisibilityToggle.tag\x26\x26null!\x3d\x3dneedsVisibilityToggle.child){needsVisibilityToggle.child.return\x3dneedsVisibilityToggle;needsVisibilityToggle\x3dneedsVisibilityToggle.child;continue}if(needsVisibilityToggle\x3d\x3d\x3dworkInProgress)break;for(;null\x3d\x3d\x3dneedsVisibilityToggle.sibling;){if(null\x3d\x3d\x3dneedsVisibilityToggle.return||needsVisibilityToggle.return\x3d\x3d\x3dworkInProgress)return;needsVisibilityToggle\x3dneedsVisibilityToggle.return}needsVisibilityToggle.sibling.return\x3dneedsVisibilityToggle.return;needsVisibilityToggle\x3d\nneedsVisibilityToggle.sibling}};var updateHostContainer\x3dfunction(current,workInProgress){};var updateHostComponent$1\x3dfunction(current,workInProgress,type,newProps,rootContainerInstance){var oldProps\x3dcurrent.memoizedProps;if(oldProps!\x3d\x3dnewProps){rootContainerInstance\x3dworkInProgress.stateNode;var currentHostContext\x3drequiredContext(contextStackCursor$1.current);typeof newProps.children\x3d\x3d\x3dtypeof oldProps.children||\x22string\x22!\x3d\x3dtypeof newProps.children\x26\x26\x22number\x22!\x3d\x3dtypeof newProps.children||(current\x3d\x22\x22+newProps.children,\ncurrentHostContext\x3dupdatedAncestorInfo(currentHostContext.ancestorInfo,type),validateDOMNesting(null,current,currentHostContext));validatePropertiesInDevelopment(type,newProps);current\x3dnull;switch(type){case \x22input\x22:oldProps\x3dgetHostProps(rootContainerInstance,oldProps);newProps\x3dgetHostProps(rootContainerInstance,newProps);current\x3d[];break;case \x22select\x22:oldProps\x3dassign({},oldProps,{value:void 0});newProps\x3dassign({},newProps,{value:void 0});current\x3d[];break;case \x22textarea\x22:oldProps\x3dgetHostProps$2(rootContainerInstance,\noldProps);newProps\x3dgetHostProps$2(rootContainerInstance,newProps);current\x3d[];break;default:\x22function\x22!\x3d\x3dtypeof oldProps.onClick\x26\x26\x22function\x22\x3d\x3d\x3dtypeof newProps.onClick\x26\x26(rootContainerInstance.onclick\x3dnoop)}assertValidProps(type,newProps);type\x3dnull;for(propKey in oldProps)if(!newProps.hasOwnProperty(propKey)\x26\x26oldProps.hasOwnProperty(propKey)\x26\x26null!\x3doldProps[propKey])if(\x22style\x22\x3d\x3d\x3dpropKey)for(styleName in currentHostContext\x3doldProps[propKey],currentHostContext)currentHostContext.hasOwnProperty(styleName)\x26\x26\n(type||\x3d{},type[styleName]\x3d\x22\x22);else\x22dangerouslySetInnerHTML\x22!\x3d\x3dpropKey\x26\x26\x22children\x22!\x3d\x3dpropKey\x26\x26\x22suppressContentEditableWarning\x22!\x3d\x3dpropKey\x26\x26\x22suppressHydrationWarning\x22!\x3d\x3dpropKey\x26\x26\x22autoFocus\x22!\x3d\x3dpropKey\x26\x26(registrationNameDependencies.hasOwnProperty(propKey)?current||\x3d[]:(current\x3dcurrent||[]).push(propKey,null));for(propKey in newProps){var nextProp\x3dnewProps[propKey];currentHostContext\x3dnull!\x3doldProps?oldProps[propKey]:void 0;if(newProps.hasOwnProperty(propKey)\x26\x26nextProp!\x3d\x3dcurrentHostContext\x26\x26(null!\x3dnextProp||\nnull!\x3dcurrentHostContext))if(\x22style\x22\x3d\x3d\x3dpropKey)if(nextProp\x26\x26Object.freeze(nextProp),currentHostContext){for(styleName in currentHostContext)!currentHostContext.hasOwnProperty(styleName)||nextProp\x26\x26nextProp.hasOwnProperty(styleName)||(type||\x3d{},type[styleName]\x3d\x22\x22);for(styleName in nextProp)nextProp.hasOwnProperty(styleName)\x26\x26currentHostContext[styleName]!\x3d\x3dnextProp[styleName]\x26\x26(type||\x3d{},type[styleName]\x3dnextProp[styleName])}else type||(current||\x3d[],current.push(propKey,type)),type\x3dnextProp;else\x22dangerouslySetInnerHTML\x22\x3d\x3d\x3d\npropKey?(nextProp\x3dnextProp?nextProp.__html:void 0,currentHostContext\x3dcurrentHostContext?currentHostContext.__html:void 0,null!\x3dnextProp\x26\x26currentHostContext!\x3d\x3dnextProp\x26\x26(current\x3dcurrent||[]).push(propKey,nextProp)):\x22children\x22\x3d\x3d\x3dpropKey?\x22string\x22!\x3d\x3dtypeof nextProp\x26\x26\x22number\x22!\x3d\x3dtypeof nextProp||(current\x3dcurrent||[]).push(propKey,\x22\x22+nextProp):\x22suppressContentEditableWarning\x22!\x3d\x3dpropKey\x26\x26\x22suppressHydrationWarning\x22!\x3d\x3dpropKey\x26\x26(registrationNameDependencies.hasOwnProperty(propKey)?(null!\x3dnextProp\x26\x26(\x22function\x22!\x3d\x3d\ntypeof nextProp\x26\x26warnForInvalidEventListener(propKey,nextProp),\x22onScroll\x22\x3d\x3d\x3dpropKey\x26\x26listenToNonDelegatedEvent(\x22scroll\x22,rootContainerInstance)),current||currentHostContext\x3d\x3d\x3dnextProp||(current\x3d[])):(current\x3dcurrent||[]).push(propKey,nextProp))}if(type){var propKey\x3dtype;if(rootContainerInstance\x3dnewProps.style){var styleName\x3dexpandShorthandMap(propKey);rootContainerInstance\x3dexpandShorthandMap(rootContainerInstance);oldProps\x3d{};for(updatePayload in styleName)newProps\x3dstyleName[updatePayload],(currentHostContext\x3d\nrootContainerInstance[updatePayload])\x26\x26newProps!\x3d\x3dcurrentHostContext\x26\x26(nextProp\x3dnewProps+\x22,\x22+currentHostContext,oldProps[nextProp]||(oldProps[nextProp]\x3d!0,nextProp\x3dpropKey[newProps],error$jscomp$0(\x22%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don\x27t mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.\x22,null\x3d\x3dnextProp||\x22boolean\x22\x3d\x3d\x3dtypeof nextProp||\x22\x22\x3d\x3d\x3dnextProp?\n\x22Removing\x22:\x22Updating\x22,newProps,currentHostContext)))}(current\x3dcurrent||[]).push(\x22style\x22,type)}var updatePayload\x3dcurrent;if(workInProgress.updateQueue\x3dupdatePayload)workInProgress.flags|\x3d4}};var updateHostText$1\x3dfunction(current,workInProgress,oldText,newText){oldText!\x3d\x3dnewText\x26\x26(workInProgress.flags|\x3d4)};var didWarnAboutUndefinedSnapshotBeforeUpdate\x3dnull;didWarnAboutUndefinedSnapshotBeforeUpdate\x3dnew Set;var offscreenSubtreeIsHidden\x3d!1,offscreenSubtreeWasHidden\x3d!1,PossiblyWeakSet\x3d\x22function\x22\x3d\x3d\x3dtypeof WeakSet?\nWeakSet:Set,nextEffect\x3dnull,inProgressLanes\x3dnull,inProgressRoot\x3dnull,shouldFireAfterActiveInstanceBlur\x3d!1,hostParent\x3dnull,hostParentIsContainer\x3d!1;if(\x22function\x22\x3d\x3d\x3dtypeof Symbol\x26\x26Symbol.for){var symbolFor\x3dSymbol.for;symbolFor(\x22selector.component\x22);symbolFor(\x22selector.has_pseudo_class\x22);symbolFor(\x22selector.role\x22);symbolFor(\x22selector.test_id\x22);symbolFor(\x22selector.text\x22)}var commitHooks\x3d[],ReactCurrentActQueue\x3dReactSharedInternals.ReactCurrentActQueue,ceil\x3dMath.ceil,ReactCurrentDispatcher$2\x3dReactSharedInternals.ReactCurrentDispatcher,\nReactCurrentOwner$2\x3dReactSharedInternals.ReactCurrentOwner,ReactCurrentBatchConfig$3\x3dReactSharedInternals.ReactCurrentBatchConfig,ReactCurrentActQueue$1\x3dReactSharedInternals.ReactCurrentActQueue,NoContext\x3d0,RenderContext\x3d2,CommitContext\x3d4,RootInProgress\x3d0,RootFatalErrored\x3d1,RootErrored\x3d2,RootSuspended\x3d3,RootSuspendedWithDelay\x3d4,RootCompleted\x3d5,RootDidNotComplete\x3d6,executionContext\x3dNoContext,workInProgressRoot\x3dnull,workInProgress\x3dnull,workInProgressRootRenderLanes\x3d0,subtreeRenderLanes\x3d0,subtreeRenderLanesCursor\x3d\ncreateCursor(0),workInProgressRootExitStatus\x3dRootInProgress,workInProgressRootFatalError\x3dnull,workInProgressRootSkippedLanes\x3d0,workInProgressRootInterleavedUpdatedLanes\x3d0,workInProgressRootPingedLanes\x3d0,workInProgressRootConcurrentErrors\x3dnull,workInProgressRootRecoverableErrors\x3dnull,globalMostRecentFallbackTime\x3d0,FALLBACK_THROTTLE_MS\x3d500,workInProgressRootRenderTargetTime\x3dInfinity,RENDER_TIMEOUT_MS\x3d500,workInProgressTransitions\x3dnull,hasUncaughtError\x3d!1,firstUncaughtError\x3dnull,legacyErrorBoundariesThatAlreadyFailed\x3d\nnull,rootDoesHavePassiveEffects\x3d!1,rootWithPendingPassiveEffects\x3dnull,pendingPassiveEffectsLanes\x3d0,pendingPassiveProfilerEffects\x3d[],NESTED_UPDATE_LIMIT\x3d50,nestedUpdateCount\x3d0,rootWithNestedUpdates\x3dnull,isFlushingPassiveEffects\x3d!1,didScheduleUpdateDuringPassiveEffects\x3d!1,NESTED_PASSIVE_UPDATE_LIMIT\x3d50,nestedPassiveUpdateCount\x3d0,rootWithPassiveNestedUpdates\x3dnull,currentEventTime\x3d-1,currentEventTransitionLane\x3d0,isRunningInsertionEffect\x3d!1,didWarnStateUpdateForNotYetMountedComponent\x3dnull;var beginWork$1\x3d\nfunction(current,unitOfWork,lanes){var originalWorkInProgressCopy\x3dassignFiberPropertiesInDEV(null,unitOfWork);try{return beginWork(current,unitOfWork,lanes)}catch(originalError){var JSCompiler_inline_result\x3ddidSuspendOrErrorDEV;if(JSCompiler_inline_result||null!\x3d\x3doriginalError\x26\x26\x22object\x22\x3d\x3d\x3dtypeof originalError\x26\x26\x22function\x22\x3d\x3d\x3dtypeof originalError.then)throw originalError;resetContextDependencies();resetHooksAfterThrow();unwindInterruptedWork(current,unitOfWork);assignFiberPropertiesInDEV(unitOfWork,\noriginalWorkInProgressCopy);unitOfWork.mode\x262\x26\x26startProfilerTimer(unitOfWork);invokeGuardedCallback(null,beginWork,null,current,unitOfWork,lanes);hasError\x26\x26(current\x3dclearCaughtError(),\x22object\x22\x3d\x3d\x3dtypeof current\x26\x26null!\x3d\x3dcurrent\x26\x26current._suppressLogging\x26\x26\x22object\x22\x3d\x3d\x3dtypeof originalError\x26\x26null!\x3d\x3doriginalError\x26\x26!originalError._suppressLogging\x26\x26(originalError._suppressLogging\x3d!0));throw originalError;}};var didWarnAboutUpdateInRender\x3d!1;var didWarnAboutUpdateInRenderForAnotherComponent\x3dnew Set;var fakeActCallbackNode\x3d\n{},resolveFamily\x3dnull,failedBoundaries\x3dnull,setRefreshHandler\x3dfunction(handler){resolveFamily\x3dhandler},scheduleRefresh\x3dfunction(root,update){if(null!\x3d\x3dresolveFamily){var staleFamilies\x3dupdate.staleFamilies,updatedFamilies\x3dupdate.updatedFamilies;flushPassiveEffects();flushSync(function(){scheduleFibersWithFamiliesRecursively(root.current,updatedFamilies,staleFamilies)})}},scheduleRoot\x3dfunction(root,element){root.context\x3d\x3d\x3demptyContextObject\x26\x26(flushPassiveEffects(),flushSync(function(){updateContainer(element,\nroot,null,null)}))},findHostInstancesForRefresh\x3dfunction(root,families){var hostInstances\x3dnew Set;families\x3dnew Set(families.map(function(family){return family.current}));findHostInstancesForMatchingFibersRecursively(root.current,families,hostInstances);return hostInstances};var hasBadMapPolyfill\x3d!1;try{var nonExtensibleObject\x3dObject.preventExtensions({});new Map([[nonExtensibleObject,null]]);new Set([nonExtensibleObject])}catch(e){hasBadMapPolyfill\x3d!0}var createFiber\x3dfunction(tag,pendingProps,key,\nmode){return new FiberNode(tag,pendingProps,key,mode)};var didWarnAboutNestedUpdates\x3d!1;var didWarnAboutFindNodeInStrictMode\x3d{};var shouldErrorImpl\x3dfunction(fiber){return null},shouldSuspendImpl\x3dfunction(fiber){return!1},overrideHookState\x3dnull,overrideHookStateDeletePath\x3dnull,overrideHookStateRenamePath\x3dnull,overrideProps\x3dnull,overridePropsDeletePath\x3dnull,overridePropsRenamePath\x3dnull,scheduleUpdate\x3dnull,setErrorHandler\x3dnull,setSuspenseHandler\x3dnull,copyWithDeleteImpl\x3dfunction(obj,path,index){var key\x3d\npath[index],updated\x3disArrayImpl(obj)?obj.slice():assign({},obj);if(index+1\x3d\x3d\x3dpath.length)return isArrayImpl(updated)?updated.splice(key,1):delete updated[key],updated;updated[key]\x3dcopyWithDeleteImpl(obj[key],path,index+1);return updated},copyWithRenameImpl\x3dfunction(obj,oldPath,newPath,index){var oldKey\x3doldPath[index],updated\x3disArrayImpl(obj)?obj.slice():assign({},obj);index+1\x3d\x3d\x3doldPath.length?(updated[newPath[index]]\x3dupdated[oldKey],isArrayImpl(updated)?updated.splice(oldKey,1):delete updated[oldKey]):\nupdated[oldKey]\x3dcopyWithRenameImpl(obj[oldKey],oldPath,newPath,index+1);return updated},copyWithRename\x3dfunction(obj,oldPath,newPath){if(oldPath.length!\x3d\x3dnewPath.length)warn(\x22copyWithRename() expects paths of the same length\x22);else{for(var i\x3d0;i\x3cnewPath.length-1;i++)if(oldPath[i]!\x3d\x3dnewPath[i]){warn(\x22copyWithRename() expects paths to be the same except for the deepest key\x22);return}return copyWithRenameImpl(obj,oldPath,newPath,0)}},copyWithSetImpl\x3dfunction(obj,path,index,value){if(index\x3e\x3dpath.length)return value;\nvar key\x3dpath[index],updated\x3disArrayImpl(obj)?obj.slice():assign({},obj);updated[key]\x3dcopyWithSetImpl(obj[key],path,index+1,value);return updated},findHook\x3dfunction(fiber,id){for(fiber\x3dfiber.memoizedState;null!\x3d\x3dfiber\x26\x260\x3cid;)fiber\x3dfiber.next,id--;return fiber};overrideHookState\x3dfunction(fiber,id,path,value){id\x3dfindHook(fiber,id);null!\x3d\x3did\x26\x26(path\x3dcopyWithSetImpl(id.memoizedState,path,0,value),id.memoizedState\x3dpath,id.baseState\x3dpath,fiber.memoizedProps\x3dassign({},fiber.memoizedProps),path\x3dmarkUpdateLaneFromFiberToRoot(fiber,\nSyncLane),null!\x3d\x3dpath\x26\x26scheduleUpdateOnFiber(path,fiber,SyncLane,-1))};overrideHookStateDeletePath\x3dfunction(fiber,id,path){id\x3dfindHook(fiber,id);null!\x3d\x3did\x26\x26(path\x3dcopyWithDeleteImpl(id.memoizedState,path,0),id.memoizedState\x3dpath,id.baseState\x3dpath,fiber.memoizedProps\x3dassign({},fiber.memoizedProps),path\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane),null!\x3d\x3dpath\x26\x26scheduleUpdateOnFiber(path,fiber,SyncLane,-1))};overrideHookStateRenamePath\x3dfunction(fiber,id,oldPath,newPath){id\x3dfindHook(fiber,id);null!\x3d\x3d\nid\x26\x26(oldPath\x3dcopyWithRename(id.memoizedState,oldPath,newPath),id.memoizedState\x3doldPath,id.baseState\x3doldPath,fiber.memoizedProps\x3dassign({},fiber.memoizedProps),oldPath\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane),null!\x3d\x3doldPath\x26\x26scheduleUpdateOnFiber(oldPath,fiber,SyncLane,-1))};overrideProps\x3dfunction(fiber,path,value){fiber.pendingProps\x3dcopyWithSetImpl(fiber.memoizedProps,path,0,value);fiber.alternate\x26\x26(fiber.alternate.pendingProps\x3dfiber.pendingProps);path\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);\nnull!\x3d\x3dpath\x26\x26scheduleUpdateOnFiber(path,fiber,SyncLane,-1)};overridePropsDeletePath\x3dfunction(fiber,path){fiber.pendingProps\x3dcopyWithDeleteImpl(fiber.memoizedProps,path,0);fiber.alternate\x26\x26(fiber.alternate.pendingProps\x3dfiber.pendingProps);path\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);null!\x3d\x3dpath\x26\x26scheduleUpdateOnFiber(path,fiber,SyncLane,-1)};overridePropsRenamePath\x3dfunction(fiber,oldPath,newPath){fiber.pendingProps\x3dcopyWithRename(fiber.memoizedProps,oldPath,newPath);fiber.alternate\x26\x26(fiber.alternate.pendingProps\x3d\nfiber.pendingProps);oldPath\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);null!\x3d\x3doldPath\x26\x26scheduleUpdateOnFiber(oldPath,fiber,SyncLane,-1)};scheduleUpdate\x3dfunction(fiber){var root\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);null!\x3d\x3droot\x26\x26scheduleUpdateOnFiber(root,fiber,SyncLane,-1)};setErrorHandler\x3dfunction(newShouldErrorImpl){shouldErrorImpl\x3dnewShouldErrorImpl};setSuspenseHandler\x3dfunction(newShouldSuspendImpl){shouldSuspendImpl\x3dnewShouldSuspendImpl};var defaultOnRecoverableError\x3d\x22function\x22\x3d\x3d\x3dtypeof reportError?\nreportError:function(error){console.error(error)};ReactDOMHydrationRoot.prototype.render\x3dReactDOMRoot.prototype.render\x3dfunction(children,JSCompiler_OptimizeArgumentsArray_p2){var root\x3dthis._internalRoot;if(null\x3d\x3d\x3droot)throw Error(\x22Cannot update an unmounted root.\x22);\x22function\x22\x3d\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p2?error$jscomp$0(\x22render(...): does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\x22):isValidContainer(JSCompiler_OptimizeArgumentsArray_p2)?\nerror$jscomp$0(\x22You passed a container to the second argument of root.render(...). You don\x27t need to pass it again since you already passed it to create the root.\x22):\x22undefined\x22!\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p2\x26\x26error$jscomp$0(\x22You passed a second argument to root.render(...) but it only accepts one argument.\x22);JSCompiler_OptimizeArgumentsArray_p2\x3droot.containerInfo;if(8!\x3d\x3dJSCompiler_OptimizeArgumentsArray_p2.nodeType){var hostInstance\x3dfindHostInstanceWithNoPortals(root.current);hostInstance\x26\x26\nhostInstance.parentNode!\x3d\x3dJSCompiler_OptimizeArgumentsArray_p2\x26\x26error$jscomp$0(\x22render(...): It looks like the React-rendered content of the root container was removed without using React. This is not supported and will cause errors. Instead, call root.unmount() to empty a root\x27s container.\x22)}updateContainer(children,root,null,null)};ReactDOMHydrationRoot.prototype.unmount\x3dReactDOMRoot.prototype.unmount\x3dfunction(JSCompiler_OptimizeArgumentsArray_p3){\x22function\x22\x3d\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p3\x26\x26\nerror$jscomp$0(\x22unmount(...): does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\x22);var root\x3dthis._internalRoot;null!\x3d\x3droot\x26\x26(this._internalRoot\x3dnull,JSCompiler_OptimizeArgumentsArray_p3\x3droot.containerInfo,(executionContext\x26(RenderContext|CommitContext))!\x3d\x3dNoContext\x26\x26error$jscomp$0(\x22Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.\x22),\nflushSync(function(){updateContainer(null,root,null,null)}),JSCompiler_OptimizeArgumentsArray_p3[internalContainerInstanceKey]\x3dnull)};ReactDOMHydrationRoot.prototype.unstable_scheduleHydration\x3dfunction(target){if(target){var updatePriority\x3dgetCurrentUpdatePriority$1();target\x3d{blockedOn:null,target,priority:updatePriority};for(var i\x3d0;i\x3cqueuedExplicitHydrationTargets.length\x26\x260!\x3d\x3dupdatePriority\x26\x26updatePriority\x3cqueuedExplicitHydrationTargets[i].priority;i++);queuedExplicitHydrationTargets.splice(i,0,\ntarget);0\x3d\x3d\x3di\x26\x26attemptExplicitHydrationTarget(target)}};var ReactCurrentOwner$3\x3dReactSharedInternals.ReactCurrentOwner;var topLevelUpdateWarnings\x3dfunction(container){if(container._reactRootContainer\x26\x268!\x3d\x3dcontainer.nodeType){var hostInstance\x3dfindHostInstanceWithNoPortals(container._reactRootContainer.current);hostInstance\x26\x26hostInstance.parentNode!\x3d\x3dcontainer\x26\x26error$jscomp$0(\x22render(...): It looks like the React-rendered content of this container was removed without using React. This is not supported and will cause errors. Instead, call ReactDOM.unmountComponentAtNode to empty a container.\x22)}hostInstance\x3d\n!!container._reactRootContainer;var rootEl\x3dgetReactRootElementInContainer(container);rootEl\x26\x26getInstanceFromNode(rootEl)\x26\x26!hostInstance\x26\x26error$jscomp$0(\x22render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render.\x22);1\x3d\x3d\x3dcontainer.nodeType\x26\x26container.tagName\x26\x26\x22BODY\x22\x3d\x3d\x3dcontainer.tagName.toUpperCase()\x26\x26error$jscomp$0(\x22render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.\x22)};\nvar _attemptSynchronousHydration\x3dfunction(fiber){switch(fiber.tag){case 3:var root$jscomp$0\x3dfiber.stateNode;if(root$jscomp$0.current.memoizedState.isDehydrated){var lanes\x3dgetHighestPriorityLanes(root$jscomp$0.pendingLanes);flushRoot(root$jscomp$0,lanes)}break;case 13:flushSync(function(){var root\x3dmarkUpdateLaneFromFiberToRoot(fiber,SyncLane);if(null!\x3d\x3droot){var eventTime\x3drequestEventTime();scheduleUpdateOnFiber(root,fiber,SyncLane,eventTime)}}),markRetryLaneIfNotHydrated(fiber,SyncLane)}};var attemptContinuousHydration\x3d\nfunction(fiber){if(13\x3d\x3d\x3dfiber.tag){var lane\x3dSelectiveHydrationLane,root\x3dmarkUpdateLaneFromFiberToRoot(fiber,lane);if(null!\x3d\x3droot){var eventTime\x3drequestEventTime();scheduleUpdateOnFiber(root,fiber,lane,eventTime)}markRetryLaneIfNotHydrated(fiber,lane)}};var attemptHydrationAtCurrentPriority\x3dfunction(fiber){if(13\x3d\x3d\x3dfiber.tag){var lane\x3drequestUpdateLane(fiber),root\x3dmarkUpdateLaneFromFiberToRoot(fiber,lane);if(null!\x3d\x3droot){var eventTime\x3drequestEventTime();scheduleUpdateOnFiber(root,fiber,lane,eventTime)}markRetryLaneIfNotHydrated(fiber,\nlane)}};var getCurrentUpdatePriority$1\x3dfunction(){return currentUpdatePriority};var attemptHydrationAtPriority\x3dfunction(priority,fn){var previousPriority\x3dcurrentUpdatePriority;try{return currentUpdatePriority\x3dpriority,fn()}finally{currentUpdatePriority\x3dpreviousPriority}};\x22function\x22\x3d\x3d\x3dtypeof Map\x26\x26null!\x3dMap.prototype\x26\x26\x22function\x22\x3d\x3d\x3dtypeof Map.prototype.forEach\x26\x26\x22function\x22\x3d\x3d\x3dtypeof Set\x26\x26null!\x3dSet.prototype\x26\x26\x22function\x22\x3d\x3d\x3dtypeof Set.prototype.clear\x26\x26\x22function\x22\x3d\x3d\x3dtypeof Set.prototype.forEach||error$jscomp$0(\x22React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\x22);\nrestoreImpl\x3dfunction(domElement,tag,props){switch(tag){case \x22input\x22:updateWrapper(domElement,props);tag\x3dprops.name;if(\x22radio\x22\x3d\x3d\x3dprops.type\x26\x26null!\x3dtag){for(props\x3ddomElement;props.parentNode;)props\x3dprops.parentNode;props\x3dprops.querySelectorAll(\x22input[name\\x3d\x22+JSON.stringify(\x22\x22+tag)+\x27][type\\x3d\x22radio\x22]\x27);for(tag\x3d0;tag\x3cprops.length;tag++){var otherNode\x3dprops[tag];if(otherNode!\x3d\x3ddomElement\x26\x26otherNode.form\x3d\x3d\x3ddomElement.form){var otherProps\x3dgetFiberCurrentPropsFromNode(otherNode);if(!otherProps)throw Error(\x22ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.\x22);\nupdateValueIfChanged(otherNode);updateWrapper(otherNode,otherProps)}}}break;case \x22textarea\x22:updateWrapper$1(domElement,props);break;case \x22select\x22:tag\x3dprops.value,null!\x3dtag\x26\x26updateOptions(domElement,!!props.multiple,tag,!1)}};(function(_batchedUpdatesImpl,_discreteUpdatesImpl,_flushSyncImpl){batchedUpdatesImpl\x3d_batchedUpdatesImpl;flushSyncImpl\x3d_flushSyncImpl})(batchedUpdates$1,function(fn,a,b,c,d){var previousPriority\x3dcurrentUpdatePriority,prevTransition\x3dReactCurrentBatchConfig$3.transition;try{return ReactCurrentBatchConfig$3.transition\x3d\nnull,currentUpdatePriority\x3dDiscreteEventPriority,fn(a,b,c,d)}finally{currentUpdatePriority\x3dpreviousPriority,ReactCurrentBatchConfig$3.transition\x3dprevTransition,executionContext\x3d\x3d\x3dNoContext\x26\x26resetRenderTimer()}},flushSync);var Internals\x3d{usingClientEntryPoint:!1,Events:[getInstanceFromNode,getNodeFromInstance,getFiberCurrentPropsFromNode,enqueueStateRestore,restoreStateIfNeeded,batchedUpdates$1]};if(!function(devToolsConfig){return injectInternals({bundleType:devToolsConfig.bundleType,version:devToolsConfig.version,\nrendererPackageName:devToolsConfig.rendererPackageName,rendererConfig:devToolsConfig.rendererConfig,overrideHookState,overrideHookStateDeletePath,overrideHookStateRenamePath,overrideProps,overridePropsDeletePath,overridePropsRenamePath,setErrorHandler,setSuspenseHandler,scheduleUpdate,currentDispatcherRef:ReactSharedInternals.ReactCurrentDispatcher,findHostInstanceByFiber,findFiberByHostInstance:devToolsConfig.findFiberByHostInstance||emptyFindFiberByHostInstance,findHostInstancesForRefresh,scheduleRefresh,\nscheduleRoot,setRefreshHandler,getCurrentFiber:getCurrentFiberForDevTools,reconcilerVersion:\x2218.2.0\x22})}({findFiberByHostInstance:getClosestInstanceFromNode,bundleType:1,version:\x2218.2.0\x22,rendererPackageName:\x22react-dom\x22})\x26\x26canUseDOM\x26\x26window.top\x3d\x3d\x3dwindow.self\x26\x26(-1\x3cnavigator.userAgent.indexOf(\x22Chrome\x22)\x26\x26-1\x3d\x3d\x3dnavigator.userAgent.indexOf(\x22Edge\x22)||-1\x3cnavigator.userAgent.indexOf(\x22Firefox\x22))){var protocol\x3dwindow.location.protocol;/^(https?|file):$/.test(protocol)\x26\x26console.info(\x22%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools\x22+\n(\x22file:\x22\x3d\x3d\x3dprotocol?\x22\\nYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq\x22:\x22\x22),\x22font-weight:bold\x22)}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\x3dInternals;exports.createPortal\x3dfunction(children,container){var key\x3d2\x3carguments.length\x26\x26void 0!\x3d\x3darguments[2]?arguments[2]:null;if(!isValidContainer(container))throw Error(\x22Target container is not a DOM element.\x22);return createPortal(children,container,null,key)};exports.createRoot\x3dfunction(container,\noptions){Internals.usingClientEntryPoint||error$jscomp$0(\x27You are importing createRoot from \x22react-dom\x22 which is not supported. You should instead import it from \x22react-dom/client\x22.\x27);if(!isValidContainer(container))throw Error(\x22createRoot(...): Target container is not a DOM element.\x22);warnIfReactDOMContainerInDEV(container);var isStrictMode\x3d!1,identifierPrefix\x3d\x22\x22,onRecoverableError\x3ddefaultOnRecoverableError;null!\x3d\x3doptions\x26\x26void 0!\x3d\x3doptions\x26\x26(options.hydrate?warn(\x22hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, \\x3cApp /\\x3e) instead.\x22):\n\x22object\x22\x3d\x3d\x3dtypeof options\x26\x26null!\x3d\x3doptions\x26\x26options.$$typeof\x3d\x3d\x3dREACT_ELEMENT_TYPE\x26\x26error$jscomp$0(\x22You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\\n\\n let root \\x3d createRoot(domContainer);\\n root.render(\\x3cApp /\\x3e);\x22),!0\x3d\x3d\x3doptions.unstable_strictMode\x26\x26(isStrictMode\x3d!0),void 0!\x3d\x3doptions.identifierPrefix\x26\x26(identifierPrefix\x3doptions.identifierPrefix),void 0!\x3d\x3doptions.onRecoverableError\x26\x26(onRecoverableError\x3doptions.onRecoverableError));options\x3d\ncreateFiberRoot(container,1,!1,null,null,isStrictMode,!1,identifierPrefix,onRecoverableError);container[internalContainerInstanceKey]\x3doptions.current;listenToAllSupportedEvents(8\x3d\x3d\x3dcontainer.nodeType?container.parentNode:container);return new ReactDOMRoot(options)};exports.findDOMNode\x3dfunction(componentOrElement){var owner\x3dReactCurrentOwner$3.current;null!\x3d\x3downer\x26\x26null!\x3d\x3downer.stateNode\x26\x26(owner.stateNode._warnedAboutRefsInRender||error$jscomp$0(\x22%s is accessing findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\x22,\ngetComponentNameFromType(owner.type)||\x22A component\x22),owner.stateNode._warnedAboutRefsInRender\x3d!0);if(null\x3d\x3dcomponentOrElement)return null;if(1\x3d\x3d\x3dcomponentOrElement.nodeType)return componentOrElement;owner\x3dcomponentOrElement._reactInternals;if(void 0\x3d\x3d\x3downer){if(\x22function\x22\x3d\x3d\x3dtypeof componentOrElement.render)throw Error(\x22Unable to find node on an unmounted component.\x22);owner\x3dObject.keys(componentOrElement).join(\x22,\x22);throw Error(\x22Argument appears to not be a ReactComponent. Keys: \x22+owner);}componentOrElement\x3d\nfindCurrentHostFiber(owner);if(null\x3d\x3d\x3dcomponentOrElement)owner\x3dnull;else{if(componentOrElement.mode\x268){var componentName\x3dgetComponentNameFromFiber(owner)||\x22Component\x22;if(!didWarnAboutFindNodeInStrictMode[componentName]){didWarnAboutFindNodeInStrictMode[componentName]\x3d!0;var previousFiber\x3dcurrent;try{setCurrentFiber(componentOrElement),owner.mode\x268?error$jscomp$0(\x22%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node\x22,\n\x22findDOMNode\x22,\x22findDOMNode\x22,componentName):error$jscomp$0(\x22%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node\x22,\x22findDOMNode\x22,\x22findDOMNode\x22,componentName)}finally{previousFiber?setCurrentFiber(previousFiber):resetCurrentFiber()}}}owner\x3dcomponentOrElement.stateNode}return owner};exports.flushSync\x3dfunction(fn){(executionContext\x26\n(RenderContext|CommitContext))!\x3d\x3dNoContext\x26\x26error$jscomp$0(\x22flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\x22);return flushSync(fn)};exports.hydrate\x3dfunction(element,container,callback){error$jscomp$0(\x22ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot instead. Until you switch to the new API, your app will behave as if it\x27s running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\x22);\nif(!isValidContainerLegacy(container))throw Error(\x22Target container is not a DOM element.\x22);container[internalContainerInstanceKey]\x26\x26void 0\x3d\x3d\x3dcontainer._reactRootContainer\x26\x26error$jscomp$0(\x22You are calling ReactDOM.hydrate() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call hydrateRoot(container, element)?\x22);return legacyRenderSubtreeIntoContainer(null,element,container,!0,callback)};exports.hydrateRoot\x3dfunction(container,initialChildren,\noptions){Internals.usingClientEntryPoint||error$jscomp$0(\x27You are importing hydrateRoot from \x22react-dom\x22 which is not supported. You should instead import it from \x22react-dom/client\x22.\x27);if(!isValidContainer(container))throw Error(\x22hydrateRoot(...): Target container is not a DOM element.\x22);warnIfReactDOMContainerInDEV(container);void 0\x3d\x3d\x3dinitialChildren\x26\x26error$jscomp$0(\x22Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, \\x3cApp /\\x3e)\x22);var mutableSources\x3d\nnull!\x3doptions\x26\x26options.hydratedSources||null,isStrictMode\x3d!1,identifierPrefix\x3d\x22\x22,onRecoverableError\x3ddefaultOnRecoverableError;null!\x3d\x3doptions\x26\x26void 0!\x3d\x3doptions\x26\x26(!0\x3d\x3d\x3doptions.unstable_strictMode\x26\x26(isStrictMode\x3d!0),void 0!\x3d\x3doptions.identifierPrefix\x26\x26(identifierPrefix\x3doptions.identifierPrefix),void 0!\x3d\x3doptions.onRecoverableError\x26\x26(onRecoverableError\x3doptions.onRecoverableError));initialChildren\x3dcreateHydrationContainer(initialChildren,null,container,1,null!\x3doptions?options:null,isStrictMode,!1,identifierPrefix,\nonRecoverableError);container[internalContainerInstanceKey]\x3dinitialChildren.current;listenToAllSupportedEvents(container);if(mutableSources)for(container\x3d0;container\x3cmutableSources.length;container++)options\x3dinitialChildren,isStrictMode\x3dmutableSources[container],identifierPrefix\x3disStrictMode._getVersion,identifierPrefix\x3didentifierPrefix(isStrictMode._source),null\x3d\x3doptions.mutableSourceEagerHydrationData?options.mutableSourceEagerHydrationData\x3d[isStrictMode,identifierPrefix]:options.mutableSourceEagerHydrationData.push(isStrictMode,\nidentifierPrefix);return new ReactDOMHydrationRoot(initialChildren)};exports.render\x3dfunction(element,container,callback){error$jscomp$0(\x22ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it\x27s running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\x22);if(!isValidContainerLegacy(container))throw Error(\x22Target container is not a DOM element.\x22);container[internalContainerInstanceKey]\x26\x26void 0\x3d\x3d\x3dcontainer._reactRootContainer\x26\x26\nerror$jscomp$0(\x22You are calling ReactDOM.render() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.render(element)?\x22);return legacyRenderSubtreeIntoContainer(null,element,container,!1,callback)};exports.unmountComponentAtNode\x3dfunction(container){if(!isValidContainerLegacy(container))throw Error(\x22unmountComponentAtNode(...): Target container is not a DOM element.\x22);container[internalContainerInstanceKey]\x26\x26void 0\x3d\x3d\x3dcontainer._reactRootContainer\x26\x26\nerror$jscomp$0(\x22You are calling ReactDOM.unmountComponentAtNode() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?\x22);if(container._reactRootContainer){var rootEl\x3dgetReactRootElementInContainer(container);rootEl\x26\x26!getInstanceFromNode(rootEl)\x26\x26error$jscomp$0(\x22unmountComponentAtNode(): The node you\x27re attempting to unmount was rendered by another copy of React.\x22);flushSync(function(){legacyRenderSubtreeIntoContainer(null,\nnull,container,!1,function(){container._reactRootContainer\x3dnull;container[internalContainerInstanceKey]\x3dnull})});return!0}rootEl\x3dgetReactRootElementInContainer(container);rootEl\x3d!(!rootEl||!getInstanceFromNode(rootEl));var isContainerReactRoot\x3d1\x3d\x3d\x3dcontainer.nodeType\x26\x26isValidContainerLegacy(container.parentNode)\x26\x26!!container.parentNode._reactRootContainer;rootEl\x26\x26error$jscomp$0(\x22unmountComponentAtNode(): The node you\x27re attempting to unmount was rendered by React and is not a top-level container. %s\x22,\nisContainerReactRoot?\x22You may have accidentally passed in a React root node instead of its container.\x22:\x22Instead, have the parent component update its state and rerender in order to remove this component.\x22);return!1};exports.unstable_batchedUpdates\x3dbatchedUpdates$1;exports.unstable_renderSubtreeIntoContainer\x3dfunction(parentComponent,element,containerNode,callback){error$jscomp$0(\x22ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported in React 18. Consider using a portal instead. Until you switch to the createRoot API, your app will behave as if it\x27s running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\x22);\nif(!isValidContainerLegacy(containerNode))throw Error(\x22Target container is not a DOM element.\x22);if(null\x3d\x3dparentComponent||void 0\x3d\x3d\x3dparentComponent._reactInternals)throw Error(\x22parentComponent must be a valid React Component\x22);return legacyRenderSubtreeIntoContainer(parentComponent,element,containerNode,!1,callback)};exports.version\x3d\x2218.2.0\x22;\x22undefined\x22!\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__\x26\x26\x22function\x22\x3d\x3d\x3dtypeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop\x26\x26__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}"); +SHADOW_ENV.evalLoad("module$node_modules$react_dom$index.js", true , "shadow$provide.module$node_modules$react_dom$index\x3dfunction(global,require,module,exports){module.exports\x3drequire(\x22module$node_modules$react_dom$cjs$react_dom_development\x22)}"); +SHADOW_ENV.evalLoad("reagent.debug.js", true , "goog.provide(\x27reagent.debug\x27);\nreagent.debug.has_console \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nreagent.debug.tracking \x3d false;\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.debug !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.debug.warnings !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.debug.warnings \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.debug !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.debug.track_console !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.debug.track_console \x3d (function (){var o \x3d ({});\n(o.warn \x3d (function() { \nvar G__22085__delegate \x3d function (args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(reagent.debug.warnings,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22warn\x22,\x22warn\x22,-436710552)], null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,args)], 0));\n};\nvar G__22085 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22086__i \x3d 0, G__22086__a \x3d new Array(arguments.length - 0);\nwhile (G__22086__i \x3c G__22086__a.length) {G__22086__a[G__22086__i] \x3d arguments[G__22086__i + 0]; ++G__22086__i;}\n args \x3d new cljs.core.IndexedSeq(G__22086__a,0,null);\n} \nreturn G__22085__delegate.call(this,args);};\nG__22085.cljs$lang$maxFixedArity \x3d 0;\nG__22085.cljs$lang$applyTo \x3d (function (arglist__22087){\nvar args \x3d cljs.core.seq(arglist__22087);\nreturn G__22085__delegate(args);\n});\nG__22085.cljs$core$IFn$_invoke$arity$variadic \x3d G__22085__delegate;\nreturn G__22085;\n})()\n);\n\n(o.error \x3d (function() { \nvar G__22088__delegate \x3d function (args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(reagent.debug.warnings,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22error\x22,\x22error\x22,-978969032)], null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,args)], 0));\n};\nvar G__22088 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22089__i \x3d 0, G__22089__a \x3d new Array(arguments.length - 0);\nwhile (G__22089__i \x3c G__22089__a.length) {G__22089__a[G__22089__i] \x3d arguments[G__22089__i + 0]; ++G__22089__i;}\n args \x3d new cljs.core.IndexedSeq(G__22089__a,0,null);\n} \nreturn G__22088__delegate.call(this,args);};\nG__22088.cljs$lang$maxFixedArity \x3d 0;\nG__22088.cljs$lang$applyTo \x3d (function (arglist__22090){\nvar args \x3d cljs.core.seq(arglist__22090);\nreturn G__22088__delegate(args);\n});\nG__22088.cljs$core$IFn$_invoke$arity$variadic \x3d G__22088__delegate;\nreturn G__22088;\n})()\n);\n\nreturn o;\n})();\n}\nreagent.debug.track_warnings \x3d (function reagent$debug$track_warnings(f){\n(reagent.debug.tracking \x3d true);\n\ncljs.core.reset_BANG_(reagent.debug.warnings,null);\n\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nvar warns \x3d cljs.core.deref(reagent.debug.warnings);\ncljs.core.reset_BANG_(reagent.debug.warnings,null);\n\n(reagent.debug.tracking \x3d false);\n\nreturn warns;\n});\n"); +SHADOW_ENV.evalLoad("reagent.impl.util.js", true , "goog.provide(\x27reagent.impl.util\x27);\ngoog.scope(function(){\n reagent.impl.util.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nreagent.impl.util.is_client \x3d (((typeof window !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((window.document \x3d\x3d null)))));\nreagent.impl.util._STAR_non_reactive_STAR_ \x3d false;\nreagent.impl.util.memoize_1 \x3d (function reagent$impl$util$memoize_1(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function (arg){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mem),arg);\nif((!((v \x3d\x3d null)))){\nreturn v;\n} else {\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg) : f.call(null,arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,arg,ret);\n\nreturn ret;\n}\n});\n});\nreagent.impl.util.dont_camel_case \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22aria\x22,null,\x22data\x22,null], null), null);\nreagent.impl.util.capitalize \x3d (function reagent$impl$util$capitalize(s){\nif((cljs.core.count(s) \x3c (2))){\nreturn clojure.string.upper_case(s);\n} else {\nreturn [clojure.string.upper_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27);\n}\n});\nreagent.impl.util.dash_to_prop_name \x3d (function reagent$impl$util$dash_to_prop_name(dashed){\nif(typeof dashed \x3d\x3d\x3d \x27string\x27){\nreturn dashed;\n} else {\nvar name_str \x3d cljs.core.name(dashed);\nvar vec__22108 \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(name_str,/-/);\nvar seq__22109 \x3d cljs.core.seq(vec__22108);\nvar first__22110 \x3d cljs.core.first(seq__22109);\nvar seq__22109__$1 \x3d cljs.core.next(seq__22109);\nvar start \x3d first__22110;\nvar parts \x3d seq__22109__$1;\nif(cljs.core.truth_((reagent.impl.util.dont_camel_case.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.util.dont_camel_case.cljs$core$IFn$_invoke$arity$1(start) : reagent.impl.util.dont_camel_case.call(null,start)))){\nreturn name_str;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,start,cljs.core.map.cljs$core$IFn$_invoke$arity$2(reagent.impl.util.capitalize,parts));\n}\n}\n});\nreagent.impl.util.dash_to_method_name \x3d (function reagent$impl$util$dash_to_method_name(dashed){\nif(typeof dashed \x3d\x3d\x3d \x27string\x27){\nreturn dashed;\n} else {\nvar name_str \x3d cljs.core.name(dashed);\nvar name_str__$1 \x3d clojure.string.replace(name_str,/(unsafe|UNSAFE)[-_]/,\x22UNSAFE_\x22);\nvar vec__22122 \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(name_str__$1,/-/);\nvar seq__22123 \x3d cljs.core.seq(vec__22122);\nvar first__22124 \x3d cljs.core.first(seq__22123);\nvar seq__22123__$1 \x3d cljs.core.next(seq__22123);\nvar start \x3d first__22124;\nvar parts \x3d seq__22123__$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,start,cljs.core.map.cljs$core$IFn$_invoke$arity$2(reagent.impl.util.capitalize,parts));\n}\n});\nreagent.impl.util.fun_name \x3d (function reagent$impl$util$fun_name(f){\nvar n \x3d (function (){var or__5045__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d f.displayName;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar n \x3d f.name;\nif(((typeof n \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.seq(n)))){\nreturn n;\n} else {\nreturn null;\n}\n}\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var and__5043__auto__ \x3d (((!((f \x3d\x3d null))))?(((((f.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$INamed$))))?true:false):false);\nif(and__5043__auto__){\nreturn cljs.core.name(f);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar m \x3d cljs.core.meta(f);\nif(cljs.core.map_QMARK_(m)){\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(n)){\nreturn clojure.string.replace(cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22$\x22,\x22.\x22);\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.Fn}\n*/\nreagent.impl.util.PartialFn \x3d (function (pfn,f,args){\nthis.pfn \x3d pfn;\nthis.f \x3d f;\nthis.args \x3d args;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291457;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(reagent.impl.util.PartialFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.impl.util.PartialFn.prototype.call \x3d (function (unused__10298__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__22143 \x3d (arguments.length - (1));\nswitch (G__22143) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(reagent.impl.util.PartialFn.prototype.apply \x3d (function (self__,args22141){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args22141)));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$0 ? self__.pfn.cljs$core$IFn$_invoke$arity$0() : self__.pfn.call(null));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$1 ? self__.pfn.cljs$core$IFn$_invoke$arity$1(a) : self__.pfn.call(null,a));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$2 ? self__.pfn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.pfn.call(null,a,b));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$3 ? self__.pfn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.pfn.call(null,a,b,c));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$4 ? self__.pfn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.pfn.call(null,a,b,c,d));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$5 ? self__.pfn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.pfn.call(null,a,b,c,d,e));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f__$1){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$6 ? self__.pfn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f__$1) : self__.pfn.call(null,a,b,c,d,e,f__$1));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f__$1,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$7 ? self__.pfn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f__$1,g) : self__.pfn.call(null,a,b,c,d,e,f__$1,g));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f__$1,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$8 ? self__.pfn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f__$1,g,h) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f__$1,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$9 ? self__.pfn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f__$1,g,h,i) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$10 ? self__.pfn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f__$1,g,h,i,j) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$11 ? self__.pfn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f__$1,g,h,i,j,k) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$12 ? self__.pfn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f__$1,g,h,i,j,k,l) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$13 ? self__.pfn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f__$1,g,h,i,j,k,l,m) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$14 ? self__.pfn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$15 ? self__.pfn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$16 ? self__.pfn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$17 ? self__.pfn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$18 ? self__.pfn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$19 ? self__.pfn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.pfn.cljs$core$IFn$_invoke$arity$20 ? self__.pfn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.pfn.call(null,a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.pfn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f__$1,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (((other instanceof reagent.impl.util.PartialFn)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.f,other.f)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.args,other.args)))));\n}));\n\n(reagent.impl.util.PartialFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.f,self__.args], null));\n}));\n\n(reagent.impl.util.PartialFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22pfn\x22,\x22pfn\x22,-513383568,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null);\n}));\n\n(reagent.impl.util.PartialFn.cljs$lang$type \x3d true);\n\n(reagent.impl.util.PartialFn.cljs$lang$ctorStr \x3d \x22reagent.impl.util/PartialFn\x22);\n\n(reagent.impl.util.PartialFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.impl.util/PartialFn\x22);\n}));\n\n/**\n * Positional factory function for reagent.impl.util/PartialFn.\n */\nreagent.impl.util.__GT_PartialFn \x3d (function reagent$impl$util$__GT_PartialFn(pfn,f,args){\nreturn (new reagent.impl.util.PartialFn(pfn,f,args));\n});\n\nreagent.impl.util.make_partial_fn \x3d (function reagent$impl$util$make_partial_fn(f,args){\nreturn reagent.impl.util.__GT_PartialFn(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.partial,f,args),f,args);\n});\nreagent.impl.util.named_QMARK_ \x3d (function reagent$impl$util$named_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\nreagent.impl.util.class_names \x3d (function reagent$impl$util$class_names(var_args){\nvar G__22292 \x3d arguments.length;\nswitch (G__22292) {\ncase 0:\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___22509 \x3d arguments.length;\nvar i__5770__auto___22510 \x3d (0);\nwhile(true){\nif((i__5770__auto___22510 \x3c len__5769__auto___22509)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___22510]));\n\nvar G__22511 \x3d (i__5770__auto___22510 + (1));\ni__5770__auto___22510 \x3d G__22511;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn null;\n}));\n\n(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1 \x3d (function (class$){\nif(cljs.core.coll_QMARK_(class$)){\nvar classes \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (c){\nif(cljs.core.truth_(c)){\nif(reagent.impl.util.named_QMARK_(c)){\nreturn cljs.core.name(c);\n} else {\nreturn c;\n}\n} else {\nreturn null;\n}\n}),class$);\nif(cljs.core.seq(classes)){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22 \x22,classes);\n} else {\nreturn null;\n}\n} else {\nif(reagent.impl.util.named_QMARK_(class$)){\nreturn cljs.core.name(class$);\n} else {\nreturn class$;\n}\n}\n}));\n\n(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nif(cljs.core.truth_(a)){\nif(cljs.core.truth_(b)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(a)),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(b))].join(\x27\x27);\n} else {\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(a);\n}\n} else {\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(b);\n}\n}));\n\n(reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,rst){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(reagent.impl.util.class_names,reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2(a,b),rst);\n}));\n\n/** @this {Function} */\n(reagent.impl.util.class_names.cljs$lang$applyTo \x3d (function (seq22288){\nvar G__22289 \x3d cljs.core.first(seq22288);\nvar seq22288__$1 \x3d cljs.core.next(seq22288);\nvar G__22290 \x3d cljs.core.first(seq22288__$1);\nvar seq22288__$2 \x3d cljs.core.next(seq22288__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22289,G__22290,seq22288__$2);\n}));\n\n(reagent.impl.util.class_names.cljs$lang$maxFixedArity \x3d (2));\n\nreagent.impl.util.merge_class \x3d (function reagent$impl$util$merge_class(p1,p2){\nif(((cljs.core.contains_QMARK_(p1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996))) || (cljs.core.contains_QMARK_(p2,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996))))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p2,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(p1),new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(p2)));\n} else {\nreturn p2;\n}\n});\nreagent.impl.util.merge_style \x3d (function reagent$impl$util$merge_style(p1,p2){\nvar style \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736).cljs$core$IFn$_invoke$arity$1(p1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar s1 \x3d temp__5804__auto__;\nvar temp__5804__auto____$1 \x3d new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736).cljs$core$IFn$_invoke$arity$1(p2);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar s2 \x3d temp__5804__auto____$1;\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1,s2], 0));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif((style \x3d\x3d null)){\nreturn p2;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p2,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),style);\n}\n});\nreagent.impl.util.merge_props \x3d (function reagent$impl$util$merge_props(var_args){\nvar G__22388 \x3d arguments.length;\nswitch (G__22388) {\ncase 0:\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___22513 \x3d arguments.length;\nvar i__5770__auto___22514 \x3d (0);\nwhile(true){\nif((i__5770__auto___22514 \x3c len__5769__auto___22513)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___22514]));\n\nvar G__22515 \x3d (i__5770__auto___22514 + (1));\ni__5770__auto___22514 \x3d G__22515;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn null;\n}));\n\n(reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(p);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar c \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(c));\n} else {\nreturn p;\n}\n}));\n\n(reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nif((p1 \x3d\x3d null)){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(p2);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar c \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p2,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(c));\n} else {\nreturn p2;\n}\n} else {\nif(cljs.core.map_QMARK_(p1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Property must be a map, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1], 0))].join(\x27\x27),\x22\\n\x22,\x22(map? p1)\x22].join(\x27\x27)));\n}\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,reagent.impl.util.merge_style(p1,reagent.impl.util.merge_class(p1,p2))], 0));\n}\n}));\n\n(reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,ps){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(reagent.impl.util.merge_props,reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$2(p1,p2),ps);\n}));\n\n/** @this {Function} */\n(reagent.impl.util.merge_props.cljs$lang$applyTo \x3d (function (seq22385){\nvar G__22386 \x3d cljs.core.first(seq22385);\nvar seq22385__$1 \x3d cljs.core.next(seq22385);\nvar G__22387 \x3d cljs.core.first(seq22385__$1);\nvar seq22385__$2 \x3d cljs.core.next(seq22385__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22386,G__22387,seq22385__$2);\n}));\n\n(reagent.impl.util.merge_props.cljs$lang$maxFixedArity \x3d (2));\n\nreagent.impl.util._STAR_always_update_STAR_ \x3d false;\nreagent.impl.util.force_update \x3d (function reagent$impl$util$force_update(comp,deep){\nif(cljs.core.truth_(deep)){\nvar _STAR_always_update_STAR__orig_val__22448 \x3d reagent.impl.util._STAR_always_update_STAR_;\nvar _STAR_always_update_STAR__temp_val__22449 \x3d true;\n(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__temp_val__22449);\n\ntry{return comp.forceUpdate();\n}finally {(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__orig_val__22448);\n}} else {\nreturn comp.forceUpdate();\n}\n});\nreagent.impl.util.shallow_obj_to_map \x3d (function reagent$impl$util$shallow_obj_to_map(o){\nvar ks \x3d cljs.core.js_keys(o);\nvar len \x3d ks.length;\nvar m \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar k \x3d (ks[i]);\nvar G__22516 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),reagent.impl.util.goog$module$goog$object.get(o,k));\nvar G__22517 \x3d (i + (1));\nm \x3d G__22516;\ni \x3d G__22517;\ncontinue;\n} else {\nreturn m;\n}\nbreak;\n}\n});\nreagent.impl.util.js_val_QMARK_ \x3d (function reagent$impl$util$js_val_QMARK_(x){\nreturn (!((\x22object\x22 \x3d\x3d\x3d goog.typeOf(x))));\n});\nreagent.impl.util.try_get_react_key \x3d (function reagent$impl$util$try_get_react_key(x){\ntry{return cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\n}catch (e22485){var e \x3d e22485;\nreturn null;\n}});\nreagent.impl.util.get_react_key \x3d (function reagent$impl$util$get_react_key(x){\nif(cljs.core.map_QMARK_(x)){\nreturn reagent.impl.util.try_get_react_key(x);\n} else {\nreturn null;\n}\n});\nreagent.impl.util.react_key_from_vec \x3d (function reagent$impl$util$react_key_from_vec(v){\nvar or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d reagent.impl.util.get_react_key(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar G__22487 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(0),null);\nvar G__22487__$1 \x3d (((G__22487 instanceof cljs.core.Keyword))?G__22487.fqn:null);\nswitch (G__22487__$1) {\ncase \x22\x3e\x22:\ncase \x22f\x3e\x22:\nreturn reagent.impl.util.get_react_key(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(2),null));\n\nbreak;\ncase \x22r\x3e\x22:\nvar G__22488 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(2),null);\nif((G__22488 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__22488.key;\n}\n\nbreak;\ndefault:\nreturn null;\n\n}\n}\n}\n});\nreagent.impl.util.str_coll \x3d (function reagent$impl$util$str_coll(coll){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.walk.prewalk((function (x){\nif(cljs.core.fn_QMARK_(x)){\nvar n \x3d reagent.impl.util.fun_name(x);\nvar G__22494 \x3d n;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,G__22494)){\nreturn x;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22494)){\nreturn x;\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(n);\n\n}\n}\n} else {\nreturn x;\n}\n}),coll));\n\n});\nreagent.impl.util.hiccup_err \x3d (function reagent$impl$util$hiccup_err(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22519 \x3d arguments.length;\nvar i__5770__auto___22520 \x3d (0);\nwhile(true){\nif((i__5770__auto___22520 \x3c len__5769__auto___22519)){\nargs__5775__auto__.push((arguments[i__5770__auto___22520]));\n\nvar G__22521 \x3d (i__5770__auto___22520 + (1));\ni__5770__auto___22520 \x3d G__22521;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,comp_name,msg){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msg)),\x22: \x22,reagent.impl.util.str_coll(v),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(comp_name)].join(\x27\x27);\n}));\n\n(reagent.impl.util.hiccup_err.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(reagent.impl.util.hiccup_err.cljs$lang$applyTo \x3d (function (seq22496){\nvar G__22497 \x3d cljs.core.first(seq22496);\nvar seq22496__$1 \x3d cljs.core.next(seq22496);\nvar G__22498 \x3d cljs.core.first(seq22496__$1);\nvar seq22496__$2 \x3d cljs.core.next(seq22496__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22497,G__22498,seq22496__$2);\n}));\n\n"); +SHADOW_ENV.evalLoad("reagent.impl.batching.js", true , "goog.provide(\x27reagent.impl.batching\x27);\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching.mount_count !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.impl.batching.mount_count \x3d (0);\n}\nreagent.impl.batching.next_mount_count \x3d (function reagent$impl$batching$next_mount_count(){\nreturn (reagent.impl.batching.mount_count \x3d (reagent.impl.batching.mount_count + (1)));\n});\nreagent.impl.batching.fake_raf \x3d (function reagent$impl$batching$fake_raf(f){\nreturn setTimeout(f,(16));\n});\nreagent.impl.batching.next_tick \x3d (((!(reagent.impl.util.is_client)))?reagent.impl.batching.fake_raf:(function (){var w \x3d window;\nreturn (function (){var or__5045__auto__ \x3d w.requestAnimationFrame;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d w.webkitRequestAnimationFrame;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d w.mozRequestAnimationFrame;\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d w.msRequestAnimationFrame;\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nreturn reagent.impl.batching.fake_raf;\n}\n}\n}\n}\n})().bind(w);\n})());\nreagent.impl.batching.compare_mount_order \x3d (function reagent$impl$batching$compare_mount_order(c1,c2){\nreturn (c1.cljsMountOrder - c2.cljsMountOrder);\n});\nreagent.impl.batching.run_queue \x3d (function reagent$impl$batching$run_queue(a){\na.sort(reagent.impl.batching.compare_mount_order);\n\nvar n__5636__auto__ \x3d a.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c n__5636__auto__)){\nvar c_22553 \x3d (a[i]);\nif(c_22553.cljsIsDirty \x3d\x3d\x3d true){\nc_22553.forceUpdate();\n} else {\n}\n\nvar G__22554 \x3d (i + (1));\ni \x3d G__22554;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching.ratom_flush !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.impl.batching.ratom_flush \x3d (function reagent$impl$batching$ratom_flush(){\nreturn null;\n});\n}\nreagent.impl.batching.run_funs \x3d (function reagent$impl$batching$run_funs(fs){\nvar n__5636__auto__ \x3d fs.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c n__5636__auto__)){\nvar fexpr__22530_22555 \x3d (fs[i]);\n(fexpr__22530_22555.cljs$core$IFn$_invoke$arity$0 ? fexpr__22530_22555.cljs$core$IFn$_invoke$arity$0() : fexpr__22530_22555.call(null));\n\nvar G__22556 \x3d (i + (1));\ni \x3d G__22556;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nreagent.impl.batching.enqueue \x3d (function reagent$impl$batching$enqueue(queue,fs,f){\nif(cljs.core.truth_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Enqueued function\x22,\x22 must not be nil\x22].join(\x27\x27),\x22\\n\x22,\x22f\x22].join(\x27\x27)));\n}\n\nfs.push(f);\n\nreturn queue.schedule();\n});\n\n/**\n* @constructor\n*/\nreagent.impl.batching.RenderQueue \x3d (function (scheduled_QMARK_){\nthis.scheduled_QMARK_ \x3d scheduled_QMARK_;\n});\n(reagent.impl.batching.RenderQueue.prototype.flush_after_render \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar temp__5808__auto__ \x3d this$.afterRender;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar fs \x3d temp__5808__auto__;\n(this$.afterRender \x3d null);\n\nreturn reagent.impl.batching.run_funs(fs);\n}\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.queue_render \x3d (function (c){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((this$.componentQueue \x3d\x3d null)){\n(this$.componentQueue \x3d []);\n} else {\n}\n\nreturn reagent.impl.batching.enqueue(this$,this$.componentQueue,c);\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.schedule \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(self__.scheduled_QMARK_){\nreturn null;\n} else {\n(self__.scheduled_QMARK_ \x3d true);\n\nvar G__22540 \x3d (function (){\nreturn this$.run_queues();\n});\nreturn (reagent.impl.batching.next_tick.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.batching.next_tick.cljs$core$IFn$_invoke$arity$1(G__22540) : reagent.impl.batching.next_tick.call(null,G__22540));\n}\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.flush_before_flush \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar temp__5808__auto__ \x3d this$.beforeFlush;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar fs \x3d temp__5808__auto__;\n(this$.beforeFlush \x3d null);\n\nreturn reagent.impl.batching.run_funs(fs);\n}\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.flush_queues \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthis$.flush_before_flush();\n\nreagent.impl.batching.ratom_flush();\n\nthis$.flush_render();\n\nreturn this$.flush_after_render();\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.run_queues \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\n(self__.scheduled_QMARK_ \x3d false);\n\nreturn this$.flush_queues();\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.add_before_flush \x3d (function (f){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((this$.beforeFlush \x3d\x3d null)){\n(this$.beforeFlush \x3d []);\n} else {\n}\n\nreturn reagent.impl.batching.enqueue(this$,this$.beforeFlush,f);\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.add_after_render \x3d (function (f){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((this$.afterRender \x3d\x3d null)){\n(this$.afterRender \x3d []);\n} else {\n}\n\nreturn reagent.impl.batching.enqueue(this$,this$.afterRender,f);\n}));\n\n(reagent.impl.batching.RenderQueue.prototype.flush_render \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar temp__5808__auto__ \x3d this$.componentQueue;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar fs \x3d temp__5808__auto__;\n(this$.componentQueue \x3d null);\n\nreturn reagent.impl.batching.run_queue(fs);\n}\n}));\n\n(reagent.impl.batching.RenderQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22scheduled?\x22,\x22scheduled?\x22,579986609,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.impl.batching.RenderQueue.cljs$lang$type \x3d true);\n\n(reagent.impl.batching.RenderQueue.cljs$lang$ctorStr \x3d \x22reagent.impl.batching/RenderQueue\x22);\n\n(reagent.impl.batching.RenderQueue.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.impl.batching/RenderQueue\x22);\n}));\n\n/**\n * Positional factory function for reagent.impl.batching/RenderQueue.\n */\nreagent.impl.batching.__GT_RenderQueue \x3d (function reagent$impl$batching$__GT_RenderQueue(scheduled_QMARK_){\nreturn (new reagent.impl.batching.RenderQueue(scheduled_QMARK_));\n});\n\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.batching.render_queue !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.impl.batching.render_queue \x3d reagent.impl.batching.__GT_RenderQueue(false);\n}\nreagent.impl.batching.flush \x3d (function reagent$impl$batching$flush(){\nreturn reagent.impl.batching.render_queue.flush_queues();\n});\nreagent.impl.batching.flush_after_render \x3d (function reagent$impl$batching$flush_after_render(){\nreturn reagent.impl.batching.render_queue.flush_after_render();\n});\nreagent.impl.batching.queue_render \x3d (function reagent$impl$batching$queue_render(c){\nif(cljs.core.truth_(c.cljsIsDirty)){\nreturn null;\n} else {\n(c.cljsIsDirty \x3d true);\n\nreturn reagent.impl.batching.render_queue.queue_render(c);\n}\n});\nreagent.impl.batching.mark_rendered \x3d (function reagent$impl$batching$mark_rendered(c){\nreturn (c.cljsIsDirty \x3d false);\n});\nreagent.impl.batching.do_before_flush \x3d (function reagent$impl$batching$do_before_flush(f){\nreturn reagent.impl.batching.render_queue.add_before_flush(f);\n});\nreagent.impl.batching.do_after_render \x3d (function reagent$impl$batching$do_after_render(f){\nreturn reagent.impl.batching.render_queue.add_after_render(f);\n});\nreagent.impl.batching.schedule \x3d (function reagent$impl$batching$schedule(){\nif(reagent.impl.batching.render_queue.scheduled_QMARK_ \x3d\x3d\x3d false){\nreturn reagent.impl.batching.render_queue.schedule();\n} else {\nreturn null;\n}\n});\n"); +SHADOW_ENV.evalLoad("reagent.impl.protocols.js", true , "goog.provide(\x27reagent.impl.protocols\x27);\n\n/**\n * @interface\n */\nreagent.impl.protocols.Compiler \x3d function(){};\n\nvar reagent$impl$protocols$Compiler$get_id$dyn_22526 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.impl.protocols.get_id[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (reagent.impl.protocols.get_id[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Compiler.get-id\x22,this$);\n}\n}\n});\nreagent.impl.protocols.get_id \x3d (function reagent$impl$protocols$get_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$impl$protocols$Compiler$get_id$arity$1 \x3d\x3d null)))))){\nreturn this$.reagent$impl$protocols$Compiler$get_id$arity$1(this$);\n} else {\nreturn reagent$impl$protocols$Compiler$get_id$dyn_22526(this$);\n}\n});\n\nvar reagent$impl$protocols$Compiler$parse_tag$dyn_22527 \x3d (function (this$,tag_name,tag_value){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.impl.protocols.parse_tag[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,tag_name,tag_value) : m__5394__auto__.call(null,this$,tag_name,tag_value));\n} else {\nvar m__5392__auto__ \x3d (reagent.impl.protocols.parse_tag[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,tag_name,tag_value) : m__5392__auto__.call(null,this$,tag_name,tag_value));\n} else {\nthrow cljs.core.missing_protocol(\x22Compiler.parse-tag\x22,this$);\n}\n}\n});\nreagent.impl.protocols.parse_tag \x3d (function reagent$impl$protocols$parse_tag(this$,tag_name,tag_value){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$impl$protocols$Compiler$parse_tag$arity$3 \x3d\x3d null)))))){\nreturn this$.reagent$impl$protocols$Compiler$parse_tag$arity$3(this$,tag_name,tag_value);\n} else {\nreturn reagent$impl$protocols$Compiler$parse_tag$dyn_22527(this$,tag_name,tag_value);\n}\n});\n\nvar reagent$impl$protocols$Compiler$as_element$dyn_22528 \x3d (function (this$,x){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.impl.protocols.as_element[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,x) : m__5394__auto__.call(null,this$,x));\n} else {\nvar m__5392__auto__ \x3d (reagent.impl.protocols.as_element[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,x) : m__5392__auto__.call(null,this$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Compiler.as-element\x22,this$);\n}\n}\n});\nreagent.impl.protocols.as_element \x3d (function reagent$impl$protocols$as_element(this$,x){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$impl$protocols$Compiler$as_element$arity$2 \x3d\x3d null)))))){\nreturn this$.reagent$impl$protocols$Compiler$as_element$arity$2(this$,x);\n} else {\nreturn reagent$impl$protocols$Compiler$as_element$dyn_22528(this$,x);\n}\n});\n\nvar reagent$impl$protocols$Compiler$make_element$dyn_22529 \x3d (function (this$,argv,component,jsprops,first_child){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.impl.protocols.make_element[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(this$,argv,component,jsprops,first_child) : m__5394__auto__.call(null,this$,argv,component,jsprops,first_child));\n} else {\nvar m__5392__auto__ \x3d (reagent.impl.protocols.make_element[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(this$,argv,component,jsprops,first_child) : m__5392__auto__.call(null,this$,argv,component,jsprops,first_child));\n} else {\nthrow cljs.core.missing_protocol(\x22Compiler.make-element\x22,this$);\n}\n}\n});\nreagent.impl.protocols.make_element \x3d (function reagent$impl$protocols$make_element(this$,argv,component,jsprops,first_child){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$impl$protocols$Compiler$make_element$arity$5 \x3d\x3d null)))))){\nreturn this$.reagent$impl$protocols$Compiler$make_element$arity$5(this$,argv,component,jsprops,first_child);\n} else {\nreturn reagent$impl$protocols$Compiler$make_element$dyn_22529(this$,argv,component,jsprops,first_child);\n}\n});\n\n"); +SHADOW_ENV.evalLoad("reagent.ratom.js", true , "goog.provide(\x27reagent.ratom\x27);\ngoog.scope(function(){\n reagent.ratom.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom.debug !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.ratom.debug \x3d false;\n}\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom.generation !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.ratom.generation \x3d (0);\n}\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom._running !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.ratom._running \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\n}\nreagent.ratom.reactive_QMARK_ \x3d (function reagent$ratom$reactive_QMARK_(){\nreturn (!((reagent.ratom._STAR_ratom_context_STAR_ \x3d\x3d null)));\n});\nreagent.ratom.running \x3d (function reagent$ratom$running(){\nreturn (cljs.core.deref(reagent.ratom._running));\n});\nreagent.ratom.arr_len \x3d (function reagent$ratom$arr_len(x){\nif((x \x3d\x3d null)){\nreturn (0);\n} else {\nreturn x.length;\n}\n});\nreagent.ratom.arr_eq \x3d (function reagent$ratom$arr_eq(x,y){\nvar len \x3d reagent.ratom.arr_len(x);\nvar and__5043__auto__ \x3d (len \x3d\x3d\x3d reagent.ratom.arr_len(y));\nif(and__5043__auto__){\nvar i \x3d (0);\nwhile(true){\nvar or__5045__auto__ \x3d (i \x3d\x3d\x3d len);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif(((x[i]) \x3d\x3d\x3d (y[i]))){\nvar G__23056 \x3d (i + (1));\ni \x3d G__23056;\ncontinue;\n} else {\nreturn false;\n}\n}\nbreak;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * When f is executed, if (f) derefs any ratoms, they are then added to \x27obj.captured\x27(*ratom-context*).\n * \n * See function notify-deref-watcher! to know how *ratom-context* is updated\n */\nreagent.ratom.in_context \x3d (function reagent$ratom$in_context(obj,f){\nvar _STAR_ratom_context_STAR__orig_val__22627 \x3d reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__22628 \x3d obj;\n(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__temp_val__22628);\n\ntry{return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__orig_val__22627);\n}});\n/**\n * Returns `(in-context r f)`. Calls `_update-watching` on r with any\n * `deref`ed atoms captured during `in-context`, if any differ from the\n * `watching` field of r. Clears the `dirty?` flag on r.\n * \n * Inside \x27_update-watching\x27 along with adding the ratoms in \x27r.watching\x27 of reaction,\n * the reaction is also added to the list of watches on each ratoms f derefs.\n */\nreagent.ratom.deref_capture \x3d (function reagent$ratom$deref_capture(f,r){\n(r.captured \x3d null);\n\n(r.ratomGeneration \x3d (reagent.ratom.generation \x3d (reagent.ratom.generation + (1))));\n\n\nvar res \x3d reagent.ratom.in_context(r,f);\nvar c \x3d r.captured;\n(r.dirty_QMARK_ \x3d false);\n\nif(reagent.ratom.arr_eq(c,r.watching)){\n} else {\nr._update_watching(c);\n}\n\nreturn res;\n});\n/**\n * Add `derefed` to the `captured` field of `*ratom-context*`.\n * \n * See also `in-context`\n */\nreagent.ratom.notify_deref_watcher_BANG_ \x3d (function reagent$ratom$notify_deref_watcher_BANG_(derefed){\nvar temp__5808__auto__ \x3d reagent.ratom._STAR_ratom_context_STAR_;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar r \x3d temp__5808__auto__;\nvar c \x3d r.captured;\nif((c \x3d\x3d null)){\nreturn (r.captured \x3d [derefed]);\n} else {\nreturn c.push(derefed);\n}\n}\n});\nreagent.ratom.check_watches \x3d (function reagent$ratom$check_watches(old,new$){\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(reagent.ratom._running,cljs.core._PLUS_,(cljs.core.count(new$) - cljs.core.count(old)));\n} else {\n}\n\nreturn new$;\n});\nreagent.ratom.add_w \x3d (function reagent$ratom$add_w(this$,key,f){\nvar w \x3d this$.watches;\n(this$.watches \x3d reagent.ratom.check_watches(w,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(w,key,f)));\n\nreturn (this$.watchesArr \x3d null);\n});\nreagent.ratom.remove_w \x3d (function reagent$ratom$remove_w(this$,key){\nvar w \x3d this$.watches;\n(this$.watches \x3d reagent.ratom.check_watches(w,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(w,key)));\n\nreturn (this$.watchesArr \x3d null);\n});\nreagent.ratom.notify_w \x3d (function reagent$ratom$notify_w(this$,old,new$){\nvar w \x3d this$.watchesArr;\nvar a \x3d (((w \x3d\x3d null))?(this$.watchesArr \x3d cljs.core.reduce_kv((function (p1__22634_SHARP_,p2__22636_SHARP_,p3__22637_SHARP_){\nvar G__22641 \x3d p1__22634_SHARP_;\nG__22641.push(p2__22636_SHARP_);\n\nG__22641.push(p3__22637_SHARP_);\n\nreturn G__22641;\n}),[],this$.watches)):w);\nvar len \x3d a.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar k_23063 \x3d (a[i]);\nvar f_23064 \x3d (a[(i + (1))]);\n(f_23064.cljs$core$IFn$_invoke$arity$4 ? f_23064.cljs$core$IFn$_invoke$arity$4(k_23063,this$,old,new$) : f_23064.call(null,k_23063,this$,old,new$));\n\nvar G__23066 \x3d ((2) + i);\ni \x3d G__23066;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nreagent.ratom.pr_atom \x3d (function reagent$ratom$pr_atom(a,writer,opts,s,v){\ncljs.core._write(writer,[\x22#object[reagent.ratom.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),\x22 \x22].join(\x27\x27));\n\ncljs.core.pr_writer((function (){var _STAR_ratom_context_STAR__orig_val__22642 \x3d reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__22643 \x3d null;\n(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__temp_val__22643);\n\ntry{return v;\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__orig_val__22642);\n}})(),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n});\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.ratom.rea_queue !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.ratom.rea_queue \x3d null;\n}\nreagent.ratom.rea_enqueue \x3d (function reagent$ratom$rea_enqueue(r){\nif((reagent.ratom.rea_queue \x3d\x3d null)){\n(reagent.ratom.rea_queue \x3d []);\n\nreagent.impl.batching.schedule();\n} else {\n}\n\nreturn reagent.ratom.rea_queue.push(r);\n});\n\n/**\n * @interface\n */\nreagent.ratom.IReactiveAtom \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\nreagent.ratom.RAtom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154201088;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 114690;\n});\n(reagent.ratom.RAtom.prototype.reagent$ratom$IReactiveAtom$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.RAtom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,w,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\x22RAtom\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null)], null));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IReset$_reset_BANG_$arity$2 \x3d (function (a,new_value){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nif((self__.validator \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((self__.validator.cljs$core$IFn$_invoke$arity$1 ? self__.validator.cljs$core$IFn$_invoke$arity$1(new_value) : self__.validator.call(null,new_value)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Validator rejected reference state\x22,\x22\\n\x22,\x22(validator new-value)\x22].join(\x27\x27)));\n}\n}\n\nvar old_value \x3d self__.state;\n(self__.state \x3d new_value);\n\nif((self__.watches \x3d\x3d null)){\n} else {\nreagent.ratom.notify_w(a__$1,old_value,new_value);\n}\n\nreturn new_value;\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d (function (a,f){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(self__.state) : f.call(null,self__.state)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d (function (a,f,x){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.state,x) : f.call(null,self__.state,x)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d (function (a,f,x,y){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(self__.state,x,y) : f.call(null,self__.state,x,y)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d (function (a,f,x,y,more){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,self__.state,x,y,more));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,old,new$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.add_w(this$__$1,key,f);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.remove_w(this$__$1,key);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new reagent.ratom.RAtom(self__.state,new_meta,self__.validator,self__.watches));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreagent.ratom.notify_deref_watcher_BANG_(this$__$1);\n\nreturn self__.state;\n}));\n\n(reagent.ratom.RAtom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.ratom.RAtom.cljs$lang$type \x3d true);\n\n(reagent.ratom.RAtom.cljs$lang$ctorStr \x3d \x22reagent.ratom/RAtom\x22);\n\n(reagent.ratom.RAtom.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.ratom/RAtom\x22);\n}));\n\n/**\n * Positional factory function for reagent.ratom/RAtom.\n */\nreagent.ratom.__GT_RAtom \x3d (function reagent$ratom$__GT_RAtom(state,meta,validator,watches){\nreturn (new reagent.ratom.RAtom(state,meta,validator,watches));\n});\n\n/**\n * Like clojure.core/atom, except that it keeps track of derefs.\n */\nreagent.ratom.atom \x3d (function reagent$ratom$atom(var_args){\nvar G__22705 \x3d arguments.length;\nswitch (G__22705) {\ncase 1:\nreturn reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___23076 \x3d arguments.length;\nvar i__5770__auto___23077 \x3d (0);\nwhile(true){\nif((i__5770__auto___23077 \x3c len__5769__auto___23076)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___23077]));\n\nvar G__23079 \x3d (i__5770__auto___23077 + (1));\ni__5770__auto___23077 \x3d G__23079;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn reagent.ratom.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn reagent.ratom.__GT_RAtom(x,null,null,null);\n}));\n\n(reagent.ratom.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__22719){\nvar map__22720 \x3d p__22719;\nvar map__22720__$1 \x3d cljs.core.__destructure_map(map__22720);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22720__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22720__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn reagent.ratom.__GT_RAtom(x,meta,validator,null);\n}));\n\n/** @this {Function} */\n(reagent.ratom.atom.cljs$lang$applyTo \x3d (function (seq22684){\nvar G__22685 \x3d cljs.core.first(seq22684);\nvar seq22684__$1 \x3d cljs.core.next(seq22684);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22685,seq22684__$1);\n}));\n\n(reagent.ratom.atom.cljs$lang$maxFixedArity \x3d (1));\n\nreagent.ratom.cached_reaction \x3d (function reagent$ratom$cached_reaction(f,o,k,obj,destroy){\nvar m \x3d o.reagReactionCache;\nvar m__$1 \x3d (((m \x3d\x3d null))?cljs.core.PersistentArrayMap.EMPTY:m);\nvar r \x3d (m__$1.cljs$core$IFn$_invoke$arity$2 ? m__$1.cljs$core$IFn$_invoke$arity$2(k,null) : m__$1.call(null,k,null));\nif((!((r \x3d\x3d null)))){\nreturn cljs.core._deref(r);\n} else {\nif((reagent.ratom._STAR_ratom_context_STAR_ \x3d\x3d null)){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar r__$1 \x3d (function (){var G__22722 \x3d f;\nvar G__22723 \x3d new cljs.core.Keyword(null,\x22on-dispose\x22,\x22on-dispose\x22,2105306360);\nvar G__22724 \x3d (function (x){\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(reagent.ratom._running,cljs.core.dec);\n} else {\n}\n\nvar __23092 \x3d o.reagReactionCache;\nvar __23093__$1 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(__23092,k);\n(o.reagReactionCache \x3d __23093__$1);\n\nif((!((obj \x3d\x3d null)))){\n(obj.reaction \x3d null);\n} else {\n}\n\nif((!((destroy \x3d\x3d null)))){\nreturn (destroy.cljs$core$IFn$_invoke$arity$1 ? destroy.cljs$core$IFn$_invoke$arity$1(x) : destroy.call(null,x));\n} else {\nreturn null;\n}\n});\nreturn (reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3 ? reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3(G__22722,G__22723,G__22724) : reagent.ratom.make_reaction.call(null,G__22722,G__22723,G__22724));\n})();\nvar v \x3d cljs.core._deref(r__$1);\n(o.reagReactionCache \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m__$1,k,r__$1));\n\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(reagent.ratom._running,cljs.core.inc);\n} else {\n}\n\nif((!((obj \x3d\x3d null)))){\n(obj.reaction \x3d r__$1);\n} else {\n}\n\nreturn v;\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.Track \x3d (function (f,args,reaction){\nthis.f \x3d f;\nthis.args \x3d args;\nthis.reaction \x3d reaction;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(reagent.ratom.Track.prototype.reagent$ratom$IReactiveAtom$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Track.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5806__auto__ \x3d self__.reaction;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn reagent.ratom.cached_reaction((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.f,self__.args);\n}),self__.f,self__.args,this$__$1,null);\n} else {\nvar r \x3d temp__5806__auto__;\nreturn cljs.core._deref(r);\n}\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (((other instanceof reagent.ratom.Track)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.f,other.f)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.args,other.args)))));\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.f,self__.args], null));\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,w,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\x22Track\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),self__.f], null));\n}));\n\n(reagent.ratom.Track.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22reaction\x22,\x22reaction\x22,2131401315,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.ratom.Track.cljs$lang$type \x3d true);\n\n(reagent.ratom.Track.cljs$lang$ctorStr \x3d \x22reagent.ratom/Track\x22);\n\n(reagent.ratom.Track.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.ratom/Track\x22);\n}));\n\n/**\n * Positional factory function for reagent.ratom/Track.\n */\nreagent.ratom.__GT_Track \x3d (function reagent$ratom$__GT_Track(f,args,reaction){\nreturn (new reagent.ratom.Track(f,args,reaction));\n});\n\nreagent.ratom.make_track \x3d (function reagent$ratom$make_track(f,args){\nreturn (new reagent.ratom.Track(f,args,null));\n});\nreagent.ratom.make_track_BANG_ \x3d (function reagent$ratom$make_track_BANG_(f,args){\nvar t \x3d reagent.ratom.make_track(f,args);\nvar r \x3d (function (){var G__22742 \x3d (function (){\nreturn t.cljs$core$IDeref$_deref$arity$1(null);\n});\nvar G__22743 \x3d new cljs.core.Keyword(null,\x22auto-run\x22,\x22auto-run\x22,1958400437);\nvar G__22744 \x3d true;\nreturn (reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3 ? reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3(G__22742,G__22743,G__22744) : reagent.ratom.make_reaction.call(null,G__22742,G__22743,G__22744));\n})();\ncljs.core.deref(r);\n\nreturn r;\n});\nreagent.ratom.track \x3d (function reagent$ratom$track(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23105 \x3d arguments.length;\nvar i__5770__auto___23106 \x3d (0);\nwhile(true){\nif((i__5770__auto___23106 \x3c len__5769__auto___23105)){\nargs__5775__auto__.push((arguments[i__5770__auto___23106]));\n\nvar G__23107 \x3d (i__5770__auto___23106 + (1));\ni__5770__auto___23106 \x3d G__23107;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.ratom.track.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.ratom.track.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\x22Assert failed: (ifn? f)\x22));\n}\n\nreturn reagent.ratom.make_track(f,args);\n}));\n\n(reagent.ratom.track.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.ratom.track.cljs$lang$applyTo \x3d (function (seq22745){\nvar G__22746 \x3d cljs.core.first(seq22745);\nvar seq22745__$1 \x3d cljs.core.next(seq22745);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22746,seq22745__$1);\n}));\n\nreagent.ratom.track_BANG_ \x3d (function reagent$ratom$track_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23109 \x3d arguments.length;\nvar i__5770__auto___23110 \x3d (0);\nwhile(true){\nif((i__5770__auto___23110 \x3c len__5769__auto___23109)){\nargs__5775__auto__.push((arguments[i__5770__auto___23110]));\n\nvar G__23123 \x3d (i__5770__auto___23110 + (1));\ni__5770__auto___23110 \x3d G__23123;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.ratom.track_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.ratom.track_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\x22Assert failed: (ifn? f)\x22));\n}\n\nreturn reagent.ratom.make_track_BANG_(f,args);\n}));\n\n(reagent.ratom.track_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.ratom.track_BANG_.cljs$lang$applyTo \x3d (function (seq22751){\nvar G__22752 \x3d cljs.core.first(seq22751);\nvar seq22751__$1 \x3d cljs.core.next(seq22751);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22752,seq22751__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.RCursor \x3d (function (ratom,path,reaction,state,watches){\nthis.ratom \x3d ratom;\nthis.path \x3d path;\nthis.reaction \x3d reaction;\nthis.state \x3d state;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 114690;\n});\n(reagent.ratom.RCursor.prototype._peek \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar _STAR_ratom_context_STAR__orig_val__22763 \x3d reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__22764 \x3d null;\n(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__temp_val__22764);\n\ntry{return this$.cljs$core$IDeref$_deref$arity$1(null);\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__orig_val__22763);\n}}));\n\n(reagent.ratom.RCursor.prototype._set_state \x3d (function (oldstate,newstate){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((oldstate \x3d\x3d\x3d newstate)){\nreturn null;\n} else {\n(self__.state \x3d newstate);\n\nif((!((self__.watches \x3d\x3d null)))){\nreturn reagent.ratom.notify_w(this$,oldstate,newstate);\n} else {\nreturn null;\n}\n}\n}));\n\n(reagent.ratom.RCursor.prototype.reagent$ratom$IReactiveAtom$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.RCursor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,w,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\x22RCursor\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),self__.path], null));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.ratom,self__.path], null));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (((other instanceof reagent.ratom.RCursor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.path,other.path)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.ratom,other.ratom)))));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IReset$_reset_BANG_$arity$2 \x3d (function (this$,new_value){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar oldstate \x3d self__.state;\nthis$__$1._set_state(oldstate,new_value);\n\nif((((!((self__.ratom \x3d\x3d null))))?(((((self__.ratom.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.ratom.cljs$core$IDeref$))))?true:(((!self__.ratom.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.path,cljs.core.PersistentVector.EMPTY)){\ncljs.core.reset_BANG_(self__.ratom,new_value);\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.ratom,cljs.core.assoc_in,self__.path,new_value);\n}\n} else {\n(self__.ratom.cljs$core$IFn$_invoke$arity$2 ? self__.ratom.cljs$core$IFn$_invoke$arity$2(self__.path,new_value) : self__.ratom.call(null,self__.path,new_value));\n}\n\nreturn new_value;\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d (function (a,f){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22768 \x3d a__$1._peek();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__22768) : f.call(null,G__22768));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d (function (a,f,x){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22769 \x3d a__$1._peek();\nvar G__22770 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__22769,G__22770) : f.call(null,G__22769,G__22770));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d (function (a,f,x,y){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22771 \x3d a__$1._peek();\nvar G__22772 \x3d x;\nvar G__22773 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__22771,G__22772,G__22773) : f.call(null,G__22771,G__22772,G__22773));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d (function (a,f,x,y,more){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a__$1._peek(),x,y,more));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,old,new$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.add_w(this$__$1,key,f);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.remove_w(this$__$1,key);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar oldstate \x3d self__.state;\nvar newstate \x3d (function (){var temp__5806__auto__ \x3d self__.reaction;\nif((temp__5806__auto__ \x3d\x3d null)){\nvar f \x3d (((((!((self__.ratom \x3d\x3d null))))?(((((self__.ratom.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.ratom.cljs$core$IDeref$))))?true:(((!self__.ratom.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom)))?(function (){\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.ratom),self__.path);\n}):(function (){\nreturn (self__.ratom.cljs$core$IFn$_invoke$arity$1 ? self__.ratom.cljs$core$IFn$_invoke$arity$1(self__.path) : self__.ratom.call(null,self__.path));\n}));\nreturn reagent.ratom.cached_reaction(f,self__.ratom,self__.path,this$__$1,null);\n} else {\nvar r \x3d temp__5806__auto__;\nreturn cljs.core._deref(r);\n}\n})();\nthis$__$1._set_state(oldstate,newstate);\n\nreturn newstate;\n}));\n\n(reagent.ratom.RCursor.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ratom\x22,\x22ratom\x22,1514010260,null),new cljs.core.Symbol(null,\x22path\x22,\x22path\x22,1452340359,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22reaction\x22,\x22reaction\x22,2131401315,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.ratom.RCursor.cljs$lang$type \x3d true);\n\n(reagent.ratom.RCursor.cljs$lang$ctorStr \x3d \x22reagent.ratom/RCursor\x22);\n\n(reagent.ratom.RCursor.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.ratom/RCursor\x22);\n}));\n\n/**\n * Positional factory function for reagent.ratom/RCursor.\n */\nreagent.ratom.__GT_RCursor \x3d (function reagent$ratom$__GT_RCursor(ratom,path,reaction,state,watches){\nreturn (new reagent.ratom.RCursor(ratom,path,reaction,state,watches));\n});\n\nreagent.ratom.cursor \x3d (function reagent$ratom$cursor(src,path){\nif((function (){var or__5045__auto__ \x3d (((!((src \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d src.reagent$ratom$IReactiveAtom$))))?true:(((!src.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(reagent.ratom.IReactiveAtom,src):false)):cljs.core.native_satisfies_QMARK_(reagent.ratom.IReactiveAtom,src));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn ((cljs.core.ifn_QMARK_(src)) \x26\x26 ((!(cljs.core.vector_QMARK_(src)))));\n}\n})()){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22src must be a reactive atom or a function, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([src], 0)),\x22 while attempting to get path: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path], 0))].join(\x27\x27),\x22\\n\x22,\x22(or (satisfies? IReactiveAtom src) (and (ifn? src) (not (vector? src))))\x22].join(\x27\x27)));\n}\n\nreturn reagent.ratom.__GT_RCursor(src,path,null,null,null);\n});\nreagent.ratom.with_let_destroy \x3d (function reagent$ratom$with_let_destroy(v){\nvar temp__5808__auto__ \x3d v.destroy;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar f \x3d temp__5808__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n});\nreagent.ratom.with_let_values \x3d (function reagent$ratom$with_let_values(key){\nvar temp__5806__auto__ \x3d reagent.ratom._STAR_ratom_context_STAR_;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn [];\n} else {\nvar c \x3d temp__5806__auto__;\nreturn reagent.ratom.cached_reaction(cljs.core.array,c,key,null,reagent.ratom.with_let_destroy);\n}\n});\n\n/**\n * @interface\n */\nreagent.ratom.IDisposable \x3d function(){};\n\nvar reagent$ratom$IDisposable$dispose_BANG_$dyn_23129 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.ratom.dispose_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (reagent.ratom.dispose_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IDisposable.dispose!\x22,this$);\n}\n}\n});\nreagent.ratom.dispose_BANG_ \x3d (function reagent$ratom$dispose_BANG_(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$ratom$IDisposable$dispose_BANG_$arity$1 \x3d\x3d null)))))){\nreturn this$.reagent$ratom$IDisposable$dispose_BANG_$arity$1(this$);\n} else {\nreturn reagent$ratom$IDisposable$dispose_BANG_$dyn_23129(this$);\n}\n});\n\nvar reagent$ratom$IDisposable$add_on_dispose_BANG_$dyn_23130 \x3d (function (this$,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.ratom.add_on_dispose_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,f) : m__5394__auto__.call(null,this$,f));\n} else {\nvar m__5392__auto__ \x3d (reagent.ratom.add_on_dispose_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,f) : m__5392__auto__.call(null,this$,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IDisposable.add-on-dispose!\x22,this$);\n}\n}\n});\nreagent.ratom.add_on_dispose_BANG_ \x3d (function reagent$ratom$add_on_dispose_BANG_(this$,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2(this$,f);\n} else {\nreturn reagent$ratom$IDisposable$add_on_dispose_BANG_$dyn_23130(this$,f);\n}\n});\n\n\n/**\n * @interface\n */\nreagent.ratom.IRunnable \x3d function(){};\n\nvar reagent$ratom$IRunnable$run$dyn_23132 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (reagent.ratom.run[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (reagent.ratom.run[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IRunnable.run\x22,this$);\n}\n}\n});\nreagent.ratom.run \x3d (function reagent$ratom$run(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.reagent$ratom$IRunnable$run$arity$1 \x3d\x3d null)))))){\nreturn this$.reagent$ratom$IRunnable$run$arity$1(this$);\n} else {\nreturn reagent$ratom$IRunnable$run$dyn_23132(this$);\n}\n});\n\nreagent.ratom.handle_reaction_change \x3d (function reagent$ratom$handle_reaction_change(this$,sender,old,new$){\nreturn this$._handle_change(sender,old,new$);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {reagent.ratom.IRunnable}\n * @implements {reagent.ratom.IDisposable}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.Reaction \x3d (function (f,state,dirty_QMARK_,nocache_QMARK_,watching,watches,auto_run,caught){\nthis.f \x3d f;\nthis.state \x3d state;\nthis.dirty_QMARK_ \x3d dirty_QMARK_;\nthis.nocache_QMARK_ \x3d nocache_QMARK_;\nthis.watching \x3d watching;\nthis.watches \x3d watches;\nthis.auto_run \x3d auto_run;\nthis.caught \x3d caught;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 114690;\n});\n(reagent.ratom.Reaction.prototype._peek_at \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar _STAR_ratom_context_STAR__orig_val__22803 \x3d reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__22804 \x3d null;\n(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__temp_val__22804);\n\ntry{return this$.cljs$core$IDeref$_deref$arity$1(null);\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ \x3d _STAR_ratom_context_STAR__orig_val__22803);\n}}));\n\n(reagent.ratom.Reaction.prototype._handle_change \x3d (function (sender,oldval,newval){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((oldval \x3d\x3d\x3d newval)) || (self__.dirty_QMARK_))){\nreturn null;\n} else {\nif((self__.auto_run \x3d\x3d null)){\n(self__.dirty_QMARK_ \x3d true);\n\nreturn reagent.ratom.rea_enqueue(this$);\n} else {\nif(self__.auto_run \x3d\x3d\x3d true){\nreturn this$._run(false);\n} else {\nreturn (self__.auto_run.cljs$core$IFn$_invoke$arity$1 ? self__.auto_run.cljs$core$IFn$_invoke$arity$1(this$) : self__.auto_run.call(null,this$));\n}\n}\n}\n}));\n\n(reagent.ratom.Reaction.prototype._update_watching \x3d (function (derefed){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar new$ \x3d cljs.core.set(derefed);\nvar old \x3d cljs.core.set(self__.watching);\n(self__.watching \x3d derefed);\n\nvar seq__22814_23133 \x3d cljs.core.seq(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(new$,old));\nvar chunk__22815_23134 \x3d null;\nvar count__22816_23135 \x3d (0);\nvar i__22817_23136 \x3d (0);\nwhile(true){\nif((i__22817_23136 \x3c count__22816_23135)){\nvar w_23137 \x3d chunk__22815_23134.cljs$core$IIndexed$_nth$arity$2(null,i__22817_23136);\ncljs.core._add_watch(w_23137,this$,reagent.ratom.handle_reaction_change);\n\n\nvar G__23138 \x3d seq__22814_23133;\nvar G__23139 \x3d chunk__22815_23134;\nvar G__23140 \x3d count__22816_23135;\nvar G__23141 \x3d (i__22817_23136 + (1));\nseq__22814_23133 \x3d G__23138;\nchunk__22815_23134 \x3d G__23139;\ncount__22816_23135 \x3d G__23140;\ni__22817_23136 \x3d G__23141;\ncontinue;\n} else {\nvar temp__5804__auto___23142 \x3d cljs.core.seq(seq__22814_23133);\nif(temp__5804__auto___23142){\nvar seq__22814_23143__$1 \x3d temp__5804__auto___23142;\nif(cljs.core.chunked_seq_QMARK_(seq__22814_23143__$1)){\nvar c__5568__auto___23144 \x3d cljs.core.chunk_first(seq__22814_23143__$1);\nvar G__23145 \x3d cljs.core.chunk_rest(seq__22814_23143__$1);\nvar G__23146 \x3d c__5568__auto___23144;\nvar G__23147 \x3d cljs.core.count(c__5568__auto___23144);\nvar G__23148 \x3d (0);\nseq__22814_23133 \x3d G__23145;\nchunk__22815_23134 \x3d G__23146;\ncount__22816_23135 \x3d G__23147;\ni__22817_23136 \x3d G__23148;\ncontinue;\n} else {\nvar w_23149 \x3d cljs.core.first(seq__22814_23143__$1);\ncljs.core._add_watch(w_23149,this$,reagent.ratom.handle_reaction_change);\n\n\nvar G__23150 \x3d cljs.core.next(seq__22814_23143__$1);\nvar G__23151 \x3d null;\nvar G__23152 \x3d (0);\nvar G__23153 \x3d (0);\nseq__22814_23133 \x3d G__23150;\nchunk__22815_23134 \x3d G__23151;\ncount__22816_23135 \x3d G__23152;\ni__22817_23136 \x3d G__23153;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar seq__22822 \x3d cljs.core.seq(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(old,new$));\nvar chunk__22823 \x3d null;\nvar count__22824 \x3d (0);\nvar i__22825 \x3d (0);\nwhile(true){\nif((i__22825 \x3c count__22824)){\nvar w \x3d chunk__22823.cljs$core$IIndexed$_nth$arity$2(null,i__22825);\ncljs.core._remove_watch(w,this$);\n\n\nvar G__23154 \x3d seq__22822;\nvar G__23155 \x3d chunk__22823;\nvar G__23156 \x3d count__22824;\nvar G__23157 \x3d (i__22825 + (1));\nseq__22822 \x3d G__23154;\nchunk__22823 \x3d G__23155;\ncount__22824 \x3d G__23156;\ni__22825 \x3d G__23157;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22822);\nif(temp__5804__auto__){\nvar seq__22822__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22822__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22822__$1);\nvar G__23158 \x3d cljs.core.chunk_rest(seq__22822__$1);\nvar G__23159 \x3d c__5568__auto__;\nvar G__23160 \x3d cljs.core.count(c__5568__auto__);\nvar G__23161 \x3d (0);\nseq__22822 \x3d G__23158;\nchunk__22823 \x3d G__23159;\ncount__22824 \x3d G__23160;\ni__22825 \x3d G__23161;\ncontinue;\n} else {\nvar w \x3d cljs.core.first(seq__22822__$1);\ncljs.core._remove_watch(w,this$);\n\n\nvar G__23162 \x3d cljs.core.next(seq__22822__$1);\nvar G__23163 \x3d null;\nvar G__23164 \x3d (0);\nvar G__23165 \x3d (0);\nseq__22822 \x3d G__23162;\nchunk__22823 \x3d G__23163;\ncount__22824 \x3d G__23164;\ni__22825 \x3d G__23165;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(reagent.ratom.Reaction.prototype._queued_run \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.dirty_QMARK_) \x26\x26 ((!((self__.watching \x3d\x3d null)))))){\nreturn this$._run(true);\n} else {\nreturn null;\n}\n}));\n\n(reagent.ratom.Reaction.prototype._try_capture \x3d (function (f__$1){\nvar self__ \x3d this;\nvar this$ \x3d this;\ntry{(self__.caught \x3d null);\n\nreturn reagent.ratom.deref_capture(f__$1,this$);\n}catch (e22829){var e \x3d e22829;\n(self__.state \x3d e);\n\n(self__.caught \x3d e);\n\nreturn (self__.dirty_QMARK_ \x3d false);\n}}));\n\n(reagent.ratom.Reaction.prototype._run \x3d (function (check){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar oldstate \x3d self__.state;\nvar res \x3d (cljs.core.truth_(check)?this$._try_capture(self__.f):reagent.ratom.deref_capture(self__.f,this$));\nif(self__.nocache_QMARK_){\n} else {\n(self__.state \x3d res);\n\nif((((self__.watches \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(oldstate,res)))){\n} else {\nreagent.ratom.notify_w(this$,oldstate,res);\n}\n}\n\nreturn res;\n}));\n\n(reagent.ratom.Reaction.prototype._set_opts \x3d (function (p__22837){\nvar self__ \x3d this;\nvar map__22838 \x3d p__22837;\nvar map__22838__$1 \x3d cljs.core.__destructure_map(map__22838);\nvar auto_run__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22838__$1,new cljs.core.Keyword(null,\x22auto-run\x22,\x22auto-run\x22,1958400437));\nvar on_set \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22838__$1,new cljs.core.Keyword(null,\x22on-set\x22,\x22on-set\x22,-140953470));\nvar on_dispose \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22838__$1,new cljs.core.Keyword(null,\x22on-dispose\x22,\x22on-dispose\x22,2105306360));\nvar no_cache \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22838__$1,new cljs.core.Keyword(null,\x22no-cache\x22,\x22no-cache\x22,1588056370));\nvar this$ \x3d this;\nif((!((auto_run__$1 \x3d\x3d null)))){\n(this$.auto_run \x3d auto_run__$1);\n} else {\n}\n\nif((!((on_set \x3d\x3d null)))){\n(this$.on_set \x3d on_set);\n} else {\n}\n\nif((!((on_dispose \x3d\x3d null)))){\n(this$.on_dispose \x3d on_dispose);\n} else {\n}\n\nif((!((no_cache \x3d\x3d null)))){\nreturn (this$.nocache_QMARK_ \x3d no_cache);\n} else {\nreturn null;\n}\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IReactiveAtom$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,w,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\x22Reaction\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null)], null));\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$dispose_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar s \x3d self__.state;\nvar wg \x3d self__.watching;\n(self__.watching \x3d null);\n\n(self__.state \x3d null);\n\n(self__.auto_run \x3d null);\n\n(self__.dirty_QMARK_ \x3d true);\n\nvar seq__22850_23166 \x3d cljs.core.seq(cljs.core.set(wg));\nvar chunk__22860_23167 \x3d null;\nvar count__22862_23168 \x3d (0);\nvar i__22863_23169 \x3d (0);\nwhile(true){\nif((i__22863_23169 \x3c count__22862_23168)){\nvar w_23170 \x3d chunk__22860_23167.cljs$core$IIndexed$_nth$arity$2(null,i__22863_23169);\ncljs.core._remove_watch(w_23170,this$__$1);\n\n\nvar G__23171 \x3d seq__22850_23166;\nvar G__23172 \x3d chunk__22860_23167;\nvar G__23173 \x3d count__22862_23168;\nvar G__23174 \x3d (i__22863_23169 + (1));\nseq__22850_23166 \x3d G__23171;\nchunk__22860_23167 \x3d G__23172;\ncount__22862_23168 \x3d G__23173;\ni__22863_23169 \x3d G__23174;\ncontinue;\n} else {\nvar temp__5804__auto___23175 \x3d cljs.core.seq(seq__22850_23166);\nif(temp__5804__auto___23175){\nvar seq__22850_23176__$1 \x3d temp__5804__auto___23175;\nif(cljs.core.chunked_seq_QMARK_(seq__22850_23176__$1)){\nvar c__5568__auto___23177 \x3d cljs.core.chunk_first(seq__22850_23176__$1);\nvar G__23178 \x3d cljs.core.chunk_rest(seq__22850_23176__$1);\nvar G__23179 \x3d c__5568__auto___23177;\nvar G__23180 \x3d cljs.core.count(c__5568__auto___23177);\nvar G__23181 \x3d (0);\nseq__22850_23166 \x3d G__23178;\nchunk__22860_23167 \x3d G__23179;\ncount__22862_23168 \x3d G__23180;\ni__22863_23169 \x3d G__23181;\ncontinue;\n} else {\nvar w_23182 \x3d cljs.core.first(seq__22850_23176__$1);\ncljs.core._remove_watch(w_23182,this$__$1);\n\n\nvar G__23183 \x3d cljs.core.next(seq__22850_23176__$1);\nvar G__23184 \x3d null;\nvar G__23185 \x3d (0);\nvar G__23186 \x3d (0);\nseq__22850_23166 \x3d G__23183;\nchunk__22860_23167 \x3d G__23184;\ncount__22862_23168 \x3d G__23185;\ni__22863_23169 \x3d G__23186;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nif((!((this$__$1.on_dispose \x3d\x3d null)))){\nthis$__$1.on_dispose(s);\n} else {\n}\n\nvar temp__5808__auto__ \x3d this$__$1.on_dispose_arr;\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar a \x3d temp__5808__auto__;\nvar n__5636__auto__ \x3d a.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c n__5636__auto__)){\nvar fexpr__22887_23187 \x3d (a[i]);\n(fexpr__22887_23187.cljs$core$IFn$_invoke$arity$1 ? fexpr__22887_23187.cljs$core$IFn$_invoke$arity$1(this$__$1) : fexpr__22887_23187.call(null,this$__$1));\n\nvar G__23188 \x3d (i + (1));\ni \x3d G__23188;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2 \x3d (function (this$,f__$1){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5806__auto__ \x3d this$__$1.on_dispose_arr;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn (this$__$1.on_dispose_arr \x3d [f__$1]);\n} else {\nvar a \x3d temp__5806__auto__;\nreturn a.push(f__$1);\n}\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IReset$_reset_BANG_$arity$2 \x3d (function (a,newval){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nif(cljs.core.fn_QMARK_(a__$1.on_set)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Reaction is read only; on-set is not allowed\x22,\x22\\n\x22,\x22(fn? (.-on-set a))\x22].join(\x27\x27)));\n}\n\nvar oldval \x3d self__.state;\n(self__.state \x3d newval);\n\na__$1.on_set(oldval,newval);\n\nreagent.ratom.notify_w(a__$1,oldval,newval);\n\nreturn newval;\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d (function (a,f__$1){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22888 \x3d a__$1._peek_at();\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(G__22888) : f__$1.call(null,G__22888));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d (function (a,f__$1,x){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22889 \x3d a__$1._peek_at();\nvar G__22890 \x3d x;\nreturn (f__$1.cljs$core$IFn$_invoke$arity$2 ? f__$1.cljs$core$IFn$_invoke$arity$2(G__22889,G__22890) : f__$1.call(null,G__22889,G__22890));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d (function (a,f__$1,x,y){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__22891 \x3d a__$1._peek_at();\nvar G__22892 \x3d x;\nvar G__22893 \x3d y;\nreturn (f__$1.cljs$core$IFn$_invoke$arity$3 ? f__$1.cljs$core$IFn$_invoke$arity$3(G__22891,G__22892,G__22893) : f__$1.call(null,G__22891,G__22892,G__22893));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d (function (a,f__$1,x,y,more){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f__$1,a__$1._peek_at(),x,y,more));\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IRunnable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IRunnable$run$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(reagent.ratom.flush_BANG_.cljs$core$IFn$_invoke$arity$0 ? reagent.ratom.flush_BANG_.cljs$core$IFn$_invoke$arity$0() : reagent.ratom.flush_BANG_.call(null));\n\nreturn this$__$1._run(false);\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,old,new$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f__$1){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.add_w(this$__$1,key,f__$1);\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar was_empty \x3d cljs.core.empty_QMARK_(self__.watches);\nreagent.ratom.remove_w(this$__$1,key);\n\nif((((!(was_empty))) \x26\x26 (((cljs.core.empty_QMARK_(self__.watches)) \x26\x26 ((self__.auto_run \x3d\x3d null)))))){\nreturn this$__$1.reagent$ratom$IDisposable$dispose_BANG_$arity$1(null);\n} else {\nreturn null;\n}\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5808__auto___23190 \x3d self__.caught;\nif((temp__5808__auto___23190 \x3d\x3d null)){\n} else {\nvar e_23191 \x3d temp__5808__auto___23190;\nthrow e_23191;\n}\n\nvar non_reactive_23192 \x3d (reagent.ratom._STAR_ratom_context_STAR_ \x3d\x3d null);\nif(non_reactive_23192){\n(reagent.ratom.flush_BANG_.cljs$core$IFn$_invoke$arity$0 ? reagent.ratom.flush_BANG_.cljs$core$IFn$_invoke$arity$0() : reagent.ratom.flush_BANG_.call(null));\n} else {\n}\n\nif(((non_reactive_23192) \x26\x26 ((self__.auto_run \x3d\x3d null)))){\nif(self__.dirty_QMARK_){\nvar oldstate_23193 \x3d self__.state;\n(self__.state \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\nif((((self__.watches \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(oldstate_23193,self__.state)))){\n} else {\nreagent.ratom.notify_w(this$__$1,oldstate_23193,self__.state);\n}\n} else {\n}\n} else {\nreagent.ratom.notify_deref_watcher_BANG_(this$__$1);\n\nif(self__.dirty_QMARK_){\nthis$__$1._run(false);\n} else {\n}\n}\n\nreturn self__.state;\n}));\n\n(reagent.ratom.Reaction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty?\x22,\x22dirty?\x22,-419314319,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nocache?\x22,\x22nocache?\x22,-1065670978,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watching\x22,\x22watching\x22,1947648227,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22auto-run\x22,\x22auto-run\x22,-696035332,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22caught\x22,\x22caught\x22,2084008322,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.ratom.Reaction.cljs$lang$type \x3d true);\n\n(reagent.ratom.Reaction.cljs$lang$ctorStr \x3d \x22reagent.ratom/Reaction\x22);\n\n(reagent.ratom.Reaction.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.ratom/Reaction\x22);\n}));\n\n/**\n * Positional factory function for reagent.ratom/Reaction.\n */\nreagent.ratom.__GT_Reaction \x3d (function reagent$ratom$__GT_Reaction(f,state,dirty_QMARK_,nocache_QMARK_,watching,watches,auto_run,caught){\nreturn (new reagent.ratom.Reaction(f,state,dirty_QMARK_,nocache_QMARK_,watching,watches,auto_run,caught));\n});\n\nreagent.ratom.flush_BANG_ \x3d (function reagent$ratom$flush_BANG_(){\nwhile(true){\nvar q \x3d reagent.ratom.rea_queue;\nif((q \x3d\x3d null)){\nreturn null;\n} else {\n(reagent.ratom.rea_queue \x3d null);\n\nvar n__5636__auto___23194 \x3d q.length;\nvar i_23195 \x3d (0);\nwhile(true){\nif((i_23195 \x3c n__5636__auto___23194)){\nvar r_23196 \x3d (q[i_23195]);\nr_23196._queued_run();\n\nvar G__23197 \x3d (i_23195 + (1));\ni_23195 \x3d G__23197;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncontinue;\n}\nbreak;\n}\n});\n(reagent.impl.batching.ratom_flush \x3d reagent.ratom.flush_BANG_);\nreagent.ratom.make_reaction \x3d (function reagent$ratom$make_reaction(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23198 \x3d arguments.length;\nvar i__5770__auto___23199 \x3d (0);\nwhile(true){\nif((i__5770__auto___23199 \x3c len__5769__auto___23198)){\nargs__5775__auto__.push((arguments[i__5770__auto___23199]));\n\nvar G__23200 \x3d (i__5770__auto___23199 + (1));\ni__5770__auto___23199 \x3d G__23200;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,p__22944){\nvar map__22945 \x3d p__22944;\nvar map__22945__$1 \x3d cljs.core.__destructure_map(map__22945);\nvar auto_run \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22945__$1,new cljs.core.Keyword(null,\x22auto-run\x22,\x22auto-run\x22,1958400437));\nvar on_set \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22945__$1,new cljs.core.Keyword(null,\x22on-set\x22,\x22on-set\x22,-140953470));\nvar on_dispose \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22945__$1,new cljs.core.Keyword(null,\x22on-dispose\x22,\x22on-dispose\x22,2105306360));\nvar reaction \x3d reagent.ratom.__GT_Reaction(f,null,true,false,null,null,null,null);\nreaction._set_opts(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22auto-run\x22,\x22auto-run\x22,1958400437),auto_run,new cljs.core.Keyword(null,\x22on-set\x22,\x22on-set\x22,-140953470),on_set,new cljs.core.Keyword(null,\x22on-dispose\x22,\x22on-dispose\x22,2105306360),on_dispose], null));\n\nreturn reaction;\n}));\n\n(reagent.ratom.make_reaction.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.ratom.make_reaction.cljs$lang$applyTo \x3d (function (seq22901){\nvar G__22902 \x3d cljs.core.first(seq22901);\nvar seq22901__$1 \x3d cljs.core.next(seq22901);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22902,seq22901__$1);\n}));\n\nreagent.ratom.temp_reaction \x3d reagent.ratom.make_reaction(null);\n/**\n * Evaluates `f` and returns the result. If `f` calls `deref` on any ratoms,\n * creates a new Reaction that watches those atoms and calls `run` whenever\n * any of those watched ratoms change. Also, the new reaction is added to\n * list of \x27watches\x27 of each of the ratoms. The `run` parameter is a function\n * that should expect one argument. It is passed `obj` when run. The `opts`\n * are any options accepted by a Reaction and will be set on the newly created\n * Reaction. Sets the newly created Reaction to the `key` on `obj`.\n */\nreagent.ratom.run_in_reaction \x3d (function reagent$ratom$run_in_reaction(f,obj,key,run,opts){\nvar r \x3d reagent.ratom.temp_reaction;\nvar res \x3d reagent.ratom.deref_capture(f,r);\nif((r.watching \x3d\x3d null)){\n} else {\n(reagent.ratom.temp_reaction \x3d reagent.ratom.make_reaction(null));\n\nr._set_opts(opts);\n\n(r.f \x3d f);\n\n(r.auto_run \x3d (function (){\nreturn (run.cljs$core$IFn$_invoke$arity$1 ? run.cljs$core$IFn$_invoke$arity$1(obj) : run.call(null,obj));\n}));\n\nreagent.ratom.goog$module$goog$object.set(obj,key,r);\n}\n\nreturn res;\n});\nreagent.ratom.check_derefs \x3d (function reagent$ratom$check_derefs(f){\nvar ctx \x3d ({});\nvar res \x3d reagent.ratom.in_context(ctx,f);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [res,(!((ctx.captured \x3d\x3d null)))], null);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.Wrapper \x3d (function (state,callback,changed,watches){\nthis.state \x3d state;\nthis.callback \x3d callback;\nthis.changed \x3d changed;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 114690;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613568;\n});\n(reagent.ratom.Wrapper.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(((self__.changed) \x26\x26 ((!((reagent.ratom._STAR_ratom_context_STAR_ \x3d\x3d null)))))){\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,\x22derefing stale wrap: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$__$1], 0))].join(\x27\x27));\n} else {\n}\n} else {\n}\n\n\nreturn self__.state;\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IReset$_reset_BANG_$arity$2 \x3d (function (this$,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar oldval \x3d self__.state;\n(self__.changed \x3d true);\n\n(self__.state \x3d newval);\n\nif((!((self__.watches \x3d\x3d null)))){\nreagent.ratom.notify_w(this$__$1,oldval,newval);\n} else {\n}\n\n(self__.callback.cljs$core$IFn$_invoke$arity$1 ? self__.callback.cljs$core$IFn$_invoke$arity$1(newval) : self__.callback.call(null,newval));\n\nreturn newval;\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d (function (a,f){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(self__.state) : f.call(null,self__.state)));\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d (function (a,f,x){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.state,x) : f.call(null,self__.state,x)));\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d (function (a,f,x,y){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(self__.state,x,y) : f.call(null,self__.state,x,y)));\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d (function (a,f,x,y,more){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,self__.state,x,y,more));\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof reagent.ratom.Wrapper)) \x26\x26 ((((!(self__.changed))) \x26\x26 (((cljs.core.not(other.changed)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.state,other.state)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.callback,other.callback)))))))));\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,old,new$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.add_w(this$__$1,key,f);\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.ratom.remove_w(this$__$1,key);\n}));\n\n(reagent.ratom.Wrapper.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,w,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\x22Wrapper\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null)], null));\n}));\n\n(reagent.ratom.Wrapper.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22callback\x22,\x22callback\x22,935395299,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(reagent.ratom.Wrapper.cljs$lang$type \x3d true);\n\n(reagent.ratom.Wrapper.cljs$lang$ctorStr \x3d \x22reagent.ratom/Wrapper\x22);\n\n(reagent.ratom.Wrapper.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.ratom/Wrapper\x22);\n}));\n\n/**\n * Positional factory function for reagent.ratom/Wrapper.\n */\nreagent.ratom.__GT_Wrapper \x3d (function reagent$ratom$__GT_Wrapper(state,callback,changed,watches){\nreturn (new reagent.ratom.Wrapper(state,callback,changed,watches));\n});\n\nreagent.ratom.make_wrapper \x3d (function reagent$ratom$make_wrapper(value,callback_fn,args){\nreturn reagent.ratom.__GT_Wrapper(value,reagent.impl.util.make_partial_fn(callback_fn,args),false,null);\n});\n"); +SHADOW_ENV.evalLoad("reagent.impl.component.js", true , "goog.provide(\x27reagent.impl.component\x27);\ngoog.scope(function(){\n reagent.impl.component.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nvar module$node_modules$react$index\x3dshadow.js.require(\x22module$node_modules$react$index\x22, {});\nreagent.impl.component.extract_props \x3d (function reagent$impl$component$extract_props(v){\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null);\nif(cljs.core.map_QMARK_(p)){\nreturn p;\n} else {\nreturn null;\n}\n});\nreagent.impl.component.extract_children \x3d (function reagent$impl$component$extract_children(v){\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null);\nvar first_child \x3d (((((p \x3d\x3d null)) || (cljs.core.map_QMARK_(p))))?(2):(1));\nif((cljs.core.count(v) \x3e first_child)){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(v,first_child);\n} else {\nreturn null;\n}\n});\nreagent.impl.component.props_argv \x3d (function reagent$impl$component$props_argv(c,p){\nvar temp__5806__auto__ \x3d p.argv;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [c.constructor,reagent.impl.util.shallow_obj_to_map(p)], null);\n} else {\nvar a \x3d temp__5806__auto__;\nreturn a;\n}\n});\nreagent.impl.component.get_argv \x3d (function reagent$impl$component$get_argv(c){\nreturn reagent.impl.component.props_argv(c,c.props);\n});\nreagent.impl.component.get_props \x3d (function reagent$impl$component$get_props(c){\nvar p \x3d c.props;\nvar temp__5806__auto__ \x3d p.argv;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn reagent.impl.util.shallow_obj_to_map(p);\n} else {\nvar v \x3d temp__5806__auto__;\nreturn reagent.impl.component.extract_props(v);\n}\n});\nreagent.impl.component.get_children \x3d (function reagent$impl$component$get_children(c){\nvar p \x3d c.props;\nvar temp__5806__auto__ \x3d p.argv;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,module$node_modules$react$index.Children.toArray(p.children));\n} else {\nvar v \x3d temp__5806__auto__;\nreturn reagent.impl.component.extract_children(v);\n}\n});\nreagent.impl.component.reagent_class_QMARK_ \x3d (function reagent$impl$component$reagent_class_QMARK_(c){\nreturn ((cljs.core.fn_QMARK_(c)) \x26\x26 ((!(((function (){var G__23086 \x3d c;\nvar G__23086__$1 \x3d (((G__23086 \x3d\x3d null))?null:G__23086.prototype);\nif((G__23086__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__23086__$1.reagentRender;\n}\n})() \x3d\x3d null)))));\n});\nreagent.impl.component.react_class_QMARK_ \x3d (function reagent$impl$component$react_class_QMARK_(c){\nreturn ((cljs.core.fn_QMARK_(c)) \x26\x26 ((!(((function (){var G__23090 \x3d c;\nvar G__23090__$1 \x3d (((G__23090 \x3d\x3d null))?null:G__23090.prototype);\nif((G__23090__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__23090__$1.render;\n}\n})() \x3d\x3d null)))));\n});\nreagent.impl.component.reagent_component_QMARK_ \x3d (function reagent$impl$component$reagent_component_QMARK_(c){\nreturn (!((c.reagentRender \x3d\x3d null)));\n});\nreagent.impl.component.state_atom \x3d (function reagent$impl$component$state_atom(this$){\nvar sa \x3d this$.cljsState;\nif((!((sa \x3d\x3d null)))){\nreturn sa;\n} else {\nreturn (this$.cljsState \x3d reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1(null));\n}\n});\n/**\n * Calls the render function of the component `c`. If result `res` evaluates to a:\n * 1) Vector (form-1 component) - Treats the vector as hiccup and returns\n * a react element with a render function based on that hiccup\n * 2) Function (form-2 component) - updates the render function to `res` i.e. the internal function\n * and calls wrap-render again (`recur`), until the render result doesn\x27t evaluate to a function.\n * 3) Anything else - Returns the result of evaluating `c`\n */\nreagent.impl.component.wrap_render \x3d (function reagent$impl$component$wrap_render(c,compiler){\nwhile(true){\nvar f \x3d c.reagentRender;\nvar _ \x3d ((cljs.core.ifn_QMARK_(f))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? f)\x22].join(\x27\x27)))})());\nvar res \x3d ((c.cljsLegacyRender \x3d\x3d\x3d true)?f.call(c,c):(function (){var v \x3d reagent.impl.component.get_argv(c);\nvar n \x3d cljs.core.count(v);\nvar G__23189 \x3d n;\nswitch (G__23189) {\ncase (1):\nreturn f.call(c);\n\nbreak;\ncase (2):\nreturn f.call(c,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(1)));\n\nbreak;\ncase (3):\nreturn f.call(c,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(1)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(2)));\n\nbreak;\ncase (4):\nreturn f.call(c,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(1)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(2)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(3)));\n\nbreak;\ncase (5):\nreturn f.call(c,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(1)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(2)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(3)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(4)));\n\nbreak;\ndefault:\nreturn f.apply(c,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(v).slice((1)));\n\n}\n})());\nif(cljs.core.vector_QMARK_(res)){\nreturn reagent.impl.protocols.as_element(compiler,res);\n} else {\nif(cljs.core.ifn_QMARK_(res)){\nvar f__$1 \x3d ((reagent.impl.component.reagent_class_QMARK_(res))?((function (c,compiler,f,_,res){\nreturn (function() { \nvar G__23392__delegate \x3d function (args){\nreturn reagent.impl.protocols.as_element(compiler,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,res,args));\n};\nvar G__23392 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23393__i \x3d 0, G__23393__a \x3d new Array(arguments.length - 0);\nwhile (G__23393__i \x3c G__23393__a.length) {G__23393__a[G__23393__i] \x3d arguments[G__23393__i + 0]; ++G__23393__i;}\n args \x3d new cljs.core.IndexedSeq(G__23393__a,0,null);\n} \nreturn G__23392__delegate.call(this,args);};\nG__23392.cljs$lang$maxFixedArity \x3d 0;\nG__23392.cljs$lang$applyTo \x3d (function (arglist__23394){\nvar args \x3d cljs.core.seq(arglist__23394);\nreturn G__23392__delegate(args);\n});\nG__23392.cljs$core$IFn$_invoke$arity$variadic \x3d G__23392__delegate;\nreturn G__23392;\n})()\n;})(c,compiler,f,_,res))\n:res);\n(c.reagentRender \x3d f__$1);\n\nvar G__23395 \x3d c;\nvar G__23396 \x3d compiler;\nc \x3d G__23395;\ncompiler \x3d G__23396;\ncontinue;\n} else {\nreturn res;\n\n}\n}\nbreak;\n}\n});\nreagent.impl.component.component_name \x3d (function reagent$impl$component$component_name(c){\nvar or__5045__auto__ \x3d (function (){var G__23201 \x3d c;\nvar G__23201__$1 \x3d (((G__23201 \x3d\x3d null))?null:G__23201.constructor);\nif((G__23201__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__23201__$1.displayName;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar G__23211 \x3d c;\nvar G__23211__$1 \x3d (((G__23211 \x3d\x3d null))?null:G__23211.constructor);\nif((G__23211__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__23211__$1.name;\n}\n}\n});\nreagent.impl.component.comp_name \x3d (function reagent$impl$component$comp_name(){\nvar c \x3d reagent.impl.component._STAR_current_component_STAR_;\nvar n \x3d reagent.impl.component.component_name(c);\nif((!(cljs.core.empty_QMARK_(n)))){\nreturn [\x22 (in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22)\x22].join(\x27\x27);\n} else {\nreturn \x22\x22;\n}\n\n});\nreagent.impl.component.do_render \x3d (function reagent$impl$component$do_render(c,compiler){\nvar _STAR_current_component_STAR__orig_val__23237 \x3d reagent.impl.component._STAR_current_component_STAR_;\nvar _STAR_current_component_STAR__temp_val__23238 \x3d c;\n(reagent.impl.component._STAR_current_component_STAR_ \x3d _STAR_current_component_STAR__temp_val__23238);\n\ntry{return reagent.impl.component.wrap_render(c,compiler);\n}finally {(reagent.impl.component._STAR_current_component_STAR_ \x3d _STAR_current_component_STAR__orig_val__23237);\n}});\nreagent.impl.component.rat_opts \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22no-cache\x22,\x22no-cache\x22,1588056370),true], null);\nreagent.impl.component.custom_wrapper \x3d (function reagent$impl$component$custom_wrapper(key,f){\nvar G__23240 \x3d key;\nvar G__23240__$1 \x3d (((G__23240 instanceof cljs.core.Keyword))?G__23240.fqn:null);\nswitch (G__23240__$1) {\ncase \x22getDefaultProps\x22:\nthrow (new Error(\x22getDefaultProps not supported\x22));\n\nbreak;\ncase \x22getDerivedStateFromProps\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_getDerivedStateFromProps(props,state){\nreturn f.call(null,(function (){var temp__5806__auto__ \x3d props.argv;\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn props;\n} else {\nvar a \x3d temp__5806__auto__;\nreturn reagent.impl.component.extract_props(a);\n}\n})(),state);\n});\n\nbreak;\ncase \x22getInitialState\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_getInitialState(c){\nreturn cljs.core.reset_BANG_(reagent.impl.component.state_atom(c),f.call(c,c));\n});\n\nbreak;\ncase \x22getSnapshotBeforeUpdate\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_getSnapshotBeforeUpdate(oldprops,oldstate){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,oldprops),oldstate);\n});\n\nbreak;\ncase \x22componentWillReceiveProps\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillReceiveProps(nextprops){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,nextprops));\n});\n\nbreak;\ncase \x22UNSAFE_componentWillReceiveProps\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillReceiveProps(nextprops){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,nextprops));\n});\n\nbreak;\ncase \x22shouldComponentUpdate\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_shouldComponentUpdate(nextprops,nextstate){\nvar or__5045__auto__ \x3d reagent.impl.util._STAR_always_update_STAR_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar c \x3d this;\nvar old_argv \x3d c.props.argv;\nvar new_argv \x3d nextprops.argv;\nvar noargv \x3d (((old_argv \x3d\x3d null)) || ((new_argv \x3d\x3d null)));\nif((f \x3d\x3d null)){\nvar or__5045__auto____$1 \x3d noargv;\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\ntry{return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(old_argv,new_argv);\n}catch (e23279){var e \x3d e23279;\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,\x22Exception thrown while comparing argv\x27s in shouldComponentUpdate: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(old_argv),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new_argv),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(\x27\x27));\n} else {\n}\n\nreturn false;\n}}\n} else {\nif(noargv){\nreturn f.call(c,c,reagent.impl.component.get_argv(c),reagent.impl.component.props_argv(c,nextprops));\n} else {\nreturn f.call(c,c,old_argv,new_argv);\n\n}\n}\n}\n});\n\nbreak;\ncase \x22componentWillUpdate\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillUpdate(nextprops,nextstate){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,nextprops),nextstate);\n});\n\nbreak;\ncase \x22UNSAFE_componentWillUpdate\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillUpdate(nextprops,nextstate){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,nextprops),nextstate);\n});\n\nbreak;\ncase \x22componentDidUpdate\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentDidUpdate(oldprops,oldstate,snapshot){\nvar c \x3d this;\nreturn f.call(c,c,reagent.impl.component.props_argv(c,oldprops),oldstate,snapshot);\n});\n\nbreak;\ncase \x22componentWillMount\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillMount(){\nvar c \x3d this;\nreturn f.call(c,c);\n});\n\nbreak;\ncase \x22UNSAFE_componentWillMount\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillMount(){\nvar c \x3d this;\nreturn f.call(c,c);\n});\n\nbreak;\ncase \x22componentDidMount\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentDidMount(){\nvar c \x3d this;\nreturn f.call(c,c);\n});\n\nbreak;\ncase \x22componentWillUnmount\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentWillUnmount(){\nvar c \x3d this;\nvar G__23280_23402 \x3d reagent.impl.component.goog$module$goog$object.get(c,\x22cljsRatom\x22);\nif((G__23280_23402 \x3d\x3d null)){\n} else {\nreagent.ratom.dispose_BANG_(G__23280_23402);\n}\n\nreagent.impl.batching.mark_rendered(c);\n\nif((f \x3d\x3d null)){\nreturn null;\n} else {\nreturn f.call(c,c);\n}\n});\n\nbreak;\ncase \x22componentDidCatch\x22:\nreturn (function reagent$impl$component$custom_wrapper_$_componentDidCatch(error,info){\nvar c \x3d this;\nreturn f.call(c,c,error,info);\n});\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\nreagent.impl.component.get_wrapper \x3d (function reagent$impl$component$get_wrapper(key,f){\nvar wrap \x3d reagent.impl.component.custom_wrapper(key,f);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d wrap;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn f;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? f)\x22].join(\x27\x27)));\n}\n} else {\n}\n\nvar or__5045__auto__ \x3d wrap;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn f;\n}\n});\nreagent.impl.component.obligatory \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22shouldComponentUpdate\x22,\x22shouldComponentUpdate\x22,1795750960),null,new cljs.core.Keyword(null,\x22componentWillUnmount\x22,\x22componentWillUnmount\x22,1573788814),null], null);\nreagent.impl.component.dash_to_method_name \x3d reagent.impl.util.memoize_1(reagent.impl.util.dash_to_method_name);\nreagent.impl.component.camelify_map_keys \x3d (function reagent$impl$component$camelify_map_keys(fun_map){\nreturn cljs.core.reduce_kv((function (m,k,v){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(reagent.impl.component.dash_to_method_name(k)),v);\n}),cljs.core.PersistentArrayMap.EMPTY,fun_map);\n});\nreagent.impl.component.add_obligatory \x3d (function reagent$impl$component$add_obligatory(fun_map){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reagent.impl.component.obligatory,fun_map], 0));\n});\nreagent.impl.component.wrap_funs \x3d (function reagent$impl$component$wrap_funs(fmap,compiler){\nvar renders_23403 \x3d cljs.core.select_keys(fmap,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454),new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383)], null));\nvar render_fun_23404 \x3d cljs.core.first(cljs.core.vals(renders_23403));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22componentFunction\x22,\x22componentFunction\x22,825866104).cljs$core$IFn$_invoke$arity$1(fmap))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22:component-function is no longer supported, use :reagent-render instead.\x22,\x22\\n\x22,\x22(not (:componentFunction fmap))\x22].join(\x27\x27)));\n}\n\nif((cljs.core.count(renders_23403) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Missing reagent-render\x22,\x22\\n\x22,\x22(pos? (count renders))\x22].join(\x27\x27)));\n}\n\nif(((1) \x3d\x3d\x3d cljs.core.count(renders_23403))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Too many render functions supplied\x22,\x22\\n\x22,\x22(\x3d\x3d 1 (count renders))\x22].join(\x27\x27)));\n}\n\nif(cljs.core.ifn_QMARK_(render_fun_23404)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([render_fun_23404], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? render-fun)\x22].join(\x27\x27)));\n}\n\n\nvar render_fun \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383).cljs$core$IFn$_invoke$arity$1(fmap);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454).cljs$core$IFn$_invoke$arity$1(fmap);\n}\n})();\nvar legacy_render \x3d (new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383).cljs$core$IFn$_invoke$arity$1(fmap) \x3d\x3d null);\nvar name \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22displayName\x22,\x22displayName\x22,-809144601).cljs$core$IFn$_invoke$arity$1(fmap);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d reagent.impl.util.fun_name(render_fun);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22reagent\x22));\n}\n}\n})();\nvar fmap__$1 \x3d cljs.core.reduce_kv((function (m,k,v){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,reagent.impl.component.get_wrapper(k,v));\n}),cljs.core.PersistentArrayMap.EMPTY,fmap);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(fmap__$1,new cljs.core.Keyword(null,\x22displayName\x22,\x22displayName\x22,-809144601),name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22cljsLegacyRender\x22,\x22cljsLegacyRender\x22,-1527295613),legacy_render,new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383),render_fun,new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454),(function reagent$impl$component$wrap_funs_$_render(){\nvar c \x3d this;\nif(reagent.impl.util._STAR_non_reactive_STAR_){\nreturn reagent.impl.component.do_render(c,compiler);\n} else {\nvar rat \x3d reagent.impl.component.goog$module$goog$object.get(c,\x22cljsRatom\x22);\nreagent.impl.batching.mark_rendered(c);\n\nif((rat \x3d\x3d null)){\nreturn reagent.ratom.run_in_reaction((function (){\nreturn reagent.impl.component.do_render(c,compiler);\n}),c,\x22cljsRatom\x22,reagent.impl.batching.queue_render,reagent.impl.component.rat_opts);\n} else {\nreturn rat._run(false);\n}\n}\n})], 0));\n});\nreagent.impl.component.map_to_js \x3d (function reagent$impl$component$map_to_js(m){\nreturn cljs.core.reduce_kv((function (o,k,v){\nvar G__23337 \x3d o;\nreagent.impl.component.goog$module$goog$object.set(G__23337,cljs.core.name(k),v);\n\nreturn G__23337;\n}),({}),m);\n});\nreagent.impl.component.cljsify \x3d (function reagent$impl$component$cljsify(body,compiler){\nreturn reagent.impl.component.wrap_funs(reagent.impl.component.add_obligatory(reagent.impl.component.camelify_map_keys(body)),compiler);\n});\nreagent.impl.component.built_in_static_method_names \x3d new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22childContextTypes\x22,\x22childContextTypes\x22,578717991),new cljs.core.Keyword(null,\x22contextTypes\x22,\x22contextTypes\x22,-2023853910),new cljs.core.Keyword(null,\x22contextType\x22,\x22contextType\x22,1033066077),new cljs.core.Keyword(null,\x22getDerivedStateFromProps\x22,\x22getDerivedStateFromProps\x22,-991834739),new cljs.core.Keyword(null,\x22getDerivedStateFromError\x22,\x22getDerivedStateFromError\x22,166658477)], null);\n/**\n * Creates JS class based on provided Clojure map.\n * \n * Map keys should use `React.Component` method names (https://reactjs.org/docs/react-component.html),\n * and can be provided in snake-case or camelCase.\n * Constructor function is defined using key `:getInitialState`.\n * \n * React built-in static methods or properties are automatically defined as statics.\n */\nreagent.impl.component.create_class \x3d (function reagent$impl$component$create_class(body,compiler){\nif(cljs.core.map_QMARK_(body)){\n} else {\nthrow (new Error(\x22Assert failed: (map? body)\x22));\n}\n\nvar body__$1 \x3d reagent.impl.component.cljsify(body,compiler);\nvar methods$ \x3d reagent.impl.component.map_to_js(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc,body__$1,new cljs.core.Keyword(null,\x22displayName\x22,\x22displayName\x22,-809144601),new cljs.core.Keyword(null,\x22getInitialState\x22,\x22getInitialState\x22,1541760916),new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454),new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383),reagent.impl.component.built_in_static_method_names], 0)));\nvar static_methods \x3d reagent.impl.component.map_to_js(cljs.core.select_keys(body__$1,reagent.impl.component.built_in_static_method_names));\nvar display_name \x3d new cljs.core.Keyword(null,\x22displayName\x22,\x22displayName\x22,-809144601).cljs$core$IFn$_invoke$arity$1(body__$1);\nvar get_initial_state \x3d new cljs.core.Keyword(null,\x22getInitialState\x22,\x22getInitialState\x22,1541760916).cljs$core$IFn$_invoke$arity$1(body__$1);\nvar construct \x3d new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811).cljs$core$IFn$_invoke$arity$1(body__$1);\nvar cmp \x3d (function (props,context,updater){\nvar this$ \x3d this;\nmodule$node_modules$react$index.Component.call(this$,props,context,updater);\n\nif(cljs.core.truth_(construct)){\n(construct.cljs$core$IFn$_invoke$arity$2 ? construct.cljs$core$IFn$_invoke$arity$2(this$,props) : construct.call(null,this$,props));\n} else {\n}\n\nif(cljs.core.truth_(get_initial_state)){\n(this$.state \x3d (get_initial_state.cljs$core$IFn$_invoke$arity$1 ? get_initial_state.cljs$core$IFn$_invoke$arity$1(this$) : get_initial_state.call(null,this$)));\n} else {\n}\n\n(this$.cljsMountOrder \x3d reagent.impl.batching.next_mount_count());\n\nreturn this$;\n});\nreagent.impl.component.goog$module$goog$object.extend(cmp.prototype,module$node_modules$react$index.Component.prototype,methods$);\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454).cljs$core$IFn$_invoke$arity$1(body__$1))){\n(cmp.prototype.render \x3d new cljs.core.Keyword(null,\x22render\x22,\x22render\x22,-1408033454).cljs$core$IFn$_invoke$arity$1(body__$1));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383).cljs$core$IFn$_invoke$arity$1(body__$1))){\n(cmp.prototype.reagentRender \x3d new cljs.core.Keyword(null,\x22reagentRender\x22,\x22reagentRender\x22,-358306383).cljs$core$IFn$_invoke$arity$1(body__$1));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22cljsLegacyRender\x22,\x22cljsLegacyRender\x22,-1527295613).cljs$core$IFn$_invoke$arity$1(body__$1))){\n(cmp.prototype.cljsLegacyRender \x3d new cljs.core.Keyword(null,\x22cljsLegacyRender\x22,\x22cljsLegacyRender\x22,-1527295613).cljs$core$IFn$_invoke$arity$1(body__$1));\n} else {\n}\n\nreagent.impl.component.goog$module$goog$object.extend(cmp,module$node_modules$react$index.Component,static_methods);\n\nif(cljs.core.truth_(display_name)){\n(cmp.displayName \x3d display_name);\n\n(cmp.cljs$lang$ctorStr \x3d display_name);\n\n(cmp.cljs$lang$ctorPrWriter \x3d (function (this$,writer,opt){\nreturn cljs.core._write(writer,display_name);\n}));\n\nObject.defineProperty(cmp,\x22name\x22,({\x22value\x22: display_name, \x22writable\x22: false}));\n} else {\n}\n\n(cmp.cljs$lang$type \x3d true);\n\n(cmp.prototype.constructor \x3d cmp);\n\nreturn cmp;\n});\nreagent.impl.component.cached_react_class \x3d (function reagent$impl$component$cached_react_class(compiler,c){\nreturn reagent.impl.component.goog$module$goog$object.get(c,reagent.impl.protocols.get_id(compiler));\n});\nreagent.impl.component.cache_react_class \x3d (function reagent$impl$component$cache_react_class(compiler,c,constructor$){\nreagent.impl.component.goog$module$goog$object.set(c,reagent.impl.protocols.get_id(compiler),constructor$);\n\nreturn constructor$;\n});\nreagent.impl.component.fn_to_class \x3d (function reagent$impl$component$fn_to_class(compiler,f){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? f)\x22].join(\x27\x27)));\n}\n\nif((!((!(((reagent.impl.component.react_class_QMARK_(f)) \x26\x26 ((!(reagent.impl.component.reagent_class_QMARK_(f)))))))))){\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,\x22Using native React classes directly in Hiccup forms \x22,\x22is not supported. Use create-element or \x22,\x22adapt-react-class instead: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d reagent.impl.util.fun_name(f);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn f;\n}\n})()),reagent.impl.component.comp_name()].join(\x27\x27));\n} else {\n}\n} else {\n}\n\nif(reagent.impl.component.reagent_class_QMARK_(f)){\nreturn reagent.impl.component.cache_react_class(compiler,f,f);\n} else {\nvar spec \x3d cljs.core.meta(f);\nvar withrender \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(null,\x22reagent-render\x22,\x22reagent-render\x22,-985383853),f);\nvar res \x3d reagent.impl.component.create_class(withrender,compiler);\nreturn reagent.impl.component.cache_react_class(compiler,f,res);\n}\n});\nreagent.impl.component.as_class \x3d (function reagent$impl$component$as_class(tag,compiler){\nvar temp__5806__auto__ \x3d reagent.impl.component.cached_react_class(compiler,tag);\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn reagent.impl.component.fn_to_class(compiler,tag);\n} else {\nvar cached_class \x3d temp__5806__auto__;\nreturn cached_class;\n}\n});\nreagent.impl.component.reactify_component \x3d (function reagent$impl$component$reactify_component(comp,compiler){\nif(reagent.impl.component.react_class_QMARK_(comp)){\nreturn comp;\n} else {\nreturn reagent.impl.component.as_class(comp,compiler);\n}\n});\nreagent.impl.component.functional_wrap_render \x3d (function reagent$impl$component$functional_wrap_render(compiler,c){\nwhile(true){\nvar f \x3d c.reagentRender;\nvar _ \x3d ((cljs.core.ifn_QMARK_(f))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? f)\x22].join(\x27\x27)))})());\nvar argv \x3d c.argv;\nvar res \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,argv);\nif(cljs.core.vector_QMARK_(res)){\nreturn reagent.impl.protocols.as_element(compiler,res);\n} else {\nif(cljs.core.ifn_QMARK_(res)){\nvar f__$1 \x3d ((reagent.impl.component.reagent_class_QMARK_(res))?((function (compiler,c,f,_,argv,res){\nreturn (function() { \nvar G__23409__delegate \x3d function (args){\nreturn reagent.impl.protocols.as_element(compiler,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,res,args));\n};\nvar G__23409 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23410__i \x3d 0, G__23410__a \x3d new Array(arguments.length - 0);\nwhile (G__23410__i \x3c G__23410__a.length) {G__23410__a[G__23410__i] \x3d arguments[G__23410__i + 0]; ++G__23410__i;}\n args \x3d new cljs.core.IndexedSeq(G__23410__a,0,null);\n} \nreturn G__23409__delegate.call(this,args);};\nG__23409.cljs$lang$maxFixedArity \x3d 0;\nG__23409.cljs$lang$applyTo \x3d (function (arglist__23411){\nvar args \x3d cljs.core.seq(arglist__23411);\nreturn G__23409__delegate(args);\n});\nG__23409.cljs$core$IFn$_invoke$arity$variadic \x3d G__23409__delegate;\nreturn G__23409;\n})()\n;})(compiler,c,f,_,argv,res))\n:res);\n(c.reagentRender \x3d f__$1);\n\nvar G__23412 \x3d compiler;\nvar G__23413 \x3d c;\ncompiler \x3d G__23412;\nc \x3d G__23413;\ncontinue;\n} else {\nreturn res;\n\n}\n}\nbreak;\n}\n});\nreagent.impl.component.functional_do_render \x3d (function reagent$impl$component$functional_do_render(compiler,c){\nvar _STAR_current_component_STAR__orig_val__23360 \x3d reagent.impl.component._STAR_current_component_STAR_;\nvar _STAR_current_component_STAR__temp_val__23361 \x3d c;\n(reagent.impl.component._STAR_current_component_STAR_ \x3d _STAR_current_component_STAR__temp_val__23361);\n\ntry{return reagent.impl.component.functional_wrap_render(compiler,c);\n}finally {(reagent.impl.component._STAR_current_component_STAR_ \x3d _STAR_current_component_STAR__orig_val__23360);\n}});\nreagent.impl.component.functional_render \x3d (function reagent$impl$component$functional_render(compiler,jsprops){\nif(reagent.impl.util._STAR_non_reactive_STAR_){\nreturn reagent.impl.component.functional_do_render(compiler,jsprops);\n} else {\nvar argv \x3d jsprops.argv;\nvar tag \x3d jsprops.reagentRender;\nvar vec__23364 \x3d module$node_modules$react$index.useState((0));\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23364,(0),null);\nvar update_count \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23364,(1),null);\nvar state_ref \x3d module$node_modules$react$index.useRef();\nvar ___$1 \x3d (cljs.core.truth_(state_ref.current)?null:(function (){var obj \x3d ({});\n(obj.forceUpdate \x3d (function (){\nreturn (update_count.cljs$core$IFn$_invoke$arity$1 ? update_count.cljs$core$IFn$_invoke$arity$1(cljs.core.inc) : update_count.call(null,cljs.core.inc));\n}));\n\n(obj.cljsMountOrder \x3d reagent.impl.batching.next_mount_count());\n\n(obj.constructor \x3d tag);\n\n(obj.reagentRender \x3d tag);\n\nreturn (state_ref.current \x3d obj);\n})());\nvar reagent_state \x3d state_ref.current;\nvar rat \x3d reagent.impl.component.goog$module$goog$object.get(reagent_state,\x22cljsRatom\x22);\nmodule$node_modules$react$index.useEffect((function reagent$impl$component$functional_render_$_mount(){\nreturn (function reagent$impl$component$functional_render_$_mount_$_unmount(){\nvar G__23369 \x3d reagent.impl.component.goog$module$goog$object.get(reagent_state,\x22cljsRatom\x22);\nif((G__23369 \x3d\x3d null)){\nreturn null;\n} else {\nreturn reagent.ratom.dispose_BANG_(G__23369);\n}\n});\n}),[]);\n\n(reagent_state.argv \x3d argv);\n\nreagent.impl.batching.mark_rendered(reagent_state);\n\nif((rat \x3d\x3d null)){\nreturn reagent.ratom.run_in_reaction((function (){\nreturn reagent.impl.component.functional_do_render(compiler,reagent_state);\n}),reagent_state,\x22cljsRatom\x22,reagent.impl.batching.queue_render,reagent.impl.component.rat_opts);\n} else {\nreturn rat._run(false);\n}\n}\n});\nreagent.impl.component.functional_render_memo_fn \x3d (function reagent$impl$component$functional_render_memo_fn(prev_props,next_props){\nvar old_argv \x3d prev_props.argv;\nvar new_argv \x3d next_props.argv;\nvar and__5043__auto__ \x3d reagent.impl.util._STAR_always_update_STAR_ \x3d\x3d\x3d false;\nif(and__5043__auto__){\ntry{return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old_argv,new_argv);\n}catch (e23376){var e \x3d e23376;\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,\x22Exception thrown while comparing argv\x27s in shouldComponentUpdate: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(old_argv),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new_argv),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(\x27\x27));\n} else {\n}\n\nreturn false;\n}} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Create copy of functional-render with displayName set to name of the\n * original Reagent component.\n */\nreagent.impl.component.functional_render_fn \x3d (function reagent$impl$component$functional_render_fn(compiler,tag){\nvar or__5045__auto__ \x3d reagent.impl.component.cached_react_class(compiler,tag);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar f \x3d (function (jsprops){\nreturn reagent.impl.component.functional_render(compiler,jsprops);\n});\nvar display_name \x3d reagent.impl.util.fun_name(tag);\nvar _ \x3d (f.displayName \x3d display_name);\nvar ___$1 \x3d Object.defineProperty(f,\x22name\x22,({\x22value\x22: display_name, \x22writable\x22: false}));\nvar f__$1 \x3d module$node_modules$react$index.memo(f,reagent.impl.component.functional_render_memo_fn);\nreagent.impl.component.cache_react_class(compiler,tag,f__$1);\n\nreturn f__$1;\n}\n});\n"); +SHADOW_ENV.evalLoad("reagent.impl.input.js", true , "goog.provide(\x27reagent.impl.input\x27);\nreagent.impl.input.these_inputs_have_selection_api \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [\x22url\x22,null,\x22tel\x22,null,\x22text\x22,null,\x22textarea\x22,null,\x22password\x22,null,\x22search\x22,null], null), null);\nreagent.impl.input.has_selection_api_QMARK_ \x3d (function reagent$impl$input$has_selection_api_QMARK_(input_type){\nreturn cljs.core.contains_QMARK_(reagent.impl.input.these_inputs_have_selection_api,input_type);\n});\nreagent.impl.input.input_node_set_value \x3d (function reagent$impl$input$input_node_set_value(node,rendered_value,dom_value,component,p__23400){\nvar map__23401 \x3d p__23400;\nvar map__23401__$1 \x3d cljs.core.__destructure_map(map__23401);\nvar on_write \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23401__$1,new cljs.core.Keyword(null,\x22on-write\x22,\x22on-write\x22,31519475));\nif((!((((node \x3d\x3d\x3d document.activeElement)) \x26\x26 (((reagent.impl.input.has_selection_api_QMARK_(node.type)) \x26\x26 (((typeof rendered_value \x3d\x3d\x3d \x27string\x27) \x26\x26 (typeof dom_value \x3d\x3d\x3d \x27string\x27))))))))){\n(component.cljsDOMValue \x3d rendered_value);\n\n(node.value \x3d rendered_value);\n\nif(cljs.core.fn_QMARK_(on_write)){\nreturn (on_write.cljs$core$IFn$_invoke$arity$1 ? on_write.cljs$core$IFn$_invoke$arity$1(rendered_value) : on_write.call(null,rendered_value));\n} else {\nreturn null;\n}\n} else {\nvar node_value \x3d node.value;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(node_value,dom_value)){\nreturn reagent.impl.batching.do_after_render((function (){\nreturn (reagent.impl.input.input_component_set_value.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.input.input_component_set_value.cljs$core$IFn$_invoke$arity$1(component) : reagent.impl.input.input_component_set_value.call(null,component));\n}));\n} else {\nvar existing_offset_from_end \x3d (cljs.core.count(node_value) - node.selectionStart);\nvar new_cursor_offset \x3d (cljs.core.count(rendered_value) - existing_offset_from_end);\n(component.cljsDOMValue \x3d rendered_value);\n\n(node.value \x3d rendered_value);\n\nif(cljs.core.fn_QMARK_(on_write)){\n(on_write.cljs$core$IFn$_invoke$arity$1 ? on_write.cljs$core$IFn$_invoke$arity$1(rendered_value) : on_write.call(null,rendered_value));\n} else {\n}\n\n(node.selectionStart \x3d new_cursor_offset);\n\nreturn (node.selectionEnd \x3d new_cursor_offset);\n}\n}\n});\nreagent.impl.input.input_component_set_value \x3d (function reagent$impl$input$input_component_set_value(this$){\nif(cljs.core.truth_(this$.cljsInputLive)){\n(this$.cljsInputDirty \x3d false);\n\nvar rendered_value \x3d this$.cljsRenderedValue;\nvar dom_value \x3d this$.cljsDOMValue;\nvar node \x3d this$.inputEl;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(rendered_value,dom_value)){\nreturn reagent.impl.input.input_node_set_value(node,rendered_value,dom_value,this$,cljs.core.PersistentArrayMap.EMPTY);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nreagent.impl.input.input_handle_change \x3d (function reagent$impl$input$input_handle_change(this$,on_change,e){\n(this$.cljsDOMValue \x3d e.target.value);\n\nif(cljs.core.truth_(this$.cljsInputDirty)){\n} else {\n(this$.cljsInputDirty \x3d true);\n\nreagent.impl.batching.do_after_render((function (){\nreturn reagent.impl.input.input_component_set_value(this$);\n}));\n}\n\nreturn (on_change.cljs$core$IFn$_invoke$arity$1 ? on_change.cljs$core$IFn$_invoke$arity$1(e) : on_change.call(null,e));\n});\nreagent.impl.input.input_render_setup \x3d (function reagent$impl$input$input_render_setup(this$,jsprops){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (!((jsprops \x3d\x3d null)));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d jsprops.hasOwnProperty(\x22onChange\x22);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn jsprops.hasOwnProperty(\x22value\x22);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar v \x3d jsprops.value;\nvar value \x3d (((v \x3d\x3d null))?\x22\x22:v);\nvar on_change \x3d jsprops.onChange;\nvar original_ref_fn \x3d jsprops.ref;\nif(cljs.core.truth_(this$.cljsInputLive)){\n} else {\n(this$.cljsInputLive \x3d true);\n\n(this$.cljsDOMValue \x3d value);\n}\n\nif(cljs.core.truth_(this$.reagentRefFn)){\n} else {\n(this$.reagentRefFn \x3d ((cljs.core.fn_QMARK_(original_ref_fn))?(function (el){\n(this$.inputEl \x3d el);\n\nreturn (original_ref_fn.cljs$core$IFn$_invoke$arity$1 ? original_ref_fn.cljs$core$IFn$_invoke$arity$1(el) : original_ref_fn.call(null,el));\n}):(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_ref_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn original_ref_fn.hasOwnProperty(\x22current\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())?(function (el){\n(this$.inputEl \x3d el);\n\nreturn (original_ref_fn.current \x3d el);\n}):(function (el){\nreturn (this$.inputEl \x3d el);\n})\n)));\n}\n\n(this$.cljsRenderedValue \x3d value);\n\ndelete jsprops[\x22value\x22];\n\n(jsprops.defaultValue \x3d value);\n\n(jsprops.onChange \x3d (function (p1__23422_SHARP_){\nreturn reagent.impl.input.input_handle_change(this$,on_change,p1__23422_SHARP_);\n}));\n\nreturn (jsprops.ref \x3d this$.reagentRefFn);\n} else {\nreturn null;\n}\n});\nreagent.impl.input.input_unmount \x3d (function reagent$impl$input$input_unmount(this$){\nreturn (this$.cljsInputLive \x3d null);\n});\nreagent.impl.input.input_component_QMARK_ \x3d (function reagent$impl$input$input_component_QMARK_(x){\nvar G__23466 \x3d x;\nswitch (G__23466) {\ncase \x22input\x22:\ncase \x22textarea\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nreagent.impl.input.input_spec \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22display-name\x22,\x22display-name\x22,694513143),\x22ReagentInput\x22,new cljs.core.Keyword(null,\x22component-did-update\x22,\x22component-did-update\x22,-1468549173),reagent.impl.input.input_component_set_value,new cljs.core.Keyword(null,\x22component-will-unmount\x22,\x22component-will-unmount\x22,-2058314698),reagent.impl.input.input_unmount,new cljs.core.Keyword(null,\x22reagent-render\x22,\x22reagent-render\x22,-985383853),(function (argv,component,jsprops,first_child,compiler){\nvar this$ \x3d reagent.impl.component._STAR_current_component_STAR_;\nreagent.impl.input.input_render_setup(this$,jsprops);\n\nreturn reagent.impl.protocols.make_element(compiler,argv,component,jsprops,first_child);\n})], null);\n"); +SHADOW_ENV.evalLoad("reagent.impl.template.js", true , "goog.provide(\x27reagent.impl.template\x27);\ngoog.scope(function(){\n reagent.impl.template.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nvar module$node_modules$react$index\x3dshadow.js.require(\x22module$node_modules$react$index\x22, {});\n/**\n * Regular expression that parses a CSS-style id and class\n * from a tag name.\n */\nreagent.impl.template.re_tag \x3d /([^\\s\\.#]+)(?:#([^\\s\\.#]+))?(?:\\.([^\\s#]+))?/;\n\n/**\n* @constructor\n*/\nreagent.impl.template.NativeWrapper \x3d (function (tag,id,className){\nthis.tag \x3d tag;\nthis.id \x3d id;\nthis.className \x3d className;\n});\n\n(reagent.impl.template.NativeWrapper.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22className\x22,\x22className\x22,-342755530,null)], null);\n}));\n\n(reagent.impl.template.NativeWrapper.cljs$lang$type \x3d true);\n\n(reagent.impl.template.NativeWrapper.cljs$lang$ctorStr \x3d \x22reagent.impl.template/NativeWrapper\x22);\n\n(reagent.impl.template.NativeWrapper.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.impl.template/NativeWrapper\x22);\n}));\n\n/**\n * Positional factory function for reagent.impl.template/NativeWrapper.\n */\nreagent.impl.template.__GT_NativeWrapper \x3d (function reagent$impl$template$__GT_NativeWrapper(tag,id,className){\nreturn (new reagent.impl.template.NativeWrapper(tag,id,className));\n});\n\nreagent.impl.template.adapt_react_class \x3d (function reagent$impl$template$adapt_react_class(c){\nreturn reagent.impl.template.__GT_NativeWrapper(c,null,null);\n});\nreagent.impl.template.hiccup_tag_QMARK_ \x3d (function reagent$impl$template$hiccup_tag_QMARK_(x){\nreturn ((reagent.impl.util.named_QMARK_(x)) || (typeof x \x3d\x3d\x3d \x27string\x27));\n});\nreagent.impl.template.valid_tag_QMARK_ \x3d (function reagent$impl$template$valid_tag_QMARK_(x){\nreturn ((reagent.impl.template.hiccup_tag_QMARK_(x)) || (((cljs.core.ifn_QMARK_(x)) || ((x instanceof reagent.impl.template.NativeWrapper)))));\n});\nreagent.impl.template.prop_name_cache \x3d ({\x22class\x22: \x22className\x22, \x22for\x22: \x22htmlFor\x22, \x22charset\x22: \x22charSet\x22});\nreagent.impl.template.cache_get \x3d (function reagent$impl$template$cache_get(o,k){\nif(o.hasOwnProperty(k)){\nreturn reagent.impl.template.goog$module$goog$object.get(o,k);\n} else {\nreturn null;\n}\n});\nreagent.impl.template.cached_prop_name \x3d (function reagent$impl$template$cached_prop_name(k){\nif(reagent.impl.util.named_QMARK_(k)){\nvar temp__5806__auto__ \x3d reagent.impl.template.cache_get(reagent.impl.template.prop_name_cache,cljs.core.name(k));\nif((temp__5806__auto__ \x3d\x3d null)){\nvar v \x3d reagent.impl.util.dash_to_prop_name(k);\nreagent.impl.template.goog$module$goog$object.set(reagent.impl.template.prop_name_cache,cljs.core.name(k),v);\n\nreturn v;\n} else {\nvar k_SINGLEQUOTE_ \x3d temp__5806__auto__;\nreturn k_SINGLEQUOTE_;\n}\n} else {\nreturn k;\n}\n});\nreagent.impl.template.kv_conv \x3d (function reagent$impl$template$kv_conv(o,k,v){\nvar G__23750 \x3d o;\nreagent.impl.template.goog$module$goog$object.set(G__23750,reagent.impl.template.cached_prop_name(k),(reagent.impl.template.convert_prop_value.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.template.convert_prop_value.cljs$core$IFn$_invoke$arity$1(v) : reagent.impl.template.convert_prop_value.call(null,v)));\n\nreturn G__23750;\n});\nreagent.impl.template.convert_prop_value \x3d (function reagent$impl$template$convert_prop_value(x){\nif(reagent.impl.util.js_val_QMARK_(x)){\nreturn x;\n} else {\nif(reagent.impl.util.named_QMARK_(x)){\nreturn cljs.core.name(x);\n} else {\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.reduce_kv(reagent.impl.template.kv_conv,({}),x);\n} else {\nif(cljs.core.coll_QMARK_(x)){\nreturn cljs.core.clj__GT_js(x);\n} else {\nif(cljs.core.ifn_QMARK_(x)){\nreturn (function() { \nvar G__23793__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(x,args);\n};\nvar G__23793 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23794__i \x3d 0, G__23794__a \x3d new Array(arguments.length - 0);\nwhile (G__23794__i \x3c G__23794__a.length) {G__23794__a[G__23794__i] \x3d arguments[G__23794__i + 0]; ++G__23794__i;}\n args \x3d new cljs.core.IndexedSeq(G__23794__a,0,null);\n} \nreturn G__23793__delegate.call(this,args);};\nG__23793.cljs$lang$maxFixedArity \x3d 0;\nG__23793.cljs$lang$applyTo \x3d (function (arglist__23795){\nvar args \x3d cljs.core.seq(arglist__23795);\nreturn G__23793__delegate(args);\n});\nG__23793.cljs$core$IFn$_invoke$arity$variadic \x3d G__23793__delegate;\nreturn G__23793;\n})()\n;\n} else {\nreturn cljs.core.clj__GT_js(x);\n\n}\n}\n}\n}\n}\n});\nreagent.impl.template.custom_prop_name_cache \x3d ({});\nreagent.impl.template.cached_custom_prop_name \x3d (function reagent$impl$template$cached_custom_prop_name(k){\nif(reagent.impl.util.named_QMARK_(k)){\nvar temp__5806__auto__ \x3d reagent.impl.template.cache_get(reagent.impl.template.custom_prop_name_cache,cljs.core.name(k));\nif((temp__5806__auto__ \x3d\x3d null)){\nvar v \x3d reagent.impl.util.dash_to_prop_name(k);\nreagent.impl.template.goog$module$goog$object.set(reagent.impl.template.custom_prop_name_cache,cljs.core.name(k),v);\n\nreturn v;\n} else {\nvar k_SINGLEQUOTE_ \x3d temp__5806__auto__;\nreturn k_SINGLEQUOTE_;\n}\n} else {\nreturn k;\n}\n});\nreagent.impl.template.custom_kv_conv \x3d (function reagent$impl$template$custom_kv_conv(o,k,v){\nvar G__23755 \x3d o;\nreagent.impl.template.goog$module$goog$object.set(G__23755,reagent.impl.template.cached_custom_prop_name(k),reagent.impl.template.convert_prop_value(v));\n\nreturn G__23755;\n});\nreagent.impl.template.convert_custom_prop_value \x3d (function reagent$impl$template$convert_custom_prop_value(x){\nif(reagent.impl.util.js_val_QMARK_(x)){\nreturn x;\n} else {\nif(reagent.impl.util.named_QMARK_(x)){\nreturn cljs.core.name(x);\n} else {\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.reduce_kv(reagent.impl.template.custom_kv_conv,({}),x);\n} else {\nif(cljs.core.coll_QMARK_(x)){\nreturn cljs.core.clj__GT_js(x);\n} else {\nif(cljs.core.ifn_QMARK_(x)){\nreturn (function() { \nvar G__23796__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(x,args);\n};\nvar G__23796 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23797__i \x3d 0, G__23797__a \x3d new Array(arguments.length - 0);\nwhile (G__23797__i \x3c G__23797__a.length) {G__23797__a[G__23797__i] \x3d arguments[G__23797__i + 0]; ++G__23797__i;}\n args \x3d new cljs.core.IndexedSeq(G__23797__a,0,null);\n} \nreturn G__23796__delegate.call(this,args);};\nG__23796.cljs$lang$maxFixedArity \x3d 0;\nG__23796.cljs$lang$applyTo \x3d (function (arglist__23798){\nvar args \x3d cljs.core.seq(arglist__23798);\nreturn G__23796__delegate(args);\n});\nG__23796.cljs$core$IFn$_invoke$arity$variadic \x3d G__23796__delegate;\nreturn G__23796;\n})()\n;\n} else {\nreturn cljs.core.clj__GT_js(x);\n\n}\n}\n}\n}\n}\n});\n/**\n * Takes the id and class from tag keyword, and adds them to the\n * other props. Parsed tag is JS object with :id and :class properties.\n */\nreagent.impl.template.set_id_class \x3d (function reagent$impl$template$set_id_class(props,id_class){\nvar id \x3d id_class.id;\nvar class$ \x3d id_class.className;\nvar G__23756 \x3d props;\nvar G__23756__$1 \x3d (((((!((id \x3d\x3d null)))) \x26\x26 ((new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092).cljs$core$IFn$_invoke$arity$1(props) \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23756,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id):G__23756);\nif(cljs.core.truth_(class$)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23756__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2(class$,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22className\x22,\x22className\x22,-1983287057).cljs$core$IFn$_invoke$arity$1(props);\n}\n})()));\n} else {\nreturn G__23756__$1;\n}\n});\nreagent.impl.template.convert_props \x3d (function reagent$impl$template$convert_props(props,id_class){\nvar class$ \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props);\nvar props__$1 \x3d reagent.impl.template.set_id_class((function (){var G__23757 \x3d props;\nif(cljs.core.truth_(class$)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23757,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(class$));\n} else {\nreturn G__23757;\n}\n})(),id_class);\nif(cljs.core.truth_(id_class.custom)){\nreturn reagent.impl.template.convert_custom_prop_value(props__$1);\n} else {\nreturn reagent.impl.template.convert_prop_value(props__$1);\n}\n});\nreagent.impl.template.make_element \x3d (function reagent$impl$template$make_element(this$,argv,component,jsprops,first_child){\nvar G__23758 \x3d (cljs.core.count(argv) - first_child);\nswitch (G__23758) {\ncase (0):\nreturn module$node_modules$react$index.createElement(component,jsprops);\n\nbreak;\ncase (1):\nreturn module$node_modules$react$index.createElement(component,jsprops,reagent.impl.protocols.as_element(this$,cljs.core.nth.cljs$core$IFn$_invoke$arity$3(argv,first_child,null)));\n\nbreak;\ndefault:\nreturn module$node_modules$react$index.createElement.apply(null,cljs.core.reduce_kv((function (a,k,v){\nif((k \x3e\x3d first_child)){\na.push(reagent.impl.protocols.as_element(this$,v));\n} else {\n}\n\nreturn a;\n}),[component,jsprops],argv));\n\n}\n});\n\n/**\n* @constructor\n*/\nreagent.impl.template.HiccupTag \x3d (function (tag,id,className,custom){\nthis.tag \x3d tag;\nthis.id \x3d id;\nthis.className \x3d className;\nthis.custom \x3d custom;\n});\n\n(reagent.impl.template.HiccupTag.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22className\x22,\x22className\x22,-342755530,null),new cljs.core.Symbol(null,\x22custom\x22,\x22custom\x22,1980683475,null)], null);\n}));\n\n(reagent.impl.template.HiccupTag.cljs$lang$type \x3d true);\n\n(reagent.impl.template.HiccupTag.cljs$lang$ctorStr \x3d \x22reagent.impl.template/HiccupTag\x22);\n\n(reagent.impl.template.HiccupTag.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.impl.template/HiccupTag\x22);\n}));\n\n/**\n * Positional factory function for reagent.impl.template/HiccupTag.\n */\nreagent.impl.template.__GT_HiccupTag \x3d (function reagent$impl$template$__GT_HiccupTag(tag,id,className,custom){\nreturn (new reagent.impl.template.HiccupTag(tag,id,className,custom));\n});\n\nreagent.impl.template.parse_tag \x3d (function reagent$impl$template$parse_tag(hiccup_tag){\nvar vec__23761 \x3d cljs.core.next(cljs.core.re_matches(reagent.impl.template.re_tag,cljs.core.name(hiccup_tag)));\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23761,(0),null);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23761,(1),null);\nvar className \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23761,(2),null);\nvar className__$1 \x3d (((className \x3d\x3d null))?null:clojure.string.replace(className,/\\./,\x22 \x22));\nif(cljs.core.truth_(tag)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Invalid tag: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccup_tag),\x22\x27\x22,reagent.impl.component.comp_name()].join(\x27\x27),\x22\\n\x22,\x22tag\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.template.__GT_HiccupTag(tag,id,className__$1,cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((-1),tag.indexOf(\x22-\x22)));\n});\nreagent.impl.template.reag_element \x3d (function reagent$impl$template$reag_element(tag,v,compiler){\nvar c \x3d reagent.impl.component.as_class(tag,compiler);\nvar jsprops \x3d ({});\n(jsprops.argv \x3d v);\n\nvar temp__5808__auto___23800 \x3d reagent.impl.util.react_key_from_vec(v);\nif((temp__5808__auto___23800 \x3d\x3d null)){\n} else {\nvar key_23801 \x3d temp__5808__auto___23800;\n(jsprops.key \x3d key_23801);\n}\n\nreturn module$node_modules$react$index.createElement(c,jsprops);\n});\nreagent.impl.template.function_element \x3d (function reagent$impl$template$function_element(tag,v,first_arg,compiler){\nvar jsprops \x3d ({});\n(jsprops.reagentRender \x3d tag);\n\n(jsprops.argv \x3d cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(v,first_arg));\n\nvar temp__5808__auto___23802 \x3d reagent.impl.util.react_key_from_vec(v);\nif((temp__5808__auto___23802 \x3d\x3d null)){\n} else {\nvar key_23803 \x3d temp__5808__auto___23802;\n(jsprops.key \x3d key_23803);\n}\n\nreturn module$node_modules$react$index.createElement(reagent.impl.component.functional_render_fn(compiler,tag),jsprops);\n});\n/**\n * If given tag is a Class, use it as a class,\n * else wrap in Reagent function wrapper.\n */\nreagent.impl.template.maybe_function_element \x3d (function reagent$impl$template$maybe_function_element(tag,v,compiler){\nif(reagent.impl.component.react_class_QMARK_(tag)){\nreturn reagent.impl.template.reag_element(tag,v,compiler);\n} else {\nreturn reagent.impl.template.function_element(tag,v,(1),compiler);\n}\n});\nreagent.impl.template.fragment_element \x3d (function reagent$impl$template$fragment_element(argv,compiler){\nvar props \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(argv,(1),null);\nvar hasprops \x3d (((props \x3d\x3d null)) || (cljs.core.map_QMARK_(props)));\nvar jsprops \x3d (function (){var or__5045__auto__ \x3d reagent.impl.template.convert_prop_value(((hasprops)?props:null));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ({});\n}\n})();\nvar first_child \x3d ((1) + ((hasprops)?(1):(0)));\nvar temp__5808__auto___23804 \x3d reagent.impl.util.react_key_from_vec(argv);\nif((temp__5808__auto___23804 \x3d\x3d null)){\n} else {\nvar key_23805 \x3d temp__5808__auto___23804;\n(jsprops.key \x3d key_23805);\n}\n\nreturn reagent.impl.protocols.make_element(compiler,argv,module$node_modules$react$index.Fragment,jsprops,first_child);\n});\nreagent.impl.template.tag_name_cache \x3d ({});\nreagent.impl.template.cached_parse \x3d (function reagent$impl$template$cached_parse(this$,x,_){\nvar temp__5806__auto__ \x3d reagent.impl.template.cache_get(reagent.impl.template.tag_name_cache,x);\nif((temp__5806__auto__ \x3d\x3d null)){\nvar v \x3d reagent.impl.template.parse_tag(x);\nreagent.impl.template.goog$module$goog$object.set(reagent.impl.template.tag_name_cache,x,v);\n\nreturn v;\n} else {\nvar s \x3d temp__5806__auto__;\nreturn s;\n}\n});\nreagent.impl.template.native_element \x3d (function reagent$impl$template$native_element(parsed,argv,first,compiler){\nvar component \x3d parsed.tag;\nvar props \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(argv,first,null);\nvar hasprops \x3d (((props \x3d\x3d null)) || (cljs.core.map_QMARK_(props)));\nvar jsprops \x3d (function (){var or__5045__auto__ \x3d reagent.impl.template.convert_props(((hasprops)?props:null),parsed);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ({});\n}\n})();\nvar first_child \x3d (first + ((hasprops)?(1):(0)));\nif(reagent.impl.input.input_component_QMARK_(component)){\nvar react_key \x3d reagent.impl.util.get_react_key(props);\nvar input_class \x3d (function (){var or__5045__auto__ \x3d compiler.reagentInput;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x \x3d reagent.impl.component.create_class(reagent.impl.input.input_spec,compiler);\n(compiler.reagentInput \x3d x);\n\nreturn x;\n}\n})();\nreturn reagent.impl.protocols.as_element(compiler,cljs.core.with_meta(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [input_class,argv,component,jsprops,first_child,compiler], null),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(react_key)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),react_key], null):null),cljs.core.meta(argv)], 0))));\n} else {\nvar temp__5808__auto___23808 \x3d reagent.impl.util.get_react_key(cljs.core.meta(argv));\nif((temp__5808__auto___23808 \x3d\x3d null)){\n} else {\nvar key_23809 \x3d temp__5808__auto___23808;\n(jsprops.key \x3d key_23809);\n}\n\nreturn reagent.impl.protocols.make_element(compiler,argv,component,jsprops,first_child);\n}\n});\nreagent.impl.template.raw_element \x3d (function reagent$impl$template$raw_element(comp,argv,compiler){\nvar props \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(argv,(2),null);\nvar jsprops \x3d (function (){var or__5045__auto__ \x3d props;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ({});\n}\n})();\nvar temp__5808__auto___23810 \x3d reagent.impl.util.get_react_key(cljs.core.meta(argv));\nif((temp__5808__auto___23810 \x3d\x3d null)){\n} else {\nvar key_23811 \x3d temp__5808__auto___23810;\n(jsprops.key \x3d key_23811);\n}\n\nreturn reagent.impl.protocols.make_element(compiler,argv,comp,jsprops,(3));\n});\nreagent.impl.template.expand_seq \x3d (function reagent$impl$template$expand_seq(s,compiler){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__23771_SHARP_){\nreturn reagent.impl.protocols.as_element(compiler,p1__23771_SHARP_);\n}),s));\n});\nreagent.impl.template.expand_seq_dev \x3d (function reagent$impl$template$expand_seq_dev(s,o,compiler){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (val){\nif(((cljs.core.vector_QMARK_(val)) \x26\x26 ((reagent.impl.util.react_key_from_vec(val) \x3d\x3d null)))){\n(o.no_key \x3d true);\n} else {\n}\n\nreturn reagent.impl.protocols.as_element(compiler,val);\n}),s));\n});\nreagent.impl.template.expand_seq_check \x3d (function reagent$impl$template$expand_seq_check(x,compiler){\nvar ctx \x3d ({});\nvar vec__23775 \x3d reagent.ratom.check_derefs((function (){\nreturn reagent.impl.template.expand_seq_dev(x,ctx,compiler);\n}));\nvar res \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23775,(0),null);\nvar derefed \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23775,(1),null);\nif(cljs.core.truth_(derefed)){\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic(x,reagent.impl.component.comp_name(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Reactive deref not supported in lazy seq, \x22,\x22it should be wrapped in doall\x22], 0))].join(\x27\x27));\n} else {\n}\n} else {\n}\n\nif(cljs.core.truth_(ctx.no_key)){\nif(reagent.debug.has_console){\n((reagent.debug.tracking)?reagent.debug.track_console:console).warn([\x22Warning: \x22,reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic(x,reagent.impl.component.comp_name(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Every element in a seq should have a unique :key\x22], 0))].join(\x27\x27));\n} else {\n}\n} else {\n}\n\nreturn res;\n});\nreagent.impl.template.hiccup_element \x3d (function reagent$impl$template$hiccup_element(v,compiler){\nwhile(true){\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(0),null);\nvar n \x3d cljs.core.name(tag);\nvar pos \x3d n.indexOf(\x22\x3e\x22);\nvar G__23779 \x3d pos;\nswitch (G__23779) {\ncase (-1):\nreturn reagent.impl.template.native_element(reagent.impl.protocols.parse_tag(compiler,n,tag),v,(1),compiler);\n\nbreak;\ncase (0):\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x3e\x22,n)){\nreturn null;\n} else {\nthrow (new Error([\x22Assert failed: \x22,reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic(v,reagent.impl.component.comp_name(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid Hiccup tag\x22], 0)),\x22\\n\x22,\x22(\x3d \\\x22\x3e\\\x22 n)\x22].join(\x27\x27)));\n}\n\nbreak;\ndefault:\nvar G__23813 \x3d cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(n,(0),pos),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.with_meta(v,null),(0),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(n,(pos + (1))))], null),cljs.core.meta(v));\nvar G__23814 \x3d compiler;\nv \x3d G__23813;\ncompiler \x3d G__23814;\ncontinue;\n\n}\nbreak;\n}\n});\nreagent.impl.template.vec_to_elem \x3d (function reagent$impl$template$vec_to_elem(v,compiler,fn_to_element){\nif((compiler \x3d\x3d null)){\nconsole.error(\x22vec-to-elem\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0)));\n} else {\n}\n\nif((cljs.core.count(v) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic(v,reagent.impl.component.comp_name(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Hiccup form should not be empty\x22], 0)),\x22\\n\x22,\x22(pos? (count v))\x22].join(\x27\x27)));\n}\n\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(0),null);\nif(reagent.impl.template.valid_tag_QMARK_(tag)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,reagent.impl.util.hiccup_err.cljs$core$IFn$_invoke$arity$variadic(v,reagent.impl.component.comp_name(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid Hiccup form\x22], 0)),\x22\\n\x22,\x22(valid-tag? tag)\x22].join(\x27\x27)));\n}\n\nvar G__23781 \x3d tag;\nvar G__23781__$1 \x3d (((G__23781 instanceof cljs.core.Keyword))?G__23781.fqn:null);\nswitch (G__23781__$1) {\ncase \x22\x3e\x22:\nreturn reagent.impl.template.native_element(reagent.impl.template.__GT_HiccupTag(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null),null,null,null),v,(2),compiler);\n\nbreak;\ncase \x22r\x3e\x22:\nreturn reagent.impl.template.raw_element(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null),v,compiler);\n\nbreak;\ncase \x22f\x3e\x22:\nreturn reagent.impl.template.function_element(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null),v,(2),compiler);\n\nbreak;\ncase \x22\x3c\x3e\x22:\nreturn reagent.impl.template.fragment_element(v,compiler);\n\nbreak;\ndefault:\nif(reagent.impl.template.hiccup_tag_QMARK_(tag)){\nreturn reagent.impl.template.hiccup_element(v,compiler);\n} else {\nif((tag instanceof reagent.impl.template.NativeWrapper)){\nreturn reagent.impl.template.native_element(tag,v,(1),compiler);\n} else {\nreturn (fn_to_element.cljs$core$IFn$_invoke$arity$3 ? fn_to_element.cljs$core$IFn$_invoke$arity$3(tag,v,compiler) : fn_to_element.call(null,tag,v,compiler));\n\n}\n}\n\n}\n});\nreagent.impl.template.as_element \x3d (function reagent$impl$template$as_element(this$,x,fn_to_element){\nif(reagent.impl.util.js_val_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.vector_QMARK_(x)){\nreturn reagent.impl.template.vec_to_elem(x,this$,fn_to_element);\n} else {\nif(cljs.core.seq_QMARK_(x)){\nreturn reagent.impl.template.expand_seq_check(x,this$);\n\n} else {\nif(reagent.impl.util.named_QMARK_(x)){\nreturn cljs.core.name(x);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IPrintWithWriter$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,x))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn x;\n\n}\n}\n}\n}\n}\n});\nreagent.impl.template.create_compiler \x3d (function reagent$impl$template$create_compiler(opts){\nvar id \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22reagent-compiler\x22);\nvar fn_to_element \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22function-components\x22,\x22function-components\x22,1492814963).cljs$core$IFn$_invoke$arity$1(opts))?reagent.impl.template.maybe_function_element:reagent.impl.template.reag_element);\nvar parse_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22parse-tag\x22,\x22parse-tag\x22,1427313738),reagent.impl.template.cached_parse);\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.template !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.impl.template.t_reagent$impl$template23784 !\x3d\x3d \x27undefined\x27)){\n} else {\n\n/**\n* @constructor\n * @implements {reagent.impl.protocols.Compiler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nreagent.impl.template.t_reagent$impl$template23784 \x3d (function (opts,id,fn_to_element,parse_fn,meta23785){\nthis.opts \x3d opts;\nthis.id \x3d id;\nthis.fn_to_element \x3d fn_to_element;\nthis.parse_fn \x3d parse_fn;\nthis.meta23785 \x3d meta23785;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(reagent.impl.template.t_reagent$impl$template23784.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_23786,meta23785__$1){\nvar self__ \x3d this;\nvar _23786__$1 \x3d this;\nreturn (new reagent.impl.template.t_reagent$impl$template23784(self__.opts,self__.id,self__.fn_to_element,self__.parse_fn,meta23785__$1));\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_23786){\nvar self__ \x3d this;\nvar _23786__$1 \x3d this;\nreturn self__.meta23785;\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.reagent$impl$protocols$Compiler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.reagent$impl$protocols$Compiler$get_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.reagent$impl$protocols$Compiler$parse_tag$arity$3 \x3d (function (this$,tag_name,tag_value){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.parse_fn.cljs$core$IFn$_invoke$arity$3 ? self__.parse_fn.cljs$core$IFn$_invoke$arity$3(this$__$1,tag_name,tag_value) : self__.parse_fn.call(null,this$__$1,tag_name,tag_value));\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.reagent$impl$protocols$Compiler$as_element$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.impl.template.as_element(this$__$1,x,self__.fn_to_element);\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.prototype.reagent$impl$protocols$Compiler$make_element$arity$5 \x3d (function (this$,argv,component,jsprops,first_child){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn reagent.impl.template.make_element(this$__$1,argv,component,jsprops,first_child);\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22fn-to-element\x22,\x22fn-to-element\x22,-1764467095,null),new cljs.core.Symbol(null,\x22parse-fn\x22,\x22parse-fn\x22,-836029424,null),new cljs.core.Symbol(null,\x22meta23785\x22,\x22meta23785\x22,-432858738,null)], null);\n}));\n\n(reagent.impl.template.t_reagent$impl$template23784.cljs$lang$type \x3d true);\n\n(reagent.impl.template.t_reagent$impl$template23784.cljs$lang$ctorStr \x3d \x22reagent.impl.template/t_reagent$impl$template23784\x22);\n\n(reagent.impl.template.t_reagent$impl$template23784.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22reagent.impl.template/t_reagent$impl$template23784\x22);\n}));\n\n/**\n * Positional factory function for reagent.impl.template/t_reagent$impl$template23784.\n */\nreagent.impl.template.__GT_t_reagent$impl$template23784 \x3d (function reagent$impl$template$create_compiler_$___GT_t_reagent$impl$template23784(opts__$1,id__$1,fn_to_element__$1,parse_fn__$1,meta23785){\nreturn (new reagent.impl.template.t_reagent$impl$template23784(opts__$1,id__$1,fn_to_element__$1,parse_fn__$1,meta23785));\n});\n\n}\n\nreturn (new reagent.impl.template.t_reagent$impl$template23784(opts,id,fn_to_element,parse_fn,cljs.core.PersistentArrayMap.EMPTY));\n});\nreagent.impl.template.default_compiler_STAR_ \x3d reagent.impl.template.create_compiler(cljs.core.PersistentArrayMap.EMPTY);\nreagent.impl.template.default_compiler \x3d reagent.impl.template.default_compiler_STAR_;\nreagent.impl.template.set_default_compiler_BANG_ \x3d (function reagent$impl$template$set_default_compiler_BANG_(compiler){\nreturn (reagent.impl.template.default_compiler \x3d compiler);\n});\n"); +SHADOW_ENV.evalLoad("reagent.dom.js", true , "goog.provide(\x27reagent.dom\x27);\nvar module$node_modules$react_dom$index\x3dshadow.js.require(\x22module$node_modules$react_dom$index\x22, {});\nif((typeof reagent !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.dom !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof reagent.dom.roots !\x3d\x3d \x27undefined\x27)){\n} else {\nreagent.dom.roots \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nreagent.dom.unmount_comp \x3d (function reagent$dom$unmount_comp(container){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(reagent.dom.roots,cljs.core.dissoc,container);\n\nreturn module$node_modules$react_dom$index.unmountComponentAtNode(container);\n});\nreagent.dom.render_comp \x3d (function reagent$dom$render_comp(comp,container,callback){\nvar _STAR_always_update_STAR__orig_val__23854 \x3d reagent.impl.util._STAR_always_update_STAR_;\nvar _STAR_always_update_STAR__temp_val__23855 \x3d true;\n(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__temp_val__23855);\n\ntry{return module$node_modules$react_dom$index.render((comp.cljs$core$IFn$_invoke$arity$0 ? comp.cljs$core$IFn$_invoke$arity$0() : comp.call(null)),container,(function (){\nvar _STAR_always_update_STAR__orig_val__23858 \x3d reagent.impl.util._STAR_always_update_STAR_;\nvar _STAR_always_update_STAR__temp_val__23859 \x3d false;\n(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__temp_val__23859);\n\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(reagent.dom.roots,cljs.core.assoc,container,comp);\n\nreagent.impl.batching.flush_after_render();\n\nif((!((callback \x3d\x3d null)))){\nreturn (callback.cljs$core$IFn$_invoke$arity$0 ? callback.cljs$core$IFn$_invoke$arity$0() : callback.call(null));\n} else {\nreturn null;\n}\n}finally {(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__orig_val__23858);\n}}));\n}finally {(reagent.impl.util._STAR_always_update_STAR_ \x3d _STAR_always_update_STAR__orig_val__23854);\n}});\nreagent.dom.re_render_component \x3d (function reagent$dom$re_render_component(comp,container){\nreturn reagent.dom.render_comp(comp,container,null);\n});\n/**\n * Render a Reagent component into the DOM. The first argument may be\n * either a vector (using Reagent\x27s Hiccup syntax), or a React element.\n * The second argument should be a DOM node.\n * \n * Optionally takes a callback that is called when the component is in place.\n * \n * Returns the mounted component instance.\n */\nreagent.dom.render \x3d (function reagent$dom$render(var_args){\nvar G__23863 \x3d arguments.length;\nswitch (G__23863) {\ncase 2:\nreturn reagent.dom.render.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn reagent.dom.render.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(reagent.dom.render.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,container){\nreturn reagent.dom.render.cljs$core$IFn$_invoke$arity$3(comp,container,reagent.impl.template.default_compiler);\n}));\n\n(reagent.dom.render.cljs$core$IFn$_invoke$arity$3 \x3d (function (comp,container,callback_or_compiler){\nreagent.ratom.flush_BANG_();\n\nvar vec__23866 \x3d ((cljs.core.fn_QMARK_(callback_or_compiler))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [reagent.impl.template.default_compiler,callback_or_compiler], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [callback_or_compiler,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228).cljs$core$IFn$_invoke$arity$1(callback_or_compiler)], null));\nvar compiler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23866,(0),null);\nvar callback \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23866,(1),null);\nvar f \x3d (function (){\nreturn reagent.impl.protocols.as_element(compiler,((cljs.core.fn_QMARK_(comp))?(comp.cljs$core$IFn$_invoke$arity$0 ? comp.cljs$core$IFn$_invoke$arity$0() : comp.call(null)):comp));\n});\nreturn reagent.dom.render_comp(f,container,callback);\n}));\n\n(reagent.dom.render.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Remove a component from the given DOM node.\n */\nreagent.dom.unmount_component_at_node \x3d (function reagent$dom$unmount_component_at_node(container){\nreturn reagent.dom.unmount_comp(container);\n});\n/**\n * Returns the root DOM node of a mounted component.\n */\nreagent.dom.dom_node \x3d (function reagent$dom$dom_node(this$){\nreturn module$node_modules$react_dom$index.findDOMNode(this$);\n});\n/**\n * Force re-rendering of all mounted Reagent components. This is\n * probably only useful in a development environment, when you want to\n * update components in response to some dynamic changes to code.\n * \n * Note that force-update-all may not update root components. This\n * happens if a component \x27foo\x27 is mounted with `(render [foo])` (since\n * functions are passed by value, and not by reference, in\n * ClojureScript). To get around this you\x27ll have to introduce a layer\n * of indirection, for example by using `(render [#\x27foo])` instead.\n */\nreagent.dom.force_update_all \x3d (function reagent$dom$force_update_all(){\nreagent.ratom.flush_BANG_();\n\nvar seq__23871_23894 \x3d cljs.core.seq(cljs.core.deref(reagent.dom.roots));\nvar chunk__23872_23895 \x3d null;\nvar count__23873_23896 \x3d (0);\nvar i__23874_23897 \x3d (0);\nwhile(true){\nif((i__23874_23897 \x3c count__23873_23896)){\nvar vec__23885_23898 \x3d chunk__23872_23895.cljs$core$IIndexed$_nth$arity$2(null,i__23874_23897);\nvar container_23899 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23885_23898,(0),null);\nvar comp_23900 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23885_23898,(1),null);\nreagent.dom.re_render_component(comp_23900,container_23899);\n\n\nvar G__23901 \x3d seq__23871_23894;\nvar G__23902 \x3d chunk__23872_23895;\nvar G__23903 \x3d count__23873_23896;\nvar G__23904 \x3d (i__23874_23897 + (1));\nseq__23871_23894 \x3d G__23901;\nchunk__23872_23895 \x3d G__23902;\ncount__23873_23896 \x3d G__23903;\ni__23874_23897 \x3d G__23904;\ncontinue;\n} else {\nvar temp__5804__auto___23905 \x3d cljs.core.seq(seq__23871_23894);\nif(temp__5804__auto___23905){\nvar seq__23871_23906__$1 \x3d temp__5804__auto___23905;\nif(cljs.core.chunked_seq_QMARK_(seq__23871_23906__$1)){\nvar c__5568__auto___23907 \x3d cljs.core.chunk_first(seq__23871_23906__$1);\nvar G__23908 \x3d cljs.core.chunk_rest(seq__23871_23906__$1);\nvar G__23909 \x3d c__5568__auto___23907;\nvar G__23910 \x3d cljs.core.count(c__5568__auto___23907);\nvar G__23911 \x3d (0);\nseq__23871_23894 \x3d G__23908;\nchunk__23872_23895 \x3d G__23909;\ncount__23873_23896 \x3d G__23910;\ni__23874_23897 \x3d G__23911;\ncontinue;\n} else {\nvar vec__23888_23912 \x3d cljs.core.first(seq__23871_23906__$1);\nvar container_23913 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23888_23912,(0),null);\nvar comp_23914 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23888_23912,(1),null);\nreagent.dom.re_render_component(comp_23914,container_23913);\n\n\nvar G__23915 \x3d cljs.core.next(seq__23871_23906__$1);\nvar G__23916 \x3d null;\nvar G__23917 \x3d (0);\nvar G__23918 \x3d (0);\nseq__23871_23894 \x3d G__23915;\nchunk__23872_23895 \x3d G__23916;\ncount__23873_23896 \x3d G__23917;\ni__23874_23897 \x3d G__23918;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn reagent.impl.batching.flush_after_render();\n});\n"); +SHADOW_ENV.evalLoad("sketches.icons.js", true , "goog.provide(\x27sketches.icons\x27);\nsketches.icons.icon \x3d (function sketches$icons$icon(path,size,color){\nvar sizes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22small\x22,\x22small\x22,2133478704),(12),new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),(24),new cljs.core.Keyword(null,\x22large\x22,\x22large\x22,-196820544),(48)], null);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),(size.cljs$core$IFn$_invoke$arity$1 ? size.cljs$core$IFn$_invoke$arity$1(sizes) : size.call(null,sizes)),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),(size.cljs$core$IFn$_invoke$arity$1 ? size.cljs$core$IFn$_invoke$arity$1(sizes) : size.call(null,sizes)),new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 24 24\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),path,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),color], null)], null)], null);\n});\nsketches.icons.play_icon \x3d (function sketches$icons$play_icon(var_args){\nvar G__22787 \x3d arguments.length;\nswitch (G__22787) {\ncase 0:\nreturn sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sketches.icons.icon(\x22M3 22v-20l18 10-18 10z\x22,new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),\x22black\x22);\n}));\n\n(sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn sketches.icons.icon(\x22M3 22v-20l18 10-18 10z\x22,size,\x22black\x22);\n}));\n\n(sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,color){\nreturn sketches.icons.icon(\x22M3 22v-20l18 10-18 10z\x22,size,color);\n}));\n\n(sketches.icons.play_icon.cljs$lang$maxFixedArity \x3d 2);\n\nsketches.icons.pause_icon \x3d (function sketches$icons$pause_icon(var_args){\nvar G__22797 \x3d arguments.length;\nswitch (G__22797) {\ncase 0:\nreturn sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sketches.icons.icon(\x22M11 22h-4v-20h4v20zm6-20h-4v20h4v-20z\x22,new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),\x22black\x22);\n}));\n\n(sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn sketches.icons.icon(\x22M11 22h-4v-20h4v20zm6-20h-4v20h4v-20z\x22,size,\x22black\x22);\n}));\n\n(sketches.icons.pause_icon.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,color){\nreturn sketches.icons.icon(\x22M11 22h-4v-20h4v20zm6-20h-4v20h4v-20z\x22,size,color);\n}));\n\n(sketches.icons.pause_icon.cljs$lang$maxFixedArity \x3d 2);\n\nsketches.icons.stop_icon \x3d (function sketches$icons$stop_icon(var_args){\nvar G__22801 \x3d arguments.length;\nswitch (G__22801) {\ncase 0:\nreturn sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sketches.icons.icon(\x22M2 2h20v20h-20z\x22,new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),\x22black\x22);\n}));\n\n(sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn sketches.icons.icon(\x22M2 2h20v20h-20z\x22,size,\x22black\x22);\n}));\n\n(sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,color){\nreturn sketches.icons.icon(\x22M2 2h20v20h-20z\x22,size,color);\n}));\n\n(sketches.icons.stop_icon.cljs$lang$maxFixedArity \x3d 2);\n\nsketches.icons.reload_icon \x3d (function sketches$icons$reload_icon(var_args){\nvar G__22806 \x3d arguments.length;\nswitch (G__22806) {\ncase 0:\nreturn sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sketches.icons.icon(\x22M13.5 2c-5.629 0-10.212 4.436-10.475 10h-3.025l4.537 5.917 4.463-5.917h-2.975c.26-3.902 3.508-7 7.475-7 4.136 0 7.5 3.364 7.5 7.5s-3.364 7.5-7.5 7.5c-2.381 0-4.502-1.119-5.876-2.854l-1.847 2.449c1.919 2.088 4.664 3.405 7.723 3.405 5.798 0 10.5-4.702 10.5-10.5s-4.702-10.5-10.5-10.5z\x22,new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),\x22black\x22);\n}));\n\n(sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn sketches.icons.icon(\x22M13.5 2c-5.629 0-10.212 4.436-10.475 10h-3.025l4.537 5.917 4.463-5.917h-2.975c.26-3.902 3.508-7 7.475-7 4.136 0 7.5 3.364 7.5 7.5s-3.364 7.5-7.5 7.5c-2.381 0-4.502-1.119-5.876-2.854l-1.847 2.449c1.919 2.088 4.664 3.405 7.723 3.405 5.798 0 10.5-4.702 10.5-10.5s-4.702-10.5-10.5-10.5z\x22,size,\x22black\x22);\n}));\n\n(sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,color){\nreturn sketches.icons.icon(\x22M13.5 2c-5.629 0-10.212 4.436-10.475 10h-3.025l4.537 5.917 4.463-5.917h-2.975c.26-3.902 3.508-7 7.475-7 4.136 0 7.5 3.364 7.5 7.5s-3.364 7.5-7.5 7.5c-2.381 0-4.502-1.119-5.876-2.854l-1.847 2.449c1.919 2.088 4.664 3.405 7.723 3.405 5.798 0 10.5-4.702 10.5-10.5s-4.702-10.5-10.5-10.5z\x22,size,color);\n}));\n\n(sketches.icons.reload_icon.cljs$lang$maxFixedArity \x3d 2);\n\n"); +SHADOW_ENV.evalLoad("module$node_modules$p5$lib$p5_min.js", true , "shadow$provide.module$node_modules$p5$lib$p5_min\x3dfunction(global,require,module,exports){!function(e){\x22object\x22\x3d\x3dtypeof exports\x26\x26\x22undefined\x22!\x3dtypeof module?module.exports\x3de():\x22function\x22\x3d\x3dtypeof define\x26\x26define.amd?define([],e):(\x22undefined\x22!\x3dtypeof window?window:\x22undefined\x22!\x3dtypeof global?global:\x22undefined\x22!\x3dtypeof self?self:this).p5\x3de()}(function(){return function i(a,s,l){function u(t,e$jscomp$0){if(!s[t]){if(!a[t]){var r\x3d\x22function\x22\x3d\x3dtypeof require\x26\x26require;if(!e$jscomp$0\x26\x26r)return r(t,!0);if(c)return c(t,\n!0);e$jscomp$0\x3dError(\x22Cannot find module \x27\x22+t+\x22\x27\x22);throw e$jscomp$0.code\x3d\x22MODULE_NOT_FOUND\x22,e$jscomp$0;}e$jscomp$0\x3ds[t]\x3d{exports:{}};a[t][0].call(e$jscomp$0.exports,function(e){return u(a[t][1][e]||e)},e$jscomp$0,e$jscomp$0.exports,i,a,s,l)}return s[t].exports}for(var c\x3d\x22function\x22\x3d\x3dtypeof require\x26\x26require,e$jscomp$1\x3d0;e$jscomp$1\x3cl.length;e$jscomp$1++)u(l[e$jscomp$1]);return u}({1:[function(e$jscomp$1,t$jscomp$0,r$jscomp$1){function d(e){var t\x3de.length;if(0\x3ct%4)throw Error(\x22Invalid string. Length must be a multiple of 4\x22);\ne\x3de.indexOf(\x22\\x3d\x22);return-1\x3d\x3d\x3de\x26\x26(e\x3dt),[e,e\x3d\x3d\x3dt?0:4-e%4]}r$jscomp$1.byteLength\x3dfunction(e){e\x3dd(e);var n\x3de[1];return 3*(e[0]+n)/4-n};r$jscomp$1.toByteArray\x3dfunction(e){var n\x3dd(e);var r\x3dn[0];n\x3dn[1];var a\x3dnew c(3*(r+n)/4-n),s\x3d0,l\x3d0\x3cn?r-4:r;for(r\x3d0;r\x3cl;r+\x3d4){var t\x3du[e.charCodeAt(r)]\x3c\x3c18|u[e.charCodeAt(r+1)]\x3c\x3c12|u[e.charCodeAt(r+2)]\x3c\x3c6|u[e.charCodeAt(r+3)];a[s++]\x3dt\x3e\x3e16\x26255;a[s++]\x3dt\x3e\x3e8\x26255;a[s++]\x3d255\x26t}2\x3d\x3d\x3dn\x26\x26(t\x3du[e.charCodeAt(r)]\x3c\x3c2|u[e.charCodeAt(r+1)]\x3e\x3e4,a[s++]\x3d255\x26t);1\x3d\x3d\x3dn\x26\x26(t\x3du[e.charCodeAt(r)]\x3c\x3c\n10|u[e.charCodeAt(r+1)]\x3c\x3c4|u[e.charCodeAt(r+2)]\x3e\x3e2,a[s++]\x3dt\x3e\x3e8\x26255,a[s++]\x3d255\x26t);return a};r$jscomp$1.fromByteArray\x3dfunction(e$jscomp$0){for(var t,r\x3de$jscomp$0.length,n\x3dr%3,o\x3d[],i\x3d0,a\x3dr-n;i\x3ca;i+\x3d16383){var JSCompiler_temp_const\x3do,JSCompiler_temp_const$jscomp$0\x3dJSCompiler_temp_const.push;var JSCompiler_inline_result\x3dvoid 0;for(var n$jscomp$0,e\x3de$jscomp$0,r$jscomp$0\x3da\x3ci+16383?a:i+16383,i$jscomp$0\x3d[],a$jscomp$0\x3di;a$jscomp$0\x3cr$jscomp$0;a$jscomp$0+\x3d3)n$jscomp$0\x3d(e[a$jscomp$0]\x3c\x3c16\x2616711680)+(e[a$jscomp$0+\n1]\x3c\x3c8\x2665280)+(255\x26e[a$jscomp$0+2]),i$jscomp$0.push(s$jscomp$0[(JSCompiler_inline_result\x3dn$jscomp$0)\x3e\x3e18\x2663]+s$jscomp$0[JSCompiler_inline_result\x3e\x3e12\x2663]+s$jscomp$0[JSCompiler_inline_result\x3e\x3e6\x2663]+s$jscomp$0[63\x26JSCompiler_inline_result]);JSCompiler_inline_result\x3di$jscomp$0.join(\x22\x22);JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const,JSCompiler_inline_result)}1\x3d\x3dn?(t\x3de$jscomp$0[r-1],o.push(s$jscomp$0[t\x3e\x3e2]+s$jscomp$0[t\x3c\x3c4\x2663]+\x22\\x3d\\x3d\x22)):2\x3d\x3dn\x26\x26(t\x3d(e$jscomp$0[r-2]\x3c\x3c8)+e$jscomp$0[r-1],o.push(s$jscomp$0[t\x3e\x3e\n10]+s$jscomp$0[t\x3e\x3e4\x2663]+s$jscomp$0[t\x3c\x3c2\x2663]+\x22\\x3d\x22));return o.join(\x22\x22)};var s$jscomp$0\x3d[],u\x3d[],c\x3d\x22undefined\x22!\x3dtypeof Uint8Array?Uint8Array:Array;for(e$jscomp$1\x3d0;64\x3ee$jscomp$1;++e$jscomp$1)s$jscomp$0[e$jscomp$1]\x3d\x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x22[e$jscomp$1],u[\x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x22.charCodeAt(e$jscomp$1)]\x3de$jscomp$1;u[45]\x3d62;u[95]\x3d63},{}],2:[function(e,t,r){},{}],3:[function(e,t,r){arguments[4][2][0].apply(r,arguments)},\n{dup:2}],4:[function(U,e$jscomp$2,N){(function(d$jscomp$0){function a$jscomp$0(e){if(2147483647\x3ce)throw new RangeError(\x27The value \x22\x27+e+\x27\x22 is invalid for option \x22size\x22\x27);e\x3dnew Uint8Array(e);return Object.setPrototypeOf(e,d$jscomp$0.prototype),e}function d$jscomp$0(e,t,r){if(\x22number\x22!\x3dtypeof e)return o$jscomp$0(e,t,r);if(\x22string\x22\x3d\x3dtypeof t)throw new TypeError(\x27The \x22string\x22 argument must be of type string. Received type number\x27);return l$jscomp$0(e)}function o$jscomp$0(e$jscomp$0,t$jscomp$0,r$jscomp$0){if(\x22string\x22\x3d\x3d\ntypeof e$jscomp$0)return function(e,t){\x22string\x22\x3d\x3dtypeof t\x26\x26\x22\x22!\x3d\x3dt||(t\x3d\x22utf8\x22);if(!d$jscomp$0.isEncoding(t))throw new TypeError(\x22Unknown encoding: \x22+t);var r\x3d0|f(e,t),n\x3da$jscomp$0(r);e\x3dn.write(e,t);e!\x3d\x3dr\x26\x26(n\x3dn.slice(0,e));return n}(e$jscomp$0,t$jscomp$0);if(ArrayBuffer.isView(e$jscomp$0))return u$jscomp$0(e$jscomp$0);if(null\x3d\x3de$jscomp$0)throw new TypeError(\x22The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \x22+typeof e$jscomp$0);if(R(e$jscomp$0,\nArrayBuffer)||e$jscomp$0\x26\x26R(e$jscomp$0.buffer,ArrayBuffer))return function(e,t,r){if(0\x3et||e.byteLength\x3ct)throw new RangeError(\x27\x22offset\x22 is outside of buffer bounds\x27);if(e.byteLength\x3ct+(r||0))throw new RangeError(\x27\x22length\x22 is outside of buffer bounds\x27);e\x3dvoid 0\x3d\x3d\x3dt\x26\x26void 0\x3d\x3d\x3dr?new Uint8Array(e):void 0\x3d\x3d\x3dr?new Uint8Array(e,t):new Uint8Array(e,t,r);return Object.setPrototypeOf(e,d$jscomp$0.prototype),e}(e$jscomp$0,t$jscomp$0,r$jscomp$0);if(\x22number\x22\x3d\x3dtypeof e$jscomp$0)throw new TypeError(\x27The \x22value\x22 argument must not be of type number. Received type number\x27);\nvar n$jscomp$0\x3de$jscomp$0.valueOf\x26\x26e$jscomp$0.valueOf();if(null!\x3dn$jscomp$0\x26\x26n$jscomp$0!\x3d\x3de$jscomp$0)return d$jscomp$0.from(n$jscomp$0,t$jscomp$0,r$jscomp$0);if(n$jscomp$0\x3dfunction(e){if(d$jscomp$0.isBuffer(e)){var t\x3d0|c$jscomp$0(e.length),r\x3da$jscomp$0(t);return 0\x3d\x3d\x3dr.length||e.copy(r,0,0,t),r}if(void 0!\x3d\x3de.length)return(t\x3d\x22number\x22!\x3dtypeof e.length)||(t\x3de.length,t\x3dt!\x3dt),t?a$jscomp$0(0):u$jscomp$0(e);if(\x22Buffer\x22\x3d\x3d\x3de.type\x26\x26Array.isArray(e.data))return u$jscomp$0(e.data)}(e$jscomp$0))return n$jscomp$0;\nif(\x22undefined\x22!\x3dtypeof Symbol\x26\x26null!\x3dSymbol.toPrimitive\x26\x26\x22function\x22\x3d\x3dtypeof e$jscomp$0[Symbol.toPrimitive])return d$jscomp$0.from(e$jscomp$0[Symbol.toPrimitive](\x22string\x22),t$jscomp$0,r$jscomp$0);throw new TypeError(\x22The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \x22+typeof e$jscomp$0);}function s$jscomp$0(e){if(\x22number\x22!\x3dtypeof e)throw new TypeError(\x27\x22size\x22 argument must be of type number\x27);if(0\x3ee)throw new RangeError(\x27The value \x22\x27+e+\x27\x22 is invalid for option \x22size\x22\x27);\n}function l$jscomp$0(e){return s$jscomp$0(e),a$jscomp$0(0\x3ee?0:0|c$jscomp$0(e))}function u$jscomp$0(e){for(var t\x3d0\x3ee.length?0:0|c$jscomp$0(e.length),r\x3da$jscomp$0(t),n\x3d0;n\x3ct;n+\x3d1)r[n]\x3d255\x26e[n];return r}function c$jscomp$0(e){if(2147483647\x3c\x3de)throw new RangeError(\x22Attempt to allocate Buffer larger than maximum size: 0x\x22+(2147483647).toString(16)+\x22 bytes\x22);return 0|e}function f(e,t){if(d$jscomp$0.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||R(e,ArrayBuffer))return e.byteLength;if(\x22string\x22!\x3dtypeof e)throw new TypeError(\x27The \x22string\x22 argument must be one of type string, Buffer, or ArrayBuffer. Received type \x27+\ntypeof e);var r\x3de.length,n\x3d2\x3carguments.length\x26\x26!0\x3d\x3d\x3darguments[2];if(!n\x26\x260\x3d\x3d\x3dr)return 0;for(var o\x3d!1;;)switch(t){case \x22ascii\x22:case \x22latin1\x22:case \x22binary\x22:return r;case \x22utf8\x22:case \x22utf-8\x22:return P(e).length;case \x22ucs2\x22:case \x22ucs-2\x22:case \x22utf16le\x22:case \x22utf-16le\x22:return 2*r;case \x22hex\x22:return r\x3e\x3e\x3e1;case \x22base64\x22:return A(e).length;default:if(o)return n?-1:P(e).length;t\x3d(\x22\x22+t).toLowerCase();o\x3d!0}}function h(e,t,r){var n\x3de[t];e[t]\x3de[r];e[r]\x3dn}function p(e$jscomp$0,t,r,n,o){if(0\x3d\x3d\x3de$jscomp$0.length)return-1;\n\x22string\x22\x3d\x3dtypeof r?(n\x3dr,r\x3d0):2147483647\x3cr?r\x3d2147483647:-2147483648\x3er\x26\x26(r\x3d-2147483648);var e\x3dr\x3d+r;if(e!\x3de\x26\x26(r\x3do?0:e$jscomp$0.length-1),0\x3er\x26\x26(r\x3de$jscomp$0.length+r),r\x3e\x3de$jscomp$0.length){if(o)return-1;r\x3de$jscomp$0.length-1}else if(0\x3er){if(!o)return-1;r\x3d0}if(\x22string\x22\x3d\x3dtypeof t\x26\x26(t\x3dd$jscomp$0.from(t,n)),d$jscomp$0.isBuffer(t))return 0\x3d\x3d\x3dt.length?-1:y(e$jscomp$0,t,r,n,o);if(\x22number\x22\x3d\x3dtypeof t)return t\x26\x3d255,\x22function\x22\x3d\x3dtypeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e$jscomp$0,t,\nr):Uint8Array.prototype.lastIndexOf.call(e$jscomp$0,t,r):y(e$jscomp$0,[t],r,n,o);throw new TypeError(\x22val must be string, number or Buffer\x22);}function y(e$jscomp$0,t$jscomp$0,r,n,o){function u(e,t){return 1\x3d\x3d\x3da?e[t]:e.readUInt16BE(t*a)}var a\x3d1,s\x3de$jscomp$0.length,l\x3dt$jscomp$0.length;if(void 0!\x3d\x3dn\x26\x26(\x22ucs2\x22\x3d\x3d\x3d(n\x3dString(n).toLowerCase())||\x22ucs-2\x22\x3d\x3d\x3dn||\x22utf16le\x22\x3d\x3d\x3dn||\x22utf-16le\x22\x3d\x3d\x3dn)){if(2\x3ee$jscomp$0.length||2\x3et$jscomp$0.length)return-1;s/\x3da\x3d2;l/\x3d2;r/\x3d2}if(o)for(n\x3d-1;r\x3cs;r++)if(u(e$jscomp$0,r)\x3d\x3d\x3du(t$jscomp$0,\n-1\x3d\x3d\x3dn?0:r-n)){if(-1\x3d\x3d\x3dn\x26\x26(n\x3dr),r-n+1\x3d\x3d\x3dl)return n*a}else-1!\x3d\x3dn\x26\x26(r-\x3dr-n),n\x3d-1;else for(s\x3cr+l\x26\x26(r\x3ds-l);0\x3c\x3dr;r--){s\x3d!0;for(n\x3d0;n\x3cl;n++)if(u(e$jscomp$0,r+n)!\x3d\x3du(t$jscomp$0,n)){s\x3d!1;break}if(s)return r}return-1}function g(e,t$jscomp$0,r$jscomp$0,n){for(var t\x3d[],r\x3d0;r\x3ct$jscomp$0.length;++r)t.push(255\x26t$jscomp$0.charCodeAt(r));return k(t,e,r$jscomp$0,n)}function _(e,t,r){r\x3dMath.min(e.length,r);for(var n\x3d[];t\x3cr;){var i,l,u\x3de[t],c\x3dnull,d\x3d239\x3cu?4:223\x3cu?3:191\x3cu?2:1;if(t+d\x3c\x3dr)switch(d){case 1:128\x3eu\x26\x26(c\x3du);\nbreak;case 2:128\x3d\x3d(192\x26(i\x3de[t+1]))\x26\x26127\x3c(l\x3d(31\x26u)\x3c\x3c6|63\x26i)\x26\x26(c\x3dl);break;case 3:i\x3de[t+1];var a\x3de[t+2];128\x3d\x3d(192\x26i)\x26\x26128\x3d\x3d(192\x26a)\x26\x262047\x3c(l\x3d(15\x26u)\x3c\x3c12|(63\x26i)\x3c\x3c6|63\x26a)\x26\x26(55296\x3el||57343\x3cl)\x26\x26(c\x3dl);break;case 4:i\x3de[t+1];a\x3de[t+2];var s\x3de[t+3];128\x3d\x3d(192\x26i)\x26\x26128\x3d\x3d(192\x26a)\x26\x26128\x3d\x3d(192\x26s)\x26\x2665535\x3c(l\x3d(15\x26u)\x3c\x3c18|(63\x26i)\x3c\x3c12|(63\x26a)\x3c\x3c6|63\x26s)\x26\x261114112\x3el\x26\x26(c\x3dl)}null\x3d\x3d\x3dc?(c\x3d65533,d\x3d1):65535\x3cc\x26\x26(c-\x3d65536,n.push(c\x3e\x3e\x3e10\x261023|55296),c\x3d56320|1023\x26c);n.push(c);t+\x3dd}e\x3dn.length;if(e\x3c\x3dx)n\x3dString.fromCharCode.apply(String,n);else{r\x3d\n\x22\x22;for(i\x3d0;i\x3ce;)r+\x3dString.fromCharCode.apply(String,n.slice(i,i+\x3dx));n\x3dr}return n}function E(e,t,r){if(0!\x3de%1||0\x3ee)throw new RangeError(\x22offset is not uint\x22);if(r\x3ce+t)throw new RangeError(\x22Trying to access beyond buffer length\x22);}function T(e,t,r,n,o,i){if(!d$jscomp$0.isBuffer(e))throw new TypeError(\x27\x22buffer\x22 argument must be a Buffer instance\x27);if(o\x3ct||t\x3ci)throw new RangeError(\x27\x22value\x22 argument is out of bounds\x27);if(r+n\x3ee.length)throw new RangeError(\x22Index out of range\x22);}function O(e,t,r,n){if(r+\nn\x3ee.length)throw new RangeError(\x22Index out of range\x22);if(0\x3er)throw new RangeError(\x22Index out of range\x22);}function C(e,t,r,n,o){return t\x3d+t,r\x3e\x3e\x3e\x3d0,o||O(e,0,r,4),i$jscomp$0.write(e,t,r,n,23,4),r+4}function L(e,t,r,n,o){return t\x3d+t,r\x3e\x3e\x3e\x3d0,o||O(e,0,r,8),i$jscomp$0.write(e,t,r,n,52,8),r+8}function P(e,t){var r;t\x3dt||1/0;for(var n\x3de.length,o\x3dnull,i\x3d[],a\x3d0;a\x3cn;++a){if(55295\x3c(r\x3de.charCodeAt(a))\x26\x2657344\x3er){if(!o){if(56319\x3cr){-1\x3c(t-\x3d3)\x26\x26i.push(239,191,189);continue}if(a+1\x3d\x3d\x3dn){-1\x3c(t-\x3d3)\x26\x26i.push(239,191,189);\ncontinue}o\x3dr;continue}if(56320\x3er){-1\x3c(t-\x3d3)\x26\x26i.push(239,191,189);o\x3dr;continue}r\x3d65536+(o-55296\x3c\x3c10|r-56320)}else o\x26\x26-1\x3c(t-\x3d3)\x26\x26i.push(239,191,189);if(o\x3dnull,128\x3er){if(0\x3e--t)break;i.push(r)}else if(2048\x3er){if(0\x3e(t-\x3d2))break;i.push(r\x3e\x3e6|192,63\x26r|128)}else if(65536\x3er){if(0\x3e(t-\x3d3))break;i.push(r\x3e\x3e12|224,r\x3e\x3e6\x2663|128,63\x26r|128)}else{if(!(1114112\x3er))throw Error(\x22Invalid code point\x22);if(0\x3e(t-\x3d4))break;i.push(r\x3e\x3e18|240,r\x3e\x3e12\x2663|128,r\x3e\x3e6\x2663|128,63\x26r|128)}}return i}function A(e){var JSCompiler_temp_const\x3dn$jscomp$1,\nJSCompiler_temp_const$jscomp$0\x3dJSCompiler_temp_const.toByteArray;if(2\x3e(e\x3d(e\x3de.split(\x22\\x3d\x22)[0]).trim().replace(t$jscomp$1,\x22\x22)).length)e\x3d\x22\x22;else for(;0!\x3de.length%4;)e+\x3d\x22\\x3d\x22;return JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const,e)}function k(e,t,r,n){for(var o\x3d0;o\x3cn\x26\x26!(o+r\x3e\x3dt.length||o\x3e\x3de.length);++o)t[o+r]\x3de[o];return o}function R(e,t){return e instanceof t||null!\x3de\x26\x26null!\x3de.constructor\x26\x26null!\x3de.constructor.name\x26\x26e.constructor.name\x3d\x3d\x3dt.name}var n$jscomp$1\x3dU(\x22base64-js\x22),i$jscomp$0\x3dU(\x22ieee754\x22),\ne$jscomp$1\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22function\x22\x3d\x3dtypeof Symbol.for?Symbol.for(\x22nodejs.util.inspect.custom\x22):null;N.Buffer\x3dd$jscomp$0;N.SlowBuffer\x3dfunction(e){+e!\x3de\x26\x26(e\x3d0);return d$jscomp$0.alloc(+e)};N.INSPECT_MAX_BYTES\x3d50;N.kMaxLength\x3d2147483647;(d$jscomp$0.TYPED_ARRAY_SUPPORT\x3dfunction(){try{var e$jscomp$0\x3dnew Uint8Array(1),t\x3d{foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e$jscomp$0,t),42\x3d\x3d\x3de$jscomp$0.foo()}catch(e){return!1}}())||\x22undefined\x22\x3d\x3d\ntypeof console||\x22function\x22!\x3dtypeof console.error||console.error(\x22This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\x22);Object.defineProperty(d$jscomp$0.prototype,\x22parent\x22,{enumerable:!0,get:function(){if(d$jscomp$0.isBuffer(this))return this.buffer}});Object.defineProperty(d$jscomp$0.prototype,\x22offset\x22,{enumerable:!0,get:function(){if(d$jscomp$0.isBuffer(this))return this.byteOffset}});\x22undefined\x22!\x3dtypeof Symbol\x26\x26\nnull!\x3dSymbol.species\x26\x26d$jscomp$0[Symbol.species]\x3d\x3d\x3dd$jscomp$0\x26\x26Object.defineProperty(d$jscomp$0,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1});d$jscomp$0.poolSize\x3d8192;d$jscomp$0.from\x3dfunction(e,t,r){return o$jscomp$0(e,t,r)};Object.setPrototypeOf(d$jscomp$0.prototype,Uint8Array.prototype);Object.setPrototypeOf(d$jscomp$0,Uint8Array);d$jscomp$0.alloc\x3dfunction(e,t,r){return o\x3dt,i\x3dr,s$jscomp$0(n\x3de),0\x3e\x3dn?a$jscomp$0(n):void 0!\x3d\x3do?\x22string\x22\x3d\x3dtypeof i?a$jscomp$0(n).fill(o,i):a$jscomp$0(n).fill(o):\na$jscomp$0(n);var n,o,i};d$jscomp$0.allocUnsafe\x3dfunction(e){return l$jscomp$0(e)};d$jscomp$0.allocUnsafeSlow\x3dfunction(e){return l$jscomp$0(e)};d$jscomp$0.isBuffer\x3dfunction(e){return null!\x3de\x26\x26!0\x3d\x3d\x3de._isBuffer\x26\x26e!\x3d\x3dd$jscomp$0.prototype};d$jscomp$0.compare\x3dfunction(e,t){if(R(e,Uint8Array)\x26\x26(e\x3dd$jscomp$0.from(e,e.offset,e.byteLength)),R(t,Uint8Array)\x26\x26(t\x3dd$jscomp$0.from(t,t.offset,t.byteLength)),!d$jscomp$0.isBuffer(e)||!d$jscomp$0.isBuffer(t))throw new TypeError(\x27The \x22buf1\x22, \x22buf2\x22 arguments must be one of type Buffer or Uint8Array\x27);\nif(e\x3d\x3d\x3dt)return 0;for(var r\x3de.length,n\x3dt.length,o\x3d0,i\x3dMath.min(r,n);o\x3ci;++o)if(e[o]!\x3d\x3dt[o]){r\x3de[o];n\x3dt[o];break}return r\x3cn?-1:n\x3cr?1:0};d$jscomp$0.isEncoding\x3dfunction(e){switch(String(e).toLowerCase()){case \x22hex\x22:case \x22utf8\x22:case \x22utf-8\x22:case \x22ascii\x22:case \x22latin1\x22:case \x22binary\x22:case \x22base64\x22:case \x22ucs2\x22:case \x22ucs-2\x22:case \x22utf16le\x22:case \x22utf-16le\x22:return!0;default:return!1}};d$jscomp$0.concat\x3dfunction(e,t){if(!Array.isArray(e))throw new TypeError(\x27\x22list\x22 argument must be an Array of Buffers\x27);if(0\x3d\x3d\x3d\ne.length)return d$jscomp$0.alloc(0);var r;if(void 0\x3d\x3d\x3dt)for(r\x3dt\x3d0;r\x3ce.length;++r)t+\x3de[r].length;t\x3dd$jscomp$0.allocUnsafe(t);var o\x3d0;for(r\x3d0;r\x3ce.length;++r){var i\x3de[r];if(R(i,Uint8Array)\x26\x26(i\x3dd$jscomp$0.from(i)),!d$jscomp$0.isBuffer(i))throw new TypeError(\x27\x22list\x22 argument must be an Array of Buffers\x27);i.copy(t,o);o+\x3di.length}return t};d$jscomp$0.byteLength\x3df;d$jscomp$0.prototype._isBuffer\x3d!0;d$jscomp$0.prototype.swap16\x3dfunction(){var e\x3dthis.length;if(0!\x3de%2)throw new RangeError(\x22Buffer size must be a multiple of 16-bits\x22);\nfor(var t\x3d0;t\x3ce;t+\x3d2)h(this,t,t+1);return this};d$jscomp$0.prototype.swap32\x3dfunction(){var e\x3dthis.length;if(0!\x3de%4)throw new RangeError(\x22Buffer size must be a multiple of 32-bits\x22);for(var t\x3d0;t\x3ce;t+\x3d4)h(this,t,t+3),h(this,t+1,t+2);return this};d$jscomp$0.prototype.swap64\x3dfunction(){var e\x3dthis.length;if(0!\x3de%8)throw new RangeError(\x22Buffer size must be a multiple of 64-bits\x22);for(var t\x3d0;t\x3ce;t+\x3d8)h(this,t,t+7),h(this,t+1,t+6),h(this,t+2,t+5),h(this,t+3,t+4);return this};d$jscomp$0.prototype.toLocaleString\x3d\nd$jscomp$0.prototype.toString\x3dfunction(){var e$jscomp$0\x3dthis.length;return 0\x3d\x3d\x3de$jscomp$0?\x22\x22:0\x3d\x3d\x3darguments.length?_(this,0,e$jscomp$0):function(e,t,r){var n\x3d!1;if(((void 0\x3d\x3d\x3dt||0\x3et)\x26\x26(t\x3d0),t\x3ethis.length)||((void 0\x3d\x3d\x3dr||r\x3ethis.length)\x26\x26(r\x3dthis.length),0\x3e\x3dr)||(r\x3e\x3e\x3e\x3d0)\x3c\x3d(t\x3e\x3e\x3e\x3d0))return\x22\x22;for(e\x3de||\x22utf8\x22;;)switch(e){case \x22hex\x22:e\x3dthis.length;(!t||0\x3et)\x26\x26(t\x3d0);(!r||0\x3er||e\x3cr)\x26\x26(r\x3de);for(e\x3d\x22\x22;t\x3cr;++t)e+\x3dI[this[t]];return e;case \x22utf8\x22:case \x22utf-8\x22:return _(this,t,r);case \x22ascii\x22:e\x3d\x22\x22;for(r\x3dMath.min(this.length,\nr);t\x3cr;++t)e+\x3dString.fromCharCode(127\x26this[t]);return e;case \x22latin1\x22:case \x22binary\x22:e\x3d\x22\x22;for(r\x3dMath.min(this.length,r);t\x3cr;++t)e+\x3dString.fromCharCode(this[t]);return e;case \x22base64\x22:return 0\x3d\x3d\x3dt\x26\x26r\x3d\x3d\x3dthis.length?n$jscomp$1.fromByteArray(this):n$jscomp$1.fromByteArray(this.slice(t,r));case \x22ucs2\x22:case \x22ucs-2\x22:case \x22utf16le\x22:case \x22utf-16le\x22:t\x3dthis.slice(t,r);r\x3d\x22\x22;for(e\x3d0;e\x3ct.length;e+\x3d2)r+\x3dString.fromCharCode(t[e]+256*t[e+1]);return r;default:if(n)throw new TypeError(\x22Unknown encoding: \x22+e);e\x3d(e+\x22\x22).toLowerCase();\nn\x3d!0}}.apply(this,arguments)};d$jscomp$0.prototype.equals\x3dfunction(e){if(!d$jscomp$0.isBuffer(e))throw new TypeError(\x22Argument must be a Buffer\x22);return this\x3d\x3d\x3de||0\x3d\x3d\x3dd$jscomp$0.compare(this,e)};d$jscomp$0.prototype.inspect\x3dfunction(){var e\x3d\x22\x22,t\x3dN.INSPECT_MAX_BYTES;return e\x3dthis.toString(\x22hex\x22,0,t).replace(/(.{2})/g,\x22$1 \x22).trim(),this.length\x3et\x26\x26(e+\x3d\x22 ... \x22),\x22\\x3cBuffer \x22+e+\x22\\x3e\x22};e$jscomp$1\x26\x26(d$jscomp$0.prototype[e$jscomp$1]\x3dd$jscomp$0.prototype.inspect);d$jscomp$0.prototype.compare\x3dfunction(e,t,\nr,n,o){if(R(e,Uint8Array)\x26\x26(e\x3dd$jscomp$0.from(e,e.offset,e.byteLength)),!d$jscomp$0.isBuffer(e))throw new TypeError(\x27The \x22target\x22 argument must be one of type Buffer or Uint8Array. Received type \x27+typeof e);if(void 0\x3d\x3d\x3dt\x26\x26(t\x3d0),void 0\x3d\x3d\x3dr\x26\x26(r\x3de?e.length:0),void 0\x3d\x3d\x3dn\x26\x26(n\x3d0),void 0\x3d\x3d\x3do\x26\x26(o\x3dthis.length),0\x3et||r\x3ee.length||0\x3en||o\x3ethis.length)throw new RangeError(\x22out of range index\x22);if(o\x3c\x3dn\x26\x26r\x3c\x3dt)return 0;if(o\x3c\x3dn)return-1;if(r\x3c\x3dt)return 1;if(this\x3d\x3d\x3de)return 0;var i\x3d(o\x3e\x3e\x3e\x3d0)-(n\x3e\x3e\x3e\x3d0),a\x3d(r\x3e\x3e\x3e\x3d0)-(t\x3e\x3e\x3e\x3d\n0),s\x3dMath.min(i,a);n\x3dthis.slice(n,o);e\x3de.slice(t,r);for(t\x3d0;t\x3cs;++t)if(n[t]!\x3d\x3de[t]){i\x3dn[t];a\x3de[t];break}return i\x3ca?-1:a\x3ci?1:0};d$jscomp$0.prototype.includes\x3dfunction(e,t,r){return-1!\x3d\x3dthis.indexOf(e,t,r)};d$jscomp$0.prototype.indexOf\x3dfunction(e,t,r){return p(this,e,t,r,!0)};d$jscomp$0.prototype.lastIndexOf\x3dfunction(e,t,r){return p(this,e,t,r,!1)};d$jscomp$0.prototype.write\x3dfunction(e,t,r,n){if(void 0\x3d\x3d\x3dt)n\x3d\x22utf8\x22,r\x3dthis.length,t\x3d0;else if(void 0\x3d\x3d\x3dr\x26\x26\x22string\x22\x3d\x3dtypeof t)n\x3dt,r\x3dthis.length,t\x3d0;else{if(!isFinite(t))throw Error(\x22Buffer.write(string, encoding, offset[, length]) is no longer supported\x22);\nt\x3e\x3e\x3e\x3d0;isFinite(r)?(r\x3e\x3e\x3e\x3d0,void 0\x3d\x3d\x3dn\x26\x26(n\x3d\x22utf8\x22)):(n\x3dr,r\x3dvoid 0)}var o\x3dthis.length-t;if((void 0\x3d\x3d\x3dr||o\x3cr)\x26\x26(r\x3do),0\x3ce.length\x26\x26(0\x3er||0\x3et)||t\x3ethis.length)throw new RangeError(\x22Attempt to write outside buffer bounds\x22);n\x3dn||\x22utf8\x22;var s,u,c;for(o\x3d!1;;)switch(n){case \x22hex\x22:a:{t\x3dNumber(t)||0;n\x3dthis.length-t;r?n\x3c(r\x3dNumber(r))\x26\x26(r\x3dn):r\x3dn;n\x3de.length;n/2\x3cr\x26\x26(r\x3dn/2);for(n\x3d0;n\x3cr;++n){var a\x3dparseInt(e.substr(2*n,2),16);if(a!\x3da){r\x3dn;break a}this[t+n]\x3da}r\x3dn}return r;case \x22utf8\x22:case \x22utf-8\x22:return u\x3dt,c\x3dr,k(P(e,\nthis.length-u),this,u,c);case \x22ascii\x22:return g(this,e,t,r);case \x22latin1\x22:case \x22binary\x22:return g(this,e,t,r);case \x22base64\x22:return a\x3dt,s\x3dr,k(A(e),this,a,s);case \x22ucs2\x22:case \x22ucs-2\x22:case \x22utf16le\x22:case \x22utf-16le\x22:n\x3dr;a\x3dthis.length-t;s\x3d[];for(u\x3d0;u\x3ce.length\x26\x26!(0\x3e(a-\x3d2));++u)c\x3de.charCodeAt(u),r\x3dc\x3e\x3e8,c%\x3d256,s.push(c),s.push(r);return k(s,this,t,n);default:if(o)throw new TypeError(\x22Unknown encoding: \x22+n);n\x3d(\x22\x22+n).toLowerCase();o\x3d!0}};d$jscomp$0.prototype.toJSON\x3dfunction(){return{type:\x22Buffer\x22,data:Array.prototype.slice.call(this._arr||\nthis,0)}};var x\x3d4096;d$jscomp$0.prototype.slice\x3dfunction(e,t){var r\x3dthis.length;0\x3e(e\x3d~~e)?0\x3e(e+\x3dr)\x26\x26(e\x3d0):r\x3ce\x26\x26(e\x3dr);0\x3e(t\x3dvoid 0\x3d\x3d\x3dt?r:~~t)?0\x3e(t+\x3dr)\x26\x26(t\x3d0):r\x3ct\x26\x26(t\x3dr);t\x3ce\x26\x26(t\x3de);e\x3dthis.subarray(e,t);return Object.setPrototypeOf(e,d$jscomp$0.prototype),e};d$jscomp$0.prototype.readUIntLE\x3dfunction(e,t,r){e\x3e\x3e\x3e\x3d0;t\x3e\x3e\x3e\x3d0;r||E(e,t,this.length);r\x3dthis[e];for(var o\x3d1,i\x3d0;++i\x3ct\x26\x26(o*\x3d256);)r+\x3dthis[e+i]*o;return r};d$jscomp$0.prototype.readUIntBE\x3dfunction(e,t,r){e\x3e\x3e\x3e\x3d0;t\x3e\x3e\x3e\x3d0;r||E(e,t,this.length);r\x3dthis[e+--t];\nfor(var o\x3d1;0\x3ct\x26\x26(o*\x3d256);)r+\x3dthis[e+--t]*o;return r};d$jscomp$0.prototype.readUInt8\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,1,this.length),this[e]};d$jscomp$0.prototype.readUInt16LE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,2,this.length),this[e]|this[e+1]\x3c\x3c8};d$jscomp$0.prototype.readUInt16BE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,2,this.length),this[e]\x3c\x3c8|this[e+1]};d$jscomp$0.prototype.readUInt32LE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),(this[e]|this[e+1]\x3c\x3c8|this[e+2]\x3c\x3c16)+16777216*this[e+3]};d$jscomp$0.prototype.readUInt32BE\x3d\nfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),16777216*this[e]+(this[e+1]\x3c\x3c16|this[e+2]\x3c\x3c8|this[e+3])};d$jscomp$0.prototype.readIntLE\x3dfunction(e,t,r){e\x3e\x3e\x3e\x3d0;t\x3e\x3e\x3e\x3d0;r||E(e,t,this.length);r\x3dthis[e];for(var o\x3d1,i\x3d0;++i\x3ct\x26\x26(o*\x3d256);)r+\x3dthis[e+i]*o;return 128*o\x3c\x3dr\x26\x26(r-\x3dMath.pow(2,8*t)),r};d$jscomp$0.prototype.readIntBE\x3dfunction(e,t,r){e\x3e\x3e\x3e\x3d0;t\x3e\x3e\x3e\x3d0;r||E(e,t,this.length);r\x3dt;for(var o\x3d1,i\x3dthis[e+--r];0\x3cr\x26\x26(o*\x3d256);)i+\x3dthis[e+--r]*o;return 128*o\x3c\x3di\x26\x26(i-\x3dMath.pow(2,8*t)),i};d$jscomp$0.prototype.readInt8\x3d\nfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,1,this.length),128\x26this[e]?-1*(255-this[e]+1):this[e]};d$jscomp$0.prototype.readInt16LE\x3dfunction(e,t){e\x3e\x3e\x3e\x3d0;t||E(e,2,this.length);e\x3dthis[e]|this[e+1]\x3c\x3c8;return 32768\x26e?4294901760|e:e};d$jscomp$0.prototype.readInt16BE\x3dfunction(e,t){e\x3e\x3e\x3e\x3d0;t||E(e,2,this.length);e\x3dthis[e+1]|this[e]\x3c\x3c8;return 32768\x26e?4294901760|e:e};d$jscomp$0.prototype.readInt32LE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),this[e]|this[e+1]\x3c\x3c8|this[e+2]\x3c\x3c16|this[e+3]\x3c\x3c24};d$jscomp$0.prototype.readInt32BE\x3d\nfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),this[e]\x3c\x3c24|this[e+1]\x3c\x3c16|this[e+2]\x3c\x3c8|this[e+3]};d$jscomp$0.prototype.readFloatLE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),i$jscomp$0.read(this,e,!0,23,4)};d$jscomp$0.prototype.readFloatBE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,4,this.length),i$jscomp$0.read(this,e,!1,23,4)};d$jscomp$0.prototype.readDoubleLE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d0,t||E(e,8,this.length),i$jscomp$0.read(this,e,!0,52,8)};d$jscomp$0.prototype.readDoubleBE\x3dfunction(e,t){return e\x3e\x3e\x3e\x3d\n0,t||E(e,8,this.length),i$jscomp$0.read(this,e,!1,52,8)};d$jscomp$0.prototype.writeUIntLE\x3dfunction(e,t,r,n){e\x3d+e;t\x3e\x3e\x3e\x3d0;r\x3e\x3e\x3e\x3d0;n||T(this,e,t,r,Math.pow(2,8*r)-1,0);n\x3d1;var i\x3d0;for(this[t]\x3d255\x26e;++i\x3cr\x26\x26(n*\x3d256);)this[t+i]\x3de/n\x26255;return t+r};d$jscomp$0.prototype.writeUIntBE\x3dfunction(e,t,r,n){e\x3d+e;t\x3e\x3e\x3e\x3d0;r\x3e\x3e\x3e\x3d0;n||T(this,e,t,r,Math.pow(2,8*r)-1,0);n\x3dr-1;var i\x3d1;for(this[t+n]\x3d255\x26e;0\x3c\x3d--n\x26\x26(i*\x3d256);)this[t+n]\x3de/i\x26255;return t+r};d$jscomp$0.prototype.writeUInt8\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,\ne,t,1,255,0),this[t]\x3d255\x26e,t+1};d$jscomp$0.prototype.writeUInt16LE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,2,65535,0),this[t]\x3d255\x26e,this[t+1]\x3de\x3e\x3e\x3e8,t+2};d$jscomp$0.prototype.writeUInt16BE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,2,65535,0),this[t]\x3de\x3e\x3e\x3e8,this[t+1]\x3d255\x26e,t+2};d$jscomp$0.prototype.writeUInt32LE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,4,4294967295,0),this[t+3]\x3de\x3e\x3e\x3e24,this[t+2]\x3de\x3e\x3e\x3e16,this[t+1]\x3de\x3e\x3e\x3e8,this[t]\x3d255\x26e,t+4};d$jscomp$0.prototype.writeUInt32BE\x3dfunction(e,\nt,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,4,4294967295,0),this[t]\x3de\x3e\x3e\x3e24,this[t+1]\x3de\x3e\x3e\x3e16,this[t+2]\x3de\x3e\x3e\x3e8,this[t+3]\x3d255\x26e,t+4};d$jscomp$0.prototype.writeIntLE\x3dfunction(e,t,r,n){(e\x3d+e,t\x3e\x3e\x3e\x3d0,n)||(n\x3dMath.pow(2,8*r-1),T(this,e,t,r,n-1,-n));n\x3d0;var a\x3d1,s\x3d0;for(this[t]\x3d255\x26e;++n\x3cr\x26\x26(a*\x3d256);)0\x3ee\x26\x260\x3d\x3d\x3ds\x26\x260!\x3d\x3dthis[t+n-1]\x26\x26(s\x3d1),this[t+n]\x3d(e/a\x3e\x3e0)-s\x26255;return t+r};d$jscomp$0.prototype.writeIntBE\x3dfunction(e,t,r,n){(e\x3d+e,t\x3e\x3e\x3e\x3d0,n)||(n\x3dMath.pow(2,8*r-1),T(this,e,t,r,n-1,-n));n\x3dr-1;var a\x3d1,s\x3d0;for(this[t+n]\x3d255\x26\ne;0\x3c\x3d--n\x26\x26(a*\x3d256);)0\x3ee\x26\x260\x3d\x3d\x3ds\x26\x260!\x3d\x3dthis[t+n+1]\x26\x26(s\x3d1),this[t+n]\x3d(e/a\x3e\x3e0)-s\x26255;return t+r};d$jscomp$0.prototype.writeInt8\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,1,127,-128),0\x3ee\x26\x26(e\x3d255+e+1),this[t]\x3d255\x26e,t+1};d$jscomp$0.prototype.writeInt16LE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,2,32767,-32768),this[t]\x3d255\x26e,this[t+1]\x3de\x3e\x3e\x3e8,t+2};d$jscomp$0.prototype.writeInt16BE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,2,32767,-32768),this[t]\x3de\x3e\x3e\x3e8,this[t+1]\x3d255\x26e,t+2};d$jscomp$0.prototype.writeInt32LE\x3d\nfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,4,2147483647,-2147483648),this[t]\x3d255\x26e,this[t+1]\x3de\x3e\x3e\x3e8,this[t+2]\x3de\x3e\x3e\x3e16,this[t+3]\x3de\x3e\x3e\x3e24,t+4};d$jscomp$0.prototype.writeInt32BE\x3dfunction(e,t,r){return e\x3d+e,t\x3e\x3e\x3e\x3d0,r||T(this,e,t,4,2147483647,-2147483648),0\x3ee\x26\x26(e\x3d4294967295+e+1),this[t]\x3de\x3e\x3e\x3e24,this[t+1]\x3de\x3e\x3e\x3e16,this[t+2]\x3de\x3e\x3e\x3e8,this[t+3]\x3d255\x26e,t+4};d$jscomp$0.prototype.writeFloatLE\x3dfunction(e,t,r){return C(this,e,t,!0,r)};d$jscomp$0.prototype.writeFloatBE\x3dfunction(e,t,r){return C(this,e,t,!1,r)};d$jscomp$0.prototype.writeDoubleLE\x3d\nfunction(e,t,r){return L(this,e,t,!0,r)};d$jscomp$0.prototype.writeDoubleBE\x3dfunction(e,t,r){return L(this,e,t,!1,r)};d$jscomp$0.prototype.copy\x3dfunction(e,t,r,n){if(!d$jscomp$0.isBuffer(e))throw new TypeError(\x22argument should be a Buffer\x22);if((r\x3dr||0,n||0\x3d\x3d\x3dn||(n\x3dthis.length),t\x3e\x3de.length\x26\x26(t\x3de.length),t\x3dt||0,0\x3cn\x26\x26n\x3cr\x26\x26(n\x3dr),n\x3d\x3d\x3dr)||0\x3d\x3d\x3de.length||0\x3d\x3d\x3dthis.length)return 0;if(0\x3et)throw new RangeError(\x22targetStart out of bounds\x22);if(0\x3er||r\x3e\x3dthis.length)throw new RangeError(\x22Index out of range\x22);if(0\x3en)throw new RangeError(\x22sourceEnd out of bounds\x22);\nn\x3ethis.length\x26\x26(n\x3dthis.length);e.length-t\x3cn-r\x26\x26(n\x3de.length-t+r);var o\x3dn-r;if(this\x3d\x3d\x3de\x26\x26\x22function\x22\x3d\x3dtypeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this\x3d\x3d\x3de\x26\x26r\x3ct\x26\x26t\x3cn)for(n\x3do-1;0\x3c\x3dn;--n)e[n+t]\x3dthis[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return o};d$jscomp$0.prototype.fill\x3dfunction(e,t,r,n){if(\x22string\x22\x3d\x3dtypeof e){if(\x22string\x22\x3d\x3dtypeof t?(n\x3dt,t\x3d0,r\x3dthis.length):\x22string\x22\x3d\x3dtypeof r\x26\x26(n\x3dr,r\x3dthis.length),void 0!\x3d\x3dn\x26\x26\x22string\x22!\x3dtypeof n)throw new TypeError(\x22encoding must be a string\x22);\nif(\x22string\x22\x3d\x3dtypeof n\x26\x26!d$jscomp$0.isEncoding(n))throw new TypeError(\x22Unknown encoding: \x22+n);if(1\x3d\x3d\x3de.length){var o\x3de.charCodeAt(0);(\x22utf8\x22\x3d\x3d\x3dn\x26\x26128\x3eo||\x22latin1\x22\x3d\x3d\x3dn)\x26\x26(e\x3do)}}else\x22number\x22\x3d\x3dtypeof e?e\x26\x3d255:\x22boolean\x22\x3d\x3dtypeof e\x26\x26(e\x3dNumber(e));if(0\x3et||this.length\x3ct||this.length\x3cr)throw new RangeError(\x22Out of range index\x22);if(r\x3c\x3dt)return this;if(t\x3e\x3e\x3e\x3d0,r\x3dvoid 0\x3d\x3d\x3dr?this.length:r\x3e\x3e\x3e0,\x22number\x22\x3d\x3dtypeof(e\x3de||0))for(n\x3dt;n\x3cr;++n)this[n]\x3de;else{o\x3dd$jscomp$0.isBuffer(e)?e:d$jscomp$0.from(e,n);var s\x3do.length;if(0\x3d\x3d\x3d\ns)throw new TypeError(\x27The value \x22\x27+e+\x27\x22 is invalid for argument \x22value\x22\x27);for(n\x3d0;n\x3cr-t;++n)this[n+t]\x3do[n%s]}return this};var t$jscomp$1\x3d/[^+/0-9A-Za-z-_]/g,I\x3dfunction(){for(var t\x3dArray(256),r\x3d0;16\x3er;++r)for(var n\x3d16*r,o\x3d0;16\x3eo;++o)t[n+o]\x3d\x220123456789abcdef\x22[r]+\x220123456789abcdef\x22[o];return t}()}).call(this,U(\x22buffer\x22).Buffer)},{\x22base64-js\x22:1,buffer:4,ieee754:236}],5:[function(e$jscomp$0,t,r){t.exports\x3dfunction(e){if(\x22function\x22!\x3dtypeof e)throw TypeError(String(e)+\x22 is not a function\x22);return e}},{}],\n6:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/is-object\x22);t.exports\x3dfunction(e){if(!n(e)\x26\x26null!\x3d\x3de)throw TypeError(\x22Can\x27t set \x22+String(e)+\x22 as a prototype\x22);return e}},{\x22../internals/is-object\x22:74}],7:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);var o\x3de$jscomp$0(\x22../internals/object-create\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/object-define-property\x22);var a\x3dr(\x22unscopables\x22),s\x3dArray.prototype;null\x3d\x3ds[a]\x26\x26e$jscomp$0.f(s,a,{configurable:!0,value:o(null)});t.exports\x3d\nfunction(e){s[a][e]\x3d!0}},{\x22../internals/object-create\x22:90,\x22../internals/object-define-property\x22:92,\x22../internals/well-known-symbol\x22:146}],8:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/string-multibyte\x22).charAt;t$jscomp$0.exports\x3dfunction(e,t,r){return t+(r?n(e,t).length:1)}},{\x22../internals/string-multibyte\x22:123}],9:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0.exports\x3dfunction(e,t,r){if(!(e instanceof t))throw TypeError(\x22Incorrect \x22+(r?r+\x22 \x22:\x22\x22)+\x22invocation\x22);\nreturn e}},{}],10:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/is-object\x22);t.exports\x3dfunction(e){if(!n(e))throw TypeError(String(e)+\x22 is not an object\x22);return e}},{\x22../internals/is-object\x22:74}],11:[function(e,t,r){t.exports\x3d\x22undefined\x22!\x3dtypeof ArrayBuffer\x26\x26\x22undefined\x22!\x3dtypeof DataView},{}],12:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function n$jscomp$0(e){return l(e)\x26\x26u(L,c(e))}var o$jscomp$0,i\x3de$jscomp$1(\x22../internals/array-buffer-native\x22),a\x3de$jscomp$1(\x22../internals/descriptors\x22),\ns\x3de$jscomp$1(\x22../internals/global\x22),l\x3de$jscomp$1(\x22../internals/is-object\x22),u\x3de$jscomp$1(\x22../internals/has\x22),c\x3de$jscomp$1(\x22../internals/classof\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/create-non-enumerable-property\x22);var f\x3de$jscomp$1(\x22../internals/redefine\x22),h\x3de$jscomp$1(\x22../internals/object-define-property\x22).f,p\x3de$jscomp$1(\x22../internals/object-get-prototype-of\x22),y\x3de$jscomp$1(\x22../internals/object-set-prototype-of\x22),m\x3de$jscomp$1(\x22../internals/well-known-symbol\x22);e$jscomp$1\x3de$jscomp$1(\x22../internals/uid\x22);\nvar v\x3ds.Int8Array,b\x3dv\x26\x26v.prototype,_\x3ds.Uint8ClampedArray;_\x3d_\x26\x26_.prototype;var w\x3dv\x26\x26p(v),j\x3db\x26\x26p(b),S\x3dObject.prototype,M\x3dS.isPrototypeOf;m\x3dm(\x22toStringTag\x22);var T\x3de$jscomp$1(\x22TYPED_ARRAY_TAG\x22),O\x3di\x26\x26!!y\x26\x26\x22Opera\x22!\x3d\x3dc(s.opera);i\x3d!1;var L\x3d{Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8};for(o$jscomp$0 in L)s[o$jscomp$0]||(O\x3d!1);if((!O||\x22function\x22!\x3dtypeof w||w\x3d\x3d\x3dFunction.prototype)\x26\x26(w\x3dfunction(){throw TypeError(\x22Incorrect invocation\x22);\n},O))for(o$jscomp$0 in L)s[o$jscomp$0]\x26\x26y(s[o$jscomp$0],w);if((!O||!j||j\x3d\x3d\x3dS)\x26\x26(j\x3dw.prototype,O))for(o$jscomp$0 in L)s[o$jscomp$0]\x26\x26y(s[o$jscomp$0].prototype,j);if(O\x26\x26p(_)!\x3d\x3dj\x26\x26y(_,j),a\x26\x26!u(j,m))for(o$jscomp$0 in i\x3d!0,h(j,m,{get:function(){return l(this)?this[T]:void 0}}),L)s[o$jscomp$0]\x26\x26r$jscomp$0(s[o$jscomp$0],T,o$jscomp$0);t$jscomp$0.exports\x3d{NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:i\x26\x26T,aTypedArray:function(e){if(n$jscomp$0(e))return e;throw TypeError(\x22Target is not a typed array\x22);},aTypedArrayConstructor:function(e){if(y){if(M.call(w,\ne))return e}else for(var t in L)if(u(L,o$jscomp$0)){var r\x3ds[t];if(r\x26\x26(e\x3d\x3d\x3dr||M.call(r,e)))return e}throw TypeError(\x22Target is not a typed array constructor\x22);},exportTypedArrayMethod:function(e,t,r){if(a){if(r)for(var n in L){var o\x3ds[n];o\x26\x26u(o.prototype,e)\x26\x26delete o.prototype[e]}j[e]\x26\x26!r||f(j,e,r?t:O\x26\x26b[e]||t)}},exportTypedArrayStaticMethod:function(e$jscomp$0,t,r){var n,o;if(a){if(y){if(r)for(n in L)(o\x3ds[n])\x26\x26u(o,e$jscomp$0)\x26\x26delete o[e$jscomp$0];if(w[e$jscomp$0]\x26\x26!r)return;try{return f(w,e$jscomp$0,\nr?t:O\x26\x26v[e$jscomp$0]||t)}catch(e){}}for(n in L)!(o\x3ds[n])||o[e$jscomp$0]\x26\x26!r||f(o,e$jscomp$0,t)}},isView:function(e){e\x3dc(e);return\x22DataView\x22\x3d\x3d\x3de||u(L,e)},isTypedArray:n$jscomp$0,TypedArray:w,TypedArrayPrototype:j}},{\x22../internals/array-buffer-native\x22:11,\x22../internals/classof\x22:29,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/descriptors\x22:42,\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/is-object\x22:74,\x22../internals/object-define-property\x22:92,\x22../internals/object-get-prototype-of\x22:97,\n\x22../internals/object-set-prototype-of\x22:101,\x22../internals/redefine\x22:108,\x22../internals/uid\x22:143,\x22../internals/well-known-symbol\x22:146}],13:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(e){return[255\x26e]}function o$jscomp$0(e){return[255\x26e,e\x3e\x3e8\x26255]}function i$jscomp$0(e){return[255\x26e,e\x3e\x3e8\x26255,e\x3e\x3e16\x26255,e\x3e\x3e24\x26255]}function a(e){return e[3]\x3c\x3c24|e[2]\x3c\x3c16|e[1]\x3c\x3c8|e[0]}function s$jscomp$0(e){return V(e,23,4)}function l(e){return V(e,52,8)}function u(e,t){E(e[R],t,{get:function(){return L(this)[t]}})}\nfunction c(e,t,r,n){r\x3dx(r);var i\x3dL(e);if(r+t\x3ei.byteLength)throw G(D);e\x3dL(i.buffer).bytes;r+\x3di.byteOffset;t\x3de.slice(r,r+t);return n?t:t.reverse()}function d(e,t,r,n,o,i){r\x3dx(r);var s\x3dL(e);if(r+t\x3es.byteLength)throw G(D);e\x3dL(s.buffer).bytes;r+\x3ds.byteOffset;n\x3dn(+o);for(o\x3d0;o\x3ct;o++)e[r+o]\x3dn[i?o:t-o-1]}var f\x3de$jscomp$0(\x22../internals/global\x22),h\x3de$jscomp$0(\x22../internals/descriptors\x22),p\x3de$jscomp$0(\x22../internals/array-buffer-native\x22),y\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/redefine-all\x22);\nvar g\x3de$jscomp$0(\x22../internals/fails\x22),v\x3de$jscomp$0(\x22../internals/an-instance\x22),b\x3de$jscomp$0(\x22../internals/to-integer\x22),_\x3de$jscomp$0(\x22../internals/to-length\x22),x\x3de$jscomp$0(\x22../internals/to-index\x22),w\x3de$jscomp$0(\x22../internals/ieee754\x22),j\x3de$jscomp$0(\x22../internals/object-get-prototype-of\x22),S\x3de$jscomp$0(\x22../internals/object-set-prototype-of\x22),M\x3de$jscomp$0(\x22../internals/object-get-own-property-names\x22).f,E\x3de$jscomp$0(\x22../internals/object-define-property\x22).f,T\x3de$jscomp$0(\x22../internals/array-fill\x22),O\x3de$jscomp$0(\x22../internals/set-to-string-tag\x22);\ne$jscomp$0\x3de$jscomp$0(\x22../internals/internal-state\x22);var L\x3de$jscomp$0.get,P\x3de$jscomp$0.set,R\x3d\x22prototype\x22,D\x3d\x22Wrong index\x22,I\x3df.ArrayBuffer,U\x3dI,N\x3df.DataView;e$jscomp$0\x3dN\x26\x26N[R];var B\x3dObject.prototype,G\x3df.RangeError,V\x3dw.pack,z\x3dw.unpack;if(p){if(!g(function(){I(1)})||!g(function(){new I(-1)})||g(function(){return new I,new I(1.5),new I(NaN),\x22ArrayBuffer\x22!\x3dI.name})){var H;f\x3d(U\x3dfunction(e){return v(this,U),new I(x(e))})[R]\x3dI[R];M\x3dM(I);for(p\x3d0;M.length\x3ep;)(H\x3dM[p++])in U||y(U,H,I[H]);f.constructor\x3dU}S\x26\x26j(e$jscomp$0)!\x3d\x3d\nB\x26\x26S(e$jscomp$0,B);H\x3dnew N(new U(2));var Z\x3de$jscomp$0.setInt8;H.setInt8(0,2147483648);H.setInt8(1,2147483649);!H.getInt8(0)\x26\x26H.getInt8(1)||r$jscomp$0(e$jscomp$0,{setInt8:function(e,t){Z.call(this,e,t\x3c\x3c24\x3e\x3e24)},setUint8:function(e,t){Z.call(this,e,t\x3c\x3c24\x3e\x3e24)}},{unsafe:!0})}else U\x3dfunction(e){v(this,U,\x22ArrayBuffer\x22);e\x3dx(e);P(this,{bytes:T.call(Array(e),0),byteLength:e});h||(this.byteLength\x3de)},N\x3dfunction(e,t,r){v(this,N,\x22DataView\x22);v(e,U,\x22DataView\x22);var n\x3dL(e).byteLength;t\x3db(t);if(0\x3et||n\x3ct)throw G(\x22Wrong offset\x22);\nif(n\x3ct+(r\x3dvoid 0\x3d\x3d\x3dr?n-t:_(r)))throw G(\x22Wrong length\x22);P(this,{buffer:e,byteLength:r,byteOffset:t});h||(this.buffer\x3de,this.byteLength\x3dr,this.byteOffset\x3dt)},h\x26\x26(u(U,\x22byteLength\x22),u(N,\x22buffer\x22),u(N,\x22byteLength\x22),u(N,\x22byteOffset\x22)),r$jscomp$0(N[R],{getInt8:function(e){return c(this,1,e)[0]\x3c\x3c24\x3e\x3e24},getUint8:function(e){return c(this,1,e)[0]},getInt16:function(e,t){var r\x3dc(this,2,e,1\x3carguments.length?t:void 0);return(r[1]\x3c\x3c8|r[0])\x3c\x3c16\x3e\x3e16},getUint16:function(e,t){var r\x3dc(this,2,e,1\x3carguments.length?t:\nvoid 0);return r[1]\x3c\x3c8|r[0]},getInt32:function(e,t){return a(c(this,4,e,1\x3carguments.length?t:void 0))},getUint32:function(e,t){return a(c(this,4,e,1\x3carguments.length?t:void 0))\x3e\x3e\x3e0},getFloat32:function(e,t){return z(c(this,4,e,1\x3carguments.length?t:void 0),23)},getFloat64:function(e,t){return z(c(this,8,e,1\x3carguments.length?t:void 0),52)},setInt8:function(e,t){d(this,1,e,n$jscomp$0,t)},setUint8:function(e,t){d(this,1,e,n$jscomp$0,t)},setInt16:function(e,t,r){d(this,2,e,o$jscomp$0,t,2\x3carguments.length?\nr:void 0)},setUint16:function(e,t,r){d(this,2,e,o$jscomp$0,t,2\x3carguments.length?r:void 0)},setInt32:function(e,t,r){d(this,4,e,i$jscomp$0,t,2\x3carguments.length?r:void 0)},setUint32:function(e,t,r){d(this,4,e,i$jscomp$0,t,2\x3carguments.length?r:void 0)},setFloat32:function(e,t,r){d(this,4,e,s$jscomp$0,t,2\x3carguments.length?r:void 0)},setFloat64:function(e,t,r){d(this,8,e,l,t,2\x3carguments.length?r:void 0)}});O(U,\x22ArrayBuffer\x22);O(N,\x22DataView\x22);t$jscomp$0.exports\x3d{ArrayBuffer:U,DataView:N}},{\x22../internals/an-instance\x22:9,\n\x22../internals/array-buffer-native\x22:11,\x22../internals/array-fill\x22:15,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/descriptors\x22:42,\x22../internals/fails\x22:50,\x22../internals/global\x22:59,\x22../internals/ieee754\x22:65,\x22../internals/internal-state\x22:70,\x22../internals/object-define-property\x22:92,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/object-get-prototype-of\x22:97,\x22../internals/object-set-prototype-of\x22:101,\x22../internals/redefine-all\x22:107,\x22../internals/set-to-string-tag\x22:117,\x22../internals/to-index\x22:131,\n\x22../internals/to-integer\x22:133,\x22../internals/to-length\x22:134}],14:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var c\x3de$jscomp$0(\x22../internals/to-object\x22),d\x3de$jscomp$0(\x22../internals/to-absolute-index\x22),f\x3de$jscomp$0(\x22../internals/to-length\x22),h\x3dMath.min;t$jscomp$0.exports\x3d[].copyWithin||function(e,t,r){var n\x3dc(this),o\x3df(n.length),i\x3dd(e,o),a\x3dd(t,o),s\x3d2\x3carguments.length?r:void 0;o\x3dh((void 0\x3d\x3d\x3ds?o:d(s,o))-a,o-i);s\x3d1;for(a\x3ci\x26\x26i\x3ca+o\x26\x26(s\x3d-1,a+\x3do-1,i+\x3do-1);0\x3co--;)a in n?n[i]\x3dn[a]:delete n[i],i+\x3ds,a+\x3ds;return n}},\n{\x22../internals/to-absolute-index\x22:130,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],15:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var u\x3de$jscomp$0(\x22../internals/to-object\x22),c\x3de$jscomp$0(\x22../internals/to-absolute-index\x22),d\x3de$jscomp$0(\x22../internals/to-length\x22);t$jscomp$0.exports\x3dfunction(e,t,r){var n\x3du(this),o\x3dd(n.length),i\x3darguments.length,a\x3dc(1\x3ci?t:void 0,o);i\x3d2\x3ci?r:void 0;for(o\x3dvoid 0\x3d\x3d\x3di?o:c(i,o);a\x3co;)n[a++]\x3de;return n}},{\x22../internals/to-absolute-index\x22:130,\x22../internals/to-length\x22:134,\n\x22../internals/to-object\x22:135}],16:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/array-iteration\x22).forEach;r\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);r\x3dr(\x22forEach\x22);e$jscomp$0\x3de$jscomp$0(\x22forEach\x22);t$jscomp$0.exports\x3dr\x26\x26e$jscomp$0?[].forEach:function(e,t){return n(this,e,1\x3carguments.length?t:void 0)}},{\x22../internals/array-iteration\x22:19,\x22../internals/array-method-is-strict\x22:22,\x22../internals/array-method-uses-to-length\x22:23}],\n17:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var m\x3de$jscomp$0(\x22../internals/function-bind-context\x22),g\x3de$jscomp$0(\x22../internals/to-object\x22),v\x3de$jscomp$0(\x22../internals/call-with-safe-iteration-closing\x22),b\x3de$jscomp$0(\x22../internals/is-array-iterator-method\x22),_\x3de$jscomp$0(\x22../internals/to-length\x22),x\x3de$jscomp$0(\x22../internals/create-property\x22),w\x3de$jscomp$0(\x22../internals/get-iterator-method\x22);t$jscomp$0.exports\x3dfunction(e,t,r){var a\x3dg(e);var o\x3d\x22function\x22\x3d\x3dtypeof this?this:Array;var n\x3darguments.length;var f\x3d\n1\x3cn?t:void 0,h\x3dvoid 0!\x3d\x3df;var i\x3dw(a);var y\x3d0;if(h\x26\x26(f\x3dm(f,2\x3cn?r:void 0,2)),null\x3d\x3di||o\x3d\x3dArray\x26\x26b(i))for(o\x3dnew o(n\x3d_(a.length));y\x3cn;y++)i\x3dh?f(a[y],y):a[y],x(o,y,i);else for(n\x3d(a\x3di.call(a)).next,o\x3dnew o;!(i\x3dn.call(a)).done;y++)i\x3dh?v(a,f,[i.value,y],!0):i.value,x(o,y,i);return o.length\x3dy,o}},{\x22../internals/call-with-safe-iteration-closing\x22:26,\x22../internals/create-property\x22:39,\x22../internals/function-bind-context\x22:54,\x22../internals/get-iterator-method\x22:57,\x22../internals/is-array-iterator-method\x22:71,\x22../internals/to-length\x22:134,\n\x22../internals/to-object\x22:135}],18:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(s){return function(e,t,r){var n;e\x3dl(e);var i\x3du(e.length);r\x3dc(r,i);if(s\x26\x26t!\x3dt)for(;r\x3ci;){if((n\x3de[r++])!\x3dn)return!0}else for(;r\x3ci;r++)if((s||r in e)\x26\x26e[r]\x3d\x3d\x3dt)return s||r||0;return!s\x26\x26-1}}var l\x3de$jscomp$0(\x22../internals/to-indexed-object\x22),u\x3de$jscomp$0(\x22../internals/to-length\x22),c\x3de$jscomp$0(\x22../internals/to-absolute-index\x22);t$jscomp$0.exports\x3d{includes:n$jscomp$0(!0),indexOf:n$jscomp$0(!1)}},{\x22../internals/to-absolute-index\x22:130,\n\x22../internals/to-indexed-object\x22:132,\x22../internals/to-length\x22:134}],19:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(h){var p\x3d1\x3d\x3dh,y\x3d2\x3d\x3dh,m\x3d3\x3d\x3dh,g\x3d4\x3d\x3dh,v\x3d6\x3d\x3dh,b\x3d5\x3d\x3dh||v;return function(e,t,r,n){var o,i,a\x3dw(e),s\x3dx(a);t\x3d_(t,r,3);r\x3dj(s.length);var c\x3d0;n\x3dn||S;for(e\x3dp?n(e,r):y?n(e,0):void 0;c\x3cr;c++)if((b||c in s)\x26\x26(i\x3dt(o\x3ds[c],c,a),h))if(p)e[c]\x3di;else if(i)switch(h){case 3:return!0;case 5:return o;case 6:return c;case 2:M.call(e,o)}else if(g)return!1;return v?-1:m||g?g:e}}var _\x3de$jscomp$0(\x22../internals/function-bind-context\x22),\nx\x3de$jscomp$0(\x22../internals/indexed-object\x22),w\x3de$jscomp$0(\x22../internals/to-object\x22),j\x3de$jscomp$0(\x22../internals/to-length\x22),S\x3de$jscomp$0(\x22../internals/array-species-create\x22),M\x3d[].push;t$jscomp$0.exports\x3d{forEach:n$jscomp$0(0),map:n$jscomp$0(1),filter:n$jscomp$0(2),some:n$jscomp$0(3),every:n$jscomp$0(4),find:n$jscomp$0(5),findIndex:n$jscomp$0(6)}},{\x22../internals/array-species-create\x22:25,\x22../internals/function-bind-context\x22:54,\x22../internals/indexed-object\x22:66,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],\n20:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var i\x3de$jscomp$0(\x22../internals/to-indexed-object\x22),a\x3de$jscomp$0(\x22../internals/to-integer\x22),s\x3de$jscomp$0(\x22../internals/to-length\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);var l\x3dMath.min,u\x3d[].lastIndexOf,c\x3d!!u\x26\x260\x3e1/[1].lastIndexOf(1,-0);r$jscomp$0\x3dr$jscomp$0(\x22lastIndexOf\x22);e$jscomp$0\x3de$jscomp$0(\x22indexOf\x22,{ACCESSORS:!0,1:0});t$jscomp$0.exports\x3d!c\x26\x26r$jscomp$0\x26\x26e$jscomp$0?\nu:function(e,t){if(c)return u.apply(this,arguments)||0;var r\x3di(this),n\x3ds(r.length),o\x3dn-1;1\x3carguments.length\x26\x26(o\x3dl(o,a(t)));for(0\x3eo\x26\x26(o\x3dn+o);0\x3c\x3do;o--)if(o in r\x26\x26r[o]\x3d\x3d\x3de)return o||0;return-1}},{\x22../internals/array-method-is-strict\x22:22,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/to-indexed-object\x22:132,\x22../internals/to-integer\x22:133,\x22../internals/to-length\x22:134}],21:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/fails\x22);r\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);\nvar i\x3de$jscomp$0(\x22../internals/engine-v8-version\x22),a\x3dr(\x22species\x22);t$jscomp$0.exports\x3dfunction(t){return 51\x3c\x3di||!n(function(){var e\x3d[];return(e.constructor\x3d{})[a]\x3dfunction(){return{foo:1}},1!\x3d\x3de[t](Boolean).foo})}},{\x22../internals/engine-v8-version\x22:47,\x22../internals/fails\x22:50,\x22../internals/well-known-symbol\x22:146}],22:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/fails\x22);t$jscomp$0.exports\x3dfunction(e,t){var r\x3d[][e];return!!r\x26\x26n(function(){r.call(null,t||function(){throw 1;\n},1)})}},{\x22../internals/fails\x22:50}],23:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e){throw e;}var s\x3de$jscomp$1(\x22../internals/descriptors\x22),l\x3de$jscomp$1(\x22../internals/fails\x22),u\x3de$jscomp$1(\x22../internals/has\x22),c\x3dObject.defineProperty,d\x3d{};t$jscomp$0.exports\x3dfunction(e$jscomp$0,t){if(u(d,e$jscomp$0))return d[e$jscomp$0];var r\x3d[][e$jscomp$0],n\x3d!!u(t\x3dt||{},\x22ACCESSORS\x22)\x26\x26t.ACCESSORS,o\x3du(t,0)?t[0]:a,i\x3du(t,1)?t[1]:void 0;return d[e$jscomp$0]\x3d!!r\x26\x26!l(function(){if(n\x26\x26!s)return!0;var e\x3d{length:-1};\nn?c(e,1,{enumerable:!0,get:a}):e[1]\x3d1;r.call(e,o,i)})}},{\x22../internals/descriptors\x22:42,\x22../internals/fails\x22:50,\x22../internals/has\x22:60}],24:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(u){return function(e,t,r,n){c(t);e\x3dd(e);var i\x3df(e),a\x3dh(e.length),s\x3du?a-1:0,l\x3du?-1:1;if(2\x3er)for(;;){if(s in i){n\x3di[s];s+\x3dl;break}if(s+\x3dl,u?0\x3es:a\x3c\x3ds)throw TypeError(\x22Reduce of empty array with no initial value\x22);}for(;u?0\x3c\x3ds:s\x3ca;s+\x3dl)s in i\x26\x26(n\x3dt(n,i[s],s,e));return n}}var c\x3de$jscomp$0(\x22../internals/a-function\x22),\nd\x3de$jscomp$0(\x22../internals/to-object\x22),f\x3de$jscomp$0(\x22../internals/indexed-object\x22),h\x3de$jscomp$0(\x22../internals/to-length\x22);t$jscomp$0.exports\x3d{left:n$jscomp$0(!1),right:n$jscomp$0(!0)}},{\x22../internals/a-function\x22:5,\x22../internals/indexed-object\x22:66,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],25:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/is-object\x22),o\x3de$jscomp$0(\x22../internals/is-array\x22),i\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22species\x22);t$jscomp$0.exports\x3d\nfunction(e,t){var r;return o(e)\x26\x26(\x22function\x22!\x3dtypeof(r\x3de.constructor)||r!\x3d\x3dArray\x26\x26!o(r.prototype)?n(r)\x26\x26null\x3d\x3d\x3d(r\x3dr[i])\x26\x26(r\x3dvoid 0):r\x3dvoid 0),new (void 0\x3d\x3d\x3dr?Array:r)(0\x3d\x3d\x3dt?0:t)}},{\x22../internals/is-array\x22:72,\x22../internals/is-object\x22:74,\x22../internals/well-known-symbol\x22:146}],26:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var i\x3de$jscomp$1(\x22../internals/an-object\x22);t$jscomp$0.exports\x3dfunction(t,e$jscomp$0,r,n){try{return n?e$jscomp$0(i(r)[0],r[1]):e$jscomp$0(r)}catch(e){throw e$jscomp$0\x3dt.return,void 0!\x3d\x3d\ne$jscomp$0\x26\x26i(e$jscomp$0.call(t)),e;}}},{\x22../internals/an-object\x22:10}],27:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$1(\x22../internals/well-known-symbol\x22)(\x22iterator\x22),i\x3d!1;try{var n\x3d0;e$jscomp$1\x3d{next:function(){return{done:!!n++}},return:function(){i\x3d!0}};e$jscomp$1[o]\x3dfunction(){return this};Array.from(e$jscomp$1,function(){throw 2;})}catch(e){}t$jscomp$0.exports\x3dfunction(e$jscomp$0,t){if(!t\x26\x26!i)return!1;var r\x3d!1;try{t\x3d{},t[o]\x3dfunction(){return{next:function(){return{done:r\x3d!0}}}},\ne$jscomp$0(t)}catch(e){}return r}},{\x22../internals/well-known-symbol\x22:146}],28:[function(e$jscomp$0,t,r){var n\x3d{}.toString;t.exports\x3dfunction(e){return n.call(e).slice(8,-1)}},{}],29:[function(e$jscomp$2,t,r$jscomp$0){r$jscomp$0\x3de$jscomp$2(\x22../internals/to-string-tag-support\x22);var o\x3de$jscomp$2(\x22../internals/classof-raw\x22),i\x3de$jscomp$2(\x22../internals/well-known-symbol\x22)(\x22toStringTag\x22),a\x3d\x22Arguments\x22\x3d\x3do(function(){return arguments}());t.exports\x3dr$jscomp$0?o:function(e$jscomp$1){var n;if(void 0\x3d\x3d\x3de$jscomp$1)var r\x3d\n\x22Undefined\x22;else{if(null\x3d\x3d\x3de$jscomp$1)var JSCompiler_temp\x3d\x22Null\x22;else{a:{var e$jscomp$0\x3de$jscomp$1\x3dObject(e$jscomp$1);try{JSCompiler_temp\x3de$jscomp$0[i];break a}catch(e){}JSCompiler_temp\x3dvoid 0}JSCompiler_temp\x3d\x22string\x22\x3d\x3dtypeof(r\x3dJSCompiler_temp)?r:a?o(e$jscomp$1):\x22Object\x22\x3d\x3d(n\x3do(e$jscomp$1))\x26\x26\x22function\x22\x3d\x3dtypeof e$jscomp$1.callee?\x22Arguments\x22:n}r\x3dJSCompiler_temp}return r}},{\x22../internals/classof-raw\x22:28,\x22../internals/to-string-tag-support\x22:139,\x22../internals/well-known-symbol\x22:146}],30:[function(e$jscomp$1,\nt$jscomp$1,r$jscomp$1){var u\x3de$jscomp$1(\x22../internals/object-define-property\x22).f,c\x3de$jscomp$1(\x22../internals/object-create\x22),d\x3de$jscomp$1(\x22../internals/redefine-all\x22),f\x3de$jscomp$1(\x22../internals/function-bind-context\x22),h\x3de$jscomp$1(\x22../internals/an-instance\x22),p\x3de$jscomp$1(\x22../internals/iterate\x22),a$jscomp$1\x3de$jscomp$1(\x22../internals/define-iterator\x22),s$jscomp$0\x3de$jscomp$1(\x22../internals/set-species\x22),y\x3de$jscomp$1(\x22../internals/descriptors\x22),m\x3de$jscomp$1(\x22../internals/internal-metadata\x22).fastKey;e$jscomp$1\x3d\ne$jscomp$1(\x22../internals/internal-state\x22);var g\x3de$jscomp$1.set,v\x3de$jscomp$1.getterFor;t$jscomp$1.exports\x3d{getConstructor:function(e$jscomp$0,r$jscomp$0,n$jscomp$0,o$jscomp$0){function i$jscomp$0(e,t,r){var n,o,i\x3ds(e),a\x3dl(e,t);return a?a.value\x3dr:(i.last\x3da\x3d{index:o\x3dm(t,!0),key:t,value:r,previous:n\x3di.last,next:void 0,removed:!1},i.first||(i.first\x3da),n\x26\x26(n.next\x3da),y?i.size++:e.size++,\x22F\x22!\x3d\x3do\x26\x26(i.index[o]\x3da)),e}var a$jscomp$0\x3de$jscomp$0(function(e,t){h(e,a$jscomp$0,r$jscomp$0);g(e,{type:r$jscomp$0,index:c(null),\nfirst:void 0,last:void 0,size:0});y||(e.size\x3d0);null!\x3dt\x26\x26p(t,e[o$jscomp$0],e,n$jscomp$0)}),s\x3dv(r$jscomp$0),l\x3dfunction(e,t){e\x3ds(e);var o\x3dm(t);if(\x22F\x22!\x3d\x3do)return e.index[o];for(e\x3de.first;e;e\x3de.next)if(e.key\x3d\x3dt)return e};return d(a$jscomp$0.prototype,{clear:function(){for(var e\x3ds(this),t\x3de.index,r\x3de.first;r;)r.removed\x3d!0,r.previous\x26\x26(r.previous\x3dr.previous.next\x3dvoid 0),delete t[r.index],r\x3dr.next;e.first\x3de.last\x3dvoid 0;y?e.size\x3d0:this.size\x3d0},delete:function(e){var t\x3ds(this);if(e\x3dl(this,e)){var n\x3de.next,\no\x3de.previous;delete t.index[e.index];e.removed\x3d!0;o\x26\x26(o.next\x3dn);n\x26\x26(n.previous\x3do);t.first\x3d\x3de\x26\x26(t.first\x3dn);t.last\x3d\x3de\x26\x26(t.last\x3do);y?t.size--:this.size--}return!!e},forEach:function(e,t){for(var r,n\x3ds(this),o\x3df(e,1\x3carguments.length?t:void 0,3);r\x3dr?r.next:n.first;)for(o(r.value,r.key,this);r\x26\x26r.removed;)r\x3dr.previous},has:function(e){return!!l(this,e)}}),d(a$jscomp$0.prototype,n$jscomp$0?{get:function(e){return(e\x3dl(this,e))\x26\x26e.value},set:function(e,t){return i$jscomp$0(this,0\x3d\x3d\x3de?0:e,t)}}:{add:function(e){return i$jscomp$0(this,\ne\x3d0\x3d\x3d\x3de?0:e,e)}}),y\x26\x26u(a$jscomp$0.prototype,\x22size\x22,{get:function(){return s(this).size}}),a$jscomp$0},setStrong:function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3dt$jscomp$0+\x22 Iterator\x22,o\x3dv(t$jscomp$0),i\x3dv(n);a$jscomp$1(e$jscomp$0,t$jscomp$0,function(e,t){g(this,{type:n,target:e,state:o(e),kind:t,last:void 0})},function(){for(var e\x3di(this),t\x3de.kind,r\x3de.last;r\x26\x26r.removed;)r\x3dr.previous;return e.target\x26\x26(e.last\x3dr\x3dr?r.next:e.state.first)?\x22keys\x22\x3d\x3dt?{value:r.key,done:!1}:\x22values\x22\x3d\x3dt?{value:r.value,done:!1}:\n{value:[r.key,r.value],done:!1}:{value:e.target\x3dvoid 0,done:!0}},r$jscomp$0?\x22entries\x22:\x22values\x22,!r$jscomp$0,!0);s$jscomp$0(t$jscomp$0)}}},{\x22../internals/an-instance\x22:9,\x22../internals/define-iterator\x22:40,\x22../internals/descriptors\x22:42,\x22../internals/function-bind-context\x22:54,\x22../internals/internal-metadata\x22:69,\x22../internals/internal-state\x22:70,\x22../internals/iterate\x22:77,\x22../internals/object-create\x22:90,\x22../internals/object-define-property\x22:92,\x22../internals/redefine-all\x22:107,\x22../internals/set-species\x22:116}],\n31:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){var m\x3de$jscomp$2(\x22../internals/export\x22),g\x3de$jscomp$2(\x22../internals/global\x22),v\x3de$jscomp$2(\x22../internals/is-forced\x22),b\x3de$jscomp$2(\x22../internals/redefine\x22),_\x3de$jscomp$2(\x22../internals/internal-metadata\x22),x\x3de$jscomp$2(\x22../internals/iterate\x22),w\x3de$jscomp$2(\x22../internals/an-instance\x22),j\x3de$jscomp$2(\x22../internals/is-object\x22),S\x3de$jscomp$2(\x22../internals/fails\x22),M\x3de$jscomp$2(\x22../internals/check-correctness-of-iteration\x22),E\x3de$jscomp$2(\x22../internals/set-to-string-tag\x22),\nT\x3de$jscomp$2(\x22../internals/inherit-if-required\x22);t$jscomp$1.exports\x3dfunction(n,e$jscomp$1,t$jscomp$0){function r$jscomp$0(e$jscomp$0){var r\x3dl[e$jscomp$0];b(l,e$jscomp$0,\x22add\x22\x3d\x3de$jscomp$0?function(e){return r.call(this,0\x3d\x3d\x3de?0:e),this}:\x22delete\x22\x3d\x3de$jscomp$0?function(e){return!(i\x26\x26!j(e))\x26\x26r.call(this,0\x3d\x3d\x3de?0:e)}:\x22get\x22\x3d\x3de$jscomp$0?function(e){return i\x26\x26!j(e)?void 0:r.call(this,0\x3d\x3d\x3de?0:e)}:\x22has\x22\x3d\x3de$jscomp$0?function(e){return!(i\x26\x26!j(e))\x26\x26r.call(this,0\x3d\x3d\x3de?0:e)}:function(e,t){return r.call(this,0\x3d\x3d\x3de?0:\ne,t),this})}var o\x3d-1!\x3d\x3dn.indexOf(\x22Map\x22),i\x3d-1!\x3d\x3dn.indexOf(\x22Weak\x22),a\x3do?\x22set\x22:\x22add\x22,s\x3dg[n],l\x3ds\x26\x26s.prototype,u\x3ds,c\x3d{};if(v(n,\x22function\x22!\x3dtypeof s||!(i||l.forEach\x26\x26!S(function(){(new s).entries().next()}))))u\x3dt$jscomp$0.getConstructor(e$jscomp$1,n,o,a),_.REQUIRED\x3d!0;else if(v(n,!0)){var d\x3dnew u,f\x3dd[a](i?{}:-0,1)!\x3dd,h\x3dS(function(){d.has(1)}),p\x3dM(function(e){new s(e)}),y\x3d!i\x26\x26S(function(){for(var e\x3dnew s,t\x3d5;t--;)e[a](t,t);return!e.has(-0)});p||(((u\x3de$jscomp$1(function(e,t){w(e,u,n);e\x3dT(new s,e,u);return null!\x3d\nt\x26\x26x(t,e[a],e,o),e})).prototype\x3dl).constructor\x3du);(h||y)\x26\x26(r$jscomp$0(\x22delete\x22),r$jscomp$0(\x22has\x22),o\x26\x26r$jscomp$0(\x22get\x22));(y||f)\x26\x26r$jscomp$0(a);i\x26\x26l.clear\x26\x26delete l.clear}return c[n]\x3du,m({global:!0,forced:u!\x3ds},c),E(u,n),i||t$jscomp$0.setStrong(u,n,o),u}},{\x22../internals/an-instance\x22:9,\x22../internals/check-correctness-of-iteration\x22:27,\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/global\x22:59,\x22../internals/inherit-if-required\x22:67,\x22../internals/internal-metadata\x22:69,\x22../internals/is-forced\x22:73,\n\x22../internals/is-object\x22:74,\x22../internals/iterate\x22:77,\x22../internals/redefine\x22:108,\x22../internals/set-to-string-tag\x22:117}],32:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var s\x3de$jscomp$0(\x22../internals/has\x22),l\x3de$jscomp$0(\x22../internals/own-keys\x22),u\x3de$jscomp$0(\x22../internals/object-get-own-property-descriptor\x22),c\x3de$jscomp$0(\x22../internals/object-define-property\x22);t$jscomp$0.exports\x3dfunction(e,t){for(var r\x3dl(t),n\x3dc.f,o\x3du.f,i\x3d0;i\x3cr.length;i++){var a\x3dr[i];s(e,a)||n(e,a,o(t,a))}}},{\x22../internals/has\x22:60,\x22../internals/object-define-property\x22:92,\n\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/own-keys\x22:103}],33:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$1(\x22../internals/well-known-symbol\x22)(\x22match\x22);t$jscomp$0.exports\x3dfunction(t){var r\x3d/./;try{\x22/./\x22[t](r)}catch(e$jscomp$0){try{return r[n]\x3d!1,\x22/./\x22[t](r)}catch(e){}}return!1}},{\x22../internals/well-known-symbol\x22:146}],34:[function(e$jscomp$0,t,r){e$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);t.exports\x3d!e$jscomp$0(function(){function e(){}return e.prototype.constructor\x3d\nnull,Object.getPrototypeOf(new e)!\x3d\x3de.prototype})},{\x22../internals/fails\x22:50}],35:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var a\x3de$jscomp$0(\x22../internals/require-object-coercible\x22),s\x3d/\x22/g;t$jscomp$0.exports\x3dfunction(e,t,r,n){e\x3dString(a(e));var i\x3d\x22\\x3c\x22+t;return\x22\x22!\x3d\x3dr\x26\x26(i+\x3d\x22 \x22+r+\x27\\x3d\x22\x27+String(n).replace(s,\x22\\x26quot;\x22)+\x27\x22\x27),i+\x22\\x3e\x22+e+\x22\\x3c/\x22+t+\x22\\x3e\x22}},{\x22../internals/require-object-coercible\x22:113}],36:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function o(){return this}var i\x3de$jscomp$0(\x22../internals/iterators-core\x22).IteratorPrototype,\na\x3de$jscomp$0(\x22../internals/object-create\x22),s\x3de$jscomp$0(\x22../internals/create-property-descriptor\x22),l\x3de$jscomp$0(\x22../internals/set-to-string-tag\x22),u\x3de$jscomp$0(\x22../internals/iterators\x22);t$jscomp$0.exports\x3dfunction(e,t,r){t+\x3d\x22 Iterator\x22;return e.prototype\x3da(i,{next:s(1,r)}),l(e,t,!1,!0),u[t]\x3do,e}},{\x22../internals/create-property-descriptor\x22:38,\x22../internals/iterators\x22:79,\x22../internals/iterators-core\x22:78,\x22../internals/object-create\x22:90,\x22../internals/set-to-string-tag\x22:117}],37:[function(e$jscomp$0,t$jscomp$0,\nr$jscomp$0){r$jscomp$0\x3de$jscomp$0(\x22../internals/descriptors\x22);var o\x3de$jscomp$0(\x22../internals/object-define-property\x22),i\x3de$jscomp$0(\x22../internals/create-property-descriptor\x22);t$jscomp$0.exports\x3dr$jscomp$0?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]\x3dr,e}},{\x22../internals/create-property-descriptor\x22:38,\x22../internals/descriptors\x22:42,\x22../internals/object-define-property\x22:92}],38:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0.exports\x3dfunction(e,t){return{enumerable:!(1\x26e),configurable:!(2\x26\ne),writable:!(4\x26e),value:t}}},{}],39:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/to-primitive\x22),i\x3de$jscomp$0(\x22../internals/object-define-property\x22),a\x3de$jscomp$0(\x22../internals/create-property-descriptor\x22);t$jscomp$0.exports\x3dfunction(e,t,r){t\x3do(t);t in e?i.f(e,t,a(0,r)):e[t]\x3dr}},{\x22../internals/create-property-descriptor\x22:38,\x22../internals/object-define-property\x22:92,\x22../internals/to-primitive\x22:138}],40:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function g(){return this}\nvar v\x3de$jscomp$1(\x22../internals/export\x22),b\x3de$jscomp$1(\x22../internals/create-iterator-constructor\x22),_\x3de$jscomp$1(\x22../internals/object-get-prototype-of\x22),x\x3de$jscomp$1(\x22../internals/object-set-prototype-of\x22),w\x3de$jscomp$1(\x22../internals/set-to-string-tag\x22),j\x3de$jscomp$1(\x22../internals/create-non-enumerable-property\x22),S\x3de$jscomp$1(\x22../internals/redefine\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/well-known-symbol\x22);var M\x3de$jscomp$1(\x22../internals/is-pure\x22),E\x3de$jscomp$1(\x22../internals/iterators\x22);e$jscomp$1\x3de$jscomp$1(\x22../internals/iterators-core\x22);\nvar T\x3de$jscomp$1.IteratorPrototype,O\x3de$jscomp$1.BUGGY_SAFARI_ITERATORS,C\x3dr$jscomp$0(\x22iterator\x22);t$jscomp$0.exports\x3dfunction(e$jscomp$0,t,r,n,o,i,a){function s(e){if(e\x3d\x3d\x3do\x26\x26y)return y;if(!O\x26\x26e in h)return h[e];switch(e){case \x22keys\x22:case \x22values\x22:case \x22entries\x22:return function(){return new r(this,e)}}return function(){return new r(this)}}b(r,t,n);var l,u,c;n\x3dt+\x22 Iterator\x22;var f\x3d!1,h\x3de$jscomp$0.prototype,p\x3dh[C]||h[\x22@@iterator\x22]||o\x26\x26h[o],y\x3d!O\x26\x26p||s(o),m\x3d\x22Array\x22\x3d\x3dt\x26\x26h.entries||p;if(m\x26\x26(l\x3d_(m.call(new e$jscomp$0)),\nT!\x3d\x3dObject.prototype\x26\x26l.next\x26\x26(M||_(l)\x3d\x3d\x3dT||(x?x(l,T):\x22function\x22!\x3dtypeof l[C]\x26\x26j(l,C,g)),w(l,n,!0,!0),M\x26\x26(E[n]\x3dg))),\x22values\x22\x3d\x3do\x26\x26p\x26\x26\x22values\x22!\x3d\x3dp.name\x26\x26(f\x3d!0,y\x3dfunction(){return p.call(this)}),M\x26\x26!a||h[C]\x3d\x3d\x3dy||j(h,C,y),E[t]\x3dy,o)if(u\x3d{values:s(\x22values\x22),keys:i?y:s(\x22keys\x22),entries:s(\x22entries\x22)},a)for(c in u)!O\x26\x26!f\x26\x26c in h||S(h,c,u[c]);else v({target:t,proto:!0,forced:O||f},u);return u}},{\x22../internals/create-iterator-constructor\x22:36,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/export\x22:49,\n\x22../internals/is-pure\x22:75,\x22../internals/iterators\x22:79,\x22../internals/iterators-core\x22:78,\x22../internals/object-get-prototype-of\x22:97,\x22../internals/object-set-prototype-of\x22:101,\x22../internals/redefine\x22:108,\x22../internals/set-to-string-tag\x22:117,\x22../internals/well-known-symbol\x22:146}],41:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/path\x22),o\x3de$jscomp$0(\x22../internals/has\x22),i\x3de$jscomp$0(\x22../internals/well-known-symbol-wrapped\x22),a\x3de$jscomp$0(\x22../internals/object-define-property\x22).f;t$jscomp$0.exports\x3d\nfunction(e){var t\x3dn.Symbol||(n.Symbol\x3d{});o(t,e)||a(t,e,{value:i.f(e)})}},{\x22../internals/has\x22:60,\x22../internals/object-define-property\x22:92,\x22../internals/path\x22:104,\x22../internals/well-known-symbol-wrapped\x22:145}],42:[function(e,t,r){e\x3de(\x22../internals/fails\x22);t.exports\x3d!e(function(){return 7!\x3dObject.defineProperty({},1,{get:function(){return 7}})[1]})},{\x22../internals/fails\x22:50}],43:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/global\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/is-object\x22);var i\x3dr.document,\na\x3de$jscomp$0(i)\x26\x26e$jscomp$0(i.createElement);t.exports\x3dfunction(e){return a?i.createElement(e):{}}},{\x22../internals/global\x22:59,\x22../internals/is-object\x22:74}],44:[function(e,t,r){t.exports\x3d{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,\nSVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],45:[function(e,t,r){e\x3de(\x22../internals/engine-user-agent\x22);t.exports\x3d/(iphone|ipod|ipad).*applewebkit/i.test(e)},{\x22../internals/engine-user-agent\x22:46}],46:[function(e,t,r){e\x3de(\x22../internals/get-built-in\x22);t.exports\x3de(\x22navigator\x22,\x22userAgent\x22)||\x22\x22},{\x22../internals/get-built-in\x22:56}],47:[function(e,t,r){var n,o;r\x3de(\x22../internals/global\x22);\ne\x3de(\x22../internals/engine-user-agent\x22);(r\x3d(r\x3d(r\x3dr.process)\x26\x26r.versions)\x26\x26r.v8)?o\x3d(n\x3dr.split(\x22.\x22))[0]+n[1]:e\x26\x26(!(n\x3de.match(/Edge\\/(\\d+)/))||74\x3c\x3dn[1])\x26\x26(n\x3de.match(/Chrome\\/(\\d+)/))\x26\x26(o\x3dn[1]);t.exports\x3do\x26\x26+o},{\x22../internals/engine-user-agent\x22:46,\x22../internals/global\x22:59}],48:[function(e,t,r){t.exports\x3d\x22constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\x22.split(\x22 \x22)},{}],49:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var c\x3de$jscomp$0(\x22../internals/global\x22),d\x3de$jscomp$0(\x22../internals/object-get-own-property-descriptor\x22).f,\nf\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22),h\x3de$jscomp$0(\x22../internals/redefine\x22),p\x3de$jscomp$0(\x22../internals/set-global\x22),y\x3de$jscomp$0(\x22../internals/copy-constructor-properties\x22),m\x3de$jscomp$0(\x22../internals/is-forced\x22);t$jscomp$0.exports\x3dfunction(e,t){var r,n,o,i,a,s\x3de.target,l\x3de.global,u\x3de.stat;if(r\x3dl?c:u?c[s]||p(s,{}):(c[s]||{}).prototype)for(n in t){if(i\x3dt[n],o\x3de.noTargetGet?(a\x3dd(r,n))\x26\x26a.value:r[n],!m(l?n:s+(u?\x22.\x22:\x22#\x22)+n,e.forced)\x26\x26void 0!\x3d\x3do){if(typeof i\x3d\x3dtypeof o)continue;y(i,\no)}(e.sham||o\x26\x26o.sham)\x26\x26f(i,\x22sham\x22,!0);h(r,n,i,e)}}},{\x22../internals/copy-constructor-properties\x22:32,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/global\x22:59,\x22../internals/is-forced\x22:73,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/redefine\x22:108,\x22../internals/set-global\x22:115}],50:[function(e$jscomp$1,t,r){t.exports\x3dfunction(e$jscomp$0){try{return!!e$jscomp$0()}catch(e){return!0}}},{}],51:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){e$jscomp$1(\x22../modules/es.regexp.exec\x22);\nvar d\x3de$jscomp$1(\x22../internals/redefine\x22),f\x3de$jscomp$1(\x22../internals/fails\x22),h\x3de$jscomp$1(\x22../internals/well-known-symbol\x22),p\x3de$jscomp$1(\x22../internals/regexp-exec\x22),y\x3de$jscomp$1(\x22../internals/create-non-enumerable-property\x22),m\x3dh(\x22species\x22),g\x3d!f(function(){var e$jscomp$0\x3d/./;return e$jscomp$0.exec\x3dfunction(){var e\x3d[];return e.groups\x3d{a:\x227\x22},e},\x227\x22!\x3d\x3d\x22\x22.replace(e$jscomp$0,\x22$\\x3ca\\x3e\x22)}),v\x3d\x22$0\x22\x3d\x3d\x3d\x22a\x22.replace(/./,\x22$0\x22);e$jscomp$1\x3dh(\x22replace\x22);var b\x3d!!/./[e$jscomp$1]\x26\x26\x22\x22\x3d\x3d\x3d/./[e$jscomp$1](\x22a\x22,\x22$0\x22),_\x3d\n!f(function(){var e\x3d/(?:)/,t\x3de.exec;e.exec\x3dfunction(){return t.apply(this,arguments)};e\x3d\x22ab\x22.split(e);return 2!\x3d\x3de.length||\x22a\x22!\x3d\x3de[0]||\x22b\x22!\x3d\x3de[1]});t$jscomp$1.exports\x3dfunction(r$jscomp$0,e$jscomp$0,t$jscomp$0,n$jscomp$0){var o$jscomp$0\x3dh(r$jscomp$0),i\x3d!f(function(){var e\x3d{};return e[o$jscomp$0]\x3dfunction(){return 7},7!\x3d\x22\x22[r$jscomp$0](e)}),a\x3di\x26\x26!f(function(){var e\x3d!1,t\x3d/a/;return\x22split\x22\x3d\x3d\x3dr$jscomp$0\x26\x26((t\x3d{constructor:{}}).constructor[m]\x3dfunction(){return t},t.flags\x3d\x22\x22,t[o$jscomp$0]\x3d/./[o$jscomp$0]),\nt.exec\x3dfunction(){return e\x3d!0,null},t[o$jscomp$0](\x22\x22),!e});if(!i||!a||\x22replace\x22\x3d\x3d\x3dr$jscomp$0\x26\x26(!g||!v||b)||\x22split\x22\x3d\x3d\x3dr$jscomp$0\x26\x26!_){var s\x3d/./[o$jscomp$0];t$jscomp$0\x3dt$jscomp$0(o$jscomp$0,\x22\x22[r$jscomp$0],function(e,t,r,n,o){return t.exec\x3d\x3d\x3dp?i\x26\x26!o?{done:!0,value:s.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}},{REPLACE_KEEPS_$0:v,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:b});var c\x3dt$jscomp$0[1];d(String.prototype,r$jscomp$0,t$jscomp$0[0]);d(RegExp.prototype,o$jscomp$0,2\x3d\x3de$jscomp$0?function(e,\nt){return c.call(e,this,t)}:function(e){return c.call(e,this)})}n$jscomp$0\x26\x26y(RegExp.prototype[o$jscomp$0],\x22sham\x22,!0)}},{\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/fails\x22:50,\x22../internals/redefine\x22:108,\x22../internals/regexp-exec\x22:110,\x22../internals/well-known-symbol\x22:146,\x22../modules/es.regexp.exec\x22:181}],52:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var f\x3de$jscomp$0(\x22../internals/is-array\x22),h\x3de$jscomp$0(\x22../internals/to-length\x22),p\x3de$jscomp$0(\x22../internals/function-bind-context\x22),\ny\x3dfunction(e,t,r,n,o,i,a,s){var l,c\x3d0;for(a\x3d!!a\x26\x26p(a,s,3);c\x3cn;){if(c in r){if(l\x3da?a(r[c],c,t):r[c],0\x3ci\x26\x26f(l))o\x3dy(e,t,l,h(l.length),o,i-1)-1;else{if(9007199254740991\x3c\x3do)throw TypeError(\x22Exceed the acceptable array length\x22);e[o]\x3dl}o++}c++}return o};t$jscomp$0.exports\x3dy},{\x22../internals/function-bind-context\x22:54,\x22../internals/is-array\x22:72,\x22../internals/to-length\x22:134}],53:[function(e,t,r){e\x3de(\x22../internals/fails\x22);t.exports\x3d!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},{\x22../internals/fails\x22:50}],\n54:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var i\x3de$jscomp$1(\x22../internals/a-function\x22);t$jscomp$0.exports\x3dfunction(n,o,e$jscomp$0){if(i(n),void 0\x3d\x3d\x3do)return n;switch(e$jscomp$0){case 0:return function(){return n.call(o)};case 1:return function(e){return n.call(o,e)};case 2:return function(e,t){return n.call(o,e,t)};case 3:return function(e,t,r){return n.call(o,e,t,r)}}return function(){return n.apply(o,arguments)}}},{\x22../internals/a-function\x22:5}],55:[function(e$jscomp$0,t$jscomp$1,r$jscomp$0){var i\x3d\ne$jscomp$0(\x22../internals/a-function\x22),a\x3de$jscomp$0(\x22../internals/is-object\x22),s\x3d[].slice,l\x3d{};t$jscomp$1.exports\x3dFunction.bind||function(t$jscomp$0){var r\x3di(this),n$jscomp$0\x3ds.call(arguments,1),o$jscomp$0\x3dfunction(){var e\x3dn$jscomp$0.concat(s.call(arguments));if(this instanceof o$jscomp$0){var t\x3de.length;if(!(t in l)){for(var n\x3d[],o\x3d0;o\x3ct;o++)n[o]\x3d\x22a[\x22+o+\x22]\x22;l[t]\x3dFunction(\x22C,a\x22,\x22return new C(\x22+n.join(\x22,\x22)+\x22)\x22)}e\x3dl[t](r,e)}else e\x3dr.apply(t$jscomp$0,e);return e};return a(r.prototype)\x26\x26(o$jscomp$0.prototype\x3d\nr.prototype),o$jscomp$0}},{\x22../internals/a-function\x22:5,\x22../internals/is-object\x22:74}],56:[function(e$jscomp$0,t$jscomp$0,r){function n(e){return\x22function\x22\x3d\x3dtypeof e?e:void 0}var o\x3de$jscomp$0(\x22../internals/path\x22),i\x3de$jscomp$0(\x22../internals/global\x22);t$jscomp$0.exports\x3dfunction(e,t){return 2\x3earguments.length?n(o[e])||n(i[e]):o[e]\x26\x26o[e][t]||i[e]\x26\x26i[e][t]}},{\x22../internals/global\x22:59,\x22../internals/path\x22:104}],57:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/classof\x22),o\x3de$jscomp$0(\x22../internals/iterators\x22),\ni\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22iterator\x22);t.exports\x3dfunction(e){if(null!\x3de)return e[i]||e[\x22@@iterator\x22]||o[n(e)]}},{\x22../internals/classof\x22:29,\x22../internals/iterators\x22:79,\x22../internals/well-known-symbol\x22:146}],58:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/an-object\x22),o\x3de$jscomp$0(\x22../internals/get-iterator-method\x22);t$jscomp$0.exports\x3dfunction(e){var t\x3do(e);if(\x22function\x22!\x3dtypeof t)throw TypeError(String(e)+\x22 is not iterable\x22);return n(t.call(e))}},{\x22../internals/an-object\x22:10,\n\x22../internals/get-iterator-method\x22:57}],59:[function(e$jscomp$1,r,t$jscomp$0){(function(e$jscomp$0){function t(e){return e\x26\x26e.Math\x3d\x3dMath\x26\x26e}r.exports\x3dt(\x22object\x22\x3d\x3dtypeof globalThis\x26\x26globalThis)||t(\x22object\x22\x3d\x3dtypeof window\x26\x26window)||t(\x22object\x22\x3d\x3dtypeof self\x26\x26self)||t(\x22object\x22\x3d\x3dtypeof e$jscomp$0\x26\x26e$jscomp$0)||Function(\x22return this\x22)()}).call(this,\x22undefined\x22!\x3dtypeof global?global:\x22undefined\x22!\x3dtypeof self?self:\x22undefined\x22!\x3dtypeof window?window:{})},{}],60:[function(e$jscomp$0,t$jscomp$0,r){var n\x3d{}.hasOwnProperty;\nt$jscomp$0.exports\x3dfunction(e,t){return n.call(e,t)}},{}],61:[function(e,t,r){t.exports\x3d{}},{}],62:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/global\x22);t$jscomp$0.exports\x3dfunction(e,t){var r\x3dn.console;r\x26\x26r.error\x26\x26(1\x3d\x3d\x3darguments.length?r.error(e):r.error(e,t))}},{\x22../internals/global\x22:59}],63:[function(e,t,r){e\x3de(\x22../internals/get-built-in\x22);t.exports\x3de(\x22document\x22,\x22documentElement\x22)},{\x22../internals/get-built-in\x22:56}],64:[function(e,t,r){r\x3de(\x22../internals/descriptors\x22);\nvar o\x3de(\x22../internals/fails\x22),i\x3de(\x22../internals/document-create-element\x22);t.exports\x3d!r\x26\x26!o(function(){return 7!\x3dObject.defineProperty(i(\x22div\x22),\x22a\x22,{get:function(){return 7}}).a})},{\x22../internals/descriptors\x22:42,\x22../internals/document-create-element\x22:43,\x22../internals/fails\x22:50}],65:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var h\x3dMath.abs,p\x3dMath.pow,y\x3dMath.floor,m\x3dMath.log,g\x3dMath.LN2;t$jscomp$0.exports\x3d{pack:function(e,t,r){var n,o,i,a\x3dArray(r);r\x3d8*r-t-1;var l\x3d(1\x3c\x3cr)-1,u\x3dl\x3e\x3e1,c\x3d23\x3d\x3d\x3dt?p(2,-24)-p(2,\n-77):0,d\x3d0\x3ee||0\x3d\x3d\x3de\x26\x260\x3e1/e?1:0,f\x3d0;for((e\x3dh(e))!\x3de||e\x3d\x3d\x3d1/0?(o\x3de!\x3de?1:0,n\x3dl):(n\x3dy(m(e)/g),1\x3ee*(i\x3dp(2,-n))\x26\x26(n--,i*\x3d2),2\x3c\x3d(e+\x3d1\x3c\x3dn+u?c/i:c*p(2,1-u))*i\x26\x26(n++,i/\x3d2),l\x3c\x3dn+u?(o\x3d0,n\x3dl):1\x3c\x3dn+u?(o\x3d(e*i-1)*p(2,t),n+\x3du):(o\x3de*p(2,u-1)*p(2,t),n\x3d0));8\x3c\x3dt;a[f++]\x3d255\x26o,o/\x3d256,t-\x3d8);n\x3dn\x3c\x3ct|o;for(r+\x3dt;0\x3cr;a[f++]\x3d255\x26n,n/\x3d256,r-\x3d8);return a[--f]|\x3d128*d,a},unpack:function(e,t){var r\x3de.length;var o\x3d8*r-t-1,i\x3d(1\x3c\x3co)-1,a\x3di\x3e\x3e1;o-\x3d7;var l\x3dr-1,u\x3de[l--],c\x3d127\x26u;for(u\x3e\x3e\x3d7;0\x3co;c\x3d256*c+e[l],l--,o-\x3d8);r\x3dc\x26(1\x3c\x3c-o)-1;c\x3e\x3e\x3d-o;for(o+\x3d\nt;0\x3co;r\x3d256*r+e[l],l--,o-\x3d8);if(0\x3d\x3d\x3dc)c\x3d1-a;else{if(c\x3d\x3d\x3di)return r?NaN:u?-1/0:1/0;r+\x3dp(2,t);c-\x3da}return(u?-1:1)*r*p(2,c-t)}}},{}],66:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/fails\x22);var o\x3de$jscomp$0(\x22../internals/classof-raw\x22),i\x3d\x22\x22.split;t.exports\x3dr(function(){return!Object(\x22z\x22).propertyIsEnumerable(0)})?function(e){return\x22String\x22\x3d\x3do(e)?i.call(e,\x22\x22):Object(e)}:Object},{\x22../internals/classof-raw\x22:28,\x22../internals/fails\x22:50}],67:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var i\x3de$jscomp$0(\x22../internals/is-object\x22),\na\x3de$jscomp$0(\x22../internals/object-set-prototype-of\x22);t$jscomp$0.exports\x3dfunction(e,t,r){var n,o;return a\x26\x26\x22function\x22\x3d\x3dtypeof(n\x3dt.constructor)\x26\x26n!\x3d\x3dr\x26\x26i(o\x3dn.prototype)\x26\x26o!\x3d\x3dr.prototype\x26\x26a(e,o),e}},{\x22../internals/is-object\x22:74,\x22../internals/object-set-prototype-of\x22:101}],68:[function(e$jscomp$0,t,r){e$jscomp$0\x3de$jscomp$0(\x22../internals/shared-store\x22);var o\x3dFunction.toString;\x22function\x22!\x3dtypeof e$jscomp$0.inspectSource\x26\x26(e$jscomp$0.inspectSource\x3dfunction(e){return o.call(e)});t.exports\x3de$jscomp$0.inspectSource},\n{\x22../internals/shared-store\x22:119}],69:[function(e$jscomp$0,t$jscomp$0,r){function n(e){s(e,c,{value:{objectID:\x22O\x22+ ++d,weakData:{}}})}r\x3de$jscomp$0(\x22../internals/hidden-keys\x22);var i\x3de$jscomp$0(\x22../internals/is-object\x22),a\x3de$jscomp$0(\x22../internals/has\x22),s\x3de$jscomp$0(\x22../internals/object-define-property\x22).f,l\x3de$jscomp$0(\x22../internals/uid\x22),u\x3de$jscomp$0(\x22../internals/freezing\x22),c\x3dl(\x22meta\x22),d\x3d0,f\x3dObject.isExtensible||function(){return!0},h\x3dt$jscomp$0.exports\x3d{REQUIRED:!1,fastKey:function(e,t){if(!i(e))return\x22symbol\x22\x3d\x3d\ntypeof e?e:(\x22string\x22\x3d\x3dtypeof e?\x22S\x22:\x22P\x22)+e;if(!a(e,c)){if(!f(e))return\x22F\x22;if(!t)return\x22E\x22;n(e)}return e[c].objectID},getWeakData:function(e,t){if(!a(e,c)){if(!f(e))return!0;if(!t)return!1;n(e)}return e[c].weakData},onFreeze:function(e){return u\x26\x26h.REQUIRED\x26\x26f(e)\x26\x26!a(e,c)\x26\x26n(e),e}};r[c]\x3d!0},{\x22../internals/freezing\x22:53,\x22../internals/has\x22:60,\x22../internals/hidden-keys\x22:61,\x22../internals/is-object\x22:74,\x22../internals/object-define-property\x22:92,\x22../internals/uid\x22:143}],70:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){r$jscomp$0\x3d\ne$jscomp$0(\x22../internals/native-weak-map\x22);var s\x3de$jscomp$0(\x22../internals/global\x22),l\x3de$jscomp$0(\x22../internals/is-object\x22),u\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22),c\x3de$jscomp$0(\x22../internals/has\x22),d\x3de$jscomp$0(\x22../internals/shared-key\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/hidden-keys\x22);s\x3ds.WeakMap;if(r$jscomp$0){var p\x3dnew s,y\x3dp.get,m\x3dp.has,g\x3dp.set;var n\x3dfunction(e,t){return g.call(p,e,t),t};var o\x3dfunction(e){return y.call(p,e)||{}};var i\x3dfunction(e){return m.call(p,e)}}else{var v\x3d\nd(\x22state\x22);e$jscomp$0[v]\x3d!0;n\x3dfunction(e,t){return u(e,v,t),t};o\x3dfunction(e){return c(e,v)?e[v]:{}};i\x3dfunction(e){return c(e,v)}}t$jscomp$0.exports\x3d{set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(r){return function(e){var t;if(!l(e)||(t\x3do(e)).type!\x3d\x3dr)throw TypeError(\x22Incompatible receiver, \x22+r+\x22 required\x22);return t}}}},{\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/hidden-keys\x22:61,\x22../internals/is-object\x22:74,\n\x22../internals/native-weak-map\x22:85,\x22../internals/shared-key\x22:118}],71:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);var o\x3de$jscomp$0(\x22../internals/iterators\x22),i\x3dr(\x22iterator\x22),a\x3dArray.prototype;t.exports\x3dfunction(e){return void 0!\x3d\x3de\x26\x26(o.Array\x3d\x3d\x3de||a[i]\x3d\x3d\x3de)}},{\x22../internals/iterators\x22:79,\x22../internals/well-known-symbol\x22:146}],72:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/classof-raw\x22);t.exports\x3dArray.isArray||function(e){return\x22Array\x22\x3d\x3dn(e)}},{\x22../internals/classof-raw\x22:28}],\n73:[function(e$jscomp$0,t$jscomp$0,r){function n(e,t){e\x3ds[a(e)];return e\x3d\x3du||e!\x3dl\x26\x26(\x22function\x22\x3d\x3dtypeof t?o(t):!!t)}var o\x3de$jscomp$0(\x22../internals/fails\x22),i\x3d/#|\\.prototype\\./,a\x3dn.normalize\x3dfunction(e){return String(e).replace(i,\x22.\x22).toLowerCase()},s\x3dn.data\x3d{},l\x3dn.NATIVE\x3d\x22N\x22,u\x3dn.POLYFILL\x3d\x22P\x22;t$jscomp$0.exports\x3dn},{\x22../internals/fails\x22:50}],74:[function(e$jscomp$0,t,r){t.exports\x3dfunction(e){return\x22object\x22\x3d\x3dtypeof e?null!\x3d\x3de:\x22function\x22\x3d\x3dtypeof e}},{}],75:[function(e,t,r){t.exports\x3d!1},{}],76:[function(e$jscomp$0,\nt$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/is-object\x22),o\x3de$jscomp$0(\x22../internals/classof-raw\x22),i\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22match\x22);t$jscomp$0.exports\x3dfunction(e){var t;return n(e)\x26\x26(void 0!\x3d\x3d(t\x3de[i])?!!t:\x22RegExp\x22\x3d\x3do(e))}},{\x22../internals/classof-raw\x22:28,\x22../internals/is-object\x22:74,\x22../internals/well-known-symbol\x22:146}],77:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function h(e,t){this.stopped\x3de;this.result\x3dt}var p\x3de$jscomp$0(\x22../internals/an-object\x22),y\x3de$jscomp$0(\x22../internals/is-array-iterator-method\x22),\nm\x3de$jscomp$0(\x22../internals/to-length\x22),g\x3de$jscomp$0(\x22../internals/function-bind-context\x22),v\x3de$jscomp$0(\x22../internals/get-iterator-method\x22),b\x3de$jscomp$0(\x22../internals/call-with-safe-iteration-closing\x22);(t$jscomp$0.exports\x3dfunction(e,t,r,n,o){var u,d;t\x3dg(t,r,n?2:1);if(!o){if(\x22function\x22!\x3dtypeof(o\x3dv(e)))throw TypeError(\x22Target is not iterable\x22);if(y(o)){o\x3d0;for(r\x3dm(e.length);o\x3cr;o++)if((u\x3dn?t(p(d\x3de[o])[0],d[1]):t(e[o]))\x26\x26u instanceof h)return u;return new h(!1)}e\x3do.call(e)}for(o\x3de.next;!(d\x3do.call(e)).done;)if(\x22object\x22\x3d\x3d\ntypeof(u\x3db(e,t,d.value,n))\x26\x26u\x26\x26u instanceof h)return u;return new h(!1)}).stop\x3dfunction(e){return new h(!0,e)}},{\x22../internals/an-object\x22:10,\x22../internals/call-with-safe-iteration-closing\x22:26,\x22../internals/function-bind-context\x22:54,\x22../internals/get-iterator-method\x22:57,\x22../internals/is-array-iterator-method\x22:71,\x22../internals/to-length\x22:134}],78:[function(e,t,r){var n,o,i;r\x3de(\x22../internals/object-get-prototype-of\x22);var s\x3de(\x22../internals/create-non-enumerable-property\x22),l\x3de(\x22../internals/has\x22),u\x3de(\x22../internals/well-known-symbol\x22);\ne\x3de(\x22../internals/is-pure\x22);u\x3du(\x22iterator\x22);var f\x3d!1;[].keys\x26\x26(\x22next\x22in(i\x3d[].keys())?(o\x3dr(r(i)))!\x3d\x3dObject.prototype\x26\x26(n\x3do):f\x3d!0);null\x3d\x3dn\x26\x26(n\x3d{});e||l(n,u)||s(n,u,function(){return this});t.exports\x3d{IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:f}},{\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/has\x22:60,\x22../internals/is-pure\x22:75,\x22../internals/object-get-prototype-of\x22:97,\x22../internals/well-known-symbol\x22:146}],79:[function(e,t,r){arguments[4][61][0].apply(r,arguments)},{dup:61}],80:[function(e$jscomp$0,\nt,r){t.exports\x3dMath.sign||function(e){return 0\x3d\x3d(e\x3d+e)||e!\x3de?e:0\x3ee?-1:1}},{}],81:[function(e$jscomp$1,t$jscomp$0,r){var n,o,i,a,s,l,u,c,d\x3de$jscomp$1(\x22../internals/global\x22),f\x3de$jscomp$1(\x22../internals/object-get-own-property-descriptor\x22).f,h\x3de$jscomp$1(\x22../internals/classof-raw\x22),p\x3de$jscomp$1(\x22../internals/task\x22).set;e$jscomp$1\x3de$jscomp$1(\x22../internals/engine-is-ios\x22);r\x3dd.MutationObserver||d.WebKitMutationObserver;var g\x3dd.process,v\x3dd.Promise,b\x3d\x22process\x22\x3d\x3dh(g);(f\x3d(f\x3df(d,\x22queueMicrotask\x22))\x26\x26f.value)||\n(n\x3dfunction(){var e$jscomp$0;for(b\x26\x26(e$jscomp$0\x3dg.domain)\x26\x26e$jscomp$0.exit();o;){var t\x3do.fn;o\x3do.next;try{t()}catch(e){throw o?a():i\x3dvoid 0,e;}}i\x3dvoid 0;e$jscomp$0\x26\x26e$jscomp$0.enter()},a\x3db?function(){g.nextTick(n)}:r\x26\x26!e$jscomp$1?(s\x3d!0,l\x3ddocument.createTextNode(\x22\x22),(new r(n)).observe(l,{characterData:!0}),function(){l.data\x3ds\x3d!s}):v\x26\x26v.resolve?(u\x3dv.resolve(void 0),c\x3du.then,function(){c.call(u,n)}):function(){p.call(d,n)});t$jscomp$0.exports\x3df||function(e){e\x3d{fn:e,next:void 0};i\x26\x26(i.next\x3de);o||(o\x3de,\na());i\x3de}},{\x22../internals/classof-raw\x22:28,\x22../internals/engine-is-ios\x22:45,\x22../internals/global\x22:59,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/task\x22:128}],82:[function(e,t,r){e\x3de(\x22../internals/global\x22);t.exports\x3de.Promise},{\x22../internals/global\x22:59}],83:[function(e,t,r){e\x3de(\x22../internals/fails\x22);t.exports\x3d!!Object.getOwnPropertySymbols\x26\x26!e(function(){return!String(Symbol())})},{\x22../internals/fails\x22:50}],84:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){r$jscomp$0\x3de$jscomp$1(\x22../internals/fails\x22);\nvar o\x3de$jscomp$1(\x22../internals/well-known-symbol\x22),i\x3de$jscomp$1(\x22../internals/is-pure\x22),a\x3do(\x22iterator\x22);t$jscomp$0.exports\x3d!r$jscomp$0(function(){var e$jscomp$0\x3dnew URL(\x22b?a\\x3d1\\x26b\\x3d2\\x26c\\x3d3\x22,\x22http://a\x22),r\x3de$jscomp$0.searchParams,n\x3d\x22\x22;return e$jscomp$0.pathname\x3d\x22c%20d\x22,r.forEach(function(e,t){r.delete(\x22b\x22);n+\x3dt+e}),i\x26\x26!e$jscomp$0.toJSON||!r.sort||\x22http://a/c%20d?a\\x3d1\\x26c\\x3d3\x22!\x3d\x3de$jscomp$0.href||\x223\x22!\x3d\x3dr.get(\x22c\x22)||\x22a\\x3d1\x22!\x3d\x3dString(new URLSearchParams(\x22?a\\x3d1\x22))||!r[a]||\x22a\x22!\x3d\x3d(new URL(\x22https://a@b\x22)).username||\n\x22b\x22!\x3d\x3d(new URLSearchParams(new URLSearchParams(\x22a\\x3db\x22))).get(\x22a\x22)||\x22xn--e1aybc\x22!\x3d\x3d(new URL(\x22http://\u0442\u0435\u0441\u0442\x22)).host||\x22#%D0%B1\x22!\x3d\x3d(new URL(\x22http://a#\u0431\x22)).hash||\x22a1c3\x22!\x3d\x3dn||\x22x\x22!\x3d\x3d(new URL(\x22http://x\x22,void 0)).host})},{\x22../internals/fails\x22:50,\x22../internals/is-pure\x22:75,\x22../internals/well-known-symbol\x22:146}],85:[function(e,t,r){r\x3de(\x22../internals/global\x22);e\x3de(\x22../internals/inspect-source\x22);r\x3dr.WeakMap;t.exports\x3d\x22function\x22\x3d\x3dtypeof r\x26\x26/native code/.test(e(r))},{\x22../internals/global\x22:59,\x22../internals/inspect-source\x22:68}],\n86:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function n$jscomp$0(e$jscomp$0){var r,n;this.promise\x3dnew e$jscomp$0(function(e,t){if(void 0!\x3d\x3dr||void 0!\x3d\x3dn)throw TypeError(\x22Bad Promise constructor\x22);r\x3de;n\x3dt});this.resolve\x3do(r);this.reject\x3do(n)}var o\x3de$jscomp$1(\x22../internals/a-function\x22);t$jscomp$0.exports.f\x3dfunction(e){return new n$jscomp$0(e)}},{\x22../internals/a-function\x22:5}],87:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/is-regexp\x22);t.exports\x3dfunction(e){if(n(e))throw TypeError(\x22The method doesn\x27t accept regular expressions\x22);\nreturn e}},{\x22../internals/is-regexp\x22:76}],88:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/global\x22).isFinite;t.exports\x3dNumber.isFinite||function(e){return\x22number\x22\x3d\x3dtypeof e\x26\x26n(e)}},{\x22../internals/global\x22:59}],89:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var f\x3de$jscomp$1(\x22../internals/descriptors\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/fails\x22);var h\x3de$jscomp$1(\x22../internals/object-keys\x22),p\x3de$jscomp$1(\x22../internals/object-get-own-property-symbols\x22),y\x3de$jscomp$1(\x22../internals/object-property-is-enumerable\x22),\nm\x3de$jscomp$1(\x22../internals/to-object\x22),g\x3de$jscomp$1(\x22../internals/indexed-object\x22),o$jscomp$0\x3dObject.assign,i$jscomp$0\x3dObject.defineProperty;t$jscomp$0.exports\x3d!o$jscomp$0||r$jscomp$0(function(){if(f\x26\x261!\x3d\x3do$jscomp$0({b:1},o$jscomp$0(i$jscomp$0({},\x22a\x22,{enumerable:!0,get:function(){i$jscomp$0(this,\x22b\x22,{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e$jscomp$0\x3d{},t\x3d{},r\x3dSymbol();return e$jscomp$0[r]\x3d7,\x22abcdefghijklmnopqrst\x22.split(\x22\x22).forEach(function(e){t[e]\x3de}),7!\x3do$jscomp$0({},e$jscomp$0)[r]||\x22abcdefghijklmnopqrst\x22!\x3d\nh(o$jscomp$0({},t)).join(\x22\x22)})?function(e,t){for(var r\x3dm(e),n\x3darguments.length,o\x3d1,i\x3dp.f,a\x3dy.f;o\x3cn;)for(var s,l\x3dg(arguments[o++]),u\x3di?h(l).concat(i(l)):h(l),c\x3du.length,d\x3d0;d\x3cc;)s\x3du[d++],f\x26\x26!a.call(l,s)||(r[s]\x3dl[s]);return r}:o$jscomp$0},{\x22../internals/descriptors\x22:42,\x22../internals/fails\x22:50,\x22../internals/indexed-object\x22:66,\x22../internals/object-get-own-property-symbols\x22:96,\x22../internals/object-keys\x22:99,\x22../internals/object-property-is-enumerable\x22:100,\x22../internals/to-object\x22:135}],90:[function(e$jscomp$1,\nt$jscomp$0,r$jscomp$0){function n(){}var i,a\x3de$jscomp$1(\x22../internals/an-object\x22),s\x3de$jscomp$1(\x22../internals/object-define-properties\x22),l\x3de$jscomp$1(\x22../internals/enum-bug-keys\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/hidden-keys\x22);var c\x3de$jscomp$1(\x22../internals/html\x22),d\x3de$jscomp$1(\x22../internals/document-create-element\x22),y\x3de$jscomp$1(\x22../internals/shared-key\x22)(\x22IE_PROTO\x22),m\x3dfunction(){try{i\x3ddocument.domain\x26\x26new ActiveXObject(\x22htmlfile\x22)}catch(e){}var t;if(i){var e$jscomp$0\x3di;e$jscomp$0.write(\x22\\x3cscript\\x3e\\x3c/script\\x3e\x22);\ne$jscomp$0.close();var JSCompiler_temp\x3de$jscomp$0.parentWindow.Object}else JSCompiler_temp\x3d((t\x3dd(\x22iframe\x22)).style.display\x3d\x22none\x22,c.appendChild(t),t.src\x3d\x22javascript:\x22,(e$jscomp$0\x3dt.contentWindow.document).open(),e$jscomp$0.write(\x22\\x3cscript\\x3edocument.F\\x3dObject\\x3c/script\\x3e\x22),e$jscomp$0.close(),e$jscomp$0.F);m\x3dJSCompiler_temp;for(e$jscomp$0\x3dl.length;e$jscomp$0--;)delete m.prototype[l[e$jscomp$0]];return m()};r$jscomp$0[y]\x3d!0;t$jscomp$0.exports\x3dObject.create||function(e,t){var r;return null!\x3d\x3d\ne?(n.prototype\x3da(e),r\x3dnew n,n.prototype\x3dnull,r[y]\x3de):r\x3dm(),void 0\x3d\x3d\x3dt?r:s(r,t)}},{\x22../internals/an-object\x22:10,\x22../internals/document-create-element\x22:43,\x22../internals/enum-bug-keys\x22:48,\x22../internals/hidden-keys\x22:61,\x22../internals/html\x22:63,\x22../internals/object-define-properties\x22:91,\x22../internals/shared-key\x22:118}],91:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){r$jscomp$0\x3de$jscomp$0(\x22../internals/descriptors\x22);var a\x3de$jscomp$0(\x22../internals/object-define-property\x22),s\x3de$jscomp$0(\x22../internals/an-object\x22),\nl\x3de$jscomp$0(\x22../internals/object-keys\x22);t$jscomp$0.exports\x3dr$jscomp$0?Object.defineProperties:function(e,t){s(e);for(var r,n\x3dl(t),o\x3dn.length,i\x3d0;i\x3co;)a.f(e,r\x3dn[i++],t[r]);return e}},{\x22../internals/an-object\x22:10,\x22../internals/descriptors\x22:42,\x22../internals/object-define-property\x22:92,\x22../internals/object-keys\x22:99}],92:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$1(\x22../internals/descriptors\x22);var o\x3de$jscomp$1(\x22../internals/ie8-dom-define\x22),i\x3de$jscomp$1(\x22../internals/an-object\x22),a\x3d\ne$jscomp$1(\x22../internals/to-primitive\x22),s\x3dObject.defineProperty;r$jscomp$0.f\x3dt$jscomp$0?s:function(e$jscomp$0,t,r){if(i(e$jscomp$0),t\x3da(t,!0),i(r),o)try{return s(e$jscomp$0,t,r)}catch(e){}if(\x22get\x22in r||\x22set\x22in r)throw TypeError(\x22Accessors not supported\x22);return\x22value\x22in r\x26\x26(e$jscomp$0[t]\x3dr.value),e$jscomp$0}},{\x22../internals/an-object\x22:10,\x22../internals/descriptors\x22:42,\x22../internals/ie8-dom-define\x22:64,\x22../internals/to-primitive\x22:138}],93:[function(e$jscomp$1,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$1(\x22../internals/descriptors\x22);\nvar o\x3de$jscomp$1(\x22../internals/object-property-is-enumerable\x22),i\x3de$jscomp$1(\x22../internals/create-property-descriptor\x22),a\x3de$jscomp$1(\x22../internals/to-indexed-object\x22),s\x3de$jscomp$1(\x22../internals/to-primitive\x22),l\x3de$jscomp$1(\x22../internals/has\x22),u\x3de$jscomp$1(\x22../internals/ie8-dom-define\x22),c\x3dObject.getOwnPropertyDescriptor;r.f\x3dt$jscomp$0?c:function(e$jscomp$0,t){if(e$jscomp$0\x3da(e$jscomp$0),t\x3ds(t,!0),u)try{return c(e$jscomp$0,t)}catch(e){}if(l(e$jscomp$0,t))return i(!o.f.call(e$jscomp$0,t),e$jscomp$0[t])}},\n{\x22../internals/create-property-descriptor\x22:38,\x22../internals/descriptors\x22:42,\x22../internals/has\x22:60,\x22../internals/ie8-dom-define\x22:64,\x22../internals/object-property-is-enumerable\x22:100,\x22../internals/to-indexed-object\x22:132,\x22../internals/to-primitive\x22:138}],94:[function(e$jscomp$1,t,r){var n\x3de$jscomp$1(\x22../internals/to-indexed-object\x22),o\x3de$jscomp$1(\x22../internals/object-get-own-property-names\x22).f,i\x3d{}.toString,a\x3d\x22object\x22\x3d\x3dtypeof window\x26\x26window\x26\x26Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):\n[];t.exports.f\x3dfunction(e$jscomp$0){if(a\x26\x26\x22[object Window]\x22\x3d\x3di.call(e$jscomp$0))try{var JSCompiler_temp\x3do(e$jscomp$0)}catch(e){JSCompiler_temp\x3da.slice()}else JSCompiler_temp\x3do(n(e$jscomp$0));return JSCompiler_temp}},{\x22../internals/object-get-own-property-names\x22:95,\x22../internals/to-indexed-object\x22:132}],95:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/object-keys-internal\x22),o\x3de$jscomp$0(\x22../internals/enum-bug-keys\x22).concat(\x22length\x22,\x22prototype\x22);r.f\x3dObject.getOwnPropertyNames||function(e){return n(e,\no)}},{\x22../internals/enum-bug-keys\x22:48,\x22../internals/object-keys-internal\x22:98}],96:[function(e,t,r){r.f\x3dObject.getOwnPropertySymbols},{}],97:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/has\x22),o\x3de$jscomp$0(\x22../internals/to-object\x22);r\x3de$jscomp$0(\x22../internals/shared-key\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/correct-prototype-getter\x22);var s\x3dr(\x22IE_PROTO\x22),l\x3dObject.prototype;t.exports\x3de$jscomp$0?Object.getPrototypeOf:function(e){return e\x3do(e),n(e,s)?e[s]:\x22function\x22\x3d\x3dtypeof e.constructor\x26\x26e instanceof\ne.constructor?e.constructor.prototype:e instanceof Object?l:null}},{\x22../internals/correct-prototype-getter\x22:34,\x22../internals/has\x22:60,\x22../internals/shared-key\x22:118,\x22../internals/to-object\x22:135}],98:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var a\x3de$jscomp$0(\x22../internals/has\x22),s\x3de$jscomp$0(\x22../internals/to-indexed-object\x22),l\x3de$jscomp$0(\x22../internals/array-includes\x22).indexOf,u\x3de$jscomp$0(\x22../internals/hidden-keys\x22);t$jscomp$0.exports\x3dfunction(e,t){var r;e\x3ds(e);var o\x3d0,i\x3d[];for(r in e)!a(u,r)\x26\x26a(e,\nr)\x26\x26i.push(r);for(;t.length\x3eo;)a(e,r\x3dt[o++])\x26\x26(~l(i,r)||i.push(r));return i}},{\x22../internals/array-includes\x22:18,\x22../internals/has\x22:60,\x22../internals/hidden-keys\x22:61,\x22../internals/to-indexed-object\x22:132}],99:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/object-keys-internal\x22),o\x3de$jscomp$0(\x22../internals/enum-bug-keys\x22);t.exports\x3dObject.keys||function(e){return n(e,o)}},{\x22../internals/enum-bug-keys\x22:48,\x22../internals/object-keys-internal\x22:98}],100:[function(e$jscomp$0,t,r){e$jscomp$0\x3d{}.propertyIsEnumerable;\nvar o\x3dObject.getOwnPropertyDescriptor;t\x3do\x26\x26!e$jscomp$0.call({1:2},1);r.f\x3dt?function(e){e\x3do(this,e);return!!e\x26\x26e.enumerable}:e$jscomp$0},{}],101:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$1(\x22../internals/an-object\x22),i\x3de$jscomp$1(\x22../internals/a-possible-prototype\x22);t$jscomp$0.exports\x3dObject.setPrototypeOf||(\x22__proto__\x22in{}?function(){var r,n\x3d!1,e$jscomp$0\x3d{};try{(r\x3dObject.getOwnPropertyDescriptor(Object.prototype,\x22__proto__\x22).set).call(e$jscomp$0,[]),n\x3de$jscomp$0 instanceof Array}catch(e){}return function(e,\nt){return o(e),i(t),n?r.call(e,t):e.__proto__\x3dt,e}}():void 0)},{\x22../internals/a-possible-prototype\x22:6,\x22../internals/an-object\x22:10}],102:[function(e,t,r){r\x3de(\x22../internals/to-string-tag-support\x22);var o\x3de(\x22../internals/classof\x22);t.exports\x3dr?{}.toString:function(){return\x22[object \x22+o(this)+\x22]\x22}},{\x22../internals/classof\x22:29,\x22../internals/to-string-tag-support\x22:139}],103:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){r$jscomp$0\x3de$jscomp$0(\x22../internals/get-built-in\x22);var o\x3de$jscomp$0(\x22../internals/object-get-own-property-names\x22),\ni\x3de$jscomp$0(\x22../internals/object-get-own-property-symbols\x22),a\x3de$jscomp$0(\x22../internals/an-object\x22);t$jscomp$0.exports\x3dr$jscomp$0(\x22Reflect\x22,\x22ownKeys\x22)||function(e){var t\x3do.f(a(e)),r\x3di.f;return r?t.concat(r(e)):t}},{\x22../internals/an-object\x22:10,\x22../internals/get-built-in\x22:56,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/object-get-own-property-symbols\x22:96}],104:[function(e,t,r){e\x3de(\x22../internals/global\x22);t.exports\x3de},{\x22../internals/global\x22:59}],105:[function(e$jscomp$1,t,r){t.exports\x3d\nfunction(e$jscomp$0){try{return{error:!1,value:e$jscomp$0()}}catch(e){return{error:!0,value:e}}}},{}],106:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/an-object\x22),o\x3de$jscomp$0(\x22../internals/is-object\x22),i\x3de$jscomp$0(\x22../internals/new-promise-capability\x22);t$jscomp$0.exports\x3dfunction(e,t){if(n(e),o(t)\x26\x26t.constructor\x3d\x3d\x3de)return t;e\x3di.f(e);return(0,e.resolve)(t),e.promise}},{\x22../internals/an-object\x22:10,\x22../internals/is-object\x22:74,\x22../internals/new-promise-capability\x22:86}],107:[function(e$jscomp$0,\nt$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/redefine\x22);t$jscomp$0.exports\x3dfunction(e,t,r){for(var n in t)o(e,n,t[n],r);return e}},{\x22../internals/redefine\x22:108}],108:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var s\x3de$jscomp$0(\x22../internals/global\x22),l\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22),u\x3de$jscomp$0(\x22../internals/has\x22),c\x3de$jscomp$0(\x22../internals/set-global\x22),n$jscomp$0\x3de$jscomp$0(\x22../internals/inspect-source\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/internal-state\x22);var i$jscomp$0\x3d\ne$jscomp$0.get,d\x3de$jscomp$0.enforce,f\x3dString(String).split(\x22String\x22);(t$jscomp$0.exports\x3dfunction(e,t,r,n){var o\x3d!!n\x26\x26!!n.unsafe,i\x3d!!n\x26\x26!!n.enumerable;n\x3d!!n\x26\x26!!n.noTargetGet;\x22function\x22\x3d\x3dtypeof r\x26\x26(\x22string\x22!\x3dtypeof t||u(r,\x22name\x22)||l(r,\x22name\x22,t),d(r).source\x3df.join(\x22string\x22\x3d\x3dtypeof t?t:\x22\x22));e!\x3d\x3ds?(o?!n\x26\x26e[t]\x26\x26(i\x3d!0):delete e[t],i?e[t]\x3dr:l(e,t,r)):i?e[t]\x3dr:c(t,r)})(Function.prototype,\x22toString\x22,function(){return\x22function\x22\x3d\x3dtypeof this\x26\x26i$jscomp$0(this).source||n$jscomp$0(this)})},{\x22../internals/create-non-enumerable-property\x22:37,\n\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/inspect-source\x22:68,\x22../internals/internal-state\x22:70,\x22../internals/set-global\x22:115}],109:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22./classof-raw\x22),i\x3de$jscomp$0(\x22./regexp-exec\x22);t$jscomp$0.exports\x3dfunction(e,t){var r\x3de.exec;if(\x22function\x22\x3d\x3dtypeof r){e\x3dr.call(e,t);if(\x22object\x22!\x3dtypeof e)throw TypeError(\x22RegExp exec method returned something other than an Object or null\x22);return e}if(\x22RegExp\x22!\x3d\x3do(e))throw TypeError(\x22RegExp#exec called on incompatible receiver\x22);\nreturn i.call(e,t)}},{\x22./classof-raw\x22:28,\x22./regexp-exec\x22:110}],110:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n$jscomp$0,o$jscomp$0,d\x3de$jscomp$0(\x22./regexp-flags\x22);e$jscomp$0\x3de$jscomp$0(\x22./regexp-sticky-helpers\x22);var f\x3dRegExp.prototype.exec,h\x3dString.prototype.replace;r$jscomp$0\x3df;var p\x3d(n$jscomp$0\x3d/a/,o$jscomp$0\x3d/b*/g,f.call(n$jscomp$0,\x22a\x22),f.call(o$jscomp$0,\x22a\x22),0!\x3d\x3dn$jscomp$0.lastIndex||0!\x3d\x3do$jscomp$0.lastIndex),y\x3de$jscomp$0.UNSUPPORTED_Y||e$jscomp$0.BROKEN_CARET,m\x3dvoid 0!\x3d\x3d/()??/.exec(\x22\x22)[1];\n(p||m||y)\x26\x26(r$jscomp$0\x3dfunction(e){var t,r,n,o,a\x3dy\x26\x26this.sticky,s\x3dd.call(this),l\x3dthis.source,u\x3d0,c\x3de;return a\x26\x26(-1\x3d\x3d\x3d(s\x3ds.replace(\x22y\x22,\x22\x22)).indexOf(\x22g\x22)\x26\x26(s+\x3d\x22g\x22),c\x3dString(e).slice(this.lastIndex),0\x3cthis.lastIndex\x26\x26(!this.multiline||this.multiline\x26\x26\x22\\n\x22!\x3d\x3de[this.lastIndex-1])\x26\x26(l\x3d\x22(?: \x22+l+\x22)\x22,c\x3d\x22 \x22+c,u++),r\x3dnew RegExp(\x22^(?:\x22+l+\x22)\x22,s)),m\x26\x26(r\x3dnew RegExp(\x22^\x22+l+\x22$(?!\\\\s)\x22,s)),p\x26\x26(t\x3dthis.lastIndex),n\x3df.call(a?r:this,c),a?n?(n.input\x3dn.input.slice(u),n[0]\x3dn[0].slice(u),n.index\x3dthis.lastIndex,this.lastIndex+\x3d\nn[0].length):this.lastIndex\x3d0:p\x26\x26n\x26\x26(this.lastIndex\x3dthis.global?n.index+n[0].length:t),m\x26\x26n\x26\x261\x3cn.length\x26\x26h.call(n[0],r,function(){for(o\x3d1;o\x3carguments.length-2;o++)void 0\x3d\x3d\x3darguments[o]\x26\x26(n[o]\x3dvoid 0)}),n});t$jscomp$0.exports\x3dr$jscomp$0},{\x22./regexp-flags\x22:111,\x22./regexp-sticky-helpers\x22:112}],111:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/an-object\x22);t$jscomp$0.exports\x3dfunction(){var e\x3dn(this),t\x3d\x22\x22;return e.global\x26\x26(t+\x3d\x22g\x22),e.ignoreCase\x26\x26(t+\x3d\x22i\x22),e.multiline\x26\x26(t+\x3d\x22m\x22),e.dotAll\x26\x26\n(t+\x3d\x22s\x22),e.unicode\x26\x26(t+\x3d\x22u\x22),e.sticky\x26\x26(t+\x3d\x22y\x22),t}},{\x22../internals/an-object\x22:10}],112:[function(e$jscomp$0,t,r){e$jscomp$0\x3de$jscomp$0(\x22./fails\x22);r.UNSUPPORTED_Y\x3de$jscomp$0(function(){var e\x3dRegExp(\x22a\x22,\x22y\x22);return e.lastIndex\x3d2,null!\x3de.exec(\x22abcd\x22)});r.BROKEN_CARET\x3de$jscomp$0(function(){var e\x3dRegExp(\x22^r\x22,\x22gy\x22);return e.lastIndex\x3d2,null!\x3de.exec(\x22str\x22)})},{\x22./fails\x22:50}],113:[function(e$jscomp$0,t,r){t.exports\x3dfunction(e){if(null\x3d\x3de)throw TypeError(\x22Can\x27t call method on \x22+e);return e}},{}],114:[function(e$jscomp$0,\nt$jscomp$0,r){t$jscomp$0.exports\x3dObject.is||function(e,t){return e\x3d\x3d\x3dt?0!\x3d\x3de||1/e\x3d\x3d1/t:e!\x3de\x26\x26t!\x3dt}},{}],115:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/global\x22),o\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22);t$jscomp$0.exports\x3dfunction(t,r){try{o(n,t,r)}catch(e){n[t]\x3dr}return r}},{\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/global\x22:59}],116:[function(e$jscomp$0,t,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/get-built-in\x22),o\x3de$jscomp$0(\x22../internals/object-define-property\x22);\nr$jscomp$0\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);var a\x3de$jscomp$0(\x22../internals/descriptors\x22),s\x3dr$jscomp$0(\x22species\x22);t.exports\x3dfunction(e){e\x3dn(e);var r\x3do.f;a\x26\x26e\x26\x26!e[s]\x26\x26r(e,s,{configurable:!0,get:function(){return this}})}},{\x22../internals/descriptors\x22:42,\x22../internals/get-built-in\x22:56,\x22../internals/object-define-property\x22:92,\x22../internals/well-known-symbol\x22:146}],117:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/object-define-property\x22).f,o\x3de$jscomp$0(\x22../internals/has\x22),\ni\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22toStringTag\x22);t$jscomp$0.exports\x3dfunction(e,t,r){e\x26\x26!o(e\x3dr?e:e.prototype,i)\x26\x26n(e,i,{configurable:!0,value:t})}},{\x22../internals/has\x22:60,\x22../internals/object-define-property\x22:92,\x22../internals/well-known-symbol\x22:146}],118:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/shared\x22);var o\x3de$jscomp$0(\x22../internals/uid\x22),i\x3dr(\x22keys\x22);t.exports\x3dfunction(e){return i[e]||(i[e]\x3do(e))}},{\x22../internals/shared\x22:120,\x22../internals/uid\x22:143}],119:[function(e,t,r){r\x3d\ne(\x22../internals/global\x22);e\x3de(\x22../internals/set-global\x22);e\x3dr[\x22__core-js_shared__\x22]||e(\x22__core-js_shared__\x22,{});t.exports\x3de},{\x22../internals/global\x22:59,\x22../internals/set-global\x22:115}],120:[function(e$jscomp$0,t$jscomp$0,r){r\x3de$jscomp$0(\x22../internals/is-pure\x22);var o\x3de$jscomp$0(\x22../internals/shared-store\x22);(t$jscomp$0.exports\x3dfunction(e,t){return o[e]||(o[e]\x3dvoid 0!\x3d\x3dt?t:{})})(\x22versions\x22,[]).push({version:\x223.6.5\x22,mode:r?\x22pure\x22:\x22global\x22,copyright:\x22\xa9 2020 Denis Pushkarev (zloirock.ru)\x22})},{\x22../internals/is-pure\x22:75,\n\x22../internals/shared-store\x22:119}],121:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/an-object\x22),i\x3de$jscomp$0(\x22../internals/a-function\x22),a\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22species\x22);t$jscomp$0.exports\x3dfunction(e,t){var r;e\x3do(e).constructor;return void 0\x3d\x3d\x3de||null\x3d\x3d(r\x3do(e)[a])?t:i(r)}},{\x22../internals/a-function\x22:5,\x22../internals/an-object\x22:10,\x22../internals/well-known-symbol\x22:146}],122:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/fails\x22);\nt$jscomp$0.exports\x3dfunction(t){return n(function(){var e\x3d\x22\x22[t](\x27\x22\x27);return e!\x3d\x3de.toLowerCase()||3\x3ce.split(\x27\x22\x27).length})}},{\x22../internals/fails\x22:50}],123:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(s){return function(e,t){var r,n;e\x3dString(u(e));t\x3dl(t);var a\x3de.length;return 0\x3et||a\x3c\x3dt?s?\x22\x22:void 0:55296\x3e(r\x3de.charCodeAt(t))||56319\x3cr||t+1\x3d\x3d\x3da||56320\x3e(n\x3de.charCodeAt(t+1))||57343\x3cn?s?e.charAt(t):r:s?e.slice(t,t+2):n-56320+(r-55296\x3c\x3c10)+65536}}var l\x3de$jscomp$0(\x22../internals/to-integer\x22),\nu\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);t$jscomp$0.exports\x3d{codeAt:n$jscomp$0(!1),charAt:n$jscomp$0(!0)}},{\x22../internals/require-object-coercible\x22:113,\x22../internals/to-integer\x22:133}],124:[function(e$jscomp$1,t$jscomp$0,r$jscomp$1){var a$jscomp$0\x3d/[^\\0-\\u007E]/,s$jscomp$0\x3d/[.\\u3002\\uFF0E\\uFF61]/g,x\x3dMath.floor,w\x3dString.fromCharCode;t$jscomp$0.exports\x3dfunction(e$jscomp$0){var n\x3d[],o\x3de$jscomp$0.toLowerCase().replace(s$jscomp$0,\x22.\x22).split(\x22.\x22);for(e$jscomp$0\x3d0;e$jscomp$0\x3co.length;e$jscomp$0++){var r\x3d\no[e$jscomp$0];var JSCompiler_temp_const\x3dn,JSCompiler_temp_const$jscomp$0\x3dJSCompiler_temp_const.push;if(a$jscomp$0.test(r)){var JSCompiler_temp\x3dvoid 0;var e\x3dr;r\x3d[];var t\x3de;e\x3d[];for(var r$jscomp$0\x3d0,n$jscomp$0\x3dt.length;r$jscomp$0\x3cn$jscomp$0;){var o$jscomp$0\x3dt.charCodeAt(r$jscomp$0++);if(55296\x3c\x3do$jscomp$0\x26\x2656319\x3e\x3do$jscomp$0\x26\x26r$jscomp$0\x3cn$jscomp$0){var i\x3dt.charCodeAt(r$jscomp$0++);56320\x3d\x3d(64512\x26i)?e.push(((1023\x26o$jscomp$0)\x3c\x3c10)+(1023\x26i)+65536):(e.push(o$jscomp$0),r$jscomp$0--)}else e.push(o$jscomp$0)}r$jscomp$0\x3d\ne.length;n$jscomp$0\x3d128;var a\x3d0,s\x3d72;for(t\x3d0;t\x3ce.length;t++)128\x3e(JSCompiler_temp\x3de[t])\x26\x26r.push(w(JSCompiler_temp));for((i\x3do$jscomp$0\x3dr.length)\x26\x26r.push(\x22-\x22);i\x3cr$jscomp$0;){var c\x3d2147483647;for(t\x3d0;t\x3ce.length;t++)n$jscomp$0\x3c\x3d(JSCompiler_temp\x3de[t])\x26\x26JSCompiler_temp\x3cc\x26\x26(c\x3dJSCompiler_temp);var d\x3di+1;if(c-n$jscomp$0\x3ex((2147483647-a)/d))throw RangeError(\x22Overflow: input needs wider integers to process\x22);a+\x3d(c-n$jscomp$0)*d;n$jscomp$0\x3dc;for(t\x3d0;t\x3ce.length;t++){if((JSCompiler_temp\x3de[t])\x3cn$jscomp$0\x26\x262147483647\x3c\n++a)throw RangeError(\x22Overflow: input needs wider integers to process\x22);if(JSCompiler_temp\x3d\x3dn$jscomp$0){var f\x3da;for(c\x3d36;;c+\x3d36){var p\x3dc\x3c\x3ds?1:s+26\x3c\x3dc?26:c-s;if(f\x3cp)break;f-\x3dp;var m\x3d36-p,JSCompiler_temp_const$jscomp$1\x3dr;p+\x3df%m;JSCompiler_temp_const$jscomp$1.push.call(JSCompiler_temp_const$jscomp$1,w(p+22+75*(26\x3ep)));f\x3dx(f/m)}r.push(w(f+22+75*(26\x3ef)));s\x3dd;c\x3d0;a\x3di\x3d\x3do$jscomp$0?x(a/700):a\x3e\x3e1;for(a+\x3dx(a/s);455\x3ca;c+\x3d36)a\x3dx(a/35);s\x3dx(c+36*a/(a+38));a\x3d0;++i}}++a;++n$jscomp$0}JSCompiler_temp\x3d\x22xn--\x22+r.join(\x22\x22)}else JSCompiler_temp\x3d\nr;JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const,JSCompiler_temp)}return n.join(\x22.\x22)}},{}],125:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/to-integer\x22),i\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);t$jscomp$0.exports\x3d\x22\x22.repeat||function(e){var t\x3dString(i(this)),r\x3d\x22\x22;e\x3do(e);if(0\x3ee||e\x3d\x3d1/0)throw RangeError(\x22Wrong number of repetitions\x22);for(;0\x3ce;(e\x3e\x3e\x3e\x3d1)\x26\x26(t+\x3dt))1\x26e\x26\x26(r+\x3dt);return r}},{\x22../internals/require-object-coercible\x22:113,\x22../internals/to-integer\x22:133}],\n126:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/fails\x22),o\x3de$jscomp$0(\x22../internals/whitespaces\x22);t.exports\x3dfunction(e){return n(function(){return!!o[e]()||\x22\u200b\x85\u180e\x22!\x3d\x22\u200b\x85\u180e\x22[e]()||o[e].name!\x3d\x3de})}},{\x22../internals/fails\x22:50,\x22../internals/whitespaces\x22:147}],127:[function(e$jscomp$0,t,r$jscomp$0){function n(r){return function(e){e\x3dString(o(e));return 1\x26r\x26\x26(e\x3de.replace(a,\x22\x22)),2\x26r\x26\x26(e\x3de.replace(s,\x22\x22)),e}}var o\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);e$jscomp$0\x3d\x22[\x22+e$jscomp$0(\x22../internals/whitespaces\x22)+\n\x22]\x22;var a\x3dRegExp(\x22^\x22+e$jscomp$0+e$jscomp$0+\x22*\x22),s\x3dRegExp(e$jscomp$0+e$jscomp$0+\x22*$\x22);t.exports\x3d{start:n(1),end:n(2),trim:n(3)}},{\x22../internals/require-object-coercible\x22:113,\x22../internals/whitespaces\x22:147}],128:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n(e){if(S.hasOwnProperty(e)){var t\x3dS[e];delete S[e];t()}}function o(e){return function(){n(e)}}function i(e){n(e.data)}function a(e){c.postMessage(e+\x22\x22,g.protocol+\x22//\x22+g.host)}var s,l,u,c\x3de$jscomp$0(\x22../internals/global\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);\nvar f\x3de$jscomp$0(\x22../internals/classof-raw\x22),h\x3de$jscomp$0(\x22../internals/function-bind-context\x22),p\x3de$jscomp$0(\x22../internals/html\x22),y\x3de$jscomp$0(\x22../internals/document-create-element\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/engine-is-ios\x22);var g\x3dc.location,v\x3dc.setImmediate,b\x3dc.clearImmediate,_\x3dc.process,x\x3dc.MessageChannel,w\x3dc.Dispatch,j\x3d0,S\x3d{};v\x26\x26b||(v\x3dfunction(e){for(var t\x3d[],r\x3d1;r\x3carguments.length;)t.push(arguments[r++]);return S[++j]\x3dfunction(){(\x22function\x22\x3d\x3dtypeof e?e:Function(e)).apply(void 0,t)},\ns(j),j},b\x3dfunction(e){delete S[e]},\x22process\x22\x3d\x3df(_)?s\x3dfunction(e){_.nextTick(o(e))}:w\x26\x26w.now?s\x3dfunction(e){w.now(o(e))}:x\x26\x26!e$jscomp$0?(u\x3d(l\x3dnew x).port2,l.port1.onmessage\x3di,s\x3dh(u.postMessage,u,1)):!c.addEventListener||\x22function\x22!\x3dtypeof postMessage||c.importScripts||r$jscomp$0(a)||\x22file:\x22\x3d\x3d\x3dg.protocol?s\x3d\x22onreadystatechange\x22in y(\x22script\x22)?function(e){p.appendChild(y(\x22script\x22)).onreadystatechange\x3dfunction(){p.removeChild(this);n(e)}}:function(e){setTimeout(o(e),0)}:(s\x3da,c.addEventListener(\x22message\x22,\ni,!1)));t$jscomp$0.exports\x3d{set:v,clear:b}},{\x22../internals/classof-raw\x22:28,\x22../internals/document-create-element\x22:43,\x22../internals/engine-is-ios\x22:45,\x22../internals/fails\x22:50,\x22../internals/function-bind-context\x22:54,\x22../internals/global\x22:59,\x22../internals/html\x22:63}],129:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/classof-raw\x22);t.exports\x3dfunction(e){if(\x22number\x22!\x3dtypeof e\x26\x26\x22Number\x22!\x3dn(e))throw TypeError(\x22Incorrect invocation\x22);return+e}},{\x22../internals/classof-raw\x22:28}],130:[function(e$jscomp$0,\nt$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/to-integer\x22),o\x3dMath.max,i\x3dMath.min;t$jscomp$0.exports\x3dfunction(e,t){e\x3dn(e);return 0\x3ee?o(e+t,0):i(e,t)}},{\x22../internals/to-integer\x22:133}],131:[function(e$jscomp$0,t,r$jscomp$0){var n\x3de$jscomp$0(\x22../internals/to-integer\x22),o\x3de$jscomp$0(\x22../internals/to-length\x22);t.exports\x3dfunction(e){if(void 0\x3d\x3d\x3de)return 0;e\x3dn(e);var r\x3do(e);if(e!\x3d\x3dr)throw RangeError(\x22Wrong length or index\x22);return r}},{\x22../internals/to-integer\x22:133,\x22../internals/to-length\x22:134}],132:[function(e$jscomp$0,\nt,r){var n\x3de$jscomp$0(\x22../internals/indexed-object\x22),o\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);t.exports\x3dfunction(e){return n(o(e))}},{\x22../internals/indexed-object\x22:66,\x22../internals/require-object-coercible\x22:113}],133:[function(e$jscomp$0,t,r){var n\x3dMath.ceil,o\x3dMath.floor;t.exports\x3dfunction(e){return isNaN(e\x3d+e)?0:(0\x3ce?o:n)(e)}},{}],134:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/to-integer\x22),o\x3dMath.min;t.exports\x3dfunction(e){return 0\x3ce?o(n(e),9007199254740991):0}},{\x22../internals/to-integer\x22:133}],\n135:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);t.exports\x3dfunction(e){return Object(n(e))}},{\x22../internals/require-object-coercible\x22:113}],136:[function(e$jscomp$0,t$jscomp$0,r){var n\x3de$jscomp$0(\x22../internals/to-positive-integer\x22);t$jscomp$0.exports\x3dfunction(e,t){e\x3dn(e);if(e%t)throw RangeError(\x22Wrong offset\x22);return e}},{\x22../internals/to-positive-integer\x22:137}],137:[function(e$jscomp$0,t,r){var n\x3de$jscomp$0(\x22../internals/to-integer\x22);t.exports\x3dfunction(e){e\x3d\nn(e);if(0\x3ee)throw RangeError(\x22The argument can\x27t be less than 0\x22);return e}},{\x22../internals/to-integer\x22:133}],138:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/is-object\x22);t$jscomp$0.exports\x3dfunction(e,t){if(!o(e))return e;var r,n;if(t\x26\x26\x22function\x22\x3d\x3dtypeof(r\x3de.toString)\x26\x26!o(n\x3dr.call(e))||\x22function\x22\x3d\x3dtypeof(r\x3de.valueOf)\x26\x26!o(n\x3dr.call(e))||!t\x26\x26\x22function\x22\x3d\x3dtypeof(r\x3de.toString)\x26\x26!o(n\x3dr.call(e)))return n;throw TypeError(\x22Can\x27t convert object to primitive value\x22);}},{\x22../internals/is-object\x22:74}],\n139:[function(e,t,r){r\x3d{};r[e(\x22../internals/well-known-symbol\x22)(\x22toStringTag\x22)]\x3d\x22z\x22;t.exports\x3d\x22[object z]\x22\x3d\x3d\x3dString(r)},{\x22../internals/well-known-symbol\x22:146}],140:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){function p(e,t){var r\x3d0,n\x3dt.length;for(e\x3dnew (X(e))(n);r\x3cn;)e[r]\x3dt[r++];return e}function n$jscomp$0(e,t){U(e,t,{get:function(){return D(this)[t]}})}function y(e){var t;return e instanceof G||\x22ArrayBuffer\x22\x3d\x3d(t\x3dj(e))||\x22SharedArrayBuffer\x22\x3d\x3dt}function o$jscomp$1(e,t){return Y(e)\x26\x26\x22symbol\x22!\x3dtypeof t\x26\x26\nt in e\x26\x26String(+t)\x3d\x3dString(t)}function i$jscomp$0(e,t){return o$jscomp$1(e,t\x3dh$jscomp$0(t,!0))?f$jscomp$0(2,e[t]):N(e,t)}function a$jscomp$0(e,t,r){return!(o$jscomp$1(e,t\x3dh$jscomp$0(t,!0))\x26\x26S(r)\x26\x26w(r,\x22value\x22))||w(r,\x22get\x22)||w(r,\x22set\x22)||r.configurable||w(r,\x22writable\x22)\x26\x26!r.writable||w(r,\x22enumerable\x22)\x26\x26!r.enumerable?U(e,t,r):(e[t]\x3dr.value,e)}var l$jscomp$0\x3de$jscomp$2(\x22../internals/export\x22),u\x3de$jscomp$2(\x22../internals/global\x22);r$jscomp$1\x3de$jscomp$2(\x22../internals/descriptors\x22);var m\x3de$jscomp$2(\x22../internals/typed-array-constructors-require-wrappers\x22),\nc$jscomp$0\x3de$jscomp$2(\x22../internals/array-buffer-view-core\x22),d$jscomp$0\x3de$jscomp$2(\x22../internals/array-buffer\x22),g\x3de$jscomp$2(\x22../internals/an-instance\x22),f$jscomp$0\x3de$jscomp$2(\x22../internals/create-property-descriptor\x22),v\x3de$jscomp$2(\x22../internals/create-non-enumerable-property\x22),b\x3de$jscomp$2(\x22../internals/to-length\x22),_\x3de$jscomp$2(\x22../internals/to-index\x22),x\x3de$jscomp$2(\x22../internals/to-offset\x22),h$jscomp$0\x3de$jscomp$2(\x22../internals/to-primitive\x22),w\x3de$jscomp$2(\x22../internals/has\x22),j\x3de$jscomp$2(\x22../internals/classof\x22),\nS\x3de$jscomp$2(\x22../internals/is-object\x22),M\x3de$jscomp$2(\x22../internals/object-create\x22),E\x3de$jscomp$2(\x22../internals/object-set-prototype-of\x22),T\x3de$jscomp$2(\x22../internals/object-get-own-property-names\x22).f,O\x3de$jscomp$2(\x22../internals/typed-array-from\x22),C\x3de$jscomp$2(\x22../internals/array-iteration\x22).forEach,L\x3de$jscomp$2(\x22../internals/set-species\x22),P\x3de$jscomp$2(\x22../internals/object-define-property\x22),A\x3de$jscomp$2(\x22../internals/object-get-own-property-descriptor\x22),k\x3de$jscomp$2(\x22../internals/internal-state\x22),R\x3de$jscomp$2(\x22../internals/inherit-if-required\x22),\nD\x3dk.get,I\x3dk.set,U\x3dP.f,N\x3dA.f,F\x3dMath.round,B\x3du.RangeError,G\x3dd$jscomp$0.ArrayBuffer,V\x3dd$jscomp$0.DataView,z\x3dc$jscomp$0.NATIVE_ARRAY_BUFFER_VIEWS,H\x3dc$jscomp$0.TYPED_ARRAY_TAG,W\x3dc$jscomp$0.TypedArray,q\x3dc$jscomp$0.TypedArrayPrototype,X\x3dc$jscomp$0.aTypedArrayConstructor,Y\x3dc$jscomp$0.isTypedArray;r$jscomp$1?(z||(A.f\x3di$jscomp$0,P.f\x3da$jscomp$0,n$jscomp$0(q,\x22buffer\x22),n$jscomp$0(q,\x22byteOffset\x22),n$jscomp$0(q,\x22byteLength\x22),n$jscomp$0(q,\x22length\x22)),l$jscomp$0({target:\x22Object\x22,stat:!0,forced:!z},{getOwnPropertyDescriptor:i$jscomp$0,\ndefineProperty:a$jscomp$0}),t$jscomp$1.exports\x3dfunction(e$jscomp$1,t$jscomp$0,i){function c(e$jscomp$0,o){U(e$jscomp$0,o,{get:function(){return e\x3do,(t\x3dD(this)).view[r$jscomp$0](e*d+t.byteOffset,!0);var e,t},set:function(e){return t\x3do,r\x3de,n\x3dD(this),i\x26\x26(r\x3d0\x3e(r\x3dF(r))?0:255\x3cr?255:255\x26r),void n.view[a](t*d+n.byteOffset,r,!0);var t,r,n},enumerable:!0})}var d\x3de$jscomp$1.match(/\\d+$/)[0]/8,f\x3de$jscomp$1+(i?\x22Clamped\x22:\x22\x22)+\x22Array\x22,r$jscomp$0\x3d\x22get\x22+e$jscomp$1,a\x3d\x22set\x22+e$jscomp$1,o$jscomp$0\x3du[f],h\x3do$jscomp$0;e$jscomp$1\x3d\nh\x26\x26h.prototype;var s$jscomp$0\x3d{};z?m\x26\x26(h\x3dt$jscomp$0(function(e,t,r,n){return g(e,h,f),R(S(t)?y(t)?void 0!\x3d\x3dn?new o$jscomp$0(t,x(r,d),n):void 0!\x3d\x3dr?new o$jscomp$0(t,x(r,d)):new o$jscomp$0(t):Y(t)?p(h,t):O.call(h,t):new o$jscomp$0(_(t)),e,h)}),E\x26\x26E(h,W),C(T(o$jscomp$0),function(e){e in h||v(h,e,o$jscomp$0[e])}),h.prototype\x3de$jscomp$1):(h\x3dt$jscomp$0(function(e,t,r,n){g(e,h,f);var s\x3d0,l\x3d0;if(S(t)){if(!y(t))return Y(t)?p(h,t):O.call(h,t);var o\x3dt;l\x3dx(r,d);t\x3dt.byteLength;if(void 0\x3d\x3d\x3dn){if(t%d)throw B(\x22Wrong length\x22);\nif(0\x3e(n\x3dt-l))throw B(\x22Wrong length\x22);}else if(t\x3c(n\x3db(n)*d)+l)throw B(\x22Wrong length\x22);t\x3dn/d}else t\x3d_(t),o\x3dnew G(n\x3dt*d);for(I(e,{buffer:o,byteOffset:l,byteLength:n,length:t,view:new V(o)});s\x3ct;)c(e,s++)}),E\x26\x26E(h,W),e$jscomp$1\x3dh.prototype\x3dM(q));e$jscomp$1.constructor!\x3d\x3dh\x26\x26v(e$jscomp$1,\x22constructor\x22,h);H\x26\x26v(e$jscomp$1,H,f);s$jscomp$0[f]\x3dh;l$jscomp$0({global:!0,forced:h!\x3do$jscomp$0,sham:!z},s$jscomp$0);\x22BYTES_PER_ELEMENT\x22in h||v(h,\x22BYTES_PER_ELEMENT\x22,d);\x22BYTES_PER_ELEMENT\x22in e$jscomp$1||v(e$jscomp$1,\x22BYTES_PER_ELEMENT\x22,\nd);L(f)}):t$jscomp$1.exports\x3dfunction(){}},{\x22../internals/an-instance\x22:9,\x22../internals/array-buffer\x22:13,\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19,\x22../internals/classof\x22:29,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/create-property-descriptor\x22:38,\x22../internals/descriptors\x22:42,\x22../internals/export\x22:49,\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/inherit-if-required\x22:67,\x22../internals/internal-state\x22:70,\x22../internals/is-object\x22:74,\x22../internals/object-create\x22:90,\n\x22../internals/object-define-property\x22:92,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/object-set-prototype-of\x22:101,\x22../internals/set-species\x22:116,\x22../internals/to-index\x22:131,\x22../internals/to-length\x22:134,\x22../internals/to-offset\x22:136,\x22../internals/to-primitive\x22:138,\x22../internals/typed-array-constructors-require-wrappers\x22:141,\x22../internals/typed-array-from\x22:142}],141:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/global\x22);var o\x3d\ne$jscomp$0(\x22../internals/fails\x22),i\x3de$jscomp$0(\x22../internals/check-correctness-of-iteration\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22).NATIVE_ARRAY_BUFFER_VIEWS;var s\x3dr.ArrayBuffer,l\x3dr.Int8Array;t.exports\x3d!e$jscomp$0||!o(function(){l(1)})||!o(function(){new l(-1)})||!i(function(e){new l;new l(null);new l(1.5);new l(e)},!0)||o(function(){return 1!\x3d\x3d(new l(new s(2),1,void 0)).length})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/check-correctness-of-iteration\x22:27,\x22../internals/fails\x22:50,\n\x22../internals/global\x22:59}],142:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var p\x3de$jscomp$0(\x22../internals/to-object\x22),y\x3de$jscomp$0(\x22../internals/to-length\x22),m\x3de$jscomp$0(\x22../internals/get-iterator-method\x22),g\x3de$jscomp$0(\x22../internals/is-array-iterator-method\x22),v\x3de$jscomp$0(\x22../internals/function-bind-context\x22),b\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22).aTypedArrayConstructor;t$jscomp$0.exports\x3dfunction(e,t,r){var i,u\x3dp(e);var n\x3darguments.length;var d\x3d1\x3cn?t:void 0,f\x3dvoid 0!\x3d\x3dd;var o\x3dm(u);if(null!\x3d\no\x26\x26!g(o)){var l\x3d(i\x3do.call(u)).next;for(u\x3d[];!(o\x3dl.call(i)).done;)u.push(o.value)}f\x26\x262\x3cn\x26\x26(d\x3dv(d,r,2));o\x3dy(u.length);i\x3dnew (b(this))(o);for(n\x3d0;n\x3co;n++)i[n]\x3df?d(u[n],n):u[n];return i}},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/function-bind-context\x22:54,\x22../internals/get-iterator-method\x22:57,\x22../internals/is-array-iterator-method\x22:71,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],143:[function(e$jscomp$0,t,r){var n\x3d0,o\x3dMath.random();t.exports\x3dfunction(e){return\x22Symbol(\x22+String(void 0\x3d\x3d\x3d\ne?\x22\x22:e)+\x22)_\x22+(++n+o).toString(36)}},{}],144:[function(e,t,r){e\x3de(\x22../internals/native-symbol\x22);t.exports\x3de\x26\x26!Symbol.sham\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator},{\x22../internals/native-symbol\x22:83}],145:[function(e,t,r){e\x3de(\x22../internals/well-known-symbol\x22);r.f\x3de},{\x22../internals/well-known-symbol\x22:146}],146:[function(e$jscomp$0,t,r){r\x3de$jscomp$0(\x22../internals/global\x22);var o\x3de$jscomp$0(\x22../internals/shared\x22),i\x3de$jscomp$0(\x22../internals/has\x22),a\x3de$jscomp$0(\x22../internals/uid\x22),s\x3de$jscomp$0(\x22../internals/native-symbol\x22);\ne$jscomp$0\x3de$jscomp$0(\x22../internals/use-symbol-as-uid\x22);var u\x3do(\x22wks\x22),c\x3dr.Symbol,d\x3de$jscomp$0?c:c\x26\x26c.withoutSetter||a;t.exports\x3dfunction(e){return i(u,e)||(s\x26\x26i(c,e)?u[e]\x3dc[e]:u[e]\x3dd(\x22Symbol.\x22+e)),u[e]}},{\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/native-symbol\x22:83,\x22../internals/shared\x22:120,\x22../internals/uid\x22:143,\x22../internals/use-symbol-as-uid\x22:144}],147:[function(e,t,r){t.exports\x3d\x22\\t\\n\\v\\f\\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff\x22},{}],148:[function(e,t,r){t\x3de(\x22../internals/export\x22);r\x3de(\x22../internals/global\x22);\nvar i\x3de(\x22../internals/array-buffer\x22);e\x3de(\x22../internals/set-species\x22);i\x3di.ArrayBuffer;t({global:!0,forced:r.ArrayBuffer!\x3d\x3di},{ArrayBuffer:i});e(\x22ArrayBuffer\x22)},{\x22../internals/array-buffer\x22:13,\x22../internals/export\x22:49,\x22../internals/global\x22:59,\x22../internals/set-species\x22:116}],149:[function(e$jscomp$0,t$jscomp$1,r$jscomp$0){t$jscomp$1\x3de$jscomp$0(\x22../internals/export\x22);var o$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22),i$jscomp$0\x3de$jscomp$0(\x22../internals/is-array\x22),a$jscomp$0\x3de$jscomp$0(\x22../internals/is-object\x22),\nc\x3de$jscomp$0(\x22../internals/to-object\x22),d\x3de$jscomp$0(\x22../internals/to-length\x22),f\x3de$jscomp$0(\x22../internals/create-property\x22),h\x3de$jscomp$0(\x22../internals/array-species-create\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-has-species-support\x22);var l$jscomp$0\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/engine-v8-version\x22);var y\x3dl$jscomp$0(\x22isConcatSpreadable\x22);e$jscomp$0\x3d51\x3c\x3de$jscomp$0||!o$jscomp$0(function(){var e\x3d[];return e[y]\x3d!1,e.concat()[0]!\x3d\x3de});r$jscomp$0\x3d\nr$jscomp$0(\x22concat\x22);t$jscomp$1({target:\x22Array\x22,proto:!0,forced:!e$jscomp$0||!r$jscomp$0},{concat:function(e){var n,o,i,a\x3dc(this),s\x3dh(a,0),l\x3d0;var t\x3d-1;for(n\x3darguments.length;t\x3cn;t++){var r\x3di\x3d-1\x3d\x3d\x3dt?a:arguments[t];if(a$jscomp$0(r)){var t$jscomp$0\x3dr[y];r\x3dvoid 0!\x3d\x3dt$jscomp$0?!!t$jscomp$0:i$jscomp$0(r)}else r\x3d!1;if(r){if(o\x3dd(i.length),9007199254740991\x3cl+o)throw TypeError(\x22Maximum allowed index exceeded\x22);for(r\x3d0;r\x3co;r++,l++)r in i\x26\x26f(s,l,i[r])}else{if(9007199254740991\x3c\x3dl)throw TypeError(\x22Maximum allowed index exceeded\x22);\nf(s,l++,i)}}return s.length\x3dl,s}})},{\x22../internals/array-method-has-species-support\x22:21,\x22../internals/array-species-create\x22:25,\x22../internals/create-property\x22:39,\x22../internals/engine-v8-version\x22:47,\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/is-array\x22:72,\x22../internals/is-object\x22:74,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135,\x22../internals/well-known-symbol\x22:146}],150:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).every;\nr\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);r\x3dr(\x22every\x22);e$jscomp$0\x3de$jscomp$0(\x22every\x22);t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!r||!e$jscomp$0},{every:function(e,t){return o(this,e,1\x3carguments.length?t:void 0)}})},{\x22../internals/array-iteration\x22:19,\x22../internals/array-method-is-strict\x22:22,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],151:[function(e,t,r){t\x3de(\x22../internals/export\x22);r\x3de(\x22../internals/array-fill\x22);\ne\x3de(\x22../internals/add-to-unscopables\x22);t({target:\x22Array\x22,proto:!0},{fill:r});e(\x22fill\x22)},{\x22../internals/add-to-unscopables\x22:7,\x22../internals/array-fill\x22:15,\x22../internals/export\x22:49}],152:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).filter;r\x3de$jscomp$0(\x22../internals/array-method-has-species-support\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);r\x3dr(\x22filter\x22);e$jscomp$0\x3de$jscomp$0(\x22filter\x22);t$jscomp$0({target:\x22Array\x22,\nproto:!0,forced:!r||!e$jscomp$0},{filter:function(e,t){return o(this,e,1\x3carguments.length?t:void 0)}})},{\x22../internals/array-iteration\x22:19,\x22../internals/array-method-has-species-support\x22:21,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],153:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var i\x3de$jscomp$0(\x22../internals/flatten-into-array\x22),a\x3de$jscomp$0(\x22../internals/to-object\x22),s\x3de$jscomp$0(\x22../internals/to-length\x22),l\x3de$jscomp$0(\x22../internals/a-function\x22),\nu\x3de$jscomp$0(\x22../internals/array-species-create\x22);t$jscomp$0({target:\x22Array\x22,proto:!0},{flatMap:function(e,t){var r,n\x3da(this),o\x3ds(n.length);return l(e),(r\x3du(n,0)).length\x3di(r,n,n,o,0,1,e,1\x3carguments.length?t:void 0),r}})},{\x22../internals/a-function\x22:5,\x22../internals/array-species-create\x22:25,\x22../internals/export\x22:49,\x22../internals/flatten-into-array\x22:52,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],154:[function(e,t,r){t\x3de(\x22../internals/export\x22);e\x3de(\x22../internals/array-for-each\x22);t({target:\x22Array\x22,\nproto:!0,forced:[].forEach!\x3de},{forEach:e})},{\x22../internals/array-for-each\x22:16,\x22../internals/export\x22:49}],155:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/export\x22);r\x3de$jscomp$0(\x22../internals/array-from\x22);t({target:\x22Array\x22,stat:!0,forced:!e$jscomp$0(\x22../internals/check-correctness-of-iteration\x22)(function(e){Array.from(e)})},{from:r})},{\x22../internals/array-from\x22:17,\x22../internals/check-correctness-of-iteration\x22:27,\x22../internals/export\x22:49}],156:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);\nvar o\x3de$jscomp$0(\x22../internals/array-includes\x22).includes;r\x3de$jscomp$0(\x22../internals/add-to-unscopables\x22);t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!e$jscomp$0(\x22../internals/array-method-uses-to-length\x22)(\x22indexOf\x22,{ACCESSORS:!0,1:0})},{includes:function(e,t){return o(this,e,1\x3carguments.length?t:void 0)}});r(\x22includes\x22)},{\x22../internals/add-to-unscopables\x22:7,\x22../internals/array-includes\x22:18,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],157:[function(e$jscomp$0,t$jscomp$0,\nr){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/array-includes\x22).indexOf;r\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);var s\x3d[].indexOf,l\x3d!!s\x26\x260\x3e1/[1].indexOf(1,-0);r\x3dr(\x22indexOf\x22);e$jscomp$0\x3de$jscomp$0(\x22indexOf\x22,{ACCESSORS:!0,1:0});t$jscomp$0({target:\x22Array\x22,proto:!0,forced:l||!r||!e$jscomp$0},{indexOf:function(e,t){return l?s.apply(this,arguments)||0:o(this,e,1\x3carguments.length?t:void 0)}})},{\x22../internals/array-includes\x22:18,\n\x22../internals/array-method-is-strict\x22:22,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],158:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n$jscomp$0\x3de$jscomp$0(\x22../internals/to-indexed-object\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/add-to-unscopables\x22);var i\x3de$jscomp$0(\x22../internals/iterators\x22),a\x3de$jscomp$0(\x22../internals/internal-state\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/define-iterator\x22);var u\x3da.set,c\x3da.getterFor(\x22Array Iterator\x22);t$jscomp$0.exports\x3de$jscomp$0(Array,\x22Array\x22,\nfunction(e,t){u(this,{type:\x22Array Iterator\x22,target:n$jscomp$0(e),index:0,kind:t})},function(){var e\x3dc(this),t\x3de.target,r\x3de.kind,n\x3de.index++;return!t||n\x3e\x3dt.length?{value:e.target\x3dvoid 0,done:!0}:\x22keys\x22\x3d\x3dr?{value:n,done:!1}:\x22values\x22\x3d\x3dr?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}},\x22values\x22);i.Arguments\x3di.Array;r$jscomp$0(\x22keys\x22);r$jscomp$0(\x22values\x22);r$jscomp$0(\x22entries\x22)},{\x22../internals/add-to-unscopables\x22:7,\x22../internals/define-iterator\x22:40,\x22../internals/internal-state\x22:70,\x22../internals/iterators\x22:79,\n\x22../internals/to-indexed-object\x22:132}],159:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/export\x22);r\x3de$jscomp$0(\x22../internals/indexed-object\x22);var i\x3de$jscomp$0(\x22../internals/to-indexed-object\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);var s\x3d[].join;r\x3dr!\x3dObject;e$jscomp$0\x3de$jscomp$0(\x22join\x22,\x22,\x22);t({target:\x22Array\x22,proto:!0,forced:r||!e$jscomp$0},{join:function(e){return s.call(i(this),void 0\x3d\x3d\x3de?\x22,\x22:e)}})},{\x22../internals/array-method-is-strict\x22:22,\x22../internals/export\x22:49,\x22../internals/indexed-object\x22:66,\n\x22../internals/to-indexed-object\x22:132}],160:[function(e,t,r){t\x3de(\x22../internals/export\x22);e\x3de(\x22../internals/array-last-index-of\x22);t({target:\x22Array\x22,proto:!0,forced:e!\x3d\x3d[].lastIndexOf},{lastIndexOf:e})},{\x22../internals/array-last-index-of\x22:20,\x22../internals/export\x22:49}],161:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).map;r\x3de$jscomp$0(\x22../internals/array-method-has-species-support\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);\nr\x3dr(\x22map\x22);e$jscomp$0\x3de$jscomp$0(\x22map\x22);t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!r||!e$jscomp$0},{map:function(e,t){return o(this,e,1\x3carguments.length?t:void 0)}})},{\x22../internals/array-iteration\x22:19,\x22../internals/array-method-has-species-support\x22:21,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],162:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var u\x3de$jscomp$0(\x22../internals/is-object\x22),c\x3de$jscomp$0(\x22../internals/is-array\x22),\nd\x3de$jscomp$0(\x22../internals/to-absolute-index\x22),f\x3de$jscomp$0(\x22../internals/to-length\x22),h\x3de$jscomp$0(\x22../internals/to-indexed-object\x22),p\x3de$jscomp$0(\x22../internals/create-property\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);var i$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-has-species-support\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);i$jscomp$0\x3di$jscomp$0(\x22slice\x22);e$jscomp$0\x3de$jscomp$0(\x22slice\x22,{ACCESSORS:!0,0:0,1:2});var y\x3dr$jscomp$0(\x22species\x22),m\x3d[].slice,g\x3d\nMath.max;t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!i$jscomp$0||!e$jscomp$0},{slice:function(e,t){var r,i\x3dh(this);var o\x3df(i.length);e\x3dd(e,o);t\x3dd(void 0\x3d\x3d\x3dt?o:t,o);if(c(i)\x26\x26(\x22function\x22!\x3dtypeof(r\x3di.constructor)||r!\x3d\x3dArray\x26\x26!c(r.prototype)?u(r)\x26\x26null\x3d\x3d\x3d(r\x3dr[y])\x26\x26(r\x3dvoid 0):r\x3dvoid 0,r\x3d\x3d\x3dArray||void 0\x3d\x3d\x3dr))return m.call(i,e,t);r\x3dnew (void 0\x3d\x3d\x3dr?Array:r)(g(t-e,0));for(o\x3d0;e\x3ct;e++,o++)e in i\x26\x26p(r,o,i[e]);return r.length\x3do,r}})},{\x22../internals/array-method-has-species-support\x22:21,\x22../internals/array-method-uses-to-length\x22:23,\n\x22../internals/create-property\x22:39,\x22../internals/export\x22:49,\x22../internals/is-array\x22:72,\x22../internals/is-object\x22:74,\x22../internals/to-absolute-index\x22:130,\x22../internals/to-indexed-object\x22:132,\x22../internals/to-length\x22:134,\x22../internals/well-known-symbol\x22:146}],163:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).some;r\x3de$jscomp$0(\x22../internals/array-method-is-strict\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);\nr\x3dr(\x22some\x22);e$jscomp$0\x3de$jscomp$0(\x22some\x22);t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!r||!e$jscomp$0},{some:function(e,t){return o(this,e,1\x3carguments.length?t:void 0)}})},{\x22../internals/array-iteration\x22:19,\x22../internals/array-method-is-strict\x22:22,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/export\x22:49}],164:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var f\x3de$jscomp$0(\x22../internals/to-absolute-index\x22),h\x3de$jscomp$0(\x22../internals/to-integer\x22),\np\x3de$jscomp$0(\x22../internals/to-length\x22),y\x3de$jscomp$0(\x22../internals/to-object\x22),m\x3de$jscomp$0(\x22../internals/array-species-create\x22),g\x3de$jscomp$0(\x22../internals/create-property\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-has-species-support\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/array-method-uses-to-length\x22);r$jscomp$0\x3dr$jscomp$0(\x22splice\x22);e$jscomp$0\x3de$jscomp$0(\x22splice\x22,{ACCESSORS:!0,0:0,1:2});var v\x3dMath.max,b\x3dMath.min;t$jscomp$0({target:\x22Array\x22,proto:!0,forced:!r$jscomp$0||!e$jscomp$0},{splice:function(e,\nt){var r,n,i,a,l\x3dy(this),u\x3dp(l.length),c\x3df(e,u);var o\x3darguments.length;if(0\x3d\x3d\x3do?r\x3dn\x3d0:n\x3d1\x3d\x3d\x3do?(r\x3d0,u-c):(r\x3do-2,b(v(h(t),0),u-c)),9007199254740991\x3cu+r-n)throw TypeError(\x22Maximum allowed length exceeded\x22);o\x3dm(l,n);for(i\x3d0;i\x3cn;i++)(a\x3dc+i)in l\x26\x26g(o,i,l[a]);if(r\x3c(o.length\x3dn)){for(i\x3dc;i\x3cu-n;i++){var s\x3di+r;(a\x3di+n)in l?l[s]\x3dl[a]:delete l[s]}for(i\x3du;u-n+r\x3ci;i--)delete l[i-1]}else if(n\x3cr)for(i\x3du-n;c\x3ci;i--)s\x3di+r-1,(a\x3di+n-1)in l?l[s]\x3dl[a]:delete l[s];for(i\x3d0;i\x3cr;i++)l[i+c]\x3darguments[i+2];return l.length\x3du-n+\nr,o}})},{\x22../internals/array-method-has-species-support\x22:21,\x22../internals/array-method-uses-to-length\x22:23,\x22../internals/array-species-create\x22:25,\x22../internals/create-property\x22:39,\x22../internals/export\x22:49,\x22../internals/to-absolute-index\x22:130,\x22../internals/to-integer\x22:133,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],165:[function(e,t,r){e(\x22../internals/add-to-unscopables\x22)(\x22flatMap\x22)},{\x22../internals/add-to-unscopables\x22:7}],166:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/descriptors\x22);\ne$jscomp$0\x3de$jscomp$0(\x22../internals/object-define-property\x22).f;r\x3dFunction.prototype;var a\x3dr.toString,s\x3d/^\\s*function ([^ (]*)/;!t||\x22name\x22in r||e$jscomp$0(r,\x22name\x22,{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(e){return\x22\x22}}})},{\x22../internals/descriptors\x22:42,\x22../internals/object-define-property\x22:92}],167:[function(e$jscomp$0,t$jscomp$0,r){r\x3de$jscomp$0(\x22../internals/collection\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/collection-strong\x22);t$jscomp$0.exports\x3dr(\x22Map\x22,function(t){return function(e){return t(this,\narguments.length?e:void 0)}},e$jscomp$0)},{\x22../internals/collection\x22:31,\x22../internals/collection-strong\x22:30}],168:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);t$jscomp$0\x3dMath.hypot;var l\x3dMath.abs,u\x3dMath.sqrt;e$jscomp$0({target:\x22Math\x22,stat:!0,forced:!!t$jscomp$0\x26\x26t$jscomp$0(1/0,NaN)!\x3d\x3d1/0},{hypot:function(e,t){for(var r,n,o\x3d0,i\x3d0,a\x3darguments.length,s\x3d0;i\x3ca;)s\x3c(r\x3dl(arguments[i++]))?(o\x3do*(n\x3ds/r)*n+1,s\x3dr):o+\x3d0\x3cr?(n\x3dr/s)*n:r;return s\x3d\x3d\x3d1/0?1/0:s*u(o)}})},{\x22../internals/export\x22:49}],\n169:[function(e,t,r){e(\x22../internals/export\x22)({target:\x22Math\x22,stat:!0},{sign:e(\x22../internals/math-sign\x22)})},{\x22../internals/export\x22:49,\x22../internals/math-sign\x22:80}],170:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function n(e){var t,r,s,l;e\x3dd(e,!1);if(\x22string\x22\x3d\x3dtypeof e\x26\x262\x3ce.length)if(43\x3d\x3d\x3d(t\x3d(e\x3dg(e)).charCodeAt(0))||45\x3d\x3d\x3dt){if(88\x3d\x3d\x3d(r\x3de.charCodeAt(2))||120\x3d\x3d\x3dr)return NaN}else if(48\x3d\x3d\x3dt){switch(e.charCodeAt(1)){case 66:case 98:t\x3d2;r\x3d49;break;case 79:case 111:t\x3d8;r\x3d55;break;default:return+e}var a\x3d(e\x3d\ne.slice(2)).length;for(s\x3d0;s\x3ca;s++)if(48\x3e(l\x3de.charCodeAt(s))||r\x3cl)return NaN;return parseInt(e,t)}return+e}var o\x3de$jscomp$0(\x22../internals/descriptors\x22);t$jscomp$0\x3de$jscomp$0(\x22../internals/global\x22);var a$jscomp$0\x3de$jscomp$0(\x22../internals/is-forced\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/redefine\x22);var l$jscomp$0\x3de$jscomp$0(\x22../internals/has\x22),u\x3de$jscomp$0(\x22../internals/classof-raw\x22),c\x3de$jscomp$0(\x22../internals/inherit-if-required\x22),d\x3de$jscomp$0(\x22../internals/to-primitive\x22),f\x3de$jscomp$0(\x22../internals/fails\x22),\nh\x3de$jscomp$0(\x22../internals/object-create\x22),p\x3de$jscomp$0(\x22../internals/object-get-own-property-names\x22).f,y\x3de$jscomp$0(\x22../internals/object-get-own-property-descriptor\x22).f,m\x3de$jscomp$0(\x22../internals/object-define-property\x22).f,g\x3de$jscomp$0(\x22../internals/string-trim\x22).trim,b\x3dt$jscomp$0.Number,_\x3db.prototype,x\x3d\x22Number\x22\x3d\x3du(h(_));if(a$jscomp$0(\x22Number\x22,!b(\x22 0o1\x22)||!b(\x220b1\x22)||b(\x22+0x1\x22))){var w,j\x3dfunction(e){var t\x3d1\x3earguments.length?0:e,r\x3dthis;return r instanceof j\x26\x26(x?f(function(){_.valueOf.call(r)}):\x22Number\x22!\x3d\nu(r))?c(new b(n(t)),r,j):n(t)};e$jscomp$0\x3do?p(b):\x22MAX_VALUE MIN_VALUE NaN NEGATIVE_INFINITY POSITIVE_INFINITY EPSILON isFinite isInteger isNaN isSafeInteger MAX_SAFE_INTEGER MIN_SAFE_INTEGER parseFloat parseInt isInteger\x22.split(\x22 \x22);for(o\x3d0;e$jscomp$0.length\x3eo;o++)l$jscomp$0(b,w\x3de$jscomp$0[o])\x26\x26!l$jscomp$0(j,w)\x26\x26m(j,w,y(b,w));(j.prototype\x3d_).constructor\x3dj;r$jscomp$0(t$jscomp$0,\x22Number\x22,j)}},{\x22../internals/classof-raw\x22:28,\x22../internals/descriptors\x22:42,\x22../internals/fails\x22:50,\x22../internals/global\x22:59,\n\x22../internals/has\x22:60,\x22../internals/inherit-if-required\x22:67,\x22../internals/is-forced\x22:73,\x22../internals/object-create\x22:90,\x22../internals/object-define-property\x22:92,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/redefine\x22:108,\x22../internals/string-trim\x22:127,\x22../internals/to-primitive\x22:138}],171:[function(e,t,r){e(\x22../internals/export\x22)({target:\x22Number\x22,stat:!0},{isFinite:e(\x22../internals/number-is-finite\x22)})},{\x22../internals/export\x22:49,\n\x22../internals/number-is-finite\x22:88}],172:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){t$jscomp$1\x3de$jscomp$1(\x22../internals/export\x22);var h\x3de$jscomp$1(\x22../internals/to-integer\x22),p\x3de$jscomp$1(\x22../internals/this-number-value\x22),y\x3de$jscomp$1(\x22../internals/string-repeat\x22);e$jscomp$1\x3de$jscomp$1(\x22../internals/fails\x22);var i$jscomp$0\x3d(1).toFixed,m\x3dMath.floor,g\x3dfunction(e,t,r){return 0\x3d\x3d\x3dt?r:1\x3d\x3dt%2?g(e,t-1,r*e):g(e*e,t/2,r)};t$jscomp$1({target:\x22Number\x22,proto:!0,forced:i$jscomp$0\x26\x26(\x220.000\x22!\x3d\x3d(8E-5).toFixed(3)||\n\x221\x22!\x3d\x3d(.9).toFixed(0)||\x221.25\x22!\x3d\x3d(1.255).toFixed(2)||\x221000000000000000128\x22!\x3d\x3d(0xde0b6b3a7640080).toFixed(0))||!e$jscomp$1(function(){i$jscomp$0.call({})})},{toFixed:function(e$jscomp$0){function t$jscomp$0(e,t){for(var r\x3d-1;6\x3e++r;)t+\x3de*c[r],c[r]\x3dt%1E7,t\x3dm(t/1E7)}function r$jscomp$0(e){for(var t\x3d6,r\x3d0;0\x3c\x3d--t;)r+\x3dc[t],c[t]\x3dm(r/e),r\x3dr%e*1E7}function n(){for(var e\x3d6,t\x3d\x22\x22;0\x3c\x3d--e;)if(\x22\x22!\x3d\x3dt||0\x3d\x3d\x3de||0!\x3d\x3dc[e]){var r\x3dString(c[e]);t\x3d\x22\x22\x3d\x3d\x3dt?r:t+y.call(\x220\x22,7-r.length)+r}return t}var o,i,s,l\x3dp(this);e$jscomp$0\x3d\nh(e$jscomp$0);var c\x3d[0,0,0,0,0,0],d\x3d\x22\x22,f\x3d\x220\x22;if(0\x3ee$jscomp$0||20\x3ce$jscomp$0)throw RangeError(\x22Incorrect fraction digits\x22);if(l!\x3dl)return\x22NaN\x22;if(-1E21\x3e\x3dl||1E21\x3c\x3dl)return String(l);if(0\x3el\x26\x26(d\x3d\x22-\x22,l\x3d-l),1E-21\x3cl)if(i\x3d0\x3e(o\x3dfunction(e){for(var t\x3d0;4096\x3c\x3de;)t+\x3d12,e/\x3d4096;for(;2\x3c\x3de;)t+\x3d1,e/\x3d2;return t}(l*g(2,69,1))-69)?l*g(2,-o,1):l/g(2,o,1),i*\x3d4503599627370496,0\x3c(o\x3d52-o)){t$jscomp$0(0,i);for(i\x3de$jscomp$0;7\x3c\x3di;)t$jscomp$0(1E7,0),i-\x3d7;t$jscomp$0(g(10,i,1),0);for(i\x3do-1;23\x3c\x3di;)r$jscomp$0(8388608),i-\x3d23;r$jscomp$0(1\x3c\x3c\ni);t$jscomp$0(1,1);r$jscomp$0(2);f\x3dn()}else t$jscomp$0(0,i),t$jscomp$0(1\x3c\x3c-o,0),f\x3dn()+y.call(\x220\x22,e$jscomp$0);return f\x3d0\x3ce$jscomp$0?d+((s\x3df.length)\x3c\x3de$jscomp$0?\x220.\x22+y.call(\x220\x22,e$jscomp$0-s)+f:f.slice(0,s-e$jscomp$0)+\x22.\x22+f.slice(s-e$jscomp$0)):d+f}})},{\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/string-repeat\x22:125,\x22../internals/this-number-value\x22:129,\x22../internals/to-integer\x22:133}],173:[function(e,t,r){t\x3de(\x22../internals/export\x22);e\x3de(\x22../internals/object-assign\x22);t({target:\x22Object\x22,\nstat:!0,forced:Object.assign!\x3d\x3de},{assign:e})},{\x22../internals/export\x22:49,\x22../internals/object-assign\x22:89}],174:[function(e,t,r){t\x3de(\x22../internals/export\x22);r\x3de(\x22../internals/fails\x22);e\x3de(\x22../internals/object-get-own-property-names-external\x22).f;t({target:\x22Object\x22,stat:!0,forced:r(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:e})},{\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/object-get-own-property-names-external\x22:94}],175:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/export\x22);\nr\x3de$jscomp$0(\x22../internals/fails\x22);var i\x3de$jscomp$0(\x22../internals/to-object\x22),a\x3de$jscomp$0(\x22../internals/object-get-prototype-of\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/correct-prototype-getter\x22);t({target:\x22Object\x22,stat:!0,forced:r(function(){a(1)}),sham:!e$jscomp$0},{getPrototypeOf:function(e){return a(i(e))}})},{\x22../internals/correct-prototype-getter\x22:34,\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/object-get-prototype-of\x22:97,\x22../internals/to-object\x22:135}],176:[function(e$jscomp$0,\nt,r){t\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/to-object\x22),i\x3de$jscomp$0(\x22../internals/object-keys\x22);t({target:\x22Object\x22,stat:!0,forced:e$jscomp$0(\x22../internals/fails\x22)(function(){i(1)})},{keys:function(e){return i(o(e))}})},{\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/object-keys\x22:99,\x22../internals/to-object\x22:135}],177:[function(e,t,r){t\x3de(\x22../internals/to-string-tag-support\x22);r\x3de(\x22../internals/redefine\x22);e\x3de(\x22../internals/object-to-string\x22);t||r(Object.prototype,\n\x22toString\x22,e,{unsafe:!0})},{\x22../internals/object-to-string\x22:102,\x22../internals/redefine\x22:108,\x22../internals/to-string-tag-support\x22:139}],178:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){function y(e){var t;return!(!x(e)||\x22function\x22!\x3dtypeof(t\x3de.then))\x26\x26t}function i$jscomp$0(d,f,h){if(!f.notified){f.notified\x3d!0;var p\x3df.reactions;L(function(){for(var e$jscomp$0\x3df.value,t\x3d1\x3d\x3df.state,r\x3d0;p.length\x3er;){var n,o,i,a\x3dp[r++],s\x3dt?a.ok:a.fail,l\x3da.resolve,u\x3da.reject,c\x3da.domain;try{s?(t||(2\x3d\x3d\x3df.rejection\x26\x26oe(d,f),\nf.rejection\x3d1),!0\x3d\x3d\x3ds?n\x3de$jscomp$0:(c\x26\x26c.enter(),n\x3ds(e$jscomp$0),c\x26\x26(c.exit(),i\x3d!0)),n\x3d\x3d\x3da.promise?u(W(\x22Promise-chain cycle\x22)):(o\x3dy(n))?o.call(n,l,u):l(n)):u(e$jscomp$0)}catch(e){c\x26\x26!i\x26\x26c.exit(),u(e)}}f.reactions\x3d[];f.notified\x3d!1;h\x26\x26!f.rejection\x26\x26re(d,f)})}}function o$jscomp$0(e,t,r){var n,o;J?((n\x3dq.createEvent(\x22Event\x22)).promise\x3dt,n.reason\x3dr,n.initEvent(e,!1,!0),h$jscomp$0.dispatchEvent(n)):n\x3d{promise:t,reason:r};(o\x3dh$jscomp$0[\x22on\x22+e])?o(n):e\x3d\x3d\x3d$\x26\x26A(\x22Unhandled promise rejection\x22,r)}function a$jscomp$0(t,\nr,n,o){return function(e){t(r,n,e,o)}}function s$jscomp$0(e,t,r,n){t.done||(t.done\x3d!0,n\x26\x26(t\x3dn),t.value\x3dr,t.state\x3d2,i$jscomp$0(e,t,!0))}var n$jscomp$0,l$jscomp$0,c$jscomp$0;t$jscomp$1\x3de$jscomp$2(\x22../internals/export\x22);var f$jscomp$0\x3de$jscomp$2(\x22../internals/is-pure\x22),h$jscomp$0\x3de$jscomp$2(\x22../internals/global\x22);r$jscomp$1\x3de$jscomp$2(\x22../internals/get-built-in\x22);var m\x3de$jscomp$2(\x22../internals/native-promise-constructor\x22),g\x3de$jscomp$2(\x22../internals/redefine\x22),v\x3de$jscomp$2(\x22../internals/redefine-all\x22),\nb\x3de$jscomp$2(\x22../internals/set-to-string-tag\x22),_\x3de$jscomp$2(\x22../internals/set-species\x22),x\x3de$jscomp$2(\x22../internals/is-object\x22),w\x3de$jscomp$2(\x22../internals/a-function\x22),j\x3de$jscomp$2(\x22../internals/an-instance\x22),S\x3de$jscomp$2(\x22../internals/classof-raw\x22),M\x3de$jscomp$2(\x22../internals/inspect-source\x22),E\x3de$jscomp$2(\x22../internals/iterate\x22),T\x3de$jscomp$2(\x22../internals/check-correctness-of-iteration\x22),O\x3de$jscomp$2(\x22../internals/species-constructor\x22),C\x3de$jscomp$2(\x22../internals/task\x22).set,L\x3de$jscomp$2(\x22../internals/microtask\x22),\nP\x3de$jscomp$2(\x22../internals/promise-resolve\x22),A\x3de$jscomp$2(\x22../internals/host-report-errors\x22),k\x3de$jscomp$2(\x22../internals/new-promise-capability\x22),R\x3de$jscomp$2(\x22../internals/perform\x22),D\x3de$jscomp$2(\x22../internals/internal-state\x22),I\x3de$jscomp$2(\x22../internals/is-forced\x22),U\x3de$jscomp$2(\x22../internals/well-known-symbol\x22),N\x3de$jscomp$2(\x22../internals/engine-v8-version\x22),F\x3dU(\x22species\x22),G\x3dD.get,V\x3dD.set,z\x3dD.getterFor(\x22Promise\x22),H\x3dm,W\x3dh$jscomp$0.TypeError,q\x3dh$jscomp$0.document,X\x3dh$jscomp$0.process,Y\x3dr$jscomp$1(\x22fetch\x22),\nZ\x3dk.f,Q\x3dZ,K\x3d\x22process\x22\x3d\x3dS(X),J\x3d!!(q\x26\x26q.createEvent\x26\x26h$jscomp$0.dispatchEvent),$\x3d\x22unhandledrejection\x22;T\x3d(e$jscomp$2\x3dI(\x22Promise\x22,function(){function e$jscomp$0(e){e(function(){},function(){})}if(M(H)\x3d\x3d\x3dString(H)\x26\x26(66\x3d\x3d\x3dN||!K\x26\x26\x22function\x22!\x3dtypeof PromiseRejectionEvent)||f$jscomp$0\x26\x26!H.prototype.finally)return!0;if(51\x3c\x3dN\x26\x26/native code/.test(H))return!1;var t\x3dH.resolve(1);return(t.constructor\x3d{})[F]\x3de$jscomp$0,!(t.then(function(){})instanceof e$jscomp$0)}))||!T(function(e){H.all(e).catch(function(){})});\nvar re\x3dfunction(r,n){C.call(h$jscomp$0,function(){var e,t\x3dn.value;if(1!\x3d\x3dn.rejection\x26\x26!n.parent\x26\x26(e\x3dR(function(){K?X.emit(\x22unhandledRejection\x22,t,r):o$jscomp$0($,r,t)}),n.rejection\x3dK||1!\x3d\x3dn.rejection\x26\x26!n.parent?2:1,e.error))throw e.value;})},oe\x3dfunction(e,t){C.call(h$jscomp$0,function(){K?X.emit(\x22rejectionHandled\x22,e):o$jscomp$0(\x22rejectionhandled\x22,e,t.value)})},ie\x3dfunction(r,n,e$jscomp$0,t$jscomp$0){if(!n.done){n.done\x3d!0;t$jscomp$0\x26\x26(n\x3dt$jscomp$0);try{if(r\x3d\x3d\x3de$jscomp$0)throw W(\x22Promise can\x27t be resolved itself\x22);\nvar o\x3dy(e$jscomp$0);o?L(function(){var t\x3d{done:!1};try{o.call(e$jscomp$0,a$jscomp$0(ie,r,t,n),a$jscomp$0(s$jscomp$0,r,t,n))}catch(e){s$jscomp$0(r,t,e,n)}}):(n.value\x3de$jscomp$0,n.state\x3d1,i$jscomp$0(r,n,!1))}catch(e){s$jscomp$0(r,{done:!1},e,n)}}};e$jscomp$2\x26\x26(H\x3dfunction(e$jscomp$0){j(this,H,\x22Promise\x22);w(e$jscomp$0);n$jscomp$0.call(this);var t\x3dG(this);try{e$jscomp$0(a$jscomp$0(ie,this,t),a$jscomp$0(s$jscomp$0,this,t))}catch(e){s$jscomp$0(this,t,e)}},(n$jscomp$0\x3dfunction(){V(this,{type:\x22Promise\x22,done:!1,\nnotified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype\x3dv(H.prototype,{then:function(e,t){var r\x3dz(this),n\x3dZ(O(this,H));return n.ok\x3d\x22function\x22!\x3dtypeof e||e,n.fail\x3d\x22function\x22\x3d\x3dtypeof t\x26\x26t,n.domain\x3dK?X.domain:void 0,r.parent\x3d!0,r.reactions.push(n),0!\x3dr.state\x26\x26i$jscomp$0(this,r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),l$jscomp$0\x3dfunction(){var e\x3dnew n$jscomp$0,t\x3dG(e);this.promise\x3de;this.resolve\x3da$jscomp$0(ie,e,t);this.reject\x3da$jscomp$0(s$jscomp$0,e,t)},\nk.f\x3dZ\x3dfunction(e){return e\x3d\x3d\x3dH||e\x3d\x3d\x3du$jscomp$0?new l$jscomp$0(e):Q(e)},f$jscomp$0||\x22function\x22!\x3dtypeof m||(c$jscomp$0\x3dm.prototype.then,g(m.prototype,\x22then\x22,function(e$jscomp$0,t$jscomp$0){var r\x3dthis;return(new H(function(e,t){c$jscomp$0.call(r,e,t)})).then(e$jscomp$0,t$jscomp$0)},{unsafe:!0}),\x22function\x22\x3d\x3dtypeof Y\x26\x26t$jscomp$1({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return P(H,Y.apply(h$jscomp$0,arguments))}})));t$jscomp$1({global:!0,wrap:!0,forced:e$jscomp$2},{Promise:H});b(H,\x22Promise\x22,\n!1,!0);_(\x22Promise\x22);var u$jscomp$0\x3dr$jscomp$1(\x22Promise\x22);t$jscomp$1({target:\x22Promise\x22,stat:!0,forced:e$jscomp$2},{reject:function(e){var t\x3dZ(this);return t.reject.call(void 0,e),t.promise}});t$jscomp$1({target:\x22Promise\x22,stat:!0,forced:f$jscomp$0||e$jscomp$2},{resolve:function(e){return P(f$jscomp$0\x26\x26this\x3d\x3d\x3du$jscomp$0?H:this,e)}});t$jscomp$1({target:\x22Promise\x22,stat:!0,forced:T},{all:function(e$jscomp$1){var s\x3dthis,t$jscomp$0\x3dZ(s),l\x3dt$jscomp$0.resolve,u\x3dt$jscomp$0.reject,r$jscomp$0\x3dR(function(){var n\x3d\nw(s.resolve),o\x3d[],i\x3d0,a\x3d1;E(e$jscomp$1,function(e$jscomp$0){var t\x3di++,r\x3d!1;o.push(void 0);a++;n.call(s,e$jscomp$0).then(function(e){r||(r\x3d!0,o[t]\x3de,--a||l(o))},u)});--a||l(o)});return r$jscomp$0.error\x26\x26u(r$jscomp$0.value),t$jscomp$0.promise},race:function(e$jscomp$0){var r\x3dthis,n\x3dZ(r),o\x3dn.reject,t$jscomp$0\x3dR(function(){var t\x3dw(r.resolve);E(e$jscomp$0,function(e){t.call(r,e).then(n.resolve,o)})});return t$jscomp$0.error\x26\x26o(t$jscomp$0.value),n.promise}})},{\x22../internals/a-function\x22:5,\x22../internals/an-instance\x22:9,\n\x22../internals/check-correctness-of-iteration\x22:27,\x22../internals/classof-raw\x22:28,\x22../internals/engine-v8-version\x22:47,\x22../internals/export\x22:49,\x22../internals/get-built-in\x22:56,\x22../internals/global\x22:59,\x22../internals/host-report-errors\x22:62,\x22../internals/inspect-source\x22:68,\x22../internals/internal-state\x22:70,\x22../internals/is-forced\x22:73,\x22../internals/is-object\x22:74,\x22../internals/is-pure\x22:75,\x22../internals/iterate\x22:77,\x22../internals/microtask\x22:81,\x22../internals/native-promise-constructor\x22:82,\x22../internals/new-promise-capability\x22:86,\n\x22../internals/perform\x22:105,\x22../internals/promise-resolve\x22:106,\x22../internals/redefine\x22:108,\x22../internals/redefine-all\x22:107,\x22../internals/set-species\x22:116,\x22../internals/set-to-string-tag\x22:117,\x22../internals/species-constructor\x22:121,\x22../internals/task\x22:128,\x22../internals/well-known-symbol\x22:146}],179:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/get-built-in\x22);var l\x3de$jscomp$0(\x22../internals/a-function\x22),u\x3de$jscomp$0(\x22../internals/an-object\x22),\nc\x3de$jscomp$0(\x22../internals/is-object\x22),d\x3de$jscomp$0(\x22../internals/object-create\x22),f\x3de$jscomp$0(\x22../internals/function-bind\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);var h\x3dr$jscomp$0(\x22Reflect\x22,\x22construct\x22),p\x3de$jscomp$0(function(){function e(){}return!(h(function(){},[],e)instanceof e)}),y\x3d!e$jscomp$0(function(){h(function(){})});e$jscomp$0\x3dp||y;t$jscomp$0({target:\x22Reflect\x22,stat:!0,forced:e$jscomp$0,sham:e$jscomp$0},{construct:function(e,t,r){l(e);u(t);var n\x3d3\x3earguments.length?e:l(r);if(y\x26\x26!p)return h(e,\nt,n);if(e\x3d\x3dn){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}n\x3d[null];return n.push.apply(n,t),new (f.apply(e,n))}n\x3dn.prototype;n\x3dd(c(n)?n:Object.prototype);var s\x3dFunction.apply.call(e,n,t);return c(s)?s:n}})},{\x22../internals/a-function\x22:5,\x22../internals/an-object\x22:10,\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/function-bind\x22:55,\x22../internals/get-built-in\x22:56,\n\x22../internals/is-object\x22:74,\x22../internals/object-create\x22:90}],180:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n$jscomp$0\x3de$jscomp$0(\x22../internals/descriptors\x22);t$jscomp$0\x3de$jscomp$0(\x22../internals/global\x22);var i$jscomp$0\x3de$jscomp$0(\x22../internals/is-forced\x22),s\x3de$jscomp$0(\x22../internals/inherit-if-required\x22),a\x3de$jscomp$0(\x22../internals/object-define-property\x22).f,l\x3de$jscomp$0(\x22../internals/object-get-own-property-names\x22).f,u\x3de$jscomp$0(\x22../internals/is-regexp\x22),c\x3de$jscomp$0(\x22../internals/regexp-flags\x22),\nd\x3de$jscomp$0(\x22../internals/regexp-sticky-helpers\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/redefine\x22);var h\x3de$jscomp$0(\x22../internals/fails\x22),p\x3de$jscomp$0(\x22../internals/internal-state\x22).set,y\x3de$jscomp$0(\x22../internals/set-species\x22),m\x3de$jscomp$0(\x22../internals/well-known-symbol\x22)(\x22match\x22),g\x3dt$jscomp$0.RegExp,v\x3dg.prototype,b\x3d/a/g,_\x3d/a/g,x\x3dnew g(b)!\x3d\x3db,w\x3dd.UNSUPPORTED_Y;if(n$jscomp$0\x26\x26i$jscomp$0(\x22RegExp\x22,!x||w||h(function(){return _[m]\x3d!1,g(b)!\x3db||g(_)\x3d\x3d_||\x22/a/i\x22!\x3dg(b,\x22i\x22)}))){function j(t){t in S||a(S,t,{configurable:!0,\nget:function(){return g[t]},set:function(e){g[t]\x3de}})}var S\x3dfunction(e,t){var r,n\x3dthis instanceof S,o\x3du(e),i\x3dvoid 0\x3d\x3d\x3dt;if(!n\x26\x26o\x26\x26e.constructor\x3d\x3d\x3dS\x26\x26i)return e;x?o\x26\x26!i\x26\x26(e\x3de.source):e instanceof S\x26\x26(i\x26\x26(t\x3dc.call(e)),e\x3de.source);w\x26\x26(r\x3d!!t\x26\x26-1\x3ct.indexOf(\x22y\x22))\x26\x26(t\x3dt.replace(/y/g,\x22\x22));e\x3ds(x?new g(e,t):g(e,t),n?this:v,S);return w\x26\x26r\x26\x26p(e,{sticky:r}),e};e$jscomp$0\x3dl(g);for(n$jscomp$0\x3d0;e$jscomp$0.length\x3en$jscomp$0;)j(e$jscomp$0[n$jscomp$0++]);(v.constructor\x3dS).prototype\x3dv;r$jscomp$0(t$jscomp$0,\x22RegExp\x22,\nS)}y(\x22RegExp\x22)},{\x22../internals/descriptors\x22:42,\x22../internals/fails\x22:50,\x22../internals/global\x22:59,\x22../internals/inherit-if-required\x22:67,\x22../internals/internal-state\x22:70,\x22../internals/is-forced\x22:73,\x22../internals/is-regexp\x22:76,\x22../internals/object-define-property\x22:92,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/redefine\x22:108,\x22../internals/regexp-flags\x22:111,\x22../internals/regexp-sticky-helpers\x22:112,\x22../internals/set-species\x22:116,\x22../internals/well-known-symbol\x22:146}],181:[function(e,t,\nr){t\x3de(\x22../internals/export\x22);e\x3de(\x22../internals/regexp-exec\x22);t({target:\x22RegExp\x22,proto:!0,forced:/./.exec!\x3d\x3de},{exec:e})},{\x22../internals/export\x22:49,\x22../internals/regexp-exec\x22:110}],182:[function(e$jscomp$0,t,r$jscomp$0){t\x3de$jscomp$0(\x22../internals/redefine\x22);var o\x3de$jscomp$0(\x22../internals/an-object\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);var a\x3de$jscomp$0(\x22../internals/regexp-flags\x22),l\x3dRegExp.prototype,u\x3dl.toString;e$jscomp$0\x3dr$jscomp$0(function(){return\x22/a/b\x22!\x3du.call({source:\x22a\x22,flags:\x22b\x22})});\nr$jscomp$0\x3d\x22toString\x22!\x3du.name;(e$jscomp$0||r$jscomp$0)\x26\x26t(RegExp.prototype,\x22toString\x22,function(){var e\x3do(this),r\x3de.flags;return\x22/\x22+String(e.source)+\x22/\x22+String(void 0\x3d\x3d\x3dr\x26\x26e instanceof RegExp\x26\x26!(\x22flags\x22in l)?a.call(e):r)},{unsafe:!0})},{\x22../internals/an-object\x22:10,\x22../internals/fails\x22:50,\x22../internals/redefine\x22:108,\x22../internals/regexp-flags\x22:111}],183:[function(e$jscomp$0,t$jscomp$0,r){r\x3de$jscomp$0(\x22../internals/collection\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/collection-strong\x22);t$jscomp$0.exports\x3d\nr(\x22Set\x22,function(t){return function(e){return t(this,arguments.length?e:void 0)}},e$jscomp$0)},{\x22../internals/collection\x22:31,\x22../internals/collection-strong\x22:30}],184:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var n$jscomp$0;t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/object-get-own-property-descriptor\x22).f;var s\x3de$jscomp$0(\x22../internals/to-length\x22),l\x3de$jscomp$0(\x22../internals/not-a-regexp\x22),u\x3de$jscomp$0(\x22../internals/require-object-coercible\x22),a\x3de$jscomp$0(\x22../internals/correct-is-regexp-logic\x22);\ne$jscomp$0\x3de$jscomp$0(\x22../internals/is-pure\x22);var d\x3d\x22\x22.endsWith,f\x3dMath.min;a\x3da(\x22endsWith\x22);t$jscomp$0({target:\x22String\x22,proto:!0,forced:!(!e$jscomp$0\x26\x26!a\x26\x26(n$jscomp$0\x3dr$jscomp$0(String.prototype,\x22endsWith\x22))\x26\x26!n$jscomp$0.writable)\x26\x26!a},{endsWith:function(e,t){var r\x3dString(u(this));l(e);var n\x3d1\x3carguments.length?t:void 0,o\x3ds(r.length);n\x3dvoid 0\x3d\x3d\x3dn?o:f(s(n),o);o\x3dString(e);return d?d.call(r,o,n):r.slice(n-o.length,n)\x3d\x3d\x3do}})},{\x22../internals/correct-is-regexp-logic\x22:33,\x22../internals/export\x22:49,\x22../internals/is-pure\x22:75,\n\x22../internals/not-a-regexp\x22:87,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/require-object-coercible\x22:113,\x22../internals/to-length\x22:134}],185:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/not-a-regexp\x22),i\x3de$jscomp$0(\x22../internals/require-object-coercible\x22);t$jscomp$0({target:\x22String\x22,proto:!0,forced:!e$jscomp$0(\x22../internals/correct-is-regexp-logic\x22)(\x22includes\x22)},{includes:function(e,t){return!!~String(i(this)).indexOf(o(e),\n1\x3carguments.length?t:void 0)}})},{\x22../internals/correct-is-regexp-logic\x22:33,\x22../internals/export\x22:49,\x22../internals/not-a-regexp\x22:87,\x22../internals/require-object-coercible\x22:113}],186:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){var o\x3de$jscomp$0(\x22../internals/string-multibyte\x22).charAt;t$jscomp$0\x3de$jscomp$0(\x22../internals/internal-state\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/define-iterator\x22);var s\x3dt$jscomp$0.set,l\x3dt$jscomp$0.getterFor(\x22String Iterator\x22);e$jscomp$0(String,\x22String\x22,function(e){s(this,{type:\x22String Iterator\x22,\nstring:String(e),index:0})},function(){var e,t\x3dl(this),r\x3dt.string,n\x3dt.index;return n\x3e\x3dr.length?{value:void 0,done:!0}:(e\x3do(r,n),t.index+\x3de.length,{value:e,done:!1})})},{\x22../internals/define-iterator\x22:40,\x22../internals/internal-state\x22:70,\x22../internals/string-multibyte\x22:123}],187:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/fix-regexp-well-known-symbol-logic\x22);var d\x3de$jscomp$0(\x22../internals/an-object\x22),f\x3de$jscomp$0(\x22../internals/to-length\x22),o$jscomp$0\x3de$jscomp$0(\x22../internals/require-object-coercible\x22),\nh\x3de$jscomp$0(\x22../internals/advance-string-index\x22),p\x3de$jscomp$0(\x22../internals/regexp-exec-abstract\x22);t$jscomp$0(\x22match\x22,1,function(n,u,c){return[function(e){var t\x3do$jscomp$0(this),r\x3dnull\x3d\x3de?void 0:e[n];return void 0!\x3d\x3dr?r.call(e,t):(new RegExp(e))[n](String(t))},function(e){var t\x3dc(u,e,this);if(t.done)return t.value;e\x3dd(e);t\x3dString(this);if(!e.global)return p(e,t);for(var o,i\x3de.unicode,a\x3d[],s\x3de.lastIndex\x3d0;null!\x3d\x3d(o\x3dp(e,t));)\x22\x22\x3d\x3d\x3d(a[s]\x3dString(o[0]))\x26\x26(e.lastIndex\x3dh(t,f(e.lastIndex),i)),s++;return 0\x3d\x3d\x3d\ns?null:a}]})},{\x22../internals/advance-string-index\x22:8,\x22../internals/an-object\x22:10,\x22../internals/fix-regexp-well-known-symbol-logic\x22:51,\x22../internals/regexp-exec-abstract\x22:109,\x22../internals/require-object-coercible\x22:113,\x22../internals/to-length\x22:134}],188:[function(e,t,r){e(\x22../internals/export\x22)({target:\x22String\x22,proto:!0},{repeat:e(\x22../internals/string-repeat\x22)})},{\x22../internals/export\x22:49,\x22../internals/string-repeat\x22:125}],189:[function(e$jscomp$2,t$jscomp$1,r$jscomp$0){t$jscomp$1\x3de$jscomp$2(\x22../internals/fix-regexp-well-known-symbol-logic\x22);\nvar T\x3de$jscomp$2(\x22../internals/an-object\x22),f\x3de$jscomp$2(\x22../internals/to-object\x22),O\x3de$jscomp$2(\x22../internals/to-length\x22),C\x3de$jscomp$2(\x22../internals/to-integer\x22),i$jscomp$0\x3de$jscomp$2(\x22../internals/require-object-coercible\x22),L\x3de$jscomp$2(\x22../internals/advance-string-index\x22),P\x3de$jscomp$2(\x22../internals/regexp-exec-abstract\x22),A\x3dMath.max,k\x3dMath.min,h\x3dMath.floor,p$jscomp$0\x3d/\\$([$\x26\x27`]|\\d\\d?|\x3c[^\x3e]*\x3e)/g,y$jscomp$0\x3d/\\$([$\x26\x27`]|\\d\\d?)/g;t$jscomp$1(\x22replace\x22,2,function(o,x,w,e$jscomp$1){function E(i,a,s,l,u,e$jscomp$0){var c\x3d\ns+i.length,d\x3dl.length,t$jscomp$0\x3dy$jscomp$0;return void 0!\x3d\x3du\x26\x26(u\x3df(u),t$jscomp$0\x3dp$jscomp$0),x.call(e$jscomp$0,t$jscomp$0,function(e,t){switch(t.charAt(0)){case \x22$\x22:return\x22$\x22;case \x22\\x26\x22:return i;case \x22`\x22:return a.slice(0,s);case \x22\x27\x22:return a.slice(c);case \x22\\x3c\x22:e\x3du[t.slice(1,-1)];break;default:var n\x3d+t;if(0\x3d\x3dn)return e;if(d\x3cn)return n\x3dh(n/10),0\x3d\x3d\x3dn?e:n\x3c\x3dd?void 0\x3d\x3d\x3dl[n-1]?t.charAt(1):l[n-1]+t.charAt(1):e;e\x3dl[n-1]}return void 0\x3d\x3d\x3de?\x22\x22:e})}var j\x3de$jscomp$1.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,\nS\x3de$jscomp$1.REPLACE_KEEPS_$0,M\x3dj?\x22$\x22:\x22$0\x22;return[function(e,t){var r\x3di$jscomp$0(this),n\x3dnull\x3d\x3de?void 0:e[o];return void 0!\x3d\x3dn?n.call(e,r,t):x.call(String(r),e,t)},function(e,t){if(!j\x26\x26S||\x22string\x22\x3d\x3dtypeof t\x26\x26-1\x3d\x3d\x3dt.indexOf(M)){var r\x3dw(x,e,this,t);if(r.done)return r.value}var n\x3dT(e);e\x3dString(this);(r\x3d\x22function\x22\x3d\x3dtypeof t)||(t\x3dString(t));var a\x3dn.global;if(a){var s\x3dn.unicode;n.lastIndex\x3d0}for(var l\x3d[];;){var u\x3dP(n,e);if(null\x3d\x3d\x3du)break;if(l.push(u),!a)break;\x22\x22\x3d\x3d\x3dString(u[0])\x26\x26(n.lastIndex\x3dL(e,O(n.lastIndex),\ns))}var c;s\x3d\x22\x22;for(a\x3dn\x3d0;a\x3cl.length;a++){u\x3dl[a];for(var p\x3dString(u[0]),y\x3dA(k(C(u.index),e.length),0),m\x3d[],g\x3d1;g\x3cu.length;g++)m.push(void 0\x3d\x3d\x3d(c\x3du[g])?c:String(c));u\x3du.groups;r?(m\x3d[p].concat(m,y,e),void 0!\x3d\x3du\x26\x26m.push(u),u\x3dString(t.apply(void 0,m))):u\x3dE(p,e,y,m,u,t);n\x3c\x3dy\x26\x26(s+\x3de.slice(n,y)+u,n\x3dy+p.length)}return s+e.slice(n)}]})},{\x22../internals/advance-string-index\x22:8,\x22../internals/an-object\x22:10,\x22../internals/fix-regexp-well-known-symbol-logic\x22:51,\x22../internals/regexp-exec-abstract\x22:109,\x22../internals/require-object-coercible\x22:113,\n\x22../internals/to-integer\x22:133,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135}],190:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/fix-regexp-well-known-symbol-logic\x22);var l\x3de$jscomp$0(\x22../internals/an-object\x22),o\x3de$jscomp$0(\x22../internals/require-object-coercible\x22),u\x3de$jscomp$0(\x22../internals/same-value\x22),c\x3de$jscomp$0(\x22../internals/regexp-exec-abstract\x22);t$jscomp$0(\x22search\x22,1,function(n$jscomp$0,a,s){return[function(e){var t\x3do(this),r\x3dnull\x3d\x3de?void 0:e[n$jscomp$0];\nreturn void 0!\x3d\x3dr?r.call(e,t):(new RegExp(e))[n$jscomp$0](String(t))},function(e){var t\x3ds(a,e,this);if(t.done)return t.value;e\x3dl(e);var n\x3dString(this);t\x3de.lastIndex;u(t,0)||(e.lastIndex\x3d0);n\x3dc(e,n);return u(e.lastIndex,t)||(e.lastIndex\x3dt),null\x3d\x3d\x3dn?-1:n.index}]})},{\x22../internals/an-object\x22:10,\x22../internals/fix-regexp-well-known-symbol-logic\x22:51,\x22../internals/regexp-exec-abstract\x22:109,\x22../internals/require-object-coercible\x22:113,\x22../internals/same-value\x22:114}],191:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3d\ne$jscomp$0(\x22../internals/fix-regexp-well-known-symbol-logic\x22);var d$jscomp$0\x3de$jscomp$0(\x22../internals/is-regexp\x22),b\x3de$jscomp$0(\x22../internals/an-object\x22),f\x3de$jscomp$0(\x22../internals/require-object-coercible\x22),_\x3de$jscomp$0(\x22../internals/species-constructor\x22),x\x3de$jscomp$0(\x22../internals/advance-string-index\x22),w\x3de$jscomp$0(\x22../internals/to-length\x22),j\x3de$jscomp$0(\x22../internals/regexp-exec-abstract\x22),h$jscomp$0\x3de$jscomp$0(\x22../internals/regexp-exec\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);var p$jscomp$0\x3d\n[].push,S\x3dMath.min,E\x3d!e$jscomp$0(function(){return!RegExp(4294967295,\x22y\x22)});t$jscomp$0(\x22split\x22,2,function(o$jscomp$0,m,g){var v;return v\x3d\x22c\x22\x3d\x3d\x22abbc\x22.split(/(b)*/)[1]||4!\x3d\x22test\x22.split(/(?:)/,-1).length||2!\x3d\x22ab\x22.split(/(?:ab)*/).length||4!\x3d\x22.\x22.split(/(.?)(.?)/).length||1\x3c\x22.\x22.split(/()()/).length||\x22\x22.split(/.?/).length?function(e,t){var r\x3dString(f(this));t\x3dvoid 0\x3d\x3d\x3dt?4294967295:t\x3e\x3e\x3e0;if(0\x3d\x3dt)return[];if(void 0\x3d\x3d\x3de)return[r];if(!d$jscomp$0(e))return m.call(r,e,t);var o,i,a,s\x3d[],u\x3d0;for(e\x3dnew RegExp(e.source,\n(e.ignoreCase?\x22i\x22:\x22\x22)+(e.multiline?\x22m\x22:\x22\x22)+(e.unicode?\x22u\x22:\x22\x22)+(e.sticky?\x22y\x22:\x22\x22)+\x22g\x22);(o\x3dh$jscomp$0.call(e,r))\x26\x26!(u\x3c(i\x3de.lastIndex)\x26\x26(s.push(r.slice(u,o.index)),1\x3co.length\x26\x26o.index\x3cr.length\x26\x26p$jscomp$0.apply(s,o.slice(1)),a\x3do[0].length,u\x3di,s.length\x3e\x3dt));)e.lastIndex\x3d\x3d\x3do.index\x26\x26e.lastIndex++;return u\x3d\x3d\x3dr.length?!a\x26\x26e.test(\x22\x22)||s.push(\x22\x22):s.push(r.slice(u)),s.length\x3et?s.slice(0,t):s}:\x220\x22.split(void 0,0).length?function(e,t){return void 0\x3d\x3d\x3de\x26\x260\x3d\x3d\x3dt?[]:m.call(this,e,t)}:m,[function(e,t){var r\x3df(this),\nn\x3dnull\x3d\x3de?void 0:e[o$jscomp$0];return void 0!\x3d\x3dn?n.call(e,r,t):v.call(String(r),e,t)},function(e,t){var r\x3dg(v,e,this,t,v!\x3d\x3dm);if(r.done)return r.value;var n\x3db(e);e\x3dString(this);var i\x3d_(n,RegExp);r\x3dn.unicode;n\x3dnew i(E?n:\x22^(?:\x22+n.source+\x22)\x22,(n.ignoreCase?\x22i\x22:\x22\x22)+(n.multiline?\x22m\x22:\x22\x22)+(n.unicode?\x22u\x22:\x22\x22)+(E?\x22y\x22:\x22g\x22));t\x3dvoid 0\x3d\x3d\x3dt?4294967295:t\x3e\x3e\x3e0;if(0\x3d\x3dt)return[];if(0\x3d\x3d\x3de.length)return null\x3d\x3d\x3dj(n,e)?[e]:[];var c\x3d0,d\x3d0;for(i\x3d[];d\x3ce.length;){n.lastIndex\x3dE?d:0;var h,p\x3dj(n,E?e:e.slice(d));if(null\x3d\x3d\x3dp||(h\x3d\nS(w(n.lastIndex+(E?0:d)),e.length))\x3d\x3d\x3dc)d\x3dx(e,d,r);else{if(i.push(e.slice(c,d)),i.length\x3d\x3d\x3dt)return i;for(c\x3d1;c\x3c\x3dp.length-1;c++)if(i.push(p[c]),i.length\x3d\x3d\x3dt)return i;d\x3dc\x3dh}}return i.push(e.slice(c)),i}]},!E)},{\x22../internals/advance-string-index\x22:8,\x22../internals/an-object\x22:10,\x22../internals/fails\x22:50,\x22../internals/fix-regexp-well-known-symbol-logic\x22:51,\x22../internals/is-regexp\x22:76,\x22../internals/regexp-exec\x22:110,\x22../internals/regexp-exec-abstract\x22:109,\x22../internals/require-object-coercible\x22:113,\x22../internals/species-constructor\x22:121,\n\x22../internals/to-length\x22:134}],192:[function(e,t,r){t\x3de(\x22../internals/export\x22);var o\x3de(\x22../internals/create-html\x22);t({target:\x22String\x22,proto:!0,forced:e(\x22../internals/string-html-forced\x22)(\x22sub\x22)},{sub:function(){return o(this,\x22sub\x22,\x22\x22,\x22\x22)}})},{\x22../internals/create-html\x22:35,\x22../internals/export\x22:49,\x22../internals/string-html-forced\x22:122}],193:[function(e,t,r){t\x3de(\x22../internals/export\x22);var o\x3de(\x22../internals/string-trim\x22).trim;t({target:\x22String\x22,proto:!0,forced:e(\x22../internals/string-trim-forced\x22)(\x22trim\x22)},\n{trim:function(){return o(this)}})},{\x22../internals/export\x22:49,\x22../internals/string-trim\x22:127,\x22../internals/string-trim-forced\x22:126}],194:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/export\x22);var o\x3de$jscomp$0(\x22../internals/descriptors\x22),i\x3de$jscomp$0(\x22../internals/global\x22),a\x3de$jscomp$0(\x22../internals/has\x22),s\x3de$jscomp$0(\x22../internals/is-object\x22);r$jscomp$0\x3de$jscomp$0(\x22../internals/object-define-property\x22).f;e$jscomp$0\x3de$jscomp$0(\x22../internals/copy-constructor-properties\x22);\nvar c\x3di.Symbol;if(o\x26\x26\x22function\x22\x3d\x3dtypeof c\x26\x26!(\x22description\x22in c.prototype\x26\x26void 0\x3d\x3d\x3dc().description)){var d\x3d{},f\x3dfunction(e){var t\x3d1\x3earguments.length||void 0\x3d\x3d\x3de?void 0:String(e),r\x3dthis instanceof f?new c(t):void 0\x3d\x3d\x3dt?c():c(t);return\x22\x22\x3d\x3d\x3dt\x26\x26(d[r]\x3d!0),r};e$jscomp$0(f,c);e$jscomp$0\x3df.prototype\x3dc.prototype;e$jscomp$0.constructor\x3df;var p\x3de$jscomp$0.toString,y\x3d\x22Symbol(test)\x22\x3d\x3dString(c(\x22test\x22)),m\x3d/^Symbol\\((.*)\\)[^)]+$/;r$jscomp$0(e$jscomp$0,\x22description\x22,{configurable:!0,get:function(){var e\x3ds(this)?this.valueOf():\nthis,t\x3dp.call(e);if(a(d,e))return\x22\x22;e\x3dy?t.slice(7,-1):t.replace(m,\x22$1\x22);return\x22\x22\x3d\x3d\x3de?void 0:e}});t$jscomp$0({global:!0,forced:!0},{Symbol:f})}},{\x22../internals/copy-constructor-properties\x22:32,\x22../internals/descriptors\x22:42,\x22../internals/export\x22:49,\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/is-object\x22:74,\x22../internals/object-define-property\x22:92}],195:[function(e,t,r){e(\x22../internals/define-well-known-symbol\x22)(\x22iterator\x22)},{\x22../internals/define-well-known-symbol\x22:41}],196:[function(e$jscomp$1,\nt$jscomp$1,r$jscomp$0){function o$jscomp$0(e,t){var r\x3dre[e]\x3dj(Q[W]);return X(r,{type:H,tag:e,description:t}),d||(r.description\x3dt),r}function n$jscomp$0(t,e$jscomp$0){v(t);var r\x3d_(e$jscomp$0);e$jscomp$0\x3dS(r).concat(he(r));return V(e$jscomp$0,function(e){d\x26\x26!fe.call(r,e)||de(t,e,r[e])}),t}function i$jscomp$0(e,t){e\x3d_(e);t\x3dx(t,!0);if(e!\x3d\x3dZ||!y(re,t)||y(ne,t)){var o\x3dJ(e,t);return!o||!y(re,t)||y(e,z)\x26\x26e[z][t]||(o.enumerable\x3d!0),o}}function a(e$jscomp$0){e$jscomp$0\x3dee(_(e$jscomp$0));var r\x3d[];return V(e$jscomp$0,\nfunction(e){y(re,e)||y(D,e)||r.push(e)}),r}t$jscomp$1\x3de$jscomp$1(\x22../internals/export\x22);var l\x3de$jscomp$1(\x22../internals/global\x22),u\x3de$jscomp$1(\x22../internals/get-built-in\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/is-pure\x22);var d\x3de$jscomp$1(\x22../internals/descriptors\x22),f\x3de$jscomp$1(\x22../internals/native-symbol\x22),h\x3de$jscomp$1(\x22../internals/use-symbol-as-uid\x22),p\x3de$jscomp$1(\x22../internals/fails\x22),y\x3de$jscomp$1(\x22../internals/has\x22),m\x3de$jscomp$1(\x22../internals/is-array\x22),g\x3de$jscomp$1(\x22../internals/is-object\x22),v\x3de$jscomp$1(\x22../internals/an-object\x22),\nb\x3de$jscomp$1(\x22../internals/to-object\x22),_\x3de$jscomp$1(\x22../internals/to-indexed-object\x22),x\x3de$jscomp$1(\x22../internals/to-primitive\x22),w\x3de$jscomp$1(\x22../internals/create-property-descriptor\x22),j\x3de$jscomp$1(\x22../internals/object-create\x22),S\x3de$jscomp$1(\x22../internals/object-keys\x22),M\x3de$jscomp$1(\x22../internals/object-get-own-property-names\x22),E\x3de$jscomp$1(\x22../internals/object-get-own-property-names-external\x22),T\x3de$jscomp$1(\x22../internals/object-get-own-property-symbols\x22),O\x3de$jscomp$1(\x22../internals/object-get-own-property-descriptor\x22),\nC\x3de$jscomp$1(\x22../internals/object-define-property\x22),L\x3de$jscomp$1(\x22../internals/object-property-is-enumerable\x22),P\x3de$jscomp$1(\x22../internals/create-non-enumerable-property\x22),A\x3de$jscomp$1(\x22../internals/redefine\x22),k\x3de$jscomp$1(\x22../internals/shared\x22),R\x3de$jscomp$1(\x22../internals/shared-key\x22),D\x3de$jscomp$1(\x22../internals/hidden-keys\x22),I\x3de$jscomp$1(\x22../internals/uid\x22),U\x3de$jscomp$1(\x22../internals/well-known-symbol\x22),N\x3de$jscomp$1(\x22../internals/well-known-symbol-wrapped\x22),F\x3de$jscomp$1(\x22../internals/define-well-known-symbol\x22),\nB\x3de$jscomp$1(\x22../internals/set-to-string-tag\x22),G\x3de$jscomp$1(\x22../internals/internal-state\x22),V\x3de$jscomp$1(\x22../internals/array-iteration\x22).forEach,z\x3dR(\x22hidden\x22),H\x3d\x22Symbol\x22,W\x3d\x22prototype\x22;e$jscomp$1\x3dU(\x22toPrimitive\x22);var X\x3dG.set,Y\x3dG.getterFor(H),Z\x3dObject[W],Q\x3dl.Symbol,K\x3du(\x22JSON\x22,\x22stringify\x22),J\x3dO.f,$\x3dC.f,ee\x3dE.f,te\x3dL.f,re\x3dk(\x22symbols\x22),ne\x3dk(\x22op-symbols\x22),oe\x3dk(\x22string-to-symbol-registry\x22),ie\x3dk(\x22symbol-to-string-registry\x22);u\x3dk(\x22wks\x22);l\x3dl.QObject;var le\x3d!l||!l[W]||!l[W].findChild,ue\x3dd\x26\x26p(function(){return 7!\x3d\nj($({},\x22a\x22,{get:function(){return $(this,\x22a\x22,{value:7}).a}})).a})?function(e,t,r){var n\x3dJ(Z,t);n\x26\x26delete Z[t];$(e,t,r);n\x26\x26e!\x3d\x3dZ\x26\x26$(Z,t,n)}:$,ce\x3dh?function(e){return\x22symbol\x22\x3d\x3dtypeof e}:function(e){return Object(e)instanceof Q},de\x3dfunction(e,t,r){e\x3d\x3d\x3dZ\x26\x26de(ne,t,r);v(e);t\x3dx(t,!0);return v(r),y(re,t)?(r.enumerable?(y(e,z)\x26\x26e[z][t]\x26\x26(e[z][t]\x3d!1),r\x3dj(r,{enumerable:w(0,!1)})):(y(e,z)||$(e,z,w(1,{})),e[z][t]\x3d!0),ue(e,t,r)):$(e,t,r)},fe\x3dfunction(e){e\x3dx(e,!0);var r\x3dte.call(this,e);return!(this\x3d\x3d\x3dZ\x26\x26y(re,e)\x26\x26\n!y(ne,e))\x26\x26(!(r||!y(this,e)||!y(re,e)||y(this,z)\x26\x26this[z][e])||r)},he\x3dfunction(e$jscomp$0){var t\x3de$jscomp$0\x3d\x3d\x3dZ;e$jscomp$0\x3dee(t?ne:_(e$jscomp$0));var n\x3d[];return V(e$jscomp$0,function(e){!y(re,e)||t\x26\x26!y(Z,e)||n.push(re[e])}),n};f||(A((Q\x3dfunction(e$jscomp$0){if(this instanceof Q)throw TypeError(\x22Symbol is not a constructor\x22);var t\x3darguments.length\x26\x26void 0!\x3d\x3de$jscomp$0?String(e$jscomp$0):void 0,r\x3dI(t),n\x3dfunction(e){this\x3d\x3d\x3dZ\x26\x26n.call(ne,e);y(this,z)\x26\x26y(this[z],r)\x26\x26(this[z][r]\x3d!1);ue(this,r,w(1,e))};return d\x26\x26\nle\x26\x26ue(Z,r,{configurable:!0,set:n}),o$jscomp$0(r,t)})[W],\x22toString\x22,function(){return Y(this).tag}),A(Q,\x22withoutSetter\x22,function(e){return o$jscomp$0(I(e),e)}),L.f\x3dfe,C.f\x3dde,O.f\x3di$jscomp$0,M.f\x3dE.f\x3da,T.f\x3dhe,N.f\x3dfunction(e){return o$jscomp$0(U(e),e)},d\x26\x26($(Q[W],\x22description\x22,{configurable:!0,get:function(){return Y(this).description}}),r$jscomp$0||A(Z,\x22propertyIsEnumerable\x22,fe,{unsafe:!0})));t$jscomp$1({global:!0,wrap:!0,forced:!f,sham:!f},{Symbol:Q});V(S(u),function(e){F(e)});t$jscomp$1({target:H,\nstat:!0,forced:!f},{for:function(e){e\x3dString(e);if(y(oe,e))return oe[e];var r\x3dQ(e);return oe[e]\x3dr,ie[r]\x3de,r},keyFor:function(e){if(!ce(e))throw TypeError(e+\x22 is not a symbol\x22);if(y(ie,e))return ie[e]},useSetter:function(){le\x3d!0},useSimple:function(){le\x3d!1}});t$jscomp$1({target:\x22Object\x22,stat:!0,forced:!f,sham:!d},{create:function(e,t){return void 0\x3d\x3d\x3dt?j(e):n$jscomp$0(j(e),t)},defineProperty:de,defineProperties:n$jscomp$0,getOwnPropertyDescriptor:i$jscomp$0});t$jscomp$1({target:\x22Object\x22,stat:!0,forced:!f},\n{getOwnPropertyNames:a,getOwnPropertySymbols:he});t$jscomp$1({target:\x22Object\x22,stat:!0,forced:p(function(){T.f(1)})},{getOwnPropertySymbols:function(e){return T.f(b(e))}});K\x26\x26t$jscomp$1({target:\x22JSON\x22,stat:!0,forced:!f||p(function(){var e\x3dQ();return\x22[null]\x22!\x3dK([e])||\x22{}\x22!\x3dK({a:e})||\x22{}\x22!\x3dK(Object(e))})},{stringify:function(e$jscomp$0,t$jscomp$0,r){for(var n,o\x3d[e$jscomp$0],i\x3d1;i\x3carguments.length;)o.push(arguments[i++]);if((g(n\x3dt$jscomp$0)||void 0!\x3d\x3de$jscomp$0)\x26\x26!ce(e$jscomp$0))return m(t$jscomp$0)||\n(t$jscomp$0\x3dfunction(e,t){if(\x22function\x22\x3d\x3dtypeof n\x26\x26(t\x3dn.call(this,e,t)),!ce(t))return t}),o[1]\x3dt$jscomp$0,K.apply(null,o)}});Q[W][e$jscomp$1]||P(Q[W],e$jscomp$1,Q[W].valueOf);B(Q,H);D[z]\x3d!0},{\x22../internals/an-object\x22:10,\x22../internals/array-iteration\x22:19,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/create-property-descriptor\x22:38,\x22../internals/define-well-known-symbol\x22:41,\x22../internals/descriptors\x22:42,\x22../internals/export\x22:49,\x22../internals/fails\x22:50,\x22../internals/get-built-in\x22:56,\n\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/hidden-keys\x22:61,\x22../internals/internal-state\x22:70,\x22../internals/is-array\x22:72,\x22../internals/is-object\x22:74,\x22../internals/is-pure\x22:75,\x22../internals/native-symbol\x22:83,\x22../internals/object-create\x22:90,\x22../internals/object-define-property\x22:92,\x22../internals/object-get-own-property-descriptor\x22:93,\x22../internals/object-get-own-property-names\x22:95,\x22../internals/object-get-own-property-names-external\x22:94,\x22../internals/object-get-own-property-symbols\x22:96,\n\x22../internals/object-keys\x22:99,\x22../internals/object-property-is-enumerable\x22:100,\x22../internals/redefine\x22:108,\x22../internals/set-to-string-tag\x22:117,\x22../internals/shared\x22:120,\x22../internals/shared-key\x22:118,\x22../internals/to-indexed-object\x22:132,\x22../internals/to-object\x22:135,\x22../internals/to-primitive\x22:138,\x22../internals/uid\x22:143,\x22../internals/use-symbol-as-uid\x22:144,\x22../internals/well-known-symbol\x22:146,\x22../internals/well-known-symbol-wrapped\x22:145}],197:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3d\ne$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-copy-within\x22),i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22copyWithin\x22,function(e,t,r){return o.call(i(this),e,t,2\x3carguments.length?r:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-copy-within\x22:14}],198:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).every,i\x3dt$jscomp$0.aTypedArray;\n(0,t$jscomp$0.exportTypedArrayMethod)(\x22every\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19}],199:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-fill\x22),i\x3dt.aTypedArray;(0,t.exportTypedArrayMethod)(\x22fill\x22,function(e){return o.apply(i(this),arguments)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-fill\x22:15}],200:[function(e$jscomp$0,\nt$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var s\x3de$jscomp$0(\x22../internals/array-iteration\x22).filter,l\x3de$jscomp$0(\x22../internals/species-constructor\x22),u\x3dt$jscomp$0.aTypedArray,c\x3dt$jscomp$0.aTypedArrayConstructor;(0,t$jscomp$0.exportTypedArrayMethod)(\x22filter\x22,function(e,t){var r\x3ds(u(this),e,1\x3carguments.length?t:void 0),n\x3dl(this,this.constructor),o\x3d0,i\x3dr.length;for(n\x3dnew (c(n))(i);o\x3ci;)n[o]\x3dr[o++];return n})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19,\n\x22../internals/species-constructor\x22:121}],201:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).findIndex,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22findIndex\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19}],202:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);\nvar o\x3de$jscomp$0(\x22../internals/array-iteration\x22).find,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22find\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19}],203:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Float32\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],204:[function(e$jscomp$0,\nt$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Float64\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],205:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-iteration\x22).forEach,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22forEach\x22,function(e,t){o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\n\x22../internals/array-iteration\x22:19}],206:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-includes\x22).includes,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22includes\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-includes\x22:18}],207:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);\nvar o\x3de$jscomp$0(\x22../internals/array-includes\x22).indexOf,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22indexOf\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-includes\x22:18}],208:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Int16\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],209:[function(e$jscomp$0,\nt$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Int32\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],210:[function(e,t,r){function n(){return u.call(f(this))}var o\x3de(\x22../internals/global\x22);t\x3de(\x22../internals/array-buffer-view-core\x22);r\x3de(\x22../modules/es.array.iterator\x22);e\x3de(\x22../internals/well-known-symbol\x22)(\x22iterator\x22);o\x3do.Uint8Array;var u\x3dr.values,c\x3dr.keys,d\x3dr.entries,f\x3dt.aTypedArray;t\x3dt.exportTypedArrayMethod;r\x3d\no\x26\x26o.prototype[e];r\x3d!!r\x26\x26(\x22values\x22\x3d\x3dr.name||null\x3d\x3dr.name);t(\x22entries\x22,function(){return d.call(f(this))});t(\x22keys\x22,function(){return c.call(f(this))});t(\x22values\x22,n,!r);t(e,n,!r)},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/global\x22:59,\x22../internals/well-known-symbol\x22:146,\x22../modules/es.array.iterator\x22:158}],211:[function(e$jscomp$0,t,r){e$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0.aTypedArray;e$jscomp$0\x3de$jscomp$0.exportTypedArrayMethod;var a\x3d[].join;e$jscomp$0(\x22join\x22,\nfunction(e){return a.apply(o(this),arguments)})},{\x22../internals/array-buffer-view-core\x22:12}],212:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-last-index-of\x22),i\x3dt.aTypedArray;(0,t.exportTypedArrayMethod)(\x22lastIndexOf\x22,function(e){return o.apply(i(this),arguments)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-last-index-of\x22:20}],213:[function(e$jscomp$1,t$jscomp$1,r){t$jscomp$1\x3de$jscomp$1(\x22../internals/array-buffer-view-core\x22);\nvar o\x3de$jscomp$1(\x22../internals/array-iteration\x22).map,i\x3de$jscomp$1(\x22../internals/species-constructor\x22),a\x3dt$jscomp$1.aTypedArray,s\x3dt$jscomp$1.aTypedArrayConstructor;(0,t$jscomp$1.exportTypedArrayMethod)(\x22map\x22,function(e$jscomp$0,t$jscomp$0){return o(a(this),e$jscomp$0,1\x3carguments.length?t$jscomp$0:void 0,function(e,t){return new (s(i(e,e.constructor)))(t)})})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19,\x22../internals/species-constructor\x22:121}],214:[function(e$jscomp$0,\nt$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-reduce\x22).right,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22reduceRight\x22,function(e,t){return o(i(this),e,arguments.length,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-reduce\x22:24}],215:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0(\x22../internals/array-reduce\x22).left,\ni\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22reduce\x22,function(e,t){return o(i(this),e,arguments.length,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-reduce\x22:24}],216:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0.aTypedArray;e$jscomp$0\x3de$jscomp$0.exportTypedArrayMethod;var a\x3dMath.floor;e$jscomp$0(\x22reverse\x22,function(){for(var e,t\x3do(this).length,r\x3da(t/2),n\x3d0;n\x3c\nr;)e\x3dthis[n],this[n++]\x3dthis[--t],this[t]\x3de;return this})},{\x22../internals/array-buffer-view-core\x22:12}],217:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var s\x3de$jscomp$0(\x22../internals/to-length\x22),l\x3de$jscomp$0(\x22../internals/to-offset\x22),u\x3de$jscomp$0(\x22../internals/to-object\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);var c\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22set\x22,function(e,t){c(this);var r\x3dl(1\x3carguments.length?t:void 0,\n1),n\x3dthis.length,o\x3du(e),i\x3ds(o.length),a\x3d0;if(n\x3ci+r)throw RangeError(\x22Wrong length\x22);for(;a\x3ci;)this[r+a]\x3do[a++]},e$jscomp$0(function(){(new Int8Array(1)).set({})}))},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/fails\x22:50,\x22../internals/to-length\x22:134,\x22../internals/to-object\x22:135,\x22../internals/to-offset\x22:136}],218:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var s\x3de$jscomp$0(\x22../internals/species-constructor\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/fails\x22);\nvar l\x3dt$jscomp$0.aTypedArray,u\x3dt$jscomp$0.aTypedArrayConstructor;t$jscomp$0\x3dt$jscomp$0.exportTypedArrayMethod;var c\x3d[].slice;t$jscomp$0(\x22slice\x22,function(e,t){e\x3dc.call(l(this),e,t);var n\x3ds(this,this.constructor);t\x3d0;var i\x3de.length;for(n\x3dnew (u(n))(i);t\x3ci;)n[t]\x3de[t++];return n},e$jscomp$0(function(){(new Int8Array(1)).slice()}))},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/fails\x22:50,\x22../internals/species-constructor\x22:121}],219:[function(e$jscomp$0,t$jscomp$0,r){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);\nvar o\x3de$jscomp$0(\x22../internals/array-iteration\x22).some,i\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22some\x22,function(e,t){return o(i(this),e,1\x3carguments.length?t:void 0)})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/array-iteration\x22:19}],220:[function(e$jscomp$0,t,r){e$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var o\x3de$jscomp$0.aTypedArray;e$jscomp$0\x3de$jscomp$0.exportTypedArrayMethod;var a\x3d[].sort;e$jscomp$0(\x22sort\x22,function(e){return a.call(o(this),e)})},\n{\x22../internals/array-buffer-view-core\x22:12}],221:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){t$jscomp$0\x3de$jscomp$0(\x22../internals/array-buffer-view-core\x22);var i\x3de$jscomp$0(\x22../internals/to-length\x22),a\x3de$jscomp$0(\x22../internals/to-absolute-index\x22),s\x3de$jscomp$0(\x22../internals/species-constructor\x22),l\x3dt$jscomp$0.aTypedArray;(0,t$jscomp$0.exportTypedArrayMethod)(\x22subarray\x22,function(e,t){var r\x3dl(this),n\x3dr.length;e\x3da(e,n);return new (s(r,r.constructor))(r.buffer,r.byteOffset+e*r.BYTES_PER_ELEMENT,i((void 0\x3d\x3d\x3d\nt?n:a(t,n))-e))})},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/species-constructor\x22:121,\x22../internals/to-absolute-index\x22:130,\x22../internals/to-length\x22:134}],222:[function(e,t,r){t\x3de(\x22../internals/global\x22);r\x3de(\x22../internals/array-buffer-view-core\x22);e\x3de(\x22../internals/fails\x22);var a\x3dt.Int8Array,s\x3dr.aTypedArray;t\x3dr.exportTypedArrayMethod;var u\x3d[].toLocaleString,c\x3d[].slice,d\x3d!!a\x26\x26e(function(){u.call(new a(1))});t(\x22toLocaleString\x22,function(){return u.apply(d?c.call(s(this)):s(this),arguments)},\ne(function(){return[1,2].toLocaleString()!\x3d(new a([1,2])).toLocaleString()})||!e(function(){a.prototype.toLocaleString.call([1,2])}))},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/fails\x22:50,\x22../internals/global\x22:59}],223:[function(e,t,r){t\x3de(\x22../internals/array-buffer-view-core\x22).exportTypedArrayMethod;r\x3de(\x22../internals/fails\x22);e\x3d(e\x3de(\x22../internals/global\x22).Uint8Array)\x26\x26e.prototype||{};var s\x3d[].toString,l\x3d[].join;r(function(){s.call({})})\x26\x26(s\x3dfunction(){return l.call(this)});t(\x22toString\x22,\ns,e.toString!\x3ds)},{\x22../internals/array-buffer-view-core\x22:12,\x22../internals/fails\x22:50,\x22../internals/global\x22:59}],224:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Uint16\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],225:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Uint32\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],\n226:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Uint8\x22,function(n){return function(e,t,r){return n(this,e,t,r)}})},{\x22../internals/typed-array-constructor\x22:140}],227:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22../internals/typed-array-constructor\x22)(\x22Uint8\x22,function(n){return function(e,t,r){return n(this,e,t,r)}},!0)},{\x22../internals/typed-array-constructor\x22:140}],228:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/global\x22);var o\x3d\ne$jscomp$0(\x22../internals/dom-iterables\x22);r\x3de$jscomp$0(\x22../internals/array-for-each\x22);e$jscomp$0\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22);for(var s in o)if((o\x3d(o\x3dt[s])\x26\x26o.prototype)\x26\x26o.forEach!\x3d\x3dr)try{e$jscomp$0(o,\x22forEach\x22,r)}catch(e){o.forEach\x3dr}},{\x22../internals/array-for-each\x22:16,\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/dom-iterables\x22:44,\x22../internals/global\x22:59}],229:[function(e$jscomp$0,t,r){t\x3de$jscomp$0(\x22../internals/global\x22);r\x3de$jscomp$0(\x22../internals/dom-iterables\x22);\nvar i\x3de$jscomp$0(\x22../modules/es.array.iterator\x22),a\x3de$jscomp$0(\x22../internals/create-non-enumerable-property\x22),s\x3de$jscomp$0(\x22../internals/well-known-symbol\x22);e$jscomp$0\x3ds(\x22iterator\x22);s\x3ds(\x22toStringTag\x22);var c\x3di.values,d;for(d in r){var f\x3dt[d];if(f\x3df\x26\x26f.prototype){if(f[e$jscomp$0]!\x3d\x3dc)try{a(f,e$jscomp$0,c)}catch(e){f[e$jscomp$0]\x3dc}if(f[s]||a(f,s,d),r[d])for(var p in i)if(f[p]!\x3d\x3di[p])try{a(f,p,i[p])}catch(e){f[p]\x3di[p]}}}},{\x22../internals/create-non-enumerable-property\x22:37,\x22../internals/dom-iterables\x22:44,\n\x22../internals/global\x22:59,\x22../internals/well-known-symbol\x22:146,\x22../modules/es.array.iterator\x22:158}],230:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function o$jscomp$0(t){try{return decodeURIComponent(t)}catch(e){return t}}function a$jscomp$0(e$jscomp$0){var t;e$jscomp$0\x3de$jscomp$0.replace(U,\x22 \x22);var n\x3d4;try{return decodeURIComponent(e$jscomp$0)}catch(e){for(;n;)e$jscomp$0\x3de$jscomp$0.replace((t\x3dn--,N[t-1]||(N[t-1]\x3dRegExp(\x22((?:%[\\\\da-f]{2}){\x22+t+\x22})\x22,\x22gi\x22))),o$jscomp$0);return e$jscomp$0}}function n$jscomp$0(e){return B[e]}\nfunction f(e,t){if(t){var r,n;t\x3dt.split(\x22\\x26\x22);for(var i\x3d0;i\x3ct.length;)(r\x3dt[i++]).length\x26\x26(n\x3dr.split(\x22\\x3d\x22),e.push({key:a$jscomp$0(n.shift()),value:a$jscomp$0(n.join(\x22\\x3d\x22))}))}}function h(e){this.entries.length\x3d0;f(this.entries,e)}function u(e,t){if(e\x3ct)throw TypeError(\x22Not enough arguments\x22);}e$jscomp$1(\x22../modules/es.array.iterator\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/export\x22);var l$jscomp$0\x3de$jscomp$1(\x22../internals/get-built-in\x22),c\x3de$jscomp$1(\x22../internals/native-url\x22),d$jscomp$0\x3de$jscomp$1(\x22../internals/redefine\x22),\np\x3de$jscomp$1(\x22../internals/redefine-all\x22),y\x3de$jscomp$1(\x22../internals/set-to-string-tag\x22),m\x3de$jscomp$1(\x22../internals/create-iterator-constructor\x22),g\x3de$jscomp$1(\x22../internals/internal-state\x22),v\x3de$jscomp$1(\x22../internals/an-instance\x22),b\x3de$jscomp$1(\x22../internals/has\x22),_\x3de$jscomp$1(\x22../internals/function-bind-context\x22),x\x3de$jscomp$1(\x22../internals/classof\x22),w\x3de$jscomp$1(\x22../internals/an-object\x22),j\x3de$jscomp$1(\x22../internals/is-object\x22),S\x3de$jscomp$1(\x22../internals/object-create\x22),M\x3de$jscomp$1(\x22../internals/create-property-descriptor\x22),\nE\x3de$jscomp$1(\x22../internals/get-iterator\x22),T\x3de$jscomp$1(\x22../internals/get-iterator-method\x22);e$jscomp$1\x3de$jscomp$1(\x22../internals/well-known-symbol\x22);var C\x3dl$jscomp$0(\x22fetch\x22),L\x3dl$jscomp$0(\x22Headers\x22);e$jscomp$1\x3de$jscomp$1(\x22iterator\x22);var R\x3dg.set,D\x3dg.getterFor(\x22URLSearchParams\x22),I\x3dg.getterFor(\x22URLSearchParamsIterator\x22),U\x3d/\\+/g,N\x3dArray(4),F\x3d/[!\x27()~]|%20/g,B\x3d{\x22!\x22:\x22%21\x22,\x22\x27\x22:\x22%27\x22,\x22(\x22:\x22%28\x22,\x22)\x22:\x22%29\x22,\x22~\x22:\x22%7E\x22,\x22%20\x22:\x22+\x22},G\x3dm(function(e,t){R(this,{type:\x22URLSearchParamsIterator\x22,iterator:E(D(e).entries),kind:t})},\n\x22Iterator\x22,function(){var e\x3dI(this),t\x3de.kind;e\x3de.iterator.next();var n\x3de.value;return e.done||(e.value\x3d\x22keys\x22\x3d\x3d\x3dt?n.key:\x22values\x22\x3d\x3d\x3dt?n.value:[n.key,n.value]),e}),V\x3dfunction(e){v(this,V,\x22URLSearchParams\x22);var t,n,i,a,l;var o\x3d0\x3carguments.length?e:void 0;var d\x3d[];if(R(this,{type:\x22URLSearchParams\x22,entries:d,updateURL:function(){},updateSearchParams:h}),void 0!\x3d\x3do)if(j(o))if(\x22function\x22\x3d\x3dtypeof(t\x3dT(o)))for(n\x3d(t\x3dt.call(o)).next;!(o\x3dn.call(t)).done;){if((o\x3d(a\x3d(i\x3dE(w(o.value))).next).call(i)).done||(l\x3da.call(i)).done||\n!a.call(i).done)throw TypeError(\x22Expected sequence with length 2\x22);d.push({key:o.value+\x22\x22,value:l.value+\x22\x22})}else for(n in o)b(o,n)\x26\x26d.push({key:n,value:o[n]+\x22\x22});else f(d,\x22string\x22\x3d\x3dtypeof o?\x22?\x22\x3d\x3d\x3do.charAt(0)?o.slice(1):o:o+\x22\x22)};m\x3dV.prototype;p(m,{append:function(e,t){u(arguments.length,2);var r\x3dD(this);r.entries.push({key:e+\x22\x22,value:t+\x22\x22});r.updateURL()},delete:function(e){u(arguments.length,1);for(var t\x3dD(this),r\x3dt.entries,n\x3de+\x22\x22,o\x3d0;o\x3cr.length;)r[o].key\x3d\x3d\x3dn?r.splice(o,1):o++;t.updateURL()},get:function(e){u(arguments.length,\n1);for(var t\x3dD(this).entries,r\x3de+\x22\x22,n\x3d0;n\x3ct.length;n++)if(t[n].key\x3d\x3d\x3dr)return t[n].value;return null},getAll:function(e){u(arguments.length,1);for(var t\x3dD(this).entries,r\x3de+\x22\x22,n\x3d[],o\x3d0;o\x3ct.length;o++)t[o].key\x3d\x3d\x3dr\x26\x26n.push(t[o].value);return n},has:function(e){u(arguments.length,1);for(var t\x3dD(this).entries,r\x3de+\x22\x22,n\x3d0;n\x3ct.length;)if(t[n++].key\x3d\x3d\x3dr)return!0;return!1},set:function(e,t){u(arguments.length,1);for(var r,n\x3dD(this),o\x3dn.entries,i\x3d!1,a\x3de+\x22\x22,s\x3dt+\x22\x22,l\x3d0;l\x3co.length;l++)(r\x3do[l]).key\x3d\x3d\x3da\x26\x26(i?o.splice(l--,\n1):(i\x3d!0,r.value\x3ds));i||o.push({key:a,value:s});n.updateURL()},sort:function(){var t,r,n\x3dD(this),o\x3dn.entries,i\x3do.slice();for(r\x3do.length\x3d0;r\x3ci.length;r++){var e\x3di[r];for(t\x3d0;t\x3cr;t++)if(o[t].key\x3ee.key){o.splice(t,0,e);break}t\x3d\x3d\x3dr\x26\x26o.push(e)}n.updateURL()},forEach:function(e,t){for(var r,n\x3dD(this).entries,o\x3d_(e,1\x3carguments.length?t:void 0,3),i\x3d0;i\x3cn.length;)o((r\x3dn[i++]).value,r.key,this)},keys:function(){return new G(this,\x22keys\x22)},values:function(){return new G(this,\x22values\x22)},entries:function(){return new G(this,\n\x22entries\x22)}},{enumerable:!0});d$jscomp$0(m,e$jscomp$1,m.entries);d$jscomp$0(m,\x22toString\x22,function(){for(var e,t\x3dD(this).entries,r\x3d[],n\x3d0;n\x3ct.length;)e\x3dt[n++],r.push(encodeURIComponent(e.key).replace(F,n$jscomp$0)+\x22\\x3d\x22+encodeURIComponent(e.value).replace(F,n$jscomp$0));return r.join(\x22\\x26\x22)},{enumerable:!0});y(V,\x22URLSearchParams\x22);r$jscomp$0({global:!0,forced:!c},{URLSearchParams:V});c||\x22function\x22!\x3dtypeof C||\x22function\x22!\x3dtypeof L||r$jscomp$0({global:!0,enumerable:!0,forced:!0},{fetch:function(e,t){var r,\nn,o,i\x3d[e];return 1\x3carguments.length\x26\x26(j(r\x3dt)\x26\x26(n\x3dr.body,\x22URLSearchParams\x22\x3d\x3d\x3dx(n)\x26\x26((o\x3dr.headers?new L(r.headers):new L).has(\x22content-type\x22)||o.set(\x22content-type\x22,\x22application/x-www-form-urlencoded;charset\\x3dUTF-8\x22),r\x3dS(r,{body:M(0,String(n)),headers:M(0,o)}))),i.push(r)),C.apply(this,i)}});t$jscomp$0.exports\x3d{URLSearchParams:V,getState:D}},{\x22../internals/an-instance\x22:9,\x22../internals/an-object\x22:10,\x22../internals/classof\x22:29,\x22../internals/create-iterator-constructor\x22:36,\x22../internals/create-property-descriptor\x22:38,\n\x22../internals/export\x22:49,\x22../internals/function-bind-context\x22:54,\x22../internals/get-built-in\x22:56,\x22../internals/get-iterator\x22:58,\x22../internals/get-iterator-method\x22:57,\x22../internals/has\x22:60,\x22../internals/internal-state\x22:70,\x22../internals/is-object\x22:74,\x22../internals/native-url\x22:84,\x22../internals/object-create\x22:90,\x22../internals/redefine\x22:108,\x22../internals/redefine-all\x22:107,\x22../internals/set-to-string-tag\x22:117,\x22../internals/well-known-symbol\x22:146,\x22../modules/es.array.iterator\x22:158}],231:[function(e$jscomp$1,\nt$jscomp$0,r$jscomp$0){function _(e,t){var r,o;if(\x22[\x22\x3d\x3dt.charAt(0)){if(\x22]\x22!\x3dt.charAt(t.length-1)||!(r\x3dQ(t.slice(1,-1))))return I}else if(ne(e)){if((t\x3dm(t),W.test(t))||null\x3d\x3d\x3d(r\x3dZ(t)))return I}else{if(q.test(t))return I;r\x3d\x22\x22;t\x3dT(t);for(o\x3d0;o\x3ct.length;o++)r+\x3dte(t[o],K)}e.host\x3dr}function c$jscomp$0(e){var r,o;if(\x22number\x22\x3d\x3dtypeof e){var t\x3d[];for(r\x3d0;4\x3er;r++)t.unshift(e%256),e\x3dk(e/256);return t.join(\x22.\x22)}if(\x22object\x22!\x3dtypeof e)return e;t\x3d\x22\x22;r\x3dnull;var JSCompiler_inline_result\x3d1;for(var n\x3dnull,o$jscomp$0\x3d\n0,i\x3d0;8\x3ei;i++)0!\x3d\x3de[i]?(JSCompiler_inline_result\x3co$jscomp$0\x26\x26(r\x3dn,JSCompiler_inline_result\x3do$jscomp$0),n\x3dnull,o$jscomp$0\x3d0):(null\x3d\x3d\x3dn\x26\x26(n\x3di),++o$jscomp$0);JSCompiler_inline_result\x3d(JSCompiler_inline_result\x3co$jscomp$0\x26\x26(r\x3dn),r);for(r\x3d0;8\x3er;r++)o\x26\x260\x3d\x3d\x3de[r]||(o\x3do\x26\x26!1,JSCompiler_inline_result\x3d\x3d\x3dr?(t+\x3dr?\x22:\x22:\x22::\x22,o\x3d!0):(t+\x3de[r].toString(16),7\x3er\x26\x26(t+\x3d\x22:\x22)));return\x22[\x22+t+\x22]\x22}function o$jscomp$1(e){return!e.host||e.cannotBeABaseURL||\x22file\x22\x3d\x3de.scheme}function w(e,t){var r;return 2\x3d\x3de.length\x26\x26N.test(e.charAt(0))\x26\x26\n(\x22:\x22\x3d\x3d(r\x3de.charAt(1))||!t\x26\x26\x22|\x22\x3d\x3dr)}function j(e){var t;return 1\x3ce.length\x26\x26w(e.slice(0,2))\x26\x26(2\x3d\x3de.length||\x22/\x22\x3d\x3d\x3d(t\x3de.charAt(2))||\x22\\\\\x22\x3d\x3d\x3dt||\x22?\x22\x3d\x3d\x3dt||\x22#\x22\x3d\x3d\x3dt)}function S(e){var t\x3de.path,r\x3dt.length;!r||\x22file\x22\x3d\x3de.scheme\x26\x261\x3d\x3dr\x26\x26w(t[0],!0)||t.pop()}function d$jscomp$0(e,t,r,n){var i,l,u;var s\x3dr||oe;var d\x3d0;var a\x3d\x22\x22;var h\x3d!1,p\x3d!1,y\x3d!1;r||(e.scheme\x3d\x22\x22,e.username\x3d\x22\x22,e.password\x3d\x22\x22,e.host\x3dnull,e.port\x3dnull,e.path\x3d[],e.query\x3dnull,e.fragment\x3dnull,e.cannotBeABaseURL\x3d!1,t\x3dt.replace(X,\x22\x22));t\x3dt.replace(Y,\x22\x22);for(t\x3d\nT(t);d\x3c\x3dt.length;){switch(i\x3dt[d],s){case oe:if(!i||!N.test(i)){if(r)return D;s\x3dae;continue}a+\x3di.toLowerCase();s\x3die;break;case ie:if(i\x26\x26(F.test(i)||\x22+\x22\x3d\x3di||\x22-\x22\x3d\x3di||\x22.\x22\x3d\x3di))a+\x3di.toLowerCase();else{if(\x22:\x22!\x3di){if(r)return D;a\x3d\x22\x22;s\x3dae;d\x3d0;continue}if(r\x26\x26(ne(e)!\x3dE(re,a)||\x22file\x22\x3d\x3da\x26\x26(\x22\x22!\x3de.username||\x22\x22!\x3de.password||null!\x3d\x3de.port)||\x22file\x22\x3d\x3de.scheme\x26\x26!e.host))return;if(e.scheme\x3da,r)return void(ne(e)\x26\x26re[e.scheme]\x3d\x3de.port\x26\x26(e.port\x3dnull));a\x3d\x22\x22;\x22file\x22\x3d\x3de.scheme?s\x3dge:ne(e)\x26\x26n\x26\x26n.scheme\x3d\x3de.scheme?s\x3dse:ne(e)?s\x3d\nde:\x22/\x22\x3d\x3dt[d+1]?(s\x3dle,d++):(e.cannotBeABaseURL\x3d!0,e.path.push(\x22\x22),s\x3dwe)}break;case ae:if(!n||n.cannotBeABaseURL\x26\x26\x22#\x22!\x3di)return D;if(n.cannotBeABaseURL\x26\x26\x22#\x22\x3d\x3di){e.scheme\x3dn.scheme;e.path\x3dn.path.slice();e.query\x3dn.query;e.fragment\x3d\x22\x22;e.cannotBeABaseURL\x3d!0;s\x3dSe;break}s\x3d\x22file\x22\x3d\x3dn.scheme?ge:ue;continue;case se:if(\x22/\x22!\x3di||\x22/\x22!\x3dt[d+1]){s\x3due;continue}s\x3dfe;d++;break;case le:if(\x22/\x22\x3d\x3di){s\x3dhe;break}s\x3dxe;continue;case ue:if(e.scheme\x3dn.scheme,i\x3d\x3dM)e.username\x3dn.username,e.password\x3dn.password,e.host\x3dn.host,e.port\x3dn.port,\ne.path\x3dn.path.slice(),e.query\x3dn.query;else if(\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e))s\x3dce;else if(\x22?\x22\x3d\x3di)e.username\x3dn.username,e.password\x3dn.password,e.host\x3dn.host,e.port\x3dn.port,e.path\x3dn.path.slice(),e.query\x3d\x22\x22,s\x3dje;else{if(\x22#\x22!\x3di){e.username\x3dn.username;e.password\x3dn.password;e.host\x3dn.host;e.port\x3dn.port;e.path\x3dn.path.slice();e.path.pop();s\x3dxe;continue}e.username\x3dn.username;e.password\x3dn.password;e.host\x3dn.host;e.port\x3dn.port;e.path\x3dn.path.slice();e.query\x3dn.query;e.fragment\x3d\x22\x22;s\x3dSe}break;case ce:if(!ne(e)||\x22/\x22!\x3di\x26\x26\x22\\\\\x22!\x3d\ni){if(\x22/\x22!\x3di){e.username\x3dn.username;e.password\x3dn.password;e.host\x3dn.host;e.port\x3dn.port;s\x3dxe;continue}s\x3dhe}else s\x3dfe;break;case de:if(s\x3dfe,\x22/\x22!\x3di||\x22/\x22!\x3da.charAt(d+1))continue;d++;break;case fe:if(\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di)break;s\x3dhe;continue;case he:if(\x22@\x22\x3d\x3di){h\x26\x26(a\x3d\x22%40\x22+a);h\x3d!0;a\x3dT(a);for(i\x3d0;i\x3ca.length;i++){var g\x3da[i];\x22:\x22!\x3dg||y?(g\x3dte(g,ee),y?e.password+\x3dg:e.username+\x3dg):y\x3d!0}a\x3d\x22\x22}else if(i\x3d\x3dM||\x22/\x22\x3d\x3di||\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)){if(h\x26\x26\x22\x22\x3d\x3da)return\x22Invalid authority\x22;d-\x3dT(a).length+1;a\x3d\x22\x22;s\x3dpe}else a+\x3d\ni;break;case pe:case ye:if(r\x26\x26\x22file\x22\x3d\x3de.scheme){s\x3dbe;continue}if(\x22:\x22!\x3di||p){if(i\x3d\x3dM||\x22/\x22\x3d\x3di||\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)){if(ne(e)\x26\x26\x22\x22\x3d\x3da)return I;if(r\x26\x26\x22\x22\x3d\x3da\x26\x26(\x22\x22!\x3de.username||\x22\x22!\x3de.password||null!\x3d\x3de.port))return;if(s\x3d_(e,a))return s;if(a\x3d\x22\x22,s\x3d_e,r)return;continue}\x22[\x22\x3d\x3di?p\x3d!0:\x22]\x22\x3d\x3di\x26\x26(p\x3d!1);a+\x3di}else{if(\x22\x22\x3d\x3da)return I;if(s\x3d_(e,a))return s;if(a\x3d\x22\x22,s\x3dme,r\x3d\x3dye)return}break;case me:if(!B.test(i)){if(i\x3d\x3dM||\x22/\x22\x3d\x3di||\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)||r){if(\x22\x22!\x3da){s\x3dparseInt(a,10);if(65535\x3cs)return U;e.port\x3d\nne(e)\x26\x26s\x3d\x3d\x3dre[e.scheme]?null:s;a\x3d\x22\x22}if(r)return;s\x3d_e;continue}return U}a+\x3di;break;case ge:if(e.scheme\x3d\x22file\x22,\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di)s\x3dve;else{if(!n||\x22file\x22!\x3dn.scheme){s\x3dxe;continue}if(i\x3d\x3dM)e.host\x3dn.host,e.path\x3dn.path.slice(),e.query\x3dn.query;else if(\x22?\x22\x3d\x3di)e.host\x3dn.host,e.path\x3dn.path.slice(),e.query\x3d\x22\x22,s\x3dje;else{if(\x22#\x22!\x3di){j(t.slice(d).join(\x22\x22))||(e.host\x3dn.host,e.path\x3dn.path.slice(),S(e));s\x3dxe;continue}e.host\x3dn.host;e.path\x3dn.path.slice();e.query\x3dn.query;e.fragment\x3d\x22\x22;s\x3dSe}}break;case ve:if(\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3d\ni){s\x3dbe;break}n\x26\x26\x22file\x22\x3d\x3dn.scheme\x26\x26!j(t.slice(d).join(\x22\x22))\x26\x26(w(n.path[0],!0)?e.path.push(n.path[0]):e.host\x3dn.host);s\x3dxe;continue;case be:if(i\x3d\x3dM||\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di||\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di){if(!r\x26\x26w(a))s\x3dxe;else{if(\x22\x22\x3d\x3da){if(e.host\x3d\x22\x22,r)return}else{if(s\x3d_(e,a))return s;if(\x22localhost\x22\x3d\x3de.host\x26\x26(e.host\x3d\x22\x22),r)return;a\x3d\x22\x22}s\x3d_e}continue}a+\x3di;break;case _e:if(ne(e)){if(s\x3dxe,\x22/\x22!\x3di\x26\x26\x22\\\\\x22!\x3di)continue}else if(r||\x22?\x22!\x3di)if(r||\x22#\x22!\x3di){if(i!\x3dM\x26\x26(s\x3dxe,\x22/\x22!\x3di))continue}else e.fragment\x3d\x22\x22,s\x3dSe;else e.query\x3d\x22\x22,s\x3dje;break;case xe:if(i\x3d\x3d\nM||\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)||!r\x26\x26(\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di)){if(\x22..\x22\x3d\x3d\x3d(u\x3d(u\x3da).toLowerCase())||\x22%2e.\x22\x3d\x3d\x3du||\x22.%2e\x22\x3d\x3d\x3du||\x22%2e%2e\x22\x3d\x3d\x3du?(S(e),\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)||e.path.push(\x22\x22)):\x22.\x22\x3d\x3d\x3d(l\x3da)||\x22%2e\x22\x3d\x3d\x3dl.toLowerCase()?\x22/\x22\x3d\x3di||\x22\\\\\x22\x3d\x3di\x26\x26ne(e)||e.path.push(\x22\x22):(\x22file\x22\x3d\x3de.scheme\x26\x26!e.path.length\x26\x26w(a)\x26\x26(e.host\x26\x26(e.host\x3d\x22\x22),a\x3da.charAt(0)+\x22:\x22),e.path.push(a)),a\x3d\x22\x22,\x22file\x22\x3d\x3de.scheme\x26\x26(i\x3d\x3dM||\x22?\x22\x3d\x3di||\x22#\x22\x3d\x3di))for(;1\x3ce.path.length\x26\x26\x22\x22\x3d\x3d\x3de.path[0];)e.path.shift();\x22?\x22\x3d\x3di?(e.query\x3d\x22\x22,s\x3dje):\x22#\x22\x3d\x3di\x26\x26(e.fragment\x3d\x22\x22,s\x3dSe)}else a+\x3d\nte(i,$);break;case we:\x22?\x22\x3d\x3di?(e.query\x3d\x22\x22,s\x3dje):\x22#\x22\x3d\x3di?(e.fragment\x3d\x22\x22,s\x3dSe):i!\x3dM\x26\x26(e.path[0]+\x3dte(i,K));break;case je:r||\x22#\x22!\x3di?i!\x3dM\x26\x26(\x22\x27\x22\x3d\x3di\x26\x26ne(e)?e.query+\x3d\x22%27\x22:e.query+\x3d\x22#\x22\x3d\x3di?\x22%23\x22:te(i,K)):(e.fragment\x3d\x22\x22,s\x3dSe);break;case Se:i!\x3dM\x26\x26(e.fragment+\x3dte(i,J))}d++}}function n$jscomp$0(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}}e$jscomp$1(\x22../modules/es.string.iterator\x22);var M;t$jscomp$0\x3de$jscomp$1(\x22../internals/export\x22);var f$jscomp$0\x3de$jscomp$1(\x22../internals/descriptors\x22);r$jscomp$0\x3de$jscomp$1(\x22../internals/native-url\x22);\nvar s$jscomp$0\x3de$jscomp$1(\x22../internals/global\x22),l$jscomp$0\x3de$jscomp$1(\x22../internals/object-define-properties\x22),u$jscomp$0\x3de$jscomp$1(\x22../internals/redefine\x22),h$jscomp$0\x3de$jscomp$1(\x22../internals/an-instance\x22),E\x3de$jscomp$1(\x22../internals/has\x22),p$jscomp$0\x3de$jscomp$1(\x22../internals/object-assign\x22),T\x3de$jscomp$1(\x22../internals/array-from\x22),y$jscomp$0\x3de$jscomp$1(\x22../internals/string-multibyte\x22).codeAt,m\x3de$jscomp$1(\x22../internals/string-punycode-to-ascii\x22),g$jscomp$0\x3de$jscomp$1(\x22../internals/set-to-string-tag\x22),\nv\x3de$jscomp$1(\x22../modules/web.url-search-params\x22);e$jscomp$1\x3de$jscomp$1(\x22../internals/internal-state\x22);var O\x3ds$jscomp$0.URL,C\x3dv.URLSearchParams,L\x3dv.getState,P\x3de$jscomp$1.set,A\x3de$jscomp$1.getterFor(\x22URL\x22),k\x3dMath.floor,R\x3dMath.pow,D\x3d\x22Invalid scheme\x22,I\x3d\x22Invalid host\x22,U\x3d\x22Invalid port\x22,N\x3d/[A-Za-z]/,F\x3d/[\\d+-.A-Za-z]/,B\x3d/\\d/,G\x3d/^(0x|0X)/,V\x3d/^[0-7]+$/,z\x3d/^\\d+$/,H\x3d/^[\\dA-Fa-f]+$/,W\x3d/[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/,q\x3d/[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/,X\x3d/^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g,Y\x3d/[\\u0009\\u000A\\u000D]/g,\nZ\x3dfunction(e){var t,n,o,i,l\x3de.split(\x22.\x22);if(l.length\x26\x26\x22\x22\x3d\x3dl[l.length-1]\x26\x26l.pop(),4\x3c(t\x3dl.length))return e;var r\x3d[];for(n\x3d0;n\x3ct;n++){if(\x22\x22\x3d\x3d(o\x3dl[n]))return e;if(i\x3d10,1\x3co.length\x26\x26\x220\x22\x3d\x3do.charAt(0)\x26\x26(i\x3dG.test(o)?16:8,o\x3do.slice(8\x3d\x3di?1:2)),\x22\x22\x3d\x3d\x3do)o\x3d0;else{if(!(10\x3d\x3di?z:8\x3d\x3di?V:H).test(o))return e;o\x3dparseInt(o,i)}r.push(o)}for(n\x3d0;n\x3ct;n++)if(o\x3dr[n],n\x3d\x3dt-1){if(o\x3e\x3dR(256,5-t))return null}else if(255\x3co)return null;e\x3dr.pop();for(n\x3d0;n\x3cr.length;n++)e+\x3dr[n]*R(256,3-n);return e},Q\x3dfunction(e){function t(){return e.charAt(f)}\nvar r,n,a,u\x3d[0,0,0,0,0,0,0,0],c\x3d0,d\x3dnull,f\x3d0;if(\x22:\x22\x3d\x3dt()){if(\x22:\x22!\x3de.charAt(1))return;f+\x3d2;d\x3d++c}for(;t();){if(8\x3d\x3dc)return;if(\x22:\x22!\x3dt()){for(r\x3dn\x3d0;4\x3en\x26\x26H.test(t());)r\x3d16*r+parseInt(t(),16),f++,n++;if(\x22.\x22\x3d\x3dt()){if(0\x3d\x3dn||(f-\x3dn,6\x3cc))return;for(r\x3d0;t();){if(n\x3dnull,0\x3cr){if(!(\x22.\x22\x3d\x3dt()\x26\x264\x3er))return;f++}if(!B.test(t()))return;for(;B.test(t());){if(a\x3dparseInt(t(),10),null\x3d\x3d\x3dn)n\x3da;else{if(0\x3d\x3dn)return;n\x3d10*n+a}if(255\x3cn)return;f++}u[c]\x3d256*u[c]+n;2!\x3d++r\x26\x264!\x3dr||c++}if(4!\x3dr)return;break}if(\x22:\x22\x3d\x3dt()){if(f++,!t())return}else if(t())return;\nu[c++]\x3dr}else{if(null!\x3d\x3dd)return;f++;d\x3d++c}}if(null!\x3d\x3dd)for(r\x3dc-d,c\x3d7;0!\x3dc\x26\x260\x3cr;)n\x3du[c],u[c--]\x3du[d+r-1],u[d+--r]\x3dn;else if(8!\x3dc)return;return u},K\x3d{},J\x3dp$jscomp$0({},K,{\x22 \x22:1,\x27\x22\x27:1,\x22\\x3c\x22:1,\x22\\x3e\x22:1,\x22`\x22:1}),$\x3dp$jscomp$0({},J,{\x22#\x22:1,\x22?\x22:1,\x22{\x22:1,\x22}\x22:1}),ee\x3dp$jscomp$0({},$,{\x22/\x22:1,\x22:\x22:1,\x22;\x22:1,\x22\\x3d\x22:1,\x22@\x22:1,\x22[\x22:1,\x22\\\\\x22:1,\x22]\x22:1,\x22^\x22:1,\x22|\x22:1}),te\x3dfunction(e,t){var r\x3dy$jscomp$0(e,0);return 32\x3cr\x26\x26127\x3er\x26\x26!E(t,e)?e:encodeURIComponent(e)},re\x3d{ftp:21,file:null,http:80,https:443,ws:80,wss:443},ne\x3dfunction(e){return E(re,\ne.scheme)},oe\x3d{},ie\x3d{},ae\x3d{},se\x3d{},le\x3d{},ue\x3d{},ce\x3d{},de\x3d{},fe\x3d{},he\x3d{},pe\x3d{},ye\x3d{},me\x3d{},ge\x3d{},ve\x3d{},be\x3d{},_e\x3d{},xe\x3d{},we\x3d{},je\x3d{},Se\x3d{},Me\x3dfunction(e,t){var n,o\x3dh$jscomp$0(this,Me,\x22URL\x22),i\x3d1\x3carguments.length?t:void 0,a\x3dString(e),s\x3dP(o,{type:\x22URL\x22});if(void 0!\x3d\x3di)if(i instanceof Me)var r\x3dA(i);else if(n\x3dd$jscomp$0(r\x3d{},String(i)))throw TypeError(n);if(n\x3dd$jscomp$0(s,a,null,r))throw TypeError(n);var l\x3ds.searchParams\x3dnew C;r\x3dL(l);r.updateSearchParams(s.query);r.updateURL\x3dfunction(){s.query\x3dString(l)||\nnull};f$jscomp$0||(o.href\x3dTe.call(o),o.origin\x3dOe.call(o),o.protocol\x3dCe.call(o),o.username\x3dLe.call(o),o.password\x3dPe.call(o),o.host\x3dAe.call(o),o.hostname\x3dke.call(o),o.port\x3dRe.call(o),o.pathname\x3dDe.call(o),o.search\x3dIe.call(o),o.searchParams\x3dUe.call(o),o.hash\x3dNe.call(o))};e$jscomp$1\x3dMe.prototype;var Te\x3dfunction(){var e\x3dA(this),t\x3de.scheme,r\x3de.username,n\x3de.password,o\x3de.host,i\x3de.port,a\x3de.path,s\x3de.query,l\x3de.fragment,u\x3dt+\x22:\x22;return null!\x3d\x3do?(u+\x3d\x22//\x22,(\x22\x22!\x3de.username||\x22\x22!\x3de.password)\x26\x26(u+\x3dr+(n?\x22:\x22+n:\x22\x22)+\x22@\x22),\nu+\x3dc$jscomp$0(o),null!\x3d\x3di\x26\x26(u+\x3d\x22:\x22+i)):\x22file\x22\x3d\x3dt\x26\x26(u+\x3d\x22//\x22),u+\x3de.cannotBeABaseURL?a[0]:a.length?\x22/\x22+a.join(\x22/\x22):\x22\x22,null!\x3d\x3ds\x26\x26(u+\x3d\x22?\x22+s),null!\x3d\x3dl\x26\x26(u+\x3d\x22#\x22+l),u},Oe\x3dfunction(){var e$jscomp$0\x3dA(this),t\x3de$jscomp$0.scheme,r\x3de$jscomp$0.port;if(\x22blob\x22\x3d\x3dt)try{return(new URL(t.path[0])).origin}catch(e){return\x22null\x22}return\x22file\x22!\x3dt\x26\x26ne(e$jscomp$0)?t+\x22://\x22+c$jscomp$0(e$jscomp$0.host)+(null!\x3d\x3dr?\x22:\x22+r:\x22\x22):\x22null\x22},Ce\x3dfunction(){return A(this).scheme+\x22:\x22},Le\x3dfunction(){return A(this).username},Pe\x3dfunction(){return A(this).password},\nAe\x3dfunction(){var e\x3dA(this),t\x3de.host;e\x3de.port;return null\x3d\x3d\x3dt?\x22\x22:null\x3d\x3d\x3de?c$jscomp$0(t):c$jscomp$0(t)+\x22:\x22+e},ke\x3dfunction(){var e\x3dA(this).host;return null\x3d\x3d\x3de?\x22\x22:c$jscomp$0(e)},Re\x3dfunction(){var e\x3dA(this).port;return null\x3d\x3d\x3de?\x22\x22:String(e)},De\x3dfunction(){var e\x3dA(this),t\x3de.path;return e.cannotBeABaseURL?t[0]:t.length?\x22/\x22+t.join(\x22/\x22):\x22\x22},Ie\x3dfunction(){var e\x3dA(this).query;return e?\x22?\x22+e:\x22\x22},Ue\x3dfunction(){return A(this).searchParams},Ne\x3dfunction(){var e\x3dA(this).fragment;return e?\x22#\x22+e:\x22\x22};if(f$jscomp$0\x26\x26\nl$jscomp$0(e$jscomp$1,{href:n$jscomp$0(Te,function(e){var t\x3dA(this);if(e\x3dd$jscomp$0(t,String(e)))throw TypeError(e);L(t.searchParams).updateSearchParams(t.query)}),origin:n$jscomp$0(Oe),protocol:n$jscomp$0(Ce,function(e){var t\x3dA(this);d$jscomp$0(t,String(e)+\x22:\x22,oe)}),username:n$jscomp$0(Le,function(e){var t\x3dA(this);e\x3dT(String(e));if(!o$jscomp$1(t)){t.username\x3d\x22\x22;for(var n\x3d0;n\x3ce.length;n++)t.username+\x3dte(e[n],ee)}}),password:n$jscomp$0(Pe,function(e){var t\x3dA(this);e\x3dT(String(e));if(!o$jscomp$1(t)){t.password\x3d\n\x22\x22;for(var n\x3d0;n\x3ce.length;n++)t.password+\x3dte(e[n],ee)}}),host:n$jscomp$0(Ae,function(e){var t\x3dA(this);t.cannotBeABaseURL||d$jscomp$0(t,String(e),pe)}),hostname:n$jscomp$0(ke,function(e){var t\x3dA(this);t.cannotBeABaseURL||d$jscomp$0(t,String(e),ye)}),port:n$jscomp$0(Re,function(e){var t\x3dA(this);o$jscomp$1(t)||(\x22\x22\x3d\x3d(e\x3dString(e))?t.port\x3dnull:d$jscomp$0(t,e,me))}),pathname:n$jscomp$0(De,function(e){var t\x3dA(this);t.cannotBeABaseURL||(t.path\x3d[],d$jscomp$0(t,e+\x22\x22,_e))}),search:n$jscomp$0(Ie,function(e){var t\x3d\nA(this);\x22\x22\x3d\x3d(e\x3dString(e))?t.query\x3dnull:(\x22?\x22\x3d\x3de.charAt(0)\x26\x26(e\x3de.slice(1)),t.query\x3d\x22\x22,d$jscomp$0(t,e,je));L(t.searchParams).updateSearchParams(t.query)}),searchParams:n$jscomp$0(Ue),hash:n$jscomp$0(Ne,function(e){var t\x3dA(this);\x22\x22!\x3d(e\x3dString(e))?(\x22#\x22\x3d\x3de.charAt(0)\x26\x26(e\x3de.slice(1)),t.fragment\x3d\x22\x22,d$jscomp$0(t,e,Se)):t.fragment\x3dnull})}),u$jscomp$0(e$jscomp$1,\x22toJSON\x22,function(){return Te.call(this)},{enumerable:!0}),u$jscomp$0(e$jscomp$1,\x22toString\x22,function(){return Te.call(this)},{enumerable:!0}),O){var Fe\x3d\nO.createObjectURL,Be\x3dO.revokeObjectURL;Fe\x26\x26u$jscomp$0(Me,\x22createObjectURL\x22,function(e){return Fe.apply(O,arguments)});Be\x26\x26u$jscomp$0(Me,\x22revokeObjectURL\x22,function(e){return Be.apply(O,arguments)})}g$jscomp$0(Me,\x22URL\x22);t$jscomp$0({global:!0,forced:!r$jscomp$0,sham:!f$jscomp$0},{URL:Me})},{\x22../internals/an-instance\x22:9,\x22../internals/array-from\x22:17,\x22../internals/descriptors\x22:42,\x22../internals/export\x22:49,\x22../internals/global\x22:59,\x22../internals/has\x22:60,\x22../internals/internal-state\x22:70,\x22../internals/native-url\x22:84,\n\x22../internals/object-assign\x22:89,\x22../internals/object-define-properties\x22:91,\x22../internals/redefine\x22:108,\x22../internals/set-to-string-tag\x22:117,\x22../internals/string-multibyte\x22:123,\x22../internals/string-punycode-to-ascii\x22:124,\x22../modules/es.string.iterator\x22:186,\x22../modules/web.url-search-params\x22:230}],232:[function(e,t,r){t.exports\x3de(\x22./\x22).polyfill()},{\x22./\x22:233}],233:[function(z,r$jscomp$2,n$jscomp$2){(function(G,V){var t$jscomp$2\x3dfunction(){function d(){var e\x3dsetTimeout;return function(){return e(h,1)}}\nfunction h(){for(var e\x3d0;e\x3cn$jscomp$1;e+\x3d2)(0,f[e])(f[e+1]),f[e]\x3dvoid 0,f[e+1]\x3dvoid 0;n$jscomp$1\x3d0}function b(e,t){var r\x3dthis,n\x3dnew this.constructor(w);void 0\x3d\x3d\x3dn[x]\x26\x26I(n);var o\x3dr._state;if(o){var i\x3darguments[o-1];a$jscomp$0(function(){return R(o,n,i,r._result)})}else A(r,n,e,t);return n}function _(e){if(e\x26\x26\x22object\x22\x3d\x3dtypeof e\x26\x26e.constructor\x3d\x3d\x3dthis)return e;var t\x3dnew this(w);return O(t,e),t}function w(){}function E(e$jscomp$2,n$jscomp$0,o){a$jscomp$0(function(t$jscomp$0){var r$jscomp$0\x3d!1,e$jscomp$1\x3d\nfunction(e$jscomp$0,t,r,n){try{e$jscomp$0.call(t,r,n)}catch(e){return e}}(o,n$jscomp$0,function(e){r$jscomp$0||(r$jscomp$0\x3d!0,n$jscomp$0!\x3d\x3de?O(t$jscomp$0,e):L(t$jscomp$0,e))},function(e){r$jscomp$0||(r$jscomp$0\x3d!0,P(t$jscomp$0,e))},t$jscomp$0._label);!r$jscomp$0\x26\x26e$jscomp$1\x26\x26(r$jscomp$0\x3d!0,P(t$jscomp$0,e$jscomp$1))},e$jscomp$2)}function T(e$jscomp$0,t,r){t.constructor\x3d\x3d\x3de$jscomp$0.constructor\x26\x26r\x3d\x3d\x3db\x26\x26t.constructor.resolve\x3d\x3d\x3d_?t._state\x3d\x3d\x3dS?L(e$jscomp$0,t._result):t._state\x3d\x3d\x3dM?P(e$jscomp$0,t._result):\nA(t,void 0,function(e){return O(e$jscomp$0,e)},function(e){return P(e$jscomp$0,e)}):void 0\x3d\x3d\x3dr?L(e$jscomp$0,t):\x22function\x22\x3d\x3dtypeof r?E(e$jscomp$0,t,r):L(e$jscomp$0,t)}function O(t,e$jscomp$0){if(t\x3d\x3d\x3de$jscomp$0)P(t,new TypeError(\x22You cannot resolve a promise with itself\x22));else if(o\x3dtypeof(n\x3de$jscomp$0),null\x3d\x3d\x3dn||\x22object\x22!\x3do\x26\x26\x22function\x22!\x3do)L(t,e$jscomp$0);else{n\x3dvoid 0;try{n\x3de$jscomp$0.then}catch(e){return void P(t,e)}T(t,e$jscomp$0,n)}var n,o}function C(e){e._onerror\x26\x26e._onerror(e._result);k(e)}function L(e,\nt){e._state\x3d\x3d\x3dj\x26\x26(e._result\x3dt,e._state\x3dS,0!\x3d\x3de._subscribers.length\x26\x26a$jscomp$0(k,e))}function P(e,t){e._state\x3d\x3d\x3dj\x26\x26(e._state\x3dM,e._result\x3dt,a$jscomp$0(C,e))}function A(e,t,r,n){var o\x3de._subscribers,i\x3do.length;e._onerror\x3dnull;o[i]\x3dt;o[i+S]\x3dr;o[i+M]\x3dn;0\x3d\x3d\x3di\x26\x26e._state\x26\x26a$jscomp$0(k,e)}function k(e){var t\x3de._subscribers,r\x3de._state;if(0!\x3d\x3dt.length){for(var n,o,i\x3de._result,a\x3d0;a\x3ct.length;a+\x3d3)n\x3dt[a],o\x3dt[a+r],n?R(r,n,o,i):o(i);e._subscribers.length\x3d0}}function R(e$jscomp$0,t,r,n){var o\x3d\x22function\x22\x3d\x3dtypeof r,\ni\x3dvoid 0,a\x3dvoid 0,s\x3d!0;if(o){try{i\x3dr(n)}catch(e){s\x3d!1,a\x3de}if(t\x3d\x3d\x3di)return void P(t,new TypeError(\x22A promises callback cannot return that same promise.\x22))}else i\x3dn;t._state!\x3d\x3dj||(o\x26\x26s?O(t,i):!1\x3d\x3d\x3ds?P(t,a):e$jscomp$0\x3d\x3d\x3dS?L(t,i):e$jscomp$0\x3d\x3d\x3dM\x26\x26P(t,i))}function I(e){e[x]\x3dD++;e._state\x3dvoid 0;e._result\x3dvoid 0;e._subscribers\x3d[]}function N(e,t){this._instanceConstructor\x3de;this.promise\x3dnew e(w);this.promise[x]||I(this.promise);r$jscomp$1(t)?(this.length\x3dt.length,this._remaining\x3dt.length,this._result\x3dArray(this.length),\n0\x3d\x3d\x3dthis.length?L(this.promise,this._result):(this.length\x3dthis.length||0,this._enumerate(t),0\x3d\x3d\x3dthis._remaining\x26\x26L(this.promise,this._result))):P(this.promise,Error(\x22Array Methods must be provided an Array\x22))}function B(e$jscomp$1){this[x]\x3dD++;this._result\x3dthis._state\x3dvoid 0;this._subscribers\x3d[];if(w!\x3d\x3de$jscomp$1){if(\x22function\x22!\x3dtypeof e$jscomp$1)throw new TypeError(\x22You must pass a resolver function as the first argument to the promise constructor\x22);if(this instanceof B)(function(t,e$jscomp$0){try{e$jscomp$0(function(e){O(t,\ne)},function(e){P(t,e)})}catch(e){P(t,e)}})(this,e$jscomp$1);else throw new TypeError(\x22Failed to construct \x27Promise\x27: Please use the \x27new\x27 operator, this object constructor cannot be called as a function.\x22);}}var r$jscomp$1\x3dArray.isArray?Array.isArray:function(e){return\x22[object Array]\x22\x3d\x3d\x3dObject.prototype.toString.call(e)},n$jscomp$1\x3d0,t$jscomp$1\x3dvoid 0,o$jscomp$0\x3dvoid 0,a$jscomp$0\x3dfunction(e,t){f[n$jscomp$1]\x3de;f[n$jscomp$1+1]\x3dt;2\x3d\x3d\x3d(n$jscomp$1+\x3d2)\x26\x26(o$jscomp$0?o$jscomp$0(h):v())},e$jscomp$3\x3d\x22undefined\x22!\x3d\ntypeof window?window:void 0,i$jscomp$0\x3de$jscomp$3||{};i$jscomp$0\x3di$jscomp$0.MutationObserver||i$jscomp$0.WebKitMutationObserver;var u\x3d\x22undefined\x22\x3d\x3dtypeof self\x26\x26void 0!\x3d\x3dG\x26\x26\x22[object process]\x22\x3d\x3d\x3d{}.toString.call(G),c\x3d\x22undefined\x22!\x3dtypeof Uint8ClampedArray\x26\x26\x22undefined\x22!\x3dtypeof importScripts\x26\x26\x22undefined\x22!\x3dtypeof MessageChannel,f\x3dArray(1E3),p,y,m,g,v\x3dvoid 0;v\x3du?function(){return G.nextTick(h)}:i$jscomp$0?(y\x3d0,m\x3dnew i$jscomp$0(h),g\x3ddocument.createTextNode(\x22\x22),m.observe(g,{characterData:!0}),function(){g.data\x3d\ny\x3d++y%2}):c?((p\x3dnew MessageChannel).port1.onmessage\x3dh,function(){return p.port2.postMessage(0)}):void 0\x3d\x3d\x3de$jscomp$3\x26\x26\x22function\x22\x3d\x3dtypeof z?function(){try{var e$jscomp$0\x3dFunction(\x22return this\x22)().require(\x22vertx\x22);return void 0!\x3d\x3d(t$jscomp$1\x3de$jscomp$0.runOnLoop||e$jscomp$0.runOnContext)?function(){t$jscomp$1(h)}:d()}catch(e){return d()}}():d();var x\x3dMath.random().toString(36).substring(2),j\x3dvoid 0,S\x3d1,M\x3d2,D\x3d0,U\x3d(N.prototype._enumerate\x3dfunction(e){for(var t\x3d0;this._state\x3d\x3d\x3dj\x26\x26t\x3ce.length;t++)this._eachEntry(e[t],\nt)},N.prototype._eachEntry\x3dfunction(t,e$jscomp$0){var r\x3dthis._instanceConstructor,n\x3dr.resolve;if(n\x3d\x3d\x3d_){var i\x3dn\x3dvoid 0,a\x3d!1;try{n\x3dt.then}catch(e){a\x3d!0,i\x3de}n\x3d\x3d\x3db\x26\x26t._state!\x3d\x3dj?this._settledAt(t._state,e$jscomp$0,t._result):\x22function\x22!\x3dtypeof n?(this._remaining--,this._result[e$jscomp$0]\x3dt):r\x3d\x3d\x3dF?(r\x3dnew r(w),a?P(r,i):T(r,t,n),this._willSettleAt(r,e$jscomp$0)):this._willSettleAt(new r(function(e){return e(t)}),e$jscomp$0)}else this._willSettleAt(n(t),e$jscomp$0)},N.prototype._settledAt\x3dfunction(e,t,\nr){var n\x3dthis.promise;n._state\x3d\x3d\x3dj\x26\x26(this._remaining--,e\x3d\x3d\x3dM?P(n,r):this._result[t]\x3dr);0\x3d\x3d\x3dthis._remaining\x26\x26L(n,this._result)},N.prototype._willSettleAt\x3dfunction(e$jscomp$0,t){var r\x3dthis;A(e$jscomp$0,void 0,function(e){return r._settledAt(S,t,e)},function(e){return r._settledAt(M,t,e)})},N),F\x3d(B.prototype.catch\x3dfunction(e){return this.then(null,e)},B.prototype.finally\x3dfunction(t){var r\x3dthis.constructor;return\x22function\x22\x3d\x3dtypeof t?this.then(function(e){return r.resolve(t()).then(function(){return e})},\nfunction(e){return r.resolve(t()).then(function(){throw e;})}):this.then(t,t)},B);return F.prototype.then\x3db,F.all\x3dfunction(e){return(new U(this,e)).promise},F.race\x3dfunction(o){var i\x3dthis;return r$jscomp$1(o)?new i(function(e,t){for(var r\x3do.length,n\x3d0;n\x3cr;n++)i.resolve(o[n]).then(e,t)}):new i(function(e,t){return t(new TypeError(\x22You must pass an array to race.\x22))})},F.resolve\x3d_,F.reject\x3dfunction(e){var t\x3dnew this(w);return P(t,e),t},F._setScheduler\x3dfunction(e){o$jscomp$0\x3de},F._setAsap\x3dfunction(e){a$jscomp$0\x3d\ne},F._asap\x3da$jscomp$0,F.polyfill\x3dfunction(){var e$jscomp$0\x3dvoid 0;if(void 0!\x3d\x3dV)e$jscomp$0\x3dV;else if(\x22undefined\x22!\x3dtypeof self)e$jscomp$0\x3dself;else try{e$jscomp$0\x3dFunction(\x22return this\x22)()}catch(e){throw Error(\x22polyfill failed because global object is unavailable in this environment\x22);}var t\x3de$jscomp$0.Promise;if(t){var r\x3dnull;try{r\x3dObject.prototype.toString.call(t.resolve())}catch(e){}if(\x22[object Promise]\x22\x3d\x3d\x3dr\x26\x26!t.cast)return}e$jscomp$0.Promise\x3dF},F.Promise\x3dF};\x22object\x22\x3d\x3dtypeof n$jscomp$2\x26\x26void 0!\x3d\x3d\nr$jscomp$2?r$jscomp$2.exports\x3dt$jscomp$2():this.ES6Promise\x3dt$jscomp$2()}).call(this,z(\x22_process\x22),\x22undefined\x22!\x3dtypeof global?global:\x22undefined\x22!\x3dtypeof self?self:\x22undefined\x22!\x3dtypeof window?window:{})},{_process:241}],234:[function(e$jscomp$2,n$jscomp$0,o$jscomp$0){!function(e,t){if(void 0!\x3d\x3do$jscomp$0\x26\x26void 0!\x3d\x3dn$jscomp$0)t(o$jscomp$0,n$jscomp$0);else{var r\x3d{exports:{}};t(r.exports,r);e.fetchJsonp\x3dr.exports}}(this,function(e$jscomp$1,t$jscomp$0){function d(t){try{delete window[t]}catch(e){window[t]\x3d\nvoid 0}}function f(e){(e\x3ddocument.getElementById(e))\x26\x26document.getElementsByTagName(\x22head\x22)[0].removeChild(e)}t$jscomp$0.exports\x3dfunction(i){var a\x3d1\x3e\x3darguments.length||void 0\x3d\x3d\x3darguments[1]?{}:arguments[1],s\x3di,l\x3da.timeout||5E3,u\x3da.jsonpCallback||\x22callback\x22,c\x3dvoid 0;return new Promise(function(t,e$jscomp$0){var r\x3da.jsonpCallbackFunction||\x22jsonp_\x22+Date.now()+\x22_\x22+Math.ceil(1E5*Math.random()),n\x3du+\x22_\x22+r;window[r]\x3dfunction(e){t({ok:!0,json:function(){return Promise.resolve(e)}});c\x26\x26clearTimeout(c);f(n);\nd(r)};s+\x3d-1\x3d\x3d\x3ds.indexOf(\x22?\x22)?\x22?\x22:\x22\\x26\x22;var o\x3ddocument.createElement(\x22script\x22);o.setAttribute(\x22src\x22,\x22\x22+s+u+\x22\\x3d\x22+r);a.charset\x26\x26o.setAttribute(\x22charset\x22,a.charset);o.id\x3dn;document.getElementsByTagName(\x22head\x22)[0].appendChild(o);c\x3dsetTimeout(function(){e$jscomp$0(Error(\x22JSONP request to \x22+i+\x22 timed out\x22));d(r);f(n);window[r]\x3dfunction(){d(r)}},l);o.onerror\x3dfunction(){e$jscomp$0(Error(\x22JSONP request to \x22+i+\x22 failed\x22));d(r);f(n);c\x26\x26clearTimeout(c)}})}})},{}],235:[function(e$jscomp$2,t$jscomp$2,r$jscomp$0){var n$jscomp$2\x3d\nn$jscomp$2||function(s){if(!(void 0\x3d\x3d\x3ds||\x22undefined\x22!\x3dtypeof navigator\x26\x26/MSIE [1-9]\\./.test(navigator.userAgent))){var u\x3ds.document.createElementNS(\x22http://www.w3.org/1999/xhtml\x22,\x22a\x22),c\x3d\x22download\x22in u,d\x3d/constructor/i.test(s.HTMLElement)||s.safari,f\x3d/CriOS\\/[\\d]+/.test(navigator.userAgent),h\x3dfunction(e){(s.setImmediate||s.setTimeout)(function(){throw e;},0)},p\x3dfunction(e){setTimeout(function(){\x22string\x22\x3d\x3dtypeof e?(s.URL||s.webkitURL||s).revokeObjectURL(e):e.remove()},4E4)},y\x3dfunction(e){return/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*\x3d\\s*utf-8/i.test(e.type)?\nnew Blob([String.fromCharCode(65279),e],{type:e.type}):e},n$jscomp$1\x3dfunction(e$jscomp$1,r,t$jscomp$0){function n$jscomp$0(){for(var e$jscomp$0\x3di,t\x3d[\x22writestart\x22,\x22progress\x22,\x22write\x22,\x22writeend\x22],n\x3d(t\x3d[].concat(t)).length;n--;){var o\x3de$jscomp$0[\x22on\x22+t[n]];if(\x22function\x22\x3d\x3dtypeof o)try{o.call(e$jscomp$0,e$jscomp$0)}catch(e){h(e)}}!0}t$jscomp$0||(e$jscomp$1\x3dy(e$jscomp$1));var o$jscomp$0,i\x3dthis,a\x3d\x22application/octet-stream\x22\x3d\x3d\x3de$jscomp$1.type;if(i.readyState\x3di.INIT,c)return o$jscomp$0\x3d(s.URL||s.webkitURL||\ns).createObjectURL(e$jscomp$1),void setTimeout(function(){u.href\x3do$jscomp$0;u.download\x3dr;var t\x3dnew MouseEvent(\x22click\x22);u.dispatchEvent(t);n$jscomp$0();p(o$jscomp$0);i.readyState\x3di.DONE});!function(){if((f||a\x26\x26d)\x26\x26s.FileReader){var t\x3dnew FileReader;return t.onloadend\x3dfunction(){var e\x3df?t.result:t.result.replace(/^data:[^;]*;/,\x22data:attachment/file;\x22);s.open(e,\x22_blank\x22)||(s.location.href\x3de);i.readyState\x3di.DONE;n$jscomp$0()},t.readAsDataURL(e$jscomp$1),i.readyState\x3di.INIT}(o$jscomp$0\x3do$jscomp$0||(s.URL||\ns.webkitURL||s).createObjectURL(e$jscomp$1),a)?s.location.href\x3do$jscomp$0:s.open(o$jscomp$0,\x22_blank\x22)||(s.location.href\x3do$jscomp$0);i.readyState\x3di.DONE;n$jscomp$0();p(o$jscomp$0)}()},t$jscomp$1\x3dn$jscomp$1.prototype;return\x22undefined\x22!\x3dtypeof navigator\x26\x26navigator.msSaveOrOpenBlob?function(e,t,r){return t\x3dt||e.name||\x22download\x22,r||(e\x3dy(e)),navigator.msSaveOrOpenBlob(e,t)}:(t$jscomp$1.abort\x3dfunction(){},t$jscomp$1.readyState\x3dt$jscomp$1.INIT\x3d0,t$jscomp$1.WRITING\x3d1,t$jscomp$1.DONE\x3d2,t$jscomp$1.error\x3dt$jscomp$1.onwritestart\x3d\nt$jscomp$1.onprogress\x3dt$jscomp$1.onwrite\x3dt$jscomp$1.onabort\x3dt$jscomp$1.onerror\x3dt$jscomp$1.onwriteend\x3dnull,function(e,t,r){return new n$jscomp$1(e,t||e.name||\x22download\x22,r)})}}(\x22undefined\x22!\x3dtypeof self\x26\x26self||\x22undefined\x22!\x3dtypeof window\x26\x26window||this.content);void 0!\x3d\x3dt$jscomp$2\x26\x26t$jscomp$2.exports\x26\x26(t$jscomp$2.exports.saveAs\x3dn$jscomp$2)},{}],236:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){r$jscomp$0.read\x3dfunction(e,t,r,n,o){var a\x3d8*o-n-1;var l\x3d(1\x3c\x3ca)-1,u\x3dl\x3e\x3e1,c\x3d-7;o\x3dr?o-1:0;var f\x3dr?-1:1,h\x3de[t+o];o+\x3d\nf;r\x3dh\x26(1\x3c\x3c-c)-1;h\x3e\x3e\x3d-c;for(c+\x3da;0\x3cc;r\x3d256*r+e[t+o],o+\x3df,c-\x3d8);a\x3dr\x26(1\x3c\x3c-c)-1;r\x3e\x3e\x3d-c;for(c+\x3dn;0\x3cc;a\x3d256*a+e[t+o],o+\x3df,c-\x3d8);if(0\x3d\x3d\x3dr)r\x3d1-u;else{if(r\x3d\x3d\x3dl)return a?NaN:1/0*(h?-1:1);a+\x3dMath.pow(2,n);r-\x3du}return(h?-1:1)*a*Math.pow(2,r-n)};r$jscomp$0.write\x3dfunction(e,t,r,n,o,i){var a,s,l,u\x3d8*i-o-1,c\x3d(1\x3c\x3cu)-1,d\x3dc\x3e\x3e1,f\x3d23\x3d\x3d\x3do?Math.pow(2,-24)-Math.pow(2,-77):0;i\x3dn?0:i-1;n\x3dn?1:-1;var y\x3d0\x3et||0\x3d\x3d\x3dt\x26\x260\x3e1/t?1:0;t\x3dMath.abs(t);for(isNaN(t)||t\x3d\x3d\x3d1/0?(s\x3disNaN(t)?1:0,a\x3dc):(a\x3dMath.floor(Math.log(t)/Math.LN2),1\x3et*(l\x3dMath.pow(2,\n-a))\x26\x26(a--,l*\x3d2),2\x3c\x3d(t+\x3d1\x3c\x3da+d?f/l:f*Math.pow(2,1-d))*l\x26\x26(a++,l/\x3d2),c\x3c\x3da+d?(s\x3d0,a\x3dc):1\x3c\x3da+d?(s\x3d(t*l-1)*Math.pow(2,o),a+\x3dd):(s\x3dt*Math.pow(2,d-1)*Math.pow(2,o),a\x3d0));8\x3c\x3do;e[r+i]\x3d255\x26s,i+\x3dn,s/\x3d256,o-\x3d8);a\x3da\x3c\x3co|s;for(u+\x3do;0\x3cu;e[r+i]\x3d255\x26a,i+\x3dn,a/\x3d256,u-\x3d8);e[r+i-n]|\x3d128*y}},{}],237:[function(e$jscomp$2,t$jscomp$2,r$jscomp$1){function m(e,t){return e.b\x3d\x3d\x3dt.b\x26\x26e.a\x3d\x3d\x3dt.a}function g(e,t){return e.b\x3ct.b||e.b\x3d\x3d\x3dt.b\x26\x26e.a\x3c\x3dt.a}function v(e,t,r){var n\x3dt.b-e.b,o\x3dr.b-t.b;return 0\x3cn+o?n\x3co?t.a-e.a+n/(n+o)*(e.a-r.a):\nt.a-r.a+o/(n+o)*(r.a-e.a):0}function b(e,t,r){var n\x3dt.b-e.b,o\x3dr.b-t.b;return 0\x3cn+o?(t.a-r.a)*n+(t.a-e.a)*o:0}function _(e,t){return e.a\x3ct.a||e.a\x3d\x3d\x3dt.a\x26\x26e.b\x3c\x3dt.b}function x(e,t,r){var n\x3dt.a-e.a,o\x3dr.a-t.a;return 0\x3cn+o?n\x3co?t.b-e.b+n/(n+o)*(e.b-r.b):t.b-r.b+o/(n+o)*(r.b-e.b):0}function w(e,t,r){var n\x3dt.a-e.a,o\x3dr.a-t.a;return 0\x3cn+o?(t.b-r.b)*n+(t.b-e.b)*o:0}function j(e,t,r,n){return(e\x3d0\x3ee?0:e)\x3c\x3d(r\x3d0\x3er?0:r)?0\x3d\x3d\x3dr?(t+n)/2:t+e/(e+r)*(n-t):n+r/(e+r)*(t-n)}function a$jscomp$0(e){var t\x3di$jscomp$0(e.b);return o$jscomp$0(t,\ne.c),o$jscomp$0(t.b,e.c),s$jscomp$0(t,e.a),t}function S(e,t){var r\x3d!1,n\x3d!1;e!\x3d\x3dt\x26\x26(t.a!\x3d\x3de.a\x26\x26(n\x3d!0,y$jscomp$0(t.a,e.a)),t.d!\x3d\x3de.d\x26\x26(r\x3d!0,l$jscomp$0(t.d,e.d)),h$jscomp$0(t,e),n||(o$jscomp$0(t,e.a),e.a.c\x3de),r||(s$jscomp$0(t,e.d),e.d.a\x3de))}function d$jscomp$0(e){var t\x3de.b,r\x3d!1;e.d!\x3d\x3de.b.d\x26\x26(r\x3d!0,l$jscomp$0(e.d,e.b.d));e.c\x3d\x3d\x3de?y$jscomp$0(e.a,null):(e.b.d.a\x3dK(e),e.a.c\x3de.c,h$jscomp$0(e,K(e)),r||s$jscomp$0(e,e.d));t.c\x3d\x3d\x3dt?(y$jscomp$0(t.a,null),l$jscomp$0(t.d,null)):(e.d.a\x3dK(t),t.a.c\x3dt.c,h$jscomp$0(t,K(t)));\np$jscomp$0(e)}function M(e){var t\x3di$jscomp$0(e),r\x3dt.b;return h$jscomp$0(t,e.e),t.a\x3de.b.a,o$jscomp$0(r,t.a),t.d\x3dr.d\x3de.d,t\x3dt.b,h$jscomp$0(e.b,K(e.b)),h$jscomp$0(e.b,t),e.b.a\x3dt.a,t.b.a.c\x3dt.b,t.b.d\x3de.b.d,t.f\x3de.f,t.b.f\x3de.b.f,t}function f$jscomp$0(e,t){var r\x3d!1,n\x3di$jscomp$0(e),o\x3dn.b;return t.d!\x3d\x3de.d\x26\x26(r\x3d!0,l$jscomp$0(t.d,e.d)),h$jscomp$0(n,e.e),h$jscomp$0(o,t),n.a\x3de.b.a,o.a\x3dt.a,n.d\x3do.d\x3de.d,e.d.a\x3do,r||s$jscomp$0(n,e.d),n}function i$jscomp$0(e){var t\x3dnew Q,r\x3dnew Q;return(((r.h\x3de.b.h).b.h\x3dt).h\x3de).b.h\x3dr,t.b\x3d\nr,((t.c\x3dt).e\x3dr).b\x3dt,(r.c\x3dr).e\x3dt}function h$jscomp$0(e,t){var r\x3de.c,n\x3dt.c;r.b.e\x3dt;(n.b.e\x3de).c\x3dn;t.c\x3dr}function o$jscomp$0(e,t){var r\x3dt.f,n\x3dnew $(t,r);r.e\x3dn;for(r\x3d(t.f\x3dn).c\x3de;r.a\x3dn,(r\x3dr.c)!\x3d\x3de;);}function s$jscomp$0(e,t){var r\x3dt.d,n\x3dnew Z(t,r);r.b\x3dn;(t.d\x3dn).a\x3de;n.c\x3dt.c;for(r\x3de;r.d\x3dn,(r\x3dr.e)!\x3d\x3de;);}function p$jscomp$0(e){var t\x3de.h;e\x3de.b.h;(t.b.h\x3de).b.h\x3dt}function y$jscomp$0(e,t){for(var r\x3de.c,n\x3dr;n.a\x3dt,(n\x3dn.c)!\x3d\x3dr;);r\x3de.f;((n\x3de.e).f\x3dr).e\x3dn}function l$jscomp$0(e,t){for(var r\x3de.a,n\x3dr;n.d\x3dt,(n\x3dn.e)!\x3d\x3dr;);\nr\x3de.d;((n\x3de.b).d\x3dr).b\x3dn}function E(e){var t\x3d0;return Math.abs(e[1])\x3eMath.abs(e[0])\x26\x26(t\x3d1),Math.abs(e[2])\x3eMath.abs(e[t])\x26\x26(t\x3d2),t}function T(e,t){e.f+\x3dt.f;e.b.f+\x3dt.b.f}function u$jscomp$0(e,t,r){return e\x3de.a,t\x3dt.a,r\x3dr.a,t.b.a\x3d\x3d\x3de?r.b.a\x3d\x3d\x3de?g(t.a,r.a)?0\x3e\x3db(r.b.a,t.a,r.a):0\x3c\x3db(t.b.a,r.a,t.a):0\x3e\x3db(r.b.a,e,r.a):r.b.a\x3d\x3d\x3de?0\x3c\x3db(t.b.a,e,t.a):(t\x3dv(t.b.a,e,t.a),v(r.b.a,e,r.a)\x3c\x3dt)}function O(e){e.a.i\x3dnull;var t\x3de.e;t.a.c\x3dt.c;t.c.a\x3dt.a;e.e\x3dnull}function c$jscomp$0(e,t){d$jscomp$0(e.a);e.c\x3d!1;(e.a\x3dt).i\x3de}function C(e){for(var t\x3d\ne.a.a;(e\x3dde(e)).a.a\x3d\x3d\x3dt;);return e.c\x26\x26(c$jscomp$0(e,f$jscomp$0(ce(e).a.b,e.a.e)),e\x3dde(e)),e}function L(e,t,r){var n\x3dnew ue;return n.a\x3dr,n.e\x3dH(e.f,t.e,n),r.i\x3dn}function P(e,t){switch(e.s){case 100130:return 0!\x3d(1\x26t);case 100131:return 0!\x3d\x3dt;case 100132:return 0\x3ct;case 100133:return 0\x3et;case 100134:return 2\x3c\x3dt||-2\x3e\x3dt}return!1}function A(e){var t\x3de.a,r\x3dt.d;r.c\x3de.d;r.a\x3dt;O(e)}function k(e,t,r){for(t\x3d(e\x3dt).a;e!\x3d\x3dr;){e.c\x3d!1;var n\x3dce(e),o\x3dn.a;if(o.a!\x3d\x3dt.a){if(!n.c){A(e);break}c$jscomp$0(n,o\x3df$jscomp$0(t.c.b,\no.b))}t.c!\x3d\x3do\x26\x26(S(K(o),o),S(t,o));A(e);t\x3dn.a;e\x3dn}return t}function R(e,t,r,n,o,i){for(var a\x3d!0;L(e,t,r.b),(r\x3dr.c)!\x3d\x3dn;);for(null\x3d\x3d\x3do\x26\x26(o\x3dce(t).a.b.c);(r\x3d(n\x3dce(t)).a.b).a\x3d\x3d\x3do.a;)r.c!\x3d\x3do\x26\x26(S(K(r),r),S(K(o),r)),n.f\x3dt.f-r.f,n.d\x3dP(e,n.f),t.b\x3d!0,!a\x26\x26N(e,t)\x26\x26(T(r,o),O(t),d$jscomp$0(o)),a\x3d!1,t\x3dn,o\x3dr;t.b\x3d!0;i\x26\x26B(e,t)}function D(e,t,r,n,o){var i\x3d[t.g[0],t.g[1],t.g[2]];t.d\x3dnull;t.d\x3de.o\x26\x26e.o(i,r,n,e.c)||null;null\x3d\x3d\x3dt.d\x26\x26(o?e.n||(Y(e,100156),e.n\x3d!0):t.d\x3dr[0])}function I(e,t,r){var n\x3d[null,null,null,null];n[0]\x3d\nt.a.d;n[1]\x3dr.a.d;D(e,t.a,n,[.5,.5,0,0],!1);S(t,r)}function U(e,t,r,n,o){var i\x3dMath.abs(t.b-e.b)+Math.abs(t.a-e.a),a\x3dMath.abs(r.b-e.b)+Math.abs(r.a-e.a),s\x3do+1;n[o]\x3d.5*a/(i+a);n[s]\x3d.5*i/(i+a);e.g[0]+\x3dn[o]*t.g[0]+n[s]*r.g[0];e.g[1]+\x3dn[o]*t.g[1]+n[s]*r.g[1];e.g[2]+\x3dn[o]*t.g[2]+n[s]*r.g[2]}function N(e,t){var r\x3dce(t),n\x3dt.a,o\x3dr.a;if(g(n.a,o.a)){if(0\x3cb(o.b.a,n.a,o.a))return!1;if(m(n.a,o.a)){if(n.a!\x3d\x3do.a){r\x3de.e;t\x3dn.a.h;if(0\x3c\x3dt){var a\x3d(r\x3dr.b).d,s\x3dr.e,l\x3dr.c,u\x3dl[t];a[u]\x3da[r.a];(l[a[u]]\x3du)\x3c\x3d--r.a\x26\x26(1\x3e\x3du?se(r,\nu):g(s[a[u\x3e\x3e1]],s[a[u]])?se(r,u):le(r,u));s[t]\x3dnull;l[t]\x3dr.b;r.b\x3dt}else for(r.c[-(t+1)]\x3dnull;0\x3cr.a\x26\x26null\x3d\x3d\x3dr.c[r.d[r.a-1]];)--r.a;I(e,K(o),n)}}else M(o.b),S(n,K(o)),t.b\x3dr.b\x3d!0}else{if(0\x3eb(n.b.a,o.a,n.a))return!1;de(t).b\x3dt.b\x3d!0;M(n.b);S(K(o),n)}return!0}function F(e,t){var r\x3dce(t),n\x3dt.a,o\x3dr.a,i\x3dn.a,a\x3do.a,s\x3dn.b.a,l\x3do.b.a,u\x3dnew $;if(b(s,e.a,i),b(l,e.a,a),i\x3d\x3d\x3da||Math.min(i.a,s.a)\x3eMath.max(a.a,l.a))return!1;if(g(i,a)){if(0\x3cb(l,i,a))return!1}else if(0\x3eb(s,a,i))return!1;var c,d,f\x3ds,h\x3di,p\x3dl,y\x3da;if(g(f,h)||\n(c\x3df,f\x3dh,h\x3dc),g(p,y)||(c\x3dp,p\x3dy,y\x3dc),g(f,p)||(c\x3df,f\x3dp,p\x3dc,c\x3dh,h\x3dy,y\x3dc),g(p,h)?g(h,y)?(0\x3e(c\x3dv(f,p,h))+(d\x3dv(p,h,y))\x26\x26(c\x3d-c,d\x3d-d),u.b\x3dj(c,p.b,d,h.b)):(0\x3e(c\x3db(f,p,h))+(d\x3d-b(f,y,h))\x26\x26(c\x3d-c,d\x3d-d),u.b\x3dj(c,p.b,d,y.b)):u.b\x3d(p.b+h.b)/2,_(f,h)||(c\x3df,f\x3dh,h\x3dc),_(p,y)||(c\x3dp,p\x3dy,y\x3dc),_(f,p)||(c\x3df,f\x3dp,p\x3dc,c\x3dh,h\x3dy,y\x3dc),_(p,h)?_(h,y)?(0\x3e(c\x3dx(f,p,h))+(d\x3dx(p,h,y))\x26\x26(c\x3d-c,d\x3d-d),u.a\x3dj(c,p.a,d,h.a)):(0\x3e(c\x3dw(f,p,h))+(d\x3d-w(f,y,h))\x26\x26(c\x3d-c,d\x3d-d),u.a\x3dj(c,p.a,d,y.a)):u.a\x3d(p.a+h.a)/2,g(u,e.a)\x26\x26(u.b\x3de.a.b,u.a\x3de.a.a),f\x3dg(i,a)?i:\na,g(f,u)\x26\x26(u.b\x3df.b,u.a\x3df.a),m(u,i)||m(u,a))return N(e,t),!1;if(!m(s,e.a)\x26\x260\x3c\x3db(s,e.a,u)||!m(l,e.a)\x26\x260\x3e\x3db(l,e.a,u)){if(l\x3d\x3d\x3de.a)return M(n.b),S(o.b,n),n\x3dce(t\x3dC(t)).a,k(e,ce(t),r),R(e,t,K(n),n,n,!0),!0;if(s!\x3d\x3de.a)return 0\x3c\x3db(s,e.a,u)\x26\x26(de(t).b\x3dt.b\x3d!0,M(n.b),n.a.b\x3de.a.b,n.a.a\x3de.a.a),0\x3e\x3db(l,e.a,u)\x26\x26(t.b\x3dr.b\x3d!0,M(o.b),o.a.b\x3de.a.b,o.a.a\x3de.a.a),!1;M(o.b);S(n.e,K(o));for(a\x3d(i\x3dr\x3dt).a.b.a;(i\x3dde(i)).a.b.a\x3d\x3d\x3da;);return i\x3dce(t\x3di).a.b.c,r.a\x3dK(o),R(e,t,k(e,r,null).c,n.b.c,i,!0),!0}return M(n.b),M(o.b),S(K(o),n),\nn.a.b\x3du.b,n.a.a\x3du.a,n.a.h\x3dte(e.e,n.a),n\x3dn.a,o\x3d[0,0,0,0],u\x3d[i.d,s.d,a.d,l.d],n.g[0]\x3dn.g[1]\x3dn.g[2]\x3d0,U(n,i,s,o,0),U(n,a,l,o,2),D(e,n,u,o,!0),de(t).b\x3dt.b\x3dr.b\x3d!0,!1}function B(e,t){for(var r\x3dce(t);;){for(;r.b;)r\x3dce(t\x3dr);if(!(t.b||null!\x3d\x3d(t\x3dde(r\x3dt))\x26\x26t.b))break;t.b\x3d!1;var n,o\x3dt.a,i\x3dr.a;if(n\x3do.b.a!\x3d\x3di.b.a)a:{var a\x3dce(n\x3dt),s\x3dn.a,l\x3da.a;if(g(s.b.a,l.b.a)){if(0\x3eb(s.b.a,l.b.a,s.a)){n\x3d!1;break a}de(n).b\x3dn.b\x3d!0;a\x3dM(s);S(l.b,a);a.d.c\x3dn.d}else{if(0\x3cb(l.b.a,s.b.a,l.a)){n\x3d!1;break a}n.b\x3da.b\x3d!0;a\x3dM(l);S(s.e,l.b);a.b.d.c\x3d\nn.d}n\x3d!0}if(n\x26\x26(r.c?(O(r),d$jscomp$0(i),i\x3d(r\x3dce(t)).a):t.c\x26\x26(O(t),d$jscomp$0(o),o\x3d(t\x3dde(r)).a)),o.a!\x3d\x3di.a)if(o.b.a\x3d\x3d\x3di.b.a||t.c||r.c||o.b.a!\x3d\x3de.a\x26\x26i.b.a!\x3d\x3de.a)N(e,t);else if(F(e,t))break;o.a\x3d\x3d\x3di.a\x26\x26o.b.a\x3d\x3d\x3di.b.a\x26\x26(T(i,o),O(t),d$jscomp$0(o),t\x3dde(r))}}function G(e,t){for(var r\x3d(e.a\x3dt).c;null\x3d\x3d\x3dr.i;)if((r\x3dr.c)\x3d\x3d\x3dt.c){r\x3de;var n\x3dt;(a\x3dnew ue).a\x3dn.c.b;for(t\x3d(l\x3dr.f).a;null!\x3d\x3d(t\x3dt.a).b\x26\x26!l.c(l.b,a,t.b););var i\x3dce(l\x3dt.b),a\x3dl.a;t\x3di.a;if(0\x3d\x3d\x3db(a.b.a,n,a.a))m((a\x3dl.a).a,n)||m(a.b.a,n)||(M(a.b),l.c\x26\x26(d$jscomp$0(a.c),\nl.c\x3d!1),S(n.c,a),G(r,n));else{var s\x3dg(t.b.a,a.b.a)?l:i;i\x3dvoid 0;l.d||s.c?(i\x3ds\x3d\x3d\x3dl?f$jscomp$0(n.c.b,a.e):f$jscomp$0(t.b.c.b,n.c).b,s.c?c$jscomp$0(s,i):((l\x3dL(a\x3dr,l,i)).f\x3dde(l).f+l.a.f,l.d\x3dP(a,l.f)),G(r,n)):R(r,l,n.c,n.c,null,!0)}return}if(l\x3d(a\x3dce(r\x3dC(r.i))).a,(a\x3dk(e,a,null)).c\x3d\x3d\x3dl){a\x3d(l\x3da).c;t\x3dce(r);i\x3dr.a;s\x3dt.a;var l,u\x3d!1;i.b.a!\x3d\x3ds.b.a\x26\x26F(e,r);m(i.a,e.a)\x26\x26(S(K(a),i),a\x3dce(r\x3dC(r)).a,k(e,ce(r),t),u\x3d!0);m(s.a,e.a)\x26\x26(S(l,K(s)),l\x3dk(e,t,null),u\x3d!0);u?R(e,r,l.c,a,a,!0):(n\x3dg(s.a,i.a)?K(s):i,R(e,r,n\x3df$jscomp$0(l.c.b,\nn),n.c,n.c,!1),n.b.i.c\x3d!0,B(e,r))}else R(e,r,a.c,l,l,!0)}function V(e,t){var r\x3dnew ue,n\x3da$jscomp$0(e.b);n.a.b\x3d4E150;n.a.a\x3dt;n.b.a.b\x3d-4E150;n.b.a.a\x3dt;e.a\x3dn.b.a;r.a\x3dn;r.f\x3d0;r.d\x3d!1;r.c\x3d!1;r.h\x3d!0;r.b\x3d!1;n\x3dH(n\x3de.f,n.a,r);r.e\x3dn}function z(e){this.a\x3dnew W;this.b\x3de;this.c\x3du$jscomp$0}function H(e,t,r){for(;null!\x3d\x3d(t\x3dt.c).b\x26\x26!e.c(e.b,t.b,r););return e\x3dnew W(r,t.a,t),t.a.c\x3de,t.a\x3de}function W(e,t,r){this.b\x3de||null;this.a\x3dt||this;this.c\x3dr||this}function q(){this.d\x3d0;this.p\x3dthis.b\x3dthis.q\x3dnull;this.j\x3d[0,0,0];this.s\x3d\n100130;this.n\x3d!1;this.o\x3dthis.a\x3dthis.e\x3dthis.f\x3dnull;this.m\x3d!1;this.c\x3dthis.r\x3dthis.i\x3dthis.k\x3dthis.l\x3dthis.h\x3dnull}function X(e,t){if(e.d!\x3d\x3dt)for(;e.d!\x3d\x3dt;)if(e.d\x3ct)switch(e.d){case 0:Y(e,100151);e.u(null);break;case 1:Y(e,100152),e.t()}else switch(e.d){case 2:Y(e,100154);e.v();break;case 1:Y(e,100153),e.w()}}function Y(e,t){e.p\x26\x26e.p(t,e.c)}function Z(e,t){this.b\x3de||this;this.d\x3dt||this;this.a\x3dnull;this.c\x3d!1}function Q(){(this.h\x3dthis).i\x3dthis.d\x3dthis.a\x3dthis.e\x3dthis.c\x3dthis.b\x3dnull;this.f\x3d0}function K(e){return e.b.e}\nfunction J(){this.c\x3dnew $;this.a\x3dnew Z;this.b\x3dnew Q;this.d\x3dnew Q;this.b.b\x3dthis.d;this.d.b\x3dthis.b}function $(e,t){this.e\x3de||this;this.f\x3dt||this;this.d\x3dthis.c\x3dnull;this.g\x3d[0,0,0];this.h\x3dthis.a\x3dthis.b\x3d0}function ee(){this.c\x3d[];this.d\x3dnull;this.a\x3d0;this.e\x3d!1;this.b\x3dnew ne}function te(e,t){if(e.e){var r,n\x3de.b;e\x3d++n.a;return 2*e\x3en.f\x26\x26(n.f*\x3d2,n.c\x3doe(n.c,n.f+1)),0\x3d\x3d\x3dn.b?r\x3de:(r\x3dn.b,n.b\x3dn.c[n.b]),n.e[r]\x3dt,n.c[r]\x3de,n.d[e]\x3dr,n.h\x26\x26le(n,e),r}return n\x3de.a++,e.c[n]\x3dt,-(n+1)}function re(e){if(0\x3d\x3d\x3de.a)return ae(e.b);\nvar t\x3de.c[e.d[e.a-1]];if(0!\x3d\x3de.b.a\x26\x26g(ie(e.b),t))return ae(e.b);for(;--e.a,0\x3ce.a\x26\x26null\x3d\x3d\x3de.c[e.d[e.a-1]];);return t}function ne(){this.d\x3doe([0],33);this.e\x3d[null,null];this.c\x3d[0,0];this.a\x3d0;this.f\x3d32;this.b\x3d0;this.h\x3d!1;this.d[1]\x3d1}function oe(e,t){for(var r\x3dArray(t),n\x3d0;n\x3ce.length;n++)r[n]\x3de[n];for(;n\x3ct;n++)r[n]\x3d0;return r}function ie(e){return e.e[e.d[1]]}function ae(e){var t\x3de.d,r\x3de.e,n\x3de.c,o\x3dt[1],i\x3dr[o];return 0\x3ce.a\x26\x26(t[1]\x3dt[e.a],n[t[1]]\x3d1,r[o]\x3dnull,n[o]\x3de.b,e.b\x3do,0\x3c--e.a\x26\x26se(e,1)),i}function se(e,\nt){for(var r\x3de.d,n\x3de.e,o\x3de.c,a\x3dr[t];;){var s\x3dt\x3c\x3c1;s\x3ce.a\x26\x26g(n[r[s+1]],n[r[s]])\x26\x26(s+\x3d1);var l\x3dr[s];if(s\x3ee.a||g(n[a],n[l])){o[r[t]\x3da]\x3dt;break}o[r[t]\x3dl]\x3dt;t\x3ds}}function le(e,t){var r\x3de.d,n\x3de.e;e\x3de.c;for(var a\x3dr[t];;){var s\x3dt\x3e\x3e1,l\x3dr[s];if(0\x3d\x3ds||g(n[l],n[a])){e[r[t]\x3da]\x3dt;break}e[r[t]\x3dl]\x3dt;t\x3ds}}function ue(){this.e\x3dthis.a\x3dnull;this.f\x3d0;this.c\x3dthis.b\x3dthis.h\x3dthis.d\x3d!1}function ce(e){return e.e.c.b}function de(e){return e.e.a.b}(e$jscomp$2\x3dq.prototype).x\x3dfunction(){X(this,0)};e$jscomp$2.B\x3dfunction(e,t){switch(e){case 100142:return;\ncase 100140:switch(t){case 100130:case 100131:case 100132:case 100133:case 100134:return void(this.s\x3dt)}break;case 100141:return void(this.m\x3d!!t);default:return void Y(this,100900)}Y(this,100901)};e$jscomp$2.y\x3dfunction(e){switch(e){case 100142:return 0;case 100140:return this.s;case 100141:return this.m;default:Y(this,100900)}return!1};e$jscomp$2.A\x3dfunction(e,t,r){this.j[0]\x3de;this.j[1]\x3dt;this.j[2]\x3dr};e$jscomp$2.z\x3dfunction(e,t){t\x3dt||null;switch(e){case 100100:case 100106:this.h\x3dt;break;case 100104:case 100110:this.l\x3d\nt;break;case 100101:case 100107:this.k\x3dt;break;case 100102:case 100108:this.i\x3dt;break;case 100103:case 100109:this.p\x3dt;break;case 100105:case 100111:this.o\x3dt;break;case 100112:this.r\x3dt;break;default:Y(this,100900)}};e$jscomp$2.C\x3dfunction(e,t){var r\x3d!1,n\x3d[0,0,0];X(this,2);for(var o\x3d0;3\x3eo;++o){var i\x3de[o];-1E150\x3ei\x26\x26(i\x3d-1E150,r\x3d!0);1E150\x3ci\x26\x26(i\x3d1E150,r\x3d!0);n[o]\x3di}r\x26\x26Y(this,100155);null\x3d\x3d\x3d(r\x3dthis.q)?S(r\x3da$jscomp$0(this.b),r.b):(M(r),r\x3dr.e);r.a.d\x3dt;r.a.g[0]\x3dn[0];r.a.g[1]\x3dn[1];r.a.g[2]\x3dn[2];r.f\x3d1;r.b.f\x3d-1;\nthis.q\x3dr};e$jscomp$2.u\x3dfunction(e){X(this,0);this.d\x3d1;this.b\x3dnew J;this.c\x3de};e$jscomp$2.t\x3dfunction(){X(this,1);this.d\x3d2;this.q\x3dnull};e$jscomp$2.v\x3dfunction(){X(this,2);this.d\x3d1};e$jscomp$2.w\x3dfunction(){X(this,1);this.d\x3d0;var e$jscomp$1,t$jscomp$1,r$jscomp$0\x3d!1,n\x3d[l\x3dthis.j[0],o\x3dthis.j[1],a\x3dthis.j[2]];if(0\x3d\x3d\x3dl\x26\x260\x3d\x3d\x3do\x26\x260\x3d\x3d\x3da){for(var o\x3d[-2E150,-2E150,-2E150],i\x3d[2E150,2E150,2E150],a\x3d[],s\x3d[],l\x3d(r$jscomp$0\x3dthis.b.c).e;l!\x3d\x3dr$jscomp$0;l\x3dl.e)for(var u\x3d0;3\x3eu;++u){var c\x3dl.g[u];c\x3ci[u]\x26\x26(i[u]\x3dc,s[u]\x3dl);c\x3eo[u]\x26\x26\n(o[u]\x3dc,a[u]\x3dl)}if(l\x3d0,o[1]-i[1]\x3eo[0]-i[0]\x26\x26(l\x3d1),o[2]-i[2]\x3eo[l]-i[l]\x26\x26(l\x3d2),i[l]\x3e\x3do[l])n[0]\x3d0,n[1]\x3d0,n[2]\x3d1;else{o\x3d0;i\x3ds[l];a\x3da[l];s\x3d[0,0,0];i\x3d[i.g[0]-a.g[0],i.g[1]-a.g[1],i.g[2]-a.g[2]];u\x3d[0,0,0];for(l\x3dr$jscomp$0.e;l!\x3d\x3dr$jscomp$0;l\x3dl.e)u[0]\x3dl.g[0]-a.g[0],u[1]\x3dl.g[1]-a.g[1],u[2]\x3dl.g[2]-a.g[2],s[0]\x3di[1]*u[2]-i[2]*u[1],s[1]\x3di[2]*u[0]-i[0]*u[2],s[2]\x3di[0]*u[1]-i[1]*u[0],o\x3c(c\x3ds[0]*s[0]+s[1]*s[1]+s[2]*s[2])\x26\x26(o\x3dc,n[0]\x3ds[0],n[1]\x3ds[1],n[2]\x3ds[2]);0\x3e\x3do\x26\x26(n[0]\x3dn[1]\x3dn[2]\x3d0,n[E(i)]\x3d1)}r$jscomp$0\x3d!0}s\x3dE(n);l\x3d\nthis.b.c;o\x3d(s+1)%3;a\x3d(s+2)%3;s\x3d0\x3cn[s]?1:-1;for(n\x3dl.e;n!\x3d\x3dl;n\x3dn.e)n.b\x3dn.g[o],n.a\x3ds*n.g[a];if(r$jscomp$0){n\x3d0;for(l\x3d(r$jscomp$0\x3dthis.b.a).b;l!\x3d\x3dr$jscomp$0;l\x3dl.b)if(!(0\x3e\x3d(o\x3dl.a).f))for(;n+\x3d(o.a.b-o.b.a.b)*(o.a.a+o.b.a.a),(o\x3do.e)!\x3d\x3dl.a;);if(0\x3en)for(r$jscomp$0\x3d(n\x3dthis.b.c).e;r$jscomp$0!\x3d\x3dn;r$jscomp$0\x3dr$jscomp$0.e)r$jscomp$0.a\x3d-r$jscomp$0.a}this.n\x3d!1;for(l\x3d(n\x3dthis.b.b).h;l!\x3d\x3dn;l\x3dr$jscomp$0)r$jscomp$0\x3dl.h,o\x3dl.e,m(l.a,l.b.a)\x26\x26l.e.e!\x3d\x3dl\x26\x26(I(this,o,l),d$jscomp$0(l),o\x3d(l\x3do).e),o.e\x3d\x3d\x3dl\x26\x26(o!\x3d\x3dl\x26\x26(o!\x3d\x3dr$jscomp$0\x26\x26\no!\x3d\x3dr$jscomp$0.b||(r$jscomp$0\x3dr$jscomp$0.h),d$jscomp$0(o)),l!\x3d\x3dr$jscomp$0\x26\x26l!\x3d\x3dr$jscomp$0.b||(r$jscomp$0\x3dr$jscomp$0.h),d$jscomp$0(l));this.e\x3dn\x3dnew ee;for(l\x3d(r$jscomp$0\x3dthis.b.c).e;l!\x3d\x3dr$jscomp$0;l\x3dl.e)l.h\x3dte(n,l);!function(e$jscomp$0){e$jscomp$0.d\x3d[];for(var t$jscomp$0\x3d0;t$jscomp$0\x3ce$jscomp$0.a;t$jscomp$0++)e$jscomp$0.d[t$jscomp$0]\x3dt$jscomp$0;e$jscomp$0.d.sort(function(r){return function(e,t){return g(r[e],r[t])?1:-1}}(e$jscomp$0.c));e$jscomp$0.e\x3d!0;(function(e){for(var t\x3de.a;1\x3c\x3dt;--t)se(e,t);e.h\x3d\n!0})(e$jscomp$0.b)}(n);this.f\x3dnew z(this);V(this,-4E150);for(V(this,4E150);null!\x3d\x3d(n\x3dre(this.e));){for(;;){if(l\x3dthis.e,0\x3d\x3d\x3dl.a)r$jscomp$0\x3die(l.b);else if(r$jscomp$0\x3dl.c[l.d[l.a-1]],0!\x3d\x3dl.b.a\x26\x26(l\x3die(l.b),g(l,r$jscomp$0)))r$jscomp$0\x3dl;if(null\x3d\x3d\x3dr$jscomp$0||!m(r$jscomp$0,n))break;r$jscomp$0\x3dre(this.e);I(this,n.c,r$jscomp$0.c)}G(this,n)}this.a\x3dthis.f.a.a.b.a.a;for(n\x3d0;null!\x3d\x3d(r$jscomp$0\x3dthis.f.a.a.b);)r$jscomp$0.h||++n,O(r$jscomp$0);this.f\x3dnull;(n\x3dthis.e).b\x3dnull;n.d\x3dnull;this.e\x3dn.c\x3dnull;for(l\x3d(n\x3dthis.b).a.b;l!\x3d\x3d\nn.a;l\x3dr$jscomp$0)r$jscomp$0\x3dl.b,(l\x3dl.a).e.e\x3d\x3d\x3dl\x26\x26(T(l.c,l),d$jscomp$0(l));if(!this.n){if(n\x3dthis.b,this.m)for(l\x3dn.b.h;l!\x3d\x3dn.b;l\x3dr$jscomp$0)r$jscomp$0\x3dl.h,l.b.d.c!\x3d\x3dl.d.c?l.f\x3dl.d.c?1:-1:d$jscomp$0(l);else for(l\x3dn.a.b;l!\x3d\x3dn.a;l\x3dr$jscomp$0)if(r$jscomp$0\x3dl.b,l.c){for(l\x3dl.a;g(l.b.a,l.a);l\x3dl.c.b);for(;g(l.a,l.b.a);l\x3dl.e);o\x3dl.c.b;for(a\x3dvoid 0;l.e!\x3d\x3do;)if(g(l.b.a,o.a)){for(;o.e!\x3d\x3dl\x26\x26(g((t$jscomp$1\x3do.e).b.a,t$jscomp$1.a)||0\x3e\x3db(o.a,o.b.a,o.e.b.a));)o\x3d(a\x3df$jscomp$0(o.e,o)).b;o\x3do.c.b}else{for(;o.e!\x3d\x3dl\x26\x26(g((e$jscomp$1\x3d\nl.c.b).a,e$jscomp$1.b.a)||0\x3c\x3db(l.b.a,l.a,l.c.b.a));)l\x3d(a\x3df$jscomp$0(l,l.c.b)).b;l\x3dl.e}for(;o.e.e!\x3d\x3dl;)o\x3d(a\x3df$jscomp$0(o.e,o)).b}if(this.h||this.i||this.k||this.l)if(this.m)for(r$jscomp$0\x3d(n\x3dthis.b).a.b;r$jscomp$0!\x3d\x3dn.a;r$jscomp$0\x3dr$jscomp$0.b){if(r$jscomp$0.c){this.h\x26\x26this.h(2,this.c);for(l\x3dr$jscomp$0.a;this.k\x26\x26this.k(l.a.d,this.c),(l\x3dl.e)!\x3d\x3dr$jscomp$0.a;);this.i\x26\x26this.i(this.c)}}else{n\x3dthis.b;r$jscomp$0\x3d!!this.l;l\x3d!1;o\x3d-1;for(a\x3dn.a.d;a!\x3d\x3dn.a;a\x3da.d)if(a.c)for(l||(this.h\x26\x26this.h(4,this.c),l\x3d!0),s\x3d\na.a;r$jscomp$0\x26\x26o!\x3d\x3d(i\x3ds.b.d.c?0:1)\x26\x26(o\x3di,this.l\x26\x26this.l(!!o,this.c)),this.k\x26\x26this.k(s.a.d,this.c),(s\x3ds.e)!\x3d\x3da.a;);l\x26\x26this.i\x26\x26this.i(this.c)}if(this.r){for(l\x3d(n\x3dthis.b).a.b;l!\x3d\x3dn.a;l\x3dr$jscomp$0)if(r$jscomp$0\x3dl.b,!l.c){a\x3d(o\x3dl.a).e;for(s\x3dvoid 0;a\x3d(s\x3da).e,(s.d\x3dnull)\x3d\x3d\x3ds.b.d\x26\x26(s.c\x3d\x3d\x3ds?y$jscomp$0(s.a,null):(s.a.c\x3ds.c,h$jscomp$0(s,K(s))),(i\x3ds.b).c\x3d\x3d\x3di?y$jscomp$0(i.a,null):(i.a.c\x3di.c,h$jscomp$0(i,K(i))),p$jscomp$0(s)),s!\x3d\x3do;);o\x3dl.d;((l\x3dl.b).d\x3do).b\x3dl}return this.r(this.b),void(this.c\x3dthis.b\x3dnull)}}this.b\x3d\nthis.c\x3dnull};this.libtess\x3d{GluTesselator:q,windingRule:{GLU_TESS_WINDING_ODD:100130,GLU_TESS_WINDING_NONZERO:100131,GLU_TESS_WINDING_POSITIVE:100132,GLU_TESS_WINDING_NEGATIVE:100133,GLU_TESS_WINDING_ABS_GEQ_TWO:100134},primitiveType:{GL_LINE_LOOP:2,GL_TRIANGLES:4,GL_TRIANGLE_STRIP:5,GL_TRIANGLE_FAN:6},errorType:{GLU_TESS_MISSING_BEGIN_POLYGON:100151,GLU_TESS_MISSING_END_POLYGON:100153,GLU_TESS_MISSING_BEGIN_CONTOUR:100152,GLU_TESS_MISSING_END_CONTOUR:100154,GLU_TESS_COORD_TOO_LARGE:100155,GLU_TESS_NEED_COMBINE_CALLBACK:100156},\ngluEnum:{GLU_TESS_MESH:100112,GLU_TESS_TOLERANCE:100142,GLU_TESS_WINDING_RULE:100140,GLU_TESS_BOUNDARY_ONLY:100141,GLU_INVALID_ENUM:100900,GLU_INVALID_VALUE:100901,GLU_TESS_BEGIN:100100,GLU_TESS_VERTEX:100101,GLU_TESS_END:100102,GLU_TESS_ERROR:100103,GLU_TESS_EDGE_FLAG:100104,GLU_TESS_COMBINE:100105,GLU_TESS_BEGIN_DATA:100106,GLU_TESS_VERTEX_DATA:100107,GLU_TESS_END_DATA:100108,GLU_TESS_ERROR_DATA:100109,GLU_TESS_EDGE_FLAG_DATA:100110,GLU_TESS_COMBINE_DATA:100111}};q.prototype.gluDeleteTess\x3dq.prototype.x;\nq.prototype.gluTessProperty\x3dq.prototype.B;q.prototype.gluGetTessProperty\x3dq.prototype.y;q.prototype.gluTessNormal\x3dq.prototype.A;q.prototype.gluTessCallback\x3dq.prototype.z;q.prototype.gluTessVertex\x3dq.prototype.C;q.prototype.gluTessBeginPolygon\x3dq.prototype.u;q.prototype.gluTessBeginContour\x3dq.prototype.t;q.prototype.gluTessEndContour\x3dq.prototype.v;q.prototype.gluTessEndPolygon\x3dq.prototype.w;void 0!\x3d\x3dt$jscomp$2\x26\x26(t$jscomp$2.exports\x3dthis.libtess)},{}],238:[function(e$jscomp$3,t$jscomp$2,r$jscomp$2){function O(e,\nt,r,n){for(var o\x3de[t++],i\x3d1\x3c\x3co,a\x3d1+i,s\x3d1+a,l\x3do+1,u\x3d(1\x3c\x3cl)-1,c\x3d0,d\x3d0,f\x3d0,h\x3de[t++],p\x3dnew Int32Array(4096),y\x3dnull;;){for(;16\x3ec\x26\x260!\x3d\x3dh;)d|\x3de[t++]\x3c\x3cc,c+\x3d8,1\x3d\x3d\x3dh?h\x3de[t++]:--h;if(c\x3cl)break;var m\x3dd\x26u;if(d\x3e\x3e\x3dl,c-\x3dl,m!\x3di){if(m\x3d\x3da)break;for(var g\x3dm\x3cs?m:y,v\x3d0,b\x3dg;i\x3cb;)b\x3dp[b]\x3e\x3e8,++v;var _\x3db;if(n\x3cf+v+(g!\x3d\x3dm?1:0))return void console.log(\x22Warning, gif stream longer than expected.\x22);r[f++]\x3d_;var x\x3df+\x3dv;g!\x3d\x3dm\x26\x26(r[f++]\x3d_);for(b\x3dg;v--;)b\x3dp[b],r[--x]\x3d255\x26b,b\x3e\x3e\x3d8;null!\x3d\x3dy\x26\x264096\x3es\x26\x26(p[s++]\x3dy\x3c\x3c8|_,u+1\x3c\x3ds\x26\x2612\x3el\x26\x26(++l,u\x3du\x3c\x3c\n1|1));y\x3dm}else s\x3d1+a,u\x3d(1\x3c\x3c(l\x3do+1))-1,y\x3dnull}return f!\x3d\x3dn\x26\x26console.log(\x22Warning, gif stream shorter than expected.\x22),r}try{r$jscomp$2.GifWriter\x3dfunction(g$jscomp$0,e$jscomp$2,t$jscomp$1,r$jscomp$1){function _$jscomp$0(e){e\x3de.length;if(2\x3ee||256\x3ce||e\x26e-1)throw Error(\x22Invalid code/color length, must be power of 2 and 2 .. 256.\x22);return e}var v$jscomp$0\x3d0,n$jscomp$1\x3dvoid 0\x3d\x3d\x3d(r$jscomp$1\x3dvoid 0\x3d\x3d\x3dr$jscomp$1?{}:r$jscomp$1).loop?null:r$jscomp$1.loop,b$jscomp$0\x3dvoid 0\x3d\x3d\x3dr$jscomp$1.palette?null:r$jscomp$1.palette;\nif(0\x3e\x3de$jscomp$2||0\x3e\x3dt$jscomp$1||65535\x3ce$jscomp$2||65535\x3ct$jscomp$1)throw Error(\x22Width/Height invalid.\x22);g$jscomp$0[v$jscomp$0++]\x3d71;g$jscomp$0[v$jscomp$0++]\x3d73;g$jscomp$0[v$jscomp$0++]\x3d70;g$jscomp$0[v$jscomp$0++]\x3d56;g$jscomp$0[v$jscomp$0++]\x3d57;g$jscomp$0[v$jscomp$0++]\x3d97;var o$jscomp$1\x3d0,i$jscomp$1\x3d0;if(null!\x3d\x3db$jscomp$0){for(var a$jscomp$1\x3d_$jscomp$0(b$jscomp$0);a$jscomp$1\x3e\x3e\x3d1;)++o$jscomp$1;if(a$jscomp$1\x3d1\x3c\x3co$jscomp$1,--o$jscomp$1,void 0!\x3d\x3dr$jscomp$1.background){if(a$jscomp$1\x3c\x3d(i$jscomp$1\x3dr$jscomp$1.background))throw Error(\x22Background index out of range.\x22);\nif(0\x3d\x3d\x3di$jscomp$1)throw Error(\x22Background index explicitly passed as 0.\x22);}}if(g$jscomp$0[v$jscomp$0++]\x3d255\x26e$jscomp$2,g$jscomp$0[v$jscomp$0++]\x3de$jscomp$2\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d255\x26t$jscomp$1,g$jscomp$0[v$jscomp$0++]\x3dt$jscomp$1\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d(null!\x3d\x3db$jscomp$0?128:0)|o$jscomp$1,g$jscomp$0[v$jscomp$0++]\x3di$jscomp$1,g$jscomp$0[v$jscomp$0++]\x3d0,null!\x3d\x3db$jscomp$0)for(e$jscomp$2\x3d0,t$jscomp$1\x3db$jscomp$0.length;e$jscomp$2\x3ct$jscomp$1;++e$jscomp$2)r$jscomp$1\x3db$jscomp$0[e$jscomp$2],\ng$jscomp$0[v$jscomp$0++]\x3dr$jscomp$1\x3e\x3e16\x26255,g$jscomp$0[v$jscomp$0++]\x3dr$jscomp$1\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d255\x26r$jscomp$1;if(null!\x3d\x3dn$jscomp$1){if(0\x3en$jscomp$1||65535\x3cn$jscomp$1)throw Error(\x22Loop count invalid.\x22);g$jscomp$0[v$jscomp$0++]\x3d33;g$jscomp$0[v$jscomp$0++]\x3d255;g$jscomp$0[v$jscomp$0++]\x3d11;g$jscomp$0[v$jscomp$0++]\x3d78;g$jscomp$0[v$jscomp$0++]\x3d69;g$jscomp$0[v$jscomp$0++]\x3d84;g$jscomp$0[v$jscomp$0++]\x3d83;g$jscomp$0[v$jscomp$0++]\x3d67;g$jscomp$0[v$jscomp$0++]\x3d65;g$jscomp$0[v$jscomp$0++]\x3d80;g$jscomp$0[v$jscomp$0++]\x3d\n69;g$jscomp$0[v$jscomp$0++]\x3d50;g$jscomp$0[v$jscomp$0++]\x3d46;g$jscomp$0[v$jscomp$0++]\x3d48;g$jscomp$0[v$jscomp$0++]\x3d3;g$jscomp$0[v$jscomp$0++]\x3d1;g$jscomp$0[v$jscomp$0++]\x3d255\x26n$jscomp$1;g$jscomp$0[v$jscomp$0++]\x3dn$jscomp$1\x3e\x3e8\x26255;g$jscomp$0[v$jscomp$0++]\x3d0}var x\x3d!1;this.addFrame\x3dfunction(e$jscomp$1,t$jscomp$0,r$jscomp$0,n$jscomp$0,o$jscomp$0,i$jscomp$0){if(!0\x3d\x3d\x3dx\x26\x26(--v$jscomp$0,x\x3d!1),i$jscomp$0\x3dvoid 0\x3d\x3d\x3di$jscomp$0?{}:i$jscomp$0,0\x3ee$jscomp$1||0\x3et$jscomp$0||65535\x3ce$jscomp$1||65535\x3ct$jscomp$0)throw Error(\x22x/y invalid.\x22);\nif(0\x3e\x3dr$jscomp$0||0\x3e\x3dn$jscomp$0||65535\x3cr$jscomp$0||65535\x3cn$jscomp$0)throw Error(\x22Width/Height invalid.\x22);if(o$jscomp$0.length\x3cr$jscomp$0*n$jscomp$0)throw Error(\x22Not enough pixels for the frame size.\x22);var a$jscomp$0\x3d!0,s$jscomp$0\x3di$jscomp$0.palette;if(null\x3d\x3ds$jscomp$0\x26\x26(a$jscomp$0\x3d!1,s$jscomp$0\x3db$jscomp$0),null\x3d\x3ds$jscomp$0)throw Error(\x22Must supply either a local or global palette.\x22);for(var l$jscomp$0\x3d_$jscomp$0(s$jscomp$0),u$jscomp$0\x3d0;l$jscomp$0\x3e\x3e\x3d1;)++u$jscomp$0;l$jscomp$0\x3dvoid 0\x3d\x3d\x3di$jscomp$0.delay?\n0:i$jscomp$0.delay;var d$jscomp$0\x3dvoid 0\x3d\x3d\x3di$jscomp$0.disposal?0:i$jscomp$0.disposal;if(0\x3ed$jscomp$0||3\x3cd$jscomp$0)throw Error(\x22Disposal out of range.\x22);var f$jscomp$0\x3d!1,h$jscomp$0\x3d0;if(void 0!\x3d\x3di$jscomp$0.transparent\x26\x26null!\x3d\x3di$jscomp$0.transparent\x26\x26(f$jscomp$0\x3d!0,0\x3e(h$jscomp$0\x3di$jscomp$0.transparent)||1\x3c\x3cu$jscomp$0\x3c\x3dh$jscomp$0))throw Error(\x22Transparent color index.\x22);if(0\x3d\x3d\x3dd$jscomp$0\x26\x26!f$jscomp$0\x26\x260\x3d\x3d\x3dl$jscomp$0||(g$jscomp$0[v$jscomp$0++]\x3d33,g$jscomp$0[v$jscomp$0++]\x3d249,g$jscomp$0[v$jscomp$0++]\x3d\n4,g$jscomp$0[v$jscomp$0++]\x3dd$jscomp$0\x3c\x3c2|(!0\x3d\x3d\x3df$jscomp$0?1:0),g$jscomp$0[v$jscomp$0++]\x3d255\x26l$jscomp$0,g$jscomp$0[v$jscomp$0++]\x3dl$jscomp$0\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3dh$jscomp$0,g$jscomp$0[v$jscomp$0++]\x3d0),g$jscomp$0[v$jscomp$0++]\x3d44,g$jscomp$0[v$jscomp$0++]\x3d255\x26e$jscomp$1,g$jscomp$0[v$jscomp$0++]\x3de$jscomp$1\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d255\x26t$jscomp$0,g$jscomp$0[v$jscomp$0++]\x3dt$jscomp$0\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d255\x26r$jscomp$0,g$jscomp$0[v$jscomp$0++]\x3dr$jscomp$0\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d\n255\x26n$jscomp$0,g$jscomp$0[v$jscomp$0++]\x3dn$jscomp$0\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d!0\x3d\x3d\x3da$jscomp$0?128|u$jscomp$0-1:0,!0\x3d\x3d\x3da$jscomp$0)for(e$jscomp$1\x3d0,t$jscomp$0\x3ds$jscomp$0.length;e$jscomp$1\x3ct$jscomp$0;++e$jscomp$1)r$jscomp$0\x3ds$jscomp$0[e$jscomp$1],g$jscomp$0[v$jscomp$0++]\x3dr$jscomp$0\x3e\x3e16\x26255,g$jscomp$0[v$jscomp$0++]\x3dr$jscomp$0\x3e\x3e8\x26255,g$jscomp$0[v$jscomp$0++]\x3d255\x26r$jscomp$0;return v$jscomp$0\x3dfunction(t,r,e$jscomp$0,n){function f(e){for(;e\x3c\x3dc;)t[r++]\x3d255\x26d,d\x3e\x3e\x3d8,c-\x3d8,r\x3d\x3d\x3do+256\x26\x26(t[o]\x3d255,o\x3dr++)}function h(e){d|\x3d\ne\x3c\x3cc;c+\x3du;f(8)}t[r++]\x3de$jscomp$0;var o\x3dr++,i\x3d1\x3c\x3ce$jscomp$0,a\x3di-1,s\x3d1+i,l\x3d1+s,u\x3de$jscomp$0+1,c\x3d0,d\x3d0,p\x3dn[0]\x26a,y\x3d{};h(i);for(var m\x3d1,g\x3dn.length;m\x3cg;++m){var v\x3dn[m]\x26a,b\x3dp\x3c\x3c8|v,_\x3dy[b];if(void 0\x3d\x3d\x3d_){d|\x3dp\x3c\x3cc;for(c+\x3du;8\x3c\x3dc;)t[r++]\x3d255\x26d,d\x3e\x3e\x3d8,c-\x3d8,r\x3d\x3d\x3do+256\x26\x26(t[o]\x3d255,o\x3dr++);4096\x3d\x3d\x3dl?(h(i),l\x3d1+s,u\x3de$jscomp$0+1,y\x3d{}):(1\x3c\x3cu\x3c\x3dl\x26\x26++u,y[b]\x3dl++);p\x3dv}else p\x3d_}h(p);h(s);f(1);o+1\x3d\x3d\x3dr?t[o]\x3d0:(t[o]\x3dr-o-1,t[r++]\x3d0);return r}(g$jscomp$0,v$jscomp$0,2\x3eu$jscomp$0?2:u$jscomp$0,o$jscomp$0)};this.end\x3dfunction(){return!1\x3d\x3d\x3d\nx\x26\x26(g$jscomp$0[v$jscomp$0++]\x3d59,x\x3d!0),v$jscomp$0};this.getOutputBuffer\x3dfunction(){return g$jscomp$0};this.setOutputBuffer\x3dfunction(e){g$jscomp$0\x3de};this.getOutputBufferPosition\x3dfunction(){return v$jscomp$0};this.setOutputBufferPosition\x3dfunction(e){v$jscomp$0\x3de}},r$jscomp$2.GifReader\x3dfunction(x){var e$jscomp$0\x3d0;if(71!\x3d\x3dx[e$jscomp$0++]||73!\x3d\x3dx[e$jscomp$0++]||70!\x3d\x3dx[e$jscomp$0++]||56!\x3d\x3dx[e$jscomp$0++]||56!\x3d(x[e$jscomp$0++]+1\x26253)||97!\x3d\x3dx[e$jscomp$0++])throw Error(\x22Invalid GIF 87a/89a header.\x22);var w\x3d\nx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,t$jscomp$0\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,r$jscomp$0\x3dx[e$jscomp$0++],n$jscomp$0\x3dr$jscomp$0\x3e\x3e7,o\x3d1\x3c\x3c1+(7\x26r$jscomp$0);x[e$jscomp$0++];x[e$jscomp$0++];var a$jscomp$0\x3dr$jscomp$0\x3dnull;n$jscomp$0\x26\x26(r$jscomp$0\x3de$jscomp$0,e$jscomp$0+\x3d3*(a$jscomp$0\x3do));n$jscomp$0\x3d!0;var l$jscomp$0\x3d[];o\x3d0;var c$jscomp$0\x3dnull,d$jscomp$0\x3d0,f$jscomp$0\x3dnull;this.width\x3dw;for(this.height\x3dt$jscomp$0;n$jscomp$0\x26\x26e$jscomp$0\x3cx.length;)switch(x[e$jscomp$0++]){case 33:switch(x[e$jscomp$0++]){case 255:if(11!\x3d\x3d\nx[e$jscomp$0]||78\x3d\x3dx[e$jscomp$0+1]\x26\x2669\x3d\x3dx[e$jscomp$0+2]\x26\x2684\x3d\x3dx[e$jscomp$0+3]\x26\x2683\x3d\x3dx[e$jscomp$0+4]\x26\x2667\x3d\x3dx[e$jscomp$0+5]\x26\x2665\x3d\x3dx[e$jscomp$0+6]\x26\x2680\x3d\x3dx[e$jscomp$0+7]\x26\x2669\x3d\x3dx[e$jscomp$0+8]\x26\x2650\x3d\x3dx[e$jscomp$0+9]\x26\x2646\x3d\x3dx[e$jscomp$0+10]\x26\x2648\x3d\x3dx[e$jscomp$0+11]\x26\x263\x3d\x3dx[e$jscomp$0+12]\x26\x261\x3d\x3dx[e$jscomp$0+13]\x26\x260\x3d\x3dx[e$jscomp$0+16])e$jscomp$0+\x3d14,f$jscomp$0\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,e$jscomp$0++;else for(e$jscomp$0+\x3d12;;){if(!(0\x3c\x3d(T\x3dx[e$jscomp$0++])))throw Error(\x22Invalid block size\x22);if(0\x3d\x3d\x3dT)break;e$jscomp$0+\x3d\nT}break;case 249:if(4!\x3d\x3dx[e$jscomp$0++]||0!\x3d\x3dx[e$jscomp$0+4])throw Error(\x22Invalid graphics extension block.\x22);d$jscomp$0\x3dx[e$jscomp$0++];o\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8;c$jscomp$0\x3dx[e$jscomp$0++];0\x3d\x3d(1\x26d$jscomp$0)\x26\x26(c$jscomp$0\x3dnull);d$jscomp$0\x3dd$jscomp$0\x3e\x3e2\x267;e$jscomp$0++;break;case 254:for(;;){if(!(0\x3c\x3d(T\x3dx[e$jscomp$0++])))throw Error(\x22Invalid block size\x22);if(0\x3d\x3d\x3dT)break;e$jscomp$0+\x3dT}break;default:throw Error(\x22Unknown graphic control label: 0x\x22+x[e$jscomp$0-1].toString(16));}break;case 44:t$jscomp$0\x3d\nx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8;var y$jscomp$0\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,m$jscomp$0\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,g$jscomp$0\x3dx[e$jscomp$0++]|x[e$jscomp$0++]\x3c\x3c8,v$jscomp$0\x3dx[e$jscomp$0++],b$jscomp$0\x3dv$jscomp$0\x3e\x3e6\x261;T\x3d1\x3c\x3c1+(7\x26v$jscomp$0);var j\x3dr$jscomp$0,S\x3da$jscomp$0,M\x3d!1;v$jscomp$0\x3e\x3e7\x26\x26(M\x3d!0,j\x3de$jscomp$0,e$jscomp$0+\x3d3*(S\x3dT));v$jscomp$0\x3de$jscomp$0;for(e$jscomp$0++;;){var T;if(!(0\x3c\x3d(T\x3dx[e$jscomp$0++])))throw Error(\x22Invalid block size\x22);if(0\x3d\x3d\x3dT)break;e$jscomp$0+\x3dT}l$jscomp$0.push({x:t$jscomp$0,\ny:y$jscomp$0,width:m$jscomp$0,height:g$jscomp$0,has_local_palette:M,palette_offset:j,palette_size:S,data_offset:v$jscomp$0,data_length:e$jscomp$0-v$jscomp$0,transparent_index:c$jscomp$0,interlaced:!!b$jscomp$0,delay:o,disposal:d$jscomp$0});break;case 59:n$jscomp$0\x3d!1;break;default:throw Error(\x22Unknown gif block: 0x\x22+x[e$jscomp$0-1].toString(16));}this.numFrames\x3dfunction(){return l$jscomp$0.length};this.loopCount\x3dfunction(){return f$jscomp$0};this.frameInfo\x3dfunction(e){if(0\x3ee||e\x3e\x3dl$jscomp$0.length)throw Error(\x22Frame index out of range.\x22);\nreturn l$jscomp$0[e]};this.decodeAndBlitFrameBGRA\x3dfunction(e,t){var r\x3dthis.frameInfo(e),n\x3dr.width*r.height;e\x3dnew Uint8Array(n);O(x,r.data_offset,e,n);n\x3dr.palette_offset;var a\x3dr.transparent_index;null\x3d\x3d\x3da\x26\x26(a\x3d256);var s\x3dr.width,l\x3dw-s,u\x3ds,c\x3d4*(r.y*w+r.x),d\x3d4*((r.y+r.height)*w+r.x),f\x3dc,h\x3d4*l;!0\x3d\x3d\x3dr.interlaced\x26\x26(h+\x3d28*w);r\x3d8;for(var y\x3d0,m\x3de.length;y\x3cm;++y){var g\x3de[y];if(0\x3d\x3d\x3du\x26\x26(u\x3ds,d\x3c\x3d(f+\x3dh)\x26\x26(h\x3d4*l+4*w*(r-1),f\x3dc+(s+l)*(r\x3c\x3c1),r\x3e\x3e\x3d1)),g\x3d\x3d\x3da)f+\x3d4;else{var v\x3dx[n+3*g],b\x3dx[n+3*g+1];g\x3dx[n+3*g+2];t[f++]\x3dg;t[f++]\x3d\nb;t[f++]\x3dv;t[f++]\x3d255}--u}};this.decodeAndBlitFrameRGBA\x3dfunction(e,t){var r\x3dthis.frameInfo(e),n\x3dr.width*r.height;e\x3dnew Uint8Array(n);O(x,r.data_offset,e,n);n\x3dr.palette_offset;var a\x3dr.transparent_index;null\x3d\x3d\x3da\x26\x26(a\x3d256);var s\x3dr.width,l\x3dw-s,u\x3ds,c\x3d4*(r.y*w+r.x),d\x3d4*((r.y+r.height)*w+r.x),f\x3dc,h\x3d4*l;!0\x3d\x3d\x3dr.interlaced\x26\x26(h+\x3d28*w);r\x3d8;for(var y\x3d0,m\x3de.length;y\x3cm;++y){var g\x3de[y];if(0\x3d\x3d\x3du\x26\x26(u\x3ds,d\x3c\x3d(f+\x3dh)\x26\x26(h\x3d4*l+4*w*(r-1),f\x3dc+(s+l)*(r\x3c\x3c1),r\x3e\x3e\x3d1)),g\x3d\x3d\x3da)f+\x3d4;else{var v\x3dx[n+3*g],b\x3dx[n+3*g+1];g\x3dx[n+3*g+2];t[f++]\x3d\nv;t[f++]\x3db;t[f++]\x3dg;t[f++]\x3d255}--u}}}}catch(e){}},{}],239:[function(Br,r$jscomp$4,n$jscomp$3){(function(Fr){var t$jscomp$2\x3dfunction(M$jscomp$0){function e$jscomp$2(e){if(null\x3d\x3dthis)throw TypeError();var t\x3dString(this),r\x3dt.length;e\x3de?Number(e):0;if(e!\x3de\x26\x26(e\x3d0),!(0\x3ee||r\x3c\x3de)){var o,i\x3dt.charCodeAt(e);return 55296\x3c\x3di\x26\x2656319\x3e\x3di\x26\x26e+1\x3cr\x26\x2656320\x3c\x3d(o\x3dt.charCodeAt(e+1))\x26\x2657343\x3e\x3do?1024*(i-55296)+o-56320+65536:i}}function r$jscomp$3(){this.table\x3dnew Uint16Array(16);this.trans\x3dnew Uint16Array(288)}function a$jscomp$1(e,\nt){this.source\x3de;this.bitcount\x3dthis.tag\x3dthis.sourceIndex\x3d0;this.dest\x3dt;this.destLen\x3d0;this.ltree\x3dnew r$jscomp$3;this.dtree\x3dnew r$jscomp$3}function n$jscomp$2(e,t,r,n){var o;for(o\x3d0;o\x3cr;++o)e[o]\x3d0;for(o\x3d0;o\x3c30-r;++o)e[o+r]\x3do/r|0;r\x3dn;for(o\x3d0;30\x3eo;++o)t[o]\x3dr,r+\x3d1\x3c\x3ce[o]}function v$jscomp$0(e,t,r,n){var o,i;for(o\x3d0;16\x3eo;++o)e.table[o]\x3d0;for(o\x3d0;o\x3cn;++o)e.table[t[r+o]]++;for(o\x3di\x3de.table[0]\x3d0;16\x3eo;++o)g$jscomp$0[o]\x3di,i+\x3de.table[o];for(o\x3d0;o\x3cn;++o)t[r+o]\x26\x26(e.trans[g$jscomp$0[t[r+o]]++]\x3do)}function _$jscomp$0(e,\nt,r){if(!t)return r;for(;24\x3ee.bitcount;)e.tag|\x3de.source[e.sourceIndex++]\x3c\x3ce.bitcount,e.bitcount+\x3d8;var n\x3de.tag\x2665535\x3e\x3e\x3e16-t;return e.tag\x3e\x3e\x3e\x3dt,e.bitcount-\x3dt,n+r}function x$jscomp$0(e,t){for(;24\x3ee.bitcount;)e.tag|\x3de.source[e.sourceIndex++]\x3c\x3ce.bitcount,e.bitcount+\x3d8;for(var r\x3d0,n\x3d0,o\x3d0,i\x3de.tag;n\x3d2*n+(1\x26i),i\x3e\x3e\x3e\x3d1,++o,r+\x3dt.table[o],0\x3c\x3d(n-\x3dt.table[o]););return e.tag\x3di,e.bitcount-\x3do,t.trans[r+n]}function j$jscomp$0(e,t,r){for(;;){var a;var o\x3dx$jscomp$0(e,t);if(256\x3d\x3d\x3do)return 0;if(256\x3eo)e.dest[e.destLen++]\x3d\no;else{var n\x3d_$jscomp$0(e,c$jscomp$0[o-\x3d257],d$jscomp$1[o]);o\x3dx$jscomp$0(e,r);for(a\x3do\x3de.destLen-_$jscomp$0(e,f$jscomp$0[o],h$jscomp$1[o]);a\x3co+n;++a)e.dest[e.destLen++]\x3de.dest[a]}}}function E$jscomp$0(e,t,r,n,o){return Math.pow(1-o,3)*e+3*Math.pow(1-o,2)*o*t+3*(1-o)*Math.pow(o,2)*r+Math.pow(o,3)*n}function T$jscomp$0(){this.y2\x3dthis.x2\x3dthis.y1\x3dthis.x1\x3dNumber.NaN}function D(){this.commands\x3d[];this.fill\x3d\x22black\x22;this.stroke\x3dnull;this.strokeWidth\x3d1}function O$jscomp$0(e){throw Error(e);}function C$jscomp$0(e,\nt){e||O$jscomp$0(t)}function R$jscomp$0(e){return function(){return e}}function H(e,t,r){for(var n\x3d0;n\x3ct.length;n+\x3d1){var o\x3dt[n];this[o.name]\x3do.value}if(this.tableName\x3de,this.fields\x3dt,r)for(e\x3dObject.keys(r),t\x3d0;t\x3ce.length;t+\x3d1)n\x3de[t],o\x3dr[n],void 0!\x3d\x3dthis[n]\x26\x26(this[n]\x3do)}function W(e,t,r){void 0\x3d\x3d\x3dr\x26\x26(r\x3dt.length);var n\x3dArray(t.length+1);n[0]\x3d{name:e+\x22Count\x22,type:\x22USHORT\x22,value:r};for(r\x3d0;r\x3ct.length;r++)n[r+1]\x3d{name:e+r,type:\x22USHORT\x22,value:t[r]};return n}function q(e,t,r){var n\x3dt.length,o\x3dArray(n+1);\no[0]\x3d{name:e+\x22Count\x22,type:\x22USHORT\x22,value:n};for(var i\x3d0;i\x3cn;i++)o[i+1]\x3d{name:e+i,type:\x22TABLE\x22,value:r(t[i],i)};return o}function X(e,t,r){var n\x3dt.length,o\x3d[];o[0]\x3d{name:e+\x22Count\x22,type:\x22USHORT\x22,value:n};for(e\x3d0;e\x3cn;e++)o\x3do.concat(r(t[e],e));return o}function Y(e){1\x3d\x3d\x3de.format?H.call(this,\x22coverageTable\x22,[{name:\x22coverageFormat\x22,type:\x22USHORT\x22,value:1}].concat(W(\x22glyph\x22,e.glyphs))):L$jscomp$0.assert(!1,\x22Can\x27t create coverage table format 2 yet.\x22)}function Z(e$jscomp$1){H.call(this,\x22scriptListTable\x22,X(\x22scriptRecord\x22,\ne$jscomp$1,function(e$jscomp$0,t$jscomp$0){var r$jscomp$0\x3de$jscomp$0.script,n\x3dr$jscomp$0.defaultLangSys;return L$jscomp$0.assert(!!n,\x22Unable to write GSUB: script \x22+e$jscomp$0.tag+\x22 has no default language system.\x22),[{name:\x22scriptTag\x22+t$jscomp$0,type:\x22TAG\x22,value:e$jscomp$0.tag},{name:\x22script\x22+t$jscomp$0,type:\x22TABLE\x22,value:new H(\x22scriptTable\x22,[{name:\x22defaultLangSys\x22,type:\x22TABLE\x22,value:new H(\x22defaultLangSys\x22,[{name:\x22lookupOrder\x22,type:\x22USHORT\x22,value:0},{name:\x22reqFeatureIndex\x22,type:\x22USHORT\x22,value:n.reqFeatureIndex}].concat(W(\x22featureIndex\x22,\nn.featureIndexes)))}].concat(X(\x22langSys\x22,r$jscomp$0.langSysRecords,function(e,t){var r\x3de.langSys;return[{name:\x22langSysTag\x22+t,type:\x22TAG\x22,value:e.tag},{name:\x22langSys\x22+t,type:\x22TABLE\x22,value:new H(\x22langSys\x22,[{name:\x22lookupOrder\x22,type:\x22USHORT\x22,value:0},{name:\x22reqFeatureIndex\x22,type:\x22USHORT\x22,value:r.reqFeatureIndex}].concat(W(\x22featureIndex\x22,r.featureIndexes)))}]})))}]}))}function Q(e$jscomp$0){H.call(this,\x22featureListTable\x22,X(\x22featureRecord\x22,e$jscomp$0,function(e,t){var r\x3de.feature;return[{name:\x22featureTag\x22+\nt,type:\x22TAG\x22,value:e.tag},{name:\x22feature\x22+t,type:\x22TABLE\x22,value:new H(\x22featureTable\x22,[{name:\x22featureParams\x22,type:\x22USHORT\x22,value:r.featureParams}].concat(W(\x22lookupListIndex\x22,r.lookupListIndexes)))}]}))}function K(e$jscomp$0,r){H.call(this,\x22lookupListTable\x22,q(\x22lookup\x22,e$jscomp$0,function(e){var t\x3dr[e.lookupType];return L$jscomp$0.assert(!!t,\x22Unable to write GSUB lookup type \x22+e.lookupType+\x22 tables.\x22),new H(\x22lookupTable\x22,[{name:\x22lookupType\x22,type:\x22USHORT\x22,value:e.lookupType},{name:\x22lookupFlag\x22,type:\x22USHORT\x22,\nvalue:e.lookupFlag}].concat(q(\x22subtable\x22,e.subtables,t)))}))}function $(e,t){return e.getUint8(t)}function ee(e,t){return e.getUint16(t,!1)}function te(e,t){return e.getUint32(t,!1)}function re(e,t){return e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535}function oe(e,t){this.data\x3de;this.offset\x3dt;this.relativeOffset\x3d0}function fe(e){this.font\x3de}function he(e){this.cmap\x3de}function pe(e,t){this.encoding\x3de;this.charset\x3dt}function ye(e){switch(e.version){case 1:this.names\x3dde.slice();break;case 2:this.names\x3d\nArray(e.numberOfGlyphs);for(var t\x3d0;t\x3ce.numberOfGlyphs;t++)e.glyphNameIndex[t]\x3cde.length?this.names[t]\x3dde[e.glyphNameIndex[t]]:this.names[t]\x3de.names[e.glyphNameIndex[t]-de.length];break;case 2.5:this.names\x3dArray(e.numberOfGlyphs);for(t\x3d0;t\x3ce.numberOfGlyphs;t++)this.names[t]\x3dde[t+e.glyphNameIndex[t]];break;default:this.names\x3d[]}}function ge(e){this.bindConstructorValues(e)}function ve(t,e$jscomp$0,r){Object.defineProperty(t,e$jscomp$0,{get:function(){return t.path,t[r]},set:function(e){t[r]\x3de},enumerable:!0,\nconfigurable:!0})}function be(e,t){if(this.font\x3de,this.glyphs\x3d{},Array.isArray(t))for(e\x3d0;e\x3ct.length;e++)this.glyphs[e]\x3dt[e];this.length\x3dt\x26\x26t.length||0}function xe(e,t){if(e\x3d\x3d\x3dt)return!0;if(Array.isArray(e)\x26\x26Array.isArray(t)){if(e.length!\x3d\x3dt.length)return!1;for(var r\x3d0;r\x3ce.length;r+\x3d1)if(!xe(e[r],t[r]))return!1;return!0}return!1}function we(e){return 1240\x3ee.length?107:33900\x3ee.length?1131:32768}function je(e,t,r){var i\x3d[],a\x3d[];var o\x3dae.getCard16(e,t);if(0!\x3d\x3do){var l\x3dae.getByte(e,t+2);var n\x3dt+(o+1)*\nl+2;for(var u\x3dt+3,c\x3d0;c\x3co+1;c+\x3d1)i.push(ae.getOffset(e,u,l)),u+\x3dl;o\x3dn+i[o]}else o\x3dt+2;for(l\x3d0;l\x3ci.length-1;l+\x3d1)u\x3dae.getBytes(e,n+i[l],n+i[l+1]),r\x26\x26(u\x3dr(u)),a.push(u);return{objects:a,startOffset:t,endOffset:o}}function Se(e,t){if(28\x3d\x3d\x3dt)return e.parseByte()\x3c\x3c8|e.parseByte();if(29\x3d\x3d\x3dt)return e.parseByte()\x3c\x3c24|e.parseByte()\x3c\x3c16|e.parseByte()\x3c\x3c8|e.parseByte();if(30\x3d\x3d\x3dt){t\x3d\x22\x22;for(var r\x3d[\x220\x22,\x221\x22,\x222\x22,\x223\x22,\x224\x22,\x225\x22,\x226\x22,\x227\x22,\x228\x22,\x229\x22,\x22.\x22,\x22E\x22,\x22E-\x22,null,\x22-\x22];;){var n\x3de.parseByte(),o\x3dn\x3e\x3e4;n\x26\x3d15;if(15\x3d\x3do)break;\nif(t+\x3dr[o],15\x3d\x3dn)break;t+\x3dr[n]}return parseFloat(t)}if(32\x3c\x3dt\x26\x26246\x3e\x3dt)return t-139;if(247\x3c\x3dt\x26\x26250\x3e\x3dt)return 256*(t-247)+e.parseByte()+108;if(251\x3c\x3dt\x26\x26254\x3e\x3dt)return 256*-(t-251)-e.parseByte()-108;throw Error(\x22Invalid b0 \x22+t);}function Me(e,t,r){var n\x3dnew ae.Parser(e,void 0!\x3d\x3dt?t:0);t\x3d[];var i\x3d[];for(r\x3dvoid 0!\x3d\x3dr?r:e.length;n.relativeOffset\x3cr;)e\x3dn.parseByte(),21\x3e\x3de?(12\x3d\x3d\x3de\x26\x26(e\x3d1200+n.parseByte()),t.push([e,i]),i\x3d[]):i.push(Se(n,e));r\x3d{};for(e\x3d0;e\x3ct.length;e+\x3d1){n\x3dt[e][0];i\x3dt[e][1];if(i\x3d1\x3d\x3d\x3di.length?i[0]:\ni,r.hasOwnProperty(n)\x26\x26!isNaN(r[n]))throw Error(\x22Object \x22+r+\x22 already has key \x22+n);r[n]\x3di}return r}function Ee(e,t){return 390\x3e\x3dt?le[t]:e[t-391]}function Te(e,t,r){for(var n,o\x3d{},i\x3d0;i\x3ct.length;i+\x3d1){var a\x3dt[i];if(Array.isArray(a.type)){var s\x3d[];s.length\x3da.type.length;for(var l\x3d0;l\x3ca.type.length;l++)void 0\x3d\x3d\x3d(n\x3dvoid 0!\x3d\x3de[a.op]?e[a.op][l]:void 0)\x26\x26(n\x3dvoid 0!\x3d\x3da.value\x26\x26void 0!\x3d\x3da.value[l]?a.value[l]:null),\x22SID\x22\x3d\x3d\x3da.type[l]\x26\x26(n\x3dEe(r,n)),s[l]\x3dn;o[a.name]\x3ds}else void 0\x3d\x3d\x3d(n\x3de[a.op])\x26\x26(n\x3dvoid 0!\x3d\x3da.value?\na.value:null),\x22SID\x22\x3d\x3d\x3da.type\x26\x26(n\x3dEe(r,n)),o[a.name]\x3dn}return o}function Le(e,t,r,n){return Te(Me(e,t,r),Ce,n)}function Pe(e,t,r,n){for(var o,i,a\x3d[],s\x3d0;s\x3cr.length;s+\x3d1){var l\x3dnew DataView((new Uint8Array(r[s])).buffer),u\x3d(i\x3dn,Te(Me(o\x3dl,0,o.byteLength),Oe,i));u._subrs\x3d[];u._subrsBias\x3d0;var c\x3du.private[0];l\x3du.private[1];if(0!\x3d\x3dc\x26\x260!\x3d\x3dl){c\x3dLe(e,l+t,c,n);if(u._defaultWidthX\x3dc.defaultWidthX,u._nominalWidthX\x3dc.nominalWidthX,0!\x3d\x3dc.subrs)l\x3dje(e,l+c.subrs+t),u._subrs\x3dl.objects,u._subrsBias\x3dwe(u._subrs);u._privateDict\x3d\nc}a.push(u)}return a}function Ae(m,g,e$jscomp$0){function k(e,t){C\x26\x26M.closePath();M.moveTo(e,t);C\x3d!0}function R(){0\x3d\x3dE.length%2||O||(A\x3dE.shift()+S);T+\x3dE.length\x3e\x3e1;E.length\x3d0;O\x3d!0}var v,b,_,x,M\x3dnew D,E\x3d[],T\x3d0,O\x3d!1,C\x3d!1,L\x3d0,P\x3d0;if(m.isCIDFont){var n$jscomp$0\x3dm.tables.cff.topDict._fdArray[m.tables.cff.topDict._fdSelect[g.index]];var w\x3dn$jscomp$0._subrs;var j\x3dn$jscomp$0._subrsBias;var t$jscomp$0\x3dn$jscomp$0._defaultWidthX;var S\x3dn$jscomp$0._nominalWidthX}else w\x3dm.tables.cff.topDict._subrs,j\x3dm.tables.cff.topDict._subrsBias,\nt$jscomp$0\x3dm.tables.cff.topDict._defaultWidthX,S\x3dm.tables.cff.topDict._nominalWidthX;var A\x3dt$jscomp$0;return function e(t){for(var r,n,o,i,a,s,u,c,d,f,h,p\x3d0;p\x3ct.length;)switch(a\x3dt[p],p+\x3d1,a){case 1:case 3:R();break;case 4:1\x3cE.length\x26\x26!O\x26\x26(A\x3dE.shift()+S,O\x3d!0);P+\x3dE.pop();k(L,P);break;case 5:for(;0\x3cE.length;)L+\x3dE.shift(),P+\x3dE.shift(),M.lineTo(L,P);break;case 6:for(;0\x3cE.length\x26\x26(L+\x3dE.shift(),M.lineTo(L,P),0!\x3d\x3dE.length);)P+\x3dE.shift(),M.lineTo(L,P);break;case 7:for(;0\x3cE.length\x26\x26(P+\x3dE.shift(),M.lineTo(L,\nP),0!\x3d\x3dE.length);)L+\x3dE.shift(),M.lineTo(L,P);break;case 8:for(;0\x3cE.length;)v\x3dL+E.shift(),b\x3dP+E.shift(),_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_+E.shift(),P\x3dx+E.shift(),M.curveTo(v,b,_,x,L,P);break;case 10:a\x3dE.pop()+j;(s\x3dw[a])\x26\x26e(s);break;case 11:return;case 12:switch(a\x3dt[p],p+\x3d1,a){case 35:v\x3dL+E.shift();b\x3dP+E.shift();_\x3dv+E.shift();x\x3db+E.shift();a\x3d_+E.shift();u\x3dx+E.shift();c\x3da+E.shift();d\x3du+E.shift();f\x3dc+E.shift();h\x3dd+E.shift();L\x3df+E.shift();P\x3dh+E.shift();E.shift();M.curveTo(v,b,_,x,a,u);M.curveTo(c,d,f,h,\nL,P);break;case 34:v\x3dL+E.shift();b\x3dP;_\x3dv+E.shift();x\x3db+E.shift();a\x3d_+E.shift();u\x3dx;c\x3da+E.shift();d\x3dx;f\x3dc+E.shift();h\x3dP;L\x3df+E.shift();M.curveTo(v,b,_,x,a,u);M.curveTo(c,d,f,h,L,P);break;case 36:v\x3dL+E.shift();b\x3dP+E.shift();_\x3dv+E.shift();x\x3db+E.shift();a\x3d_+E.shift();u\x3dx;c\x3da+E.shift();d\x3dx;f\x3dc+E.shift();h\x3dd+E.shift();L\x3df+E.shift();M.curveTo(v,b,_,x,a,u);M.curveTo(c,d,f,h,L,P);break;case 37:v\x3dL+E.shift();b\x3dP+E.shift();_\x3dv+E.shift();x\x3db+E.shift();a\x3d_+E.shift();u\x3dx+E.shift();c\x3da+E.shift();d\x3du+E.shift();f\x3d\nc+E.shift();h\x3dd+E.shift();Math.abs(f-L)\x3eMath.abs(h-P)?L\x3df+E.shift():P\x3dh+E.shift();M.curveTo(v,b,_,x,a,u);M.curveTo(c,d,f,h,L,P);break;default:console.log(\x22Glyph \x22+g.index+\x22: unknown operator 1200\x22+a),E.length\x3d0}break;case 14:0\x3cE.length\x26\x26!O\x26\x26(A\x3dE.shift()+S,O\x3d!0);C\x26\x26(M.closePath(),C\x3d!1);break;case 18:R();break;case 19:case 20:R();p+\x3dT+7\x3e\x3e3;break;case 21:2\x3cE.length\x26\x26!O\x26\x26(A\x3dE.shift()+S,O\x3d!0);P+\x3dE.pop();k(L+\x3dE.pop(),P);break;case 22:1\x3cE.length\x26\x26!O\x26\x26(A\x3dE.shift()+S,O\x3d!0);k(L+\x3dE.pop(),P);break;case 23:R();\nbreak;case 24:for(;2\x3cE.length;)v\x3dL+E.shift(),b\x3dP+E.shift(),_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_+E.shift(),P\x3dx+E.shift(),M.curveTo(v,b,_,x,L,P);L+\x3dE.shift();P+\x3dE.shift();M.lineTo(L,P);break;case 25:for(;6\x3cE.length;)L+\x3dE.shift(),P+\x3dE.shift(),M.lineTo(L,P);v\x3dL+E.shift();b\x3dP+E.shift();_\x3dv+E.shift();x\x3db+E.shift();L\x3d_+E.shift();P\x3dx+E.shift();M.curveTo(v,b,_,x,L,P);break;case 26:for(E.length%2\x26\x26(L+\x3dE.shift());0\x3cE.length;)v\x3dL,b\x3dP+E.shift(),_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_,P\x3dx+E.shift(),M.curveTo(v,b,_,x,L,P);break;\ncase 27:for(E.length%2\x26\x26(P+\x3dE.shift());0\x3cE.length;)v\x3dL+E.shift(),b\x3dP,_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_+E.shift(),P\x3dx,M.curveTo(v,b,_,x,L,P);break;case 28:r\x3dt[p];n\x3dt[p+1];E.push((r\x3c\x3c24|n\x3c\x3c16)\x3e\x3e16);p+\x3d2;break;case 29:a\x3dE.pop()+m.gsubrsBias;(s\x3dm.gsubrs[a])\x26\x26e(s);break;case 30:for(;0\x3cE.length\x26\x26(v\x3dL,b\x3dP+E.shift(),_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_+E.shift(),P\x3dx+(1\x3d\x3d\x3dE.length?E.shift():0),M.curveTo(v,b,_,x,L,P),0!\x3d\x3dE.length);)v\x3dL+E.shift(),b\x3dP,_\x3dv+E.shift(),x\x3db+E.shift(),P\x3dx+E.shift(),L\x3d_+(1\x3d\x3d\x3dE.length?E.shift():\n0),M.curveTo(v,b,_,x,L,P);break;case 31:for(;0\x3cE.length\x26\x26(v\x3dL+E.shift(),b\x3dP,_\x3dv+E.shift(),x\x3db+E.shift(),P\x3dx+E.shift(),L\x3d_+(1\x3d\x3d\x3dE.length?E.shift():0),M.curveTo(v,b,_,x,L,P),0!\x3d\x3dE.length);)v\x3dL,b\x3dP+E.shift(),_\x3dv+E.shift(),x\x3db+E.shift(),L\x3d_+E.shift(),P\x3dx+(1\x3d\x3d\x3dE.length?E.shift():0),M.curveTo(v,b,_,x,L,P);break;default:32\x3ea?console.log(\x22Glyph \x22+g.index+\x22: unknown operator \x22+a):247\x3ea?E.push(a-139):251\x3ea?(r\x3dt[p],p+\x3d1,E.push(256*(a-247)+r+108)):255\x3ea?(r\x3dt[p],p+\x3d1,E.push(256*-(a-251)-r-108)):(r\x3dt[p],n\x3dt[p+\n1],o\x3dt[p+2],i\x3dt[p+3],p+\x3d4,E.push((r\x3c\x3c24|n\x3c\x3c16|o\x3c\x3c8|i)/65536))}}(e$jscomp$0),g.advanceWidth\x3dA,M}function ke(e,t){var r,n\x3dle.indexOf(e);return 0\x3c\x3d(n\x3dt.indexOf(e))?r\x3dn+le.length:(r\x3dle.length+t.length,t.push(e)),r}function Re(e,t,r){for(var n\x3d{},o\x3d0;o\x3ce.length;o+\x3d1){var i\x3de[o],a\x3dt[i.name];void 0\x3d\x3d\x3da||xe(a,i.value)||(\x22SID\x22\x3d\x3d\x3di.type\x26\x26(a\x3dke(a,r)),n[i.op]\x3d{name:i.name,type:i.type,value:a})}return n}function De(e,t){var r\x3dnew J.Record(\x22Top DICT\x22,[{name:\x22dict\x22,type:\x22DICT\x22,value:{}}]);return r.dict\x3dRe(Oe,e,\nt),r}function Ie(e){var t\x3dnew J.Record(\x22Top DICT INDEX\x22,[{name:\x22topDicts\x22,type:\x22INDEX\x22,value:[]}]);return t.topDicts\x3d[{name:\x22topDict_0\x22,type:\x22TABLE\x22,value:e}],t}function Je(e,t,r){switch(e){case 0:return\x22utf-16\x22;case 1:return Ke[r]||Qe[t];case 3:if(1\x3d\x3d\x3dt||10\x3d\x3d\x3dt)return\x22utf-16\x22}}function $e(e){var t\x3d{},r;for(r in e)t[e[r]]\x3dparseInt(r);return t}function et(e,t,r,n,o,i){return new J.Record(\x22NameRecord\x22,[{name:\x22platformID\x22,type:\x22USHORT\x22,value:e},{name:\x22encodingID\x22,type:\x22USHORT\x22,value:t},{name:\x22languageID\x22,\ntype:\x22USHORT\x22,value:r},{name:\x22nameID\x22,type:\x22USHORT\x22,value:n},{name:\x22length\x22,type:\x22USHORT\x22,value:o},{name:\x22offset\x22,type:\x22USHORT\x22,value:i}])}function tt(e,t){a:{var r\x3de.length;var n\x3dt.length-r+1,o\x3d0;b:for(;o\x3cn;o++)for(;o\x3cn;){for(var i\x3d0;i\x3cr;i++)if(t[o+i]!\x3d\x3de[i])continue b;r\x3do;break a}r\x3d-1}if(0\x3er)for(r\x3dt.length,n\x3d0,o\x3de.length;n\x3co;++n)t.push(e[n]);return r}function ft(e){for(;0!\x3de.length%4;)e.push(0);for(var t\x3d0,r\x3d0;r\x3ce.length;r+\x3d4)t+\x3d(e[r]\x3c\x3c24)+(e[r+1]\x3c\x3c16)+(e[r+2]\x3c\x3c8)+e[r+3];return t%Math.pow(2,32)}\nfunction ht(e,t,r,n){return new J.Record(\x22Table Record\x22,[{name:\x22tag\x22,type:\x22TAG\x22,value:void 0!\x3d\x3de?e:\x22\x22},{name:\x22checkSum\x22,type:\x22ULONG\x22,value:void 0!\x3d\x3dt?t:0},{name:\x22offset\x22,type:\x22ULONG\x22,value:void 0!\x3d\x3dr?r:0},{name:\x22length\x22,type:\x22ULONG\x22,value:void 0!\x3d\x3dn?n:0}])}function pt(e$jscomp$0){var t$jscomp$0\x3dnew J.Table(\x22sfnt\x22,[{name:\x22version\x22,type:\x22TAG\x22,value:\x22OTTO\x22},{name:\x22numTables\x22,type:\x22USHORT\x22,value:0},{name:\x22searchRange\x22,type:\x22USHORT\x22,value:0},{name:\x22entrySelector\x22,type:\x22USHORT\x22,value:0},{name:\x22rangeShift\x22,\ntype:\x22USHORT\x22,value:0}]);t$jscomp$0.tables\x3de$jscomp$0;t$jscomp$0.numTables\x3de$jscomp$0.length;var r\x3dMath.pow(2,Math.log(t$jscomp$0.numTables)/Math.log(2)|0);t$jscomp$0.searchRange\x3d16*r;t$jscomp$0.entrySelector\x3dMath.log(r)/Math.log(2)|0;t$jscomp$0.rangeShift\x3d16*t$jscomp$0.numTables-t$jscomp$0.searchRange;r\x3d[];for(var o\x3d[],i\x3dt$jscomp$0.sizeOf()+ht().sizeOf()*t$jscomp$0.numTables;0!\x3di%4;)i+\x3d1,o.push({name:\x22padding\x22,type:\x22BYTE\x22,value:0});for(var a\x3d0;a\x3ce$jscomp$0.length;a+\x3d1){var s\x3de$jscomp$0[a];L$jscomp$0.argument(4\x3d\x3d\x3d\ns.tableName.length,\x22Table name\x22+s.tableName+\x22 is invalid.\x22);var l\x3ds.sizeOf(),u\x3dht(s.tableName,ft(s.encode()),i,l);r.push({name:u.tag+\x22 Table Record\x22,type:\x22RECORD\x22,value:u});o.push({name:s.tableName+\x22 table\x22,type:\x22RECORD\x22,value:s});i+\x3dl;for(L$jscomp$0.argument(!isNaN(i),\x22Something went wrong calculating the offset.\x22);0!\x3di%4;)i+\x3d1,o.push({name:\x22padding\x22,type:\x22BYTE\x22,value:0})}return r.sort(function(e,t){return e.value.tag\x3et.value.tag?1:-1}),t$jscomp$0.fields\x3dt$jscomp$0.fields.concat(r),t$jscomp$0.fields\x3d\nt$jscomp$0.fields.concat(o),t$jscomp$0}function yt(e,t,r){for(var n\x3d0;n\x3ct.length;n+\x3d1){var o\x3de.charToGlyphIndex(t[n]);if(0\x3co)return e.glyphs.get(o).getMetrics()}return r}function gt(e,t){for(var r\x3d0,n\x3de.length-1;r\x3c\x3dn;){var o\x3dr+n\x3e\x3e\x3e1,i\x3de[o].tag;if(i\x3d\x3d\x3dt)return o;i\x3ct?r\x3d1+o:n\x3do-1}return-r-1}function vt(e,t){for(var r\x3d0,n\x3de.length-1;r\x3c\x3dn;){var o\x3dr+n\x3e\x3e\x3e1,i\x3de[o];if(i\x3d\x3d\x3dt)return o;i\x3ct?r\x3d1+o:n\x3do-1}return-r-1}function bt(e,t){for(var r,n\x3d0,o\x3de.length-1;n\x3c\x3do;){var i\x3dn+o\x3e\x3e\x3e1,a\x3d(r\x3de[i]).start;if(a\x3d\x3d\x3dt)return r;\na\x3ct?n\x3d1+i:o\x3di-1}if(0\x3cn)return t\x3e(r\x3de[n-1]).end?0:r}function _t(e,t){this.font\x3de;this.tableName\x3dt}function xt(e){_t.call(this,e,\x22gpos\x22)}function wt(e){_t.call(this,e,\x22gsub\x22)}function St(e,t,r){e\x3de.subtables;for(var o\x3d0;o\x3ce.length;o++){var i\x3de[o];if(i.substFormat\x3d\x3d\x3dt)return i}if(r)return e.push(r),r}function Mt(e){for(var t\x3dnew ArrayBuffer(e.length),r\x3dnew Uint8Array(t),n\x3d0;n\x3ce.length;++n)r[n]\x3de[n];return t}function Et(e,t){if(!e)throw t;}function Tt(e,t,r,n,o){var i;return 0\x3c(t\x26n)?(i\x3de.parseByte(),\n0\x3d\x3d(t\x26o)\x26\x26(i\x3d-i),r+i):0\x3c(t\x26o)?r:r+e.parseShort()}function Ot(e,t,r){var n,o;t\x3dnew ae.Parser(t,r);if(e.numberOfContours\x3dt.parseShort(),e._xMin\x3dt.parseShort(),e._yMin\x3dt.parseShort(),e._xMax\x3dt.parseShort(),e._yMax\x3dt.parseShort(),0\x3ce.numberOfContours){var a\x3de.endPointIndices\x3d[];for(n\x3d0;n\x3ce.numberOfContours;n+\x3d1)a.push(t.parseUShort());e.instructionLength\x3dt.parseUShort();e.instructions\x3d[];for(n\x3d0;n\x3ce.instructionLength;n+\x3d1)e.instructions.push(t.parseByte());r\x3da[a.length-1]+1;n\x3d[];for(var c\x3d0;c\x3cr;c+\x3d1)if(o\x3d\nt.parseByte(),n.push(o),0\x3c(8\x26o))for(var d\x3dt.parseByte(),f\x3d0;f\x3cd;f+\x3d1)n.push(o),c+\x3d1;if(L$jscomp$0.argument(n.length\x3d\x3d\x3dr,\x22Bad flags.\x22),0\x3ca.length){d\x3d[];if(0\x3cr){for(f\x3d0;f\x3cr;f+\x3d1)o\x3dn[f],(c\x3d{}).onCurve\x3d!!(1\x26o),c.lastPointOfContour\x3d0\x3c\x3da.indexOf(f),d.push(c);for(f\x3da\x3d0;f\x3cr;f+\x3d1)o\x3dn[f],(c\x3dd[f]).x\x3dTt(t,o,a,2,16),a\x3dc.x;for(f\x3da\x3d0;f\x3cr;f+\x3d1)o\x3dn[f],(c\x3dd[f]).y\x3dTt(t,o,a,4,32),a\x3dc.y}e.points\x3dd}else e.points\x3d[]}else if(0\x3d\x3d\x3de.numberOfContours)e.points\x3d[];else{e.isComposite\x3d!0;e.points\x3d[];e.components\x3d[];for(o\x3d!0;o;)n\x3d\nt.parseUShort(),o\x3d{glyphIndex:t.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0},0\x3c(1\x26n)?0\x3c(2\x26n)?(o.dx\x3dt.parseShort(),o.dy\x3dt.parseShort()):o.matchedPoints\x3d[t.parseUShort(),t.parseUShort()]:0\x3c(2\x26n)?(o.dx\x3dt.parseChar(),o.dy\x3dt.parseChar()):o.matchedPoints\x3d[t.parseByte(),t.parseByte()],0\x3c(8\x26n)?o.xScale\x3do.yScale\x3dt.parseF2Dot14():0\x3c(64\x26n)?(o.xScale\x3dt.parseF2Dot14(),o.yScale\x3dt.parseF2Dot14()):0\x3c(128\x26n)\x26\x26(o.xScale\x3dt.parseF2Dot14(),o.scale01\x3dt.parseF2Dot14(),o.scale10\x3dt.parseF2Dot14(),o.yScale\x3d\nt.parseF2Dot14()),e.components.push(o),o\x3d!!(32\x26n);if(256\x26n)for(e.instructionLength\x3dt.parseUShort(),e.instructions\x3d[],n\x3d0;n\x3ce.instructionLength;n+\x3d1)e.instructions.push(t.parseByte())}}function Ct(e,t){for(var r\x3d[],n\x3d0;n\x3ce.length;n+\x3d1){var o\x3de[n];r.push({x:t.xScale*o.x+t.scale01*o.y+t.dx,y:t.scale10*o.x+t.yScale*o.y+t.dy,onCurve:o.onCurve,lastPointOfContour:o.lastPointOfContour})}return r}function Lt(e){var t\x3dnew D;if(!e)return t;for(var t$jscomp$0\x3d[],r\x3d[],n\x3d0;n\x3ce.length;n+\x3d1){var o\x3de[n];r.push(o);\no.lastPointOfContour\x26\x26(t$jscomp$0.push(r),r\x3d[])}e\x3d(L$jscomp$0.argument(0\x3d\x3d\x3dr.length,\x22There are still points left in the current contour.\x22),t$jscomp$0);for(t$jscomp$0\x3d0;t$jscomp$0\x3ce.length;++t$jscomp$0){r\x3de[t$jscomp$0];o\x3dr[r.length-1];var s\x3dr[0];o.onCurve?t.moveTo(o.x,o.y):s.onCurve?t.moveTo(s.x,s.y):t.moveTo(.5*(o.x+s.x),.5*(o.y+s.y));for(var u\x3d0;u\x3cr.length;++u)if(n\x3do,o\x3ds,s\x3dr[(u+1)%r.length],o.onCurve)t.lineTo(o.x,o.y);else{var c\x3ds;n.onCurve||{x:.5*(o.x+n.x),y:.5*(o.y+n.y)};s.onCurve||(c\x3d{x:.5*(o.x+\ns.x),y:.5*(o.y+s.y)});t.quadraticCurveTo(o.x,o.y,c.x,c.y)}t.closePath()}return t}function Pt(e,t){if(t.isComposite)for(var r\x3d0;r\x3ct.components.length;r+\x3d1){var n\x3dt.components[r],o\x3de.get(n.glyphIndex);if(o.getPath(),o.points){if(void 0\x3d\x3d\x3dn.matchedPoints)o\x3dCt(o.points,n);else{if(n.matchedPoints[0]\x3et.points.length-1||n.matchedPoints[1]\x3eo.points.length-1)throw Error(\x22Matched points out of range in \x22+t.name);var a\x3dt.points[n.matchedPoints[0]],s\x3do.points[n.matchedPoints[1]];n\x3d{xScale:n.xScale,scale01:n.scale01,\nscale10:n.scale10,yScale:n.yScale,dx:0,dy:0};s\x3dCt([s],n)[0];n.dx\x3da.x-s.x;n.dy\x3da.y-s.y;o\x3dCt(o.points,n)}t.points\x3dt.points.concat(o)}}return Lt(t.points)}function Ut(e$jscomp$0){this.font\x3de$jscomp$0;this.getCommands\x3dfunction(e){return It.getPath(e).commands};this._fpgmState\x3dthis._prepState\x3dvoid 0;this._errorState\x3d0}function Nt(e){return e}function Ft(e){return Math.sign(e)*Math.round(Math.abs(e))}function Bt(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function Gt(e){return Math.sign(e)*(Math.round(Math.abs(e)+\n.5)-.5)}function Vt(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function zt(e){return Math.sign(e)*Math.floor(Math.abs(e))}function Ht(e){var t\x3dthis.srPeriod,r\x3dthis.srPhase,n\x3d1;return 0\x3ee\x26\x26(e\x3d-e,n\x3d-1),e+\x3dthis.srThreshold-r,e\x3dMath.trunc(e/t)*t,0\x3e(e+\x3dr)?r*n:e*n}function Xt(e,t){this.x\x3de;this.y\x3dt;this.axis\x3dvoid 0;this.slope\x3dt/e;this.normalSlope\x3d-e/t;Object.freeze(this)}function Yt(e,t){var r\x3dMath.sqrt(e*e+t*t);return t/\x3dr,1\x3d\x3d\x3d(e/\x3dr)\x26\x260\x3d\x3d\x3dt?Wt:0\x3d\x3d\x3de\x26\x261\x3d\x3d\x3dt?qt:new Xt(e,t)}function Zt(e,t,r,n){this.x\x3d\nthis.xo\x3dMath.round(64*e)/64;this.y\x3dthis.yo\x3dMath.round(64*t)/64;this.lastPointOfContour\x3dr;this.onCurve\x3dn;this.nextPointOnContour\x3dthis.prevPointOnContour\x3dvoid 0;this.yTouched\x3dthis.xTouched\x3d!1;Object.preventExtensions(this)}function Jt(e,t){switch(this.env\x3de,this.stack\x3d[],this.prog\x3dt,e){case \x22glyf\x22:this.zp0\x3dthis.zp1\x3dthis.zp2\x3d1,this.rp0\x3dthis.rp1\x3dthis.rp2\x3d0;case \x22prep\x22:this.fv\x3dthis.pv\x3dthis.dpv\x3dWt,this.round\x3dFt}}function $t(e){e\x3de.tZone\x3dArray(e.gZone.length);for(var r\x3d0;r\x3ce.length;r++)e[r]\x3dnew Zt(0,0)}\nfunction er(e,t){var r,n\x3de.prog,o\x3de.ip,i\x3d1;do if(88\x3d\x3d\x3d(r\x3dn[++o]))i++;else if(89\x3d\x3d\x3dr)i--;else if(64\x3d\x3d\x3dr)o+\x3dn[o+1]+1;else if(65\x3d\x3d\x3dr)o+\x3d2*n[o+1]+1;else if(176\x3c\x3dr\x26\x26183\x3e\x3dr)o+\x3dr-176+1;else if(184\x3c\x3dr\x26\x26191\x3e\x3dr)o+\x3d2*(r-184+1);else if(t\x26\x261\x3d\x3d\x3di\x26\x2627\x3d\x3d\x3dr)break;while(0\x3ci);e.ip\x3do}function tr(e,t){M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22SVTCA[\x22+e.axis+\x22]\x22);t.fv\x3dt.pv\x3dt.dpv\x3de}function rr(e,t){M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22SPVTCA[\x22+e.axis+\x22]\x22);t.pv\x3dt.dpv\x3de}function nr(e,t){M$jscomp$0.DEBUG\x26\x26console.log(t.step,\n\x22SFVTCA[\x22+e.axis+\x22]\x22);t.fv\x3de}function or(e,t){var r,o\x3dt.stack,i\x3do.pop(),a\x3do.pop();o\x3dt.z2[i];var l\x3dt.z1[a];M$jscomp$0.DEBUG\x26\x26console.log(\x22SPVTL[\x22+e+\x22]\x22,i,a);e\x3de?(r\x3do.y-l.y,l.x-o.x):(r\x3dl.x-o.x,l.y-o.y);t.pv\x3dt.dpv\x3dYt(r,e)}function ir(e,t){var r,o\x3dt.stack,i\x3do.pop(),a\x3do.pop();o\x3dt.z2[i];var l\x3dt.z1[a];M$jscomp$0.DEBUG\x26\x26console.log(\x22SFVTL[\x22+e+\x22]\x22,i,a);e\x3de?(r\x3do.y-l.y,l.x-o.x):(r\x3dl.x-o.x,l.y-o.y);t.fv\x3dYt(r,e)}function ar(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22POP[]\x22);e.stack.pop()}function sr(e,t){var r\x3d\nt.stack.pop(),n\x3dt.z0[r],o\x3dt.fv,i\x3dt.pv;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22MDAP[\x22+e+\x22]\x22,r);var a\x3di.distance(n,Qt);e\x26\x26(a\x3dt.round(a));o.setRelative(n,Qt,a,i);o.touch(n);t.rp0\x3dt.rp1\x3dr}function lr(e,t){var n,o,i\x3dt.z2,a\x3di.length-2;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22IUP[\x22+e.axis+\x22]\x22);for(var s\x3d0;s\x3ca;s++)t\x3di[s],e.touched(t)||(n\x3dt.prevTouched(e))!\x3d\x3dt\x26\x26(n\x3d\x3d\x3d(o\x3dt.nextTouched(e))\x26\x26e.setRelative(t,t,e.distance(n,n,!1,!0),e,!0),e.interpolate(t,n,o,e))}function ur(e,t){for(var r\x3dt.stack,o\x3d(e?t.z0:t.z1)[e?t.rp1:\nt.rp2],i\x3dt.fv,a\x3dt.pv,s\x3dt.loop,l\x3dt.z2;s--;){var u\x3dr.pop(),c\x3dl[u],d\x3da.distance(o,o,!1,!0);i.setRelative(c,c,d,a);i.touch(c);M$jscomp$0.DEBUG\x26\x26console.log(t.step,(1\x3ct.loop?\x22loop \x22+(t.loop-s)+\x22: \x22:\x22\x22)+\x22SHP[\x22+(e?\x22rp1\x22:\x22rp2\x22)+\x22]\x22,u)}t.loop\x3d1}function cr(e,t){var o\x3d(e?t.z0:t.z1)[e?t.rp1:t.rp2],i\x3dt.fv,a\x3dt.pv,s\x3dt.stack.pop(),l\x3dt.z2[t.contours[s]],u\x3dl;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22SHC[\x22+e+\x22]\x22,s);for(e\x3da.distance(o,o,!1,!0);u!\x3d\x3do\x26\x26i.setRelative(u,u,e,a),(u\x3du.nextPointOnContour)!\x3d\x3dl;);}function dr(e,\nt){var n\x3d(e?t.z0:t.z1)[e?t.rp1:t.rp2];var s\x3dt.fv,l\x3dt.pv,u\x3dt.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22SHZ[\x22+e+\x22]\x22,u),u){case 0:e\x3dt.tZone;break;case 1:e\x3dt.gZone;break;default:throw Error(\x22Invalid zone\x22);}t\x3dl.distance(n,n,!1,!0);u\x3de.length-2;for(var f\x3d0;f\x3cu;f++)n\x3de[f],s.setRelative(n,n,t,l)}function fr(e,t){var r\x3dt.stack,n\x3dr.pop()/64;r\x3dr.pop();var i\x3dt.z1[r],s\x3dt.fv;s.setRelative(i,t.z0[t.rp0],n,t.pv);s.touch(i);M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22MSIRP[\x22+e+\x22]\x22,n,r);t.rp1\x3dt.rp0;t.rp2\x3d\nr;e\x26\x26(t.rp0\x3dr)}function hr(e,t){var r\x3dt.stack,n\x3dr.pop();r\x3dr.pop();var i\x3dt.z0[r],a\x3dt.fv,s\x3dt.pv,l\x3dt.cvt[n];M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22MIAP[\x22+e+\x22]\x22,n,\x22(\x22,l,\x22)\x22,r);n\x3ds.distance(i,Qt);e\x26\x26(Math.abs(n-l)\x3ct.cvCutIn\x26\x26(n\x3dl),n\x3dt.round(n));a.setRelative(i,Qt,n,s);0\x3d\x3d\x3dt.zp0\x26\x26(i.xo\x3di.x,i.yo\x3di.y);a.touch(i);t.rp0\x3dt.rp1\x3dr}function pr(e,t){var r\x3dt.stack,n\x3dr.pop(),o\x3dt.z2[n];M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22GC[\x22+e+\x22]\x22,n);r.push(64*t.dpv.distance(o,Qt,e,!1))}function yr(e,t){var r\x3dt.stack,n\x3dr.pop();r\x3d\nr.pop();var s\x3dt.dpv.distance(t.z0[r],t.z1[n],e,e);M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22MD[\x22+e+\x22]\x22,n,r,\x22-\\x3e\x22,s);t.stack.push(Math.round(64*s))}function mr(e,t){var r\x3dt.stack,n\x3dr.pop(),o\x3dt.fv,i\x3dt.pv,a\x3dt.ppem,s\x3dt.deltaBase+16*(e-1),l\x3dt.deltaShift,u\x3dt.z0;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22DELTAP[\x22+e+\x22]\x22,n,r);for(e\x3d0;e\x3cn;e++){var d\x3dr.pop(),f\x3dr.pop();s+((240\x26f)\x3e\x3e4)\x3d\x3d\x3da\x26\x26(f\x3d(15\x26f)-8,0\x3c\x3df\x26\x26f++,M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22DELTAPFIX\x22,d,\x22by\x22,f*l),d\x3du[d],o.setRelative(d,d,f*l,i))}}function gr(e,\nt){e\x3dt.stack;var n\x3de.pop();M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22ROUND[]\x22);e.push(64*t.round(n/64))}function vr(e,t){var r\x3dt.stack,n\x3dr.pop(),o\x3dt.ppem,i\x3dt.deltaBase+16*(e-1),a\x3dt.deltaShift;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22DELTAC[\x22+e+\x22]\x22,n,r);for(e\x3d0;e\x3cn;e++){var l\x3dr.pop(),u\x3dr.pop();i+((240\x26u)\x3e\x3e4)\x3d\x3d\x3do\x26\x26(u\x3d(15\x26u)-8,0\x3c\x3du\x26\x26u++,u*\x3da,M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22DELTACFIX\x22,l,\x22by\x22,u),t.cvt[l]+\x3du)}}function br(e,t){var r,o\x3dt.stack,i\x3do.pop(),a\x3do.pop();o\x3dt.z2[i];var l\x3dt.z1[a];M$jscomp$0.DEBUG\x26\x26\nconsole.log(t.step,\x22SDPVTL[\x22+e+\x22]\x22,i,a);e\x3de?(r\x3do.y-l.y,l.x-o.x):(r\x3dl.x-o.x,l.y-o.y);t.dpv\x3dYt(r,e)}function _r(e,t){var r\x3dt.stack,n\x3dt.prog,o\x3dt.ip;M$jscomp$0.DEBUG\x26\x26console.log(t.step,\x22PUSHB[\x22+e+\x22]\x22);for(var i\x3d0;i\x3ce;i++)r.push(n[++o]);t.ip\x3do}function xr(e,t){var r\x3dt.ip,n\x3dt.prog,o\x3dt.stack;M$jscomp$0.DEBUG\x26\x26console.log(t.ip,\x22PUSHW[\x22+e+\x22]\x22);for(var i\x3d0;i\x3ce;i++){var a\x3dn[++r]\x3c\x3c8|n[++r];32768\x26a\x26\x26(a\x3d-(1+(65535^a)));o.push(a)}t.ip\x3dr}function wr(e,t,r,n,o,i){var s,u;var a\x3di.stack;var d\x3de\x26\x26a.pop(),f\x3da.pop(),\np\x3di.z0[i.rp0],y\x3di.z1[f],m\x3di.minDis,g\x3di.fv,v\x3di.dpv;var l\x3d0\x3c\x3d(s\x3da\x3dv.distance(y,p,!0,!0))?1:-1;s\x3dMath.abs(s);e\x26\x26(u\x3di.cvt[d],n\x26\x26Math.abs(s-u)\x3ci.cvCutIn\x26\x26(s\x3du));r\x26\x26s\x3cm\x26\x26(s\x3dm);n\x26\x26(s\x3di.round(s));g.setRelative(y,p,l*s,v);g.touch(y);M$jscomp$0.DEBUG\x26\x26console.log(i.step,(e?\x22MIRP[\x22:\x22MDRP[\x22)+(t?\x22M\x22:\x22m\x22)+(r?\x22\\x3e\x22:\x22_\x22)+(n?\x22R\x22:\x22_\x22)+(0\x3d\x3d\x3do?\x22Gr\x22:1\x3d\x3d\x3do?\x22Bl\x22:2\x3d\x3d\x3do?\x22Wh\x22:\x22\x22)+\x22]\x22,e?d+\x22(\x22+i.cvt[d]+\x22,\x22+u+\x22)\x22:\x22\x22,f,\x22(d \\x3d\x22,a,\x22-\\x3e\x22,l*s,\x22)\x22);i.rp1\x3di.rp0;i.rp2\x3df;t\x26\x26(i.rp0\x3df)}function Sr(e){(e\x3de||{}).empty||(Et(e.familyName,\n\x22When creating a new Font object, familyName is required.\x22),Et(e.styleName,\x22When creating a new Font object, styleName is required.\x22),Et(e.unitsPerEm,\x22When creating a new Font object, unitsPerEm is required.\x22),Et(e.ascender,\x22When creating a new Font object, ascender is required.\x22),Et(e.descender,\x22When creating a new Font object, descender is required.\x22),Et(0\x3ee.descender,\x22Descender should be negative (e.g. -512).\x22),this.names\x3d{fontFamily:{en:e.familyName||\x22 \x22},fontSubfamily:{en:e.styleName||\x22 \x22},fullName:{en:e.fullName||\ne.familyName+\x22 \x22+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\\s/g,\x22\x22)},designer:{en:e.designer||\x22 \x22},designerURL:{en:e.designerURL||\x22 \x22},manufacturer:{en:e.manufacturer||\x22 \x22},manufacturerURL:{en:e.manufacturerURL||\x22 \x22},license:{en:e.license||\x22 \x22},licenseURL:{en:e.licenseURL||\x22 \x22},version:{en:e.version||\x22Version 0.1\x22},description:{en:e.description||\x22 \x22},copyright:{en:e.copyright||\x22 \x22},trademark:{en:e.trademark||\x22 \x22}},this.unitsPerEm\x3de.unitsPerEm||1E3,this.ascender\x3d\ne.ascender,this.descender\x3de.descender,this.createdTimestamp\x3de.createdTimestamp,this.tables\x3d{os2:{usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR}});this.supported\x3d!0;this.glyphs\x3dnew _e.GlyphSet(this,e.glyphs||[]);this.encoding\x3dnew fe(this);this.position\x3dnew xt(this);this.substitution\x3dnew wt(this);this.tables\x3dthis.tables||{};Object.defineProperty(this,\x22hinting\x22,{get:function(){return this._hinting?\nthis._hinting:\x22truetype\x22\x3d\x3d\x3dthis.outlinesFormat?this._hinting\x3dnew Ut(this):void 0}})}function Mr(e,t){var r\x3dJSON.stringify(e),n\x3d256,o;for(o in t){var i\x3dparseInt(o);if(i\x26\x26!(256\x3ei)){if(JSON.stringify(t[o])\x3d\x3d\x3dr)return i;n\x3c\x3di\x26\x26(n\x3di+1)}}return t[n]\x3de,n}function Rr(e$jscomp$0,r){Br(\x22fs\x22).readFile(e$jscomp$0,function(e,t){if(e)return r(e.message);r(null,Mt(t))})}function Dr(e,t){var r\x3dnew XMLHttpRequest;r.open(\x22get\x22,e,!0);r.responseType\x3d\x22arraybuffer\x22;r.onload\x3dfunction(){return r.response?t(null,r.response):\nt(\x22Font could not be loaded: \x22+r.statusText)};r.onerror\x3dfunction(){t(\x22Font could not be loaded\x22)};r.send()}function Ir(e,t){for(var r\x3d[],n\x3d12,o\x3d0;o\x3ct;o+\x3d1){var i\x3dae.getTag(e,n),a\x3dae.getULong(e,n+4),s\x3dae.getULong(e,n+8),l\x3dae.getULong(e,n+12);r.push({tag:i,checksum:a,offset:s,length:l,compression:!1});n+\x3d16}return r}function Ur(e$jscomp$0,t$jscomp$0){if(\x22WOFF\x22!\x3d\x3dt$jscomp$0.compression)return{data:e$jscomp$0,offset:t$jscomp$0.offset};var r\x3dnew Uint8Array(e$jscomp$0.buffer,t$jscomp$0.offset+2,t$jscomp$0.compressedLength-\n2);e$jscomp$0\x3dnew Uint8Array(t$jscomp$0.length);r\x3dnew a$jscomp$1(r,e$jscomp$0);do{var r$jscomp$0\x3dr;r$jscomp$0.bitcount--||(r$jscomp$0.tag\x3dr$jscomp$0.source[r$jscomp$0.sourceIndex++],r$jscomp$0.bitcount\x3d7);var n\x3d1\x26r$jscomp$0.tag;switch(r$jscomp$0\x3d(r$jscomp$0.tag\x3e\x3e\x3e\x3d1,n),_$jscomp$0(r,2,0)){case 0:var r$jscomp$1;for(n\x3dr;8\x3cn.bitcount;)n.sourceIndex--,n.bitcount-\x3d8;if((r$jscomp$1\x3d256*(r$jscomp$1\x3dn.source[n.sourceIndex+1])+n.source[n.sourceIndex])!\x3d\x3d(65535\x26~(256*n.source[n.sourceIndex+3]+n.source[n.sourceIndex+\n2])))n\x3d-3;else{for(n.sourceIndex+\x3d4;r$jscomp$1;--r$jscomp$1)n.dest[n.destLen++]\x3dn.source[n.sourceIndex++];n\x3d(n.bitcount\x3d0,0)}break;case 1:n\x3dj$jscomp$0(r,s$jscomp$1,u$jscomp$1);break;case 2:var s,e\x3dr,t\x3dr.ltree,r$jscomp$2\x3dr.dtree;r$jscomp$1\x3d_$jscomp$0(e,5,257);n\x3d_$jscomp$0(e,5,1);var l\x3d_$jscomp$0(e,4,4);for(s\x3d0;19\x3es;++s)m$jscomp$0[s]\x3d0;for(s\x3d0;s\x3cl;++s){var u\x3d_$jscomp$0(e,3,0);m$jscomp$0[p$jscomp$0[s]]\x3du}v$jscomp$0(y$jscomp$0,m$jscomp$0,0,19);for(s\x3d0;s\x3cr$jscomp$1+n;)switch(l\x3dx$jscomp$0(e,y$jscomp$0),\nl){case 16:u\x3dm$jscomp$0[s-1];for(l\x3d_$jscomp$0(e,2,3);l;--l)m$jscomp$0[s++]\x3du;break;case 17:for(l\x3d_$jscomp$0(e,3,3);l;--l)m$jscomp$0[s++]\x3d0;break;case 18:for(l\x3d_$jscomp$0(e,7,11);l;--l)m$jscomp$0[s++]\x3d0;break;default:m$jscomp$0[s++]\x3dl}v$jscomp$0(t,m$jscomp$0,0,r$jscomp$1);v$jscomp$0(r$jscomp$2,m$jscomp$0,r$jscomp$1,n);n\x3dj$jscomp$0(r,r.ltree,r.dtree);break;default:n\x3d-3}if(0!\x3d\x3dn)throw Error(\x22Data error\x22);}while(!r$jscomp$0);r.destLen\x3cr.dest.length\x26\x26(\x22function\x22\x3d\x3dtypeof r.dest.slice?r.dest.slice(0,r.destLen):\nr.dest.subarray(0,r.destLen));if(e$jscomp$0.byteLength!\x3d\x3dt$jscomp$0.length)throw Error(\x22Decompression error: \x22+t$jscomp$0.tag+\x22 decompressed length doesn\x27t match recorded length\x22);return{data:new DataView(e$jscomp$0.buffer,0),offset:0}}function Nr(e$jscomp$0){var y\x3dnew Sr({empty:!0});e$jscomp$0\x3dnew DataView(e$jscomp$0,0);var g\x3d[];var n$jscomp$0\x3dae.getTag(e$jscomp$0,0);if(n$jscomp$0\x3d\x3d\x3dString.fromCharCode(0,1,0,0)||\x22true\x22\x3d\x3d\x3dn$jscomp$0||\x22typ1\x22\x3d\x3d\x3dn$jscomp$0)y.outlinesFormat\x3d\x22truetype\x22,g\x3dIr(e$jscomp$0,\nn$jscomp$0\x3dae.getUShort(e$jscomp$0,4));else if(\x22OTTO\x22\x3d\x3d\x3dn$jscomp$0)y.outlinesFormat\x3d\x22cff\x22,g\x3dIr(e$jscomp$0,n$jscomp$0\x3dae.getUShort(e$jscomp$0,4));else{if(\x22wOFF\x22!\x3d\x3dn$jscomp$0)throw Error(\x22Unsupported OpenType signature \x22+n$jscomp$0);g\x3dae.getTag(e$jscomp$0,4);if(g\x3d\x3d\x3dString.fromCharCode(0,1,0,0))y.outlinesFormat\x3d\x22truetype\x22;else{if(\x22OTTO\x22!\x3d\x3dg)throw Error(\x22Unsupported OpenType flavor \x22+n$jscomp$0);y.outlinesFormat\x3d\x22cff\x22}g\x3dfunction(e,t){for(var r\x3d[],n\x3d44,o\x3d0;o\x3ct;o+\x3d1){var i\x3dae.getTag(e,n),a\x3dae.getULong(e,\nn+4),s\x3dae.getULong(e,n+8),l\x3dae.getULong(e,n+12);r.push({tag:i,offset:a,compression:s\x3cl\x26\x26\x22WOFF\x22,compressedLength:s,length:l});n+\x3d20}return r}(e$jscomp$0,n$jscomp$0\x3dae.getUShort(e$jscomp$0,12))}for(var _\x3d0;_\x3cn$jscomp$0;_+\x3d1){var x\x3dg[_];var p\x3dvoid 0;switch(x.tag){case \x22cmap\x22:p\x3dUr(e$jscomp$0,x);y.tables.cmap\x3dse.parse(p.data,p.offset);y.encoding\x3dnew he(y.tables.cmap);break;case \x22cvt \x22:p\x3dUr(e$jscomp$0,x);p\x3dnew ae.Parser(p.data,p.offset);y.tables.cvt\x3dp.parseShortList(x.length/2);break;case \x22fvar\x22:var i$jscomp$0\x3d\nx;break;case \x22fpgm\x22:p\x3dUr(e$jscomp$0,x);p\x3dnew ae.Parser(p.data,p.offset);y.tables.fpgm\x3dp.parseByteList(x.length);break;case \x22head\x22:p\x3dUr(e$jscomp$0,x);y.tables.head\x3dFe.parse(p.data,p.offset);y.unitsPerEm\x3dy.tables.head.unitsPerEm;var t$jscomp$0\x3dy.tables.head.indexToLocFormat;break;case \x22hhea\x22:p\x3dUr(e$jscomp$0,x);y.tables.hhea\x3dBe.parse(p.data,p.offset);y.ascender\x3dy.tables.hhea.ascender;y.descender\x3dy.tables.hhea.descender;y.numberOfHMetrics\x3dy.tables.hhea.numberOfHMetrics;break;case \x22hmtx\x22:var u\x3dx;break;\ncase \x22ltag\x22:p\x3dUr(e$jscomp$0,x);var r$jscomp$0\x3dVe.parse(p.data,p.offset);break;case \x22maxp\x22:p\x3dUr(e$jscomp$0,x);y.tables.maxp\x3dze.parse(p.data,p.offset);y.numGlyphs\x3dy.tables.maxp.numGlyphs;break;case \x22name\x22:var f\x3dx;break;case \x22OS/2\x22:p\x3dUr(e$jscomp$0,x);y.tables.os2\x3dot.parse(p.data,p.offset);break;case \x22post\x22:p\x3dUr(e$jscomp$0,x);y.tables.post\x3dit.parse(p.data,p.offset);y.glyphNames\x3dnew ye(y.tables.post);break;case \x22prep\x22:p\x3dUr(e$jscomp$0,x);p\x3dnew ae.Parser(p.data,p.offset);y.tables.prep\x3dp.parseByteList(x.length);\nbreak;case \x22glyf\x22:var a$jscomp$0\x3dx;break;case \x22loca\x22:var d\x3dx;break;case \x22CFF \x22:var o$jscomp$0\x3dx;break;case \x22kern\x22:var c\x3dx;break;case \x22GPOS\x22:var s$jscomp$0\x3dx;break;case \x22GSUB\x22:var l$jscomp$0\x3dx;break;case \x22meta\x22:var h\x3dx}}f\x3dUr(e$jscomp$0,f);if(y.tables.name\x3drt.parse(f.data,f.offset,r$jscomp$0),y.names\x3dy.tables.name,a$jscomp$0\x26\x26d)t$jscomp$0\x3d0\x3d\x3d\x3dt$jscomp$0,d\x3dUr(e$jscomp$0,d),d\x3dkr.parse(d.data,d.offset,y.numGlyphs,t$jscomp$0),a$jscomp$0\x3dUr(e$jscomp$0,a$jscomp$0),y.glyphs\x3dIt.parse(a$jscomp$0.data,a$jscomp$0.offset,\nd,y);else{if(!o$jscomp$0)throw Error(\x22Font doesn\x27t contain TrueType or CFF outlines.\x22);a$jscomp$0\x3dUr(e$jscomp$0,o$jscomp$0);Ne.parse(a$jscomp$0.data,a$jscomp$0.offset,y)}u\x3dUr(e$jscomp$0,u);(Ge.parse(u.data,u.offset,y.numberOfHMetrics,y.numGlyphs,y.glyphs),function(e){var t\x3de.tables.cmap.glyphIndexMap;for(var n\x3dObject.keys(t),o\x3d0;o\x3cn.length;o+\x3d1){var i\x3dn[o];e.glyphs.get(t[i]).addUnicode(parseInt(i))}for(n\x3d0;n\x3ce.glyphs.length;n+\x3d1)t\x3de.glyphs.get(n),e.cffEncoding?e.isCIDFont?t.name\x3d\x22gid\x22+n:t.name\x3de.cffEncoding.charset[n]:\ne.glyphNames.names\x26\x26(t.name\x3de.glyphNames.glyphIndexToName(n))}(y),c)?(c\x3dUr(e$jscomp$0,c),y.kerningPairs\x3dAr.parse(c.data,c.offset)):y.kerningPairs\x3d{};s$jscomp$0\x26\x26(s$jscomp$0\x3dUr(e$jscomp$0,s$jscomp$0),y.tables.gpos\x3dPr.parse(s$jscomp$0.data,s$jscomp$0.offset),y.position.init());l$jscomp$0\x26\x26(l$jscomp$0\x3dUr(e$jscomp$0,l$jscomp$0),y.tables.gsub\x3dut.parse(l$jscomp$0.data,l$jscomp$0.offset));i$jscomp$0\x26\x26(i$jscomp$0\x3dUr(e$jscomp$0,i$jscomp$0),y.tables.fvar\x3dOr.parse(i$jscomp$0.data,i$jscomp$0.offset,y.names));\nh\x26\x26(h\x3dUr(e$jscomp$0,h),y.tables.meta\x3dct.parse(h.data,h.offset),y.metas\x3dy.tables.meta);return y}var t$jscomp$1;String.prototype.codePointAt||((t$jscomp$1\x3dfunction(){try{var e$jscomp$0\x3d{},t\x3dObject.defineProperty,r\x3dt(e$jscomp$0,e$jscomp$0,e$jscomp$0)\x26\x26t}catch(e){}return r}())?t$jscomp$1(String.prototype,\x22codePointAt\x22,{value:e$jscomp$2,configurable:!0,writable:!0}):String.prototype.codePointAt\x3de$jscomp$2);var s$jscomp$1\x3dnew r$jscomp$3,u$jscomp$1\x3dnew r$jscomp$3,c$jscomp$0\x3dnew Uint8Array(30),d$jscomp$1\x3d\nnew Uint16Array(30),f$jscomp$0\x3dnew Uint8Array(30),h$jscomp$1\x3dnew Uint16Array(30),p$jscomp$0\x3dnew Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),y$jscomp$0\x3dnew r$jscomp$3,m$jscomp$0\x3dnew Uint8Array(320),g$jscomp$0\x3dnew Uint16Array(16);!function(e,t){var r;for(r\x3d0;7\x3er;++r)e.table[r]\x3d0;e.table[7]\x3d24;e.table[8]\x3d152;e.table[9]\x3d112;for(r\x3d0;24\x3er;++r)e.trans[r]\x3d256+r;for(r\x3d0;144\x3er;++r)e.trans[24+r]\x3dr;for(r\x3d0;8\x3er;++r)e.trans[168+r]\x3d280+r;for(r\x3d0;112\x3er;++r)e.trans[176+r]\x3d144+r;for(r\x3d0;5\x3er;++r)t.table[r]\x3d\n0;t.table[5]\x3d32;for(r\x3d0;32\x3er;++r)t.trans[r]\x3dr}(s$jscomp$1,u$jscomp$1);n$jscomp$2(c$jscomp$0,d$jscomp$1,4,3);n$jscomp$2(f$jscomp$0,h$jscomp$1,2,1);c$jscomp$0[28]\x3d0;d$jscomp$1[28]\x3d258;T$jscomp$0.prototype.isEmpty\x3dfunction(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)};T$jscomp$0.prototype.addPoint\x3dfunction(e,t){\x22number\x22\x3d\x3dtypeof e\x26\x26((isNaN(this.x1)||isNaN(this.x2))\x26\x26(this.x1\x3de,this.x2\x3de),e\x3cthis.x1\x26\x26(this.x1\x3de),e\x3ethis.x2\x26\x26(this.x2\x3de));\x22number\x22\x3d\x3dtypeof t\x26\x26((isNaN(this.y1)||isNaN(this.y2))\x26\x26\n(this.y1\x3dt,this.y2\x3dt),t\x3cthis.y1\x26\x26(this.y1\x3dt),t\x3ethis.y2\x26\x26(this.y2\x3dt))};T$jscomp$0.prototype.addX\x3dfunction(e){this.addPoint(e,null)};T$jscomp$0.prototype.addY\x3dfunction(e){this.addPoint(null,e)};T$jscomp$0.prototype.addBezier\x3dfunction(e,t,r,n,o,i,a,s){var l\x3d[e,t];r\x3d[r,n];o\x3d[o,i];i\x3d[a,s];this.addPoint(e,t);this.addPoint(a,s);for(e\x3d0;1\x3e\x3de;e++)t\x3d6*l[e]-12*r[e]+6*o[e],a\x3d-3*l[e]+9*r[e]-9*o[e]+3*i[e],s\x3d3*r[e]-3*l[e],0!\x3da?(s\x3dMath.pow(t,2)-4*s*a,0\x3es||(n\x3d(-t+Math.sqrt(s))/(2*a),0\x3cn\x26\x261\x3en\x26\x26(0\x3d\x3d\x3de\x26\x26this.addX(E$jscomp$0(l[e],\nr[e],o[e],i[e],n)),1\x3d\x3d\x3de\x26\x26this.addY(E$jscomp$0(l[e],r[e],o[e],i[e],n))),t\x3d(-t-Math.sqrt(s))/(2*a),0\x3ct\x26\x261\x3et\x26\x26(0\x3d\x3d\x3de\x26\x26this.addX(E$jscomp$0(l[e],r[e],o[e],i[e],t)),1\x3d\x3d\x3de\x26\x26this.addY(E$jscomp$0(l[e],r[e],o[e],i[e],t))))):0!\x3dt\x26\x26(t\x3d-s/t,0\x3ct\x26\x261\x3et\x26\x26(0\x3d\x3d\x3de\x26\x26this.addX(E$jscomp$0(l[e],r[e],o[e],i[e],t)),1\x3d\x3d\x3de\x26\x26this.addY(E$jscomp$0(l[e],r[e],o[e],i[e],t))))};T$jscomp$0.prototype.addQuad\x3dfunction(e,t,r,n,o,i){r\x3de+2/3*(r-e);n\x3dt+2/3*(n-t);this.addBezier(e,t,r,n,r+1/3*(o-e),n+1/3*(i-t),o,i)};D.prototype.moveTo\x3dfunction(e,\nt){this.commands.push({type:\x22M\x22,x:e,y:t})};D.prototype.lineTo\x3dfunction(e,t){this.commands.push({type:\x22L\x22,x:e,y:t})};D.prototype.curveTo\x3dD.prototype.bezierCurveTo\x3dfunction(e,t,r,n,o,i){this.commands.push({type:\x22C\x22,x1:e,y1:t,x2:r,y2:n,x:o,y:i})};D.prototype.quadTo\x3dD.prototype.quadraticCurveTo\x3dfunction(e,t,r,n){this.commands.push({type:\x22Q\x22,x1:e,y1:t,x:r,y:n})};D.prototype.close\x3dD.prototype.closePath\x3dfunction(){this.commands.push({type:\x22Z\x22})};D.prototype.extend\x3dfunction(e){if(e.commands)e\x3de.commands;\nelse if(e instanceof T$jscomp$0)return this.moveTo(e.x1,e.y1),this.lineTo(e.x2,e.y1),this.lineTo(e.x2,e.y2),this.lineTo(e.x1,e.y2),void this.close();Array.prototype.push.apply(this.commands,e)};D.prototype.getBoundingBox\x3dfunction(){for(var e\x3dnew T$jscomp$0,t\x3d0,r\x3d0,n\x3d0,o\x3d0,i\x3d0;i\x3cthis.commands.length;i++){var a\x3dthis.commands[i];switch(a.type){case \x22M\x22:e.addPoint(a.x,a.y);t\x3dn\x3da.x;r\x3do\x3da.y;break;case \x22L\x22:e.addPoint(a.x,a.y);n\x3da.x;o\x3da.y;break;case \x22Q\x22:e.addQuad(n,o,a.x1,a.y1,a.x,a.y);n\x3da.x;o\x3da.y;break;\ncase \x22C\x22:e.addBezier(n,o,a.x1,a.y1,a.x2,a.y2,a.x,a.y);n\x3da.x;o\x3da.y;break;case \x22Z\x22:n\x3dt;o\x3dr;break;default:throw Error(\x22Unexpected path command \x22+a.type);}}return e.isEmpty()\x26\x26e.addPoint(0,0),e};D.prototype.draw\x3dfunction(e){e.beginPath();for(var t\x3d0;t\x3cthis.commands.length;t+\x3d1){var r\x3dthis.commands[t];\x22M\x22\x3d\x3d\x3dr.type?e.moveTo(r.x,r.y):\x22L\x22\x3d\x3d\x3dr.type?e.lineTo(r.x,r.y):\x22C\x22\x3d\x3d\x3dr.type?e.bezierCurveTo(r.x1,r.y1,r.x2,r.y2,r.x,r.y):\x22Q\x22\x3d\x3d\x3dr.type?e.quadraticCurveTo(r.x1,r.y1,r.x,r.y):\x22Z\x22\x3d\x3d\x3dr.type\x26\x26e.closePath()}this.fill\x26\x26\n(e.fillStyle\x3dthis.fill,e.fill());this.stroke\x26\x26(e.strokeStyle\x3dthis.stroke,e.lineWidth\x3dthis.strokeWidth,e.stroke())};D.prototype.toPathData\x3dfunction(i){function e$jscomp$0(){for(var e,t\x3darguments,r\x3d\x22\x22,n\x3d0;n\x3carguments.length;n+\x3d1){var o\x3dt[n];0\x3c\x3do\x26\x260\x3cn\x26\x26(r+\x3d\x22 \x22);r+\x3d(e\x3do,Math.round(e)\x3d\x3d\x3de?\x22\x22+Math.round(e):e.toFixed(i))}return r}i\x3dvoid 0!\x3d\x3di?i:2;for(var t$jscomp$0\x3d\x22\x22,r$jscomp$0\x3d0;r$jscomp$0\x3cthis.commands.length;r$jscomp$0+\x3d1){var n$jscomp$0\x3dthis.commands[r$jscomp$0];\x22M\x22\x3d\x3d\x3dn$jscomp$0.type?t$jscomp$0+\x3d\x22M\x22+\ne$jscomp$0(n$jscomp$0.x,n$jscomp$0.y):\x22L\x22\x3d\x3d\x3dn$jscomp$0.type?t$jscomp$0+\x3d\x22L\x22+e$jscomp$0(n$jscomp$0.x,n$jscomp$0.y):\x22C\x22\x3d\x3d\x3dn$jscomp$0.type?t$jscomp$0+\x3d\x22C\x22+e$jscomp$0(n$jscomp$0.x1,n$jscomp$0.y1,n$jscomp$0.x2,n$jscomp$0.y2,n$jscomp$0.x,n$jscomp$0.y):\x22Q\x22\x3d\x3d\x3dn$jscomp$0.type?t$jscomp$0+\x3d\x22Q\x22+e$jscomp$0(n$jscomp$0.x1,n$jscomp$0.y1,n$jscomp$0.x,n$jscomp$0.y):\x22Z\x22\x3d\x3d\x3dn$jscomp$0.type\x26\x26(t$jscomp$0+\x3d\x22Z\x22)}return t$jscomp$0};D.prototype.toSVG\x3dfunction(e){var t\x3d\x27\\x3cpath d\\x3d\x22\x27;return t+\x3dthis.toPathData(e),t+\x3d\x27\x22\x27,this.fill\x26\x26\n\x22black\x22!\x3d\x3dthis.fill\x26\x26(null\x3d\x3d\x3dthis.fill?t+\x3d\x27 fill\\x3d\x22none\x22\x27:t+\x3d\x27 fill\\x3d\x22\x27+this.fill+\x27\x22\x27),this.stroke\x26\x26(t+\x3d\x27 stroke\\x3d\x22\x27+this.stroke+\x27\x22 stroke-width\\x3d\x22\x27+this.strokeWidth+\x27\x22\x27),t+\x22/\\x3e\x22};D.prototype.toDOMElement\x3dfunction(e){e\x3dthis.toPathData(e);var r\x3ddocument.createElementNS(\x22http://www.w3.org/2000/svg\x22,\x22path\x22);return r.setAttribute(\x22d\x22,e),r};var L$jscomp$0\x3d{fail:O$jscomp$0,argument:C$jscomp$0,assert:C$jscomp$0},P$jscomp$0\x3d{},A$jscomp$0\x3d{},k$jscomp$0\x3d{};A$jscomp$0.BYTE\x3dfunction(e){return L$jscomp$0.argument(0\x3c\x3d\ne\x26\x26255\x3e\x3de,\x22Byte value should be between 0 and 255.\x22),[e]};k$jscomp$0.BYTE\x3dR$jscomp$0(1);A$jscomp$0.CHAR\x3dfunction(e){return[e.charCodeAt(0)]};k$jscomp$0.CHAR\x3dR$jscomp$0(1);A$jscomp$0.CHARARRAY\x3dfunction(e){for(var t\x3d[],r\x3d0;r\x3ce.length;r+\x3d1)t[r]\x3de.charCodeAt(r);return t};k$jscomp$0.CHARARRAY\x3dfunction(e){return e.length};A$jscomp$0.USHORT\x3dfunction(e){return[e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.USHORT\x3dR$jscomp$0(2);A$jscomp$0.SHORT\x3dfunction(e){return 32768\x3c\x3de\x26\x26(e\x3d-(65536-e)),[e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.SHORT\x3dR$jscomp$0(2);\nA$jscomp$0.UINT24\x3dfunction(e){return[e\x3e\x3e16\x26255,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.UINT24\x3dR$jscomp$0(3);A$jscomp$0.ULONG\x3dfunction(e){return[e\x3e\x3e24\x26255,e\x3e\x3e16\x26255,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.ULONG\x3dR$jscomp$0(4);A$jscomp$0.LONG\x3dfunction(e){return 2147483648\x3c\x3de\x26\x26(e\x3d-(4294967296-e)),[e\x3e\x3e24\x26255,e\x3e\x3e16\x26255,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.LONG\x3dR$jscomp$0(4);A$jscomp$0.FIXED\x3dA$jscomp$0.ULONG;k$jscomp$0.FIXED\x3dk$jscomp$0.ULONG;A$jscomp$0.FWORD\x3dA$jscomp$0.SHORT;k$jscomp$0.FWORD\x3dk$jscomp$0.SHORT;A$jscomp$0.UFWORD\x3dA$jscomp$0.USHORT;\nk$jscomp$0.UFWORD\x3dk$jscomp$0.USHORT;A$jscomp$0.LONGDATETIME\x3dfunction(e){return[0,0,0,0,e\x3e\x3e24\x26255,e\x3e\x3e16\x26255,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.LONGDATETIME\x3dR$jscomp$0(8);A$jscomp$0.TAG\x3dfunction(e){return L$jscomp$0.argument(4\x3d\x3d\x3de.length,\x22Tag should be exactly 4 ASCII characters.\x22),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]};k$jscomp$0.TAG\x3dR$jscomp$0(4);A$jscomp$0.Card8\x3dA$jscomp$0.BYTE;k$jscomp$0.Card8\x3dk$jscomp$0.BYTE;A$jscomp$0.Card16\x3dA$jscomp$0.USHORT;k$jscomp$0.Card16\x3dk$jscomp$0.USHORT;\nA$jscomp$0.OffSize\x3dA$jscomp$0.BYTE;k$jscomp$0.OffSize\x3dk$jscomp$0.BYTE;A$jscomp$0.SID\x3dA$jscomp$0.USHORT;k$jscomp$0.SID\x3dk$jscomp$0.USHORT;A$jscomp$0.NUMBER\x3dfunction(e){return-107\x3c\x3de\x26\x26107\x3e\x3de?[e+139]:108\x3c\x3de\x26\x261131\x3e\x3de?[247+((e-\x3d108)\x3e\x3e8),255\x26e]:-1131\x3c\x3de\x26\x26-108\x3e\x3de?[251+((e\x3d-e-108)\x3e\x3e8),255\x26e]:-32768\x3c\x3de\x26\x2632767\x3e\x3de?A$jscomp$0.NUMBER16(e):A$jscomp$0.NUMBER32(e)};k$jscomp$0.NUMBER\x3dfunction(e){return A$jscomp$0.NUMBER(e).length};A$jscomp$0.NUMBER16\x3dfunction(e){return[28,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.NUMBER16\x3dR$jscomp$0(3);\nA$jscomp$0.NUMBER32\x3dfunction(e){return[29,e\x3e\x3e24\x26255,e\x3e\x3e16\x26255,e\x3e\x3e8\x26255,255\x26e]};k$jscomp$0.NUMBER32\x3dR$jscomp$0(5);A$jscomp$0.REAL\x3dfunction(e){var t\x3de.toString(),r\x3d/\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(t);r\x26\x26(t\x3dparseFloat(\x221e\x22+((r[2]?+r[2]:0)+r[1].length)),t\x3d(Math.round(e*t)/t).toString());e\x3d\x22\x22;r\x3d0;for(var a\x3dt.length;r\x3ca;r+\x3d1){var s\x3dt[r];e+\x3d\x22e\x22\x3d\x3d\x3ds?\x22-\x22\x3d\x3d\x3dt[++r]?\x22c\x22:\x22b\x22:\x22.\x22\x3d\x3d\x3ds?\x22a\x22:\x22-\x22\x3d\x3d\x3ds?\x22e\x22:s}t\x3d[30];r\x3d0;for(a\x3d(e+\x3d1\x26e.length?\x22f\x22:\x22ff\x22).length;r\x3ca;r+\x3d2)t.push(parseInt(e.substr(r,2),16));\nreturn t};k$jscomp$0.REAL\x3dfunction(e){return A$jscomp$0.REAL(e).length};A$jscomp$0.NAME\x3dA$jscomp$0.CHARARRAY;k$jscomp$0.NAME\x3dk$jscomp$0.CHARARRAY;A$jscomp$0.STRING\x3dA$jscomp$0.CHARARRAY;k$jscomp$0.STRING\x3dk$jscomp$0.CHARARRAY;P$jscomp$0.UTF8\x3dfunction(e,t,r){for(var n\x3d[],i\x3d0;i\x3cr;i++,t+\x3d1)n[i]\x3de.getUint8(t);return String.fromCharCode.apply(null,n)};P$jscomp$0.UTF16\x3dfunction(e,t,r){var n\x3d[];r/\x3d2;for(var i\x3d0;i\x3cr;i++,t+\x3d2)n[i]\x3de.getUint16(t);return String.fromCharCode.apply(null,n)};A$jscomp$0.UTF16\x3dfunction(e){for(var t\x3d\n[],r\x3d0;r\x3ce.length;r+\x3d1){var n\x3de.charCodeAt(r);t[t.length]\x3dn\x3e\x3e8\x26255;t[t.length]\x3d255\x26n}return t};k$jscomp$0.UTF16\x3dfunction(e){return 2*e.length};var I\x3d{\x22x-mac-croatian\x22:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\u2020\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\u0160\u2122\xb4\xa8\u2260\u017d\xd8\u221e\xb1\u2264\u2265\u2206\xb5\u2202\u2211\u220f\u0161\u222b\xaa\xba\u03a9\u017e\xf8\xbf\xa1\xac\u221a\u0192\u2248\u0106\xab\u010c\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u0110\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\uf8ff\xa9\u2044\u20ac\u2039\u203a\xc6\xbb\u2013\xb7\u201a\u201e\u2030\xc2\u0107\xc1\u010d\xc8\xcd\xce\xcf\xcc\xd3\xd4\u0111\xd2\xda\xdb\xd9\u0131\u02c6\u02dc\xaf\u03c0\xcb\u02da\xb8\xca\xe6\u02c7\x22,\x22x-mac-cyrillic\x22:\x22\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041a\u041b\u041c\u041d\u041e\u041f\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042a\u042b\u042c\u042d\u042e\u042f\u2020\xb0\u0490\xa3\xa7\u2022\xb6\u0406\xae\xa9\u2122\u0402\u0452\u2260\u0403\u0453\u221e\xb1\u2264\u2265\u0456\xb5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040a\u045a\u0458\u0405\xac\u221a\u0192\u2248\u2206\xab\xbb\u2026\xa0\u040b\u045b\u040c\u045c\u0455\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u201e\u040e\u045e\u040f\u045f\u2116\u0401\u0451\u044f\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043a\u043b\u043c\u043d\u043e\u043f\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b\u044c\u044d\u044e\x22,\x22x-mac-gaelic\x22:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\u2020\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\xb4\xa8\u2260\xc6\xd8\u1e02\xb1\u2264\u2265\u1e03\u010a\u010b\u1e0a\u1e0b\u1e1e\u1e1f\u0120\u0121\u1e40\xe6\xf8\u1e41\u1e56\u1e57\u027c\u0192\u017f\u1e60\xab\xbb\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u2013\u2014\u201c\u201d\u2018\u2019\u1e61\u1e9b\xff\u0178\u1e6a\u20ac\u2039\u203a\u0176\u0177\u1e6b\xb7\u1ef2\u1ef3\u204a\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\u2663\xd2\xda\xdb\xd9\u0131\xdd\xfd\u0174\u0175\u1e84\u1e85\u1e80\u1e81\u1e82\u1e83\x22,\n\x22x-mac-greek\x22:\x22\xc4\xb9\xb2\xc9\xb3\xd6\xdc\u0385\xe0\xe2\xe4\u0384\xa8\xe7\xe9\xe8\xea\xeb\xa3\u2122\xee\xef\u2022\xbd\u2030\xf4\xf6\xa6\u20ac\xf9\xfb\xfc\u2020\u0393\u0394\u0398\u039b\u039e\u03a0\xdf\xae\xa9\u03a3\u03aa\xa7\u2260\xb0\xb7\u0391\xb1\u2264\u2265\xa5\u0392\u0395\u0396\u0397\u0399\u039a\u039c\u03a6\u03ab\u03a8\u03a9\u03ac\u039d\xac\u039f\u03a1\u2248\u03a4\xab\xbb\u2026\xa0\u03a5\u03a7\u0386\u0388\u0153\u2013\u2015\u201c\u201d\u2018\u2019\xf7\u0389\u038a\u038c\u038e\u03ad\u03ae\u03af\u03cc\u038f\u03cd\u03b1\u03b2\u03c8\u03b4\u03b5\u03c6\u03b3\u03b7\u03b9\u03be\u03ba\u03bb\u03bc\u03bd\u03bf\u03c0\u03ce\u03c1\u03c3\u03c4\u03b8\u03c9\u03c2\u03c7\u03c5\u03b6\u03ca\u03cb\u0390\u03b0\xad\x22,\x22x-mac-icelandic\x22:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\xdd\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\xb4\xa8\u2260\xc6\xd8\u221e\xb1\u2264\u2265\xa5\xb5\u2202\u2211\u220f\u03c0\u222b\xaa\xba\u03a9\xe6\xf8\xbf\xa1\xac\u221a\u0192\u2248\u2206\xab\xbb\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\xff\u0178\u2044\u20ac\xd0\xf0\xde\xfe\xfd\xb7\u201a\u201e\u2030\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\uf8ff\xd2\xda\xdb\xd9\u0131\u02c6\u02dc\xaf\u02d8\u02d9\u02da\xb8\u02dd\u02db\u02c7\x22,\x22x-mac-inuit\x22:\x22\u1403\u1404\u1405\u1406\u140a\u140b\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144e\u144f\u1450\u1451\u1455\u1456\u1466\u146d\u146e\u146f\u1470\u1472\u1473\u1483\u148b\u148c\u148d\u148e\u1490\u1491\xb0\u14a1\u14a5\u14a6\u2022\xb6\u14a7\xae\xa9\u2122\u14a8\u14aa\u14ab\u14bb\u14c2\u14c3\u14c4\u14c5\u14c7\u14c8\u14d0\u14ef\u14f0\u14f1\u14f2\u14f4\u14f5\u1505\u14d5\u14d6\u14d7\u14d8\u14da\u14db\u14ea\u1528\u1529\u152a\u152b\u152d\u2026\xa0\u152e\u153e\u1555\u1556\u1557\u2013\u2014\u201c\u201d\u2018\u2019\u1558\u1559\u155a\u155d\u1546\u1547\u1548\u1549\u154b\u154c\u1550\u157f\u1580\u1581\u1582\u1583\u1584\u1585\u158f\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15a0\u15a1\u15a2\u15a3\u15a4\u15a5\u15a6\u157c\u0141\u0142\x22,\x22x-mac-ce\x22:\x22\xc4\u0100\u0101\xc9\u0104\xd6\xdc\xe1\u0105\u010c\xe4\u010d\u0106\u0107\xe9\u0179\u017a\u010e\xed\u010f\u0112\u0113\u0116\xf3\u0117\xf4\xf6\xf5\xfa\u011a\u011b\xfc\u2020\xb0\u0118\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\u0119\xa8\u2260\u0123\u012e\u012f\u012a\u2264\u2265\u012b\u0136\u2202\u2211\u0142\u013b\u013c\u013d\u013e\u0139\u013a\u0145\u0146\u0143\xac\u221a\u0144\u0147\u2206\xab\xbb\u2026\xa0\u0148\u0150\xd5\u0151\u014c\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\u014d\u0154\u0155\u0158\u2039\u203a\u0159\u0156\u0157\u0160\u201a\u201e\u0161\u015a\u015b\xc1\u0164\u0165\xcd\u017d\u017e\u016a\xd3\xd4\u016b\u016e\xda\u016f\u0170\u0171\u0172\u0173\xdd\xfd\u0137\u017b\u0141\u017c\u0122\u02c7\x22,\nmacintosh:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\u2020\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\xb4\xa8\u2260\xc6\xd8\u221e\xb1\u2264\u2265\xa5\xb5\u2202\u2211\u220f\u03c0\u222b\xaa\xba\u03a9\xe6\xf8\xbf\xa1\xac\u221a\u0192\u2248\u2206\xab\xbb\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\xff\u0178\u2044\u20ac\u2039\u203a\ufb01\ufb02\u2021\xb7\u201a\u201e\u2030\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\uf8ff\xd2\xda\xdb\xd9\u0131\u02c6\u02dc\xaf\u02d8\u02d9\u02da\xb8\u02dd\u02db\u02c7\x22,\x22x-mac-romanian\x22:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\u2020\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\xb4\xa8\u2260\u0102\u0218\u221e\xb1\u2264\u2265\xa5\xb5\u2202\u2211\u220f\u03c0\u222b\xaa\xba\u03a9\u0103\u0219\xbf\xa1\xac\u221a\u0192\u2248\u2206\xab\xbb\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\xff\u0178\u2044\u20ac\u2039\u203a\u021a\u021b\u2021\xb7\u201a\u201e\u2030\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\uf8ff\xd2\xda\xdb\xd9\u0131\u02c6\u02dc\xaf\u02d8\u02d9\u02da\xb8\u02dd\u02db\u02c7\x22,\x22x-mac-turkish\x22:\x22\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\u2020\xb0\xa2\xa3\xa7\u2022\xb6\xdf\xae\xa9\u2122\xb4\xa8\u2260\xc6\xd8\u221e\xb1\u2264\u2265\xa5\xb5\u2202\u2211\u220f\u03c0\u222b\xaa\xba\u03a9\xe6\xf8\xbf\xa1\xac\u221a\u0192\u2248\u2206\xab\xbb\u2026\xa0\xc0\xc3\xd5\u0152\u0153\u2013\u2014\u201c\u201d\u2018\u2019\xf7\u25ca\xff\u0178\u011e\u011f\u0130\u0131\u015e\u015f\u2021\xb7\u201a\u201e\u2030\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\uf8ff\xd2\xda\xdb\xd9\uf8a0\u02c6\u02dc\xaf\u02d8\u02d9\u02da\xb8\u02dd\u02db\u02c7\x22};P$jscomp$0.MACSTRING\x3dfunction(e,t,r,n){n\x3dI[n];if(void 0!\x3d\x3dn){for(var i\x3d\n\x22\x22,a\x3d0;a\x3cr;a++){var s\x3de.getUint8(t+a);i+\x3d127\x3e\x3ds?String.fromCharCode(s):n[127\x26s]}return i}};var U,N\x3d\x22function\x22\x3d\x3dtypeof WeakMap\x26\x26new WeakMap;A$jscomp$0.MACSTRING\x3dfunction(e,t){a:{if(!U)for(r in U\x3d{},I)U[r]\x3dnew String(r);var r\x3dU[t];if(void 0!\x3d\x3dr){if(N){var n\x3dN.get(r);if(void 0!\x3d\x3dn){r\x3dn;break a}}t\x3dI[t];if(void 0!\x3d\x3dt){n\x3d{};for(var a\x3d0;a\x3ct.length;a++)n[t.charCodeAt(a)]\x3da+128;r\x3d(N\x26\x26N.set(r,n),n);break a}}r\x3dvoid 0}if(void 0!\x3d\x3dr){t\x3d[];for(n\x3d0;n\x3ce.length;n++){a\x3de.charCodeAt(n);if(128\x3c\x3da\x26\x26void 0\x3d\x3d\x3d(a\x3dr[a]))return;\nt[n]\x3da}return t}};k$jscomp$0.MACSTRING\x3dfunction(e,t){e\x3dA$jscomp$0.MACSTRING(e,t);return void 0!\x3d\x3de?e.length:0};A$jscomp$0.VARDELTAS\x3dfunction(e){for(var t\x3d0,r\x3d[];t\x3ce.length;){var n\x3de[t];if(0\x3d\x3d\x3dn){n\x3dt;t\x3d0;for(var o\x3de.length;n\x3co\x26\x2664\x3et\x26\x260\x3d\x3d\x3de[n];)++n,++t;n\x3d(r.push(128|t-1),n)}else if(-128\x3c\x3dn\x26\x26127\x3e\x3dn){n\x3de;var t$jscomp$0\x3dt;t\x3dr;var n$jscomp$0\x3d0,o$jscomp$0\x3dn.length;for(o\x3dt$jscomp$0;o\x3co$jscomp$0\x26\x2664\x3en$jscomp$0;){var a\x3dn[o];if(!(-128\x3c\x3da\x26\x26127\x3e\x3da))break;if(0\x3d\x3d\x3da\x26\x26o+1\x3co$jscomp$0\x26\x260\x3d\x3d\x3dn[o+1])break;++o;++n$jscomp$0}for(t.push(n$jscomp$0-\n1);t$jscomp$0\x3co;++t$jscomp$0)t.push(n[t$jscomp$0]+256\x26255);n\x3do}else{n\x3de;t$jscomp$0\x3dt;t\x3dr;n$jscomp$0\x3d0;o$jscomp$0\x3dn.length;for(o\x3dt$jscomp$0;o\x3co$jscomp$0\x26\x2664\x3en$jscomp$0;){a\x3dn[o];if(0\x3d\x3d\x3da)break;if(a\x3d-128\x3c\x3da\x26\x26127\x3e\x3da\x26\x26o+1\x3co$jscomp$0)a\x3dn[o+1],a\x3d-128\x3c\x3da\x26\x26127\x3e\x3da;if(a)break;++o;++n$jscomp$0}for(t.push(64|n$jscomp$0-1);t$jscomp$0\x3co;++t$jscomp$0)n$jscomp$0\x3dn[t$jscomp$0],t.push(n$jscomp$0+65536\x3e\x3e8\x26255,n$jscomp$0+256\x26255);n\x3do}t\x3dn}return r};A$jscomp$0.INDEX\x3dfunction(e){for(var t\x3d1,r\x3d[t],n\x3d[],o\x3d0;o\x3ce.length;o+\x3d\n1){var i\x3dA$jscomp$0.OBJECT(e[o]);Array.prototype.push.apply(n,i);t+\x3di.length;r.push(t)}if(0\x3d\x3d\x3dn.length)return[0,0];o\x3d[];t\x3d1+Math.floor(Math.log(t)/Math.log(2))/8|0;i\x3d[void 0,A$jscomp$0.BYTE,A$jscomp$0.USHORT,A$jscomp$0.UINT24,A$jscomp$0.ULONG][t];for(var u\x3d0;u\x3cr.length;u+\x3d1){var c\x3di(r[u]);Array.prototype.push.apply(o,c)}return Array.prototype.concat(A$jscomp$0.Card16(e.length),A$jscomp$0.OffSize(t),o,n)};k$jscomp$0.INDEX\x3dfunction(e){return A$jscomp$0.INDEX(e).length};A$jscomp$0.DICT\x3dfunction(e){for(var t\x3d\n[],r\x3dObject.keys(e),n\x3dr.length,o\x3d0;o\x3cn;o+\x3d1){var i\x3dparseInt(r[o],0),a\x3de[i];t\x3d(t\x3dt.concat(A$jscomp$0.OPERAND(a.value,a.type))).concat(A$jscomp$0.OPERATOR(i))}return t};k$jscomp$0.DICT\x3dfunction(e){return A$jscomp$0.DICT(e).length};A$jscomp$0.OPERATOR\x3dfunction(e){return 1200\x3ee?[e]:[12,e-1200]};A$jscomp$0.OPERAND\x3dfunction(e,t){var r\x3d[];if(Array.isArray(t))for(var n\x3d0;n\x3ct.length;n+\x3d1)L$jscomp$0.argument(e.length\x3d\x3d\x3dt.length,\x22Not enough arguments given for type\x22+t),r\x3dr.concat(A$jscomp$0.OPERAND(e[n],t[n]));\nelse if(\x22SID\x22\x3d\x3d\x3dt)r\x3dr.concat(A$jscomp$0.NUMBER(e));else if(\x22offset\x22\x3d\x3d\x3dt)r\x3dr.concat(A$jscomp$0.NUMBER32(e));else if(\x22number\x22\x3d\x3d\x3dt)r\x3dr.concat(A$jscomp$0.NUMBER(e));else{if(\x22real\x22!\x3d\x3dt)throw Error(\x22Unknown operand type \x22+t);r\x3dr.concat(A$jscomp$0.REAL(e))}return r};A$jscomp$0.OP\x3dA$jscomp$0.BYTE;k$jscomp$0.OP\x3dk$jscomp$0.BYTE;var z\x3d\x22function\x22\x3d\x3dtypeof WeakMap\x26\x26new WeakMap;A$jscomp$0.CHARSTRING\x3dfunction(e){if(z){var t\x3dz.get(e);if(void 0!\x3d\x3dt)return t}t\x3d[];for(var n\x3de.length,o\x3d0;o\x3cn;o+\x3d1){var i\x3de[o];t\x3dt.concat(A$jscomp$0[i.type](i.value))}return z\x26\x26\nz.set(e,t),t};k$jscomp$0.CHARSTRING\x3dfunction(e){return A$jscomp$0.CHARSTRING(e).length};A$jscomp$0.OBJECT\x3dfunction(e){var t\x3dA$jscomp$0[e.type];return L$jscomp$0.argument(void 0!\x3d\x3dt,\x22No encoding function for type \x22+e.type),t(e.value)};k$jscomp$0.OBJECT\x3dfunction(e){var t\x3dk$jscomp$0[e.type];return L$jscomp$0.argument(void 0!\x3d\x3dt,\x22No sizeOf function for type \x22+e.type),t(e.value)};A$jscomp$0.TABLE\x3dfunction(e){for(var t\x3d[],r\x3de.fields.length,n\x3d[],o\x3d[],i\x3d0;i\x3cr;i+\x3d1){var a\x3de.fields[i],s\x3dA$jscomp$0[a.type];\nL$jscomp$0.argument(void 0!\x3d\x3ds,\x22No encoding function for field type \x22+a.type+\x22 (\x22+a.name+\x22)\x22);var l\x3de[a.name];void 0\x3d\x3d\x3dl\x26\x26(l\x3da.value);s\x3ds(l);\x22TABLE\x22\x3d\x3d\x3da.type?(o.push(t.length),t\x3dt.concat([0,0]),n.push(s)):t\x3dt.concat(s)}for(r\x3d0;r\x3cn.length;r+\x3d1)i\x3do[r],a\x3dt.length,L$jscomp$0.argument(65536\x3ea,\x22Table \x22+e.tableName+\x22 too big.\x22),t[i]\x3da\x3e\x3e8,t[i+1]\x3d255\x26a,t\x3dt.concat(n[r]);return t};k$jscomp$0.TABLE\x3dfunction(e){for(var t\x3d0,r\x3de.fields.length,n\x3d0;n\x3cr;n+\x3d1){var o\x3de.fields[n],i\x3dk$jscomp$0[o.type];L$jscomp$0.argument(void 0!\x3d\x3d\ni,\x22No sizeOf function for field type \x22+o.type+\x22 (\x22+o.name+\x22)\x22);var a\x3de[o.name];void 0\x3d\x3d\x3da\x26\x26(a\x3do.value);t+\x3di(a);\x22TABLE\x22\x3d\x3d\x3do.type\x26\x26(t+\x3d2)}return t};A$jscomp$0.RECORD\x3dA$jscomp$0.TABLE;k$jscomp$0.RECORD\x3dk$jscomp$0.TABLE;A$jscomp$0.LITERAL\x3dfunction(e){return e};k$jscomp$0.LITERAL\x3dfunction(e){return e.length};H.prototype.encode\x3dfunction(){return A$jscomp$0.TABLE(this)};H.prototype.sizeOf\x3dfunction(){return k$jscomp$0.TABLE(this)};var J\x3d{Table:H,Record:H,Coverage:(Y.prototype\x3dObject.create(H.prototype)).constructor\x3d\nY,ScriptList:(Z.prototype\x3dObject.create(H.prototype)).constructor\x3dZ,FeatureList:(Q.prototype\x3dObject.create(H.prototype)).constructor\x3dQ,LookupList:(K.prototype\x3dObject.create(H.prototype)).constructor\x3dK,ushortList:W,tableList:q,recordList:X},ne\x3d{byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};oe.prototype.parseByte\x3dfunction(){var e\x3dthis.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+\x3d1,e};oe.prototype.parseChar\x3dfunction(){var e\x3dthis.data.getInt8(this.offset+\nthis.relativeOffset);return this.relativeOffset+\x3d1,e};oe.prototype.parseCard8\x3doe.prototype.parseByte;oe.prototype.parseCard16\x3doe.prototype.parseUShort\x3dfunction(){var e\x3dthis.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+\x3d2,e};oe.prototype.parseSID\x3doe.prototype.parseUShort;oe.prototype.parseOffset16\x3doe.prototype.parseUShort;oe.prototype.parseShort\x3dfunction(){var e\x3dthis.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+\x3d2,e};oe.prototype.parseF2Dot14\x3d\nfunction(){var e\x3dthis.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+\x3d2,e};oe.prototype.parseOffset32\x3doe.prototype.parseULong\x3dfunction(){var e\x3dte(this.data,this.offset+this.relativeOffset);return this.relativeOffset+\x3d4,e};oe.prototype.parseFixed\x3dfunction(){var e\x3dre(this.data,this.offset+this.relativeOffset);return this.relativeOffset+\x3d4,e};oe.prototype.parseString\x3dfunction(e){var t\x3dthis.data,r\x3dthis.offset+this.relativeOffset,n\x3d\x22\x22;this.relativeOffset+\x3de;for(var o\x3d0;o\x3c\ne;o++)n+\x3dString.fromCharCode(t.getUint8(r+o));return n};oe.prototype.parseTag\x3dfunction(){return this.parseString(4)};oe.prototype.parseLongDateTime\x3dfunction(){var e\x3dte(this.data,this.offset+this.relativeOffset+4);return e-\x3d2082844800,this.relativeOffset+\x3d8,e};oe.prototype.parseVersion\x3dfunction(e){var t\x3dee(this.data,this.offset+this.relativeOffset),r\x3dee(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+\x3d4,void 0\x3d\x3d\x3de\x26\x26(e\x3d4096),t+r/e/10};oe.prototype.skip\x3dfunction(e,t){void 0\x3d\x3d\x3d\nt\x26\x26(t\x3d1);this.relativeOffset+\x3dne[e]*t};oe.prototype.parseULongList\x3dfunction(e){void 0\x3d\x3d\x3de\x26\x26(e\x3dthis.parseULong());for(var t\x3dArray(e),r\x3dthis.data,n\x3dthis.offset+this.relativeOffset,o\x3d0;o\x3ce;o++)t[o]\x3dr.getUint32(n),n+\x3d4;return this.relativeOffset+\x3d4*e,t};oe.prototype.parseOffset16List\x3doe.prototype.parseUShortList\x3dfunction(e){void 0\x3d\x3d\x3de\x26\x26(e\x3dthis.parseUShort());for(var t\x3dArray(e),r\x3dthis.data,n\x3dthis.offset+this.relativeOffset,o\x3d0;o\x3ce;o++)t[o]\x3dr.getUint16(n),n+\x3d2;return this.relativeOffset+\x3d2*e,t};oe.prototype.parseShortList\x3d\nfunction(e){for(var t\x3dArray(e),r\x3dthis.data,n\x3dthis.offset+this.relativeOffset,o\x3d0;o\x3ce;o++)t[o]\x3dr.getInt16(n),n+\x3d2;return this.relativeOffset+\x3d2*e,t};oe.prototype.parseByteList\x3dfunction(e){for(var t\x3dArray(e),r\x3dthis.data,n\x3dthis.offset+this.relativeOffset,o\x3d0;o\x3ce;o++)t[o]\x3dr.getUint8(n++);return this.relativeOffset+\x3de,t};oe.prototype.parseList\x3dfunction(e,t){t||(t\x3de,e\x3dthis.parseUShort());for(var r\x3dArray(e),n\x3d0;n\x3ce;n++)r[n]\x3dt.call(this);return r};oe.prototype.parseList32\x3dfunction(e,t){t||(t\x3de,e\x3dthis.parseULong());\nfor(var r\x3dArray(e),n\x3d0;n\x3ce;n++)r[n]\x3dt.call(this);return r};oe.prototype.parseRecordList\x3dfunction(e,t){t||(t\x3de,e\x3dthis.parseUShort());for(var r\x3dArray(e),n\x3dObject.keys(t),o\x3d0;o\x3ce;o++){for(var i\x3d{},a\x3d0;a\x3cn.length;a++){var s\x3dn[a];i[s]\x3dt[s].call(this)}r[o]\x3di}return r};oe.prototype.parseRecordList32\x3dfunction(e,t){t||(t\x3de,e\x3dthis.parseULong());for(var r\x3dArray(e),n\x3dObject.keys(t),o\x3d0;o\x3ce;o++){for(var i\x3d{},a\x3d0;a\x3cn.length;a++){var s\x3dn[a];i[s]\x3dt[s].call(this)}r[o]\x3di}return r};oe.prototype.parseStruct\x3dfunction(e){if(\x22function\x22\x3d\x3d\ntypeof e)return e.call(this);for(var t\x3dObject.keys(e),r\x3d{},n\x3d0;n\x3ct.length;n++){var o\x3dt[n];r[o]\x3de[o].call(this)}return r};oe.prototype.parseValueRecord\x3dfunction(e){if(void 0\x3d\x3d\x3de\x26\x26(e\x3dthis.parseUShort()),0!\x3d\x3de){var t\x3d{};return 1\x26e\x26\x26(t.xPlacement\x3dthis.parseShort()),2\x26e\x26\x26(t.yPlacement\x3dthis.parseShort()),4\x26e\x26\x26(t.xAdvance\x3dthis.parseShort()),8\x26e\x26\x26(t.yAdvance\x3dthis.parseShort()),16\x26e\x26\x26(t.xPlaDevice\x3dvoid 0,this.parseShort()),32\x26e\x26\x26(t.yPlaDevice\x3dvoid 0,this.parseShort()),64\x26e\x26\x26(t.xAdvDevice\x3dvoid 0,this.parseShort()),\n128\x26e\x26\x26(t.yAdvDevice\x3dvoid 0,this.parseShort()),t}};oe.prototype.parseValueRecordList\x3dfunction(){for(var e\x3dthis.parseUShort(),t\x3dthis.parseUShort(),r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3dthis.parseValueRecord(e);return r};oe.prototype.parsePointer\x3dfunction(e){var t\x3dthis.parseOffset16();if(0\x3ct)return(new oe(this.data,this.offset+t)).parseStruct(e)};oe.prototype.parsePointer32\x3dfunction(e){var t\x3dthis.parseOffset32();if(0\x3ct)return(new oe(this.data,this.offset+t)).parseStruct(e)};oe.prototype.parseListOfLists\x3dfunction(e){for(var t\x3d\nthis.parseOffset16List(),r\x3dt.length,n\x3dthis.relativeOffset,o\x3dArray(r),i\x3d0;i\x3cr;i++){var a\x3dt[i];if(0!\x3d\x3da)if(this.relativeOffset\x3da,e){for(var s\x3dthis.parseOffset16List(),l\x3dArray(s.length),u\x3d0;u\x3cs.length;u++)this.relativeOffset\x3da+s[u],l[u]\x3de.call(this);o[i]\x3dl}else o[i]\x3dthis.parseUShortList();else o[i]\x3dvoid 0}return this.relativeOffset\x3dn,o};oe.prototype.parseCoverage\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort(),r\x3dthis.parseUShort();if(1\x3d\x3d\x3dt)return{format:1,glyphs:this.parseUShortList(r)};\nif(2!\x3d\x3dt)throw Error(\x220x\x22+e.toString(16)+\x22: Coverage format must be 1 or 2.\x22);e\x3dArray(r);for(t\x3d0;t\x3cr;t++)e[t]\x3d{start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:e}};oe.prototype.parseClassDef\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort();if(1\x3d\x3d\x3dt)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2\x3d\x3d\x3dt)return{format:2,ranges:this.parseRecordList({start:oe.uShort,end:oe.uShort,classId:oe.uShort})};\nthrow Error(\x220x\x22+e.toString(16)+\x22: ClassDef format must be 1 or 2.\x22);};oe.list\x3dfunction(e,t){return function(){return this.parseList(e,t)}};oe.list32\x3dfunction(e,t){return function(){return this.parseList32(e,t)}};oe.recordList\x3dfunction(e,t){return function(){return this.parseRecordList(e,t)}};oe.recordList32\x3dfunction(e,t){return function(){return this.parseRecordList32(e,t)}};oe.pointer\x3dfunction(e){return function(){return this.parsePointer(e)}};oe.pointer32\x3dfunction(e){return function(){return this.parsePointer32(e)}};\noe.tag\x3doe.prototype.parseTag;oe.byte\x3doe.prototype.parseByte;oe.uShort\x3doe.offset16\x3doe.prototype.parseUShort;oe.uShortList\x3doe.prototype.parseUShortList;oe.uLong\x3doe.offset32\x3doe.prototype.parseULong;oe.uLongList\x3doe.prototype.parseULongList;oe.struct\x3doe.prototype.parseStruct;oe.coverage\x3doe.prototype.parseCoverage;oe.classDef\x3doe.prototype.parseClassDef;var ie\x3d{reserved:oe.uShort,reqFeatureIndex:oe.uShort,featureIndexes:oe.uShortList};oe.prototype.parseScriptList\x3dfunction(){return this.parsePointer(oe.recordList({tag:oe.tag,\nscript:oe.pointer({defaultLangSys:oe.pointer(ie),langSysRecords:oe.recordList({tag:oe.tag,langSys:oe.pointer(ie)})})}))||[]};oe.prototype.parseFeatureList\x3dfunction(){return this.parsePointer(oe.recordList({tag:oe.tag,feature:oe.pointer({featureParams:oe.offset16,lookupListIndexes:oe.uShortList})}))||[]};oe.prototype.parseLookupList\x3dfunction(n){return this.parsePointer(oe.list(oe.pointer(function(){var e\x3dthis.parseUShort();L$jscomp$0.argument(1\x3c\x3de\x26\x269\x3e\x3de,\x22GPOS/GSUB lookup type \x22+e+\x22 unknown.\x22);var t\x3d\nthis.parseUShort(),r\x3d16\x26t;return{lookupType:e,lookupFlag:t,subtables:this.parseList(oe.pointer(n[e])),markFilteringSet:r?this.parseUShort():void 0}})))||[]};oe.prototype.parseFeatureVariationsList\x3dfunction(){return this.parsePointer32(function(){var e\x3dthis.parseUShort(),t\x3dthis.parseUShort();return L$jscomp$0.argument(1\x3d\x3d\x3de\x26\x261\x3et,\x22GPOS/GSUB feature variations table unknown.\x22),this.parseRecordList32({conditionSetOffset:oe.offset32,featureTableSubstitutionOffset:oe.offset32})})||[]};var ae\x3d{getByte:$,\ngetCard8:$,getUShort:ee,getCard16:ee,getShort:function(e,t){return e.getInt16(t,!1)},getULong:te,getFixed:re,getTag:function(e,t){for(var r\x3d\x22\x22,n\x3dt;n\x3ct+4;n+\x3d1)r+\x3dString.fromCharCode(e.getInt8(n));return r},getOffset:function(e,t,r){for(var n\x3d0,o\x3d0;o\x3cr;o+\x3d1)n\x3c\x3c\x3d8,n+\x3de.getUint8(t+o);return n},getBytes:function(e,t,r){for(var n\x3d[];t\x3cr;t+\x3d1)n.push(e.getUint8(t));return n},bytesToString:function(e){for(var t\x3d\x22\x22,r\x3d0;r\x3ce.length;r+\x3d1)t+\x3dString.fromCharCode(e[r]);return t},Parser:oe},se\x3d{parse:function(e$jscomp$0,\nt$jscomp$0){var r$jscomp$0\x3d{};r$jscomp$0.version\x3dae.getUShort(e$jscomp$0,t$jscomp$0);L$jscomp$0.argument(0\x3d\x3d\x3dr$jscomp$0.version,\x22cmap table version should be 0.\x22);r$jscomp$0.numTables\x3dae.getUShort(e$jscomp$0,t$jscomp$0+2);for(var n$jscomp$0\x3d-1,o$jscomp$0\x3dr$jscomp$0.numTables-1;0\x3c\x3do$jscomp$0;--o$jscomp$0){var i$jscomp$0\x3dae.getUShort(e$jscomp$0,t$jscomp$0+4+8*o$jscomp$0),a$jscomp$0\x3dae.getUShort(e$jscomp$0,t$jscomp$0+4+8*o$jscomp$0+2);if(3\x3d\x3d\x3di$jscomp$0\x26\x26(0\x3d\x3d\x3da$jscomp$0||1\x3d\x3d\x3da$jscomp$0||10\x3d\x3d\x3da$jscomp$0)||\n0\x3d\x3d\x3di$jscomp$0\x26\x26(0\x3d\x3d\x3da$jscomp$0||1\x3d\x3d\x3da$jscomp$0||2\x3d\x3d\x3da$jscomp$0||3\x3d\x3d\x3da$jscomp$0||4\x3d\x3d\x3da$jscomp$0)){n$jscomp$0\x3dae.getULong(e$jscomp$0,t$jscomp$0+4+8*o$jscomp$0+4);break}}if(-1\x3d\x3d\x3dn$jscomp$0)throw Error(\x22No valid cmap sub-tables found.\x22);o$jscomp$0\x3dnew ae.Parser(e$jscomp$0,t$jscomp$0+n$jscomp$0);if(r$jscomp$0.format\x3do$jscomp$0.parseUShort(),12\x3d\x3d\x3dr$jscomp$0.format)!function(e,t){var r;t.parseUShort();e.length\x3dt.parseULong();e.language\x3dt.parseULong();e.groupCount\x3dr\x3dt.parseULong();e.glyphIndexMap\x3d{};for(var n\x3d\n0;n\x3cr;n+\x3d1)for(var o\x3dt.parseULong(),i\x3dt.parseULong(),a\x3dt.parseULong();o\x3c\x3di;o+\x3d1)e.glyphIndexMap[o]\x3da,a++}(r$jscomp$0,o$jscomp$0);else{if(4!\x3d\x3dr$jscomp$0.format)throw Error(\x22Only format 4 and 12 cmap tables are supported (found format \x22+r$jscomp$0.format+\x22).\x22);!function(e,t,r,n,o){var i;e.length\x3dt.parseUShort();e.language\x3dt.parseUShort();e.segCount\x3di\x3dt.parseUShort()\x3e\x3e1;t.skip(\x22uShort\x22,3);e.glyphIndexMap\x3d{};t\x3dnew ae.Parser(r,n+o+14);var s\x3dnew ae.Parser(r,n+o+16+2*i),l\x3dnew ae.Parser(r,n+o+16+4*i),u\x3dnew ae.Parser(r,\nn+o+16+6*i);n\x3dn+o+16+8*i;for(o\x3d0;o\x3ci-1;o+\x3d1)for(var f\x3dvoid 0,h\x3dt.parseUShort(),p\x3ds.parseUShort(),y\x3dl.parseShort(),m\x3du.parseUShort(),g\x3dp;g\x3c\x3dh;g+\x3d1)0!\x3d\x3dm?(n\x3du.offset+u.relativeOffset-2,n+\x3dm,n+\x3d2*(g-p),0!\x3d\x3d(f\x3dae.getUShort(r,n))\x26\x26(f\x3df+y\x2665535)):f\x3dg+y\x2665535,e.glyphIndexMap[g]\x3df}(r$jscomp$0,o$jscomp$0,e$jscomp$0,t$jscomp$0,n$jscomp$0)}return r$jscomp$0},make:function(e$jscomp$0){var t$jscomp$0,r\x3d!0;for(t$jscomp$0\x3de$jscomp$0.length-1;0\x3ct$jscomp$0;--t$jscomp$0)if(65535\x3ce$jscomp$0.get(t$jscomp$0).unicode){console.log(\x22Adding CMAP format 12 (needed!)\x22);\nr\x3d!1;break}var n\x3d[{name:\x22version\x22,type:\x22USHORT\x22,value:0},{name:\x22numTables\x22,type:\x22USHORT\x22,value:r?1:2},{name:\x22platformID\x22,type:\x22USHORT\x22,value:3},{name:\x22encodingID\x22,type:\x22USHORT\x22,value:1},{name:\x22offset\x22,type:\x22ULONG\x22,value:r?12:20}];r||(n\x3dn.concat([{name:\x22cmap12PlatformID\x22,type:\x22USHORT\x22,value:3},{name:\x22cmap12EncodingID\x22,type:\x22USHORT\x22,value:10},{name:\x22cmap12Offset\x22,type:\x22ULONG\x22,value:0}]));n\x3dn.concat([{name:\x22format\x22,type:\x22USHORT\x22,value:4},{name:\x22cmap4Length\x22,type:\x22USHORT\x22,value:0},{name:\x22language\x22,type:\x22USHORT\x22,\nvalue:0},{name:\x22segCountX2\x22,type:\x22USHORT\x22,value:0},{name:\x22searchRange\x22,type:\x22USHORT\x22,value:0},{name:\x22entrySelector\x22,type:\x22USHORT\x22,value:0},{name:\x22rangeShift\x22,type:\x22USHORT\x22,value:0}]);n\x3dnew J.Table(\x22cmap\x22,n);n.segments\x3d[];for(t$jscomp$0\x3d0;t$jscomp$0\x3ce$jscomp$0.length;t$jscomp$0+\x3d1){for(var l\x3de$jscomp$0.get(t$jscomp$0),u\x3d0;u\x3cl.unicodes.length;u+\x3d1){var o\x3dn;var i\x3dl.unicodes[u];var a\x3dt$jscomp$0;o.segments.push({end:i,start:i,delta:-(i-a),offset:0,glyphIndex:a})}n.segments\x3dn.segments.sort(function(e,t){return e.start-\nt.start})}n.segments.push({end:65535,start:65535,delta:1,offset:0});o\x3dn.segments.length;i\x3d0;a\x3d[];l\x3d[];u\x3d[];var y\x3d[],m\x3d[];e$jscomp$0\x3d[];for(t$jscomp$0\x3d0;t$jscomp$0\x3co;t$jscomp$0+\x3d1){var v\x3dn.segments[t$jscomp$0];65535\x3e\x3dv.end\x26\x2665535\x3e\x3dv.start?(a\x3da.concat({name:\x22end_\x22+t$jscomp$0,type:\x22USHORT\x22,value:v.end}),l\x3dl.concat({name:\x22start_\x22+t$jscomp$0,type:\x22USHORT\x22,value:v.start}),u\x3du.concat({name:\x22idDelta_\x22+t$jscomp$0,type:\x22SHORT\x22,value:v.delta}),y\x3dy.concat({name:\x22idRangeOffset_\x22+t$jscomp$0,type:\x22USHORT\x22,value:v.offset}),\nvoid 0!\x3d\x3dv.glyphId\x26\x26(m\x3dm.concat({name:\x22glyph_\x22+t$jscomp$0,type:\x22USHORT\x22,value:v.glyphId}))):i+\x3d1;r||void 0\x3d\x3d\x3dv.glyphIndex||(e$jscomp$0\x3d(e$jscomp$0\x3d(e$jscomp$0\x3de$jscomp$0.concat({name:\x22cmap12Start_\x22+t$jscomp$0,type:\x22ULONG\x22,value:v.start})).concat({name:\x22cmap12End_\x22+t$jscomp$0,type:\x22ULONG\x22,value:v.end})).concat({name:\x22cmap12Glyph_\x22+t$jscomp$0,type:\x22ULONG\x22,value:v.glyphIndex}))}(n.segCountX2\x3d2*(o-i),n.searchRange\x3d2*Math.pow(2,Math.floor(Math.log(o-i)/Math.log(2))),n.entrySelector\x3dMath.log(n.searchRange/\n2)/Math.log(2),n.rangeShift\x3dn.segCountX2-n.searchRange,n.fields\x3dn.fields.concat(a),n.fields.push({name:\x22reservedPad\x22,type:\x22USHORT\x22,value:0}),n.fields\x3dn.fields.concat(l),n.fields\x3dn.fields.concat(u),n.fields\x3dn.fields.concat(y),n.fields\x3dn.fields.concat(m),n.cmap4Length\x3d2*a.length+16+2*l.length+2*u.length+2*y.length+2*m.length,r)||(r\x3d16+4*e$jscomp$0.length,n.cmap12Offset\x3d20+n.cmap4Length,n.fields\x3dn.fields.concat([{name:\x22cmap12Format\x22,type:\x22USHORT\x22,value:12},{name:\x22cmap12Reserved\x22,type:\x22USHORT\x22,value:0},\n{name:\x22cmap12Length\x22,type:\x22ULONG\x22,value:r},{name:\x22cmap12Language\x22,type:\x22ULONG\x22,value:0},{name:\x22cmap12nGroups\x22,type:\x22ULONG\x22,value:e$jscomp$0.length/3}]),n.fields\x3dn.fields.concat(e$jscomp$0));return n}},le\x3d\x22.notdef;space;exclam;quotedbl;numbersign;dollar;percent;ampersand;quoteright;parenleft;parenright;asterisk;plus;comma;hyphen;period;slash;zero;one;two;three;four;five;six;seven;eight;nine;colon;semicolon;less;equal;greater;question;at;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;bracketleft;backslash;bracketright;asciicircum;underscore;quoteleft;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;braceleft;bar;braceright;asciitilde;exclamdown;cent;sterling;fraction;yen;florin;section;currency;quotesingle;quotedblleft;guillemotleft;guilsinglleft;guilsinglright;fi;fl;endash;dagger;daggerdbl;periodcentered;paragraph;bullet;quotesinglbase;quotedblbase;quotedblright;guillemotright;ellipsis;perthousand;questiondown;grave;acute;circumflex;tilde;macron;breve;dotaccent;dieresis;ring;cedilla;hungarumlaut;ogonek;caron;emdash;AE;ordfeminine;Lslash;Oslash;OE;ordmasculine;ae;dotlessi;lslash;oslash;oe;germandbls;onesuperior;logicalnot;mu;trademark;Eth;onehalf;plusminus;Thorn;onequarter;divide;brokenbar;degree;thorn;threequarters;twosuperior;registered;minus;eth;multiply;threesuperior;copyright;Aacute;Acircumflex;Adieresis;Agrave;Aring;Atilde;Ccedilla;Eacute;Ecircumflex;Edieresis;Egrave;Iacute;Icircumflex;Idieresis;Igrave;Ntilde;Oacute;Ocircumflex;Odieresis;Ograve;Otilde;Scaron;Uacute;Ucircumflex;Udieresis;Ugrave;Yacute;Ydieresis;Zcaron;aacute;acircumflex;adieresis;agrave;aring;atilde;ccedilla;eacute;ecircumflex;edieresis;egrave;iacute;icircumflex;idieresis;igrave;ntilde;oacute;ocircumflex;odieresis;ograve;otilde;scaron;uacute;ucircumflex;udieresis;ugrave;yacute;ydieresis;zcaron;exclamsmall;Hungarumlautsmall;dollaroldstyle;dollarsuperior;ampersandsmall;Acutesmall;parenleftsuperior;parenrightsuperior;266 ff;onedotenleader;zerooldstyle;oneoldstyle;twooldstyle;threeoldstyle;fouroldstyle;fiveoldstyle;sixoldstyle;sevenoldstyle;eightoldstyle;nineoldstyle;commasuperior;threequartersemdash;periodsuperior;questionsmall;asuperior;bsuperior;centsuperior;dsuperior;esuperior;isuperior;lsuperior;msuperior;nsuperior;osuperior;rsuperior;ssuperior;tsuperior;ff;ffi;ffl;parenleftinferior;parenrightinferior;Circumflexsmall;hyphensuperior;Gravesmall;Asmall;Bsmall;Csmall;Dsmall;Esmall;Fsmall;Gsmall;Hsmall;Ismall;Jsmall;Ksmall;Lsmall;Msmall;Nsmall;Osmall;Psmall;Qsmall;Rsmall;Ssmall;Tsmall;Usmall;Vsmall;Wsmall;Xsmall;Ysmall;Zsmall;colonmonetary;onefitted;rupiah;Tildesmall;exclamdownsmall;centoldstyle;Lslashsmall;Scaronsmall;Zcaronsmall;Dieresissmall;Brevesmall;Caronsmall;Dotaccentsmall;Macronsmall;figuredash;hypheninferior;Ogoneksmall;Ringsmall;Cedillasmall;questiondownsmall;oneeighth;threeeighths;fiveeighths;seveneighths;onethird;twothirds;zerosuperior;foursuperior;fivesuperior;sixsuperior;sevensuperior;eightsuperior;ninesuperior;zeroinferior;oneinferior;twoinferior;threeinferior;fourinferior;fiveinferior;sixinferior;seveninferior;eightinferior;nineinferior;centinferior;dollarinferior;periodinferior;commainferior;Agravesmall;Aacutesmall;Acircumflexsmall;Atildesmall;Adieresissmall;Aringsmall;AEsmall;Ccedillasmall;Egravesmall;Eacutesmall;Ecircumflexsmall;Edieresissmall;Igravesmall;Iacutesmall;Icircumflexsmall;Idieresissmall;Ethsmall;Ntildesmall;Ogravesmall;Oacutesmall;Ocircumflexsmall;Otildesmall;Odieresissmall;OEsmall;Oslashsmall;Ugravesmall;Uacutesmall;Ucircumflexsmall;Udieresissmall;Yacutesmall;Thornsmall;Ydieresissmall;001.000;001.001;001.002;001.003;Black;Bold;Book;Light;Medium;Regular;Roman;Semibold\x22.split(\x22;\x22),\nue\x3d\x22 space exclam quotedbl numbersign dollar percent ampersand quoteright parenleft parenright asterisk plus comma hyphen period slash zero one two three four five six seven eight nine colon semicolon less equal greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z bracketleft backslash bracketright asciicircum underscore quoteleft a b c d e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright asciitilde exclamdown cent sterling fraction yen florin section currency quotesingle quotedblleft guillemotleft guilsinglleft guilsinglright fi fl endash dagger daggerdbl periodcentered paragraph bullet quotesinglbase quotedblbase quotedblright guillemotright ellipsis perthousand questiondown grave acute circumflex tilde macron breve dotaccent dieresis ring cedilla hungarumlaut ogonek caron emdash AE ordfeminine Lslash Oslash OE ordmasculine ae dotlessi lslash oslash oe germandbls\x22.split(\x22 \x22),\nce\x3d\x22 space exclamsmall Hungarumlautsmall dollaroldstyle dollarsuperior ampersandsmall Acutesmall parenleftsuperior parenrightsuperior twodotenleader onedotenleader comma hyphen period fraction zerooldstyle oneoldstyle twooldstyle threeoldstyle fouroldstyle fiveoldstyle sixoldstyle sevenoldstyle eightoldstyle nineoldstyle colon semicolon commasuperior threequartersemdash periodsuperior questionsmall asuperior bsuperior centsuperior dsuperior esuperior isuperior lsuperior msuperior nsuperior osuperior rsuperior ssuperior tsuperior ff fi fl ffi ffl parenleftinferior parenrightinferior Circumflexsmall hyphensuperior Gravesmall Asmall Bsmall Csmall Dsmall Esmall Fsmall Gsmall Hsmall Ismall Jsmall Ksmall Lsmall Msmall Nsmall Osmall Psmall Qsmall Rsmall Ssmall Tsmall Usmall Vsmall Wsmall Xsmall Ysmall Zsmall colonmonetary onefitted rupiah Tildesmall exclamdownsmall centoldstyle Lslashsmall Scaronsmall Zcaronsmall Dieresissmall Brevesmall Caronsmall Dotaccentsmall Macronsmall figuredash hypheninferior Ogoneksmall Ringsmall Cedillasmall onequarter onehalf threequarters questiondownsmall oneeighth threeeighths fiveeighths seveneighths onethird twothirds zerosuperior onesuperior twosuperior threesuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferior centinferior dollarinferior periodinferior commainferior Agravesmall Aacutesmall Acircumflexsmall Atildesmall Adieresissmall Aringsmall AEsmall Ccedillasmall Egravesmall Eacutesmall Ecircumflexsmall Edieresissmall Igravesmall Iacutesmall Icircumflexsmall Idieresissmall Ethsmall Ntildesmall Ogravesmall Oacutesmall Ocircumflexsmall Otildesmall Odieresissmall OEsmall Oslashsmall Ugravesmall Uacutesmall Ucircumflexsmall Udieresissmall Yacutesmall Thornsmall Ydieresissmall\x22.split(\x22 \x22),\nde\x3d\x22.notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent ampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash zero one two three four five six seven eight nine colon semicolon less equal greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z bracketleft backslash bracketright asciicircum underscore grave a b c d e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis Udieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave ecircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve ocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent sterling section bullet paragraph germandbls registered copyright trademark acute dieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu partialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash questiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft guillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash quotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis fraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered quotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis Egrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute Ucircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla hungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth eth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior onehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla Cacute cacute Ccaron ccaron dcroat\x22.split(\x22 \x22);\nfe.prototype.charToGlyphIndex\x3dfunction(e){e\x3de.codePointAt(0);var r\x3dthis.font.glyphs;if(r)for(var n\x3d0;n\x3cr.length;n+\x3d1)for(var o\x3dr.get(n),i\x3d0;i\x3co.unicodes.length;i+\x3d1)if(o.unicodes[i]\x3d\x3d\x3de)return n;return null};he.prototype.charToGlyphIndex\x3dfunction(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0};pe.prototype.charToGlyphIndex\x3dfunction(e){e\x3de.codePointAt(0);return this.charset.indexOf(this.encoding[e])};ye.prototype.nameToGlyphIndex\x3dfunction(e){return this.names.indexOf(e)};ye.prototype.glyphIndexToName\x3d\nfunction(e){return this.names[e]};var me\x3d{line:function(e,t,r,n,o){e.beginPath();e.moveTo(t,r);e.lineTo(n,o);e.stroke()}};ge.prototype.bindConstructorValues\x3dfunction(e$jscomp$0){var t,r;this.index\x3de$jscomp$0.index||0;this.name\x3de$jscomp$0.name||null;this.unicode\x3de$jscomp$0.unicode||void 0;this.unicodes\x3de$jscomp$0.unicodes||void 0!\x3d\x3de$jscomp$0.unicode?[e$jscomp$0.unicode]:[];e$jscomp$0.xMin\x26\x26(this.xMin\x3de$jscomp$0.xMin);e$jscomp$0.yMin\x26\x26(this.yMin\x3de$jscomp$0.yMin);e$jscomp$0.xMax\x26\x26(this.xMax\x3de$jscomp$0.xMax);\ne$jscomp$0.yMax\x26\x26(this.yMax\x3de$jscomp$0.yMax);e$jscomp$0.advanceWidth\x26\x26(this.advanceWidth\x3de$jscomp$0.advanceWidth);Object.defineProperty(this,\x22path\x22,(t\x3de$jscomp$0.path,r\x3dt||new D,{configurable:!0,get:function(){return\x22function\x22\x3d\x3dtypeof r\x26\x26(r\x3dr()),r},set:function(e){r\x3de}}))};ge.prototype.addUnicode\x3dfunction(e){0\x3d\x3d\x3dthis.unicodes.length\x26\x26(this.unicode\x3de);this.unicodes.push(e)};ge.prototype.getBoundingBox\x3dfunction(){return this.path.getBoundingBox()};ge.prototype.getPath\x3dfunction(e,t,r,n,o){var a;e\x3dvoid 0!\x3d\x3d\ne?e:0;t\x3dvoid 0!\x3d\x3dt?t:0;r\x3dvoid 0!\x3d\x3dr?r:72;var s\x3d(n\x3dn||{}).xScale,l\x3dn.yScale;(n.hinting\x26\x26o\x26\x26o.hinting\x26\x26(a\x3dthis.path\x26\x26o.hinting.exec(this,r)),a)?(n\x3do.hinting.getCommands(a),e\x3dMath.round(e),t\x3dMath.round(t),s\x3dl\x3d1):(n\x3dthis.path.commands,r*\x3d1/this.path.unitsPerEm,void 0\x3d\x3d\x3ds\x26\x26(s\x3dr),void 0\x3d\x3d\x3dl\x26\x26(l\x3dr));r\x3dnew D;for(o\x3d0;o\x3cn.length;o+\x3d1)a\x3dn[o],\x22M\x22\x3d\x3d\x3da.type?r.moveTo(e+a.x*s,t+-a.y*l):\x22L\x22\x3d\x3d\x3da.type?r.lineTo(e+a.x*s,t+-a.y*l):\x22Q\x22\x3d\x3d\x3da.type?r.quadraticCurveTo(e+a.x1*s,t+-a.y1*l,e+a.x*s,t+-a.y*l):\x22C\x22\x3d\x3d\x3da.type?r.curveTo(e+\na.x1*s,t+-a.y1*l,e+a.x2*s,t+-a.y2*l,e+a.x*s,t+-a.y*l):\x22Z\x22\x3d\x3d\x3da.type\x26\x26r.closePath();return r};ge.prototype.getContours\x3dfunction(){if(void 0\x3d\x3d\x3dthis.points)return[];for(var e\x3d[],t\x3d[],r\x3d0;r\x3cthis.points.length;r+\x3d1){var n\x3dthis.points[r];t.push(n);n.lastPointOfContour\x26\x26(e.push(t),t\x3d[])}return L$jscomp$0.argument(0\x3d\x3d\x3dt.length,\x22There are still points left in the current contour.\x22),e};ge.prototype.getMetrics\x3dfunction(){for(var e\x3dthis.path.commands,t\x3d[],r\x3d[],n\x3d0;n\x3ce.length;n+\x3d1){var o\x3de[n];\x22Z\x22!\x3d\x3do.type\x26\x26(t.push(o.x),\nr.push(o.y));\x22Q\x22!\x3d\x3do.type\x26\x26\x22C\x22!\x3d\x3do.type||(t.push(o.x1),r.push(o.y1));\x22C\x22\x3d\x3d\x3do.type\x26\x26(t.push(o.x2),r.push(o.y2))}e\x3d{xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,r),leftSideBearing:this.leftSideBearing};return isFinite(e.xMin)||(e.xMin\x3d0),isFinite(e.xMax)||(e.xMax\x3dthis.advanceWidth),isFinite(e.yMin)||(e.yMin\x3d0),isFinite(e.yMax)||(e.yMax\x3d0),e.rightSideBearing\x3dthis.advanceWidth-e.leftSideBearing-(e.xMax-e.xMin),e};ge.prototype.draw\x3dfunction(e,\nt,r,n,o){this.getPath(t,r,n,o).draw(e)};ge.prototype.drawPoints\x3dfunction(a,e$jscomp$0,t$jscomp$0,r$jscomp$0){function n$jscomp$0(e,t,r,n){var o\x3d2*Math.PI;a.beginPath();for(var i\x3d0;i\x3ce.length;i+\x3d1)a.moveTo(t+e[i].x*n,r+e[i].y*n),a.arc(t+e[i].x*n,r+e[i].y*n,2,0,o,!1);a.closePath();a.fill()}e$jscomp$0\x3dvoid 0!\x3d\x3de$jscomp$0?e$jscomp$0:0;t$jscomp$0\x3dvoid 0!\x3d\x3dt$jscomp$0?t$jscomp$0:0;r$jscomp$0\x3d1/this.path.unitsPerEm*(void 0!\x3d\x3dr$jscomp$0?r$jscomp$0:24);for(var i$jscomp$0\x3d[],s\x3d[],l\x3dthis.path,u\x3d0;u\x3cl.commands.length;u+\x3d\n1){var c\x3dl.commands[u];void 0!\x3d\x3dc.x\x26\x26i$jscomp$0.push({x:c.x,y:-c.y});void 0!\x3d\x3dc.x1\x26\x26s.push({x:c.x1,y:-c.y1});void 0!\x3d\x3dc.x2\x26\x26s.push({x:c.x2,y:-c.y2})}a.fillStyle\x3d\x22blue\x22;n$jscomp$0(i$jscomp$0,e$jscomp$0,t$jscomp$0,r$jscomp$0);a.fillStyle\x3d\x22red\x22;n$jscomp$0(s,e$jscomp$0,t$jscomp$0,r$jscomp$0)};ge.prototype.drawMetrics\x3dfunction(e,t,r,n){t\x3dvoid 0!\x3d\x3dt?t:0;r\x3dvoid 0!\x3d\x3dr?r:0;n\x3d1/this.path.unitsPerEm*(void 0!\x3d\x3dn?n:24);e.lineWidth\x3d1;e.strokeStyle\x3d\x22black\x22;me.line(e,t,-1E4,t,1E4);me.line(e,-1E4,r,1E4,r);var i\x3dthis.xMin||\n0,a\x3dthis.yMin||0,s\x3dthis.xMax||0,l\x3dthis.yMax||0,u\x3dthis.advanceWidth||0;e.strokeStyle\x3d\x22blue\x22;me.line(e,t+i*n,-1E4,t+i*n,1E4);me.line(e,t+s*n,-1E4,t+s*n,1E4);me.line(e,-1E4,r+-a*n,1E4,r+-a*n);me.line(e,-1E4,r+-l*n,1E4,r+-l*n);e.strokeStyle\x3d\x22green\x22;me.line(e,t+u*n,-1E4,t+u*n,1E4)};be.prototype.get\x3dfunction(e){return\x22function\x22\x3d\x3dtypeof this.glyphs[e]\x26\x26(this.glyphs[e]\x3dthis.glyphs[e]()),this.glyphs[e]};be.prototype.push\x3dfunction(e,t){this.glyphs[e]\x3dt;this.length++};var _e\x3d{GlyphSet:be,glyphLoader:function(e,\nt){return new ge({index:t,font:e})},ttfGlyphLoader:function(r,e$jscomp$0,n,o,i,a){return function(){var t\x3dnew ge({index:e$jscomp$0,font:r});return t.path\x3dfunction(){n(t,o,i);var e\x3da(r.glyphs,t);return e.unitsPerEm\x3dr.unitsPerEm,e},ve(t,\x22xMin\x22,\x22_xMin\x22),ve(t,\x22xMax\x22,\x22_xMax\x22),ve(t,\x22yMin\x22,\x22_yMin\x22),ve(t,\x22yMax\x22,\x22_yMax\x22),t}},cffGlyphLoader:function(r,e$jscomp$0,n,o){return function(){var t\x3dnew ge({index:e$jscomp$0,font:r});return t.path\x3dfunction(){var e\x3dn(r,t,o);return e.unitsPerEm\x3dr.unitsPerEm,e},t}}},Oe\x3d\n[{name:\x22version\x22,op:0,type:\x22SID\x22},{name:\x22notice\x22,op:1,type:\x22SID\x22},{name:\x22copyright\x22,op:1200,type:\x22SID\x22},{name:\x22fullName\x22,op:2,type:\x22SID\x22},{name:\x22familyName\x22,op:3,type:\x22SID\x22},{name:\x22weight\x22,op:4,type:\x22SID\x22},{name:\x22isFixedPitch\x22,op:1201,type:\x22number\x22,value:0},{name:\x22italicAngle\x22,op:1202,type:\x22number\x22,value:0},{name:\x22underlinePosition\x22,op:1203,type:\x22number\x22,value:-100},{name:\x22underlineThickness\x22,op:1204,type:\x22number\x22,value:50},{name:\x22paintType\x22,op:1205,type:\x22number\x22,value:0},{name:\x22charstringType\x22,op:1206,\ntype:\x22number\x22,value:2},{name:\x22fontMatrix\x22,op:1207,type:\x22real real real real real real\x22.split(\x22 \x22),value:[.001,0,0,.001,0,0]},{name:\x22uniqueId\x22,op:13,type:\x22number\x22},{name:\x22fontBBox\x22,op:5,type:[\x22number\x22,\x22number\x22,\x22number\x22,\x22number\x22],value:[0,0,0,0]},{name:\x22strokeWidth\x22,op:1208,type:\x22number\x22,value:0},{name:\x22xuid\x22,op:14,type:[],value:null},{name:\x22charset\x22,op:15,type:\x22offset\x22,value:0},{name:\x22encoding\x22,op:16,type:\x22offset\x22,value:0},{name:\x22charStrings\x22,op:17,type:\x22offset\x22,value:0},{name:\x22private\x22,op:18,type:[\x22number\x22,\n\x22offset\x22],value:[0,0]},{name:\x22ros\x22,op:1230,type:[\x22SID\x22,\x22SID\x22,\x22number\x22]},{name:\x22cidFontVersion\x22,op:1231,type:\x22number\x22,value:0},{name:\x22cidFontRevision\x22,op:1232,type:\x22number\x22,value:0},{name:\x22cidFontType\x22,op:1233,type:\x22number\x22,value:0},{name:\x22cidCount\x22,op:1234,type:\x22number\x22,value:8720},{name:\x22uidBase\x22,op:1235,type:\x22number\x22},{name:\x22fdArray\x22,op:1236,type:\x22offset\x22},{name:\x22fdSelect\x22,op:1237,type:\x22offset\x22},{name:\x22fontName\x22,op:1238,type:\x22SID\x22}],Ce\x3d[{name:\x22subrs\x22,op:19,type:\x22offset\x22,value:0},{name:\x22defaultWidthX\x22,\nop:20,type:\x22number\x22,value:0},{name:\x22nominalWidthX\x22,op:21,type:\x22number\x22,value:0}],Ne\x3d{parse:function(e$jscomp$0,t$jscomp$0,r$jscomp$0){r$jscomp$0.tables.cff\x3d{};var i$jscomp$0,a\x3dje(e$jscomp$0,((i$jscomp$0\x3d{}).formatMajor\x3dae.getCard8(e$jscomp$0,t$jscomp$0),i$jscomp$0.formatMinor\x3dae.getCard8(e$jscomp$0,t$jscomp$0+1),i$jscomp$0.size\x3dae.getCard8(e$jscomp$0,t$jscomp$0+2),i$jscomp$0.offsetSize\x3dae.getCard8(e$jscomp$0,t$jscomp$0+3),i$jscomp$0.startOffset\x3dt$jscomp$0,i$jscomp$0.endOffset\x3dt$jscomp$0+4,i$jscomp$0).endOffset,\nae.bytesToString);a\x3dje(e$jscomp$0,a.endOffset);i$jscomp$0\x3dje(e$jscomp$0,a.endOffset,ae.bytesToString);var u\x3dje(e$jscomp$0,i$jscomp$0.endOffset);r$jscomp$0.gsubrs\x3du.objects;r$jscomp$0.gsubrsBias\x3dwe(r$jscomp$0.gsubrs);a\x3dPe(e$jscomp$0,t$jscomp$0,a.objects,i$jscomp$0.objects);if(1!\x3d\x3da.length)throw Error(\x22CFF table has too many fonts in \x27FontSet\x27 - count of fonts NameIndex.length \\x3d \x22+a.length);a\x3da[0];if((r$jscomp$0.tables.cff.topDict\x3da)._privateDict\x26\x26(r$jscomp$0.defaultWidthX\x3da._privateDict.defaultWidthX,\nr$jscomp$0.nominalWidthX\x3da._privateDict.nominalWidthX),void 0!\x3d\x3da.ros[0]\x26\x26void 0!\x3d\x3da.ros[1]\x26\x26(r$jscomp$0.isCIDFont\x3d!0),r$jscomp$0.isCIDFont){u\x3da.fdArray;var h$jscomp$0\x3da.fdSelect;if(0\x3d\x3d\x3du||0\x3d\x3d\x3dh$jscomp$0)throw Error(\x22Font is marked as a CID font, but FDArray and/or FDSelect information is missing\x22);var p\x3dPe(e$jscomp$0,t$jscomp$0,je(e$jscomp$0,u+\x3dt$jscomp$0).objects,i$jscomp$0.objects);a._fdArray\x3dp;a._fdSelect\x3dfunction(e,t,r,n){var o,i\x3d[];e\x3dnew ae.Parser(e,t);t\x3de.parseCard8();if(0\x3d\x3d\x3dt)for(var l\x3d0;l\x3c\nr;l++){if(n\x3c\x3d(o\x3de.parseCard8()))throw Error(\x22CFF table CID Font FDSelect has bad FD index value \x22+o+\x22 (FD count \x22+n+\x22)\x22);i.push(o)}else{if(3!\x3d\x3dt)throw Error(\x22CFF Table CID Font FDSelect table has unsupported format \x22+t);t\x3de.parseCard16();var d\x3de.parseCard16();if(0!\x3d\x3dd)throw Error(\x22CFF Table CID Font FDSelect format 3 range has bad initial GID \x22+d);for(var f\x3d0;f\x3ct;f++){if(o\x3de.parseCard8(),l\x3de.parseCard16(),n\x3c\x3do)throw Error(\x22CFF table CID Font FDSelect has bad FD index value \x22+o+\x22 (FD count \x22+n+\x22)\x22);\nif(r\x3cl)throw Error(\x22CFF Table CID Font FDSelect format 3 range has bad GID \x22+l);for(;d\x3cl;d++)i.push(o);d\x3dl}if(l!\x3d\x3dr)throw Error(\x22CFF Table CID Font FDSelect format 3 range has bad final GID \x22+l);}return i}(e$jscomp$0,h$jscomp$0+t$jscomp$0,r$jscomp$0.numGlyphs,p.length)}u\x3dt$jscomp$0+a.private[1];h$jscomp$0\x3dLe(e$jscomp$0,u,a.private[0],i$jscomp$0.objects);(r$jscomp$0.defaultWidthX\x3dh$jscomp$0.defaultWidthX,r$jscomp$0.nominalWidthX\x3dh$jscomp$0.nominalWidthX,0!\x3d\x3dh$jscomp$0.subrs)?(u\x3dje(e$jscomp$0,u+h$jscomp$0.subrs),\nr$jscomp$0.subrs\x3du.objects,r$jscomp$0.subrsBias\x3dwe(r$jscomp$0.subrs)):(r$jscomp$0.subrs\x3d[],r$jscomp$0.subrsBias\x3d0);u\x3dje(e$jscomp$0,t$jscomp$0+a.charStrings);r$jscomp$0.nGlyphs\x3du.objects.length;i$jscomp$0\x3dfunction(e,t,r,n){var i;e\x3dnew ae.Parser(e,t);--r;t\x3d[\x22.notdef\x22];var o\x3de.parseCard8();if(0\x3d\x3d\x3do)for(i\x3d0;i\x3cr;i+\x3d1)o\x3de.parseSID(),t.push(Ee(n,o));else if(1\x3d\x3d\x3do)for(;t.length\x3c\x3dr;){o\x3de.parseSID();i\x3de.parseCard8();for(var c\x3d0;c\x3c\x3di;c+\x3d1)t.push(Ee(n,o)),o+\x3d1}else{if(2!\x3d\x3do)throw Error(\x22Unknown charset format \x22+\no);for(;t.length\x3c\x3dr;)for(o\x3de.parseSID(),i\x3de.parseCard16(),c\x3d0;c\x3c\x3di;c+\x3d1)t.push(Ee(n,o)),o+\x3d1}return t}(e$jscomp$0,t$jscomp$0+a.charset,r$jscomp$0.nGlyphs,i$jscomp$0.objects);0\x3d\x3d\x3da.encoding?r$jscomp$0.cffEncoding\x3dnew pe(ue,i$jscomp$0):1\x3d\x3d\x3da.encoding?r$jscomp$0.cffEncoding\x3dnew pe(ce,i$jscomp$0):r$jscomp$0.cffEncoding\x3dfunction(e,t,r){var o\x3d{};e\x3dnew ae.Parser(e,t);t\x3de.parseCard8();if(0\x3d\x3d\x3dt)for(var s\x3de.parseCard8(),l\x3d0;l\x3cs;l+\x3d1)o[t\x3de.parseCard8()]\x3dl;else{if(1!\x3d\x3dt)throw Error(\x22Unknown encoding format \x22+\nt);s\x3de.parseCard8();t\x3d1;for(l\x3d0;l\x3cs;l+\x3d1)for(var d\x3de.parseCard8(),f\x3de.parseCard8(),h\x3dd;h\x3c\x3dd+f;h+\x3d1)o[h]\x3dt,t+\x3d1}return new pe(o,r)}(e$jscomp$0,t$jscomp$0+a.encoding,i$jscomp$0);r$jscomp$0.encoding\x3dr$jscomp$0.encoding||r$jscomp$0.cffEncoding;r$jscomp$0.glyphs\x3dnew _e.GlyphSet(r$jscomp$0);for(e$jscomp$0\x3d0;e$jscomp$0\x3cr$jscomp$0.nGlyphs;e$jscomp$0+\x3d1)r$jscomp$0.glyphs.push(e$jscomp$0,_e.cffGlyphLoader(r$jscomp$0,e$jscomp$0,Ae,u.objects[e$jscomp$0]))},make:function(e$jscomp$0,t$jscomp$0){var n$jscomp$1\x3d\nnew J.Table(\x22CFF \x22,[{name:\x22header\x22,type:\x22RECORD\x22},{name:\x22nameIndex\x22,type:\x22RECORD\x22},{name:\x22topDictIndex\x22,type:\x22RECORD\x22},{name:\x22stringIndex\x22,type:\x22RECORD\x22},{name:\x22globalSubrIndex\x22,type:\x22RECORD\x22},{name:\x22charsets\x22,type:\x22RECORD\x22},{name:\x22charStringsIndex\x22,type:\x22RECORD\x22},{name:\x22privateDict\x22,type:\x22RECORD\x22}]),o$jscomp$1\x3d1/t$jscomp$0.unitsPerEm;o$jscomp$1\x3d{version:t$jscomp$0.version,fullName:t$jscomp$0.fullName,familyName:t$jscomp$0.familyName,weight:t$jscomp$0.weightName,fontBBox:t$jscomp$0.fontBBox||[0,0,\n0,0],fontMatrix:[o$jscomp$1,0,0,o$jscomp$1,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]};for(var a\x3d[],s\x3d1;s\x3ce$jscomp$0.length;s+\x3d1){var r$jscomp$1\x3de$jscomp$0.get(s);a.push(r$jscomp$1.name)}r$jscomp$1\x3d[];n$jscomp$1.header\x3dnew J.Record(\x22Header\x22,[{name:\x22major\x22,type:\x22Card8\x22,value:1},{name:\x22minor\x22,type:\x22Card8\x22,value:0},{name:\x22hdrSize\x22,type:\x22Card8\x22,value:4},{name:\x22major\x22,type:\x22Card8\x22,value:1}]);n$jscomp$1.nameIndex\x3dfunction(e){var t\x3dnew J.Record(\x22Name INDEX\x22,[{name:\x22names\x22,type:\x22INDEX\x22,value:[]}]);\nt.names\x3d[];for(var r\x3d0;r\x3ce.length;r+\x3d1)t.names.push({name:\x22name_\x22+r,type:\x22NAME\x22,value:e[r]});return t}([t$jscomp$0.postScriptName]);var u$jscomp$0,d$jscomp$0;t$jscomp$0\x3dDe(o$jscomp$1,r$jscomp$1);n$jscomp$1.topDictIndex\x3dIe(t$jscomp$0);n$jscomp$1.globalSubrIndex\x3dnew J.Record(\x22Global Subr INDEX\x22,[{name:\x22subrs\x22,type:\x22INDEX\x22,value:[]}]);n$jscomp$1.charsets\x3dfunction(e,t){for(var r\x3dnew J.Record(\x22Charsets\x22,[{name:\x22format\x22,type:\x22Card8\x22,value:0}]),n\x3d0;n\x3ce.length;n+\x3d1){var o\x3dke(e[n],t);r.fields.push({name:\x22glyph_\x22+\nn,type:\x22SID\x22,value:o})}return r}(a,r$jscomp$1);n$jscomp$1.charStringsIndex\x3dfunction(e){for(var t\x3dnew J.Record(\x22CharStrings INDEX\x22,[{name:\x22charStrings\x22,type:\x22INDEX\x22,value:[]}]),r\x3d0;r\x3ce.length;r+\x3d1){var n\x3de.get(r);var o\x3d[];var r$jscomp$0\x3dn.path;o.push({name:\x22width\x22,type:\x22NUMBER\x22,value:n.advanceWidth});for(var n$jscomp$0\x3d0,o$jscomp$0\x3d0,i\x3d0;i\x3cr$jscomp$0.commands.length;i+\x3d1){var l\x3dr$jscomp$0.commands[i];\x22Q\x22\x3d\x3d\x3dl.type\x26\x26(l\x3d{type:\x22C\x22,x:l.x,y:l.y,x1:1/3*n$jscomp$0+2/3*l.x1,y1:1/3*o$jscomp$0+2/3*l.y1,x2:1/\n3*l.x+2/3*l.x1,y2:1/3*l.y+2/3*l.y1});if(\x22M\x22\x3d\x3d\x3dl.type)n$jscomp$0\x3dMath.round(l.x-n$jscomp$0),o$jscomp$0\x3dMath.round(l.y-o$jscomp$0),o.push({name:\x22dx\x22,type:\x22NUMBER\x22,value:n$jscomp$0}),o.push({name:\x22dy\x22,type:\x22NUMBER\x22,value:o$jscomp$0}),o.push({name:\x22rmoveto\x22,type:\x22OP\x22,value:21}),n$jscomp$0\x3dMath.round(l.x),o$jscomp$0\x3dMath.round(l.y);else if(\x22L\x22\x3d\x3d\x3dl.type)n$jscomp$0\x3dMath.round(l.x-n$jscomp$0),o$jscomp$0\x3dMath.round(l.y-o$jscomp$0),o.push({name:\x22dx\x22,type:\x22NUMBER\x22,value:n$jscomp$0}),o.push({name:\x22dy\x22,type:\x22NUMBER\x22,\nvalue:o$jscomp$0}),o.push({name:\x22rlineto\x22,type:\x22OP\x22,value:5}),n$jscomp$0\x3dMath.round(l.x),o$jscomp$0\x3dMath.round(l.y);else if(\x22C\x22\x3d\x3d\x3dl.type){var u\x3dMath.round(l.x1-n$jscomp$0),c\x3dMath.round(l.y1-o$jscomp$0),d\x3dMath.round(l.x2-l.x1),f\x3dMath.round(l.y2-l.y1);n$jscomp$0\x3dMath.round(l.x-l.x2);o$jscomp$0\x3dMath.round(l.y-l.y2);o.push({name:\x22dx1\x22,type:\x22NUMBER\x22,value:u});o.push({name:\x22dy1\x22,type:\x22NUMBER\x22,value:c});o.push({name:\x22dx2\x22,type:\x22NUMBER\x22,value:d});o.push({name:\x22dy2\x22,type:\x22NUMBER\x22,value:f});o.push({name:\x22dx\x22,\ntype:\x22NUMBER\x22,value:n$jscomp$0});o.push({name:\x22dy\x22,type:\x22NUMBER\x22,value:o$jscomp$0});o.push({name:\x22rrcurveto\x22,type:\x22OP\x22,value:8});n$jscomp$0\x3dMath.round(l.x);o$jscomp$0\x3dMath.round(l.y)}}o\x3d(o.push({name:\x22endchar\x22,type:\x22OP\x22,value:14}),o);t.charStrings.push({name:n.name,type:\x22CHARSTRING\x22,value:o})}return t}(e$jscomp$0);n$jscomp$1.privateDict\x3d(u$jscomp$0\x3d{},(d$jscomp$0\x3dnew J.Record(\x22Private DICT\x22,[{name:\x22dict\x22,type:\x22DICT\x22,value:{}}])).dict\x3dRe(Ce,u$jscomp$0,r$jscomp$1),d$jscomp$0);n$jscomp$1.stringIndex\x3d\nfunction(e){var t\x3dnew J.Record(\x22String INDEX\x22,[{name:\x22strings\x22,type:\x22INDEX\x22,value:[]}]);t.strings\x3d[];for(var r\x3d0;r\x3ce.length;r+\x3d1)t.strings.push({name:\x22string_\x22+r,type:\x22STRING\x22,value:e[r]});return t}(r$jscomp$1);e$jscomp$0\x3dn$jscomp$1.header.sizeOf()+n$jscomp$1.nameIndex.sizeOf()+n$jscomp$1.topDictIndex.sizeOf()+n$jscomp$1.stringIndex.sizeOf()+n$jscomp$1.globalSubrIndex.sizeOf();return o$jscomp$1.charset\x3de$jscomp$0,o$jscomp$1.encoding\x3d0,o$jscomp$1.charStrings\x3do$jscomp$1.charset+n$jscomp$1.charsets.sizeOf(),\no$jscomp$1.private[1]\x3do$jscomp$1.charStrings+n$jscomp$1.charStringsIndex.sizeOf(),t$jscomp$0\x3dDe(o$jscomp$1,r$jscomp$1),n$jscomp$1.topDictIndex\x3dIe(t$jscomp$0),n$jscomp$1}},Fe\x3d{parse:function(e,t){var r\x3d{};e\x3dnew ae.Parser(e,t);return r.version\x3de.parseVersion(),r.fontRevision\x3dMath.round(1E3*e.parseFixed())/1E3,r.checkSumAdjustment\x3de.parseULong(),r.magicNumber\x3de.parseULong(),L$jscomp$0.argument(1594834165\x3d\x3d\x3dr.magicNumber,\x22Font header has wrong magic number.\x22),r.flags\x3de.parseUShort(),r.unitsPerEm\x3de.parseUShort(),\nr.created\x3de.parseLongDateTime(),r.modified\x3de.parseLongDateTime(),r.xMin\x3de.parseShort(),r.yMin\x3de.parseShort(),r.xMax\x3de.parseShort(),r.yMax\x3de.parseShort(),r.macStyle\x3de.parseUShort(),r.lowestRecPPEM\x3de.parseUShort(),r.fontDirectionHint\x3de.parseShort(),r.indexToLocFormat\x3de.parseShort(),r.glyphDataFormat\x3de.parseShort(),r},make:function(e){var t\x3dMath.round((new Date).getTime()/1E3)+2082844800,r\x3dt;return e.createdTimestamp\x26\x26(r\x3de.createdTimestamp+2082844800),new J.Table(\x22head\x22,[{name:\x22version\x22,type:\x22FIXED\x22,\nvalue:65536},{name:\x22fontRevision\x22,type:\x22FIXED\x22,value:65536},{name:\x22checkSumAdjustment\x22,type:\x22ULONG\x22,value:0},{name:\x22magicNumber\x22,type:\x22ULONG\x22,value:1594834165},{name:\x22flags\x22,type:\x22USHORT\x22,value:0},{name:\x22unitsPerEm\x22,type:\x22USHORT\x22,value:1E3},{name:\x22created\x22,type:\x22LONGDATETIME\x22,value:r},{name:\x22modified\x22,type:\x22LONGDATETIME\x22,value:t},{name:\x22xMin\x22,type:\x22SHORT\x22,value:0},{name:\x22yMin\x22,type:\x22SHORT\x22,value:0},{name:\x22xMax\x22,type:\x22SHORT\x22,value:0},{name:\x22yMax\x22,type:\x22SHORT\x22,value:0},{name:\x22macStyle\x22,type:\x22USHORT\x22,\nvalue:0},{name:\x22lowestRecPPEM\x22,type:\x22USHORT\x22,value:0},{name:\x22fontDirectionHint\x22,type:\x22SHORT\x22,value:2},{name:\x22indexToLocFormat\x22,type:\x22SHORT\x22,value:0},{name:\x22glyphDataFormat\x22,type:\x22SHORT\x22,value:0}],e)}},Be\x3d{parse:function(e,t){var r\x3d{};e\x3dnew ae.Parser(e,t);return r.version\x3de.parseVersion(),r.ascender\x3de.parseShort(),r.descender\x3de.parseShort(),r.lineGap\x3de.parseShort(),r.advanceWidthMax\x3de.parseUShort(),r.minLeftSideBearing\x3de.parseShort(),r.minRightSideBearing\x3de.parseShort(),r.xMaxExtent\x3de.parseShort(),\nr.caretSlopeRise\x3de.parseShort(),r.caretSlopeRun\x3de.parseShort(),r.caretOffset\x3de.parseShort(),e.relativeOffset+\x3d8,r.metricDataFormat\x3de.parseShort(),r.numberOfHMetrics\x3de.parseUShort(),r},make:function(e){return new J.Table(\x22hhea\x22,[{name:\x22version\x22,type:\x22FIXED\x22,value:65536},{name:\x22ascender\x22,type:\x22FWORD\x22,value:0},{name:\x22descender\x22,type:\x22FWORD\x22,value:0},{name:\x22lineGap\x22,type:\x22FWORD\x22,value:0},{name:\x22advanceWidthMax\x22,type:\x22UFWORD\x22,value:0},{name:\x22minLeftSideBearing\x22,type:\x22FWORD\x22,value:0},{name:\x22minRightSideBearing\x22,\ntype:\x22FWORD\x22,value:0},{name:\x22xMaxExtent\x22,type:\x22FWORD\x22,value:0},{name:\x22caretSlopeRise\x22,type:\x22SHORT\x22,value:1},{name:\x22caretSlopeRun\x22,type:\x22SHORT\x22,value:0},{name:\x22caretOffset\x22,type:\x22SHORT\x22,value:0},{name:\x22reserved1\x22,type:\x22SHORT\x22,value:0},{name:\x22reserved2\x22,type:\x22SHORT\x22,value:0},{name:\x22reserved3\x22,type:\x22SHORT\x22,value:0},{name:\x22reserved4\x22,type:\x22SHORT\x22,value:0},{name:\x22metricDataFormat\x22,type:\x22SHORT\x22,value:0},{name:\x22numberOfHMetrics\x22,type:\x22USHORT\x22,value:0}],e)}},Ge\x3d{parse:function(e,t,r,n,o){var i,a;e\x3dnew ae.Parser(e,\nt);for(t\x3d0;t\x3cn;t+\x3d1){t\x3cr\x26\x26(i\x3de.parseUShort(),a\x3de.parseShort());var u\x3do.get(t);u.advanceWidth\x3di;u.leftSideBearing\x3da}},make:function(e){for(var t\x3dnew J.Table(\x22hmtx\x22,[]),r\x3d0;r\x3ce.length;r+\x3d1){var n\x3de.get(r),i\x3dn.leftSideBearing||0;t.fields.push({name:\x22advanceWidth_\x22+r,type:\x22USHORT\x22,value:n.advanceWidth||0});t.fields.push({name:\x22leftSideBearing_\x22+r,type:\x22SHORT\x22,value:i})}return t}},Ve\x3d{make:function(e){for(var t\x3dnew J.Table(\x22ltag\x22,[{name:\x22version\x22,type:\x22ULONG\x22,value:1},{name:\x22flags\x22,type:\x22ULONG\x22,value:0},\n{name:\x22numTags\x22,type:\x22ULONG\x22,value:e.length}]),r\x3d\x22\x22,n\x3d12+4*e.length,o\x3d0;o\x3ce.length;++o){var i\x3dr.indexOf(e[o]);0\x3ei\x26\x26(i\x3dr.length,r+\x3de[o]);t.fields.push({name:\x22offset \x22+o,type:\x22USHORT\x22,value:n+i});t.fields.push({name:\x22length \x22+o,type:\x22USHORT\x22,value:e[o].length})}return t.fields.push({name:\x22stringPool\x22,type:\x22CHARARRAY\x22,value:r}),t},parse:function(e,t){var r\x3dnew ae.Parser(e,t),n\x3dr.parseULong();L$jscomp$0.argument(1\x3d\x3d\x3dn,\x22Unsupported ltag table version.\x22);r.skip(\x22uLong\x22,1);n\x3dr.parseULong();for(var i\x3d[],\na\x3d0;a\x3cn;a++){for(var s\x3d\x22\x22,l\x3dt+r.parseUShort(),u\x3dr.parseUShort(),c\x3dl;c\x3cl+u;++c)s+\x3dString.fromCharCode(e.getInt8(c));i.push(s)}return i}},ze\x3d{parse:function(e,t){var r\x3d{};e\x3dnew ae.Parser(e,t);return r.version\x3de.parseVersion(),r.numGlyphs\x3de.parseUShort(),1\x3d\x3d\x3dr.version\x26\x26(r.maxPoints\x3de.parseUShort(),r.maxContours\x3de.parseUShort(),r.maxCompositePoints\x3de.parseUShort(),r.maxCompositeContours\x3de.parseUShort(),r.maxZones\x3de.parseUShort(),r.maxTwilightPoints\x3de.parseUShort(),r.maxStorage\x3de.parseUShort(),r.maxFunctionDefs\x3d\ne.parseUShort(),r.maxInstructionDefs\x3de.parseUShort(),r.maxStackElements\x3de.parseUShort(),r.maxSizeOfInstructions\x3de.parseUShort(),r.maxComponentElements\x3de.parseUShort(),r.maxComponentDepth\x3de.parseUShort()),r},make:function(e){return new J.Table(\x22maxp\x22,[{name:\x22version\x22,type:\x22FIXED\x22,value:20480},{name:\x22numGlyphs\x22,type:\x22USHORT\x22,value:e}])}},He\x3d\x22copyright fontFamily fontSubfamily uniqueID fullName version postScriptName trademark manufacturer designer description manufacturerURL designerURL license licenseURL reserved preferredFamily preferredSubfamily compatibleFullName sampleText postScriptFindFontName wwsFamily wwsSubfamily\x22.split(\x22 \x22),\nWe\x3d{0:\x22en\x22,1:\x22fr\x22,2:\x22de\x22,3:\x22it\x22,4:\x22nl\x22,5:\x22sv\x22,6:\x22es\x22,7:\x22da\x22,8:\x22pt\x22,9:\x22no\x22,10:\x22he\x22,11:\x22ja\x22,12:\x22ar\x22,13:\x22fi\x22,14:\x22el\x22,15:\x22is\x22,16:\x22mt\x22,17:\x22tr\x22,18:\x22hr\x22,19:\x22zh-Hant\x22,20:\x22ur\x22,21:\x22hi\x22,22:\x22th\x22,23:\x22ko\x22,24:\x22lt\x22,25:\x22pl\x22,26:\x22hu\x22,27:\x22es\x22,28:\x22lv\x22,29:\x22se\x22,30:\x22fo\x22,31:\x22fa\x22,32:\x22ru\x22,33:\x22zh\x22,34:\x22nl-BE\x22,35:\x22ga\x22,36:\x22sq\x22,37:\x22ro\x22,38:\x22cz\x22,39:\x22sk\x22,40:\x22si\x22,41:\x22yi\x22,42:\x22sr\x22,43:\x22mk\x22,44:\x22bg\x22,45:\x22uk\x22,46:\x22be\x22,47:\x22uz\x22,48:\x22kk\x22,49:\x22az-Cyrl\x22,50:\x22az-Arab\x22,51:\x22hy\x22,52:\x22ka\x22,53:\x22mo\x22,54:\x22ky\x22,55:\x22tg\x22,56:\x22tk\x22,57:\x22mn-CN\x22,58:\x22mn\x22,59:\x22ps\x22,60:\x22ks\x22,\n61:\x22ku\x22,62:\x22sd\x22,63:\x22bo\x22,64:\x22ne\x22,65:\x22sa\x22,66:\x22mr\x22,67:\x22bn\x22,68:\x22as\x22,69:\x22gu\x22,70:\x22pa\x22,71:\x22or\x22,72:\x22ml\x22,73:\x22kn\x22,74:\x22ta\x22,75:\x22te\x22,76:\x22si\x22,77:\x22my\x22,78:\x22km\x22,79:\x22lo\x22,80:\x22vi\x22,81:\x22id\x22,82:\x22tl\x22,83:\x22ms\x22,84:\x22ms-Arab\x22,85:\x22am\x22,86:\x22ti\x22,87:\x22om\x22,88:\x22so\x22,89:\x22sw\x22,90:\x22rw\x22,91:\x22rn\x22,92:\x22ny\x22,93:\x22mg\x22,94:\x22eo\x22,128:\x22cy\x22,129:\x22eu\x22,130:\x22ca\x22,131:\x22la\x22,132:\x22qu\x22,133:\x22gn\x22,134:\x22ay\x22,135:\x22tt\x22,136:\x22ug\x22,137:\x22dz\x22,138:\x22jv\x22,139:\x22su\x22,140:\x22gl\x22,141:\x22af\x22,142:\x22br\x22,143:\x22iu\x22,144:\x22gd\x22,145:\x22gv\x22,146:\x22ga\x22,147:\x22to\x22,148:\x22el-polyton\x22,149:\x22kl\x22,150:\x22az\x22,151:\x22nn\x22},\nqe\x3d{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,\n129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},Xe\x3d{1078:\x22af\x22,1052:\x22sq\x22,1156:\x22gsw\x22,1118:\x22am\x22,5121:\x22ar-DZ\x22,15361:\x22ar-BH\x22,3073:\x22ar\x22,2049:\x22ar-IQ\x22,11265:\x22ar-JO\x22,13313:\x22ar-KW\x22,12289:\x22ar-LB\x22,4097:\x22ar-LY\x22,6145:\x22ary\x22,8193:\x22ar-OM\x22,16385:\x22ar-QA\x22,1025:\x22ar-SA\x22,10241:\x22ar-SY\x22,7169:\x22aeb\x22,14337:\x22ar-AE\x22,9217:\x22ar-YE\x22,1067:\x22hy\x22,1101:\x22as\x22,2092:\x22az-Cyrl\x22,1068:\x22az\x22,1133:\x22ba\x22,1069:\x22eu\x22,1059:\x22be\x22,2117:\x22bn\x22,1093:\x22bn-IN\x22,8218:\x22bs-Cyrl\x22,\n5146:\x22bs\x22,1150:\x22br\x22,1026:\x22bg\x22,1027:\x22ca\x22,3076:\x22zh-HK\x22,5124:\x22zh-MO\x22,2052:\x22zh\x22,4100:\x22zh-SG\x22,1028:\x22zh-TW\x22,1155:\x22co\x22,1050:\x22hr\x22,4122:\x22hr-BA\x22,1029:\x22cs\x22,1030:\x22da\x22,1164:\x22prs\x22,1125:\x22dv\x22,2067:\x22nl-BE\x22,1043:\x22nl\x22,3081:\x22en-AU\x22,10249:\x22en-BZ\x22,4105:\x22en-CA\x22,9225:\x22en-029\x22,16393:\x22en-IN\x22,6153:\x22en-IE\x22,8201:\x22en-JM\x22,17417:\x22en-MY\x22,5129:\x22en-NZ\x22,13321:\x22en-PH\x22,18441:\x22en-SG\x22,7177:\x22en-ZA\x22,11273:\x22en-TT\x22,2057:\x22en-GB\x22,1033:\x22en\x22,12297:\x22en-ZW\x22,1061:\x22et\x22,1080:\x22fo\x22,1124:\x22fil\x22,1035:\x22fi\x22,2060:\x22fr-BE\x22,3084:\x22fr-CA\x22,1036:\x22fr\x22,5132:\x22fr-LU\x22,\n6156:\x22fr-MC\x22,4108:\x22fr-CH\x22,1122:\x22fy\x22,1110:\x22gl\x22,1079:\x22ka\x22,3079:\x22de-AT\x22,1031:\x22de\x22,5127:\x22de-LI\x22,4103:\x22de-LU\x22,2055:\x22de-CH\x22,1032:\x22el\x22,1135:\x22kl\x22,1095:\x22gu\x22,1128:\x22ha\x22,1037:\x22he\x22,1081:\x22hi\x22,1038:\x22hu\x22,1039:\x22is\x22,1136:\x22ig\x22,1057:\x22id\x22,1117:\x22iu\x22,2141:\x22iu-Latn\x22,2108:\x22ga\x22,1076:\x22xh\x22,1077:\x22zu\x22,1040:\x22it\x22,2064:\x22it-CH\x22,1041:\x22ja\x22,1099:\x22kn\x22,1087:\x22kk\x22,1107:\x22km\x22,1158:\x22quc\x22,1159:\x22rw\x22,1089:\x22sw\x22,1111:\x22kok\x22,1042:\x22ko\x22,1088:\x22ky\x22,1108:\x22lo\x22,1062:\x22lv\x22,1063:\x22lt\x22,2094:\x22dsb\x22,1134:\x22lb\x22,1071:\x22mk\x22,2110:\x22ms-BN\x22,1086:\x22ms\x22,1100:\x22ml\x22,1082:\x22mt\x22,\n1153:\x22mi\x22,1146:\x22arn\x22,1102:\x22mr\x22,1148:\x22moh\x22,1104:\x22mn\x22,2128:\x22mn-CN\x22,1121:\x22ne\x22,1044:\x22nb\x22,2068:\x22nn\x22,1154:\x22oc\x22,1096:\x22or\x22,1123:\x22ps\x22,1045:\x22pl\x22,1046:\x22pt\x22,2070:\x22pt-PT\x22,1094:\x22pa\x22,1131:\x22qu-BO\x22,2155:\x22qu-EC\x22,3179:\x22qu\x22,1048:\x22ro\x22,1047:\x22rm\x22,1049:\x22ru\x22,9275:\x22smn\x22,4155:\x22smj-NO\x22,5179:\x22smj\x22,3131:\x22se-FI\x22,1083:\x22se\x22,2107:\x22se-SE\x22,8251:\x22sms\x22,6203:\x22sma-NO\x22,7227:\x22sms\x22,1103:\x22sa\x22,7194:\x22sr-Cyrl-BA\x22,3098:\x22sr\x22,6170:\x22sr-Latn-BA\x22,2074:\x22sr-Latn\x22,1132:\x22nso\x22,1074:\x22tn\x22,1115:\x22si\x22,1051:\x22sk\x22,1060:\x22sl\x22,11274:\x22es-AR\x22,16394:\x22es-BO\x22,13322:\x22es-CL\x22,\n9226:\x22es-CO\x22,5130:\x22es-CR\x22,7178:\x22es-DO\x22,12298:\x22es-EC\x22,17418:\x22es-SV\x22,4106:\x22es-GT\x22,18442:\x22es-HN\x22,2058:\x22es-MX\x22,19466:\x22es-NI\x22,6154:\x22es-PA\x22,15370:\x22es-PY\x22,10250:\x22es-PE\x22,20490:\x22es-PR\x22,3082:\x22es\x22,1034:\x22es\x22,21514:\x22es-US\x22,14346:\x22es-UY\x22,8202:\x22es-VE\x22,2077:\x22sv-FI\x22,1053:\x22sv\x22,1114:\x22syr\x22,1064:\x22tg\x22,2143:\x22tzm\x22,1097:\x22ta\x22,1092:\x22tt\x22,1098:\x22te\x22,1054:\x22th\x22,1105:\x22bo\x22,1055:\x22tr\x22,1090:\x22tk\x22,1152:\x22ug\x22,1058:\x22uk\x22,1070:\x22hsb\x22,1056:\x22ur\x22,2115:\x22uz-Cyrl\x22,1091:\x22uz\x22,1066:\x22vi\x22,1106:\x22cy\x22,1160:\x22wo\x22,1157:\x22sah\x22,1144:\x22ii\x22,1130:\x22yo\x22},Qe\x3d{0:\x22macintosh\x22,\n1:\x22x-mac-japanese\x22,2:\x22x-mac-chinesetrad\x22,3:\x22x-mac-korean\x22,6:\x22x-mac-greek\x22,7:\x22x-mac-cyrillic\x22,9:\x22x-mac-devanagai\x22,10:\x22x-mac-gurmukhi\x22,11:\x22x-mac-gujarati\x22,12:\x22x-mac-oriya\x22,13:\x22x-mac-bengali\x22,14:\x22x-mac-tamil\x22,15:\x22x-mac-telugu\x22,16:\x22x-mac-kannada\x22,17:\x22x-mac-malayalam\x22,18:\x22x-mac-sinhalese\x22,19:\x22x-mac-burmese\x22,20:\x22x-mac-khmer\x22,21:\x22x-mac-thai\x22,22:\x22x-mac-lao\x22,23:\x22x-mac-georgian\x22,24:\x22x-mac-armenian\x22,25:\x22x-mac-chinesesimp\x22,26:\x22x-mac-tibetan\x22,27:\x22x-mac-mongolian\x22,28:\x22x-mac-ethiopic\x22,29:\x22x-mac-ce\x22,30:\x22x-mac-vietnamese\x22,\n31:\x22x-mac-extarabic\x22},Ke\x3d{15:\x22x-mac-icelandic\x22,17:\x22x-mac-turkish\x22,18:\x22x-mac-croatian\x22,24:\x22x-mac-ce\x22,25:\x22x-mac-ce\x22,26:\x22x-mac-ce\x22,27:\x22x-mac-ce\x22,28:\x22x-mac-ce\x22,30:\x22x-mac-icelandic\x22,37:\x22x-mac-romanian\x22,38:\x22x-mac-ce\x22,39:\x22x-mac-ce\x22,40:\x22x-mac-ce\x22,143:\x22x-mac-inuit\x22,146:\x22x-mac-gaelic\x22},rt\x3d{parse:function(e,t,r){var n\x3d{};t\x3dnew ae.Parser(e,t);for(var i\x3dt.parseUShort(),a\x3dt.parseUShort(),s\x3dt.offset+t.parseUShort(),l\x3d0;l\x3ca;l++){var u\x3dt.parseUShort(),c\x3dt.parseUShort(),d\x3dt.parseUShort(),f\x3dt.parseUShort();f\x3dHe[f]||\nf;var p\x3dt.parseUShort(),y\x3dt.parseUShort();a:{switch(u){case 0:if(65535\x3d\x3d\x3dd){var m\x3d\x22und\x22;break a}if(r){m\x3dr[d];break a}break;case 1:m\x3dWe[d];break a;case 3:m\x3dXe[d];break a}m\x3dvoid 0}u\x3dJe(u,c,d);void 0!\x3d\x3du\x26\x26void 0!\x3d\x3dm\x26\x26(u\x3d\x22utf-16\x22\x3d\x3d\x3du?P$jscomp$0.UTF16(e,s+y,p):P$jscomp$0.MACSTRING(e,s+y,p,u))\x26\x26(c\x3dn[f],void 0\x3d\x3d\x3dc\x26\x26(c\x3dn[f]\x3d{}),c[m]\x3du)}return 1\x3d\x3d\x3di\x26\x26t.parseUShort(),n},make:function(e$jscomp$0,t$jscomp$0){var r,n\x3d[],o\x3d{},i\x3d$e(He);for(a in e$jscomp$0){var s\x3di[a];if(void 0\x3d\x3d\x3ds\x26\x26(s\x3da),r\x3dparseInt(s),isNaN(r))throw Error(\x27Name table entry \x22\x27+\na+\x27\x22 does not exist, see nameTableNames for complete list.\x27);o[r]\x3de$jscomp$0[a];n.push(r)}var a\x3d$e(We);s\x3d$e(Xe);e$jscomp$0\x3d[];i\x3d[];for(var f\x3d0;f\x3cn.length;f++){var h\x3do[r\x3dn[f]],p;for(p in h){var y\x3dh[p],m\x3d1,g\x3da[p],v\x3dqe[g],b\x3dJe(m,v,g);b\x3dA$jscomp$0.MACSTRING(y,b);void 0\x3d\x3d\x3db\x26\x26(m\x3d0,0\x3e(g\x3dt$jscomp$0.indexOf(p))\x26\x26(g\x3dt$jscomp$0.length,t$jscomp$0.push(p)),v\x3d4,b\x3dA$jscomp$0.UTF16(y));var x\x3dtt(b,i);e$jscomp$0.push(et(m,v,g,r,b.length,x));m\x3ds[p];void 0!\x3d\x3dm\x26\x26(y\x3dA$jscomp$0.UTF16(y),g\x3dtt(y,i),e$jscomp$0.push(et(3,1,\nm,r,y.length,g)))}}e$jscomp$0.sort(function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID});t$jscomp$0\x3dnew J.Table(\x22name\x22,[{name:\x22format\x22,type:\x22USHORT\x22,value:0},{name:\x22count\x22,type:\x22USHORT\x22,value:e$jscomp$0.length},{name:\x22stringOffset\x22,type:\x22USHORT\x22,value:6+12*e$jscomp$0.length}]);for(r\x3d0;r\x3ce$jscomp$0.length;r++)t$jscomp$0.fields.push({name:\x22record_\x22+r,type:\x22RECORD\x22,value:e$jscomp$0[r]});return t$jscomp$0.fields.push({name:\x22strings\x22,\ntype:\x22LITERAL\x22,value:i}),t$jscomp$0}},nt\x3d[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,\nend:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,\nend:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},\n{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},\n{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},\n{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66E3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],ot\x3d{parse:function(e,t){var r\x3d{};e\x3dnew ae.Parser(e,t);r.version\x3de.parseUShort();r.xAvgCharWidth\x3de.parseShort();r.usWeightClass\x3de.parseUShort();r.usWidthClass\x3de.parseUShort();\nr.fsType\x3de.parseUShort();r.ySubscriptXSize\x3de.parseShort();r.ySubscriptYSize\x3de.parseShort();r.ySubscriptXOffset\x3de.parseShort();r.ySubscriptYOffset\x3de.parseShort();r.ySuperscriptXSize\x3de.parseShort();r.ySuperscriptYSize\x3de.parseShort();r.ySuperscriptXOffset\x3de.parseShort();r.ySuperscriptYOffset\x3de.parseShort();r.yStrikeoutSize\x3de.parseShort();r.yStrikeoutPosition\x3de.parseShort();r.sFamilyClass\x3de.parseShort();r.panose\x3d[];for(t\x3d0;10\x3et;t++)r.panose[t]\x3de.parseByte();return r.ulUnicodeRange1\x3de.parseULong(),r.ulUnicodeRange2\x3d\ne.parseULong(),r.ulUnicodeRange3\x3de.parseULong(),r.ulUnicodeRange4\x3de.parseULong(),r.achVendID\x3dString.fromCharCode(e.parseByte(),e.parseByte(),e.parseByte(),e.parseByte()),r.fsSelection\x3de.parseUShort(),r.usFirstCharIndex\x3de.parseUShort(),r.usLastCharIndex\x3de.parseUShort(),r.sTypoAscender\x3de.parseShort(),r.sTypoDescender\x3de.parseShort(),r.sTypoLineGap\x3de.parseShort(),r.usWinAscent\x3de.parseUShort(),r.usWinDescent\x3de.parseUShort(),1\x3c\x3dr.version\x26\x26(r.ulCodePageRange1\x3de.parseULong(),r.ulCodePageRange2\x3de.parseULong()),\n2\x3c\x3dr.version\x26\x26(r.sxHeight\x3de.parseShort(),r.sCapHeight\x3de.parseShort(),r.usDefaultChar\x3de.parseUShort(),r.usBreakChar\x3de.parseUShort(),r.usMaxContent\x3de.parseUShort()),r},make:function(e){return new J.Table(\x22OS/2\x22,[{name:\x22version\x22,type:\x22USHORT\x22,value:3},{name:\x22xAvgCharWidth\x22,type:\x22SHORT\x22,value:0},{name:\x22usWeightClass\x22,type:\x22USHORT\x22,value:0},{name:\x22usWidthClass\x22,type:\x22USHORT\x22,value:0},{name:\x22fsType\x22,type:\x22USHORT\x22,value:0},{name:\x22ySubscriptXSize\x22,type:\x22SHORT\x22,value:650},{name:\x22ySubscriptYSize\x22,type:\x22SHORT\x22,\nvalue:699},{name:\x22ySubscriptXOffset\x22,type:\x22SHORT\x22,value:0},{name:\x22ySubscriptYOffset\x22,type:\x22SHORT\x22,value:140},{name:\x22ySuperscriptXSize\x22,type:\x22SHORT\x22,value:650},{name:\x22ySuperscriptYSize\x22,type:\x22SHORT\x22,value:699},{name:\x22ySuperscriptXOffset\x22,type:\x22SHORT\x22,value:0},{name:\x22ySuperscriptYOffset\x22,type:\x22SHORT\x22,value:479},{name:\x22yStrikeoutSize\x22,type:\x22SHORT\x22,value:49},{name:\x22yStrikeoutPosition\x22,type:\x22SHORT\x22,value:258},{name:\x22sFamilyClass\x22,type:\x22SHORT\x22,value:0},{name:\x22bFamilyType\x22,type:\x22BYTE\x22,value:0},{name:\x22bSerifStyle\x22,\ntype:\x22BYTE\x22,value:0},{name:\x22bWeight\x22,type:\x22BYTE\x22,value:0},{name:\x22bProportion\x22,type:\x22BYTE\x22,value:0},{name:\x22bContrast\x22,type:\x22BYTE\x22,value:0},{name:\x22bStrokeVariation\x22,type:\x22BYTE\x22,value:0},{name:\x22bArmStyle\x22,type:\x22BYTE\x22,value:0},{name:\x22bLetterform\x22,type:\x22BYTE\x22,value:0},{name:\x22bMidline\x22,type:\x22BYTE\x22,value:0},{name:\x22bXHeight\x22,type:\x22BYTE\x22,value:0},{name:\x22ulUnicodeRange1\x22,type:\x22ULONG\x22,value:0},{name:\x22ulUnicodeRange2\x22,type:\x22ULONG\x22,value:0},{name:\x22ulUnicodeRange3\x22,type:\x22ULONG\x22,value:0},{name:\x22ulUnicodeRange4\x22,\ntype:\x22ULONG\x22,value:0},{name:\x22achVendID\x22,type:\x22CHARARRAY\x22,value:\x22XXXX\x22},{name:\x22fsSelection\x22,type:\x22USHORT\x22,value:0},{name:\x22usFirstCharIndex\x22,type:\x22USHORT\x22,value:0},{name:\x22usLastCharIndex\x22,type:\x22USHORT\x22,value:0},{name:\x22sTypoAscender\x22,type:\x22SHORT\x22,value:0},{name:\x22sTypoDescender\x22,type:\x22SHORT\x22,value:0},{name:\x22sTypoLineGap\x22,type:\x22SHORT\x22,value:0},{name:\x22usWinAscent\x22,type:\x22USHORT\x22,value:0},{name:\x22usWinDescent\x22,type:\x22USHORT\x22,value:0},{name:\x22ulCodePageRange1\x22,type:\x22ULONG\x22,value:0},{name:\x22ulCodePageRange2\x22,type:\x22ULONG\x22,\nvalue:0},{name:\x22sxHeight\x22,type:\x22SHORT\x22,value:0},{name:\x22sCapHeight\x22,type:\x22SHORT\x22,value:0},{name:\x22usDefaultChar\x22,type:\x22USHORT\x22,value:0},{name:\x22usBreakChar\x22,type:\x22USHORT\x22,value:0},{name:\x22usMaxContext\x22,type:\x22USHORT\x22,value:0}],e)},unicodeRanges:nt,getUnicodeRange:function(e){for(var t\x3d0;t\x3cnt.length;t+\x3d1){var r\x3dnt[t];if(e\x3e\x3dr.begin\x26\x26e\x3cr.end)return t}return-1}},it\x3d{parse:function(e,t){var r\x3d{};e\x3dnew ae.Parser(e,t);switch(r.version\x3de.parseVersion(),r.italicAngle\x3de.parseFixed(),r.underlinePosition\x3de.parseShort(),\nr.underlineThickness\x3de.parseShort(),r.isFixedPitch\x3de.parseULong(),r.minMemType42\x3de.parseULong(),r.maxMemType42\x3de.parseULong(),r.minMemType1\x3de.parseULong(),r.maxMemType1\x3de.parseULong(),r.version){case 1:r.names\x3dde.slice();break;case 2:r.numberOfGlyphs\x3de.parseUShort();r.glyphNameIndex\x3dArray(r.numberOfGlyphs);for(t\x3d0;t\x3cr.numberOfGlyphs;t++)r.glyphNameIndex[t]\x3de.parseUShort();r.names\x3d[];for(t\x3d0;t\x3cr.numberOfGlyphs;t++)if(r.glyphNameIndex[t]\x3e\x3dde.length){var a\x3de.parseChar();r.names.push(e.parseString(a))}break;\ncase 2.5:for(r.numberOfGlyphs\x3de.parseUShort(),r.offset\x3dArray(r.numberOfGlyphs),t\x3d0;t\x3cr.numberOfGlyphs;t++)r.offset[t]\x3de.parseChar()}return r},make:function(){return new J.Table(\x22post\x22,[{name:\x22version\x22,type:\x22FIXED\x22,value:196608},{name:\x22italicAngle\x22,type:\x22FIXED\x22,value:0},{name:\x22underlinePosition\x22,type:\x22FWORD\x22,value:0},{name:\x22underlineThickness\x22,type:\x22FWORD\x22,value:0},{name:\x22isFixedPitch\x22,type:\x22ULONG\x22,value:0},{name:\x22minMemType42\x22,type:\x22ULONG\x22,value:0},{name:\x22maxMemType42\x22,type:\x22ULONG\x22,value:0},{name:\x22minMemType1\x22,\ntype:\x22ULONG\x22,value:0},{name:\x22maxMemType1\x22,type:\x22ULONG\x22,value:0}])}},at\x3dArray(9);at[1]\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort();return 1\x3d\x3d\x3dt?{substFormat:1,coverage:this.parsePointer(oe.coverage),deltaGlyphId:this.parseUShort()}:2\x3d\x3d\x3dt?{substFormat:2,coverage:this.parsePointer(oe.coverage),substitute:this.parseOffset16List()}:void L$jscomp$0.assert(!1,\x220x\x22+e.toString(16)+\x22: lookup type 1 format must be 1 or 2.\x22)};at[2]\x3dfunction(){var e\x3dthis.parseUShort();return L$jscomp$0.argument(1\x3d\x3d\x3d\ne,\x22GSUB Multiple Substitution Subtable identifier-format must be 1\x22),{substFormat:e,coverage:this.parsePointer(oe.coverage),sequences:this.parseListOfLists()}};at[3]\x3dfunction(){var e\x3dthis.parseUShort();return L$jscomp$0.argument(1\x3d\x3d\x3de,\x22GSUB Alternate Substitution Subtable identifier-format must be 1\x22),{substFormat:e,coverage:this.parsePointer(oe.coverage),alternateSets:this.parseListOfLists()}};at[4]\x3dfunction(){var e\x3dthis.parseUShort();return L$jscomp$0.argument(1\x3d\x3d\x3de,\x22GSUB ligature table identifier-format must be 1\x22),\n{substFormat:e,coverage:this.parsePointer(oe.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var st\x3d{sequenceIndex:oe.uShort,lookupListIndex:oe.uShort};at[5]\x3dfunction(){var e$jscomp$0\x3dthis.offset+this.relativeOffset,t$jscomp$0\x3dthis.parseUShort();if(1\x3d\x3d\x3dt$jscomp$0)return{substFormat:t$jscomp$0,coverage:this.parsePointer(oe.coverage),ruleSets:this.parseListOfLists(function(){var e\x3dthis.parseUShort(),\nt\x3dthis.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,st)}})};if(2\x3d\x3d\x3dt$jscomp$0)return{substFormat:t$jscomp$0,coverage:this.parsePointer(oe.coverage),classDef:this.parsePointer(oe.classDef),classSets:this.parseListOfLists(function(){var e\x3dthis.parseUShort(),t\x3dthis.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,st)}})};if(3\x3d\x3d\x3dt$jscomp$0){e$jscomp$0\x3dthis.parseUShort();var n\x3dthis.parseUShort();return{substFormat:t$jscomp$0,\ncoverages:this.parseList(e$jscomp$0,oe.pointer(oe.coverage)),lookupRecords:this.parseRecordList(n,st)}}L$jscomp$0.assert(!1,\x220x\x22+e$jscomp$0.toString(16)+\x22: lookup type 5 format must be 1, 2 or 3.\x22)};at[6]\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort();return 1\x3d\x3d\x3dt?{substFormat:1,coverage:this.parsePointer(oe.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),\nlookupRecords:this.parseRecordList(st)}})}:2\x3d\x3d\x3dt?{substFormat:2,coverage:this.parsePointer(oe.coverage),backtrackClassDef:this.parsePointer(oe.classDef),inputClassDef:this.parsePointer(oe.classDef),lookaheadClassDef:this.parsePointer(oe.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(st)}})}:3\x3d\x3d\x3dt?{substFormat:3,backtrackCoverage:this.parseList(oe.pointer(oe.coverage)),\ninputCoverage:this.parseList(oe.pointer(oe.coverage)),lookaheadCoverage:this.parseList(oe.pointer(oe.coverage)),lookupRecords:this.parseRecordList(st)}:void L$jscomp$0.assert(!1,\x220x\x22+e.toString(16)+\x22: lookup type 6 format must be 1, 2 or 3.\x22)};at[7]\x3dfunction(){var e\x3dthis.parseUShort();L$jscomp$0.argument(1\x3d\x3d\x3de,\x22GSUB Extension Substitution subtable identifier-format must be 1\x22);e\x3dthis.parseUShort();var r\x3dnew oe(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:at[e].call(r)}};\nat[8]\x3dfunction(){var e\x3dthis.parseUShort();return L$jscomp$0.argument(1\x3d\x3d\x3de,\x22GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1\x22),{substFormat:e,coverage:this.parsePointer(oe.coverage),backtrackCoverage:this.parseList(oe.pointer(oe.coverage)),lookaheadCoverage:this.parseList(oe.pointer(oe.coverage)),substitutes:this.parseUShortList()}};var lt\x3dArray(9);lt[1]\x3dfunction(e){return 1\x3d\x3d\x3de.substFormat?new J.Table(\x22substitutionTable\x22,[{name:\x22substFormat\x22,type:\x22USHORT\x22,\nvalue:1},{name:\x22coverage\x22,type:\x22TABLE\x22,value:new J.Coverage(e.coverage)},{name:\x22deltaGlyphID\x22,type:\x22USHORT\x22,value:e.deltaGlyphId}]):new J.Table(\x22substitutionTable\x22,[{name:\x22substFormat\x22,type:\x22USHORT\x22,value:2},{name:\x22coverage\x22,type:\x22TABLE\x22,value:new J.Coverage(e.coverage)}].concat(J.ushortList(\x22substitute\x22,e.substitute)))};lt[3]\x3dfunction(e$jscomp$0){return L$jscomp$0.assert(1\x3d\x3d\x3de$jscomp$0.substFormat,\x22Lookup type 3 substFormat must be 1.\x22),new J.Table(\x22substitutionTable\x22,[{name:\x22substFormat\x22,type:\x22USHORT\x22,\nvalue:1},{name:\x22coverage\x22,type:\x22TABLE\x22,value:new J.Coverage(e$jscomp$0.coverage)}].concat(J.tableList(\x22altSet\x22,e$jscomp$0.alternateSets,function(e){return new J.Table(\x22alternateSetTable\x22,J.ushortList(\x22alternate\x22,e))})))};lt[4]\x3dfunction(e$jscomp$1){return L$jscomp$0.assert(1\x3d\x3d\x3de$jscomp$1.substFormat,\x22Lookup type 4 substFormat must be 1.\x22),new J.Table(\x22substitutionTable\x22,[{name:\x22substFormat\x22,type:\x22USHORT\x22,value:1},{name:\x22coverage\x22,type:\x22TABLE\x22,value:new J.Coverage(e$jscomp$1.coverage)}].concat(J.tableList(\x22ligSet\x22,\ne$jscomp$1.ligatureSets,function(e$jscomp$0){return new J.Table(\x22ligatureSetTable\x22,J.tableList(\x22ligature\x22,e$jscomp$0,function(e){return new J.Table(\x22ligatureTable\x22,[{name:\x22ligGlyph\x22,type:\x22USHORT\x22,value:e.ligGlyph}].concat(J.ushortList(\x22component\x22,e.components,e.components.length+1)))}))})))};var ut\x3d{parse:function(e,t){e\x3dnew oe(e,t||0);t\x3de.parseVersion(1);return L$jscomp$0.argument(1\x3d\x3d\x3dt||1.1\x3d\x3d\x3dt,\x22Unsupported GSUB table version.\x22),1\x3d\x3d\x3dt?{version:t,scripts:e.parseScriptList(),features:e.parseFeatureList(),\nlookups:e.parseLookupList(at)}:{version:t,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(at),variations:e.parseFeatureVariationsList()}},make:function(e){return new J.Table(\x22GSUB\x22,[{name:\x22version\x22,type:\x22ULONG\x22,value:65536},{name:\x22scripts\x22,type:\x22TABLE\x22,value:new J.ScriptList(e.scripts)},{name:\x22features\x22,type:\x22TABLE\x22,value:new J.FeatureList(e.features)},{name:\x22lookups\x22,type:\x22TABLE\x22,value:new J.LookupList(e.lookups,lt)}])}},ct\x3d{parse:function(e,t){var r\x3dnew ae.Parser(e,\nt),n\x3dr.parseULong();L$jscomp$0.argument(1\x3d\x3d\x3dn,\x22Unsupported META table version.\x22);r.parseULong();r.parseULong();n\x3dr.parseULong();for(var i\x3d{},a\x3d0;a\x3cn;a++){var s\x3dr.parseTag(),l\x3dr.parseULong(),u\x3dr.parseULong();l\x3dP$jscomp$0.UTF8(e,t+l,u);i[s]\x3dl}return i},make:function(e){var t\x3dObject.keys(e).length,r\x3d\x22\x22,n\x3d16+12*t;t\x3dnew J.Table(\x22meta\x22,[{name:\x22version\x22,type:\x22ULONG\x22,value:1},{name:\x22flags\x22,type:\x22ULONG\x22,value:0},{name:\x22offset\x22,type:\x22ULONG\x22,value:n},{name:\x22numTags\x22,type:\x22ULONG\x22,value:t}]);for(var i in e){var a\x3d\nr.length;r+\x3de[i];t.fields.push({name:\x22tag \x22+i,type:\x22TAG\x22,value:i});t.fields.push({name:\x22offset \x22+i,type:\x22ULONG\x22,value:n+a});t.fields.push({name:\x22length \x22+i,type:\x22ULONG\x22,value:e[i].length})}return t.fields.push({name:\x22stringPool\x22,type:\x22CHARARRAY\x22,value:r}),t}},mt\x3d{make:pt,fontToTable:function(e){for(var t,r\x3d[],n\x3d[],o\x3d[],i\x3d[],a\x3d[],s\x3d[],l\x3d[],u\x3d0,c\x3d0,d\x3d0,f\x3d0,h\x3d0,p\x3d0;p\x3ce.glyphs.length;p+\x3d1){var y\x3de.glyphs.get(p),m\x3d0|y.unicode;if(isNaN(y.advanceWidth))throw Error(\x22Glyph \x22+y.name+\x22 (\x22+p+\x22): advanceWidth is not a number.\x22);\n(m\x3ct||void 0\x3d\x3d\x3dt)\x26\x260\x3cm\x26\x26(t\x3dm);u\x3cm\x26\x26(u\x3dm);m\x3dot.getUnicodeRange(m);if(32\x3em)c|\x3d1\x3c\x3cm;else if(64\x3em)d|\x3d1\x3c\x3cm-32;else if(96\x3em)f|\x3d1\x3c\x3cm-64;else{if(!(123\x3em))throw Error(\x22Unicode ranges bits \\x3e 123 are reserved for internal usage\x22);h|\x3d1\x3c\x3cm-96}\x22.notdef\x22!\x3d\x3dy.name\x26\x26(m\x3dy.getMetrics(),r.push(m.xMin),n.push(m.yMin),o.push(m.xMax),i.push(m.yMax),s.push(m.leftSideBearing),l.push(m.rightSideBearing),a.push(y.advanceWidth))}r\x3dMath.min.apply(null,r);n\x3dMath.min.apply(null,n);o\x3dMath.max.apply(null,o);i\x3dMath.max.apply(null,\ni);p\x3dMath.max.apply(null,a);for(m\x3dy\x3d0;m\x3ca.length;m+\x3d1)y+\x3da[m];i\x3d{xMin:r,yMin:n,xMax:o,yMax:i,advanceWidthMax:p,advanceWidthAvg:y/a.length,minLeftSideBearing:Math.min.apply(null,s),maxLeftSideBearing:Math.max.apply(null,s),minRightSideBearing:Math.min.apply(null,l)};i.ascender\x3de.ascender;i.descender\x3de.descender;a\x3dFe.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:i.xMin,yMin:i.yMin,xMax:i.xMax,yMax:i.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp});s\x3dBe.make({ascender:i.ascender,descender:i.descender,\nadvanceWidthMax:i.advanceWidthMax,minLeftSideBearing:i.minLeftSideBearing,minRightSideBearing:i.minRightSideBearing,xMaxExtent:i.maxLeftSideBearing+(i.xMax-i.xMin),numberOfHMetrics:e.glyphs.length});l\x3dze.make(e.glyphs.length);t\x3dot.make({xAvgCharWidth:Math.round(i.advanceWidthAvg),usWeightClass:e.tables.os2.usWeightClass,usWidthClass:e.tables.os2.usWidthClass,usFirstCharIndex:t,usLastCharIndex:u,ulUnicodeRange1:c,ulUnicodeRange2:d,ulUnicodeRange3:f,ulUnicodeRange4:h,fsSelection:e.tables.os2.fsSelection,\nsTypoAscender:i.ascender,sTypoDescender:i.descender,sTypoLineGap:0,usWinAscent:i.yMax,usWinDescent:Math.abs(i.yMin),ulCodePageRange1:1,sxHeight:yt(e,\x22xyvw\x22,{yMax:Math.round(i.ascender/2)}).yMax,sCapHeight:yt(e,\x22HIKLEFJMNTZBDPRAGOQSUVWXY\x22,i).yMax,usDefaultChar:e.hasChar(\x22 \x22)?32:0,usBreakChar:e.hasChar(\x22 \x22)?32:0});u\x3dGe.make(e.glyphs);c\x3dse.make(e.glyphs);d\x3de.getEnglishName(\x22fontFamily\x22);f\x3de.getEnglishName(\x22fontSubfamily\x22);h\x3dd+\x22 \x22+f;o\x3d(o\x3de.getEnglishName(\x22postScriptName\x22))||d.replace(/\\s/g,\x22\x22)+\x22-\x22+f;\nn\x3d{};for(var P in e.names)n[P]\x3de.names[P];n.uniqueID||(n.uniqueID\x3d{en:e.getEnglishName(\x22manufacturer\x22)+\x22:\x22+h});n.postScriptName||(n.postScriptName\x3d{en:o});n.preferredFamily||(n.preferredFamily\x3de.names.fontFamily);n.preferredSubfamily||(n.preferredSubfamily\x3de.names.fontSubfamily);r\x3d[];P\x3drt.make(n,r);n\x3d0\x3cr.length?Ve.make(r):void 0;r\x3dit.make();f\x3dNe.make(e.glyphs,{version:e.getEnglishName(\x22version\x22),fullName:h,familyName:d,weightName:f,postScriptName:o,unitsPerEm:e.unitsPerEm,fontBBox:[0,i.yMin,i.ascender,\ni.advanceWidthMax]});d\x3de.metas\x26\x260\x3cObject.keys(e.metas).length?ct.make(e.metas):void 0;P\x3d[a,s,l,t,P,c,r,f,u];n\x26\x26P.push(n);e.tables.gsub\x26\x26P.push(ut.make(e.tables.gsub));d\x26\x26P.push(d);e\x3dpt(P);P\x3dft(e.encode());t\x3de.fields;u\x3d!1;for(c\x3d0;c\x3ct.length;c+\x3d1)if(\x22head table\x22\x3d\x3d\x3dt[c].name){t[c].value.checkSumAdjustment\x3d2981146554-P;u\x3d!0;break}if(!u)throw Error(\x22Could not find head table with checkSum to adjust.\x22);return e},computeCheckSum:ft};(xt.prototype\x3d_t.prototype\x3d{searchTag:gt,binSearch:vt,getTable:function(e){var t\x3d\nthis.font.tables[this.tableName];return!t\x26\x26e\x26\x26(t\x3dthis.font.tables[this.tableName]\x3dthis.createDefaultTable()),t},getScriptNames:function(){var e$jscomp$0\x3dthis.getTable();return e$jscomp$0?e$jscomp$0.scripts.map(function(e){return e.tag}):[]},getDefaultScriptName:function(){var e\x3dthis.getTable();if(e){for(var t\x3d!1,r\x3d0;r\x3ce.scripts.length;r++){var n\x3de.scripts[r].tag;if(\x22DFLT\x22\x3d\x3d\x3dn)return n;\x22latn\x22\x3d\x3d\x3dn\x26\x26(t\x3d!0)}return t?\x22latn\x22:void 0}},getScriptTable:function(e,t){var r\x3dthis.getTable(t);if(r){e\x3de||\x22DFLT\x22;\nvar n\x3dr.scripts;r\x3dgt(r.scripts,e);if(0\x3c\x3dr)return n[r].script;if(t)return e\x3d{tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}},n.splice(-1-r,0,e),e.script}},getLangSysTable:function(e,t,r){if(e\x3dthis.getScriptTable(e,r)){if(!t||\x22dflt\x22\x3d\x3d\x3dt||\x22DFLT\x22\x3d\x3d\x3dt)return e.defaultLangSys;var o\x3dgt(e.langSysRecords,t);if(0\x3c\x3do)return e.langSysRecords[o].langSys;if(r)return t\x3d{tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}},e.langSysRecords.splice(-1-\no,0,t),t.langSys}},getFeatureTable:function(e,t,r,n){if(e\x3dthis.getLangSysTable(e,t,n)){var i;e\x3de.featureIndexes;t\x3dthis.font.tables[this.tableName].features;for(var l\x3d0;l\x3ce.length;l++)if((i\x3dt[e[l]]).tag\x3d\x3d\x3dr)return i.feature;if(n)return n\x3dt.length,L$jscomp$0.assert(0\x3d\x3d\x3dn||r\x3e\x3dt[n-1].tag,\x22Features must be added in alphabetical order.\x22),i\x3d{tag:r,feature:{params:0,lookupListIndexes:[]}},t.push(i),e.push(n),i.feature}},getLookupTables:function(e,t,r,n,o){t\x3dthis.getFeatureTable(e,t,r,o);e\x3d[];if(t){var s;\nt\x3dt.lookupListIndexes;r\x3dthis.font.tables[this.tableName].lookups;for(var c\x3d0;c\x3ct.length;c++)(s\x3dr[t[c]]).lookupType\x3d\x3d\x3dn\x26\x26e.push(s);if(0\x3d\x3d\x3de.length\x26\x26o)return s\x3d{lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0},n\x3dr.length,r.push(s),t.push(n),[s]}return e},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph\x3c\x3dt\x26\x26t\x3ce.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:return(e\x3dbt(e.ranges,t))?e.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:return t\x3d\nvt(e.glyphs,t),0\x3c\x3dt?t:-1;case 2:return(e\x3dbt(e.ranges,t))?e.index+t-e.start:-1}},expandCoverage:function(e){if(1\x3d\x3d\x3de.format)return e.glyphs;var t\x3d[];e\x3de.ranges;for(var n\x3d0;n\x3ce.length;n++){var o\x3de[n],a\x3do.end;for(o\x3do.start;o\x3c\x3da;o++)t.push(o)}return t}}).init\x3dfunction(){var e\x3dthis.getDefaultScriptName();this.defaultKerningTables\x3dthis.getKerningTables(e)};xt.prototype.getKerningValue\x3dfunction(e,t,r){for(var n\x3d0;n\x3ce.length;n++)for(var o\x3de[n].subtables,i\x3d0;i\x3co.length;i++){var a\x3do[i],s\x3dthis.getCoverageIndex(a.coverage,\nt);if(!(0\x3es))switch(a.posFormat){case 1:a\x3da.pairSets[s];for(s\x3d0;s\x3ca.length;s++){var c\x3da[s];if(c.secondGlyph\x3d\x3d\x3dr)return c.value1\x26\x26c.value1.xAdvance||0}break;case 2:return e\x3dthis.getGlyphClass(a.classDef1,t),r\x3dthis.getGlyphClass(a.classDef2,r),r\x3da.classRecords[e][r],r.value1\x26\x26r.value1.xAdvance||0}}return 0};xt.prototype.getKerningTables\x3dfunction(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,\x22kern\x22,2)};(wt.prototype\x3d_t.prototype).createDefaultTable\x3dfunction(){return{version:1,scripts:[{tag:\x22DFLT\x22,\nscript:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}};wt.prototype.getSingle\x3dfunction(e,t,r){var n\x3d[];e\x3dthis.getLookupTables(t,r,e,1);for(t\x3d0;t\x3ce.length;t++){r\x3de[t].subtables;for(var s\x3d0;s\x3cr.length;s++){var l\x3dr[s],u\x3dthis.expandCoverage(l.coverage);if(1\x3d\x3d\x3dl.substFormat){var d\x3dl.deltaGlyphId;for(l\x3d0;l\x3cu.length;l++){var f\x3du[l];n.push({sub:f,by:f+d})}}else for(d\x3dl.substitute,l\x3d0;l\x3cu.length;l++)n.push({sub:u[l],by:d[l]})}}return n};wt.prototype.getAlternates\x3d\nfunction(e,t,r){var n\x3d[];e\x3dthis.getLookupTables(t,r,e,3);for(t\x3d0;t\x3ce.length;t++){r\x3de[t].subtables;for(var s\x3d0;s\x3cr.length;s++){var l\x3dr[s],u\x3dthis.expandCoverage(l.coverage);l\x3dl.alternateSets;for(var d\x3d0;d\x3cu.length;d++)n.push({sub:u[d],by:l[d]})}}return n};wt.prototype.getLigatures\x3dfunction(e,t,r){var n\x3d[];e\x3dthis.getLookupTables(t,r,e,4);for(t\x3d0;t\x3ce.length;t++){r\x3de[t].subtables;for(var s\x3d0;s\x3cr.length;s++){var l\x3dr[s],u\x3dthis.expandCoverage(l.coverage);l\x3dl.ligatureSets;for(var d\x3d0;d\x3cu.length;d++)for(var f\x3d\nu[d],h\x3dl[d],p\x3d0;p\x3ch.length;p++){var y\x3dh[p];n.push({sub:[f].concat(y.components),by:y.ligGlyph})}}}return n};wt.prototype.addSingle\x3dfunction(e,t,r,n){e\x3dSt(this.getLookupTables(r,n,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});L$jscomp$0.assert(1\x3d\x3d\x3de.coverage.format,\x22Ligature: unable to modify coverage table format \x22+e.coverage.format);r\x3dt.sub;n\x3dthis.binSearch(e.coverage.glyphs,r);0\x3en\x26\x26(n\x3d-1-n,e.coverage.glyphs.splice(n,0,r),e.substitute.splice(n,0,0));e.substitute[n]\x3dt.by};\nwt.prototype.addAlternate\x3dfunction(e,t,r,n){e\x3dSt(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});L$jscomp$0.assert(1\x3d\x3d\x3de.coverage.format,\x22Ligature: unable to modify coverage table format \x22+e.coverage.format);r\x3dt.sub;n\x3dthis.binSearch(e.coverage.glyphs,r);0\x3en\x26\x26(n\x3d-1-n,e.coverage.glyphs.splice(n,0,r),e.alternateSets.splice(n,0,0));e.alternateSets[n]\x3dt.by};wt.prototype.addLigature\x3dfunction(e,t,r$jscomp$0,n$jscomp$0){e\x3dthis.getLookupTables(r$jscomp$0,\nn$jscomp$0,e,4,!0)[0];(r$jscomp$0\x3de.subtables[0])||(r$jscomp$0\x3d{substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},e.subtables[0]\x3dr$jscomp$0);L$jscomp$0.assert(1\x3d\x3d\x3dr$jscomp$0.coverage.format,\x22Ligature: unable to modify coverage table format \x22+r$jscomp$0.coverage.format);n$jscomp$0\x3dt.sub[0];e\x3dt.sub.slice(1);t\x3d{ligGlyph:t.by,components:e};var u\x3dthis.binSearch(r$jscomp$0.coverage.glyphs,n$jscomp$0);if(0\x3c\x3du){r$jscomp$0\x3dr$jscomp$0.ligatureSets[u];for(n$jscomp$0\x3d0;n$jscomp$0\x3cr$jscomp$0.length;n$jscomp$0++){a:{u\x3d\nr$jscomp$0[n$jscomp$0].components;var r\x3du.length;if(r!\x3d\x3de.length)u\x3d!1;else{for(var n\x3d0;n\x3cr;n++)if(u[n]!\x3d\x3de[n]){u\x3d!1;break a}u\x3d!0}}if(u)return}r$jscomp$0.push(t)}else u\x3d-1-u,r$jscomp$0.coverage.glyphs.splice(u,0,n$jscomp$0),r$jscomp$0.ligatureSets.splice(u,0,[t])};wt.prototype.getFeature\x3dfunction(e,t,r){if(/ss\\d\\d/.test(e))return this.getSingle(e,t,r);switch(e){case \x22aalt\x22:case \x22salt\x22:return this.getSingle(e,t,r).concat(this.getAlternates(e,t,r));case \x22dlig\x22:case \x22liga\x22:case \x22rlig\x22:return this.getLigatures(e,\nt,r)}};wt.prototype.add\x3dfunction(e,t,r,n){if(/ss\\d\\d/.test(e))return this.addSingle(e,t,r,n);switch(e){case \x22aalt\x22:case \x22salt\x22:return\x22number\x22\x3d\x3dtypeof t.by?this.addSingle(e,t,r,n):this.addAlternate(e,t,r,n);case \x22dlig\x22:case \x22liga\x22:case \x22rlig\x22:return this.addLigature(e,t,r,n)}};var It\x3d{getPath:Lt,parse:function(e,t,r,n){for(var o\x3dnew _e.GlyphSet(n),i\x3d0;i\x3cr.length-1;i+\x3d1){var a\x3dr[i];a!\x3d\x3dr[i+1]?o.push(i,_e.ttfGlyphLoader(n,i,Ot,e,t+a,Pt)):o.push(i,_e.glyphLoader(n,i))}return o}},Wt\x3d{x:1,y:0,axis:\x22x\x22,\ndistance:function(e,t,r,n){return(r?e.xo:e.x)-(n?t.xo:t.x)},interpolate:function(e,t,r,n){var o,i,a,s,l,u,c;if(!n||n\x3d\x3d\x3dthis)return o\x3de.xo-t.xo,i\x3de.xo-r.xo,l\x3dt.x-t.xo,u\x3dr.x-r.xo,0\x3d\x3d\x3d(c\x3d(a\x3dMath.abs(o))+(s\x3dMath.abs(i)))?void(e.x\x3de.xo+(l+u)/2):void(e.x\x3de.xo+(l*s+u*a)/c);o\x3dn.distance(e,t,!0,!0);i\x3dn.distance(e,r,!0,!0);l\x3dn.distance(t,t,!1,!0);u\x3dn.distance(r,r,!1,!0);0!\x3d\x3d(c\x3d(a\x3dMath.abs(o))+(s\x3dMath.abs(i)))?Wt.setRelative(e,e,(l*s+u*a)/c,n,!0):Wt.setRelative(e,e,(l+u)/2,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,\nsetRelative:function(e,t,r,n,o){e.x\x3dn\x26\x26n!\x3d\x3dthis?(o?t.xo:t.x)+r*n.x+(e.y-((o?t.yo:t.y)+r*n.y))/n.normalSlope:(o?t.xo:t.x)+r},slope:0,touch:function(e){e.xTouched\x3d!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched\x3d!1}},qt\x3d{x:0,y:1,axis:\x22y\x22,distance:function(e,t,r,n){return(r?e.yo:e.y)-(n?t.yo:t.y)},interpolate:function(e,t,r,n){var o,i,a,s,l,u,c;if(!n||n\x3d\x3d\x3dthis)return o\x3de.yo-t.yo,i\x3de.yo-r.yo,l\x3dt.y-t.yo,u\x3dr.y-r.yo,0\x3d\x3d\x3d(c\x3d(a\x3dMath.abs(o))+(s\x3dMath.abs(i)))?void(e.y\x3de.yo+(l+u)/2):\nvoid(e.y\x3de.yo+(l*s+u*a)/c);o\x3dn.distance(e,t,!0,!0);i\x3dn.distance(e,r,!0,!0);l\x3dn.distance(t,t,!1,!0);u\x3dn.distance(r,r,!1,!0);0!\x3d\x3d(c\x3d(a\x3dMath.abs(o))+(s\x3dMath.abs(i)))?qt.setRelative(e,e,(l*s+u*a)/c,n,!0):qt.setRelative(e,e,(l+u)/2,n,!0)},normalSlope:0,setRelative:function(e,t,r,n,o){e.y\x3dn\x26\x26n!\x3d\x3dthis?(o?t.yo:t.y)+r*n.y+n.normalSlope*(e.x-((o?t.xo:t.x)+r*n.x)):(o?t.yo:t.y)+r},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched\x3d!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched\x3d\n!1}};Object.freeze(Wt);Object.freeze(qt);Xt.prototype.distance\x3dfunction(e,t,r,n){return this.x*Wt.distance(e,t,r,n)+this.y*qt.distance(e,t,r,n)};Xt.prototype.interpolate\x3dfunction(e,t,r,n){var l,u,c;var a\x3dn.distance(e,t,!0,!0);var s\x3dn.distance(e,r,!0,!0);t\x3dn.distance(t,t,!1,!0);r\x3dn.distance(r,r,!1,!0);0!\x3d\x3d(c\x3d(l\x3dMath.abs(a))+(u\x3dMath.abs(s)))?this.setRelative(e,e,(t*u+r*l)/c,n,!0):this.setRelative(e,e,(t+r)/2,n,!0)};Xt.prototype.setRelative\x3dfunction(e,t,r,n,o){n\x3dn||this;var u\x3dn.normalSlope,c\x3dthis.slope,\nd\x3de.x,f\x3de.y;e.x\x3d(c*d-u*((o?t.xo:t.x)+r*n.x)+((o?t.yo:t.y)+r*n.y)-f)/(c-u);e.y\x3dc*(e.x-d)+f};Xt.prototype.touch\x3dfunction(e){e.xTouched\x3d!0;e.yTouched\x3d!0};Zt.prototype.nextTouched\x3dfunction(e){for(var t\x3dthis.nextPointOnContour;!e.touched(t)\x26\x26t!\x3d\x3dthis;)t\x3dt.nextPointOnContour;return t};Zt.prototype.prevTouched\x3dfunction(e){for(var t\x3dthis.prevPointOnContour;!e.touched(t)\x26\x26t!\x3d\x3dthis;)t\x3dt.prevPointOnContour;return t};var Qt\x3dObject.freeze(new Zt(0,0)),Kt\x3d{cvCutIn:1.0625,deltaBase:9,deltaShift:.125,loop:1,minDis:1,\nautoFlip:!0};Ut.prototype.exec\x3dfunction(e$jscomp$0,t){if(\x22number\x22!\x3dtypeof t)throw Error(\x22Point size is not a number!\x22);if(!(2\x3cthis._errorState)){var r\x3dthis.font,n\x3dthis._prepState;if(!n||n.ppem!\x3d\x3dt){n\x3dthis._fpgmState;if(!n){Jt.prototype\x3dKt;(n\x3dthis._fpgmState\x3dnew Jt(\x22fpgm\x22,r.tables.fpgm)).funcs\x3d[];n.font\x3dr;M$jscomp$0.DEBUG\x26\x26(console.log(\x22---EXEC FPGM---\x22),n.step\x3d-1);try{kt(n)}catch(e){return console.log(\x22Hinting error in FPGM:\x22+e),void(this._errorState\x3d3)}}Jt.prototype\x3dn;(n\x3dthis._prepState\x3dnew Jt(\x22prep\x22,\nr.tables.prep)).ppem\x3dt;var i\x3dr.tables.cvt;if(i){var a\x3dn.cvt\x3dArray(i.length);t/\x3dr.unitsPerEm;for(r\x3d0;r\x3ci.length;r++)a[r]\x3di[r]*t}else n.cvt\x3d[];M$jscomp$0.DEBUG\x26\x26(console.log(\x22---EXEC PREP---\x22),n.step\x3d-1);try{kt(n)}catch(e){2\x3ethis._errorState\x26\x26console.log(\x22Hinting error in PREP:\x22+e),this._errorState\x3d2}}if(!(1\x3cthis._errorState))try{return Rt(e$jscomp$0,n)}catch(e){return 1\x3ethis._errorState\x26\x26(console.log(\x22Hinting error:\x22+e),console.log(\x22Note: further hinting errors are silenced\x22)),void(this._errorState\x3d\n1)}}};var Rt\x3dfunction(e,t){var i\x3dt.ppem/t.font.unitsPerEm,s\x3de.components;if(Jt.prototype\x3dt,s){var l\x3dt.font;var n\x3d[];t\x3d[];for(var u\x3d0;u\x3cs.length;u++){var c\x3ds[u],d\x3dl.glyphs.get(c.glyphIndex);var o\x3dnew Jt(\x22glyf\x22,d.instructions);M$jscomp$0.DEBUG\x26\x26(console.log(\x22---EXEC COMP \x22+u+\x22---\x22),o.step\x3d-1);Dt(d,o,i,i);d\x3dMath.round(c.dx*i);var h\x3dMath.round(c.dy*i),p\x3do.gZone;c\x3do.contours;for(var m\x3d0;m\x3cp.length;m++){var g\x3dp[m];g.xTouched\x3dg.yTouched\x3d!1;g.xo\x3dg.x+\x3dd;g.yo\x3dg.y+\x3dh}d\x3dn.length;n.push.apply(n,p);for(p\x3d0;p\x3cc.length;p++)t.push(c[p]+\nd)}e.instructions\x26\x26!o.inhibitGridFit\x26\x26((o\x3dnew Jt(\x22glyf\x22,e.instructions)).gZone\x3do.z0\x3do.z1\x3do.z2\x3dn,o.contours\x3dt,n.push(new Zt(0,0),new Zt(Math.round(e.advanceWidth*i),0)),M$jscomp$0.DEBUG\x26\x26(console.log(\x22---EXEC COMPOSITE---\x22),o.step\x3d-1),kt(o),n.length-\x3d2)}else o\x3dnew Jt(\x22glyf\x22,e.instructions),M$jscomp$0.DEBUG\x26\x26(console.log(\x22---EXEC GLYPH---\x22),o.step\x3d-1),Dt(e,o,i,i),n\x3do.gZone;return n};var Dt\x3dfunction(e,t,r,n){for(var o,i,a,s\x3de.points||[],l\x3ds.length,u\x3dt.gZone\x3dt.z0\x3dt.z1\x3dt.z2\x3d[],c\x3dt.contours\x3d[],d\x3d0;d\x3cl;d++)o\x3d\ns[d],u[d]\x3dnew Zt(o.x*r,o.y*n,o.lastPointOfContour,o.onCurve);for(n\x3d0;n\x3cl;n++)o\x3du[n],i||(i\x3do,c.push(n)),o.lastPointOfContour?((o.nextPointOnContour\x3di).prevPointOnContour\x3do,i\x3dvoid 0):(a\x3du[n+1],(o.nextPointOnContour\x3da).prevPointOnContour\x3do);if(!t.inhibitGridFit){if(M$jscomp$0.DEBUG)for(console.log(\x22PROCESSING GLYPH\x22,t.stack),o\x3d0;o\x3cl;o++)console.log(o,u[o].x,u[o].y);if(u.push(new Zt(0,0),new Zt(Math.round(e.advanceWidth*r),0)),kt(t),u.length-\x3d2,M$jscomp$0.DEBUG)for(console.log(\x22FINISHED GLYPH\x22,t.stack),\ne\x3d0;e\x3cl;e++)console.log(e,u[e].x,u[e].y)}};var kt\x3dfunction(e){var t\x3de.prog;if(t){var r,n\x3dt.length;for(e.ip\x3d0;e.ip\x3cn;e.ip++){if(M$jscomp$0.DEBUG\x26\x26e.step++,!(r\x3dAt[t[e.ip]]))throw Error(\x22unknown instruction: 0x\x22+Number(t[e.ip]).toString(16));r(e)}}};var At\x3d[tr.bind(void 0,qt),tr.bind(void 0,Wt),rr.bind(void 0,qt),rr.bind(void 0,Wt),nr.bind(void 0,qt),nr.bind(void 0,Wt),or.bind(void 0,0),or.bind(void 0,1),ir.bind(void 0,0),ir.bind(void 0,1),function(e){var t\x3de.stack,r\x3dt.pop();t\x3dt.pop();M$jscomp$0.DEBUG\x26\x26\nconsole.log(e.step,\x22SPVFS[]\x22,r,t);e.pv\x3de.dpv\x3dYt(t,r)},function(e){var t\x3de.stack,r\x3dt.pop();t\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SPVFS[]\x22,r,t);e.fv\x3dYt(t,r)},function(e){var t\x3de.stack,r\x3de.pv;M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22GPV[]\x22);t.push(16384*r.x);t.push(16384*r.y)},function(e){var t\x3de.stack,r\x3de.fv;M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22GFV[]\x22);t.push(16384*r.x);t.push(16384*r.y)},function(e){e.fv\x3de.pv;M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SFVTPV[]\x22)},function(e){var t\x3de.stack,r\x3dt.pop(),\nn\x3dt.pop(),o\x3dt.pop(),i\x3dt.pop(),a\x3dt.pop(),s\x3de.z0;t\x3de.z1;var u\x3ds[r],c\x3ds[n];s\x3dt[o];t\x3dt[i];e\x3de.z2[a];M$jscomp$0.DEBUG\x26\x26console.log(\x22ISECT[], \x22,r,n,o,i,a);r\x3du.x;n\x3du.y;o\x3dc.x;c\x3dc.y;i\x3ds.x;s\x3ds.y;u\x3dt.x;t\x3dt.y;a\x3d(r-o)*(s-t)-(n-c)*(i-u);var j\x3dr*c-n*o,S\x3di*t-s*u;e.x\x3d(j*(i-u)-S*(r-o))/a;e.y\x3d(j*(s-t)-S*(n-c))/a},function(e){e.rp0\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SRP0[]\x22,e.rp0)},function(e){e.rp1\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SRP1[]\x22,e.rp1)},function(e){e.rp2\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26\nconsole.log(e.step,\x22SRP2[]\x22,e.rp2)},function(e){var t\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SZP0[]\x22,t),e.zp0\x3dt){case 0:e.tZone||$t(e);e.z0\x3de.tZone;break;case 1:e.z0\x3de.gZone;break;default:throw Error(\x22Invalid zone pointer\x22);}},function(e){var t\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SZP1[]\x22,t),e.zp1\x3dt){case 0:e.tZone||$t(e);e.z1\x3de.tZone;break;case 1:e.z1\x3de.gZone;break;default:throw Error(\x22Invalid zone pointer\x22);}},function(e){var t\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26\nconsole.log(e.step,\x22SZP2[]\x22,t),e.zp2\x3dt){case 0:e.tZone||$t(e);e.z2\x3de.tZone;break;case 1:e.z2\x3de.gZone;break;default:throw Error(\x22Invalid zone pointer\x22);}},function(e){var t\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SZPS[]\x22,t),e.zp0\x3de.zp1\x3de.zp2\x3dt,t){case 0:e.tZone||$t(e);e.z0\x3de.z1\x3de.z2\x3de.tZone;break;case 1:e.z0\x3de.z1\x3de.z2\x3de.gZone;break;default:throw Error(\x22Invalid zone pointer\x22);}},function(e){e.loop\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SLOOP[]\x22,e.loop)},function(e){M$jscomp$0.DEBUG\x26\x26\nconsole.log(e.step,\x22RTG[]\x22);e.round\x3dFt},function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RTHG[]\x22);e.round\x3dGt},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SMD[]\x22,t);e.minDis\x3dt/64},function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22ELSE[]\x22);er(e,!1)},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22JMPR[]\x22,t);e.ip+\x3dt-1},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SCVTCI[]\x22,t);e.cvCutIn\x3dt/64},void 0,void 0,function(e){var t\x3de.stack;\nM$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22DUP[]\x22);t.push(t[t.length-1])},ar,function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22CLEAR[]\x22);e.stack.length\x3d0},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SWAP[]\x22);t.push(r);t.push(n)},function(e){var t\x3de.stack;M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22DEPTH[]\x22);t.push(t.length)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22CINDEX[]\x22,r);t.push(t[t.length-r])},function(e){var t\x3de.stack,r\x3dt.pop();\nM$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22MINDEX[]\x22,r);t.push(t.splice(t.length-r,1)[0])},void 0,void 0,void 0,function(e){var t\x3de.stack,r\x3dt.pop();t\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22LOOPCALL[]\x22,r,t);var o\x3de.ip,i\x3de.prog;e.prog\x3de.funcs[r];for(r\x3d0;r\x3ct;r++)kt(e),M$jscomp$0.DEBUG\x26\x26console.log(++e.step,r+1\x3ct?\x22next loopcall\x22:\x22done loopcall\x22,r);e.ip\x3do;e.prog\x3di},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22CALL[]\x22,t);var r\x3de.ip,n\x3de.prog;e.prog\x3de.funcs[t];kt(e);e.ip\x3dr;e.prog\x3d\nn;M$jscomp$0.DEBUG\x26\x26console.log(++e.step,\x22returning from\x22,t)},function(e){if(\x22fpgm\x22!\x3d\x3de.env)throw Error(\x22FDEF not allowed here\x22);var r\x3de.prog,n\x3de.ip,o\x3de.stack.pop(),i\x3dn;for(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22FDEF[]\x22,o);45!\x3d\x3dr[++n];);e.ip\x3dn;e.funcs[o]\x3dr.slice(i+1,n)},void 0,sr.bind(void 0,0),sr.bind(void 0,1),lr.bind(void 0,qt),lr.bind(void 0,Wt),ur.bind(void 0,0),ur.bind(void 0,1),cr.bind(void 0,0),cr.bind(void 0,1),dr.bind(void 0,0),dr.bind(void 0,1),function(e){for(var t\x3de.stack,r\x3de.loop,n\x3de.fv,\no\x3dt.pop()/64,i\x3de.z2;r--;){var a\x3dt.pop(),s\x3di[a];M$jscomp$0.DEBUG\x26\x26console.log(e.step,(1\x3ce.loop?\x22loop \x22+(e.loop-r)+\x22: \x22:\x22\x22)+\x22SHPIX[]\x22,a,o);n.setRelative(s,s,o);n.touch(s)}e.loop\x3d1},function(e){for(var t\x3de.stack,r\x3de.rp1,n\x3de.rp2,o\x3de.loop,i\x3de.z0[r],a\x3de.z1[n],s\x3de.fv,l\x3de.dpv,u\x3de.z2;o--;){var c\x3dt.pop(),d\x3du[c];M$jscomp$0.DEBUG\x26\x26console.log(e.step,(1\x3ce.loop?\x22loop \x22+(e.loop-o)+\x22: \x22:\x22\x22)+\x22IP[]\x22,c,r,\x22\\x3c-\\x3e\x22,n);s.interpolate(d,i,a,l);s.touch(d)}e.loop\x3d1},fr.bind(void 0,0),fr.bind(void 0,1),function(e){for(var t\x3d\ne.stack,n\x3de.z0[e.rp0],o\x3de.loop,i\x3de.fv,a\x3de.pv,s\x3de.z1;o--;){var l\x3dt.pop(),u\x3ds[l];M$jscomp$0.DEBUG\x26\x26console.log(e.step,(1\x3ce.loop?\x22loop \x22+(e.loop-o)+\x22: \x22:\x22\x22)+\x22ALIGNRP[]\x22,l);i.setRelative(u,n,0,a);i.touch(u)}e.loop\x3d1},function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RTDG[]\x22);e.round\x3dBt},hr.bind(void 0,0),hr.bind(void 0,1),function(e){var t\x3de.prog,r\x3de.ip,n\x3de.stack,o\x3dt[++r];M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22NPUSHB[]\x22,o);for(var i\x3d0;i\x3co;i++)n.push(t[++r]);e.ip\x3dr},function(e){var t\x3de.ip,r\x3de.prog,n\x3de.stack,\no\x3dr[++t];M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22NPUSHW[]\x22,o);for(var i\x3d0;i\x3co;i++){var a\x3dr[++t]\x3c\x3c8|r[++t];32768\x26a\x26\x26(a\x3d-(1+(65535^a)));n.push(a)}e.ip\x3dt},function(e){var t\x3de.stack,r\x3de.store;r\x3dr||(e.store\x3d[]);var n\x3dt.pop();t\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22WS\x22,n,t);r[t]\x3dn},function(e){var t\x3de.stack,r\x3de.store,n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RS\x22,n);t.push(r\x26\x26r[n]||0)},function(e){var t\x3de.stack,r\x3dt.pop();t\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22WCVTP\x22,r,t);e.cvt[t]\x3dr/\n64},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RCVT\x22,r);t.push(64*e.cvt[r])},pr.bind(void 0,0),pr.bind(void 0,1),void 0,yr.bind(void 0,0),yr.bind(void 0,1),function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22MPPEM[]\x22);e.stack.push(e.ppem)},void 0,function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22FLIPON[]\x22);e.autoFlip\x3d!0},void 0,void 0,function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22LT[]\x22,r,n);t.push(n\x3cr?1:0)},function(e){var t\x3de.stack,\nr\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22LTEQ[]\x22,r,n);t.push(n\x3c\x3dr?1:0)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22GT[]\x22,r,n);t.push(r\x3cn?1:0)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22GTEQ[]\x22,r,n);t.push(r\x3c\x3dn?1:0)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22EQ[]\x22,r,n);t.push(r\x3d\x3d\x3dn?1:0)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\n\x22NEQ[]\x22,r,n);t.push(r!\x3d\x3dn?1:0)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22ODD[]\x22,r);t.push(Math.trunc(r)%2?1:0)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22EVEN[]\x22,r);t.push(Math.trunc(r)%2?0:1)},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22IF[]\x22,t);t||(er(e,!0),M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22EIF[]\x22))},function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22EIF[]\x22)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();\nM$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22AND[]\x22,r,n);t.push(r\x26\x26n?1:0)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22OR[]\x22,r,n);t.push(r||n?1:0)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22NOT[]\x22,r);t.push(r?0:1)},mr.bind(void 0,1),function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SDB[]\x22,t);e.deltaBase\x3dt},function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SDS[]\x22,t);e.deltaShift\x3dMath.pow(.5,t)},\nfunction(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22ADD[]\x22,r,n);t.push(n+r)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SUB[]\x22,r,n);t.push(n-r)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22DIV[]\x22,r,n);t.push(64*n/r)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22MUL[]\x22,r,n);t.push(n*r/64)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\n\x22ABS[]\x22,r);t.push(Math.abs(r))},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22NEG[]\x22,r);t.push(-r)},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22FLOOR[]\x22,r);t.push(64*Math.floor(r/64))},function(e){var t\x3de.stack,r\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22CEILING[]\x22,r);t.push(64*Math.ceil(r/64))},gr.bind(void 0,0),gr.bind(void 0,1),gr.bind(void 0,2),gr.bind(void 0,3),void 0,void 0,void 0,void 0,function(e){var t\x3de.stack,r\x3dt.pop();t\x3dt.pop();\nM$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22WCVTF[]\x22,r,t);e.cvt[t]\x3dr*e.ppem/e.font.unitsPerEm},mr.bind(void 0,2),mr.bind(void 0,3),vr.bind(void 0,1),vr.bind(void 0,2),vr.bind(void 0,3),function(e){var r\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SROUND[]\x22,r),e.round\x3dHt,192\x26r){case 0:var t\x3d.5;break;case 64:t\x3d1;break;case 128:t\x3d2;break;default:throw Error(\x22invalid SROUND value\x22);}switch(e.srPeriod\x3dt,48\x26r){case 0:e.srPhase\x3d0;break;case 16:e.srPhase\x3d.25*t;break;case 32:e.srPhase\x3d.5*t;break;\ncase 48:e.srPhase\x3d.75*t;break;default:throw Error(\x22invalid SROUND value\x22);}r\x26\x3d15;e.srThreshold\x3d0\x3d\x3d\x3dr?0:(r/8-.5)*t},function(e){var r\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22S45ROUND[]\x22,r),e.round\x3dHt,192\x26r){case 0:var t\x3dMath.sqrt(2)/2;break;case 64:t\x3dMath.sqrt(2);break;case 128:t\x3d2*Math.sqrt(2);break;default:throw Error(\x22invalid S45ROUND value\x22);}switch(e.srPeriod\x3dt,48\x26r){case 0:e.srPhase\x3d0;break;case 16:e.srPhase\x3d.25*t;break;case 32:e.srPhase\x3d.5*t;break;case 48:e.srPhase\x3d.75*t;\nbreak;default:throw Error(\x22invalid S45ROUND value\x22);}r\x26\x3d15;e.srThreshold\x3d0\x3d\x3d\x3dr?0:(r/8-.5)*t},void 0,void 0,function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22ROFF[]\x22);e.round\x3dNt},void 0,function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RUTG[]\x22);e.round\x3dVt},function(e){M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22RDTG[]\x22);e.round\x3dzt},ar,ar,void 0,void 0,void 0,void 0,void 0,function(e){var t\x3de.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SCANCTRL[]\x22,t)},br.bind(void 0,0),br.bind(void 0,1),function(e){var t\x3d\ne.stack,r\x3dt.pop(),n\x3d0;M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22GETINFO[]\x22,r);1\x26r\x26\x26(n\x3d35);32\x26r\x26\x26(n|\x3d4096);t.push(n)},void 0,function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop(),o\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22ROLL[]\x22);t.push(n);t.push(r);t.push(o)},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22MAX[]\x22,r,n);t.push(Math.max(n,r))},function(e){var t\x3de.stack,r\x3dt.pop(),n\x3dt.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22MIN[]\x22,r,n);t.push(Math.min(n,r))},function(e){var t\x3d\ne.stack.pop();M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22SCANTYPE[]\x22,t)},function(e){var t\x3de.stack.pop(),r\x3de.stack.pop();switch(M$jscomp$0.DEBUG\x26\x26console.log(e.step,\x22INSTCTRL[]\x22,t,r),t){case 1:return void(e.inhibitGridFit\x3d!!r);case 2:return void(e.ignoreCvt\x3d!!r);default:throw Error(\x22invalid INSTCTRL[] selector\x22);}},void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,\nvoid 0,void 0,void 0,void 0,void 0,void 0,_r.bind(void 0,1),_r.bind(void 0,2),_r.bind(void 0,3),_r.bind(void 0,4),_r.bind(void 0,5),_r.bind(void 0,6),_r.bind(void 0,7),_r.bind(void 0,8),xr.bind(void 0,1),xr.bind(void 0,2),xr.bind(void 0,3),xr.bind(void 0,4),xr.bind(void 0,5),xr.bind(void 0,6),xr.bind(void 0,7),xr.bind(void 0,8),wr.bind(void 0,0,0,0,0,0),wr.bind(void 0,0,0,0,0,1),wr.bind(void 0,0,0,0,0,2),wr.bind(void 0,0,0,0,0,3),wr.bind(void 0,0,0,0,1,0),wr.bind(void 0,0,0,0,1,1),wr.bind(void 0,\n0,0,0,1,2),wr.bind(void 0,0,0,0,1,3),wr.bind(void 0,0,0,1,0,0),wr.bind(void 0,0,0,1,0,1),wr.bind(void 0,0,0,1,0,2),wr.bind(void 0,0,0,1,0,3),wr.bind(void 0,0,0,1,1,0),wr.bind(void 0,0,0,1,1,1),wr.bind(void 0,0,0,1,1,2),wr.bind(void 0,0,0,1,1,3),wr.bind(void 0,0,1,0,0,0),wr.bind(void 0,0,1,0,0,1),wr.bind(void 0,0,1,0,0,2),wr.bind(void 0,0,1,0,0,3),wr.bind(void 0,0,1,0,1,0),wr.bind(void 0,0,1,0,1,1),wr.bind(void 0,0,1,0,1,2),wr.bind(void 0,0,1,0,1,3),wr.bind(void 0,0,1,1,0,0),wr.bind(void 0,0,1,1,0,\n1),wr.bind(void 0,0,1,1,0,2),wr.bind(void 0,0,1,1,0,3),wr.bind(void 0,0,1,1,1,0),wr.bind(void 0,0,1,1,1,1),wr.bind(void 0,0,1,1,1,2),wr.bind(void 0,0,1,1,1,3),wr.bind(void 0,1,0,0,0,0),wr.bind(void 0,1,0,0,0,1),wr.bind(void 0,1,0,0,0,2),wr.bind(void 0,1,0,0,0,3),wr.bind(void 0,1,0,0,1,0),wr.bind(void 0,1,0,0,1,1),wr.bind(void 0,1,0,0,1,2),wr.bind(void 0,1,0,0,1,3),wr.bind(void 0,1,0,1,0,0),wr.bind(void 0,1,0,1,0,1),wr.bind(void 0,1,0,1,0,2),wr.bind(void 0,1,0,1,0,3),wr.bind(void 0,1,0,1,1,0),wr.bind(void 0,\n1,0,1,1,1),wr.bind(void 0,1,0,1,1,2),wr.bind(void 0,1,0,1,1,3),wr.bind(void 0,1,1,0,0,0),wr.bind(void 0,1,1,0,0,1),wr.bind(void 0,1,1,0,0,2),wr.bind(void 0,1,1,0,0,3),wr.bind(void 0,1,1,0,1,0),wr.bind(void 0,1,1,0,1,1),wr.bind(void 0,1,1,0,1,2),wr.bind(void 0,1,1,0,1,3),wr.bind(void 0,1,1,1,0,0),wr.bind(void 0,1,1,1,0,1),wr.bind(void 0,1,1,1,0,2),wr.bind(void 0,1,1,1,0,3),wr.bind(void 0,1,1,1,1,0),wr.bind(void 0,1,1,1,1,1),wr.bind(void 0,1,1,1,1,2),wr.bind(void 0,1,1,1,1,3)];var jr\x3dArray.from||function(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?|[^\\uD800-\\uDFFF]|./g)||\n[]};Sr.prototype.hasChar\x3dfunction(e){return null!\x3d\x3dthis.encoding.charToGlyphIndex(e)};Sr.prototype.charToGlyphIndex\x3dfunction(e){return this.encoding.charToGlyphIndex(e)};Sr.prototype.charToGlyph\x3dfunction(e){e\x3dthis.charToGlyphIndex(e);return this.glyphs.get(e)||this.glyphs.get(0)};Sr.prototype.stringToGlyphs\x3dfunction(e,t){t\x3dt||this.defaultRenderOptions;var r\x3djr(e);e\x3d[];for(var o\x3d0;o\x3cr.length;o+\x3d1)e.push(this.charToGlyphIndex(r[o]));r\x3de.length;if(t.features){var s\x3dt.script||this.substitution.getDefaultScriptName();\no\x3d[];t.features.liga\x26\x26(o\x3do.concat(this.substitution.getFeature(\x22liga\x22,s,t.language)));t.features.rlig\x26\x26(o\x3do.concat(this.substitution.getFeature(\x22rlig\x22,s,t.language)));for(t\x3d0;t\x3cr;t+\x3d1)for(s\x3d0;s\x3co.length;s++){for(var d\x3do[s],f\x3dd.sub,h\x3df.length,p\x3d0;p\x3ch\x26\x26f[p]\x3d\x3d\x3de[t+p];)p++;p\x3d\x3d\x3dh\x26\x26(e.splice(t,h,d.by),r\x3dr-h+1)}}o\x3dArray(r);t\x3dthis.glyphs.get(0);for(s\x3d0;s\x3cr;s+\x3d1)o[s]\x3dthis.glyphs.get(e[s])||t;return o};Sr.prototype.nameToGlyphIndex\x3dfunction(e){return this.glyphNames.nameToGlyphIndex(e)};Sr.prototype.nameToGlyph\x3d\nfunction(e){e\x3dthis.nameToGlyphIndex(e);return this.glyphs.get(e)||this.glyphs.get(0)};Sr.prototype.glyphIndexToName\x3dfunction(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):\x22\x22};Sr.prototype.getKerningValue\x3dfunction(e,t){e\x3de.index||e;t\x3dt.index||t;var r\x3dthis.position.defaultKerningTables;return r?this.position.getKerningValue(r,e,t):this.kerningPairs[e+\x22,\x22+t]||0};Sr.prototype.defaultRenderOptions\x3d{kerning:!0,features:{liga:!0,rlig:!0}};Sr.prototype.forEachGlyph\x3dfunction(e,\nt,r,n,o,i){t\x3dvoid 0!\x3d\x3dt?t:0;r\x3dvoid 0!\x3d\x3dr?r:0;n\x3dvoid 0!\x3d\x3dn?n:72;o\x3do||this.defaultRenderOptions;var s\x3d1/this.unitsPerEm*n;e\x3dthis.stringToGlyphs(e,o);if(o.kerning){var a\x3do.script||this.position.getDefaultScriptName();a\x3dthis.position.getKerningTables(a,o.language)}for(var c\x3d0;c\x3ce.length;c+\x3d1){var d\x3de[c];if(i.call(this,d,t,r,n,o),d.advanceWidth\x26\x26(t+\x3dd.advanceWidth*s),o.kerning\x26\x26c\x3ce.length-1)t+\x3d(a?this.position.getKerningValue(a,d.index,e[c+1].index):this.getKerningValue(d,e[c+1]))*s;o.letterSpacing?t+\x3d\no.letterSpacing*n:o.tracking\x26\x26(t+\x3do.tracking/1E3*n)}return t};Sr.prototype.getPath\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i){var a\x3dnew D;return this.forEachGlyph(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i,function(e,t,r,n){e\x3de.getPath(t,r,n,i,this);a.extend(e)}),a};Sr.prototype.getPaths\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i){var a\x3d[];return this.forEachGlyph(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i,function(e,t,r,n){e\x3de.getPath(t,r,n,i,this);a.push(e)}),a};Sr.prototype.getAdvanceWidth\x3d\nfunction(e,t,r){return this.forEachGlyph(e,0,0,t,r,function(){})};Sr.prototype.draw\x3dfunction(e,t,r,n,o,i){this.getPath(t,r,n,o,i).draw(e)};Sr.prototype.drawPoints\x3dfunction(o,e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i){this.forEachGlyph(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i,function(e,t,r,n){e.drawPoints(o,t,r,n)})};Sr.prototype.drawMetrics\x3dfunction(o,e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i){this.forEachGlyph(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,i,function(e,t,r,n){e.drawMetrics(o,\nt,r,n)})};Sr.prototype.getEnglishName\x3dfunction(e){if(e\x3dthis.names[e])return e.en};Sr.prototype.validate\x3dfunction(){function e$jscomp$0(e){(e\x3dr.getEnglishName(e))\x26\x26e.trim().length}var r\x3dthis;e$jscomp$0(\x22fontFamily\x22);e$jscomp$0(\x22weightName\x22);e$jscomp$0(\x22manufacturer\x22);e$jscomp$0(\x22copyright\x22);e$jscomp$0(\x22version\x22);this.unitsPerEm};Sr.prototype.toTables\x3dfunction(){return mt.fontToTable(this)};Sr.prototype.toBuffer\x3dfunction(){return console.warn(\x22Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\x22),\nthis.toArrayBuffer()};Sr.prototype.toArrayBuffer\x3dfunction(){for(var e\x3dthis.toTables().encode(),t\x3dnew ArrayBuffer(e.length),r\x3dnew Uint8Array(t),n\x3d0;n\x3ce.length;n++)r[n]\x3de[n];return t};Sr.prototype.download\x3dfunction(t$jscomp$0){var e$jscomp$1\x3dthis.getEnglishName(\x22fontFamily\x22),r\x3dthis.getEnglishName(\x22fontSubfamily\x22);t$jscomp$0\x3dt$jscomp$0||e$jscomp$1.replace(/\\s/g,\x22\x22)+\x22-\x22+r+\x22.otf\x22;var o\x3dthis.toArrayBuffer();\x22undefined\x22!\x3dtypeof window?(window.requestFileSystem\x3dwindow.requestFileSystem||window.webkitRequestFileSystem,\nwindow.requestFileSystem(window.TEMPORARY,o.byteLength,function(e$jscomp$0){e$jscomp$0.root.getFile(t$jscomp$0,{create:!0},function(n){n.createWriter(function(e){var t\x3dnew DataView(o);t\x3dnew Blob([t],{type:\x22font/opentype\x22});e.write(t);e.addEventListener(\x22writeend\x22,function(){location.href\x3dn.toURL()},!1)})})},function(e){throw Error(e.name+\x22: \x22+e.message);})):(e$jscomp$1\x3dBr(\x22fs\x22),r\x3dfunction(e){var t\x3dnew Fr(e.byteLength);e\x3dnew Uint8Array(e);for(var n\x3d0;n\x3ct.length;++n)t[n]\x3de[n];return t}(o),e$jscomp$1.writeFileSync(t$jscomp$0,\nr))};Sr.prototype.fsSelectionValues\x3d{ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512};Sr.prototype.usWidthClasses\x3d{ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9};Sr.prototype.usWeightClasses\x3d{THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var Or\x3d{make:function(e,t){var r,n,o,i,a\x3dnew J.Table(\x22fvar\x22,\n[{name:\x22version\x22,type:\x22ULONG\x22,value:65536},{name:\x22offsetToData\x22,type:\x22USHORT\x22,value:0},{name:\x22countSizePairs\x22,type:\x22USHORT\x22,value:2},{name:\x22axisCount\x22,type:\x22USHORT\x22,value:e.axes.length},{name:\x22axisSize\x22,type:\x22USHORT\x22,value:20},{name:\x22instanceCount\x22,type:\x22USHORT\x22,value:e.instances.length},{name:\x22instanceSize\x22,type:\x22USHORT\x22,value:4+4*e.axes.length}]);a.offsetToData\x3da.sizeOf();for(var s\x3d0;s\x3ce.axes.length;s++)a.fields\x3da.fields.concat((r\x3ds,n\x3de.axes[s],o\x3dt,i\x3dMr(n.name,o),[{name:\x22tag_\x22+r,type:\x22TAG\x22,value:n.tag},\n{name:\x22minValue_\x22+r,type:\x22FIXED\x22,value:n.minValue\x3c\x3c16},{name:\x22defaultValue_\x22+r,type:\x22FIXED\x22,value:n.defaultValue\x3c\x3c16},{name:\x22maxValue_\x22+r,type:\x22FIXED\x22,value:n.maxValue\x3c\x3c16},{name:\x22flags_\x22+r,type:\x22USHORT\x22,value:0},{name:\x22nameID_\x22+r,type:\x22USHORT\x22,value:i}]));for(r\x3d0;r\x3ce.instances.length;r++){n\x3da.fields;o\x3dn.concat;i\x3dr;s\x3de.instances[r];for(var r$jscomp$0\x3de.axes,o$jscomp$0\x3d[{name:\x22nameID_\x22+i,type:\x22USHORT\x22,value:Mr(s.name,t)},{name:\x22flags_\x22+i,type:\x22USHORT\x22,value:0}],i$jscomp$0\x3d0;i$jscomp$0\x3cr$jscomp$0.length;++i$jscomp$0){var a$jscomp$0\x3d\nr$jscomp$0[i$jscomp$0].tag;o$jscomp$0.push({name:\x22axis_\x22+i+\x22 \x22+a$jscomp$0,type:\x22FIXED\x22,value:s.coordinates[a$jscomp$0]\x3c\x3c16})}a.fields\x3do.call(n,o$jscomp$0)}return a},parse:function(e,t,r){var n\x3dnew ae.Parser(e,t),o\x3dn.parseULong();L$jscomp$0.argument(65536\x3d\x3d\x3do,\x22Unsupported fvar table version.\x22);var i\x3dn.parseOffset16();n.skip(\x22uShort\x22,1);var a,s,l,u,c,d\x3dn.parseUShort(),f\x3dn.parseUShort();o\x3dn.parseUShort();n\x3dn.parseUShort();for(var y\x3d[],m\x3d0;m\x3cd;m++)y.push((a\x3de,s\x3dt+i+m*f,l\x3dr,c\x3du\x3dvoid 0,u\x3d{},c\x3dnew ae.Parser(a,\ns),u.tag\x3dc.parseTag(),u.minValue\x3dc.parseFixed(),u.defaultValue\x3dc.parseFixed(),u.maxValue\x3dc.parseFixed(),c.skip(\x22uShort\x22,1),u.name\x3dl[c.parseUShort()]||{},u));a\x3d[];t\x3dt+i+d*f;for(i\x3d0;i\x3co;i++){s\x3da;l\x3ds.push;u\x3dy;f\x3dr;c\x3d{};d\x3dnew ae.Parser(e,t+i*n);c.name\x3df[d.parseUShort()]||{};d.skip(\x22uShort\x22,1);c.coordinates\x3d{};for(f\x3d0;f\x3cu.length;++f)c.coordinates[u[f].tag]\x3dd.parseFixed();l.call(s,c)}return{axes:y,instances:a}}},Cr\x3dArray(10);Cr[1]\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort();return 1\x3d\x3d\x3d\nt?{posFormat:1,coverage:this.parsePointer(oe.coverage),value:this.parseValueRecord()}:2\x3d\x3d\x3dt?{posFormat:2,coverage:this.parsePointer(oe.coverage),values:this.parseValueRecordList()}:void L$jscomp$0.assert(!1,\x220x\x22+e.toString(16)+\x22: GPOS lookup type 1 format must be 1 or 2.\x22)};Cr[2]\x3dfunction(){var e\x3dthis.offset+this.relativeOffset,t\x3dthis.parseUShort();L$jscomp$0.assert(1\x3d\x3d\x3dt||2\x3d\x3d\x3dt,\x220x\x22+e.toString(16)+\x22: GPOS lookup type 2 format must be 1 or 2.\x22);e\x3dthis.parsePointer(oe.coverage);var n\x3dthis.parseUShort(),\no\x3dthis.parseUShort();if(1\x3d\x3d\x3dt)return{posFormat:t,coverage:e,valueFormat1:n,valueFormat2:o,pairSets:this.parseList(oe.pointer(oe.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(o)}})))};if(2\x3d\x3d\x3dt){var i\x3dthis.parsePointer(oe.classDef),a\x3dthis.parsePointer(oe.classDef),s\x3dthis.parseUShort(),l\x3dthis.parseUShort();return{posFormat:t,coverage:e,valueFormat1:n,valueFormat2:o,classDef1:i,classDef2:a,class1Count:s,class2Count:l,classRecords:this.parseList(s,\noe.list(l,function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(o)}}))}}};Cr[3]\x3dfunction(){return{error:\x22GPOS Lookup 3 not supported\x22}};Cr[4]\x3dfunction(){return{error:\x22GPOS Lookup 4 not supported\x22}};Cr[5]\x3dfunction(){return{error:\x22GPOS Lookup 5 not supported\x22}};Cr[6]\x3dfunction(){return{error:\x22GPOS Lookup 6 not supported\x22}};Cr[7]\x3dfunction(){return{error:\x22GPOS Lookup 7 not supported\x22}};Cr[8]\x3dfunction(){return{error:\x22GPOS Lookup 8 not supported\x22}};Cr[9]\x3dfunction(){return{error:\x22GPOS Lookup 9 not supported\x22}};\nvar Lr\x3dArray(10),Pr\x3d{parse:function(e,t){e\x3dnew oe(e,t||0);t\x3de.parseVersion(1);return L$jscomp$0.argument(1\x3d\x3d\x3dt||1.1\x3d\x3d\x3dt,\x22Unsupported GPOS table version \x22+t),1\x3d\x3d\x3dt?{version:t,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Cr)}:{version:t,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(Cr),variations:e.parseFeatureVariationsList()}},make:function(e){return new J.Table(\x22GPOS\x22,[{name:\x22version\x22,type:\x22ULONG\x22,value:65536},{name:\x22scripts\x22,\ntype:\x22TABLE\x22,value:new J.ScriptList(e.scripts)},{name:\x22features\x22,type:\x22TABLE\x22,value:new J.FeatureList(e.features)},{name:\x22lookups\x22,type:\x22TABLE\x22,value:new J.LookupList(e.lookups,Lr)}])}},Ar\x3d{parse:function(e$jscomp$0,t$jscomp$0){e$jscomp$0\x3dnew ae.Parser(e$jscomp$0,t$jscomp$0);t$jscomp$0\x3de$jscomp$0.parseUShort();if(0\x3d\x3d\x3dt$jscomp$0)return function(e){var t\x3d{};e.skip(\x22uShort\x22);var r\x3de.parseUShort();L$jscomp$0.argument(0\x3d\x3d\x3dr,\x22Unsupported kern sub-table version.\x22);e.skip(\x22uShort\x22,2);r\x3de.parseUShort();e.skip(\x22uShort\x22,\n3);for(var o\x3d0;o\x3cr;o+\x3d1){var i\x3de.parseUShort(),a\x3de.parseUShort(),s\x3de.parseShort();t[i+\x22,\x22+a]\x3ds}return t}(e$jscomp$0);if(1\x3d\x3d\x3dt$jscomp$0)return function(e){var t\x3d{};e.skip(\x22uShort\x22);1\x3ce.parseULong()\x26\x26console.warn(\x22Only the first kern subtable is supported.\x22);e.skip(\x22uLong\x22);var r\x3d255\x26e.parseUShort();if(e.skip(\x22uShort\x22),0\x3d\x3dr){r\x3de.parseUShort();e.skip(\x22uShort\x22,3);for(var o\x3d0;o\x3cr;o+\x3d1){var i\x3de.parseUShort(),a\x3de.parseUShort(),s\x3de.parseShort();t[i+\x22,\x22+a]\x3ds}}return t}(e$jscomp$0);throw Error(\x22Unsupported kern table version (\x22+\nt$jscomp$0+\x22).\x22);}},kr\x3d{parse:function(e,t,r,n){e\x3dnew ae.Parser(e,t);t\x3dn?e.parseUShort:e.parseULong;for(var a\x3d[],s\x3d0;s\x3cr+1;s+\x3d1){var l\x3dt.call(e);n\x26\x26(l*\x3d2);a.push(l)}return a}};M$jscomp$0.Font\x3dSr;M$jscomp$0.Glyph\x3dge;M$jscomp$0.Path\x3dD;M$jscomp$0.BoundingBox\x3dT$jscomp$0;M$jscomp$0._parse\x3dae;M$jscomp$0.parse\x3dNr;M$jscomp$0.load\x3dfunction(e$jscomp$1,n){(\x22undefined\x22\x3d\x3dtypeof window?Rr:Dr)(e$jscomp$1,function(e$jscomp$0,t){if(e$jscomp$0)return n(e$jscomp$0);try{var r\x3dNr(t)}catch(e){return n(e,null)}return n(null,\nr)})};M$jscomp$0.loadSync\x3dfunction(e){return Nr(Mt(Br(\x22fs\x22).readFileSync(e)))};Object.defineProperty(M$jscomp$0,\x22__esModule\x22,{value:!0})};\x22object\x22\x3d\x3dtypeof n$jscomp$3\x26\x26void 0!\x3d\x3dr$jscomp$4?t$jscomp$2(n$jscomp$3):t$jscomp$2(this.opentype\x3d{})}).call(this,Br(\x22buffer\x22).Buffer)},{buffer:4,fs:2}],240:[function(e$jscomp$1,t$jscomp$1,u){(function(o$jscomp$0){function i$jscomp$0(e,t){for(var r\x3d0,n\x3de.length-1;0\x3c\x3dn;n--){var o\x3de[n];\x22.\x22\x3d\x3d\x3do?e.splice(n,1):\x22..\x22\x3d\x3d\x3do?(e.splice(n,1),r++):r\x26\x26(e.splice(n,1),r--)}if(t)for(;r--;)e.unshift(\x22..\x22);\nreturn e}function a$jscomp$0(e,t){if(e.filter)return e.filter(t);for(var r\x3d[],n\x3d0;n\x3ce.length;n++)t(e[n],n,e)\x26\x26r.push(e[n]);return r}u.resolve\x3dfunction(){for(var e$jscomp$0\x3d\x22\x22,t\x3d!1,r\x3darguments.length-1;-1\x3c\x3dr\x26\x26!t;r--){var n\x3d0\x3c\x3dr?arguments[r]:o$jscomp$0.cwd();if(\x22string\x22!\x3dtypeof n)throw new TypeError(\x22Arguments to path.resolve must be strings\x22);n\x26\x26(e$jscomp$0\x3dn+\x22/\x22+e$jscomp$0,t\x3d\x22/\x22\x3d\x3d\x3dn.charAt(0))}return(t?\x22/\x22:\x22\x22)+(e$jscomp$0\x3di$jscomp$0(a$jscomp$0(e$jscomp$0.split(\x22/\x22),function(e){return!!e}),!t).join(\x22/\x22))||\n\x22.\x22};u.normalize\x3dfunction(e$jscomp$0){var t\x3du.isAbsolute(e$jscomp$0),r\x3d\x22/\x22\x3d\x3d\x3dn$jscomp$0(e$jscomp$0,-1);return(e$jscomp$0\x3di$jscomp$0(a$jscomp$0(e$jscomp$0.split(\x22/\x22),function(e){return!!e}),!t).join(\x22/\x22))||t||(e$jscomp$0\x3d\x22.\x22),e$jscomp$0\x26\x26r\x26\x26(e$jscomp$0+\x3d\x22/\x22),(t?\x22/\x22:\x22\x22)+e$jscomp$0};u.isAbsolute\x3dfunction(e){return\x22/\x22\x3d\x3d\x3de.charAt(0)};u.join\x3dfunction(){var e$jscomp$0\x3dArray.prototype.slice.call(arguments,0);return u.normalize(a$jscomp$0(e$jscomp$0,function(e,t){if(\x22string\x22!\x3dtypeof e)throw new TypeError(\x22Arguments to path.join must be strings\x22);\nreturn e}).join(\x22/\x22))};u.relative\x3dfunction(e$jscomp$0,t$jscomp$0){function r$jscomp$0(e){for(var t\x3d0;t\x3ce.length\x26\x26\x22\x22\x3d\x3d\x3de[t];t++);for(var r\x3de.length-1;0\x3c\x3dr\x26\x26\x22\x22\x3d\x3d\x3de[r];r--);return r\x3ct?[]:e.slice(t,r-t+1)}e$jscomp$0\x3du.resolve(e$jscomp$0).substr(1);t$jscomp$0\x3du.resolve(t$jscomp$0).substr(1);e$jscomp$0\x3dr$jscomp$0(e$jscomp$0.split(\x22/\x22));t$jscomp$0\x3dr$jscomp$0(t$jscomp$0.split(\x22/\x22));for(var i\x3dMath.min(e$jscomp$0.length,t$jscomp$0.length),a\x3di,s\x3d0;s\x3ci;s++)if(e$jscomp$0[s]!\x3d\x3dt$jscomp$0[s]){a\x3ds;break}i\x3d[];for(s\x3d\na;s\x3ce$jscomp$0.length;s++)i.push(\x22..\x22);return(i\x3di.concat(t$jscomp$0.slice(a))).join(\x22/\x22)};u.sep\x3d\x22/\x22;u.delimiter\x3d\x22:\x22;u.dirname\x3dfunction(e){if(\x22string\x22!\x3dtypeof e\x26\x26(e+\x3d\x22\x22),0\x3d\x3d\x3de.length)return\x22.\x22;for(var r\x3d47\x3d\x3d\x3de.charCodeAt(0),n\x3d-1,o\x3d!0,i\x3de.length-1;1\x3c\x3di;--i)if(47\x3d\x3d\x3de.charCodeAt(i)){if(!o){n\x3di;break}}else o\x3d!1;return-1\x3d\x3d\x3dn?r?\x22/\x22:\x22.\x22:r\x26\x261\x3d\x3d\x3dn?\x22/\x22:e.slice(0,n)};u.basename\x3dfunction(e,t$jscomp$0){\x22string\x22!\x3dtypeof e\x26\x26(e+\x3d\x22\x22);var t,r\x3d0,n\x3d-1,o\x3d!0;for(t\x3de.length-1;0\x3c\x3dt;--t)if(47\x3d\x3d\x3de.charCodeAt(t)){if(!o){r\x3dt+\n1;break}}else-1\x3d\x3d\x3dn\x26\x26(o\x3d!1,n\x3dt+1);e\x3d-1\x3d\x3d\x3dn?\x22\x22:e.slice(r,n);return t$jscomp$0\x26\x26e.substr(-1*t$jscomp$0.length)\x3d\x3d\x3dt$jscomp$0\x26\x26(e\x3de.substr(0,e.length-t$jscomp$0.length)),e};u.extname\x3dfunction(e){\x22string\x22!\x3dtypeof e\x26\x26(e+\x3d\x22\x22);for(var t\x3d-1,r\x3d0,n\x3d-1,o\x3d!0,i\x3d0,a\x3de.length-1;0\x3c\x3da;--a){var s\x3de.charCodeAt(a);if(47\x3d\x3d\x3ds){if(o)continue;r\x3da+1;break}-1\x3d\x3d\x3dn\x26\x26(o\x3d!1,n\x3da+1);46\x3d\x3d\x3ds?-1\x3d\x3d\x3dt?t\x3da:1!\x3d\x3di\x26\x26(i\x3d1):-1!\x3d\x3dt\x26\x26(i\x3d-1)}return-1\x3d\x3d\x3dt||-1\x3d\x3d\x3dn||0\x3d\x3d\x3di||1\x3d\x3d\x3di\x26\x26t\x3d\x3d\x3dn-1\x26\x26t\x3d\x3d\x3dr+1?\x22\x22:e.slice(t,n)};var n$jscomp$0\x3d\x22b\x22\x3d\x3d\x3d\x22ab\x22.substr(-1)?\nfunction(e,t,r){return e.substr(t,r)}:function(e,t,r){return 0\x3et\x26\x26(t\x3de.length+t),e.substr(t,r)}}).call(this,e$jscomp$1(\x22_process\x22))},{_process:241}],241:[function(e$jscomp$2,t$jscomp$1,r$jscomp$0){function a(){throw Error(\x22setTimeout has not been defined\x22);}function s(){throw Error(\x22clearTimeout has not been defined\x22);}function l(t){if(n\x3d\x3d\x3dsetTimeout)return setTimeout(t,0);if((n\x3d\x3d\x3da||!n)\x26\x26setTimeout)return n\x3dsetTimeout,setTimeout(t,0);try{return n(t,0)}catch(e$jscomp$0){try{return n.call(null,t,0)}catch(e){return n.call(this,\nt,0)}}}function h(){d\x26\x26u\x26\x26(d\x3d!1,u.length?c\x3du.concat(c):f\x3d-1,c.length\x26\x26p())}function p(){if(!d){var e$jscomp$1\x3dl(h);d\x3d!0;for(var t$jscomp$0\x3dc.length;t$jscomp$0;){u\x3dc;for(c\x3d[];++f\x3ct$jscomp$0;)u\x26\x26u[f].run();f\x3d-1;t$jscomp$0\x3dc.length}u\x3dnull;d\x3d!1;(function(t){if(o\x3d\x3d\x3dclearTimeout)return clearTimeout(t);if((o\x3d\x3d\x3ds||!o)\x26\x26clearTimeout)return o\x3dclearTimeout,clearTimeout(t);try{o(t)}catch(e$jscomp$0){try{return o.call(null,t)}catch(e){return o.call(this,t)}}})(e$jscomp$1)}}function y(e,t){this.fun\x3de;this.array\x3d\nt}function m(){}e$jscomp$2\x3dt$jscomp$1.exports\x3d{};try{var n\x3d\x22function\x22\x3d\x3dtypeof setTimeout?setTimeout:a}catch(e){n\x3da}try{var o\x3d\x22function\x22\x3d\x3dtypeof clearTimeout?clearTimeout:s}catch(e){o\x3ds}!0;var u,c\x3d[],d\x3d!1,f\x3d-1;e$jscomp$2.nextTick\x3dfunction(e){var t\x3dArray(arguments.length-1);if(1\x3carguments.length)for(var r\x3d1;r\x3carguments.length;r++)t[r-1]\x3darguments[r];c.push(new y(e,t));1!\x3d\x3dc.length||d||l(p)};y.prototype.run\x3dfunction(){this.fun.apply(null,this.array)};e$jscomp$2.title\x3d\x22browser\x22;e$jscomp$2.browser\x3d!0;\ne$jscomp$2.env\x3d{};e$jscomp$2.argv\x3d[];e$jscomp$2.version\x3d\x22\x22;e$jscomp$2.versions\x3d{};e$jscomp$2.on\x3dm;e$jscomp$2.addListener\x3dm;e$jscomp$2.once\x3dm;e$jscomp$2.off\x3dm;e$jscomp$2.removeListener\x3dm;e$jscomp$2.removeAllListeners\x3dm;e$jscomp$2.emit\x3dm;e$jscomp$2.prependListener\x3dm;e$jscomp$2.prependOnceListener\x3dm;e$jscomp$2.listeners\x3dfunction(e){return[]};e$jscomp$2.binding\x3dfunction(e){throw Error(\x22process.binding is not supported\x22);};e$jscomp$2.cwd\x3dfunction(){return\x22/\x22};e$jscomp$2.chdir\x3dfunction(e){throw Error(\x22process.chdir is not supported\x22);\n};e$jscomp$2.umask\x3dfunction(){return 0}},{}],242:[function(e$jscomp$3,t$jscomp$3,r$jscomp$1){!function(e$jscomp$2){function d(e){if(\x22string\x22!\x3dtypeof e\x26\x26(e\x3dString(e)),/[^a-z0-9\\-#$%\x26\x27*+.\\^_`|~]/i.test(e))throw new TypeError(\x22Invalid character in header field name\x22);return e.toLowerCase()}function f(e){return\x22string\x22!\x3dtypeof e\x26\x26(e\x3dString(e)),e}function h(t){var e$jscomp$0\x3d{next:function(){var e\x3dt.shift();return{done:void 0\x3d\x3d\x3de,value:e}}};return r$jscomp$0\x26\x26(e$jscomp$0[Symbol.iterator]\x3dfunction(){return e$jscomp$0}),\ne$jscomp$0}function p(t$jscomp$0){this.map\x3d{};t$jscomp$0 instanceof p?t$jscomp$0.forEach(function(e,t){this.append(t,e)},this):Array.isArray(t$jscomp$0)?t$jscomp$0.forEach(function(e){this.append(e[0],e[1])},this):t$jscomp$0\x26\x26Object.getOwnPropertyNames(t$jscomp$0).forEach(function(e){this.append(e,t$jscomp$0[e])},this)}function y(e){if(e.bodyUsed)return Promise.reject(new TypeError(\x22Already read\x22));e.bodyUsed\x3d!0}function m(r){return new Promise(function(e,t){r.onload\x3dfunction(){e(r.result)};r.onerror\x3d\nfunction(){t(r.error)}})}function g(e){var t\x3dnew FileReader,r\x3dm(t);return t.readAsArrayBuffer(e),r}function v(e){if(e.slice)return e.slice(0);var t\x3dnew Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed\x3d!1,this._initBody\x3dfunction(e){if(this._bodyInit\x3de)if(\x22string\x22\x3d\x3dtypeof e)this._bodyText\x3de;else if(a\x26\x26Blob.prototype.isPrototypeOf(e))this._bodyBlob\x3de;else if(n$jscomp$1\x26\x26FormData.prototype.isPrototypeOf(e))this._bodyFormData\x3de;else if(t$jscomp$2\x26\x26URLSearchParams.prototype.isPrototypeOf(e))this._bodyText\x3d\ne.toString();else if(o$jscomp$1\x26\x26a\x26\x26e\x26\x26DataView.prototype.isPrototypeOf(e))this._bodyArrayBuffer\x3dv(e.buffer),this._bodyInit\x3dnew Blob([this._bodyArrayBuffer]);else{if(!o$jscomp$1||!ArrayBuffer.prototype.isPrototypeOf(e)\x26\x26!l(e))throw Error(\x22unsupported BodyInit type\x22);this._bodyArrayBuffer\x3dv(e)}else this._bodyText\x3d\x22\x22;this.headers.get(\x22content-type\x22)||(\x22string\x22\x3d\x3dtypeof e?this.headers.set(\x22content-type\x22,\x22text/plain;charset\\x3dUTF-8\x22):this._bodyBlob\x26\x26this._bodyBlob.type?this.headers.set(\x22content-type\x22,\nthis._bodyBlob.type):t$jscomp$2\x26\x26URLSearchParams.prototype.isPrototypeOf(e)\x26\x26this.headers.set(\x22content-type\x22,\x22application/x-www-form-urlencoded;charset\\x3dUTF-8\x22))},a\x26\x26(this.blob\x3dfunction(){var e\x3dy(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw Error(\x22could not read FormData body as blob\x22);return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer\x3d\nfunction(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text\x3dfunction(){var e,t,r,n\x3dy(this);if(n)return n;if(this._bodyBlob)return e\x3dthis._bodyBlob,t\x3dnew FileReader,r\x3dm(t),t.readAsText(e),r;if(this._bodyArrayBuffer){e\x3dPromise;t\x3de.resolve;r\x3dnew Uint8Array(this._bodyArrayBuffer);n\x3dArray(r.length);for(var n$jscomp$0\x3d0;n$jscomp$0\x3cr.length;n$jscomp$0++)n[n$jscomp$0]\x3dString.fromCharCode(r[n$jscomp$0]);r\x3dn.join(\x22\x22);return t.call(e,r)}if(this._bodyFormData)throw Error(\x22could not read FormData body as text\x22);\nreturn Promise.resolve(this._bodyText)},n$jscomp$1\x26\x26(this.formData\x3dfunction(){return this.text().then(x)}),this.json\x3dfunction(){return this.text().then(JSON.parse)},this}function _(e,t){var r,n,o\x3d(t\x3dt||{}).body;if(e instanceof _){if(e.bodyUsed)throw new TypeError(\x22Already read\x22);this.url\x3de.url;this.credentials\x3de.credentials;t.headers||(this.headers\x3dnew p(e.headers));this.method\x3de.method;this.mode\x3de.mode;o||null\x3d\x3de._bodyInit||(o\x3de._bodyInit,e.bodyUsed\x3d!0)}else this.url\x3dString(e);if(this.credentials\x3d\nt.credentials||this.credentials||\x22omit\x22,!t.headers\x26\x26this.headers||(this.headers\x3dnew p(t.headers)),this.method\x3d(r\x3dt.method||this.method||\x22GET\x22,n\x3dr.toUpperCase(),-1\x3cu.indexOf(n)?n:r),this.mode\x3dt.mode||this.mode||null,this.referrer\x3dnull,(\x22GET\x22\x3d\x3d\x3dthis.method||\x22HEAD\x22\x3d\x3d\x3dthis.method)\x26\x26o)throw new TypeError(\x22Body not allowed for GET or HEAD requests\x22);this._initBody(o)}function x(e$jscomp$0){var o\x3dnew FormData;return e$jscomp$0.trim().split(\x22\\x26\x22).forEach(function(e){if(e){var t\x3de.split(\x22\\x3d\x22);e\x3dt.shift().replace(/\\+/g,\n\x22 \x22);t\x3dt.join(\x22\\x3d\x22).replace(/\\+/g,\x22 \x22);o.append(decodeURIComponent(e),decodeURIComponent(t))}}),o}function w(e,t){t\x3dt||{};this.type\x3d\x22default\x22;this.status\x3dvoid 0\x3d\x3d\x3dt.status?200:t.status;this.ok\x3d200\x3c\x3dthis.status\x26\x26300\x3ethis.status;this.statusText\x3d\x22statusText\x22in t?t.statusText:\x22OK\x22;this.headers\x3dnew p(t.headers);this.url\x3dt.url||\x22\x22;this._initBody(e)}if(!e$jscomp$2.fetch){var t$jscomp$2\x3d\x22URLSearchParams\x22in e$jscomp$2,r$jscomp$0\x3d\x22Symbol\x22in e$jscomp$2\x26\x26\x22iterator\x22in Symbol,JSCompiler_temp;if(JSCompiler_temp\x3d\n\x22FileReader\x22in e$jscomp$2\x26\x26\x22Blob\x22in e$jscomp$2)try{JSCompiler_temp\x3d(new Blob,!0)}catch(e){JSCompiler_temp\x3d!1}var a\x3dJSCompiler_temp,n$jscomp$1\x3d\x22FormData\x22in e$jscomp$2,o$jscomp$1\x3d\x22ArrayBuffer\x22in e$jscomp$2;if(o$jscomp$1)var i$jscomp$0\x3d\x22[object Int8Array];[object Uint8Array];[object Uint8ClampedArray];[object Int16Array];[object Uint16Array];[object Int32Array];[object Uint32Array];[object Float32Array];[object Float64Array]\x22.split(\x22;\x22),l\x3dArrayBuffer.isView||function(e){return e\x26\x26-1\x3ci$jscomp$0.indexOf(Object.prototype.toString.call(e))};\np.prototype.append\x3dfunction(e,t){e\x3dd(e);t\x3df(t);var r\x3dthis.map[e];this.map[e]\x3dr?r+\x22,\x22+t:t};p.prototype.delete\x3dfunction(e){delete this.map[d(e)]};p.prototype.get\x3dfunction(e){return e\x3dd(e),this.has(e)?this.map[e]:null};p.prototype.has\x3dfunction(e){return this.map.hasOwnProperty(d(e))};p.prototype.set\x3dfunction(e,t){this.map[d(e)]\x3df(t)};p.prototype.forEach\x3dfunction(e,t){for(var r in this.map)this.map.hasOwnProperty(r)\x26\x26e.call(t,this.map[r],r,this)};p.prototype.keys\x3dfunction(){var r\x3d[];return this.forEach(function(e,\nt){r.push(t)}),h(r)};p.prototype.values\x3dfunction(){var t\x3d[];return this.forEach(function(e){t.push(e)}),h(t)};p.prototype.entries\x3dfunction(){var r\x3d[];return this.forEach(function(e,t){r.push([t,e])}),h(r)};r$jscomp$0\x26\x26(p.prototype[Symbol.iterator]\x3dp.prototype.entries);var u\x3d\x22DELETE GET HEAD OPTIONS POST PUT\x22.split(\x22 \x22);_.prototype.clone\x3dfunction(){return new _(this,{body:this._bodyInit})};b.call(_.prototype);b.call(w.prototype);w.prototype.clone\x3dfunction(){return new w(this._bodyInit,{status:this.status,\nstatusText:this.statusText,headers:new p(this.headers),url:this.url})};w.error\x3dfunction(){var e\x3dnew w(null,{status:0,statusText:\x22\x22});return e.type\x3d\x22error\x22,e};var c\x3d[301,302,303,307,308];w.redirect\x3dfunction(e,t){if(-1\x3d\x3d\x3dc.indexOf(t))throw new RangeError(\x22Invalid status code\x22);return new w(null,{status:t,headers:{location:e}})};e$jscomp$2.Headers\x3dp;e$jscomp$2.Request\x3d_;e$jscomp$2.Response\x3dw;e$jscomp$2.fetch\x3dfunction(r,o$jscomp$0){return new Promise(function(n,e$jscomp$1){var t$jscomp$1\x3dnew _(r,o$jscomp$0),\ni\x3dnew XMLHttpRequest;i.onload\x3dfunction(){var e$jscomp$0,o,t$jscomp$0\x3d{status:i.status,statusText:i.statusText,headers:(e$jscomp$0\x3di.getAllResponseHeaders()||\x22\x22,o\x3dnew p,e$jscomp$0.replace(/\\r?\\n[\\t ]+/g,\x22 \x22).split(/\\r?\\n/).forEach(function(e){var t\x3de.split(\x22:\x22);if(e\x3dt.shift().trim())t\x3dt.join(\x22:\x22).trim(),o.append(e,t)}),o)};t$jscomp$0.url\x3d\x22responseURL\x22in i?i.responseURL:t$jscomp$0.headers.get(\x22X-Request-URL\x22);n(new w(\x22response\x22in i?i.response:i.responseText,t$jscomp$0))};i.onerror\x3dfunction(){e$jscomp$1(new TypeError(\x22Network request failed\x22))};\ni.ontimeout\x3dfunction(){e$jscomp$1(new TypeError(\x22Network request failed\x22))};i.open(t$jscomp$1.method,t$jscomp$1.url,!0);\x22include\x22\x3d\x3d\x3dt$jscomp$1.credentials?i.withCredentials\x3d!0:\x22omit\x22\x3d\x3d\x3dt$jscomp$1.credentials\x26\x26(i.withCredentials\x3d!1);\x22responseType\x22in i\x26\x26a\x26\x26(i.responseType\x3d\x22blob\x22);t$jscomp$1.headers.forEach(function(e,t){i.setRequestHeader(t,e)});i.send(void 0\x3d\x3d\x3dt$jscomp$1._bodyInit?null:t$jscomp$1._bodyInit)})};e$jscomp$2.fetch.polyfill\x3d!0}}(\x22undefined\x22!\x3dtypeof self?self:this)},{}],243:[function(e$jscomp$0,\nt$jscomp$0,r$jscomp$0){function i(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$0(\x22core-js/modules/es.function.name\x22);e$jscomp$0(\x22core-js/modules/es.object.to-string\x22);e$jscomp$0(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$0(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$0(\x22core-js/modules/es.string.split\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var l;t$jscomp$0\x3di(e$jscomp$0(\x22../core/main\x22));var o\x3di(e$jscomp$0(\x22../color/color_conversion\x22)),u\x3d[{h:0,s:0,\nb:.8275,name:\x22gray\x22},{h:0,s:0,b:.8627,name:\x22gray\x22},{h:0,s:0,b:.7529,name:\x22gray\x22},{h:.0167,s:.1176,b:1,name:\x22light pink\x22}],c\x3d[{h:0,s:0,b:0,name:\x22black\x22},{h:0,s:0,b:.5,name:\x22gray\x22},{h:0,s:0,b:1,name:\x22white\x22},{h:0,s:.5,b:.5,name:\x22dark maroon\x22},{h:0,s:.5,b:1,name:\x22salmon pink\x22},{h:0,s:1,b:0,name:\x22black\x22},{h:0,s:1,b:.5,name:\x22dark red\x22},{h:0,s:1,b:1,name:\x22red\x22},{h:5,s:0,b:1,name:\x22very light peach\x22},{h:5,s:.5,b:.5,name:\x22brown\x22},{h:5,s:.5,b:1,name:\x22peach\x22},{h:5,s:1,b:.5,name:\x22brick red\x22},{h:5,s:1,b:1,name:\x22crimson\x22},\n{h:10,s:0,b:1,name:\x22light peach\x22},{h:10,s:.5,b:.5,name:\x22brown\x22},{h:10,s:.5,b:1,name:\x22light orange\x22},{h:10,s:1,b:.5,name:\x22brown\x22},{h:10,s:1,b:1,name:\x22orange\x22},{h:15,s:0,b:1,name:\x22very light yellow\x22},{h:15,s:.5,b:.5,name:\x22olive green\x22},{h:15,s:.5,b:1,name:\x22light yellow\x22},{h:15,s:1,b:0,name:\x22dark olive green\x22},{h:15,s:1,b:.5,name:\x22olive green\x22},{h:15,s:1,b:1,name:\x22yellow\x22},{h:20,s:0,b:1,name:\x22very light yellow\x22},{h:20,s:.5,b:.5,name:\x22olive green\x22},{h:20,s:.5,b:1,name:\x22light yellow green\x22},{h:20,s:1,\nb:0,name:\x22dark olive green\x22},{h:20,s:1,b:.5,name:\x22dark yellow green\x22},{h:20,s:1,b:1,name:\x22yellow green\x22},{h:25,s:.5,b:.5,name:\x22dark yellow green\x22},{h:25,s:.5,b:1,name:\x22light green\x22},{h:25,s:1,b:.5,name:\x22dark green\x22},{h:25,s:1,b:1,name:\x22green\x22},{h:30,s:.5,b:1,name:\x22light green\x22},{h:30,s:1,b:.5,name:\x22dark green\x22},{h:30,s:1,b:1,name:\x22green\x22},{h:35,s:0,b:.5,name:\x22light green\x22},{h:35,s:0,b:1,name:\x22very light green\x22},{h:35,s:.5,b:.5,name:\x22dark green\x22},{h:35,s:.5,b:1,name:\x22light green\x22},{h:35,s:1,b:0,name:\x22very dark green\x22},\n{h:35,s:1,b:.5,name:\x22dark green\x22},{h:35,s:1,b:1,name:\x22green\x22},{h:40,s:0,b:1,name:\x22very light green\x22},{h:40,s:.5,b:.5,name:\x22dark green\x22},{h:40,s:.5,b:1,name:\x22light green\x22},{h:40,s:1,b:.5,name:\x22dark green\x22},{h:40,s:1,b:1,name:\x22green\x22},{h:45,s:.5,b:1,name:\x22light turquoise\x22},{h:45,s:1,b:.5,name:\x22dark turquoise\x22},{h:45,s:1,b:1,name:\x22turquoise\x22},{h:50,s:0,b:1,name:\x22light sky blue\x22},{h:50,s:.5,b:.5,name:\x22dark cyan\x22},{h:50,s:.5,b:1,name:\x22light cyan\x22},{h:50,s:1,b:.5,name:\x22dark cyan\x22},{h:50,s:1,b:1,name:\x22cyan\x22},\n{h:55,s:0,b:1,name:\x22light sky blue\x22},{h:55,s:.5,b:1,name:\x22light sky blue\x22},{h:55,s:1,b:.5,name:\x22dark blue\x22},{h:55,s:1,b:1,name:\x22sky blue\x22},{h:60,s:0,b:.5,name:\x22gray\x22},{h:60,s:0,b:1,name:\x22very light blue\x22},{h:60,s:.5,b:.5,name:\x22blue\x22},{h:60,s:.5,b:1,name:\x22light blue\x22},{h:60,s:1,b:.5,name:\x22navy blue\x22},{h:60,s:1,b:1,name:\x22blue\x22},{h:65,s:0,b:1,name:\x22lavender\x22},{h:65,s:.5,b:.5,name:\x22navy blue\x22},{h:65,s:.5,b:1,name:\x22light purple\x22},{h:65,s:1,b:.5,name:\x22dark navy blue\x22},{h:65,s:1,b:1,name:\x22blue\x22},{h:70,s:0,\nb:1,name:\x22lavender\x22},{h:70,s:.5,b:.5,name:\x22navy blue\x22},{h:70,s:.5,b:1,name:\x22lavender blue\x22},{h:70,s:1,b:.5,name:\x22dark navy blue\x22},{h:70,s:1,b:1,name:\x22blue\x22},{h:75,s:.5,b:1,name:\x22lavender\x22},{h:75,s:1,b:.5,name:\x22dark purple\x22},{h:75,s:1,b:1,name:\x22purple\x22},{h:80,s:.5,b:1,name:\x22pinkish purple\x22},{h:80,s:1,b:.5,name:\x22dark purple\x22},{h:80,s:1,b:1,name:\x22purple\x22},{h:85,s:0,b:1,name:\x22light pink\x22},{h:85,s:.5,b:.5,name:\x22purple\x22},{h:85,s:.5,b:1,name:\x22light fuchsia\x22},{h:85,s:1,b:.5,name:\x22dark fuchsia\x22},{h:85,s:1,\nb:1,name:\x22fuchsia\x22},{h:90,s:.5,b:.5,name:\x22dark fuchsia\x22},{h:90,s:.5,b:1,name:\x22hot pink\x22},{h:90,s:1,b:.5,name:\x22dark fuchsia\x22},{h:90,s:1,b:1,name:\x22fuchsia\x22},{h:95,s:0,b:1,name:\x22pink\x22},{h:95,s:.5,b:1,name:\x22light pink\x22},{h:95,s:1,b:.5,name:\x22dark magenta\x22},{h:95,s:1,b:1,name:\x22magenta\x22}];t$jscomp$0.default.prototype._rgbColorName\x3dfunction(e){e\x3do.default._rgbaToHSBA(e);e\x3d[(l\x3de)[0],e[1],e[2]];if(0!\x3d\x3de[0]){e[0]\x3dMath.round(100*e[0]);var r\x3de[0].toString().split(\x22\x22),n\x3dr.length-1;r[n]\x3dparseInt(r[n]);2.5\x3er[n]?\nr[n]\x3d0:2.5\x3c\x3dr[n]\x26\x267.5\x3er[n]\x26\x26(r[n]\x3d5);2\x3d\x3d\x3dr.length?(r[0]\x3dparseInt(r[0]),7.5\x3c\x3dr[n]\x26\x26(r[n]\x3d0,r[0]+\x3d1),e[0]\x3d10*r[0]+r[1]):7.5\x3c\x3dr[n]?e[0]\x3d10:e[0]\x3dr[n]}e[2]/\x3d255;for(r\x3de.length-1;1\x3c\x3dr;r--).25\x3e\x3de[r]?e[r]\x3d0:.25\x3ce[r]\x26\x26.75\x3ee[r]?e[r]\x3d.5:e[r]\x3d1;if(0\x3d\x3d\x3de[0]\x26\x260\x3d\x3d\x3de[1]\x26\x261\x3d\x3d\x3de[2]){for(e\x3d2;0\x3c\x3de;e--)l[e]\x3dMath.round(1E4*l[e])/1E4;for(e\x3d0;e\x3cu.length;e++){if(u[e].h\x3d\x3d\x3dl[0]\x26\x26u[e].s\x3d\x3d\x3dl[1]\x26\x26u[e].b\x3d\x3d\x3dl[2]){var t\x3du[e].name;break}t\x3d\x22white\x22}}else for(r\x3d0;r\x3cc.length;r++)if(c[r].h\x3d\x3d\x3de[0]\x26\x26c[r].s\x3d\x3d\x3de[1]\x26\x26c[r].b\x3d\x3d\x3de[2]){t\x3dc[r].name;\nbreak}return t};r$jscomp$0.default\x3dt$jscomp$0.default},{\x22../color/color_conversion\x22:249,\x22../core/main\x22:264,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.split\x22:191}],244:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function s(e){if(\x22label\x22\x3d\x3d\x3de||\x22fallback\x22\x3d\x3d\x3de)throw Error(\x22description should not be LABEL or FALLBACK\x22);return e.endsWith(\x22.\x22)||e.endsWith(\x22;\x22)||e.endsWith(\x22,\x22)||\ne.endsWith(\x22?\x22)||e.endsWith(\x22!\x22)||(e+\x3d\x22.\x22),e}e$jscomp$0(\x22core-js/modules/es.array.concat\x22);e$jscomp$0(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$0(\x22core-js/modules/es.string.ends-with\x22);e$jscomp$0(\x22core-js/modules/es.string.replace\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,a\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};a.default.prototype.describe\x3dfunction(e,t){if(a.default._validateParameters(\x22describe\x22,\narguments),\x22string\x22\x3d\x3dtypeof e){var r\x3dthis.canvas.id;e\x3ds(e);this.dummyDOM||(this.dummyDOM\x3ddocument.getElementById(r).parentNode);this.descriptions||(this.descriptions\x3d{});this.descriptions.fallback?this.descriptions.fallback.innerHTML!\x3d\x3de\x26\x26(this.descriptions.fallback.innerHTML\x3de):this._describeHTML(\x22fallback\x22,e);t\x3d\x3d\x3dthis.LABEL\x26\x26(this.descriptions.label?this.descriptions.label.innerHTML!\x3d\x3de\x26\x26(this.descriptions.label.innerHTML\x3de):this._describeHTML(\x22label\x22,e))}};a.default.prototype.describeElement\x3dfunction(e,\nt,r){if(a.default._validateParameters(\x22describeElement\x22,arguments),\x22string\x22\x3d\x3dtypeof t\x26\x26\x22string\x22\x3d\x3dtypeof e){var n\x3dthis.canvas.id;t\x3ds(t);var o\x3de;if(\x22label\x22\x3d\x3d\x3do||\x22fallback\x22\x3d\x3d\x3do)throw Error(\x22element name should not be LABEL or FALLBACK\x22);o.endsWith(\x22.\x22)||o.endsWith(\x22;\x22)||o.endsWith(\x22,\x22)?o\x3do.replace(/.$/,\x22:\x22):o.endsWith(\x22:\x22)||(o+\x3d\x22:\x22);e\x3de.replace(/[^a-zA-Z0-9]/g,\x22\x22);o\x3d\x27\\x3cth scope\\x3d\x22row\x22\\x3e\x27.concat(o,\x22\\x3c/th\\x3e\\x3ctd\\x3e\x22).concat(t,\x22\\x3c/td\\x3e\x22);this.dummyDOM||(this.dummyDOM\x3ddocument.getElementById(n).parentNode);\nthis.descriptions?this.descriptions.fallbackElements||(this.descriptions.fallbackElements\x3d{}):this.descriptions\x3d{fallbackElements:{}};this.descriptions.fallbackElements[e]?this.descriptions.fallbackElements[e].innerHTML!\x3d\x3do\x26\x26(this.descriptions.fallbackElements[e].innerHTML\x3do):this._describeElementHTML(\x22fallback\x22,e,o);r\x3d\x3d\x3dthis.LABEL\x26\x26(this.descriptions.labelElements||(this.descriptions.labelElements\x3d{}),this.descriptions.labelElements[e]?this.descriptions.labelElements[e].innerHTML!\x3d\x3do\x26\x26(this.descriptions.labelElements[e].innerHTML\x3d\no):this._describeElementHTML(\x22label\x22,e,o))}};a.default.prototype._describeHTML\x3dfunction(e,t){var r\x3dthis.canvas.id;if(\x22fallback\x22\x3d\x3d\x3de)return this.dummyDOM.querySelector(\x22#\x22.concat(r+\x22_Description\x22))?this.dummyDOM.querySelector(\x22#\x22+r+\x22_fallbackTable\x22).insertAdjacentHTML(\x22beforebegin\x22,\x27\\x3cp id\\x3d\x22\x27.concat(r+\x22_fallbackDesc\x22,\x27\x22\\x3e\\x3c/p\\x3e\x27)):(e\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(r).concat(\x22_Description\x22,\x27\x22 role\\x3d\x22region\x22 aria-label\\x3d\x22Canvas Description\x22\\x3e\\x3cp id\\x3d\x22\x27).concat(r).concat(\x22_fallbackDesc\x22,\n\x27\x22\\x3e\\x3c/p\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(\x22#\x22.concat(r,\x22accessibleOutput\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(r,\x22accessibleOutput\x22)).insertAdjacentHTML(\x22beforebegin\x22,e):this.dummyDOM.querySelector(\x22#\x22.concat(r)).innerHTML\x3de),this.descriptions.fallback\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(r).concat(\x22_fallbackDesc\x22)),void(this.descriptions.fallback.innerHTML\x3dt);if(\x22label\x22\x3d\x3d\x3de)return this.dummyDOM.querySelector(\x22#\x22.concat(r+\x22_Label\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(r+\n\x22_labelTable\x22))\x26\x26this.dummyDOM.querySelector(\x22#\x22.concat(r+\x22_labelTable\x22)).insertAdjacentHTML(\x22beforebegin\x22,\x27\\x3cp id\\x3d\x22\x27.concat(r).concat(\x22_labelDesc\x22,\x27\x22\\x3e\\x3c/p\\x3e\x27)):(e\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(r).concat(\x22_Label\x22,\x27\x22 class\\x3d\x22p5Label\x22\\x3e\\x3cp id\\x3d\x22\x27).concat(r).concat(\x22_labelDesc\x22,\x27\x22\\x3e\\x3c/p\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(\x22#\x22.concat(r,\x22accessibleOutputLabel\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(r,\x22accessibleOutputLabel\x22)).insertAdjacentHTML(\x22beforebegin\x22,e):this.dummyDOM.querySelector(\x22#\x22+\nr).insertAdjacentHTML(\x22afterend\x22,e)),this.descriptions.label\x3dthis.dummyDOM.querySelector(\x22#\x22+r+\x22_labelDesc\x22),void(this.descriptions.label.innerHTML\x3dt)};a.default.prototype._describeElementHTML\x3dfunction(e,t,r){var n\x3dthis.canvas.id;if(\x22fallback\x22\x3d\x3d\x3de)return this.dummyDOM.querySelector(\x22#\x22.concat(n+\x22_Description\x22))?this.dummyDOM.querySelector(\x22#\x22+n+\x22_fallbackTable\x22)||this.dummyDOM.querySelector(\x22#\x22+n+\x22_fallbackDesc\x22).insertAdjacentHTML(\x22afterend\x22,\x27\\x3ctable id\\x3d\x22\x27.concat(n).concat(\x22_fallbackTable\x22,\n\x27\x22\\x3e\\x3ccaption\\x3eCanvas elements and their descriptions\\x3c/caption\\x3e\\x3c/table\\x3e\x27)):(e\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(n).concat(\x22_Description\x22,\x27\x22 role\\x3d\x22region\x22 aria-label\\x3d\x22Canvas Description\x22\\x3e\\x3ctable id\\x3d\x22\x27).concat(n).concat(\x22_fallbackTable\x22,\x27\x22\\x3e\\x3ccaption\\x3eCanvas elements and their descriptions\\x3c/caption\\x3e\\x3c/table\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(\x22#\x22.concat(n,\x22accessibleOutput\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(n,\x22accessibleOutput\x22)).insertAdjacentHTML(\x22beforebegin\x22,\ne):this.dummyDOM.querySelector(\x22#\x22+n).innerHTML\x3de),e\x3ddocument.createElement(\x22tr\x22),e.id\x3dn+\x22_fte_\x22+t,this.dummyDOM.querySelector(\x22#\x22+n+\x22_fallbackTable\x22).appendChild(e),this.descriptions.fallbackElements[t]\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(n).concat(\x22_fte_\x22).concat(t)),void(this.descriptions.fallbackElements[t].innerHTML\x3dr);\x22label\x22\x3d\x3d\x3de\x26\x26(this.dummyDOM.querySelector(\x22#\x22.concat(n+\x22_Label\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(n+\x22_labelTable\x22))||this.dummyDOM.querySelector(\x22#\x22+n+\x22_labelDesc\x22).insertAdjacentHTML(\x22afterend\x22,\n\x27\\x3ctable id\\x3d\x22\x27.concat(n+\x22_labelTable\x22,\x27\x22\\x3e\\x3c/table\\x3e\x27)):(e\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(n).concat(\x22_Label\x22,\x27\x22 class\\x3d\x22p5Label\x22\\x3e\\x3ctable id\\x3d\x22\x27).concat(n).concat(\x22_labelTable\x22,\x27\x22\\x3e\\x3c/table\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(\x22#\x22.concat(n,\x22accessibleOutputLabel\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(n,\x22accessibleOutputLabel\x22)).insertAdjacentHTML(\x22beforebegin\x22,e):this.dummyDOM.querySelector(\x22#\x22+n).insertAdjacentHTML(\x22afterend\x22,e)),e\x3ddocument.createElement(\x22tr\x22),e.id\x3dn+\n\x22_lte_\x22+t,this.dummyDOM.querySelector(\x22#\x22+n+\x22_labelTable\x22).appendChild(e),this.descriptions.labelElements[t]\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(n).concat(\x22_lte_\x22).concat(t)),this.descriptions.labelElements[t].innerHTML\x3dr)};r$jscomp$0.default\x3da.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.ends-with\x22:184,\x22core-js/modules/es.string.replace\x22:189}],245:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){e$jscomp$1(\x22core-js/modules/es.array.concat\x22);\ne$jscomp$1(\x22core-js/modules/es.array.map\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1;e$jscomp$1\x3d(n$jscomp$1\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};e$jscomp$1.default.prototype._updateGridOutput\x3dfunction(e$jscomp$0){if(this.dummyDOM.querySelector(\x22#\x22.concat(e$jscomp$0,\x22_summary\x22))){var t$jscomp$0\x3dthis._accessibleOutputs[e$jscomp$0],r$jscomp$0\x3dfunction(e,t){var r\x3d\x22\x22,n\x3d\x22\x22,o\x3d0,i;for(i in t){var a\x3d0,s;\nfor(s in t[i]){var l\x3d\x27\\x3cli id\\x3d\x22\x27.concat(e,\x22shape\x22).concat(o,\x27\x22\\x3e\x27).concat(t[i][s].color,\x22 \x22).concat(i,\x22,\x22);\x22line\x22\x3d\x3d\x3di?l+\x3d\x22 location \\x3d \x22.concat(t[i][s].pos,\x22, length \\x3d \x22).concat(t[i][s].length,\x22 pixels\x22):(l+\x3d\x22 location \\x3d \x22.concat(t[i][s].pos),\x22point\x22!\x3d\x3di\x26\x26(l+\x3d\x22, area \\x3d \x22.concat(t[i][s].area,\x22 %\x22)),l+\x3d\x22\\x3c/li\\x3e\x22);r+\x3dl;a++;o++}n\x3d1\x3ca?\x22\x22.concat(n,\x22 \x22).concat(a,\x22 \x22).concat(i,\x22s\x22):\x22\x22.concat(n,\x22 \x22).concat(a,\x22 \x22).concat(i)}return{numShapes:[o,n],details:r}}(e$jscomp$0,this.ingredients.shapes),\nn$jscomp$0\x3dfunction(e,t,r,n){t\x3d\x22\x22.concat(t,\x22 canvas, \x22).concat(r,\x22 by \x22).concat(n,\x22 pixels, contains \x22).concat(e[0]);return t\x3d1\x3d\x3d\x3de[0]?\x22\x22.concat(t,\x22 shape: \x22).concat(e[1]):\x22\x22.concat(t,\x22 shapes: \x22).concat(e[1])}(r$jscomp$0.numShapes,this.ingredients.colors.background,this.width,this.height),o$jscomp$0\x3dfunction(e,t){var r\x3d0,n\x3d\x22\x22,o\x3dArray.apply(null,Array(10)).map(function(){});for(i in o)o[i]\x3dArray.apply(null,Array(10)).map(function(){});for(var a in t)for(var s in t[a]){var i\x3dvoid 0;i\x3d\x22line\x22!\x3d\x3da?\x27\\x3ca href\\x3d\x22#\x27.concat(e,\n\x22shape\x22).concat(r,\x27\x22\\x3e\x27).concat(t[a][s].color,\x22 \x22).concat(a,\x22\\x3c/a\\x3e\x22):\x27\\x3ca href\\x3d\x22#\x27.concat(e,\x22shape\x22).concat(r,\x27\x22\\x3e\x27).concat(t[a][s].color,\x22 \x22).concat(a,\x22 midpoint\\x3c/a\\x3e\x22);o[t[a][s].loc.locY][t[a][s].loc.locX]?o[t[a][s].loc.locY][t[a][s].loc.locX]\x3do[t[a][s].loc.locY][t[a][s].loc.locX]+\x22 \x22+i:o[t[a][s].loc.locY][t[a][s].loc.locX]\x3di;r++}for(var u in o){e\x3d\x22\\x3ctr\\x3e\x22;for(var d in o[u])e+\x3d\x22\\x3ctd\\x3e\x22,void 0!\x3d\x3do[u][d]\x26\x26(e+\x3do[u][d]),e+\x3d\x22\\x3c/td\\x3e\x22;n\x3dn+e+\x22\\x3c/tr\\x3e\x22}return n}(e$jscomp$0,\nthis.ingredients.shapes);n$jscomp$0!\x3d\x3dt$jscomp$0.summary.innerHTML\x26\x26(t$jscomp$0.summary.innerHTML\x3dn$jscomp$0);o$jscomp$0!\x3d\x3dt$jscomp$0.map.innerHTML\x26\x26(t$jscomp$0.map.innerHTML\x3do$jscomp$0);r$jscomp$0.details!\x3d\x3dt$jscomp$0.shapeDetails.innerHTML\x26\x26(t$jscomp$0.shapeDetails.innerHTML\x3dr$jscomp$0.details);this._accessibleOutputs[e$jscomp$0]\x3dt$jscomp$0}};r$jscomp$1.default\x3de$jscomp$1.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.map\x22:161}],246:[function(e$jscomp$1,\nt$jscomp$1,r$jscomp$1){function l$jscomp$0(e,t,r){return e[0]\x3c.4*t?e[1]\x3c.4*r?\x22top left\x22:e[1]\x3e.6*r?\x22bottom left\x22:\x22mid left\x22:e[0]\x3e.6*t?e[1]\x3c.4*r?\x22top right\x22:e[1]\x3e.6*r?\x22bottom right\x22:\x22mid right\x22:e[1]\x3c.4*r?\x22top middle\x22:e[1]\x3e.6*r?\x22bottom middle\x22:\x22middle\x22}function u$jscomp$0(e,t,r){t\x3dMath.floor(e[0]/t*10);e\x3dMath.floor(e[1]/r*10);return 10\x3d\x3d\x3dt\x26\x26--t,10\x3d\x3d\x3de\x26\x26--e,{locX:t,locY:e}}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.fill\x22);e$jscomp$1(\x22core-js/modules/es.array.map\x22);\ne$jscomp$1(\x22core-js/modules/es.number.to-fixed\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1,o$jscomp$1\x3d(n$jscomp$1\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};o$jscomp$1.default.prototype.textOutput\x3dfunction(e){o$jscomp$1.default._validateParameters(\x22textOutput\x22,arguments);this._accessibleOutputs.text||(this._accessibleOutputs.text\x3d!0,this._createOutput(\x22textOutput\x22,\x22Fallback\x22),e\x3d\x3d\x3dthis.LABEL\x26\x26(this._accessibleOutputs.textLabel\x3d\n!0,this._createOutput(\x22textOutput\x22,\x22Label\x22)))};o$jscomp$1.default.prototype.gridOutput\x3dfunction(e){o$jscomp$1.default._validateParameters(\x22gridOutput\x22,arguments);this._accessibleOutputs.grid||(this._accessibleOutputs.grid\x3d!0,this._createOutput(\x22gridOutput\x22,\x22Fallback\x22),e\x3d\x3d\x3dthis.LABEL\x26\x26(this._accessibleOutputs.gridLabel\x3d!0,this._createOutput(\x22gridOutput\x22,\x22Label\x22)))};o$jscomp$1.default.prototype._addAccsOutput\x3dfunction(){return this._accessibleOutputs||(this._accessibleOutputs\x3d{text:!1,grid:!1,textLabel:!1,\ngridLabel:!1}),this._accessibleOutputs.grid||this._accessibleOutputs.text};o$jscomp$1.default.prototype._createOutput\x3dfunction(e,t){var r,n,o,i\x3dthis.canvas.id;this.ingredients||(this.ingredients\x3d{shapes:{},colors:{background:\x22white\x22,fill:\x22white\x22,stroke:\x22black\x22},pShapes:\x22\x22});this.dummyDOM||(this.dummyDOM\x3ddocument.getElementById(i).parentNode);var a\x3d\x22\x22;\x22Fallback\x22\x3d\x3d\x3dt?(r\x3di+e,n\x3di+\x22accessibleOutput\x22,this.dummyDOM.querySelector(\x22#\x22.concat(n))||(this.dummyDOM.querySelector(\x22#\x22.concat(i,\x22_Description\x22))?\nthis.dummyDOM.querySelector(\x22#\x22.concat(i,\x22_Description\x22)).insertAdjacentHTML(\x22afterend\x22,\x27\\x3cdiv id\\x3d\x22\x27.concat(n,\x27\x22 role\\x3d\x22region\x22 aria-label\\x3d\x22Canvas Outputs\x22\\x3e\\x3c/div\\x3e\x27)):this.dummyDOM.querySelector(\x22#\x22.concat(i)).innerHTML\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(n,\x27\x22 role\\x3d\x22region\x22 aria-label\\x3d\x22Canvas Outputs\x22\\x3e\\x3c/div\\x3e\x27))):\x22Label\x22\x3d\x3d\x3dt\x26\x26(r\x3di+e+(a\x3dt),n\x3di+\x22accessibleOutput\x22+t,this.dummyDOM.querySelector(\x22#\x22.concat(n))||(this.dummyDOM.querySelector(\x22#\x22.concat(i,\x22_Label\x22))?this.dummyDOM.querySelector(\x22#\x22.concat(i,\n\x22_Label\x22)).insertAdjacentHTML(\x22afterend\x22,\x27\\x3cdiv id\\x3d\x22\x27.concat(n,\x27\x22\\x3e\\x3c/div\\x3e\x27)):this.dummyDOM.querySelector(\x22#\x22.concat(i)).insertAdjacentHTML(\x22afterend\x22,\x27\\x3cdiv id\\x3d\x22\x27.concat(n,\x27\x22\\x3e\\x3c/div\\x3e\x27))));this._accessibleOutputs[r]\x3d{};\x22textOutput\x22\x3d\x3d\x3de?(a\x3d\x22#\x22.concat(i,\x22gridOutput\x22).concat(a),o\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(r,\x27\x22\\x3eText Output\\x3cdiv id\\x3d\x22\x27).concat(r,\x27Summary\x22 aria-label\\x3d\x22text output summary\x22\\x3e\\x3cp id\\x3d\x22\x27).concat(r,\x27_summary\x22\\x3e\\x3c/p\\x3e\\x3cul id\\x3d\x22\x27).concat(r,\x27_list\x22\\x3e\\x3c/ul\\x3e\\x3c/div\\x3e\\x3ctable id\\x3d\x22\x27).concat(r,\n\x27_shapeDetails\x22 summary\\x3d\x22text output shape details\x22\\x3e\\x3c/table\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(a)?this.dummyDOM.querySelector(a).insertAdjacentHTML(\x22beforebegin\x22,o):this.dummyDOM.querySelector(\x22#\x22.concat(n)).innerHTML\x3do,this._accessibleOutputs[r].list\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(r,\x22_list\x22))):\x22gridOutput\x22\x3d\x3d\x3de\x26\x26(a\x3d\x22#\x22.concat(i,\x22textOutput\x22).concat(a),o\x3d\x27\\x3cdiv id\\x3d\x22\x27.concat(r,\x27\x22\\x3eGrid Output\\x3cp id\\x3d\x22\x27).concat(r,\x27_summary\x22 aria-label\\x3d\x22grid output summary\x22\\x3e\\x3ctable id\\x3d\x22\x27).concat(r,\n\x27_map\x22 summary\\x3d\x22grid output content\x22\\x3e\\x3c/table\\x3e\\x3cul id\\x3d\x22\x27).concat(r,\x27_shapeDetails\x22 aria-label\\x3d\x22grid output shape details\x22\\x3e\\x3c/ul\\x3e\\x3c/div\\x3e\x27),this.dummyDOM.querySelector(a)?this.dummyDOM.querySelector(a).insertAdjacentHTML(\x22afterend\x22,o):this.dummyDOM.querySelector(\x22#\x22.concat(n)).innerHTML\x3do,this._accessibleOutputs[r].map\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(r,\x22_map\x22)));this._accessibleOutputs[r].shapeDetails\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(r,\x22_shapeDetails\x22));\nthis._accessibleOutputs[r].summary\x3dthis.dummyDOM.querySelector(\x22#\x22.concat(r,\x22_summary\x22))};o$jscomp$1.default.prototype._updateAccsOutput\x3dfunction(){var e\x3dthis.canvas.id;JSON.stringify(this.ingredients.shapes)!\x3d\x3dthis.ingredients.pShapes\x26\x26(this.ingredients.pShapes\x3dJSON.stringify(this.ingredients.shapes),this._accessibleOutputs.text\x26\x26this._updateTextOutput(e+\x22textOutput\x22),this._accessibleOutputs.grid\x26\x26this._updateGridOutput(e+\x22gridOutput\x22),this._accessibleOutputs.textLabel\x26\x26this._updateTextOutput(e+\n\x22textOutputLabel\x22),this._accessibleOutputs.gridLabel\x26\x26this._updateGridOutput(e+\x22gridOutputLabel\x22))};o$jscomp$1.default.prototype._accsBackground\x3dfunction(e){this.ingredients.pShapes\x3dJSON.stringify(this.ingredients.shapes);this.ingredients.shapes\x3d{};this.ingredients.colors.backgroundRGBA!\x3d\x3de\x26\x26(this.ingredients.colors.backgroundRGBA\x3de,this.ingredients.colors.background\x3dthis._rgbColorName(e))};o$jscomp$1.default.prototype._accsCanvasColors\x3dfunction(e,t){\x22fill\x22\x3d\x3d\x3de?this.ingredients.colors.fillRGBA!\x3d\x3d\nt\x26\x26(this.ingredients.colors.fillRGBA\x3dt,this.ingredients.colors.fill\x3dthis._rgbColorName(t)):\x22stroke\x22\x3d\x3d\x3de\x26\x26this.ingredients.colors.strokeRGBA!\x3d\x3dt\x26\x26(this.ingredients.colors.strokeRGBA\x3dt,this.ingredients.colors.stroke\x3dthis._rgbColorName(t))};o$jscomp$1.default.prototype._accsOutput\x3dfunction(e$jscomp$0,t$jscomp$0){\x22ellipse\x22\x3d\x3d\x3de$jscomp$0\x26\x26t$jscomp$0[2]\x3d\x3d\x3dt$jscomp$0[3]?e$jscomp$0\x3d\x22circle\x22:\x22rectangle\x22\x3d\x3d\x3de$jscomp$0\x26\x26t$jscomp$0[2]\x3d\x3d\x3dt$jscomp$0[3]\x26\x26(e$jscomp$0\x3d\x22square\x22);var r$jscomp$0\x3d{},n$jscomp$0\x3d!0,o$jscomp$0\x3d\nfunction(e,t){var r;var n\x3d\x22rectangle\x22\x3d\x3d\x3de||\x22ellipse\x22\x3d\x3d\x3de||\x22arc\x22\x3d\x3d\x3de||\x22circle\x22\x3d\x3d\x3de||\x22square\x22\x3d\x3d\x3de?(r\x3dMath.round(t[0]+t[2]/2),Math.round(t[1]+t[3]/2)):\x22triangle\x22\x3d\x3d\x3de?(r\x3d(t[0]+t[2]+t[4])/3,(t[1]+t[3]+t[5])/3):\x22quadrilateral\x22\x3d\x3d\x3de?(r\x3d(t[0]+t[2]+t[4]+t[6])/4,(t[1]+t[3]+t[5]+t[7])/4):\x22line\x22\x3d\x3d\x3de?(r\x3d(t[0]+t[2])/2,(t[1]+t[3])/2):(r\x3dt[0],t[1]);return[r,n]}(e$jscomp$0,t$jscomp$0);if(\x22line\x22\x3d\x3d\x3de$jscomp$0){r$jscomp$0.color\x3dthis.ingredients.colors.stroke;r$jscomp$0.length\x3dMath.round(this.dist(t$jscomp$0[0],t$jscomp$0[1],\nt$jscomp$0[2],t$jscomp$0[3]));var i\x3dl$jscomp$0([t$jscomp$0[0],[1]],this.width,this.height);t$jscomp$0\x3dl$jscomp$0([t$jscomp$0[2],[3]],this.width,this.height);r$jscomp$0.loc\x3du$jscomp$0(o$jscomp$0,this.width,this.height);r$jscomp$0.pos\x3di\x3d\x3d\x3dt$jscomp$0?\x22at \x22.concat(i):\x22from \x22.concat(i,\x22 to \x22).concat(t$jscomp$0)}else\x22point\x22\x3d\x3d\x3de$jscomp$0?r$jscomp$0.color\x3dthis.ingredients.colors.stroke:(r$jscomp$0.color\x3dthis.ingredients.colors.fill,r$jscomp$0.area\x3dfunction(e,t,r,n){var o\x3d0;if(\x22arc\x22\x3d\x3d\x3de){if(e\x3d((t[5]-t[4])%\n(2*Math.PI)+2*Math.PI)%(2*Math.PI),o\x3de*t[2]*t[3]/8,\x22open\x22\x3d\x3d\x3dt[6]||\x22chord\x22\x3d\x3d\x3dt[6]){var a\x3dt[0],s\x3dt[1],l\x3dt[0]+t[2]/2*Math.cos(t[4]).toFixed(2),u\x3dt[1]+t[3]/2*Math.sin(t[4]).toFixed(2),c\x3dt[0]+t[2]/2*Math.cos(t[5]).toFixed(2);t\x3dt[1]+t[3]/2*Math.sin(t[5]).toFixed(2);t\x3dMath.abs(a*(u-t)+l*(t-s)+c*(s-u))/2;e\x3eMath.PI?o+\x3dt:o-\x3dt}}else\x22ellipse\x22\x3d\x3d\x3de||\x22circle\x22\x3d\x3d\x3de?o\x3d3.14*t[2]/2*t[3]/2:\x22line\x22\x3d\x3d\x3de?o\x3d0:\x22point\x22\x3d\x3d\x3de?o\x3d0:\x22quadrilateral\x22\x3d\x3d\x3de?o\x3dMath.abs((t[6]+t[0])*(t[7]-t[1])+(t[0]+t[2])*(t[1]-t[3])+(t[2]+t[4])*(t[3]-t[5])+\n(t[4]+t[6])*(t[5]-t[7]))/2:\x22rectangle\x22\x3d\x3d\x3de||\x22square\x22\x3d\x3d\x3de?o\x3dt[2]*t[3]:\x22triangle\x22\x3d\x3d\x3de\x26\x26(o\x3dMath.abs(t[0]*(t[3]-t[5])+t[2]*(t[5]-t[1])+t[4]*(t[1]-t[3]))/2);return Math.round(100*o/(r*n))}(e$jscomp$0,t$jscomp$0,this.width,this.height)),r$jscomp$0.pos\x3dl$jscomp$0(o$jscomp$0,this.width,this.height),r$jscomp$0.loc\x3du$jscomp$0(o$jscomp$0,this.width,this.height);if(this.ingredients.shapes[e$jscomp$0]){if(this.ingredients.shapes[e$jscomp$0]!\x3d\x3d[r$jscomp$0]){for(var s$jscomp$0 in this.ingredients.shapes[e$jscomp$0])JSON.stringify(this.ingredients.shapes[e$jscomp$0][s$jscomp$0])\x3d\x3d\x3d\nJSON.stringify(r$jscomp$0)\x26\x26(n$jscomp$0\x3d!1);!0\x3d\x3d\x3dn$jscomp$0\x26\x26this.ingredients.shapes[e$jscomp$0].push(r$jscomp$0)}}else this.ingredients.shapes[e$jscomp$0]\x3d[r$jscomp$0]};r$jscomp$1.default\x3do$jscomp$1.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.number.to-fixed\x22:172}],247:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){e$jscomp$1(\x22core-js/modules/es.array.concat\x22);Object.defineProperty(r$jscomp$1,\n\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1;e$jscomp$1\x3d(n$jscomp$1\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};e$jscomp$1.default.prototype._updateTextOutput\x3dfunction(e$jscomp$0){if(this.dummyDOM.querySelector(\x22#\x22.concat(e$jscomp$0,\x22_summary\x22))){var t$jscomp$0\x3dthis._accessibleOutputs[e$jscomp$0],r$jscomp$0\x3dfunction(e,t){var r\x3d\x22\x22,n\x3d0,o;for(o in t)for(var i in t[o]){var a\x3d\x27\\x3cli\\x3e\\x3ca href\\x3d\x22#\x27.concat(e,\x22shape\x22).concat(n,\x27\x22\\x3e\x27).concat(t[o][i].color,\n\x22 \x22).concat(o,\x22\\x3c/a\\x3e\x22);\x22line\x22\x3d\x3d\x3do?a+\x3d\x22, \x22.concat(t[o][i].pos,\x22, \x22).concat(t[o][i].length,\x22 pixels long.\\x3c/li\\x3e\x22):(a+\x3d\x22, at \x22.concat(t[o][i].pos),\x22point\x22!\x3d\x3do\x26\x26(a+\x3d\x22, covering \x22.concat(t[o][i].area,\x22% of the canvas\x22)),a+\x3d\x22.\\x3c/li\\x3e\x22);r+\x3da;n++}return{numShapes:n,listShapes:r}}(e$jscomp$0,this.ingredients.shapes),n$jscomp$0\x3dfunction(e,t,r,n){t\x3d\x22Your output is a, \x22.concat(r,\x22 by \x22).concat(n,\x22 pixels, \x22).concat(t,\x22 canvas containing the following\x22);return t\x3d1\x3d\x3d\x3de?\x22\x22.concat(t,\x22 shape:\x22):\x22\x22.concat(t,\n\x22 \x22).concat(e,\x22 shapes:\x22)}(r$jscomp$0.numShapes,this.ingredients.colors.background,this.width,this.height),o$jscomp$0\x3dfunction(e,t){var r\x3d\x22\x22,n\x3d0,o;for(o in t)for(var i in t[o]){var a\x3d\x27\\x3ctr id\\x3d\x22\x27.concat(e,\x22shape\x22).concat(n,\x27\x22\\x3e\\x3cth\\x3e\x27).concat(t[o][i].color,\x22 \x22).concat(o,\x22\\x3c/th\\x3e\x22);\x22line\x22\x3d\x3d\x3do?a+\x3d\x22\\x3ctd\\x3elocation \\x3d \x22.concat(t[o][i].pos,\x22\\x3c/td\\x3e\\x3ctd\\x3elength \\x3d \x22).concat(t[o][i].length,\x22 pixels\\x3c/td\\x3e\\x3c/tr\\x3e\x22):(a+\x3d\x22\\x3ctd\\x3elocation \\x3d \x22.concat(t[o][i].pos,\x22\\x3c/td\\x3e\x22),\n\x22point\x22!\x3d\x3do\x26\x26(a+\x3d\x22\\x3ctd\\x3e area \\x3d \x22.concat(t[o][i].area,\x22%\\x3c/td\\x3e\x22)),a+\x3d\x22\\x3c/tr\\x3e\x22);r+\x3da;n++}return r}(e$jscomp$0,this.ingredients.shapes);n$jscomp$0!\x3d\x3dt$jscomp$0.summary.innerHTML\x26\x26(t$jscomp$0.summary.innerHTML\x3dn$jscomp$0);r$jscomp$0.listShapes!\x3d\x3dt$jscomp$0.list.innerHTML\x26\x26(t$jscomp$0.list.innerHTML\x3dr$jscomp$0.listShapes);o$jscomp$0!\x3d\x3dt$jscomp$0.shapeDetails.innerHTML\x26\x26(t$jscomp$0.shapeDetails.innerHTML\x3do$jscomp$0);this._accessibleOutputs[e$jscomp$0]\x3dt$jscomp$0}};r$jscomp$1.default\x3de$jscomp$1.default},\n{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149}],248:[function(e,t,r){var n;r\x3d(n\x3de(\x22./core/main\x22))\x26\x26n.__esModule?n:{default:n};e(\x22./core/constants\x22);e(\x22./core/environment\x22);e(\x22./core/friendly_errors/stacktrace\x22);e(\x22./core/friendly_errors/validate_params\x22);e(\x22./core/friendly_errors/file_errors\x22);e(\x22./core/friendly_errors/fes_core\x22);e(\x22./core/friendly_errors/sketch_reader\x22);e(\x22./core/helpers\x22);e(\x22./core/legacy\x22);e(\x22./core/preload\x22);e(\x22./core/p5.Element\x22);e(\x22./core/p5.Graphics\x22);e(\x22./core/p5.Renderer\x22);\ne(\x22./core/p5.Renderer2D\x22);e(\x22./core/rendering\x22);e(\x22./core/shim\x22);e(\x22./core/structure\x22);e(\x22./core/transform\x22);e(\x22./core/shape/2d_primitives\x22);e(\x22./core/shape/attributes\x22);e(\x22./core/shape/curves\x22);e(\x22./core/shape/vertex\x22);e(\x22./accessibility/outputs\x22);e(\x22./accessibility/textOutput\x22);e(\x22./accessibility/gridOutput\x22);e(\x22./accessibility/color_namer\x22);e(\x22./color/color_conversion\x22);e(\x22./color/creating_reading\x22);e(\x22./color/p5.Color\x22);e(\x22./color/setting\x22);e(\x22./data/p5.TypedDict\x22);e(\x22./data/local_storage.js\x22);\ne(\x22./dom/dom\x22);e(\x22./accessibility/describe\x22);e(\x22./events/acceleration\x22);e(\x22./events/keyboard\x22);e(\x22./events/mouse\x22);e(\x22./events/touch\x22);e(\x22./image/filters\x22);e(\x22./image/image\x22);e(\x22./image/loading_displaying\x22);e(\x22./image/p5.Image\x22);e(\x22./image/pixels\x22);e(\x22./io/files\x22);e(\x22./io/p5.Table\x22);e(\x22./io/p5.TableRow\x22);e(\x22./io/p5.XML\x22);e(\x22./math/calculation\x22);e(\x22./math/math\x22);e(\x22./math/noise\x22);e(\x22./math/p5.Vector\x22);e(\x22./math/random\x22);e(\x22./math/trigonometry\x22);e(\x22./typography/attributes\x22);e(\x22./typography/loading_displaying\x22);\ne(\x22./typography/p5.Font\x22);e(\x22./utilities/array_functions\x22);e(\x22./utilities/conversion\x22);e(\x22./utilities/string_functions\x22);e(\x22./utilities/time_date\x22);e(\x22./webgl/3d_primitives\x22);e(\x22./webgl/interaction\x22);e(\x22./webgl/light\x22);e(\x22./webgl/loading\x22);e(\x22./webgl/material\x22);e(\x22./webgl/p5.Camera\x22);e(\x22./webgl/p5.Geometry\x22);e(\x22./webgl/p5.Matrix\x22);e(\x22./webgl/p5.RendererGL.Immediate\x22);e(\x22./webgl/p5.RendererGL\x22);e(\x22./webgl/p5.RendererGL.Retained\x22);e(\x22./webgl/p5.Shader\x22);e(\x22./webgl/p5.RenderBuffer\x22);e(\x22./webgl/p5.Texture\x22);\ne(\x22./webgl/text\x22);e(\x22./core/init\x22);t.exports\x3dr.default},{\x22./accessibility/color_namer\x22:243,\x22./accessibility/describe\x22:244,\x22./accessibility/gridOutput\x22:245,\x22./accessibility/outputs\x22:246,\x22./accessibility/textOutput\x22:247,\x22./color/color_conversion\x22:249,\x22./color/creating_reading\x22:250,\x22./color/p5.Color\x22:251,\x22./color/setting\x22:252,\x22./core/constants\x22:253,\x22./core/environment\x22:254,\x22./core/friendly_errors/fes_core\x22:255,\x22./core/friendly_errors/file_errors\x22:256,\x22./core/friendly_errors/sketch_reader\x22:257,\x22./core/friendly_errors/stacktrace\x22:258,\n\x22./core/friendly_errors/validate_params\x22:259,\x22./core/helpers\x22:260,\x22./core/init\x22:261,\x22./core/legacy\x22:263,\x22./core/main\x22:264,\x22./core/p5.Element\x22:265,\x22./core/p5.Graphics\x22:266,\x22./core/p5.Renderer\x22:267,\x22./core/p5.Renderer2D\x22:268,\x22./core/preload\x22:269,\x22./core/rendering\x22:270,\x22./core/shape/2d_primitives\x22:271,\x22./core/shape/attributes\x22:272,\x22./core/shape/curves\x22:273,\x22./core/shape/vertex\x22:274,\x22./core/shim\x22:275,\x22./core/structure\x22:276,\x22./core/transform\x22:277,\x22./data/local_storage.js\x22:278,\x22./data/p5.TypedDict\x22:279,\n\x22./dom/dom\x22:280,\x22./events/acceleration\x22:281,\x22./events/keyboard\x22:282,\x22./events/mouse\x22:283,\x22./events/touch\x22:284,\x22./image/filters\x22:285,\x22./image/image\x22:286,\x22./image/loading_displaying\x22:287,\x22./image/p5.Image\x22:288,\x22./image/pixels\x22:289,\x22./io/files\x22:290,\x22./io/p5.Table\x22:291,\x22./io/p5.TableRow\x22:292,\x22./io/p5.XML\x22:293,\x22./math/calculation\x22:294,\x22./math/math\x22:295,\x22./math/noise\x22:296,\x22./math/p5.Vector\x22:297,\x22./math/random\x22:298,\x22./math/trigonometry\x22:299,\x22./typography/attributes\x22:300,\x22./typography/loading_displaying\x22:301,\n\x22./typography/p5.Font\x22:302,\x22./utilities/array_functions\x22:303,\x22./utilities/conversion\x22:304,\x22./utilities/string_functions\x22:305,\x22./utilities/time_date\x22:306,\x22./webgl/3d_primitives\x22:307,\x22./webgl/interaction\x22:308,\x22./webgl/light\x22:309,\x22./webgl/loading\x22:310,\x22./webgl/material\x22:311,\x22./webgl/p5.Camera\x22:312,\x22./webgl/p5.Geometry\x22:313,\x22./webgl/p5.Matrix\x22:314,\x22./webgl/p5.RenderBuffer\x22:315,\x22./webgl/p5.RendererGL\x22:318,\x22./webgl/p5.RendererGL.Immediate\x22:316,\x22./webgl/p5.RendererGL.Retained\x22:317,\x22./webgl/p5.Shader\x22:319,\n\x22./webgl/p5.Texture\x22:320,\x22./webgl/text\x22:321}],249:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$0;e$jscomp$1\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$1.default.ColorConversion\x3d{};e$jscomp$1.default.ColorConversion._hsbaToHSLA\x3dfunction(e){var t\x3de[0],r\x3de[1],n\x3de[2],o\x3d(2-r)*n/2;return 0!\x3do\x26\x26(1\x3d\x3do?r\x3d0:.5\x3eo?r/\x3d2-r:r\x3dr*n/(2-2*o)),[t,r,o,e[3]]};e$jscomp$1.default.ColorConversion._hsbaToRGBA\x3d\nfunction(e){var t\x3d6*e[0],r\x3de[1],n\x3de[2];if(0\x3d\x3d\x3dr)e\x3d[n,n,n,e[3]];else{var i,a,l\x3dMath.floor(t),u\x3dn*(1-r),c\x3dn*(1-r*(t-l));r\x3dn*(1-r*(1+l-t));t\x3d1\x3d\x3d\x3dl?(i\x3dc,a\x3dn,u):2\x3d\x3d\x3dl?(i\x3du,a\x3dn,r):3\x3d\x3d\x3dl?(i\x3du,a\x3dc,n):4\x3d\x3d\x3dl?(i\x3dr,a\x3du,n):5\x3d\x3d\x3dl?(i\x3dn,a\x3du,c):(i\x3dn,a\x3dr,u);e\x3d[i,a,t,e[3]]}return e};e$jscomp$1.default.ColorConversion._hslaToHSBA\x3dfunction(e){var t,n\x3de[1],o\x3de[2];return[e[0],2*((t\x3d.5\x3eo?(1+n)*o:o+n-o*n)-o)/t,t,e[3]]};e$jscomp$1.default.ColorConversion._hslaToRGBA\x3dfunction(e$jscomp$0){var t$jscomp$0\x3d6*e$jscomp$0[0],r$jscomp$0\x3d\ne$jscomp$0[1],n\x3de$jscomp$0[2],o\x3d[];0\x3d\x3d\x3dr$jscomp$0?o\x3d[n,n,n,e$jscomp$0[3]]:(n\x3d2*n-(r$jscomp$0\x3d.5\x3en?(1+r$jscomp$0)*n:n+r$jscomp$0-n*r$jscomp$0),o\x3dfunction(e,t,r){return 0\x3ee?e+\x3d6:6\x3c\x3de\x26\x26(e-\x3d6),1\x3ee?t+(r-t)*e:3\x3ee?r:4\x3ee?t+(r-t)*(4-e):t},o\x3d[o(2+t$jscomp$0,n,r$jscomp$0),o(t$jscomp$0,n,r$jscomp$0),o(t$jscomp$0-2,n,r$jscomp$0),e$jscomp$0[3]]);return o};e$jscomp$1.default.ColorConversion._rgbaToHSBA\x3dfunction(e){var t,r,n\x3de[0],o\x3de[1],i\x3de[2],a\x3dMath.max(n,o,i),s\x3da-Math.min(n,o,i);return 0\x3d\x3ds?r\x3dt\x3d0:(r\x3ds/a,n\x3d\x3d\x3da?\nt\x3d(o-i)/s:o\x3d\x3d\x3da?t\x3d2+(i-n)/s:i\x3d\x3d\x3da\x26\x26(t\x3d4+(n-o)/s),0\x3et?t+\x3d6:6\x3c\x3dt\x26\x26(t-\x3d6)),[t/6,r,a,e[3]]};e$jscomp$1.default.ColorConversion._rgbaToHSLA\x3dfunction(e){var t,r,n\x3de[0],o\x3de[1],i\x3de[2],a\x3dMath.max(n,o,i),s\x3dMath.min(n,o,i),l\x3da+s;s\x3da-s;return 0\x3d\x3ds?r\x3dt\x3d0:(r\x3d1\x3el?s/l:s/(2-l),n\x3d\x3d\x3da?t\x3d(o-i)/s:o\x3d\x3d\x3da?t\x3d2+(i-n)/s:i\x3d\x3d\x3da\x26\x26(t\x3d4+(n-o)/s),0\x3et?t+\x3d6:6\x3c\x3dt\x26\x26(t-\x3d6)),[t/6,r,l/2,e[3]]};r$jscomp$1.default\x3de$jscomp$1.default.ColorConversion},{\x22../core/main\x22:264}],250:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\n\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.map\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$0,d\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},f\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));\ne$jscomp$1(\x22./p5.Color\x22);e$jscomp$1(\x22../core/friendly_errors/validate_params\x22);e$jscomp$1(\x22../core/friendly_errors/file_errors\x22);e$jscomp$1(\x22../core/friendly_errors/fes_core\x22);d.default.prototype.alpha\x3dfunction(e){return d.default._validateParameters(\x22alpha\x22,arguments),this.color(e)._getAlpha()};d.default.prototype.blue\x3dfunction(e){return d.default._validateParameters(\x22blue\x22,arguments),this.color(e)._getBlue()};d.default.prototype.brightness\x3dfunction(e){return d.default._validateParameters(\x22brightness\x22,\narguments),this.color(e)._getBrightness()};d.default.prototype.color\x3dfunction(){return(d.default._validateParameters(\x22color\x22,arguments),arguments[0]instanceof d.default.Color)?arguments[0]:new d.default.Color(this,arguments[0]instanceof Array?arguments[0]:arguments)};d.default.prototype.green\x3dfunction(e){return d.default._validateParameters(\x22green\x22,arguments),this.color(e)._getGreen()};d.default.prototype.hue\x3dfunction(e){return d.default._validateParameters(\x22hue\x22,arguments),this.color(e)._getHue()};\nd.default.prototype.lerpColor\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0){d.default._validateParameters(\x22lerpColor\x22,arguments);var n,o,i,a,u\x3dthis._colorMode,c\x3dthis._colorMaxes;if(u\x3d\x3d\x3df.RGB){var s\x3de$jscomp$0.levels.map(function(e){return e/255});var l\x3dt$jscomp$0.levels.map(function(e){return e/255})}else if(u\x3d\x3d\x3df.HSB)e$jscomp$0._getBrightness(),t$jscomp$0._getBrightness(),s\x3de$jscomp$0.hsba,l\x3dt$jscomp$0.hsba;else{if(u!\x3d\x3df.HSL)throw Error(\x22\x22.concat(u,\x22cannot be used for interpolation.\x22));e$jscomp$0._getLightness();\nt$jscomp$0._getLightness();s\x3de$jscomp$0.hsla;l\x3dt$jscomp$0.hsla}return r$jscomp$0\x3dMath.max(Math.min(r$jscomp$0,1),0),void 0\x3d\x3d\x3dthis.lerp\x26\x26(this.lerp\x3dfunction(e,t,r){return r*(t-e)+e}),n\x3dthis.lerp(s[0],l[0],r$jscomp$0),o\x3dthis.lerp(s[1],l[1],r$jscomp$0),i\x3dthis.lerp(s[2],l[2],r$jscomp$0),a\x3dthis.lerp(s[3],l[3],r$jscomp$0),n*\x3dc[u][0],o*\x3dc[u][1],i*\x3dc[u][2],a*\x3dc[u][3],this.color(n,o,i,a)};d.default.prototype.lightness\x3dfunction(e){return d.default._validateParameters(\x22lightness\x22,arguments),this.color(e)._getLightness()};\nd.default.prototype.red\x3dfunction(e){return d.default._validateParameters(\x22red\x22,arguments),this.color(e)._getRed()};d.default.prototype.saturation\x3dfunction(e){return d.default._validateParameters(\x22saturation\x22,arguments),this.color(e)._getSaturation()};r$jscomp$1.default\x3dd.default},{\x22../core/constants\x22:253,\x22../core/friendly_errors/fes_core\x22:255,\x22../core/friendly_errors/file_errors\x22:256,\x22../core/friendly_errors/validate_params\x22:259,\x22../core/main\x22:264,\x22./p5.Color\x22:251,\x22core-js/modules/es.array.map\x22:161}],\n251:[function(e$jscomp$1,t$jscomp$1,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function n$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$1(\x22core-js/modules/es.array.join\x22);\ne$jscomp$1(\x22core-js/modules/es.array.map\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.constructor\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.trim\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var d\x3dn$jscomp$0(e$jscomp$1(\x22../core/main\x22)),f\x3dfunction(e){if(e\x26\x26e.__esModule)return e;\nif(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22)),h\x3dn$jscomp$0(e$jscomp$1(\x22./color_conversion\x22));d.default.Color\x3dfunction(e,\nt){if(this._storeModeAndMaxes(e._colorMode,e._colorMaxes),this.mode!\x3d\x3df.RGB\x26\x26this.mode!\x3d\x3df.HSL\x26\x26this.mode!\x3d\x3df.HSB)throw Error(\x22\x22.concat(this.mode,\x22 is an invalid colorMode.\x22));return this._array\x3dd.default.Color._parseInputs.apply(this,t),this._calculateLevels(),this};d.default.Color.prototype.toString\x3dfunction(e){var t\x3dthis.levels,r\x3dthis._array,n\x3dr[3];switch(e){case \x22#rrggbb\x22:return\x22#\x22.concat(16\x3et[0]?\x220\x22.concat(t[0].toString(16)):t[0].toString(16),16\x3et[1]?\x220\x22.concat(t[1].toString(16)):t[1].toString(16),\n16\x3et[2]?\x220\x22.concat(t[2].toString(16)):t[2].toString(16));case \x22#rrggbbaa\x22:return\x22#\x22.concat(16\x3et[0]?\x220\x22.concat(t[0].toString(16)):t[0].toString(16),16\x3et[1]?\x220\x22.concat(t[1].toString(16)):t[1].toString(16),16\x3et[2]?\x220\x22.concat(t[2].toString(16)):t[2].toString(16),16\x3et[3]?\x220\x22.concat(t[3].toString(16)):t[3].toString(16));case \x22#rgb\x22:return\x22#\x22.concat(Math.round(15*r[0]).toString(16),Math.round(15*r[1]).toString(16),Math.round(15*r[2]).toString(16));case \x22#rgba\x22:return\x22#\x22.concat(Math.round(15*r[0]).toString(16),\nMath.round(15*r[1]).toString(16),Math.round(15*r[2]).toString(16),Math.round(15*r[3]).toString(16));case \x22rgb\x22:return\x22rgb(\x22.concat(t[0],\x22, \x22,t[1],\x22, \x22,t[2],\x22)\x22);case \x22rgb%\x22:return\x22rgb(\x22.concat((100*r[0]).toPrecision(3),\x22%, \x22,(100*r[1]).toPrecision(3),\x22%, \x22,(100*r[2]).toPrecision(3),\x22%)\x22);case \x22rgba%\x22:return\x22rgba(\x22.concat((100*r[0]).toPrecision(3),\x22%, \x22,(100*r[1]).toPrecision(3),\x22%, \x22,(100*r[2]).toPrecision(3),\x22%, \x22,(100*r[3]).toPrecision(3),\x22%)\x22);case \x22hsb\x22:case \x22hsv\x22:return this.hsba||(this.hsba\x3d\nh.default._rgbaToHSBA(this._array)),\x22hsb(\x22.concat(this.hsba[0]*this.maxes[f.HSB][0],\x22, \x22,this.hsba[1]*this.maxes[f.HSB][1],\x22, \x22,this.hsba[2]*this.maxes[f.HSB][2],\x22)\x22);case \x22hsb%\x22:case \x22hsv%\x22:return this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),\x22hsb(\x22.concat((100*this.hsba[0]).toPrecision(3),\x22%, \x22,(100*this.hsba[1]).toPrecision(3),\x22%, \x22,(100*this.hsba[2]).toPrecision(3),\x22%)\x22);case \x22hsba\x22:case \x22hsva\x22:return this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),\x22hsba(\x22.concat(this.hsba[0]*\nthis.maxes[f.HSB][0],\x22, \x22,this.hsba[1]*this.maxes[f.HSB][1],\x22, \x22,this.hsba[2]*this.maxes[f.HSB][2],\x22, \x22,n,\x22)\x22);case \x22hsba%\x22:case \x22hsva%\x22:return this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),\x22hsba(\x22.concat((100*this.hsba[0]).toPrecision(3),\x22%, \x22,(100*this.hsba[1]).toPrecision(3),\x22%, \x22,(100*this.hsba[2]).toPrecision(3),\x22%, \x22,(100*n).toPrecision(3),\x22%)\x22);case \x22hsl\x22:return this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),\x22hsl(\x22.concat(this.hsla[0]*this.maxes[f.HSL][0],\x22, \x22,this.hsla[1]*\nthis.maxes[f.HSL][1],\x22, \x22,this.hsla[2]*this.maxes[f.HSL][2],\x22)\x22);case \x22hsl%\x22:return this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),\x22hsl(\x22.concat((100*this.hsla[0]).toPrecision(3),\x22%, \x22,(100*this.hsla[1]).toPrecision(3),\x22%, \x22,(100*this.hsla[2]).toPrecision(3),\x22%)\x22);case \x22hsla\x22:return this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),\x22hsla(\x22.concat(this.hsla[0]*this.maxes[f.HSL][0],\x22, \x22,this.hsla[1]*this.maxes[f.HSL][1],\x22, \x22,this.hsla[2]*this.maxes[f.HSL][2],\x22, \x22,n,\x22)\x22);case \x22hsla%\x22:return this.hsla||\n(this.hsla\x3dh.default._rgbaToHSLA(this._array)),\x22hsl(\x22.concat((100*this.hsla[0]).toPrecision(3),\x22%, \x22,(100*this.hsla[1]).toPrecision(3),\x22%, \x22,(100*this.hsla[2]).toPrecision(3),\x22%, \x22,(100*n).toPrecision(3),\x22%)\x22);default:return\x22rgba(\x22.concat(t[0],\x22,\x22,t[1],\x22,\x22,t[2],\x22,\x22,n,\x22)\x22)}};d.default.Color.prototype.setRed\x3dfunction(e){this._array[0]\x3de/this.maxes[f.RGB][0];this._calculateLevels()};d.default.Color.prototype.setGreen\x3dfunction(e){this._array[1]\x3de/this.maxes[f.RGB][1];this._calculateLevels()};d.default.Color.prototype.setBlue\x3d\nfunction(e){this._array[2]\x3de/this.maxes[f.RGB][2];this._calculateLevels()};d.default.Color.prototype.setAlpha\x3dfunction(e){this._array[3]\x3de/this.maxes[this.mode][3];this._calculateLevels()};d.default.Color.prototype._calculateLevels\x3dfunction(){for(var e\x3dthis._array,t\x3dthis.levels\x3dArray(e.length),r\x3de.length-1;0\x3c\x3dr;--r)t[r]\x3dMath.round(255*e[r]);this.hsba\x3dthis.hsla\x3dnull};d.default.Color.prototype._getAlpha\x3dfunction(){return this._array[3]*this.maxes[this.mode][3]};d.default.Color.prototype._storeModeAndMaxes\x3d\nfunction(e,t){this.mode\x3de;this.maxes\x3dt};d.default.Color.prototype._getMode\x3dfunction(){return this.mode};d.default.Color.prototype._getMaxes\x3dfunction(){return this.maxes};d.default.Color.prototype._getBlue\x3dfunction(){return this._array[2]*this.maxes[f.RGB][2]};d.default.Color.prototype._getBrightness\x3dfunction(){return this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),this.hsba[2]*this.maxes[f.HSB][2]};d.default.Color.prototype._getGreen\x3dfunction(){return this._array[1]*this.maxes[f.RGB][1]};\nd.default.Color.prototype._getHue\x3dfunction(){return this.mode\x3d\x3d\x3df.HSB?(this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),this.hsba[0]*this.maxes[f.HSB][0]):(this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),this.hsla[0]*this.maxes[f.HSL][0])};d.default.Color.prototype._getLightness\x3dfunction(){return this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),this.hsla[2]*this.maxes[f.HSL][2]};d.default.Color.prototype._getRed\x3dfunction(){return this._array[0]*this.maxes[f.RGB][0]};d.default.Color.prototype._getSaturation\x3d\nfunction(){return this.mode\x3d\x3d\x3df.HSB?(this.hsba||(this.hsba\x3dh.default._rgbaToHSBA(this._array)),this.hsba[1]*this.maxes[f.HSB][1]):(this.hsla||(this.hsla\x3dh.default._rgbaToHSLA(this._array)),this.hsla[1]*this.maxes[f.HSL][1])};var p\x3d{aliceblue:\x22#f0f8ff\x22,antiquewhite:\x22#faebd7\x22,aqua:\x22#00ffff\x22,aquamarine:\x22#7fffd4\x22,azure:\x22#f0ffff\x22,beige:\x22#f5f5dc\x22,bisque:\x22#ffe4c4\x22,black:\x22#000000\x22,blanchedalmond:\x22#ffebcd\x22,blue:\x22#0000ff\x22,blueviolet:\x22#8a2be2\x22,brown:\x22#a52a2a\x22,burlywood:\x22#deb887\x22,cadetblue:\x22#5f9ea0\x22,chartreuse:\x22#7fff00\x22,\nchocolate:\x22#d2691e\x22,coral:\x22#ff7f50\x22,cornflowerblue:\x22#6495ed\x22,cornsilk:\x22#fff8dc\x22,crimson:\x22#dc143c\x22,cyan:\x22#00ffff\x22,darkblue:\x22#00008b\x22,darkcyan:\x22#008b8b\x22,darkgoldenrod:\x22#b8860b\x22,darkgray:\x22#a9a9a9\x22,darkgreen:\x22#006400\x22,darkgrey:\x22#a9a9a9\x22,darkkhaki:\x22#bdb76b\x22,darkmagenta:\x22#8b008b\x22,darkolivegreen:\x22#556b2f\x22,darkorange:\x22#ff8c00\x22,darkorchid:\x22#9932cc\x22,darkred:\x22#8b0000\x22,darksalmon:\x22#e9967a\x22,darkseagreen:\x22#8fbc8f\x22,darkslateblue:\x22#483d8b\x22,darkslategray:\x22#2f4f4f\x22,darkslategrey:\x22#2f4f4f\x22,darkturquoise:\x22#00ced1\x22,darkviolet:\x22#9400d3\x22,\ndeeppink:\x22#ff1493\x22,deepskyblue:\x22#00bfff\x22,dimgray:\x22#696969\x22,dimgrey:\x22#696969\x22,dodgerblue:\x22#1e90ff\x22,firebrick:\x22#b22222\x22,floralwhite:\x22#fffaf0\x22,forestgreen:\x22#228b22\x22,fuchsia:\x22#ff00ff\x22,gainsboro:\x22#dcdcdc\x22,ghostwhite:\x22#f8f8ff\x22,gold:\x22#ffd700\x22,goldenrod:\x22#daa520\x22,gray:\x22#808080\x22,green:\x22#008000\x22,greenyellow:\x22#adff2f\x22,grey:\x22#808080\x22,honeydew:\x22#f0fff0\x22,hotpink:\x22#ff69b4\x22,indianred:\x22#cd5c5c\x22,indigo:\x22#4b0082\x22,ivory:\x22#fffff0\x22,khaki:\x22#f0e68c\x22,lavender:\x22#e6e6fa\x22,lavenderblush:\x22#fff0f5\x22,lawngreen:\x22#7cfc00\x22,lemonchiffon:\x22#fffacd\x22,\nlightblue:\x22#add8e6\x22,lightcoral:\x22#f08080\x22,lightcyan:\x22#e0ffff\x22,lightgoldenrodyellow:\x22#fafad2\x22,lightgray:\x22#d3d3d3\x22,lightgreen:\x22#90ee90\x22,lightgrey:\x22#d3d3d3\x22,lightpink:\x22#ffb6c1\x22,lightsalmon:\x22#ffa07a\x22,lightseagreen:\x22#20b2aa\x22,lightskyblue:\x22#87cefa\x22,lightslategray:\x22#778899\x22,lightslategrey:\x22#778899\x22,lightsteelblue:\x22#b0c4de\x22,lightyellow:\x22#ffffe0\x22,lime:\x22#00ff00\x22,limegreen:\x22#32cd32\x22,linen:\x22#faf0e6\x22,magenta:\x22#ff00ff\x22,maroon:\x22#800000\x22,mediumaquamarine:\x22#66cdaa\x22,mediumblue:\x22#0000cd\x22,mediumorchid:\x22#ba55d3\x22,mediumpurple:\x22#9370db\x22,\nmediumseagreen:\x22#3cb371\x22,mediumslateblue:\x22#7b68ee\x22,mediumspringgreen:\x22#00fa9a\x22,mediumturquoise:\x22#48d1cc\x22,mediumvioletred:\x22#c71585\x22,midnightblue:\x22#191970\x22,mintcream:\x22#f5fffa\x22,mistyrose:\x22#ffe4e1\x22,moccasin:\x22#ffe4b5\x22,navajowhite:\x22#ffdead\x22,navy:\x22#000080\x22,oldlace:\x22#fdf5e6\x22,olive:\x22#808000\x22,olivedrab:\x22#6b8e23\x22,orange:\x22#ffa500\x22,orangered:\x22#ff4500\x22,orchid:\x22#da70d6\x22,palegoldenrod:\x22#eee8aa\x22,palegreen:\x22#98fb98\x22,paleturquoise:\x22#afeeee\x22,palevioletred:\x22#db7093\x22,papayawhip:\x22#ffefd5\x22,peachpuff:\x22#ffdab9\x22,peru:\x22#cd853f\x22,\npink:\x22#ffc0cb\x22,plum:\x22#dda0dd\x22,powderblue:\x22#b0e0e6\x22,purple:\x22#800080\x22,rebeccapurple:\x22#663399\x22,red:\x22#ff0000\x22,rosybrown:\x22#bc8f8f\x22,royalblue:\x22#4169e1\x22,saddlebrown:\x22#8b4513\x22,salmon:\x22#fa8072\x22,sandybrown:\x22#f4a460\x22,seagreen:\x22#2e8b57\x22,seashell:\x22#fff5ee\x22,sienna:\x22#a0522d\x22,silver:\x22#c0c0c0\x22,skyblue:\x22#87ceeb\x22,slateblue:\x22#6a5acd\x22,slategray:\x22#708090\x22,slategrey:\x22#708090\x22,snow:\x22#fffafa\x22,springgreen:\x22#00ff7f\x22,steelblue:\x22#4682b4\x22,tan:\x22#d2b48c\x22,teal:\x22#008080\x22,thistle:\x22#d8bfd8\x22,tomato:\x22#ff6347\x22,turquoise:\x22#40e0d0\x22,violet:\x22#ee82ee\x22,\nwheat:\x22#f5deb3\x22,white:\x22#ffffff\x22,whitesmoke:\x22#f5f5f5\x22,yellow:\x22#ffff00\x22,yellowgreen:\x22#9acd32\x22};e$jscomp$1\x3d/\\s*/;t$jscomp$1\x3d/(\\d{1,3})/;var l$jscomp$0\x3d/((?:\\d+(?:\\.\\d+)?)|(?:\\.\\d+))/,u\x3dnew RegExp(\x22\x22.concat(l$jscomp$0.source,\x22%\x22)),JSCompiler_object_inline_HEX3_2237\x3d/^#([a-f0-9])([a-f0-9])([a-f0-9])$/i,JSCompiler_object_inline_HEX4_2238\x3d/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])$/i,JSCompiler_object_inline_HEX6_2239\x3d/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,JSCompiler_object_inline_HEX8_2240\x3d/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,\nJSCompiler_object_inline_RGB_2241\x3dnew RegExp([\x22^rgb\\\\(\x22,t$jscomp$1.source,\x22,\x22,t$jscomp$1.source,\x22,\x22,t$jscomp$1.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_RGB_PERCENT_2242\x3dnew RegExp([\x22^rgb\\\\(\x22,u.source,\x22,\x22,u.source,\x22,\x22,u.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_RGBA_2243\x3dnew RegExp([\x22^rgba\\\\(\x22,t$jscomp$1.source,\x22,\x22,t$jscomp$1.source,\x22,\x22,t$jscomp$1.source,\x22,\x22,l$jscomp$0.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_RGBA_PERCENT_2244\x3d\nnew RegExp([\x22^rgba\\\\(\x22,u.source,\x22,\x22,u.source,\x22,\x22,u.source,\x22,\x22,l$jscomp$0.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_HSL_2245\x3dnew RegExp([\x22^hsl\\\\(\x22,t$jscomp$1.source,\x22,\x22,u.source,\x22,\x22,u.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_HSLA_2246\x3dnew RegExp([\x22^hsla\\\\(\x22,t$jscomp$1.source,\x22,\x22,u.source,\x22,\x22,u.source,\x22,\x22,l$jscomp$0.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_HSB_2247\x3dnew RegExp([\x22^hsb\\\\(\x22,t$jscomp$1.source,\x22,\x22,u.source,\n\x22,\x22,u.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22),JSCompiler_object_inline_HSBA_2248\x3dnew RegExp([\x22^hsba\\\\(\x22,t$jscomp$1.source,\x22,\x22,u.source,\x22,\x22,u.source,\x22,\x22,l$jscomp$0.source,\x22\\\\)$\x22].join(e$jscomp$1.source),\x22i\x22);d.default.Color._parseInputs\x3dfunction(e$jscomp$0,t$jscomp$0,r,n){var o\x3darguments.length;var a\x3dthis.mode,s\x3dthis.maxes[a],l\x3d[];if(3\x3c\x3do){l[0]\x3de$jscomp$0/s[0];l[1]\x3dt$jscomp$0/s[1];l[2]\x3dr/s[2];l[3]\x3d\x22number\x22\x3d\x3dtypeof n?n/s[3]:1;for(o\x3dl.length-1;0\x3c\x3do;--o)s\x3dl[o],0\x3es?l[o]\x3d0:1\x3cs\x26\x26(l[o]\x3d1);return a\x3d\x3d\x3d\nf.HSL?h.default._hslaToRGBA(l):a\x3d\x3d\x3df.HSB?h.default._hsbaToRGBA(l):l}if(1\x3d\x3d\x3do\x26\x26\x22string\x22\x3d\x3dtypeof e$jscomp$0){a\x3de$jscomp$0.trim().toLowerCase();if(p[a])return d.default.Color._parseInputs.call(this,p[a]);if(JSCompiler_object_inline_HEX3_2237.test(a))return(l\x3dJSCompiler_object_inline_HEX3_2237.exec(a).slice(1).map(function(e){return parseInt(e+e,16)/255}))[3]\x3d1,l;if(JSCompiler_object_inline_HEX6_2239.test(a))return(l\x3dJSCompiler_object_inline_HEX6_2239.exec(a).slice(1).map(function(e){return parseInt(e,\n16)/255}))[3]\x3d1,l;if(JSCompiler_object_inline_HEX4_2238.test(a))return l\x3dJSCompiler_object_inline_HEX4_2238.exec(a).slice(1).map(function(e){return parseInt(e+e,16)/255});if(JSCompiler_object_inline_HEX8_2240.test(a))return l\x3dJSCompiler_object_inline_HEX8_2240.exec(a).slice(1).map(function(e){return parseInt(e,16)/255});if(JSCompiler_object_inline_RGB_2241.test(a))return(l\x3dJSCompiler_object_inline_RGB_2241.exec(a).slice(1).map(function(e){return e/255}))[3]\x3d1,l;if(JSCompiler_object_inline_RGB_PERCENT_2242.test(a))return(l\x3d\nJSCompiler_object_inline_RGB_PERCENT_2242.exec(a).slice(1).map(function(e){return parseFloat(e)/100}))[3]\x3d1,l;if(JSCompiler_object_inline_RGBA_2243.test(a))return l\x3dJSCompiler_object_inline_RGBA_2243.exec(a).slice(1).map(function(e,t){return 3\x3d\x3d\x3dt?parseFloat(e):e/255});if(JSCompiler_object_inline_RGBA_PERCENT_2244.test(a))return l\x3dJSCompiler_object_inline_RGBA_PERCENT_2244.exec(a).slice(1).map(function(e,t){return 3\x3d\x3d\x3dt?parseFloat(e):parseFloat(e)/100});if(JSCompiler_object_inline_HSL_2245.test(a)?\n(l\x3dJSCompiler_object_inline_HSL_2245.exec(a).slice(1).map(function(e,t){return 0\x3d\x3d\x3dt?parseInt(e,10)/360:parseInt(e,10)/100}))[3]\x3d1:JSCompiler_object_inline_HSLA_2246.test(a)\x26\x26(l\x3dJSCompiler_object_inline_HSLA_2246.exec(a).slice(1).map(function(e,t){return 0\x3d\x3d\x3dt?parseInt(e,10)/360:3\x3d\x3d\x3dt?parseFloat(e):parseInt(e,10)/100})),(l\x3dl.map(function(e){return Math.max(Math.min(e,1),0)})).length)return h.default._hslaToRGBA(l);if(JSCompiler_object_inline_HSB_2247.test(a)?(l\x3dJSCompiler_object_inline_HSB_2247.exec(a).slice(1).map(function(e,\nt){return 0\x3d\x3d\x3dt?parseInt(e,10)/360:parseInt(e,10)/100}))[3]\x3d1:JSCompiler_object_inline_HSBA_2248.test(a)\x26\x26(l\x3dJSCompiler_object_inline_HSBA_2248.exec(a).slice(1).map(function(e,t){return 0\x3d\x3d\x3dt?parseInt(e,10)/360:3\x3d\x3d\x3dt?parseFloat(e):parseInt(e,10)/100})),l.length){for(o\x3dl.length-1;0\x3c\x3do;--o)l[o]\x3dMath.max(Math.min(l[o],1),0);return h.default._hsbaToRGBA(l)}l\x3d[1,1,1,1]}else{if(1!\x3d\x3do\x26\x262!\x3d\x3do||\x22number\x22!\x3dtypeof e$jscomp$0)throw Error(\x22\x22.concat(arguments,\x22is not a valid color representation.\x22));l[0]\x3de$jscomp$0/\ns[2];l[1]\x3de$jscomp$0/s[2];l[2]\x3de$jscomp$0/s[2];l[3]\x3d\x22number\x22\x3d\x3dtypeof t$jscomp$0?t$jscomp$0/s[3]:1;l\x3dl.map(function(e){return Math.max(Math.min(e,1),0)})}return l};r$jscomp$0.default\x3dd.default.Color},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./color_conversion\x22:249,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.constructor\x22:180,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\n\x22core-js/modules/es.string.trim\x22:193}],252:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function u(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return u\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.fill\x22);Object.defineProperty(r$jscomp$0,\n\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},l\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3du();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||\ni.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));e$jscomp$1(\x22./p5.Color\x22);s.default.prototype.background\x3dfunction(){var e;return(e\x3dthis._renderer).background.apply(e,arguments),this};s.default.prototype.clear\x3dfunction(){return this._renderer.clear((0\x3e\x3darguments.length?void 0:arguments[0])||0,(1\x3e\x3darguments.length?void 0:arguments[1])||0,(2\x3e\x3darguments.length?void 0:arguments[2])||0,(3\x3e\x3darguments.length?void 0:arguments[3])||0),this};\ns.default.prototype.colorMode\x3dfunction(e,t,r,n,o){if(s.default._validateParameters(\x22colorMode\x22,arguments),e\x3d\x3d\x3dl.RGB||e\x3d\x3d\x3dl.HSB||e\x3d\x3d\x3dl.HSL){this._colorMode\x3de;var i\x3dthis._colorMaxes[e];2\x3d\x3d\x3darguments.length?(i[0]\x3dt,i[1]\x3dt,i[2]\x3dt,i[3]\x3dt):4\x3d\x3d\x3darguments.length?(i[0]\x3dt,i[1]\x3dr,i[2]\x3dn):5\x3d\x3d\x3darguments.length\x26\x26(i[0]\x3dt,i[1]\x3dr,i[2]\x3dn,i[3]\x3do)}return this};s.default.prototype.fill\x3dfunction(){var e;return this._renderer._setProperty(\x22_fillSet\x22,!0),this._renderer._setProperty(\x22_doFill\x22,!0),(e\x3dthis._renderer).fill.apply(e,\narguments),this};s.default.prototype.noFill\x3dfunction(){return this._renderer._setProperty(\x22_doFill\x22,!1),this};s.default.prototype.noStroke\x3dfunction(){return this._renderer._setProperty(\x22_doStroke\x22,!1),this};s.default.prototype.stroke\x3dfunction(){var e;return this._renderer._setProperty(\x22_strokeSet\x22,!0),this._renderer._setProperty(\x22_doStroke\x22,!0),(e\x3dthis._renderer).stroke.apply(e,arguments),this};s.default.prototype.erase\x3dfunction(){return this._renderer.erase(0\x3carguments.length\x26\x26void 0!\x3d\x3darguments[0]?\narguments[0]:255,1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:255),this};s.default.prototype.noErase\x3dfunction(){return this._renderer.noErase(),this};r$jscomp$0.default\x3ds.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./p5.Color\x22:251,\x22core-js/modules/es.array.fill\x22:151}],253:[function(e,t,r){Object.defineProperty(r,\x22__esModule\x22,{value:!0});r.BEZIER\x3dr.QUADRATIC\x3dr.LINEAR\x3dr._CTX_MIDDLE\x3dr._DEFAULT_LEADMULT\x3dr._DEFAULT_TEXT_FILL\x3dr.WORD\x3dr.CHAR\x3dr.BOLDITALIC\x3dr.BOLD\x3dr.ITALIC\x3dr.NORMAL\x3dr.BLUR\x3d\nr.ERODE\x3dr.DILATE\x3dr.POSTERIZE\x3dr.INVERT\x3dr.OPAQUE\x3dr.GRAY\x3dr.THRESHOLD\x3dr.BURN\x3dr.DODGE\x3dr.SOFT_LIGHT\x3dr.HARD_LIGHT\x3dr.OVERLAY\x3dr.REPLACE\x3dr.SCREEN\x3dr.MULTIPLY\x3dr.EXCLUSION\x3dr.SUBTRACT\x3dr.DIFFERENCE\x3dr.LIGHTEST\x3dr.DARKEST\x3dr.ADD\x3dr.REMOVE\x3dr.BLEND\x3dr.UP_ARROW\x3dr.TAB\x3dr.SHIFT\x3dr.RIGHT_ARROW\x3dr.RETURN\x3dr.OPTION\x3dr.LEFT_ARROW\x3dr.ESCAPE\x3dr.ENTER\x3dr.DOWN_ARROW\x3dr.DELETE\x3dr.CONTROL\x3dr.BACKSPACE\x3dr.ALT\x3dr.AUTO\x3dr.HSL\x3dr.HSB\x3dr.RGB\x3dr.MITER\x3dr.BEVEL\x3dr.ROUND\x3dr.SQUARE\x3dr.PROJECT\x3dr.PIE\x3dr.CHORD\x3dr.OPEN\x3dr.CLOSE\x3dr.TESS\x3dr.QUAD_STRIP\x3dr.QUADS\x3dr.TRIANGLE_STRIP\x3d\nr.TRIANGLE_FAN\x3dr.TRIANGLES\x3dr.LINE_LOOP\x3dr.LINE_STRIP\x3dr.LINES\x3dr.POINTS\x3dr.BASELINE\x3dr.BOTTOM\x3dr.TOP\x3dr.CENTER\x3dr.LEFT\x3dr.RIGHT\x3dr.RADIUS\x3dr.CORNERS\x3dr.CORNER\x3dr.RAD_TO_DEG\x3dr.DEG_TO_RAD\x3dr.RADIANS\x3dr.DEGREES\x3dr.TWO_PI\x3dr.TAU\x3dr.QUARTER_PI\x3dr.PI\x3dr.HALF_PI\x3dr.WAIT\x3dr.TEXT\x3dr.MOVE\x3dr.HAND\x3dr.CROSS\x3dr.ARROW\x3dr.WEBGL\x3dr.P2D\x3dr.VERSION\x3dvoid 0;r.FALLBACK\x3dr.LABEL\x3dr.AXES\x3dr.GRID\x3dr._DEFAULT_FILL\x3dr._DEFAULT_STROKE\x3dr.PORTRAIT\x3dr.LANDSCAPE\x3dr.MIRROR\x3dr.CLAMP\x3dr.REPEAT\x3dr.NEAREST\x3dr.IMAGE\x3dr.IMMEDIATE\x3dr.TEXTURE\x3dr.FILL\x3dr.STROKE\x3dr.CURVE\x3dvoid 0;e\x3dMath.PI;\nr.VERSION\x3d\x221.4.2\x22;r.P2D\x3d\x22p2d\x22;r.WEBGL\x3d\x22webgl\x22;r.ARROW\x3d\x22default\x22;r.CROSS\x3d\x22crosshair\x22;r.HAND\x3d\x22pointer\x22;r.MOVE\x3d\x22move\x22;r.TEXT\x3d\x22text\x22;r.WAIT\x3d\x22wait\x22;r.HALF_PI\x3de/2;r.PI\x3de;r.QUARTER_PI\x3de/4;r.TAU\x3d2*e;r.TWO_PI\x3d2*e;r.DEGREES\x3d\x22degrees\x22;r.RADIANS\x3d\x22radians\x22;r.DEG_TO_RAD\x3de/180;r.RAD_TO_DEG\x3d180/e;r.CORNER\x3d\x22corner\x22;r.CORNERS\x3d\x22corners\x22;r.RADIUS\x3d\x22radius\x22;r.RIGHT\x3d\x22right\x22;r.LEFT\x3d\x22left\x22;r.CENTER\x3d\x22center\x22;r.TOP\x3d\x22top\x22;r.BOTTOM\x3d\x22bottom\x22;r.BASELINE\x3d\x22alphabetic\x22;r.POINTS\x3d0;r.LINES\x3d1;r.LINE_STRIP\x3d3;r.LINE_LOOP\x3d2;r.TRIANGLES\x3d\n4;r.TRIANGLE_FAN\x3d6;r.TRIANGLE_STRIP\x3d5;r.QUADS\x3d\x22quads\x22;r.QUAD_STRIP\x3d\x22quad_strip\x22;r.TESS\x3d\x22tess\x22;r.CLOSE\x3d\x22close\x22;r.OPEN\x3d\x22open\x22;r.CHORD\x3d\x22chord\x22;r.PIE\x3d\x22pie\x22;r.PROJECT\x3d\x22square\x22;r.SQUARE\x3d\x22butt\x22;r.ROUND\x3d\x22round\x22;r.BEVEL\x3d\x22bevel\x22;r.MITER\x3d\x22miter\x22;r.RGB\x3d\x22rgb\x22;r.HSB\x3d\x22hsb\x22;r.HSL\x3d\x22hsl\x22;r.AUTO\x3d\x22auto\x22;r.ALT\x3d18;r.BACKSPACE\x3d8;r.CONTROL\x3d17;r.DELETE\x3d46;r.DOWN_ARROW\x3d40;r.ENTER\x3d13;r.ESCAPE\x3d27;r.LEFT_ARROW\x3d37;r.OPTION\x3d18;r.RETURN\x3d13;r.RIGHT_ARROW\x3d39;r.SHIFT\x3d16;r.TAB\x3d9;r.UP_ARROW\x3d38;r.BLEND\x3d\x22source-over\x22;r.REMOVE\x3d\x22destination-out\x22;\nr.ADD\x3d\x22lighter\x22;r.DARKEST\x3d\x22darken\x22;r.LIGHTEST\x3d\x22lighten\x22;r.DIFFERENCE\x3d\x22difference\x22;r.SUBTRACT\x3d\x22subtract\x22;r.EXCLUSION\x3d\x22exclusion\x22;r.MULTIPLY\x3d\x22multiply\x22;r.SCREEN\x3d\x22screen\x22;r.REPLACE\x3d\x22copy\x22;r.OVERLAY\x3d\x22overlay\x22;r.HARD_LIGHT\x3d\x22hard-light\x22;r.SOFT_LIGHT\x3d\x22soft-light\x22;r.DODGE\x3d\x22color-dodge\x22;r.BURN\x3d\x22color-burn\x22;r.THRESHOLD\x3d\x22threshold\x22;r.GRAY\x3d\x22gray\x22;r.OPAQUE\x3d\x22opaque\x22;r.INVERT\x3d\x22invert\x22;r.POSTERIZE\x3d\x22posterize\x22;r.DILATE\x3d\x22dilate\x22;r.ERODE\x3d\x22erode\x22;r.BLUR\x3d\x22blur\x22;r.NORMAL\x3d\x22normal\x22;r.ITALIC\x3d\x22italic\x22;r.BOLD\x3d\x22bold\x22;r.BOLDITALIC\x3d\n\x22bold italic\x22;r.CHAR\x3d\x22CHAR\x22;r.WORD\x3d\x22WORD\x22;r._DEFAULT_TEXT_FILL\x3d\x22#000000\x22;r._DEFAULT_LEADMULT\x3d1.25;r._CTX_MIDDLE\x3d\x22middle\x22;r.LINEAR\x3d\x22linear\x22;r.QUADRATIC\x3d\x22quadratic\x22;r.BEZIER\x3d\x22bezier\x22;r.CURVE\x3d\x22curve\x22;r.STROKE\x3d\x22stroke\x22;r.FILL\x3d\x22fill\x22;r.TEXTURE\x3d\x22texture\x22;r.IMMEDIATE\x3d\x22immediate\x22;r.IMAGE\x3d\x22image\x22;r.NEAREST\x3d\x22nearest\x22;r.REPEAT\x3d\x22repeat\x22;r.CLAMP\x3d\x22clamp\x22;r.MIRROR\x3d\x22mirror\x22;r.LANDSCAPE\x3d\x22landscape\x22;r.PORTRAIT\x3d\x22portrait\x22;r._DEFAULT_STROKE\x3d\x22#000000\x22;r._DEFAULT_FILL\x3d\x22#FFFFFF\x22;r.GRID\x3d\x22grid\x22;r.AXES\x3d\x22axes\x22;r.LABEL\x3d\x22label\x22;\nr.FALLBACK\x3d\x22fallback\x22},{}],254:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}function c(){return window.innerWidth||document.documentElement\x26\x26document.documentElement.clientWidth||\ndocument.body\x26\x26document.body.clientWidth||0}function d(){return window.innerHeight||document.documentElement\x26\x26document.documentElement.clientHeight||document.body\x26\x26document.body.clientHeight||0}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.string.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.search\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);\nObject.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$1\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,\no):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22./constants\x22));var l\x3d[e$jscomp$1.ARROW,e$jscomp$1.CROSS,e$jscomp$1.HAND,e$jscomp$1.MOVE,e$jscomp$1.TEXT,e$jscomp$1.WAIT];o$jscomp$0.default.prototype._frameRate\x3d0;o$jscomp$0.default.prototype._lastFrameTime\x3dwindow.performance.now();o$jscomp$0.default.prototype._targetFrameRate\x3d60;var u\x3dwindow.print;o$jscomp$0.default.prototype.print\x3dfunction(){var e;arguments.length?(e\x3dconsole).log.apply(e,\narguments):u()};o$jscomp$0.default.prototype.frameCount\x3d0;o$jscomp$0.default.prototype.deltaTime\x3d0;o$jscomp$0.default.prototype.focused\x3ddocument.hasFocus();o$jscomp$0.default.prototype.cursor\x3dfunction(e,t,r){var n\x3d\x22auto\x22,o\x3dthis._curElement.elt;l.includes(e)?n\x3de:\x22string\x22\x3d\x3dtypeof e\x26\x26(n\x3d\x22\x22,t\x26\x26r\x26\x26\x22number\x22\x3d\x3dtypeof t\x26\x26\x22number\x22\x3d\x3dtypeof r\x26\x26(n\x3d\x22\x22.concat(t,\x22 \x22).concat(r)),n\x3d\x22http://\x22\x3d\x3d\x3de.substring(0,7)||\x22https://\x22\x3d\x3d\x3de.substring(0,8)?\x22url(\x22.concat(e,\x22) \x22).concat(n,\x22, auto\x22):/\\.(cur|jpg|jpeg|gif|png|CUR|JPG|JPEG|GIF|PNG)$/.test(e)?\n\x22url(\x22.concat(e,\x22) \x22).concat(n,\x22, auto\x22):e);o.style.cursor\x3dn};o$jscomp$0.default.prototype.frameRate\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22frameRate\x22,arguments),\x22number\x22!\x3dtypeof e||0\x3ee?this._frameRate:(this._setProperty(\x22_targetFrameRate\x22,e),0\x3d\x3d\x3de\x26\x26this._setProperty(\x22_frameRate\x22,e),this)};o$jscomp$0.default.prototype.getFrameRate\x3dfunction(){return this.frameRate()};o$jscomp$0.default.prototype.setFrameRate\x3dfunction(e){return this.frameRate(e)};o$jscomp$0.default.prototype.noCursor\x3d\nfunction(){this._curElement.elt.style.cursor\x3d\x22none\x22};o$jscomp$0.default.prototype.displayWidth\x3dscreen.width;o$jscomp$0.default.prototype.displayHeight\x3dscreen.height;o$jscomp$0.default.prototype.windowWidth\x3dc();o$jscomp$0.default.prototype.windowHeight\x3dd();o$jscomp$0.default.prototype._onresize\x3dfunction(e){this._setProperty(\x22windowWidth\x22,c());this._setProperty(\x22windowHeight\x22,d());var t,r\x3dthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof r.windowResized\x26\x26(void 0\x3d\x3d\x3d(t\x3dr.windowResized(e))||t||e.preventDefault())};\no$jscomp$0.default.prototype.width\x3d0;o$jscomp$0.default.prototype.height\x3d0;o$jscomp$0.default.prototype.fullscreen\x3dfunction(e$jscomp$0){if(o$jscomp$0.default._validateParameters(\x22fullscreen\x22,arguments),void 0\x3d\x3d\x3de$jscomp$0)return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;if(e$jscomp$0){var e\x3ddocument.documentElement;if(!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled))throw Error(\x22Fullscreen not enabled in this browser.\x22);\ne.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.msRequestFullscreen\x26\x26e.msRequestFullscreen()}else document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen\x26\x26document.msExitFullscreen()};o$jscomp$0.default.prototype.pixelDensity\x3dfunction(e){var t;return o$jscomp$0.default._validateParameters(\x22pixelDensity\x22,\narguments),\x22number\x22\x3d\x3dtypeof e?(e!\x3d\x3dthis._pixelDensity\x26\x26(this._pixelDensity\x3de),(t\x3dthis).resizeCanvas(this.width,this.height,!0)):t\x3dthis._pixelDensity,t};o$jscomp$0.default.prototype.displayDensity\x3dfunction(){return window.devicePixelRatio};o$jscomp$0.default.prototype.getURL\x3dfunction(){return location.href};o$jscomp$0.default.prototype.getURLPath\x3dfunction(){return location.pathname.split(\x22/\x22).filter(function(e){return\x22\x22!\x3d\x3de})};o$jscomp$0.default.prototype.getURLParams\x3dfunction(){for(var e,t\x3d/[?\x26]([^\x26\x3d]+)(?:[\x26\x3d])([^\x26\x3d]+)/gim,\nr\x3d{};null!\x3d(e\x3dt.exec(location.search));)e.index\x3d\x3d\x3dt.lastIndex\x26\x26t.lastIndex++,r[e[1]]\x3de[2];return r};r$jscomp$0.default\x3do$jscomp$0.default},{\x22./constants\x22:253,\x22./main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.search\x22:190,\x22core-js/modules/es.string.split\x22:191}],255:[function(r$jscomp$0,e$jscomp$1,t$jscomp$1){function l(r,\nn){n\x3dn||console.log.bind(console);i||a();i.some(function(e){if(r.message\x26\x26null!\x3d\x3dr.message.match(\x22\\\\W?\x22.concat(e.name,\x22\\\\W\x22))){var t\x3d\x22function\x22\x3d\x3d\x3de.type?\x22\x22.concat(e.name,\x22()\x22):e.name;return n(\x22Did you just try to use p5.js\x27s \x22.concat(t,\x22 \x22).concat(e.type,\x22? If so, you may want to move it into your sketch\x27s setup() function.\\n\\nFor more details, see: \x22).concat(\x22https://github.com/processing/p5.js/wiki/p5.js-overview#why-cant-i-assign-variables-using-p5-functions-and-variables-before-setup\x22)),!0}})}\nr$jscomp$0(\x22core-js/modules/es.symbol\x22);r$jscomp$0(\x22core-js/modules/es.symbol.description\x22);r$jscomp$0(\x22core-js/modules/es.symbol.iterator\x22);r$jscomp$0(\x22core-js/modules/es.array.concat\x22);r$jscomp$0(\x22core-js/modules/es.array.filter\x22);r$jscomp$0(\x22core-js/modules/es.array.for-each\x22);r$jscomp$0(\x22core-js/modules/es.array.includes\x22);r$jscomp$0(\x22core-js/modules/es.array.iterator\x22);r$jscomp$0(\x22core-js/modules/es.array.join\x22);r$jscomp$0(\x22core-js/modules/es.array.map\x22);r$jscomp$0(\x22core-js/modules/es.array.slice\x22);\nr$jscomp$0(\x22core-js/modules/es.array.some\x22);r$jscomp$0(\x22core-js/modules/es.function.name\x22);r$jscomp$0(\x22core-js/modules/es.object.assign\x22);r$jscomp$0(\x22core-js/modules/es.object.get-own-property-names\x22);r$jscomp$0(\x22core-js/modules/es.object.keys\x22);r$jscomp$0(\x22core-js/modules/es.object.to-string\x22);r$jscomp$0(\x22core-js/modules/es.regexp.constructor\x22);r$jscomp$0(\x22core-js/modules/es.regexp.exec\x22);r$jscomp$0(\x22core-js/modules/es.regexp.to-string\x22);r$jscomp$0(\x22core-js/modules/es.string.iterator\x22);r$jscomp$0(\x22core-js/modules/es.string.match\x22);\nr$jscomp$0(\x22core-js/modules/es.string.replace\x22);r$jscomp$0(\x22core-js/modules/es.string.search\x22);r$jscomp$0(\x22core-js/modules/es.string.split\x22);r$jscomp$0(\x22core-js/modules/web.dom-collections.for-each\x22);r$jscomp$0(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(t$jscomp$1,\x22__esModule\x22,{value:!0});t$jscomp$1.default\x3dvoid 0;var n$jscomp$0,o\x3d(n$jscomp$0\x3dr$jscomp$0(\x22../main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};r$jscomp$0(\x22../internationalization\x22);var i\x3dnull,a\x3d\nnull;o.default._friendlyError\x3do.default._checkForUserDefinedFunctions\x3do.default._fesErrorMonitor\x3dfunction(){};i\x3dnull;a\x3dfunction(){function e$jscomp$0(r){return Object.getOwnPropertyNames(r).filter(function(e){return\x22_\x22!\x3d\x3de[0]\x26\x26!(e in t$jscomp$0)\x26\x26(t$jscomp$0[e]\x3d!0)}).map(function(e){var t;return t\x3d\x22function\x22\x3d\x3dtypeof r[e]?\x22function\x22:e\x3d\x3d\x3de.toUpperCase()?\x22constant\x22:\x22variable\x22,{name:e,type:t}})}var t$jscomp$0\x3d{};(i\x3d[].concat(e$jscomp$0(o.default.prototype),e$jscomp$0(r$jscomp$0(\x22../constants\x22)))).sort(function(e,\nt){return t.name.length-e.name.length})};o.default.prototype._helpForMisusedAtTopLevelCode\x3dl;\x22complete\x22!\x3d\x3ddocument.readyState\x26\x26(window.addEventListener(\x22error\x22,l,!1),window.addEventListener(\x22load\x22,function(){window.removeEventListener(\x22error\x22,l,!1)}));t$jscomp$1.default\x3do.default},{\x22../constants\x22:253,\x22../internationalization\x22:262,\x22../main\x22:264,\x22./browser_errors\x22:void 0,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.includes\x22:156,\n\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.some\x22:163,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/es.object.get-own-property-names\x22:174,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.constructor\x22:180,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\n\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.search\x22:190,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.for-each\x22:228,\x22core-js/modules/web.dom-collections.iterator\x22:229}],256:[function(e,t,r){Object.defineProperty(r,\x22__esModule\x22,{value:!0});r.default\x3dvoid 0;\nvar n;t\x3d(n\x3de(\x22../main\x22))\x26\x26n.__esModule?n:{default:n};e(\x22../internationalization\x22);t.default._friendlyFileLoadError\x3dfunction(){};r.default\x3dt.default},{\x22../internationalization\x22:262,\x22../main\x22:264}],257:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function v(){if(\x22function\x22!\x3d\ntypeof WeakMap)return null;var e\x3dnew WeakMap;return v\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.flat-map\x22);e$jscomp$1(\x22core-js/modules/es.array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.array.from\x22);e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);\ne$jscomp$1(\x22core-js/modules/es.array.map\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.array.unscopables.flat-map\x22);e$jscomp$1(\x22core-js/modules/es.object.keys\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.constructor\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.string.match\x22);\ne$jscomp$1(\x22core-js/modules/es.string.split\x22);e$jscomp$1(\x22core-js/modules/es.string.trim\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.for-each\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;t$jscomp$0\x3dfunction(e){return e\x26\x26e.__esModule?e:{default:e}}(e$jscomp$1(\x22../main\x22));e$jscomp$1(\x22../internationalization\x22);(function(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};\nvar t\x3dv();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}return r.default\x3de,t\x26\x26t.set(e,r),r})(e$jscomp$1(\x22../constants\x22));t$jscomp$0.default._fesCodeReader\x3dfunction(){};r$jscomp$0.default\x3dt$jscomp$0.default},{\x22../constants\x22:253,\x22../internationalization\x22:262,\x22../main\x22:264,\x22core-js/modules/es.array.filter\x22:152,\n\x22core-js/modules/es.array.flat-map\x22:153,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.unscopables.flat-map\x22:165,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.constructor\x22:180,\x22core-js/modules/es.regexp.exec\x22:181,\n\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.trim\x22:193,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.for-each\x22:228,\x22core-js/modules/web.dom-collections.iterator\x22:229}],258:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){function i$jscomp$0(){var t$jscomp$0\x3d\n/(^|@)\\S+:\\d+/,r$jscomp$0\x3d/^\\s*at .*(\\S+:\\d+|\\(native\\))/m,n$jscomp$0\x3d/^(eval@)?(\\[native code])?$/;return{parse:function(e){return void 0!\x3d\x3de.stacktrace||void 0!\x3d\x3de[\x22opera#sourceloc\x22]?this.parseOpera(e):e.stack\x26\x26e.stack.match(r$jscomp$0)?this.parseV8OrIE(e):e.stack?this.parseFFOrSafari(e):void 0},extractLocation:function(e){if(-1\x3d\x3d\x3de.indexOf(\x22:\x22))return[e];e\x3d/(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(e.replace(/[()]/g,\x22\x22));return[e[1],e[2]||void 0,e[3]||void 0]},parseV8OrIE:function(e$jscomp$0){return e$jscomp$0.stack.split(\x22\\n\x22).filter(function(e){return!!e.match(r$jscomp$0)},\nthis).map(function(e){-1\x3ce.indexOf(\x22(eval \x22)\x26\x26(e\x3de.replace(/eval code/g,\x22eval\x22).replace(/(\\(eval at [^()]*)|(\\),.*$)/g,\x22\x22));var t\x3de.replace(/^\\s+/,\x22\x22).replace(/\\(eval code/g,\x22(\x22),r\x3dt.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/);t\x3d(r?t.replace(r[0],\x22\x22):t).split(/\\s+/).slice(1);r\x3dthis.extractLocation(r?r[1]:t.pop());return{functionName:t.join(\x22 \x22)||void 0,fileName:-1\x3c[\x22eval\x22,\x22\\x3canonymous\\x3e\x22].indexOf(r[0])?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e}},this)},parseFFOrSafari:function(e$jscomp$0){return e$jscomp$0.stack.split(\x22\\n\x22).filter(function(e){return!e.match(n$jscomp$0)},\nthis).map(function(e){if(-1\x3ce.indexOf(\x22 \\x3e eval\x22)\x26\x26(e\x3de.replace(/ line (\\d+)(?: \x3e eval line \\d+)* \x3e eval:\\d+:\\d+/g,\x22:$1\x22)),-1\x3d\x3d\x3de.indexOf(\x22@\x22)\x26\x26-1\x3d\x3d\x3de.indexOf(\x22:\x22))return{functionName:e};var t\x3d/((.*\x22.+\x22[^@]*)?[^@]*)(?:@)/,r\x3de.match(t);r\x3dr\x26\x26r[1]?r[1]:void 0;t\x3dthis.extractLocation(e.replace(t,\x22\x22));return{functionName:r,fileName:t[0],lineNumber:t[1],columnNumber:t[2],source:e}},this)},parseOpera:function(e){return!e.stacktrace||-1\x3ce.message.indexOf(\x22\\n\x22)\x26\x26e.message.split(\x22\\n\x22).length\x3ee.stacktrace.split(\x22\\n\x22).length?\nthis.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){var t\x3d/Line (\\d+).*script (?:in )?(\\S+)/i;e\x3de.message.split(\x22\\n\x22);for(var n\x3d[],o\x3d2,i\x3de.length;o\x3ci;o+\x3d2){var a\x3dt.exec(e[o]);a\x26\x26n.push({fileName:a[2],lineNumber:a[1],source:e[o]})}return n},parseOpera10:function(e){var t\x3d/Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;e\x3de.stacktrace.split(\x22\\n\x22);for(var n\x3d[],o\x3d0,i\x3de.length;o\x3ci;o+\x3d2){var a\x3dt.exec(e[o]);a\x26\x26n.push({functionName:a[3]||void 0,fileName:a[2],\nlineNumber:a[1],source:e[o]})}return n},parseOpera11:function(e$jscomp$0){return e$jscomp$0.stack.split(\x22\\n\x22).filter(function(e){return!!e.match(t$jscomp$0)\x26\x26!e.match(/^Error created at/)},this).map(function(e){var t,r\x3de.split(\x22@\x22),n\x3dthis.extractLocation(r.pop());r\x3dr.shift()||\x22\x22;var i\x3dr.replace(/\x3canonymous function(: (\\w+))?\x3e/,\x22$2\x22).replace(/\\([^)]*\\)/g,\x22\x22)||void 0;return r.match(/\\(([^)]*)\\)/)\x26\x26(t\x3dr.replace(/^[^(]+\\(([^)]*)\\)$/,\x22$1\x22)),{functionName:i,args:void 0\x3d\x3d\x3dt||\x22[arguments not available]\x22\x3d\x3d\x3d\nt?void 0:t.split(\x22,\x22),fileName:n[0],lineNumber:n[1],columnNumber:n[2],source:e}},this)}}}e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.join\x22);e$jscomp$1(\x22core-js/modules/es.array.map\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.string.match\x22);e$jscomp$1(\x22core-js/modules/es.string.replace\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);Object.defineProperty(r$jscomp$1,\n\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1;e$jscomp$1\x3d(n$jscomp$1\x3de$jscomp$1(\x22../main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};e$jscomp$1.default._getErrorStackParser\x3dfunction(){return new i$jscomp$0};r$jscomp$1.default\x3de$jscomp$1.default},{\x22../main\x22:264,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.regexp.exec\x22:181,\n\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.split\x22:191}],259:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return a\x3dfunction(){return e},e}function s(e$jscomp$0){return(s\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}\ne$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.join\x22);e$jscomp$1(\x22core-js/modules/es.array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.map\x22);\ne$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.function.name\x22);e$jscomp$1(\x22core-js/modules/es.map\x22);e$jscomp$1(\x22core-js/modules/es.number.constructor\x22);e$jscomp$1(\x22core-js/modules/es.object.get-prototype-of\x22);e$jscomp$1(\x22core-js/modules/es.object.keys\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.reflect.construct\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.set\x22);\ne$jscomp$1(\x22core-js/modules/es.string.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.for-each\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;t$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};(function(e){if(!(e\x26\x26e.__esModule||null\x3d\x3d\x3d\ne||\x22object\x22!\x3d\x3ds(e)\x26\x26\x22function\x22!\x3dtypeof e)){var t\x3da();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r)}})(e$jscomp$1(\x22../constants\x22));e$jscomp$1(\x22../internationalization\x22);t$jscomp$0.default._validateParameters\x3dt$jscomp$0.default._clearValidateParamsCache\x3dfunction(){};\nr$jscomp$0.default\x3dt$jscomp$0.default},{\x22../../../docs/parameterData.json\x22:void 0,\x22../constants\x22:253,\x22../internationalization\x22:262,\x22../main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.last-index-of\x22:160,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.function.name\x22:166,\n\x22core-js/modules/es.map\x22:167,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.object.get-prototype-of\x22:175,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.reflect.construct\x22:179,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.set\x22:183,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.symbol\x22:196,\n\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.for-each\x22:228,\x22core-js/modules/web.dom-collections.iterator\x22:229}],260:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s(){if(\x22function\x22!\x3d\ntypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var i$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;\ni\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22./constants\x22));r$jscomp$0.default\x3d{modeAdjust:function(e,t,r,n,o){return o\x3d\x3d\x3di$jscomp$0.CORNER?{x:e,y:t,w:r,h:n}:o\x3d\x3d\x3di$jscomp$0.CORNERS?{x:e,y:t,w:r-e,h:n-t}:o\x3d\x3d\x3di$jscomp$0.RADIUS?{x:e-r,y:t-n,w:2*r,h:2*n}:o\x3d\x3d\x3di$jscomp$0.CENTER?{x:e-.5*r,y:t-.5*n,w:r,h:n}:void 0}}},{\x22./constants\x22:253}],261:[function(e$jscomp$0,t$jscomp$0,r){e$jscomp$0(\x22core-js/modules/es.array.iterator\x22);e$jscomp$0(\x22core-js/modules/es.object.to-string\x22);\ne$jscomp$0(\x22core-js/modules/es.promise\x22);e$jscomp$0(\x22core-js/modules/es.string.iterator\x22);e$jscomp$0(\x22core-js/modules/web.dom-collections.iterator\x22);var n,o\x3d(n\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};e$jscomp$0(\x22./internationalization\x22);e$jscomp$0\x3dPromise.resolve();Promise.all([new Promise(function(e,t){\x22complete\x22\x3d\x3d\x3ddocument.readyState?e():window.addEventListener(\x22load\x22,e,!1)}),e$jscomp$0]).then(function(){void 0\x3d\x3d\x3dwindow._setupDone?window.mocha||(window.setup\x26\x26\x22function\x22\x3d\x3dtypeof window.setup||\nwindow.draw\x26\x26\x22function\x22\x3d\x3dtypeof window.draw)\x26\x26!o.default.instance\x26\x26new o.default:console.warn(\x22p5.js seems to have been imported multiple times. Please remove the duplicate import\x22)})},{\x22../core/main\x22:264,\x22./internationalization\x22:262,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/web.dom-collections.iterator\x22:229}],262:[function(e$jscomp$1,t$jscomp$2,r$jscomp$1){function s(e){return e\x26\x26\ne.__esModule?e:{default:e}}function l(e,t){for(var r\x3d0;r\x3ct.length;r++){var n\x3dt[r];n.enumerable\x3dn.enumerable||!1;n.configurable\x3d!0;\x22value\x22in n\x26\x26(n.writable\x3d!0);Object.defineProperty(e,n.key,n)}}e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.join\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.object.keys\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.promise\x22);\ne$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.string.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.setTranslatorLanguage\x3dr$jscomp$1.currentTranslatorLanguage\x3dr$jscomp$1.availableTranslatorLanguages\x3dr$jscomp$1.initialize\x3dr$jscomp$1.translator\x3dvoid 0;var n$jscomp$0\x3ds(e$jscomp$1(\x22i18next\x22)),\no\x3ds(e$jscomp$1(\x22i18next-browser-languagedetector\x22)),u\x3dfunction(){function r$jscomp$0(e,t){if(!(this instanceof r$jscomp$0))throw new TypeError(\x22Cannot call a class as a function\x22);!0;this.init(e,t)}var t$jscomp$1;return t$jscomp$1\x3d[{key:\x22fetchWithTimeout\x22,value:function(e$jscomp$0,t$jscomp$0,r){var n\x3d2\x3carguments.length\x26\x26void 0!\x3d\x3dr?r:2E3;return Promise.race([fetch(e$jscomp$0,t$jscomp$0),new Promise(function(e,t){return setTimeout(function(){return t(Error(\x22timeout\x22))},n)})])}},{key:\x22init\x22,value:function(e,\nt){var r\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3dt?t:{};this.services\x3de;this.options\x3dr}},{key:\x22read\x22,value:function(e,t,r){var n\x3dthis.options.loadPath;e\x3d\x3d\x3dthis.options.fallback?r(null,(void 0)[e][t]):(void 0).includes(e)?(e\x3dthis.services.interpolator.interpolate(n,{lng:e,ns:t}),this.loadUrl(e,r)):r(\x22Not found\x22,!1)}},{key:\x22loadUrl\x22,value:function(t,r){this.fetchWithTimeout(t).then(function(e){if(!e.ok)throw Error(\x22failed loading \x22.concat(t));return e.json()},function(){throw Error(\x22failed loading \x22.concat(t));\n}).then(function(e){return r(null,e)}).catch(r)}}],l(r$jscomp$0.prototype,t$jscomp$1),r$jscomp$0}();u.type\x3d\x22backend\x22;var c\x3dfunction(e,t){console.debug(\x22p5.js translator called before translations were loaded\x22);n$jscomp$0.default.t(e,t)};r$jscomp$1.translator\x3dc;r$jscomp$1.initialize\x3dfunction(){return n$jscomp$0.default.use(o.default).use(u).init({fallbackLng:\x22en\x22,nestingPrefix:\x22$tr(\x22,nestingSuffix:\x22)\x22,defaultNS:\x22translation\x22,returnEmptyString:!1,interpolation:{escapeValue:!1},detection:{checkWhitelist:!1,\norder:[\x22querystring\x22,\x22navigator\x22,\x22htmlTag\x22,\x22path\x22,\x22subdomain\x22],caches:[]},backend:{fallback:\x22en\x22,loadPath:\x22https://cdn.jsdelivr.net/npm/p5/translations/{{lng}}/{{ns}}.json\x22},partialBundledLanguages:!0,resources:void 0}).then(function(e){r$jscomp$1.translator\x3dc\x3de},function(e){return console.debug(\x22Translations failed to load (\x22.concat(e,\x22)\x22))})};r$jscomp$1.availableTranslatorLanguages\x3dfunction(){return n$jscomp$0.default.languages};r$jscomp$1.currentTranslatorLanguage\x3dfunction(){return n$jscomp$0.default.language};\nr$jscomp$1.setTranslatorLanguage\x3dfunction(e$jscomp$0){return n$jscomp$0.default.changeLanguage(e$jscomp$0||void 0,function(e){return console.debug(\x22Translations failed to load (\x22.concat(e,\x22)\x22))})}},{\x22../../translations\x22:void 0,\x22../../translations/dev\x22:void 0,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\n\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/web.dom-collections.iterator\x22:229,i18next:3,\x22i18next-browser-languagedetector\x22:3}],263:[function(e,t,r){Object.defineProperty(r,\x22__esModule\x22,{value:!0});r.default\x3dvoid 0;var n;e\x3d(n\x3de(\x22./main\x22))\x26\x26n.__esModule?n:{default:n};e.default.prototype.pushStyle\x3dfunction(){throw Error(\x22pushStyle() not used, see push()\x22);};e.default.prototype.popStyle\x3d\nfunction(){throw Error(\x22popStyle() not used, see pop()\x22);};e.default.prototype.popMatrix\x3dfunction(){throw Error(\x22popMatrix() not used, see pop()\x22);};e.default.prototype.pushMatrix\x3dfunction(){throw Error(\x22pushMatrix() not used, see push()\x22);};r.default\x3de.default},{\x22./main\x22:264}],264:[function(e$jscomp$2,t$jscomp$2,r$jscomp$1){function a$jscomp$1(e$jscomp$0){return(a$jscomp$1\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\ne.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$1(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$1\x3dfunction(){return e},e}function o$jscomp$0(e,t){for(var r\x3d0;r\x3ct.length;r++){var n\x3dt[r];n.enumerable\x3dn.enumerable||!1;n.configurable\x3d!0;\x22value\x22in n\x26\x26(n.writable\x3d!0);Object.defineProperty(e,n.key,n)}}e$jscomp$2(\x22core-js/modules/es.symbol\x22);e$jscomp$2(\x22core-js/modules/es.symbol.description\x22);e$jscomp$2(\x22core-js/modules/es.symbol.iterator\x22);\ne$jscomp$2(\x22core-js/modules/es.array.for-each\x22);e$jscomp$2(\x22core-js/modules/es.array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.slice\x22);e$jscomp$2(\x22core-js/modules/es.object.get-own-property-names\x22);e$jscomp$2(\x22core-js/modules/es.object.to-string\x22);e$jscomp$2(\x22core-js/modules/es.string.iterator\x22);e$jscomp$2(\x22core-js/modules/web.dom-collections.for-each\x22);e$jscomp$2(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;\ne$jscomp$2(\x22./shim\x22);var n$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$1(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$1();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$2(\x22./constants\x22));e$jscomp$2\x3d\nfunction(){function _(e$jscomp$1,t$jscomp$0,r$jscomp$0){function v(){f._setProperty(\x22focused\x22,!0)}function b(){f._setProperty(\x22focused\x22,!1)}var f\x3dthis;if(!(this instanceof _))throw new TypeError(\x22Cannot call a class as a function\x22);!0;this._setupDone\x3d!1;this._pixelDensity\x3dMath.ceil(window.devicePixelRatio)||1;this._userNode\x3dt$jscomp$0;this._curElement\x3dnull;this._elements\x3d[];this._glAttributes\x3dnull;this._preloadCount\x3dthis._requestAnimId\x3d0;this._isGlobal\x3d!1;this._loop\x3d!0;this._initializeInstanceVariables();\nthis._defaultCanvasSize\x3d{width:100,height:100};this._events\x3d{mousemove:null,mousedown:null,mouseup:null,dragend:null,dragover:null,click:null,dblclick:null,mouseover:null,mouseout:null,keydown:null,keyup:null,keypress:null,touchstart:null,touchmove:null,touchend:null,resize:null,blur:null};this._millisStart\x3d-1;this._lcg_random_state\x3dnull;this._gaussian_previous\x3d!1;this._events.wheel\x3dnull;this._loadingScreenId\x3d\x22p5_loading\x22;this._registeredMethods\x3d{};t$jscomp$0\x3dObject.getOwnPropertyNames(_.prototype._registeredMethods);\nr$jscomp$0\x3d!0;var i$jscomp$0\x3d!1,a$jscomp$0\x3dvoid 0;try{for(var s$jscomp$0,l$jscomp$0\x3dt$jscomp$0[Symbol.iterator]();!(r$jscomp$0\x3d(s$jscomp$0\x3dl$jscomp$0.next()).done);r$jscomp$0\x3d!0){var u$jscomp$0\x3ds$jscomp$0.value;this._registeredMethods[u$jscomp$0]\x3d_.prototype._registeredMethods[u$jscomp$0].slice()}}catch(e){i$jscomp$0\x3d!0,a$jscomp$0\x3de}finally{try{r$jscomp$0||null\x3d\x3dl$jscomp$0.return||l$jscomp$0.return()}finally{if(i$jscomp$0)throw a$jscomp$0;}}window.DeviceOrientationEvent\x26\x26(this._events.deviceorientation\x3d\nnull);window.DeviceMotionEvent\x26\x26!window._isNodeWebkit\x26\x26(this._events.devicemotion\x3dnull);this._start\x3dfunction(){f._userNode\x26\x26\x22string\x22\x3d\x3dtypeof f._userNode\x26\x26(f._userNode\x3ddocument.getElementById(f._userNode));var e\x3df._isGlobal?window:f;if(e.preload){var t\x3ddocument.getElementById(f._loadingScreenId);t||((t\x3ddocument.createElement(\x22div\x22)).innerHTML\x3d\x22Loading...\x22,t.style.position\x3d\x22absolute\x22,t.id\x3df._loadingScreenId,(f._userNode||document.body).appendChild(t));t\x3df._preloadMethods;for(var n in t){t[n]\x3dt[n]||\n_;var o\x3dt[n];o!\x3d\x3d_.prototype\x26\x26o!\x3d\x3d_||(f._isGlobal\x26\x26(window[n]\x3df._wrapPreload(f,n)),o\x3df);f._registeredPreloadMethods[n]\x3do[n];o[n]\x3df._wrapPreload(o,n)}e.preload();f._runIfPreloadsAreDone()}else f._setup(),f._draw()};this._runIfPreloadsAreDone\x3dfunction(){var e\x3dthis._isGlobal?window:this;if(0\x3d\x3d\x3de._preloadCount){var t\x3ddocument.getElementById(e._loadingScreenId);t\x26\x26t.parentNode.removeChild(t);this._setupDone||(this._lastFrameTime\x3dwindow.performance.now(),e._setup(),e._draw())}};this._decrementPreload\x3dfunction(){var e\x3d\nthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof e.preload\x26\x26(e._setProperty(\x22_preloadCount\x22,e._preloadCount-1),e._runIfPreloadsAreDone())};this._wrapPreload\x3dfunction(n,o){var i\x3dthis;return function(){i._incrementPreload();for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return i._registeredPreloadMethods[o].apply(n,t)}};this._incrementPreload\x3dfunction(){var e\x3dthis._isGlobal?window:this;e._setProperty(\x22_preloadCount\x22,e._preloadCount+1)};this._setup\x3dfunction(){f.createCanvas(f._defaultCanvasSize.width,\nf._defaultCanvasSize.height,\x22p2d\x22);var e$jscomp$0\x3df._isGlobal?window:f;if(\x22function\x22\x3d\x3dtypeof e$jscomp$0.preload)for(var t in f._preloadMethods)e$jscomp$0[t]\x3df._preloadMethods[t][t],e$jscomp$0[t]\x26\x26f\x26\x26(e$jscomp$0[t]\x3de$jscomp$0[t].bind(f));f._millisStart\x3dwindow.performance.now();\x22function\x22\x3d\x3dtypeof e$jscomp$0.setup\x26\x26e$jscomp$0.setup();e$jscomp$0\x3ddocument.getElementsByTagName(\x22canvas\x22);t\x3d!0;var o\x3d!1,i\x3dvoid 0;try{for(var a,s\x3de$jscomp$0[Symbol.iterator]();!(t\x3d(a\x3ds.next()).done);t\x3d!0){var l\x3da.value;\x22true\x22\x3d\x3d\x3d\nl.dataset.hidden\x26\x26(l.style.visibility\x3d\x22\x22,delete l.dataset.hidden)}}catch(e){o\x3d!0,i\x3de}finally{try{t||null\x3d\x3ds.return||s.return()}finally{if(o)throw i;}}f._lastFrameTime\x3dwindow.performance.now();f._setupDone\x3d!0;(f._accessibleOutputs.grid||f._accessibleOutputs.text)\x26\x26f._updateAccsOutput()};this._draw\x3dfunction(){var e\x3dwindow.performance.now(),t\x3de-f._lastFrameTime,r\x3d1E3/f._targetFrameRate;(!f._loop||r-5\x3c\x3dt)\x26\x26(f.redraw(),f._frameRate\x3d1E3/(e-f._lastFrameTime),f.deltaTime\x3de-f._lastFrameTime,f._setProperty(\x22deltaTime\x22,\nf.deltaTime),f._lastFrameTime\x3de,void 0!\x3d\x3df._updateMouseCoords\x26\x26(f._updateMouseCoords(),f._setProperty(\x22movedX\x22,0),f._setProperty(\x22movedY\x22,0)));f._loop\x26\x26(f._requestAnimId\x3dwindow.requestAnimationFrame(f._draw))};this._setProperty\x3dfunction(e,t){f[e]\x3dt;f._isGlobal\x26\x26(window[e]\x3dt)};this.remove\x3dfunction(){var e$jscomp$0\x3ddocument.getElementById(f._loadingScreenId);if(e$jscomp$0\x26\x26(e$jscomp$0.parentNode.removeChild(e$jscomp$0),f._incrementPreload()),f._curElement){for(var t in f._loop\x3d!1,f._requestAnimId\x26\x26\nwindow.cancelAnimationFrame(f._requestAnimId),f._events)window.removeEventListener(t,f._events[t]);e$jscomp$0\x3d!0;t\x3d!1;var o\x3dvoid 0;try{for(var i,a\x3df._elements[Symbol.iterator]();!(e$jscomp$0\x3d(i\x3da.next()).done);e$jscomp$0\x3d!0){var s\x3di.value,l;for(l in s.elt\x26\x26s.elt.parentNode\x26\x26s.elt.parentNode.removeChild(s.elt),s._events)s.elt.removeEventListener(l,s._events[l])}}catch(e){t\x3d!0,o\x3de}finally{try{e$jscomp$0||null\x3d\x3da.return||a.return()}finally{if(t)throw o;}}var u\x3df;f._registeredMethods.remove.forEach(function(e){void 0!\x3d\x3d\ne\x26\x26e.call(u)})}if(f._isGlobal){for(var c in _.prototype)try{delete window[c]}catch(e){window[c]\x3dvoid 0}for(var d in f)if(f.hasOwnProperty(d))try{delete window[d]}catch(e){window[d]\x3dvoid 0}_.instance\x3dnull}};this._registeredMethods.init.forEach(function(e){void 0!\x3d\x3de\x26\x26e.call(this)},this);this._setupPromisePreloads();s$jscomp$0\x3dthis._createFriendlyGlobalFunctionBinder();if(e$jscomp$1)e$jscomp$1(this),_._checkForUserDefinedFunctions(this);else{for(var d$jscomp$0 in this._isGlobal\x3d!0,_.instance\x3dthis,_.prototype)\x22function\x22\x3d\x3d\ntypeof _.prototype[d$jscomp$0]?(e$jscomp$1\x3dd$jscomp$0.substring(2),this._events.hasOwnProperty(e$jscomp$1)||(Math.hasOwnProperty(d$jscomp$0)\x26\x26Math[d$jscomp$0]\x3d\x3d\x3d_.prototype[d$jscomp$0]?s$jscomp$0(d$jscomp$0,_.prototype[d$jscomp$0]):s$jscomp$0(d$jscomp$0,_.prototype[d$jscomp$0].bind(this)))):s$jscomp$0(d$jscomp$0,_.prototype[d$jscomp$0]);for(var p in this)this.hasOwnProperty(p)\x26\x26s$jscomp$0(p,this[p])}for(var y in this._events)if(d$jscomp$0\x3dthis[\x22_on\x22.concat(y)])d$jscomp$0\x3dd$jscomp$0.bind(this),window.addEventListener(y,\nd$jscomp$0,{passive:!1}),this._events[y]\x3dd$jscomp$0;window.addEventListener(\x22focus\x22,v);window.addEventListener(\x22blur\x22,b);this.registerMethod(\x22remove\x22,function(){window.removeEventListener(\x22focus\x22,v);window.removeEventListener(\x22blur\x22,b)});\x22complete\x22\x3d\x3d\x3ddocument.readyState?this._start():window.addEventListener(\x22load\x22,this._start.bind(this),!1)}var t$jscomp$1;return t$jscomp$1\x3d[{key:\x22_initializeInstanceVariables\x22,value:function(){this._accessibleOutputs\x3d{text:!1,grid:!1,textLabel:!1,gridLabel:!1};this._styles\x3d\n[];this._curveDetail\x3dthis._bezierDetail\x3d20;this._colorMode\x3dn$jscomp$0.RGB;this._colorMaxes\x3d{rgb:[255,255,255,255],hsb:[360,100,100,1],hsl:[360,100,100,1]};this._downKeys\x3d{}}},{key:\x22registerPreloadMethod\x22,value:function(e,t){_.prototype._preloadMethods.hasOwnProperty(e)||(_.prototype._preloadMethods[e]\x3dt)}},{key:\x22registerMethod\x22,value:function(e,t){var r\x3dthis||_.prototype;r._registeredMethods.hasOwnProperty(e)||(r._registeredMethods[e]\x3d[]);r._registeredMethods[e].push(t)}},{key:\x22_createFriendlyGlobalFunctionBinder\x22,\nvalue:function(e$jscomp$0){var t$jscomp$0\x3d0\x3carguments.length\x26\x26void 0!\x3d\x3de$jscomp$0?e$jscomp$0:{},r\x3dt$jscomp$0.globalObject||window;t$jscomp$0.log||console.log.bind(console);return function(e,t){r[e]\x3dt}}}],o$jscomp$0(_.prototype,t$jscomp$1),_}();for(var l$jscomp$1 in e$jscomp$2.instance\x3dnull,e$jscomp$2.disableFriendlyErrors\x3d!1,n$jscomp$0)e$jscomp$2.prototype[l$jscomp$1]\x3dn$jscomp$0[l$jscomp$1];e$jscomp$2.VERSION\x3dn$jscomp$0.VERSION;e$jscomp$2.prototype._preloadMethods\x3d{loadJSON:e$jscomp$2.prototype,loadImage:e$jscomp$2.prototype,\nloadStrings:e$jscomp$2.prototype,loadXML:e$jscomp$2.prototype,loadBytes:e$jscomp$2.prototype,loadTable:e$jscomp$2.prototype,loadFont:e$jscomp$2.prototype,loadModel:e$jscomp$2.prototype,loadShader:e$jscomp$2.prototype};e$jscomp$2.prototype._registeredMethods\x3d{init:[],pre:[],post:[],remove:[]};e$jscomp$2.prototype._registeredPreloadMethods\x3d{};r$jscomp$1.default\x3de$jscomp$2},{\x22./constants\x22:253,\x22./shim\x22:275,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.slice\x22:162,\n\x22core-js/modules/es.object.get-own-property-names\x22:174,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.for-each\x22:228,\x22core-js/modules/web.dom-collections.iterator\x22:229}],265:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n,o\x3d(n\x3d\ne$jscomp$0(\x22./main\x22))\x26\x26n.__esModule?n:{default:n};o.default.Element\x3dfunction(e,t){this.elt\x3de;this._pInst\x3dthis._pixelsState\x3dt;this._events\x3d{};this.width\x3dthis.elt.offsetWidth;this.height\x3dthis.elt.offsetHeight};o.default.Element.prototype.parent\x3dfunction(e){return void 0\x3d\x3d\x3de?this.elt.parentNode:(\x22string\x22\x3d\x3dtypeof e?(\x22#\x22\x3d\x3d\x3de[0]\x26\x26(e\x3de.substring(1)),e\x3ddocument.getElementById(e)):e instanceof o.default.Element\x26\x26(e\x3de.elt),e.appendChild(this.elt),this)};o.default.Element.prototype.id\x3dfunction(e){return void 0\x3d\x3d\x3d\ne?this.elt.id:(this.elt.id\x3de,this.width\x3dthis.elt.offsetWidth,this.height\x3dthis.elt.offsetHeight,this)};o.default.Element.prototype.class\x3dfunction(e){return void 0\x3d\x3d\x3de?this.elt.className:(this.elt.className\x3de,this)};o.default.Element.prototype.mousePressed\x3dfunction(t){return o.default.Element._adjustListener(\x22mousedown\x22,function(e){return this._pInst._setProperty(\x22mouseIsPressed\x22,!0),this._pInst._setMouseButton(e),t.call(this,e)},this),this};o.default.Element.prototype.doubleClicked\x3dfunction(e){return o.default.Element._adjustListener(\x22dblclick\x22,\ne,this),this};o.default.Element.prototype.mouseWheel\x3dfunction(e){return o.default.Element._adjustListener(\x22wheel\x22,e,this),this};o.default.Element.prototype.mouseReleased\x3dfunction(e){return o.default.Element._adjustListener(\x22mouseup\x22,e,this),this};o.default.Element.prototype.mouseClicked\x3dfunction(e){return o.default.Element._adjustListener(\x22click\x22,e,this),this};o.default.Element.prototype.mouseMoved\x3dfunction(e){return o.default.Element._adjustListener(\x22mousemove\x22,e,this),this};o.default.Element.prototype.mouseOver\x3d\nfunction(e){return o.default.Element._adjustListener(\x22mouseover\x22,e,this),this};o.default.Element.prototype.mouseOut\x3dfunction(e){return o.default.Element._adjustListener(\x22mouseout\x22,e,this),this};o.default.Element.prototype.touchStarted\x3dfunction(e){return o.default.Element._adjustListener(\x22touchstart\x22,e,this),this};o.default.Element.prototype.touchMoved\x3dfunction(e){return o.default.Element._adjustListener(\x22touchmove\x22,e,this),this};o.default.Element.prototype.touchEnded\x3dfunction(e){return o.default.Element._adjustListener(\x22touchend\x22,\ne,this),this};o.default.Element.prototype.dragOver\x3dfunction(e){return o.default.Element._adjustListener(\x22dragover\x22,e,this),this};o.default.Element.prototype.dragLeave\x3dfunction(e){return o.default.Element._adjustListener(\x22dragleave\x22,e,this),this};o.default.Element._adjustListener\x3dfunction(e,t,r){return!1\x3d\x3d\x3dt?o.default.Element._detachListener(e,r):o.default.Element._attachListener(e,t,r),this};o.default.Element._attachListener\x3dfunction(e,t,r){r._events[e]\x26\x26o.default.Element._detachListener(e,r);t\x3dt.bind(r);\nr.elt.addEventListener(e,t,!1);r._events[e]\x3dt};o.default.Element._detachListener\x3dfunction(e,t){t.elt.removeEventListener(e,t._events[e],!1);t._events[e]\x3dnull};o.default.Element.prototype._setProperty\x3dfunction(e,t){this[e]\x3dt};r$jscomp$0.default\x3do.default.Element},{\x22./main\x22:264}],266:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\ne.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function u(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return u\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.splice\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},l\x3dfunction(e){if(e\x26\x26e.__esModule)return e;\nif(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3du();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22./constants\x22));s.default.Graphics\x3dfunction(e,t,r,n){r\x3dr||l.P2D;this.canvas\x3ddocument.createElement(\x22canvas\x22);\nvar i\x3dn._userNode||document.body,a;for(a in i.appendChild(this.canvas),s.default.Element.call(this,this.canvas,n),s.default.prototype)this[a]||(\x22function\x22\x3d\x3dtypeof s.default.prototype[a]?this[a]\x3ds.default.prototype[a].bind(this):this[a]\x3ds.default.prototype[a]);return s.default.prototype._initializeInstanceVariables.apply(this),this.width\x3de,this.height\x3dt,this._pixelDensity\x3dn._pixelDensity,r\x3d\x3d\x3dl.WEBGL?this._renderer\x3dnew s.default.RendererGL(this.canvas,this,!1):this._renderer\x3dnew s.default.Renderer2D(this.canvas,\nthis,!1),n._elements.push(this),Object.defineProperty(this,\x22deltaTime\x22,{get:function(){return this._pInst.deltaTime}}),this._renderer.resize(e,t),this._renderer._applyDefaults(),this};s.default.Graphics.prototype\x3dObject.create(s.default.Element.prototype);s.default.Graphics.prototype.reset\x3dfunction(){this._renderer.resetMatrix();this._renderer.isP3D\x26\x26this._renderer._update()};s.default.Graphics.prototype.remove\x3dfunction(){this.elt.parentNode\x26\x26this.elt.parentNode.removeChild(this.elt);var e\x3dthis._pInst._elements.indexOf(this),\nt;for(t in-1!\x3d\x3de\x26\x26this._pInst._elements.splice(e,1),this._events)this.elt.removeEventListener(t,this._events[t])};r$jscomp$0.default\x3ds.default.Graphics},{\x22./constants\x22:253,\x22./main\x22:264,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.splice\x22:164}],267:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return a$jscomp$0\x3dfunction(){return e},e}function s(e$jscomp$0){return(s\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3d\ntypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function u(e){var t\x3d0,r\x3d0;if(e.offsetParent)for(;t+\x3de.offsetLeft,r+\x3de.offsetTop,e\x3de.offsetParent;);else t+\x3de.offsetLeft,r+\x3de.offsetTop;return[t,r]}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);\ne$jscomp$1(\x22core-js/modules/es.number.constructor\x22);e$jscomp$1(\x22core-js/modules/es.object.assign\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.string.replace\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);e$jscomp$1(\x22core-js/modules/es.string.trim\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\n\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,l$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},k\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3ds(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3da$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;\ni\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));l$jscomp$0.default.Renderer\x3dfunction(e,t,r){l$jscomp$0.default.Element.call(this,e,t);this.canvas\x3de;this._pixelsState\x3dt;r?(this._isMainCanvas\x3d!0,this._pInst._setProperty(\x22_curElement\x22,this),this._pInst._setProperty(\x22canvas\x22,this.canvas),this._pInst._setProperty(\x22width\x22,this.width),this._pInst._setProperty(\x22height\x22,this.height)):(this.canvas.style.display\x3d\x22none\x22,this._styles\x3d\n[]);this._textSize\x3d12;this._textLeading\x3d15;this._textFont\x3d\x22sans-serif\x22;this._textStyle\x3dk.NORMAL;this._textDescent\x3dthis._textAscent\x3dnull;this._textAlign\x3dk.LEFT;this._textBaseline\x3dk.BASELINE;this._textWrap\x3dk.WORD;this._rectMode\x3dk.CORNER;this._ellipseMode\x3dk.CENTER;this._curveTightness\x3d0;this._imageMode\x3dk.CORNER;this._tint\x3dnull;this._doFill\x3dthis._doStroke\x3d!0;this._leadingSet\x3dthis._fillSet\x3dthis._strokeSet\x3d!1};l$jscomp$0.default.Renderer.prototype\x3dObject.create(l$jscomp$0.default.Element.prototype);l$jscomp$0.default.Renderer.prototype.push\x3d\nfunction(){return{properties:{_doStroke:this._doStroke,_strokeSet:this._strokeSet,_doFill:this._doFill,_fillSet:this._fillSet,_tint:this._tint,_imageMode:this._imageMode,_rectMode:this._rectMode,_ellipseMode:this._ellipseMode,_textFont:this._textFont,_textLeading:this._textLeading,_leadingSet:this._leadingSet,_textSize:this._textSize,_textAlign:this._textAlign,_textBaseline:this._textBaseline,_textStyle:this._textStyle,_textWrap:this._textWrap}}};l$jscomp$0.default.Renderer.prototype.pop\x3dfunction(e){e.properties\x26\x26\nObject.assign(this,e.properties)};l$jscomp$0.default.Renderer.prototype.resize\x3dfunction(e,t){this.width\x3de;this.height\x3dt;this.elt.width\x3de*this._pInst._pixelDensity;this.elt.height\x3dt*this._pInst._pixelDensity;this.elt.style.width\x3d\x22\x22.concat(e,\x22px\x22);this.elt.style.height\x3d\x22\x22.concat(t,\x22px\x22);this._isMainCanvas\x26\x26(this._pInst._setProperty(\x22width\x22,this.width),this._pInst._setProperty(\x22height\x22,this.height))};l$jscomp$0.default.Renderer.prototype.get\x3dfunction(e,t,r,n){var o\x3dthis._pixelsState,i\x3do._pixelDensity,\na\x3dthis.canvas;if(void 0\x3d\x3d\x3de\x26\x26void 0\x3d\x3d\x3dt)e\x3dt\x3d0,r\x3do.width,n\x3do.height;else if(e*\x3di,t*\x3di,void 0\x3d\x3d\x3dr\x26\x26void 0\x3d\x3d\x3dn)return 0\x3ee||0\x3et||e\x3e\x3da.width||t\x3e\x3da.height?[0,0,0,0]:this._getPixel(e,t);o\x3dnew l$jscomp$0.default.Image(r,n);return o.canvas.getContext(\x222d\x22).drawImage(a,e,t,r*i,n*i,0,0,r,n),o};l$jscomp$0.default.Renderer.prototype.textLeading\x3dfunction(e){return\x22number\x22\x3d\x3dtypeof e?(this._setProperty(\x22_leadingSet\x22,!0),this._setProperty(\x22_textLeading\x22,e),this._pInst):this._textLeading};l$jscomp$0.default.Renderer.prototype.textSize\x3d\nfunction(e){return\x22number\x22\x3d\x3dtypeof e?(this._setProperty(\x22_textSize\x22,e),this._leadingSet||this._setProperty(\x22_textLeading\x22,e*k._DEFAULT_LEADMULT),this._applyTextProperties()):this._textSize};l$jscomp$0.default.Renderer.prototype.textStyle\x3dfunction(e){return e?(e!\x3d\x3dk.NORMAL\x26\x26e!\x3d\x3dk.ITALIC\x26\x26e!\x3d\x3dk.BOLD\x26\x26e!\x3d\x3dk.BOLDITALIC||this._setProperty(\x22_textStyle\x22,e),this._applyTextProperties()):this._textStyle};l$jscomp$0.default.Renderer.prototype.textAscent\x3dfunction(){return null\x3d\x3d\x3dthis._textAscent\x26\x26this._updateTextMetrics(),\nthis._textAscent};l$jscomp$0.default.Renderer.prototype.textDescent\x3dfunction(){return null\x3d\x3d\x3dthis._textDescent\x26\x26this._updateTextMetrics(),this._textDescent};l$jscomp$0.default.Renderer.prototype.textAlign\x3dfunction(e,t){return void 0!\x3d\x3de?(this._setProperty(\x22_textAlign\x22,e),void 0!\x3d\x3dt\x26\x26this._setProperty(\x22_textBaseline\x22,t),this._applyTextProperties()):{horizontal:this._textAlign,vertical:this._textBaseline}};l$jscomp$0.default.Renderer.prototype.textWrap\x3dfunction(e){return this._setProperty(\x22_textWrap\x22,\ne),this._textWrap};l$jscomp$0.default.Renderer.prototype.text\x3dfunction(e,t,r,n,o){var i,f\x3dthis._pInst;var c\x3dthis._textWrap;var p\x3dNumber.MAX_VALUE;if((this._doFill||this._doStroke)\x26\x26void 0!\x3d\x3de){if(\x22string\x22!\x3dtypeof e\x26\x26(e\x3de.toString()),i\x3de.replace(/(\\t)/g,\x22 \x22).split(\x22\\n\x22),void 0!\x3d\x3dn){switch(this._rectMode\x3d\x3d\x3dk.CENTER\x26\x26(t-\x3dn/2),this._textAlign){case k.CENTER:t+\x3dn/2;break;case k.RIGHT:t+\x3dn}e\x3d!1;if(void 0!\x3d\x3do){switch(this._rectMode\x3d\x3d\x3dk.CENTER\x26\x26(r-\x3do/2),this._textBaseline){case k.BOTTOM:r\x3dMath.max(r+o,r);\nbreak;case k.CENTER:r\x3dMath.max(r+o/2,r);break;case k.BASELINE:e\x3d!0,this._textBaseline\x3dk.TOP}p\x3dr+o-f.textAscent()}if(c\x3d\x3d\x3dk.WORD){c\x3d[];for(var g\x3d0;g\x3ci.length;g++){var a\x3d\x22\x22;var l\x3di[g].split(\x22 \x22);for(var v\x3d0;v\x3cl.length;v++)o\x3d\x22\x22.concat(a+l[v])+\x22 \x22,a\x3dn\x3cthis.textWidth(o)\x26\x260\x3ca.length?(c.push(a),\x22\x22.concat(l[v])+\x22 \x22):o;c.push(a)}g\x3d0;a\x3df.textAlign().vertical;a\x3d\x3d\x3dk.CENTER?g\x3d(c.length-1)*f.textLeading()/2:a\x3d\x3d\x3dk.BOTTOM\x26\x26(g\x3d(c.length-1)*f.textLeading());for(c\x3d0;c\x3ci.length;c++){a\x3d\x22\x22;l\x3di[c].split(\x22 \x22);for(v\x3d0;v\x3cl.length;v++)o\x3d\n\x22\x22.concat(a+l[v])+\x22 \x22,n\x3cthis.textWidth(o)\x26\x260\x3ca.length?(this._renderText(f,a.trim(),t,r-g,p),a\x3d\x22\x22.concat(l[v])+\x22 \x22,r+\x3df.textLeading()):a\x3do;this._renderText(f,a.trim(),t,r-g,p);r+\x3df.textLeading();e\x26\x26(this._textBaseline\x3dk.BASELINE)}}else{g\x3d[];for(v\x3d0;v\x3ci.length;v++){a\x3d\x22\x22;c\x3di[v].split(\x22\x22);for(var M\x3d0;M\x3cc.length;M++)o\x3d\x22\x22.concat(a+c[M]),(l\x3dthis.textWidth(o))\x3c\x3dn?a+\x3dc[M]:n\x3cl\x26\x260\x3ca.length\x26\x26(g.push(a),a\x3d\x22\x22.concat(c[M]))}g.push(a);v\x3d0;o\x3df.textAlign().vertical;o\x3d\x3d\x3dk.CENTER?v\x3d(g.length-1)*f.textLeading()/2:o\x3d\x3d\x3d\nk.BOTTOM\x26\x26(v\x3d(g.length-1)*f.textLeading());for(g\x3d0;g\x3ci.length;g++)for(a\x3d\x22\x22,c\x3di[g].split(\x22\x22),M\x3d0;M\x3cc.length;M++)o\x3d\x22\x22.concat(a+c[M]),(l\x3dthis.textWidth(o))\x3c\x3dn?a+\x3dc[M]:n\x3cl\x26\x260\x3ca.length\x26\x26(this._renderText(f,a.trim(),t,r-v,p),r+\x3df.textLeading(),a\x3d\x22\x22.concat(c[M]));this._renderText(f,a.trim(),t,r-v,p);f.textLeading();e\x26\x26(this._textBaseline\x3dk.BASELINE)}}else for(n\x3d0,a\x3df.textAlign().vertical,a\x3d\x3d\x3dk.CENTER?n\x3d(i.length-1)*f.textLeading()/2:a\x3d\x3d\x3dk.BOTTOM\x26\x26(n\x3d(i.length-1)*f.textLeading()),a\x3d0;a\x3ci.length;a++)this._renderText(f,\ni[a],t,r-n,p),r+\x3df.textLeading();return f}};l$jscomp$0.default.Renderer.prototype._applyDefaults\x3dfunction(){return this};l$jscomp$0.default.Renderer.prototype._isOpenType\x3dfunction(){var e\x3d0\x3carguments.length\x26\x26void 0!\x3d\x3darguments[0]?arguments[0]:this._textFont;return\x22object\x22\x3d\x3d\x3ds(e)\x26\x26e.font\x26\x26e.font.supported};l$jscomp$0.default.Renderer.prototype._updateTextMetrics\x3dfunction(){if(this._isOpenType())return this._setProperty(\x22_textAscent\x22,this._textFont._textAscent()),this._setProperty(\x22_textDescent\x22,this._textFont._textDescent()),\nthis;var e\x3ddocument.createElement(\x22span\x22);e.style.fontFamily\x3dthis._textFont;e.style.fontSize\x3d\x22\x22.concat(this._textSize,\x22px\x22);e.innerHTML\x3d\x22ABCjgq|\x22;var t\x3ddocument.createElement(\x22div\x22);t.style.display\x3d\x22inline-block\x22;t.style.width\x3d\x221px\x22;t.style.height\x3d\x220px\x22;var r\x3ddocument.createElement(\x22div\x22);r.appendChild(e);r.appendChild(t);r.style.height\x3d\x220px\x22;r.style.overflow\x3d\x22hidden\x22;document.body.appendChild(r);t.style.verticalAlign\x3d\x22baseline\x22;var n\x3du(t),o\x3du(e),i\x3dn[1]-o[1];t.style.verticalAlign\x3d\x22bottom\x22;n\x3du(t);\no\x3du(e);e\x3dn[1]-o[1]-i;return document.body.removeChild(r),this._setProperty(\x22_textAscent\x22,i),this._setProperty(\x22_textDescent\x22,e),this};r$jscomp$0.default\x3dl$jscomp$0.default.Renderer},{\x22../core/constants\x22:253,\x22./main\x22:264,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.iterator\x22:186,\n\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.trim\x22:193,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],268:[function(e$jscomp$1,t$jscomp$1,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3d\ntypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function n$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.fill\x22);e$jscomp$1(\x22core-js/modules/es.array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.function.name\x22);\ne$jscomp$1(\x22core-js/modules/es.number.to-fixed\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var d$jscomp$0\x3dn$jscomp$0(e$jscomp$1(\x22./main\x22)),p$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,\no;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22./constants\x22)),f\x3dn$jscomp$0(e$jscomp$1(\x22../image/filters\x22));e$jscomp$1(\x22./p5.Renderer\x22);d$jscomp$0.default.Renderer2D\x3dfunction(e,t,r){return d$jscomp$0.default.Renderer.call(this,e,t,r),this.drawingContext\x3dthis.canvas.getContext(\x222d\x22),this._pInst._setProperty(\x22drawingContext\x22,this.drawingContext),\nthis};d$jscomp$0.default.Renderer2D.prototype\x3dObject.create(d$jscomp$0.default.Renderer.prototype);d$jscomp$0.default.Renderer2D.prototype._applyDefaults\x3dfunction(){this._cachedFillStyle\x3dthis._cachedStrokeStyle\x3dvoid 0;this._cachedBlendMode\x3dp$jscomp$0.BLEND;this._setFill(p$jscomp$0._DEFAULT_FILL);this._setStroke(p$jscomp$0._DEFAULT_STROKE);this.drawingContext.lineCap\x3dp$jscomp$0.ROUND;this.drawingContext.font\x3d\x22normal 12px sans-serif\x22};d$jscomp$0.default.Renderer2D.prototype.resize\x3dfunction(e,t){d$jscomp$0.default.Renderer.prototype.resize.call(this,\ne,t);this.drawingContext.scale(this._pInst._pixelDensity,this._pInst._pixelDensity)};d$jscomp$0.default.Renderer2D.prototype.background\x3dfunction(){if(this.drawingContext.save(),this.resetMatrix(),(0\x3e\x3darguments.length?void 0:arguments[0])instanceof d$jscomp$0.default.Image)if(0\x3c\x3d(1\x3e\x3darguments.length?void 0:arguments[1])){var e\x3d0\x3e\x3darguments.length?void 0:arguments[0];this.drawingContext.globalAlpha\x3d(1\x3e\x3darguments.length?NaN:arguments[1])/255;this._pInst.image(e,0,0,this.width,this.height)}else this._pInst.image(0\x3e\x3d\narguments.length?void 0:arguments[0],0,0,this.width,this.height);else{var r\x3dthis._getFill(),n\x3d(e\x3dthis._pInst).color.apply(e,arguments);this._pInst._addAccsOutput()\x26\x26this._pInst._accsBackground(n.levels);this._setFill(n.toString());this._isErasing\x26\x26this.blendMode(this._cachedBlendMode);this.drawingContext.fillRect(0,0,this.width,this.height);this._setFill(r);this._isErasing\x26\x26this._pInst.erase()}this.drawingContext.restore()};d$jscomp$0.default.Renderer2D.prototype.clear\x3dfunction(){this.drawingContext.save();\nthis.resetMatrix();this.drawingContext.clearRect(0,0,this.width,this.height);this.drawingContext.restore()};d$jscomp$0.default.Renderer2D.prototype.fill\x3dfunction(){var e,t\x3d(e\x3dthis._pInst).color.apply(e,arguments);this._setFill(t.toString());this._pInst._addAccsOutput()\x26\x26this._pInst._accsCanvasColors(\x22fill\x22,t.levels)};d$jscomp$0.default.Renderer2D.prototype.stroke\x3dfunction(){var e,t\x3d(e\x3dthis._pInst).color.apply(e,arguments);this._setStroke(t.toString());this._pInst._addAccsOutput()\x26\x26this._pInst._accsCanvasColors(\x22stroke\x22,\nt.levels)};d$jscomp$0.default.Renderer2D.prototype.erase\x3dfunction(e,t){this._isErasing||(this._cachedFillStyle\x3dthis.drawingContext.fillStyle,e\x3dthis._pInst.color(255,e).toString(),this.drawingContext.fillStyle\x3de,this._cachedStrokeStyle\x3dthis.drawingContext.strokeStyle,t\x3dthis._pInst.color(255,t).toString(),this.drawingContext.strokeStyle\x3dt,t\x3dthis._cachedBlendMode,this.blendMode(p$jscomp$0.REMOVE),this._cachedBlendMode\x3dt,this._isErasing\x3d!0)};d$jscomp$0.default.Renderer2D.prototype.noErase\x3dfunction(){this._isErasing\x26\x26\n(this.drawingContext.fillStyle\x3dthis._cachedFillStyle,this.drawingContext.strokeStyle\x3dthis._cachedStrokeStyle,this.blendMode(this._cachedBlendMode),this._isErasing\x3d!1)};d$jscomp$0.default.Renderer2D.prototype.image\x3dfunction(e$jscomp$0,t,r,n,o,i,a,s,l){var u;e$jscomp$0.gifProperties\x26\x26e$jscomp$0._animateGif(this._pInst);try{this._tint\x26\x26(d$jscomp$0.default.MediaElement\x26\x26e$jscomp$0 instanceof d$jscomp$0.default.MediaElement\x26\x26e$jscomp$0.loadPixels(),e$jscomp$0.canvas\x26\x26(u\x3dthis._getTintedImageCanvas(e$jscomp$0)));\nu\x3du||e$jscomp$0.canvas||e$jscomp$0.elt;var c\x3d1;e$jscomp$0.width\x26\x260\x3ce$jscomp$0.width\x26\x26(c\x3du.width/e$jscomp$0.width);this._isErasing\x26\x26this.blendMode(this._cachedBlendMode);this.drawingContext.drawImage(u,c*t,c*r,c*n,c*o,i,a,s,l);this._isErasing\x26\x26this._pInst.erase()}catch(e){if(\x22NS_ERROR_NOT_AVAILABLE\x22!\x3d\x3de.name)throw e;}};d$jscomp$0.default.Renderer2D.prototype._getTintedImageCanvas\x3dfunction(e){if(!e.canvas)return e;var t\x3df.default._toPixels(e.canvas),r\x3ddocument.createElement(\x22canvas\x22);r.width\x3de.canvas.width;\nr.height\x3de.canvas.height;var n\x3dr.getContext(\x222d\x22);e\x3dn.createImageData(e.canvas.width,e.canvas.height);for(var i\x3de.data,a\x3d0;a\x3ct.length;a+\x3d4){var l\x3dt[a+1],u\x3dt[a+2],c\x3dt[a+3];i[a]\x3dt[a]*this._tint[0]/255;i[a+1]\x3dl*this._tint[1]/255;i[a+2]\x3du*this._tint[2]/255;i[a+3]\x3dc*this._tint[3]/255}return n.putImageData(e,0,0),r};d$jscomp$0.default.Renderer2D.prototype.blendMode\x3dfunction(e){if(e\x3d\x3d\x3dp$jscomp$0.SUBTRACT)console.warn(\x22blendMode(SUBTRACT) only works in WEBGL mode.\x22);else{if(e!\x3d\x3dp$jscomp$0.BLEND\x26\x26e!\x3d\x3dp$jscomp$0.REMOVE\x26\x26\ne!\x3d\x3dp$jscomp$0.DARKEST\x26\x26e!\x3d\x3dp$jscomp$0.LIGHTEST\x26\x26e!\x3d\x3dp$jscomp$0.DIFFERENCE\x26\x26e!\x3d\x3dp$jscomp$0.MULTIPLY\x26\x26e!\x3d\x3dp$jscomp$0.EXCLUSION\x26\x26e!\x3d\x3dp$jscomp$0.SCREEN\x26\x26e!\x3d\x3dp$jscomp$0.REPLACE\x26\x26e!\x3d\x3dp$jscomp$0.OVERLAY\x26\x26e!\x3d\x3dp$jscomp$0.HARD_LIGHT\x26\x26e!\x3d\x3dp$jscomp$0.SOFT_LIGHT\x26\x26e!\x3d\x3dp$jscomp$0.DODGE\x26\x26e!\x3d\x3dp$jscomp$0.BURN\x26\x26e!\x3d\x3dp$jscomp$0.ADD)throw Error(\x22Mode \x22.concat(e,\x22 not recognized.\x22));this._cachedBlendMode\x3de;this.drawingContext.globalCompositeOperation\x3de}};d$jscomp$0.default.Renderer2D.prototype.blend\x3dfunction(){for(var e\x3d\nthis.drawingContext.globalCompositeOperation,t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];t\x3dr[r.length-1];r\x3dArray.prototype.slice.call(r,0,r.length-1);this.drawingContext.globalCompositeOperation\x3dt;d$jscomp$0.default.prototype.copy.apply(this,r);this.drawingContext.globalCompositeOperation\x3de};d$jscomp$0.default.Renderer2D.prototype._getPixel\x3dfunction(e,t){var r;return[(r\x3dthis.drawingContext.getImageData(e,t,1,1).data)[0],r[1],r[2],r[3]]};d$jscomp$0.default.Renderer2D.prototype.loadPixels\x3d\nfunction(){var e\x3dthis._pixelsState,t\x3de._pixelDensity;t\x3dthis.drawingContext.getImageData(0,0,this.width*t,this.height*t);e._setProperty(\x22imageData\x22,t);e._setProperty(\x22pixels\x22,t.data)};d$jscomp$0.default.Renderer2D.prototype.set\x3dfunction(e,t,r){e\x3dMath.floor(e);t\x3dMath.floor(t);var n\x3dthis._pixelsState;if(r instanceof d$jscomp$0.default.Image)this.drawingContext.save(),this.drawingContext.setTransform(1,0,0,1,0,0),this.drawingContext.scale(n._pixelDensity,n._pixelDensity),this.drawingContext.clearRect(e,\nt,r.width,r.height),this.drawingContext.drawImage(r.canvas,e,t),this.drawingContext.restore();else{var o\x3d0,i\x3d0,a\x3d0,s\x3d0,l\x3d4*(t*n._pixelDensity*this.width*n._pixelDensity+e*n._pixelDensity);if(n.imageData||n.loadPixels.call(n),\x22number\x22\x3d\x3dtypeof r)l\x3cn.pixels.length\x26\x26(a\x3di\x3do\x3dr,s\x3d255);else if(r instanceof Array){if(4\x3er.length)throw Error(\x22pixel array must be of the form [R, G, B, A]\x22);l\x3cn.pixels.length\x26\x26(o\x3dr[0],i\x3dr[1],a\x3dr[2],s\x3dr[3])}else r instanceof d$jscomp$0.default.Color\x26\x26l\x3cn.pixels.length\x26\x26(o\x3dr.levels[0],\ni\x3dr.levels[1],a\x3dr.levels[2],s\x3dr.levels[3]);for(r\x3d0;r\x3cn._pixelDensity;r++)for(var c\x3d0;c\x3cn._pixelDensity;c++)l\x3d4*((t*n._pixelDensity+c)*this.width*n._pixelDensity+(e*n._pixelDensity+r)),n.pixels[l]\x3do,n.pixels[l+1]\x3di,n.pixels[l+2]\x3da,n.pixels[l+3]\x3ds}};d$jscomp$0.default.Renderer2D.prototype.updatePixels\x3dfunction(e,t,r,n){var o\x3dthis._pixelsState,i\x3do._pixelDensity;void 0\x3d\x3d\x3de\x26\x26void 0\x3d\x3d\x3dt\x26\x26void 0\x3d\x3d\x3dr\x26\x26void 0\x3d\x3d\x3dn\x26\x26(t\x3de\x3d0,r\x3dthis.width,n\x3dthis.height);e*\x3di;t*\x3di;r*\x3di;n*\x3di;this.gifProperties\x26\x26(this.gifProperties.frames[this.gifProperties.displayIndex].image\x3d\no.imageData);this.drawingContext.putImageData(o.imageData,e,t,0,0,r,n)};d$jscomp$0.default.Renderer2D.prototype._acuteArcToBezier\x3dfunction(e,t){var r\x3dt/2,n\x3dMath.cos(r),a\x3de+r,s\x3dMath.cos(a);a\x3dMath.sin(a);var u\x3d(4-n)/3;r\x3dMath.sin(r)+1/Math.tan(r)*(n-u);return{ax:Math.cos(e).toFixed(7),ay:Math.sin(e).toFixed(7),bx:(u*s+r*a).toFixed(7),by:(u*a-r*s).toFixed(7),cx:(u*s-r*a).toFixed(7),cy:(u*a+r*s).toFixed(7),dx:Math.cos(e+t).toFixed(7),dy:Math.sin(e+t).toFixed(7)}};d$jscomp$0.default.Renderer2D.prototype.arc\x3d\nfunction(r,n,e$jscomp$0,t$jscomp$0,o,i,a){var s\x3dthis.drawingContext,l\x3de$jscomp$0/2,u\x3dt$jscomp$0/2;e$jscomp$0\x3d0;t$jscomp$0\x3d[];r+\x3dl;for(n+\x3du;1E-5\x3c\x3di-o;)e$jscomp$0\x3dMath.min(i-o,p$jscomp$0.HALF_PI),t$jscomp$0.push(this._acuteArcToBezier(o,e$jscomp$0)),o+\x3de$jscomp$0;return this._doFill\x26\x26(s.beginPath(),t$jscomp$0.forEach(function(e,t){0\x3d\x3d\x3dt\x26\x26s.moveTo(r+e.ax*l,n+e.ay*u);s.bezierCurveTo(r+e.bx*l,n+e.by*u,r+e.cx*l,n+e.cy*u,r+e.dx*l,n+e.dy*u)}),a!\x3d\x3dp$jscomp$0.PIE\x26\x26null!\x3da||s.lineTo(r,n),s.closePath(),s.fill()),\nthis._doStroke\x26\x26(s.beginPath(),t$jscomp$0.forEach(function(e,t){0\x3d\x3d\x3dt\x26\x26s.moveTo(r+e.ax*l,n+e.ay*u);s.bezierCurveTo(r+e.bx*l,n+e.by*u,r+e.cx*l,n+e.cy*u,r+e.dx*l,n+e.dy*u)}),a\x3d\x3d\x3dp$jscomp$0.PIE?(s.lineTo(r,n),s.closePath()):a\x3d\x3d\x3dp$jscomp$0.CHORD\x26\x26s.closePath(),s.stroke()),this};d$jscomp$0.default.Renderer2D.prototype.ellipse\x3dfunction(e){var t\x3dthis.drawingContext,r\x3dthis._doFill,n\x3dthis._doStroke,o\x3dparseFloat(e[0]),i\x3dparseFloat(e[1]),a\x3dparseFloat(e[2]),s\x3dparseFloat(e[3]);if(r\x26\x26!n){if(\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getFill())return this}else if(!r\x26\x26\nn\x26\x26\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke())return this;e\x3da/2*.5522847498;var u\x3ds/2*.5522847498,c\x3do+a,d\x3di+s;a\x3do+a/2;s\x3di+s/2;t.beginPath();t.moveTo(o,s);t.bezierCurveTo(o,s-u,a-e,i,a,i);t.bezierCurveTo(a+e,i,c,s-u,c,s);t.bezierCurveTo(c,s+u,a+e,d,a,d);t.bezierCurveTo(a-e,d,o,s+u,o,s);r\x26\x26t.fill();n\x26\x26t.stroke()};d$jscomp$0.default.Renderer2D.prototype.line\x3dfunction(e,t,r,n){var o\x3dthis.drawingContext;return this._doStroke\x26\x26(\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke()||(o.beginPath(),o.moveTo(e,t),o.lineTo(r,n),o.stroke())),\nthis};d$jscomp$0.default.Renderer2D.prototype.point\x3dfunction(e,t){var r\x3dthis.drawingContext;if(!this._doStroke||\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke())return this;var n\x3dthis._getStroke(),o\x3dthis._getFill();this._setFill(n);r.beginPath();r.arc(e,t,r.lineWidth/2,0,p$jscomp$0.TWO_PI,!1);r.fill();this._setFill(o)};d$jscomp$0.default.Renderer2D.prototype.quad\x3dfunction(e,t,r,n,o,i,a,s){var l\x3dthis.drawingContext,u\x3dthis._doFill,c\x3dthis._doStroke;if(u\x26\x26!c){if(\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getFill())return this}else if(!u\x26\x26\nc\x26\x26\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke())return this;return l.beginPath(),l.moveTo(e,t),l.lineTo(r,n),l.lineTo(o,i),l.lineTo(a,s),l.closePath(),u\x26\x26l.fill(),c\x26\x26l.stroke(),this};d$jscomp$0.default.Renderer2D.prototype.rect\x3dfunction(e){var t\x3de[0],r\x3de[1],n\x3de[2],o\x3de[3],i\x3de[4],a\x3de[5],s\x3de[6];e\x3de[7];var u\x3dthis.drawingContext,c\x3dthis._doFill,d\x3dthis._doStroke;if(c\x26\x26!d){if(\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getFill())return this}else if(!c\x26\x26d\x26\x26\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke())return this;if(u.beginPath(),void 0\x3d\x3d\x3di)u.rect(t,\nr,n,o);else{void 0\x3d\x3d\x3da\x26\x26(a\x3di);void 0\x3d\x3d\x3ds\x26\x26(s\x3da);void 0\x3d\x3d\x3de\x26\x26(e\x3ds);c\x3dMath.abs(n);d\x3dMath.abs(o);var p\x3dc/2,y\x3dd/2;c\x3c2*i\x26\x26(i\x3dp);d\x3c2*i\x26\x26(i\x3dy);c\x3c2*a\x26\x26(a\x3dp);d\x3c2*a\x26\x26(a\x3dy);c\x3c2*s\x26\x26(s\x3dp);d\x3c2*s\x26\x26(s\x3dy);c\x3c2*e\x26\x26(e\x3dp);d\x3c2*e\x26\x26(e\x3dy);u.beginPath();u.moveTo(t+i,r);u.arcTo(t+n,r,t+n,r+o,a);u.arcTo(t+n,r+o,t,r+o,s);u.arcTo(t,r+o,t,r,e);u.arcTo(t,r,t+n,r,i);u.closePath()}return this._doFill\x26\x26u.fill(),this._doStroke\x26\x26u.stroke(),this};d$jscomp$0.default.Renderer2D.prototype.triangle\x3dfunction(e){var t\x3dthis.drawingContext,r\x3d\nthis._doFill,n\x3dthis._doStroke,o\x3de[0],i\x3de[1],a\x3de[2],s\x3de[3],l\x3de[4];e\x3de[5];if(r\x26\x26!n){if(\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getFill())return this}else if(!r\x26\x26n\x26\x26\x22rgba(0,0,0,0)\x22\x3d\x3d\x3dthis._getStroke())return this;t.beginPath();t.moveTo(o,i);t.lineTo(a,s);t.lineTo(l,e);t.closePath();r\x26\x26t.fill();n\x26\x26t.stroke()};d$jscomp$0.default.Renderer2D.prototype.endShape\x3dfunction(e,t,r,n,o,i,a){if(0\x3d\x3d\x3dt.length||!this._doStroke\x26\x26!this._doFill)return this;(e\x3de\x3d\x3d\x3dp$jscomp$0.CLOSE)\x26\x26!i\x26\x26t.push(t[0]);i\x3dt.length;if(!r||a!\x3d\x3dp$jscomp$0.POLYGON\x26\x26\nnull!\x3d\x3da)if(!n||a!\x3d\x3dp$jscomp$0.POLYGON\x26\x26null!\x3d\x3da)if(!o||a!\x3d\x3dp$jscomp$0.POLYGON\x26\x26null!\x3d\x3da)if(a\x3d\x3d\x3dp$jscomp$0.POINTS)for(r\x3d0;r\x3ci;r++){var s\x3dt[r];this._doStroke\x26\x26this._pInst.stroke(s[6]);this._pInst.point(s[0],s[1])}else if(a\x3d\x3d\x3dp$jscomp$0.LINES)for(r\x3d0;r+1\x3ci;r+\x3d2)s\x3dt[r],this._doStroke\x26\x26this._pInst.stroke(t[r+1][6]),this._pInst.line(s[0],s[1],t[r+1][0],t[r+1][1]);else if(a\x3d\x3d\x3dp$jscomp$0.TRIANGLES)for(r\x3d0;r+2\x3ci;r+\x3d3)s\x3dt[r],this.drawingContext.beginPath(),this.drawingContext.moveTo(s[0],s[1]),this.drawingContext.lineTo(t[r+\n1][0],t[r+1][1]),this.drawingContext.lineTo(t[r+2][0],t[r+2][1]),this.drawingContext.closePath(),this._doFill\x26\x26(this._pInst.fill(t[r+2][5]),this.drawingContext.fill()),this._doStroke\x26\x26(this._pInst.stroke(t[r+2][6]),this.drawingContext.stroke());else if(a\x3d\x3d\x3dp$jscomp$0.TRIANGLE_STRIP)for(r\x3d0;r+1\x3ci;r++)s\x3dt[r],this.drawingContext.beginPath(),this.drawingContext.moveTo(t[r+1][0],t[r+1][1]),this.drawingContext.lineTo(s[0],s[1]),this._doStroke\x26\x26this._pInst.stroke(t[r+1][6]),this._doFill\x26\x26this._pInst.fill(t[r+\n1][5]),r+2\x3ci\x26\x26(this.drawingContext.lineTo(t[r+2][0],t[r+2][1]),this._doStroke\x26\x26this._pInst.stroke(t[r+2][6]),this._doFill\x26\x26this._pInst.fill(t[r+2][5])),this._doFillStrokeClose(e);else if(a\x3d\x3d\x3dp$jscomp$0.TRIANGLE_FAN){if(2\x3ci){this.drawingContext.beginPath();for(r\x3d2;r\x3ci;r++)s\x3dt[r],this.drawingContext.moveTo(t[0][0],t[0][1]),this.drawingContext.lineTo(t[r-1][0],t[r-1][1]),this.drawingContext.lineTo(s[0],s[1]),this.drawingContext.lineTo(t[0][0],t[0][1]),r\x3ci-1\x26\x26(this._doFill\x26\x26s[5]!\x3d\x3dt[r+1][5]||this._doStroke\x26\x26\ns[6]!\x3d\x3dt[r+1][6])\x26\x26(this._doFill\x26\x26(this._pInst.fill(s[5]),this.drawingContext.fill(),this._pInst.fill(t[r+1][5])),this._doStroke\x26\x26(this._pInst.stroke(s[6]),this.drawingContext.stroke(),this._pInst.stroke(t[r+1][6])),this.drawingContext.closePath(),this.drawingContext.beginPath());this._doFillStrokeClose(e)}}else if(a\x3d\x3d\x3dp$jscomp$0.QUADS)for(r\x3d0;r+3\x3ci;r+\x3d4){s\x3dt[r];this.drawingContext.beginPath();this.drawingContext.moveTo(s[0],s[1]);for(n\x3d1;4\x3en;n++)this.drawingContext.lineTo(t[r+n][0],t[r+n][1]);this.drawingContext.lineTo(s[0],\ns[1]);this._doFill\x26\x26this._pInst.fill(t[r+3][5]);this._doStroke\x26\x26this._pInst.stroke(t[r+3][6]);this._doFillStrokeClose(e)}else if(a\x3d\x3d\x3dp$jscomp$0.QUAD_STRIP){if(3\x3ci)for(r\x3d0;r+1\x3ci;r+\x3d2)s\x3dt[r],this.drawingContext.beginPath(),r+3\x3ci?(this.drawingContext.moveTo(t[r+2][0],t[r+2][1]),this.drawingContext.lineTo(s[0],s[1]),this.drawingContext.lineTo(t[r+1][0],t[r+1][1]),this.drawingContext.lineTo(t[r+3][0],t[r+3][1]),this._doFill\x26\x26this._pInst.fill(t[r+3][5]),this._doStroke\x26\x26this._pInst.stroke(t[r+3][6])):(this.drawingContext.moveTo(s[0],\ns[1]),this.drawingContext.lineTo(t[r+1][0],t[r+1][1])),this._doFillStrokeClose(e)}else{this.drawingContext.beginPath();this.drawingContext.moveTo(t[0][0],t[0][1]);for(r\x3d1;r\x3ci;r++)(s\x3dt[r]).isVert\x26\x26(s.moveTo?this.drawingContext.moveTo(s[0],s[1]):this.drawingContext.lineTo(s[0],s[1]));this._doFillStrokeClose(e)}else{this.drawingContext.beginPath();for(r\x3d0;r\x3ci;r++)t[r].isVert?t[r].moveTo?this.drawingContext.moveTo(t[r][0],t[r][1]):this.drawingContext.lineTo(t[r][0],t[r][1]):this.drawingContext.quadraticCurveTo(t[r][0],\nt[r][1],t[r][2],t[r][3]);this._doFillStrokeClose(e)}else{this.drawingContext.beginPath();for(r\x3d0;r\x3ci;r++)t[r].isVert?t[r].moveTo?this.drawingContext.moveTo(t[r][0],t[r][1]):this.drawingContext.lineTo(t[r][0],t[r][1]):this.drawingContext.bezierCurveTo(t[r][0],t[r][1],t[r][2],t[r][3],t[r][4],t[r][5]);this._doFillStrokeClose(e)}else if(3\x3ci){n\x3d[];o\x3d1-this._curveTightness;this.drawingContext.beginPath();this.drawingContext.moveTo(t[1][0],t[1][1]);for(r\x3d1;r+2\x3ci;r++)s\x3dt[r],n[0]\x3d[s[0],s[1]],n[1]\x3d[s[0]+(o*\nt[r+1][0]-o*t[r-1][0])/6,s[1]+(o*t[r+1][1]-o*t[r-1][1])/6],n[2]\x3d[t[r+1][0]+(o*t[r][0]-o*t[r+2][0])/6,t[r+1][1]+(o*t[r][1]-o*t[r+2][1])/6],n[3]\x3d[t[r+1][0],t[r+1][1]],this.drawingContext.bezierCurveTo(n[1][0],n[1][1],n[2][0],n[2][1],n[3][0],n[3][1]);e\x26\x26this.drawingContext.lineTo(t[r+1][0],t[r+1][1]);this._doFillStrokeClose(e)}return e\x26\x26t.pop(),this};d$jscomp$0.default.Renderer2D.prototype.strokeCap\x3dfunction(e){return e!\x3d\x3dp$jscomp$0.ROUND\x26\x26e!\x3d\x3dp$jscomp$0.SQUARE\x26\x26e!\x3d\x3dp$jscomp$0.PROJECT||(this.drawingContext.lineCap\x3d\ne),this};d$jscomp$0.default.Renderer2D.prototype.strokeJoin\x3dfunction(e){return e!\x3d\x3dp$jscomp$0.ROUND\x26\x26e!\x3d\x3dp$jscomp$0.BEVEL\x26\x26e!\x3d\x3dp$jscomp$0.MITER||(this.drawingContext.lineJoin\x3de),this};d$jscomp$0.default.Renderer2D.prototype.strokeWeight\x3dfunction(e){return this.drawingContext.lineWidth\x3dvoid 0\x3d\x3d\x3de||0\x3d\x3d\x3de?1E-4:e,this};d$jscomp$0.default.Renderer2D.prototype._getFill\x3dfunction(){return this._cachedFillStyle||(this._cachedFillStyle\x3dthis.drawingContext.fillStyle),this._cachedFillStyle};d$jscomp$0.default.Renderer2D.prototype._setFill\x3d\nfunction(e){e!\x3d\x3dthis._cachedFillStyle\x26\x26(this.drawingContext.fillStyle\x3de,this._cachedFillStyle\x3de)};d$jscomp$0.default.Renderer2D.prototype._getStroke\x3dfunction(){return this._cachedStrokeStyle||(this._cachedStrokeStyle\x3dthis.drawingContext.strokeStyle),this._cachedStrokeStyle};d$jscomp$0.default.Renderer2D.prototype._setStroke\x3dfunction(e){e!\x3d\x3dthis._cachedStrokeStyle\x26\x26(this.drawingContext.strokeStyle\x3de,this._cachedStrokeStyle\x3de)};d$jscomp$0.default.Renderer2D.prototype.bezier\x3dfunction(e,t,r,n,o,i,a,s){return this._pInst.beginShape(),\nthis._pInst.vertex(e,t),this._pInst.bezierVertex(r,n,o,i,a,s),this._pInst.endShape(),this};d$jscomp$0.default.Renderer2D.prototype.curve\x3dfunction(e,t,r,n,o,i,a,s){return this._pInst.beginShape(),this._pInst.curveVertex(e,t),this._pInst.curveVertex(r,n),this._pInst.curveVertex(o,i),this._pInst.curveVertex(a,s),this._pInst.endShape(),this};d$jscomp$0.default.Renderer2D.prototype._doFillStrokeClose\x3dfunction(e){e\x26\x26this.drawingContext.closePath();this._doFill\x26\x26this.drawingContext.fill();this._doStroke\x26\x26\nthis.drawingContext.stroke()};d$jscomp$0.default.Renderer2D.prototype.applyMatrix\x3dfunction(e,t,r,n,o,i){this.drawingContext.transform(e,t,r,n,o,i)};d$jscomp$0.default.Renderer2D.prototype.resetMatrix\x3dfunction(){return this.drawingContext.setTransform(1,0,0,1,0,0),this.drawingContext.scale(this._pInst._pixelDensity,this._pInst._pixelDensity),this};d$jscomp$0.default.Renderer2D.prototype.rotate\x3dfunction(e){this.drawingContext.rotate(e)};d$jscomp$0.default.Renderer2D.prototype.scale\x3dfunction(e,t){return this.drawingContext.scale(e,\nt),this};d$jscomp$0.default.Renderer2D.prototype.translate\x3dfunction(e,t){return e instanceof d$jscomp$0.default.Vector\x26\x26(t\x3de.y,e\x3de.x),this.drawingContext.translate(e,t),this};d$jscomp$0.default.Renderer2D.prototype.text\x3dfunction(e,t,r,n,o){var i;void 0!\x3d\x3dn\x26\x26this.drawingContext.textBaseline\x3d\x3d\x3dp$jscomp$0.BASELINE\x26\x26(i\x3d!0,this.drawingContext.textBaseline\x3dp$jscomp$0.TOP);var a\x3dd$jscomp$0.default.Renderer.prototype.text.apply(this,arguments);return i\x26\x26(this.drawingContext.textBaseline\x3dp$jscomp$0.BASELINE),\na};d$jscomp$0.default.Renderer2D.prototype._renderText\x3dfunction(e,t,r,n,o){if(!(o\x3c\x3dn))return e.push(),this._isOpenType()?this._textFont._renderPath(t,r,n,{renderer:this}):(this._doStroke\x26\x26this._strokeSet\x26\x26this.drawingContext.strokeText(t,r,n),this._doFill\x26\x26(this._fillSet||this._setFill(p$jscomp$0._DEFAULT_TEXT_FILL),this.drawingContext.fillText(t,r,n))),e.pop(),e};d$jscomp$0.default.Renderer2D.prototype.textWidth\x3dfunction(e){return this._isOpenType()?this._textFont._textWidth(e,this._textSize):this.drawingContext.measureText(e).width};\nd$jscomp$0.default.Renderer2D.prototype._applyTextProperties\x3dfunction(){var e,t\x3dthis._pInst;return this._setProperty(\x22_textAscent\x22,null),this._setProperty(\x22_textDescent\x22,null),e\x3dthis._textFont,this._isOpenType()\x26\x26(e\x3dthis._textFont.font.familyName,this._setProperty(\x22_textStyle\x22,this._textFont.font.styleName)),this.drawingContext.font\x3d\x22\x22.concat(this._textStyle||\x22normal\x22,\x22 \x22).concat(this._textSize||12,\x22px \x22).concat(e||\x22sans-serif\x22),this.drawingContext.textAlign\x3dthis._textAlign,this._textBaseline\x3d\x3d\x3dp$jscomp$0.CENTER?\nthis.drawingContext.textBaseline\x3dp$jscomp$0._CTX_MIDDLE:this.drawingContext.textBaseline\x3dthis._textBaseline,t};d$jscomp$0.default.Renderer2D.prototype.push\x3dfunction(){return this.drawingContext.save(),d$jscomp$0.default.Renderer.prototype.push.apply(this)};d$jscomp$0.default.Renderer2D.prototype.pop\x3dfunction(e){this.drawingContext.restore();this._cachedFillStyle\x3dthis.drawingContext.fillStyle;this._cachedStrokeStyle\x3dthis.drawingContext.strokeStyle;d$jscomp$0.default.Renderer.prototype.pop.call(this,\ne)};r$jscomp$0.default\x3dd$jscomp$0.default.Renderer2D},{\x22../image/filters\x22:285,\x22./constants\x22:253,\x22./main\x22:264,\x22./p5.Renderer\x22:267,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.number.to-fixed\x22:172,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182}],269:[function(e$jscomp$1,t$jscomp$1,r$jscomp$0){function i$jscomp$0(){return{}}\ne$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.assign\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.promise\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);var n$jscomp$0,f\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?\nn$jscomp$0:{default:n$jscomp$0};f.default.prototype._promisePreloads\x3d[];var h\x3d!(f.default.prototype.registerPromisePreload\x3dfunction(e){f.default.prototype._promisePreloads.push(e)});f.default.prototype._setupPromisePreloads\x3dfunction(){var e$jscomp$0\x3d!0,t\x3d!1,r\x3dvoid 0;try{for(var n,o\x3dthis._promisePreloads[Symbol.iterator]();!(e$jscomp$0\x3d(n\x3do.next()).done);e$jscomp$0\x3d!0){var i\x3dn.value,a\x3dthis,s\x3di.method,l\x3di.addCallbacks,u\x3di.legacyPreloadSetup,c\x3di.target||this,d\x3dc[s].bind(c);if(c\x3d\x3d\x3df.default.prototype){if(h)continue;\na\x3dnull;d\x3dc[s]}if(c[s]\x3dthis._wrapPromisePreload(a,d,l),u)c[u.method]\x3dthis._legacyPreloadGenerator(a,u,c[s])}}catch(e){t\x3d!0,r\x3de}finally{try{e$jscomp$0||null\x3d\x3do.return||o.return()}finally{if(t)throw r;}}h\x3d!0};f.default.prototype._wrapPromisePreload\x3dfunction(e$jscomp$0,l,u){var t$jscomp$0\x3dfunction(){var e\x3dthis;this._incrementPreload();for(var t\x3dnull,r\x3dnull,n\x3darguments.length,o\x3dArray(n),i\x3d0;i\x3cn;i++)o[i]\x3darguments[i];if(u)for(n\x3do.length-1;0\x3c\x3dn\x26\x26!r\x26\x26\x22function\x22\x3d\x3dtypeof o[n];n--)r\x3dt,t\x3do.pop();o\x3dPromise.resolve(l.apply(this,\no));return t\x26\x26o.then(t),r\x26\x26o.catch(r),o.then(function(){return e._decrementPreload()}),o};return e$jscomp$0\x26\x26(t$jscomp$0\x3dt$jscomp$0.bind(e$jscomp$0)),t$jscomp$0};f.default.prototype._legacyPreloadGenerator\x3dfunction(e$jscomp$0,t$jscomp$0,n){var o\x3dt$jscomp$0.createBaseObject||i$jscomp$0;t$jscomp$0\x3dfunction(){var t\x3dthis;this._incrementPreload();var r\x3do.apply(this,arguments);return n.apply(this,arguments).then(function(e){Object.assign(r,e);t._decrementPreload()}),r};return e$jscomp$0\x26\x26(t$jscomp$0\x3dt$jscomp$0.bind(e$jscomp$0)),\nt$jscomp$0}},{\x22./main\x22:264,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],270:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;\nvar e\x3dnew WeakMap;return a$jscomp$0\x3dfunction(){return e},e}function s(e$jscomp$0){return(s\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);\ne$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,l\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},u\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3ds(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3da$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);\nvar r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22./constants\x22));e$jscomp$1(\x22./p5.Graphics\x22);e$jscomp$1(\x22./p5.Renderer2D\x22);e$jscomp$1(\x22../webgl/p5.RendererGL\x22);var c\x3d\x22defaultCanvas0\x22;l.default.prototype.createCanvas\x3dfunction(e$jscomp$0,t,r){l.default._validateParameters(\x22createCanvas\x22,\narguments);var n,o\x3dr||u.P2D;if(o\x3d\x3d\x3du.WEBGL){if(n\x3ddocument.getElementById(c)){n.parentNode.removeChild(n);var i\x3dthis._renderer;this._elements\x3dthis._elements.filter(function(e){return e!\x3d\x3di})}(n\x3ddocument.createElement(\x22canvas\x22)).id\x3dc;n.classList.add(\x22p5Canvas\x22)}else if(this._defaultGraphicsCreated)n\x3dthis.canvas;else{n\x3ddocument.createElement(\x22canvas\x22);for(var a\x3d0;document.getElementById(\x22defaultCanvas\x22.concat(a));)a++;c\x3d\x22defaultCanvas\x22.concat(a);n.id\x3dc;n.classList.add(\x22p5Canvas\x22)}(this._setupDone||(n.dataset.hidden\x3d\n!0,n.style.visibility\x3d\x22hidden\x22),this._userNode)?this._userNode.appendChild(n):(0\x3d\x3d\x3ddocument.getElementsByTagName(\x22main\x22).length\x26\x26(a\x3ddocument.createElement(\x22main\x22),document.body.appendChild(a)),document.getElementsByTagName(\x22main\x22)[0].appendChild(n));return o\x3d\x3d\x3du.WEBGL?(this._setProperty(\x22_renderer\x22,new l.default.RendererGL(n,this,!0)),this._elements.push(this._renderer)):this._defaultGraphicsCreated||(this._setProperty(\x22_renderer\x22,new l.default.Renderer2D(n,this,!0)),this._defaultGraphicsCreated\x3d\n!0,this._elements.push(this._renderer)),this._renderer.resize(e$jscomp$0,t),this._renderer._applyDefaults(),this._renderer};l.default.prototype.resizeCanvas\x3dfunction(e$jscomp$0,t,r){if(l.default._validateParameters(\x22resizeCanvas\x22,arguments),this._renderer){var n\x3d{},o;for(o in this.drawingContext){var i\x3dthis.drawingContext[o];\x22object\x22!\x3d\x3ds(i)\x26\x26\x22function\x22!\x3dtypeof i\x26\x26(n[o]\x3di)}for(var a in this._renderer.resize(e$jscomp$0,t),this.width\x3de$jscomp$0,this.height\x3dt,n)try{this.drawingContext[a]\x3dn[a]}catch(e){}r||\nthis.redraw()}this._addAccsOutput()\x26\x26this._updateAccsOutput()};l.default.prototype.noCanvas\x3dfunction(){this.canvas\x26\x26this.canvas.parentNode.removeChild(this.canvas)};l.default.prototype.createGraphics\x3dfunction(e,t,r){return l.default._validateParameters(\x22createGraphics\x22,arguments),new l.default.Graphics(e,t,r,this)};l.default.prototype.blendMode\x3dfunction(e){l.default._validateParameters(\x22blendMode\x22,arguments);e\x3d\x3d\x3du.NORMAL\x26\x26(console.warn(\x22NORMAL has been deprecated for use in blendMode. defaulting to BLEND instead.\x22),\ne\x3du.BLEND);this._renderer.blendMode(e)};r$jscomp$0.default\x3dl.default},{\x22../webgl/p5.RendererGL\x22:318,\x22./constants\x22:253,\x22./main\x22:264,\x22./p5.Graphics\x22:266,\x22./p5.Renderer2D\x22:268,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],\n271:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function l$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return l$jscomp$0\x3dfunction(){return e},e}function n$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$1(\x22core-js/modules/es.array.slice\x22);\nObject.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var c\x3dn$jscomp$0(e$jscomp$1(\x22../main\x22)),s$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3dl$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,\no,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../constants\x22)),d\x3dn$jscomp$0(e$jscomp$1(\x22../helpers\x22));e$jscomp$1(\x22../friendly_errors/fes_core\x22);e$jscomp$1(\x22../friendly_errors/file_errors\x22);e$jscomp$1(\x22../friendly_errors/validate_params\x22);c.default.prototype._normalizeArcAngles\x3dfunction(e,t,r,n,o){var i;return e-\x3ds$jscomp$0.TWO_PI*Math.floor(e/s$jscomp$0.TWO_PI),t-\x3ds$jscomp$0.TWO_PI*Math.floor(t/s$jscomp$0.TWO_PI),i\x3dMath.min(Math.abs(e-t),s$jscomp$0.TWO_PI-Math.abs(e-t)),o\x26\x26(e\x3de\x3c\x3ds$jscomp$0.HALF_PI?\nMath.atan(r/n*Math.tan(e)):e\x3es$jscomp$0.HALF_PI\x26\x26e\x3c\x3d3*s$jscomp$0.HALF_PI?Math.atan(r/n*Math.tan(e))+s$jscomp$0.PI:Math.atan(r/n*Math.tan(e))+s$jscomp$0.TWO_PI,t\x3dt\x3c\x3ds$jscomp$0.HALF_PI?Math.atan(r/n*Math.tan(t)):t\x3es$jscomp$0.HALF_PI\x26\x26t\x3c\x3d3*s$jscomp$0.HALF_PI?Math.atan(r/n*Math.tan(t))+s$jscomp$0.PI:Math.atan(r/n*Math.tan(t))+s$jscomp$0.TWO_PI),t\x3ce\x26\x26(t+\x3ds$jscomp$0.TWO_PI),{start:e,stop:t,correspondToSamePoint:1E-5\x3ei}};c.default.prototype.arc\x3dfunction(e,t,r,n,o,i,a,s){if((c.default._validateParameters(\x22arc\x22,\narguments),!this._renderer._doStroke\x26\x26!this._renderer._doFill)||o\x3d\x3d\x3di)return this;o\x3dthis._toRadians(o);i\x3dthis._toRadians(i);r\x3dMath.abs(r);n\x3dMath.abs(n);var l\x3dd.default.modeAdjust(e,t,r,n,this._renderer._ellipseMode),u\x3dthis._normalizeArcAngles(o,i,l.w,l.h,!0);return u.correspondToSamePoint?this._renderer.ellipse([l.x,l.y,l.w,l.h,s]):(this._renderer.arc(l.x,l.y,l.w,l.h,u.start,u.stop,a,s),(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22arc\x22,[l.x,l.y,l.w,l.h,u.start,u.stop,\na])),this};c.default.prototype.ellipse\x3dfunction(e,t,r,n,o){return c.default._validateParameters(\x22ellipse\x22,arguments),this._renderEllipse.apply(this,arguments)};c.default.prototype.circle\x3dfunction(){c.default._validateParameters(\x22circle\x22,arguments);var e\x3dArray.prototype.slice.call(arguments,0,2);return e.push(arguments[2]),e.push(arguments[2]),this._renderEllipse.apply(this,e)};c.default.prototype._renderEllipse\x3dfunction(e,t,r,n,o){if(!this._renderer._doStroke\x26\x26!this._renderer._doFill)return this;\n0\x3er\x26\x26(r\x3dMath.abs(r));void 0\x3d\x3d\x3dn?n\x3dr:0\x3en\x26\x26(n\x3dMath.abs(n));e\x3dd.default.modeAdjust(e,t,r,n,this._renderer._ellipseMode);return this._renderer.ellipse([e.x,e.y,e.w,e.h,o]),(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22ellipse\x22,[e.x,e.y,e.w,e.h]),this};c.default.prototype.line\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;c.default._validateParameters(\x22line\x22,t);this._renderer._doStroke\x26\x26(n\x3dthis._renderer).line.apply(n,t);return(this._accessibleOutputs.grid||\nthis._accessibleOutputs.text)\x26\x26this._accsOutput(\x22line\x22,t),this};c.default.prototype.point\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;c.default._validateParameters(\x22point\x22,t);this._renderer._doStroke\x26\x26(1\x3d\x3d\x3dt.length\x26\x26t[0]instanceof c.default.Vector?this._renderer.point.call(this._renderer,t[0].x,t[0].y,t[0].z):((n\x3dthis._renderer).point.apply(n,t),(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22point\x22,t)));return this};c.default.prototype.quad\x3d\nfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;c.default._validateParameters(\x22quad\x22,t);(this._renderer._doStroke||this._renderer._doFill)\x26\x26(this._renderer.isP3D\x26\x2612\x3e\x3dt.length?this._renderer.quad.call(this._renderer,t[0],t[1],0,t[2],t[3],0,t[4],t[5],0,t[6],t[7],0,t[8],t[9]):((n\x3dthis._renderer).quad.apply(n,t),(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22quadrilateral\x22,t)));return this};c.default.prototype.rect\x3dfunction(){return c.default._validateParameters(\x22rect\x22,\narguments),this._renderRect.apply(this,arguments)};c.default.prototype.square\x3dfunction(e,t,r,n,o,i,a){return c.default._validateParameters(\x22square\x22,arguments),this._renderRect.call(this,e,t,r,r,n,o,i,a)};c.default.prototype._renderRect\x3dfunction(){if(this._renderer._doStroke||this._renderer._doFill){3\x3d\x3d\x3darguments.length\x26\x26(arguments[3]\x3darguments[2]);for(var e\x3dd.default.modeAdjust(arguments[0],arguments[1],arguments[2],arguments[3],this._renderer._rectMode),t\x3d[e.x,e.y,e.w,e.h],r\x3d4;r\x3carguments.length;r++)t[r]\x3d\narguments[r];this._renderer.rect(t);(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22rectangle\x22,[e.x,e.y,e.w,e.h])}return this};c.default.prototype.triangle\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return c.default._validateParameters(\x22triangle\x22,t),(this._renderer._doStroke||this._renderer._doFill)\x26\x26this._renderer.triangle(t),(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._accsOutput(\x22triangle\x22,t),this};r$jscomp$0.default\x3d\nc.default},{\x22../constants\x22:253,\x22../friendly_errors/fes_core\x22:255,\x22../friendly_errors/file_errors\x22:256,\x22../friendly_errors/validate_params\x22:259,\x22../helpers\x22:260,\x22../main\x22:264,\x22core-js/modules/es.array.slice\x22:162}],272:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}\nfunction s(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},i$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,\no;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../constants\x22));o$jscomp$0.default.prototype.ellipseMode\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22ellipseMode\x22,arguments),e!\x3d\x3di$jscomp$0.CORNER\x26\x26e!\x3d\x3di$jscomp$0.CORNERS\x26\x26e!\x3d\x3di$jscomp$0.RADIUS\x26\x26e!\x3d\x3di$jscomp$0.CENTER||(this._renderer._ellipseMode\x3de),this};o$jscomp$0.default.prototype.noSmooth\x3d\nfunction(){return this._renderer.isP3D?this.setAttributes(\x22antialias\x22,!1):\x22imageSmoothingEnabled\x22in this.drawingContext\x26\x26(this.drawingContext.imageSmoothingEnabled\x3d!1),this};o$jscomp$0.default.prototype.rectMode\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22rectMode\x22,arguments),e!\x3d\x3di$jscomp$0.CORNER\x26\x26e!\x3d\x3di$jscomp$0.CORNERS\x26\x26e!\x3d\x3di$jscomp$0.RADIUS\x26\x26e!\x3d\x3di$jscomp$0.CENTER||(this._renderer._rectMode\x3de),this};o$jscomp$0.default.prototype.smooth\x3dfunction(){return this.setAttributes(\x22antialias\x22,\n!0),this._renderer.isP3D||\x22imageSmoothingEnabled\x22in this.drawingContext\x26\x26(this.drawingContext.imageSmoothingEnabled\x3d!0),this};o$jscomp$0.default.prototype.strokeCap\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22strokeCap\x22,arguments),e!\x3d\x3di$jscomp$0.ROUND\x26\x26e!\x3d\x3di$jscomp$0.SQUARE\x26\x26e!\x3d\x3di$jscomp$0.PROJECT||this._renderer.strokeCap(e),this};o$jscomp$0.default.prototype.strokeJoin\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22strokeJoin\x22,arguments),e!\x3d\x3di$jscomp$0.ROUND\x26\x26e!\x3d\x3di$jscomp$0.BEVEL\x26\x26\ne!\x3d\x3di$jscomp$0.MITER||this._renderer.strokeJoin(e),this};o$jscomp$0.default.prototype.strokeWeight\x3dfunction(e){return o$jscomp$0.default._validateParameters(\x22strokeWeight\x22,arguments),this._renderer.strokeWeight(e),this};r$jscomp$0.default\x3do$jscomp$0.default},{\x22../constants\x22:253,\x22../main\x22:264}],273:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$0(\x22../main\x22))\x26\x26n$jscomp$0.__esModule?\nn$jscomp$0:{default:n$jscomp$0};e$jscomp$0(\x22../friendly_errors/fes_core\x22);e$jscomp$0(\x22../friendly_errors/file_errors\x22);e$jscomp$0(\x22../friendly_errors/validate_params\x22);s.default.prototype.bezier\x3dfunction(){for(var e,t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];return s.default._validateParameters(\x22bezier\x22,r),(this._renderer._doStroke||this._renderer._doFill)\x26\x26(e\x3dthis._renderer).bezier.apply(e,r),this};s.default.prototype.bezierDetail\x3dfunction(e){return s.default._validateParameters(\x22bezierDetail\x22,\narguments),this._bezierDetail\x3de,this};s.default.prototype.bezierPoint\x3dfunction(e,t,r,n,o){s.default._validateParameters(\x22bezierPoint\x22,arguments);var i\x3d1-o;return Math.pow(i,3)*e+3*Math.pow(i,2)*o*t+3*i*Math.pow(o,2)*r+Math.pow(o,3)*n};s.default.prototype.bezierTangent\x3dfunction(e,t,r,n,o){s.default._validateParameters(\x22bezierTangent\x22,arguments);var i\x3d1-o;return 3*n*Math.pow(o,2)-3*r*Math.pow(o,2)+6*r*i*o-6*t*i*o+3*t*Math.pow(i,2)-3*e*Math.pow(i,2)};s.default.prototype.curve\x3dfunction(){for(var e\x3darguments.length,\nt\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;s.default._validateParameters(\x22curve\x22,t);this._renderer._doStroke\x26\x26(n\x3dthis._renderer).curve.apply(n,t);return this};s.default.prototype.curveDetail\x3dfunction(e){return s.default._validateParameters(\x22curveDetail\x22,arguments),this._curveDetail\x3d3\x3ee?3:e,this};s.default.prototype.curveTightness\x3dfunction(e){return s.default._validateParameters(\x22curveTightness\x22,arguments),this._renderer._curveTightness\x3de,this};s.default.prototype.curvePoint\x3dfunction(e,t,r,n,o){s.default._validateParameters(\x22curvePoint\x22,\narguments);var i\x3do*o*o,a\x3do*o;return e*(-.5*i+a-.5*o)+t*(1.5*i-2.5*a+1)+r*(-1.5*i+2*a+.5*o)+n*(.5*i-.5*a)};s.default.prototype.curveTangent\x3dfunction(e,t,r,n,o){s.default._validateParameters(\x22curveTangent\x22,arguments);var i\x3do*o;return e*(-3*i/2+2*o-.5)+t*(9*i/2-5*o)+r*(-9*i/2+4*o+.5)+n*(3*i/2-o)};r$jscomp$0.default\x3ds.default},{\x22../friendly_errors/fes_core\x22:255,\x22../friendly_errors/file_errors\x22:256,\x22../friendly_errors/validate_params\x22:259,\x22../main\x22:264}],274:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\n\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function u(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return u\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.slice\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$1(\x22../main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},l\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3du();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../constants\x22)),\no$jscomp$0\x3dnull,c\x3d[],d\x3d[],f\x3d!1,i$jscomp$0\x3d!1,h\x3d!1,p\x3d!1,y\x3d!0;s.default.prototype.beginContour\x3dfunction(){return d\x3d[],p\x3d!0,this};s.default.prototype.beginShape\x3dfunction(e){var t;(s.default._validateParameters(\x22beginShape\x22,arguments),this._renderer.isP3D)?(t\x3dthis._renderer).beginShape.apply(t,arguments):(o$jscomp$0\x3de\x3d\x3d\x3dl.POINTS||e\x3d\x3d\x3dl.LINES||e\x3d\x3d\x3dl.TRIANGLES||e\x3d\x3d\x3dl.TRIANGLE_FAN||e\x3d\x3d\x3dl.TRIANGLE_STRIP||e\x3d\x3d\x3dl.QUADS||e\x3d\x3d\x3dl.QUAD_STRIP?e:null,c\x3d[],d\x3d[]);return this};s.default.prototype.bezierVertex\x3dfunction(){for(var e\x3d\narguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;if(s.default._validateParameters(\x22bezierVertex\x22,t),this._renderer.isP3D)(n\x3dthis._renderer).bezierVertex.apply(n,t);else if(0\x3d\x3d\x3dc.length)s.default._friendlyError(\x22vertex() must be used once before calling bezierVertex()\x22,\x22bezierVertex\x22);else{f\x3d!0;e\x3d[];for(r\x3d0;r\x3ct.length;r++)e[r]\x3dt[r];e.isVert\x3d!1;p?d.push(e):c.push(e)}return this};s.default.prototype.curveVertex\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];\nvar n;(s.default._validateParameters(\x22curveVertex\x22,t),this._renderer.isP3D)?(n\x3dthis._renderer).curveVertex.apply(n,t):(i$jscomp$0\x3d!0,this.vertex(t[0],t[1]));return this};s.default.prototype.endContour\x3dfunction(){var e\x3dd[0].slice();e.isVert\x3dd[0].isVert;e.moveTo\x3d!1;d.push(e);y\x26\x26(c.push(c[0]),y\x3d!1);for(e\x3d0;e\x3cd.length;e++)c.push(d[e]);return this};s.default.prototype.endShape\x3dfunction(e){if(s.default._validateParameters(\x22endShape\x22,arguments),this._renderer.isP3D)this._renderer.endShape(e,i$jscomp$0,f,\nh,p,o$jscomp$0);else{if(0\x3d\x3d\x3dc.length||!this._renderer._doStroke\x26\x26!this._renderer._doFill)return this;var t\x3de\x3d\x3d\x3dl.CLOSE;t\x26\x26!p\x26\x26c.push(c[0]);this._renderer.endShape(e,c,i$jscomp$0,f,h,p,o$jscomp$0);y\x3d!(p\x3dh\x3df\x3di$jscomp$0\x3d!1);t\x26\x26c.pop()}return this};s.default.prototype.quadraticVertex\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];if(s.default._validateParameters(\x22quadraticVertex\x22,t),this._renderer.isP3D){var n;(n\x3dthis._renderer).quadraticVertex.apply(n,t)}else{if(this._contourInited)return e\x3d\n{},e.x\x3dt[0],e.y\x3dt[1],e.x3\x3dt[2],e.y3\x3dt[3],e.type\x3dl.QUADRATIC,this._contourVertices.push(e),this;if(0\x3cc.length){h\x3d!0;e\x3d[];for(r\x3d0;r\x3ct.length;r++)e[r]\x3dt[r];e.isVert\x3d!1;p?d.push(e):c.push(e)}else s.default._friendlyError(\x22vertex() must be used once before calling quadraticVertex()\x22,\x22quadraticVertex\x22)}return this};s.default.prototype.vertex\x3dfunction(e,t,r,n,o){if(this._renderer.isP3D){var i;(i\x3dthis._renderer).vertex.apply(i,arguments)}else i\x3d[],i.isVert\x3d!0,i[0]\x3de,i[1]\x3dt,i[2]\x3d0,i[3]\x3d0,i[4]\x3d0,i[5]\x3dthis._renderer._getFill(),\ni[6]\x3dthis._renderer._getStroke(),r\x26\x26(i.moveTo\x3dr),p?(0\x3d\x3d\x3dd.length\x26\x26(i.moveTo\x3d!0),d.push(i)):c.push(i);return this};s.default.prototype.normal\x3dfunction(e,t,r){var n;return this._assert3d(\x22normal\x22),s.default._validateParameters(\x22normal\x22,arguments),(n\x3dthis._renderer).normal.apply(n,arguments),this};r$jscomp$0.default\x3ds.default},{\x22../constants\x22:253,\x22../main\x22:264,\x22core-js/modules/es.array.slice\x22:162}],275:[function(e$jscomp$1,t$jscomp$0,r$jscomp$1){function n$jscomp$0(e$jscomp$0){return(n$jscomp$0\x3d\x22function\x22\x3d\x3d\ntypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.object.assign\x22);\ne$jscomp$1(\x22core-js/modules/es.object.keys\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.uint8-clamped-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find-index\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reverse\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-string\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);window.requestAnimationFrame\x3dwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||\nwindow.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){window.setTimeout(e,1E3/60)};\x22undefined\x22\x3d\x3dtypeof Uint8ClampedArray||Uint8ClampedArray.prototype.slice||Object.defineProperty(Uint8ClampedArray.prototype,\x22slice\x22,{value:Array.prototype.slice,writable:!0,configurable:!0,enumerable:!1});(function(){if(!Object.assign){var s\x3dObject.keys,e$jscomp$0\x3dObject.defineProperty,l\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3d\x3dn$jscomp$0(Symbol()),r$jscomp$0\x3dObject.prototype.propertyIsEnumerable,\nu\x3dfunction(t){return function(e){return r$jscomp$0.call(t,e)}};e$jscomp$0(Object,\x22assign\x22,{value:function(e,t){if(null\x3d\x3de)throw new TypeError(\x22target must be an object\x22);var r,o,a\x3dObject(e);for(r\x3d1;r\x3carguments.length;++r){var n\x3dObject(arguments[r]);var i\x3ds(n);l\x26\x26Object.getOwnPropertySymbols\x26\x26i.push.apply(i,Object.getOwnPropertySymbols(n).filter(u(n)));for(o\x3d0;o\x3ci.length;++o)a[i[o]]\x3dn[i[o]]}return a},configurable:!0,enumerable:!1,writable:!0})}})()},{\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.iterator\x22:158,\n\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\n\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\n\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-clamped-array\x22:227,\x22core-js/modules/web.dom-collections.iterator\x22:229}],276:[function(e$jscomp$1,t,r$jscomp$0){e$jscomp$1(\x22core-js/modules/es.array.for-each\x22);\ne$jscomp$1(\x22core-js/modules/es.object.assign\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.for-each\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;e$jscomp$1\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$1.default.prototype.noLoop\x3dfunction(){this._loop\x3d!1};e$jscomp$1.default.prototype.loop\x3dfunction(){this._loop||(this._loop\x3d!0,this._setupDone\x26\x26this._draw())};e$jscomp$1.default.prototype.isLooping\x3d\nfunction(){return this._loop};e$jscomp$1.default.prototype.push\x3dfunction(){this._styles.push({props:{_colorMode:this._colorMode},renderer:this._renderer.push()})};e$jscomp$1.default.prototype.pop\x3dfunction(){var e\x3dthis._styles.pop();e?(this._renderer.pop(e.renderer),Object.assign(this,e.props)):console.warn(\x22pop() was called without matching push()\x22)};e$jscomp$1.default.prototype.redraw\x3dfunction(e$jscomp$0){if(!this._inUserDraw\x26\x26this._setupDone){e$jscomp$0\x3dparseInt(e$jscomp$0);(isNaN(e$jscomp$0)||\n1\x3ee$jscomp$0)\x26\x26(e$jscomp$0\x3d1);var r\x3dthis._isGlobal?window:this;if(\x22function\x22\x3d\x3dtypeof r.draw){void 0\x3d\x3d\x3dr.setup\x26\x26r.scale(r._pixelDensity,r._pixelDensity);for(var n\x3dfunction(e){e.call(r)},o\x3d0;o\x3ce$jscomp$0;o++){r.resetMatrix();(this._accessibleOutputs.grid||this._accessibleOutputs.text)\x26\x26this._updateAccsOutput();r._renderer.isP3D\x26\x26r._renderer._update();r._setProperty(\x22frameCount\x22,r.frameCount+1);r._registeredMethods.pre.forEach(n);this._inUserDraw\x3d!0;try{r.draw()}finally{this._inUserDraw\x3d!1}r._registeredMethods.post.forEach(n)}}}};\nr$jscomp$0.default\x3de$jscomp$1.default},{\x22./main\x22:264,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/web.dom-collections.for-each\x22:228}],277:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function o(e$jscomp$0){if(!(e$jscomp$0\x3dfunction(e){if(Array.isArray(e)){for(var t\x3d0,r\x3dArray(e.length);t\x3ce.length;t++)r[t]\x3de[t];return r}}(e$jscomp$0)||function(e){if(Symbol.iterator in Object(e)||\x22[object Arguments]\x22\x3d\x3d\x3dObject.prototype.toString.call(e))return Array.from(e)}(e$jscomp$0)))throw new TypeError(\x22Invalid attempt to spread non-iterable instance\x22);\nreturn e$jscomp$0}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.from\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.get-prototype-of\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.uint8-array\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.iterator\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.sort\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-string\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,i\x3d(n$jscomp$0\x3de$jscomp$1(\x22./main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};i.default.prototype.applyMatrix\x3dfunction(){var e,t,r\x3darguments[0]instanceof Object.getPrototypeOf(Uint8Array);\nArray.isArray(arguments[0])||r?(e\x3dthis._renderer).applyMatrix.apply(e,o(arguments[0])):(t\x3dthis._renderer).applyMatrix.apply(t,arguments);return this};i.default.prototype.resetMatrix\x3dfunction(){return this._renderer.resetMatrix(),this};i.default.prototype.rotate\x3dfunction(e,t){return i.default._validateParameters(\x22rotate\x22,arguments),this._renderer.rotate(this._toRadians(e),t),this};i.default.prototype.rotateX\x3dfunction(e){return this._assert3d(\x22rotateX\x22),i.default._validateParameters(\x22rotateX\x22,arguments),\nthis._renderer.rotateX(this._toRadians(e)),this};i.default.prototype.rotateY\x3dfunction(e){return this._assert3d(\x22rotateY\x22),i.default._validateParameters(\x22rotateY\x22,arguments),this._renderer.rotateY(this._toRadians(e)),this};i.default.prototype.rotateZ\x3dfunction(e){return this._assert3d(\x22rotateZ\x22),i.default._validateParameters(\x22rotateZ\x22,arguments),this._renderer.rotateZ(this._toRadians(e)),this};i.default.prototype.scale\x3dfunction(e,t,r){if(i.default._validateParameters(\x22scale\x22,arguments),e instanceof\ni.default.Vector){var n\x3de;e\x3dn.x;t\x3dn.y;r\x3dn.z}else e instanceof Array\x26\x26(n\x3de,e\x3dn[0],t\x3dn[1],r\x3dn[2]||1);return isNaN(t)?t\x3dr\x3de:isNaN(r)\x26\x26(r\x3d1),this._renderer.scale.call(this._renderer,e,t,r),this};i.default.prototype.shearX\x3dfunction(e){i.default._validateParameters(\x22shearX\x22,arguments);var t\x3dthis._toRadians(e);return this._renderer.applyMatrix(1,0,Math.tan(t),1,0,0),this};i.default.prototype.shearY\x3dfunction(e){i.default._validateParameters(\x22shearY\x22,arguments);var t\x3dthis._toRadians(e);return this._renderer.applyMatrix(1,\nMath.tan(t),0,1,0,0),this};i.default.prototype.translate\x3dfunction(e,t,r){return i.default._validateParameters(\x22translate\x22,arguments),this._renderer.isP3D?this._renderer.translate(e,t,r):this._renderer.translate(e,t),this};r$jscomp$0.default\x3di.default},{\x22./main\x22:264,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.get-prototype-of\x22:175,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.iterator\x22:186,\n\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\n\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\n\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-array\x22:226,\x22core-js/modules/web.dom-collections.iterator\x22:229}],278:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function i(e$jscomp$0){if(!(e$jscomp$0\x3dfunction(e){if(Array.isArray(e)){for(var t\x3d0,r\x3dArray(e.length);t\x3ce.length;t++)r[t]\x3de[t];return r}}(e$jscomp$0)||function(e){if(Symbol.iterator in Object(e)||\x22[object Arguments]\x22\x3d\x3d\x3dObject.prototype.toString.call(e))return Array.from(e)}(e$jscomp$0)))throw new TypeError(\x22Invalid attempt to spread non-iterable instance\x22);\nreturn e$jscomp$0}function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.from\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);\ne$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.ends-with\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);var n,o\x3d(n\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};o.default.prototype.storeItem\x3dfunction(e,t){\x22string\x22!\x3dtypeof e\x26\x26console.log(\x22The argument that you passed to storeItem() - \x22.concat(e,\x22 is not a string.\x22));e.endsWith(\x22p5TypeID\x22)\x26\x26console.log(\x22The argument that you passed to storeItem() - \x22.concat(e,\n\x22 must not end with \x27p5TypeID\x27.\x22));void 0\x3d\x3d\x3dt\x26\x26console.log(\x22You cannot store undefined variables using storeItem().\x22);var r\x3da(t);switch(r){case \x22number\x22:case \x22boolean\x22:t\x3dt.toString();break;case \x22object\x22:t instanceof o.default.Color?r\x3d\x22p5.Color\x22:t instanceof o.default.Vector\x26\x26(r\x3d\x22p5.Vector\x22,t\x3d[t.x,t.y,t.z]),t\x3dJSON.stringify(t)}localStorage.setItem(e,t);e\x3d\x22\x22.concat(e,\x22p5TypeID\x22);localStorage.setItem(e,r)};o.default.prototype.getItem\x3dfunction(e){var t\x3dlocalStorage.getItem(e),r\x3dlocalStorage.getItem(\x22\x22.concat(e,\n\x22p5TypeID\x22));if(void 0\x3d\x3d\x3dr)console.log(\x22Unable to determine type of item stored under \x22.concat(e,\x22in local storage. Did you save the item with something other than setItem()?\x22));else if(null!\x3d\x3dt)switch(r){case \x22number\x22:t\x3dparseFloat(t);break;case \x22boolean\x22:t\x3d\x22true\x22\x3d\x3d\x3dt;break;case \x22object\x22:t\x3dJSON.parse(t);break;case \x22p5.Color\x22:t\x3dJSON.parse(t);t\x3dthis.color.apply(this,i(t.levels));break;case \x22p5.Vector\x22:t\x3dJSON.parse(t),t\x3dthis.createVector.apply(this,i(t))}return t};o.default.prototype.clearStorage\x3dfunction(){localStorage.clear()};\no.default.prototype.removeItem\x3dfunction(e){\x22string\x22!\x3dtypeof e\x26\x26console.log(\x22The argument that you passed to removeItem() - \x22.concat(e,\x22 is not a string.\x22));localStorage.removeItem(e);localStorage.removeItem(\x22\x22.concat(e,\x22p5TypeID\x22))}},{\x22../core/main\x22:264,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.ends-with\x22:184,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\n\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],279:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.concat\x22);e$jscomp$0(\x22core-js/modules/es.object.keys\x22);e$jscomp$0(\x22core-js/modules/es.string.sub\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n,o\x3d(n\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};o.default.prototype.createStringDict\x3d\nfunction(e,t){return o.default._validateParameters(\x22createStringDict\x22,arguments),new o.default.StringDict(e,t)};o.default.prototype.createNumberDict\x3dfunction(e,t){return o.default._validateParameters(\x22createNumberDict\x22,arguments),new o.default.NumberDict(e,t)};o.default.TypedDict\x3dfunction(e,t){return e instanceof Object?this.data\x3de:(this.data\x3d{},this.data[e]\x3dt),this};o.default.TypedDict.prototype.size\x3dfunction(){return Object.keys(this.data).length};o.default.TypedDict.prototype.hasKey\x3dfunction(e){return this.data.hasOwnProperty(e)};\no.default.TypedDict.prototype.get\x3dfunction(e){if(this.data.hasOwnProperty(e))return this.data[e];console.log(\x22\x22.concat(e,\x22 does not exist in this Dictionary\x22))};o.default.TypedDict.prototype.set\x3dfunction(e,t){this._validate(t)?this.data[e]\x3dt:console.log(\x22Those values dont work for this dictionary type.\x22)};o.default.TypedDict.prototype._addObj\x3dfunction(e){for(var t in e)this.set(t,e[t])};o.default.TypedDict.prototype.create\x3dfunction(e,t){e instanceof Object\x26\x26void 0\x3d\x3d\x3dt?this._addObj(e):void 0!\x3d\x3de?this.set(e,\nt):console.log(\x22In order to create a new Dictionary entry you must pass an object or a key, value pair\x22)};o.default.TypedDict.prototype.clear\x3dfunction(){this.data\x3d{}};o.default.TypedDict.prototype.remove\x3dfunction(e){if(!this.data.hasOwnProperty(e))throw Error(\x22\x22.concat(e,\x22 does not exist in this Dictionary\x22));delete this.data[e]};o.default.TypedDict.prototype.print\x3dfunction(){for(var e in this.data)console.log(\x22key:\x22.concat(e,\x22 value:\x22).concat(this.data[e]))};o.default.TypedDict.prototype.saveTable\x3d\nfunction(e){var t\x3d\x22\x22,r;for(r in this.data)t+\x3d\x22\x22.concat(r,\x22,\x22).concat(this.data[r],\x22\\n\x22);t\x3dnew Blob([t],{type:\x22text/csv\x22});o.default.prototype.downloadFile(t,e||\x22mycsv\x22,\x22csv\x22)};o.default.TypedDict.prototype.saveJSON\x3dfunction(e,t){o.default.prototype.saveJSON(this.data,e,t)};o.default.TypedDict.prototype._validate\x3dfunction(e){return!0};o.default.StringDict\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];o.default.TypedDict.apply(this,t)};o.default.StringDict.prototype\x3d\nObject.create(o.default.TypedDict.prototype);o.default.StringDict.prototype._validate\x3dfunction(e){return\x22string\x22\x3d\x3dtypeof e};o.default.NumberDict\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];o.default.TypedDict.apply(this,t)};o.default.NumberDict.prototype\x3dObject.create(o.default.TypedDict.prototype);o.default.NumberDict.prototype._validate\x3dfunction(e){return\x22number\x22\x3d\x3dtypeof e};o.default.NumberDict.prototype.add\x3dfunction(e,t){this.data.hasOwnProperty(e)?this.data[e]+\x3d\nt:console.log(\x22The key - \x22.concat(e,\x22 does not exist in this dictionary.\x22))};o.default.NumberDict.prototype.sub\x3dfunction(e,t){this.add(e,-t)};o.default.NumberDict.prototype.mult\x3dfunction(e,t){this.data.hasOwnProperty(e)?this.data[e]*\x3dt:console.log(\x22The key - \x22.concat(e,\x22 does not exist in this dictionary.\x22))};o.default.NumberDict.prototype.div\x3dfunction(e,t){this.data.hasOwnProperty(e)?this.data[e]/\x3dt:console.log(\x22The key - \x22.concat(e,\x22 does not exist in this dictionary.\x22))};o.default.NumberDict.prototype._valueTest\x3d\nfunction(e){if(0\x3d\x3d\x3dObject.keys(this.data).length)throw Error(\x22Unable to search for a minimum or maximum value on an empty NumberDict\x22);if(1\x3d\x3d\x3dObject.keys(this.data).length)return this.data[Object.keys(this.data)[0]];var t\x3dthis.data[Object.keys(this.data)[0]],r;for(r in this.data)this.data[r]*e\x3ct*e\x26\x26(t\x3dthis.data[r]);return t};o.default.NumberDict.prototype.minValue\x3dfunction(){return this._valueTest(1)};o.default.NumberDict.prototype.maxValue\x3dfunction(){return this._valueTest(-1)};o.default.NumberDict.prototype._keyTest\x3d\nfunction(e){if(0\x3d\x3d\x3dObject.keys(this.data).length)throw Error(\x22Unable to use minValue on an empty NumberDict\x22);if(1\x3d\x3d\x3dObject.keys(this.data).length)return Object.keys(this.data)[0];for(var t\x3dObject.keys(this.data)[0],r\x3d1;r\x3cObject.keys(this.data).length;r++)Object.keys(this.data)[r]*e\x3ct*e\x26\x26(t\x3dObject.keys(this.data)[r]);return t};o.default.NumberDict.prototype.minKey\x3dfunction(){return this._keyTest(1)};o.default.NumberDict.prototype.maxKey\x3dfunction(){return this._keyTest(-1)};r$jscomp$0.default\x3do.default.TypedDict},\n{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.string.sub\x22:192}],280:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){function h$jscomp$0(e$jscomp$0){return(h$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function y(e,t,r){(t._userNode?t._userNode:document.body).appendChild(e);\ne\x3dr?new f$jscomp$0.default.MediaElement(e,t):new f$jscomp$0.default.Element(e,t);return t._elements.push(e),e}function o$jscomp$0(e$jscomp$0,t,r,n){var o\x3ddocument.createElement(t);\x22string\x22\x3d\x3dtypeof(r\x3dr||\x22\x22)\x26\x26(r\x3d[r]);t\x3d!0;var a\x3d!1,s\x3dvoid 0;try{for(var l,u\x3dr[Symbol.iterator]();!(t\x3d(l\x3du.next()).done);t\x3d!0){var c\x3dl.value,d\x3ddocument.createElement(\x22source\x22);d.setAttribute(\x22src\x22,c);o.appendChild(d)}}catch(e){a\x3d!0,s\x3de}finally{try{t||null\x3d\x3du.return||u.return()}finally{if(a)throw s;}}\x22function\x22\x3d\x3dtypeof n\x26\x26o.addEventListener(\x22canplaythrough\x22,\nfunction e(){n();o.removeEventListener(\x22canplaythrough\x22,e)});var f\x3dy(o,e$jscomp$0,!0);return f.loadedmetadata\x3d!1,o.addEventListener(\x22loadedmetadata\x22,function(){f.width\x3do.videoWidth;f.height\x3do.videoHeight;0\x3d\x3d\x3df.elt.width\x26\x26(f.elt.width\x3do.videoWidth);0\x3d\x3d\x3df.elt.height\x26\x26(f.elt.height\x3do.videoHeight);f.presetPlaybackRate\x26\x26(f.elt.playbackRate\x3df.presetPlaybackRate,delete f.presetPlaybackRate);f.loadedmetadata\x3d!0}),f}function i$jscomp$0(e,t,r,n){this.callback\x3de;this.time\x3dt;this.id\x3dr;this.val\x3dn}e$jscomp$2(\x22core-js/modules/es.symbol\x22);\ne$jscomp$2(\x22core-js/modules/es.symbol.description\x22);e$jscomp$2(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.every\x22);e$jscomp$2(\x22core-js/modules/es.array.filter\x22);e$jscomp$2(\x22core-js/modules/es.array.for-each\x22);e$jscomp$2(\x22core-js/modules/es.array.from\x22);e$jscomp$2(\x22core-js/modules/es.array.index-of\x22);e$jscomp$2(\x22core-js/modules/es.array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.map\x22);e$jscomp$2(\x22core-js/modules/es.array.slice\x22);e$jscomp$2(\x22core-js/modules/es.array.splice\x22);\ne$jscomp$2(\x22core-js/modules/es.function.name\x22);e$jscomp$2(\x22core-js/modules/es.object.to-string\x22);e$jscomp$2(\x22core-js/modules/es.promise\x22);e$jscomp$2(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$2(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$2(\x22core-js/modules/es.string.iterator\x22);e$jscomp$2(\x22core-js/modules/es.string.replace\x22);e$jscomp$2(\x22core-js/modules/es.string.split\x22);e$jscomp$2(\x22core-js/modules/es.string.trim\x22);e$jscomp$2(\x22core-js/modules/web.dom-collections.for-each\x22);e$jscomp$2(\x22core-js/modules/web.dom-collections.iterator\x22);\ne$jscomp$2(\x22core-js/modules/web.url\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1,f$jscomp$0\x3d(n$jscomp$1\x3de$jscomp$2(\x22../core/main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};f$jscomp$0.default.prototype.select\x3dfunction(e,t){f$jscomp$0.default._validateParameters(\x22select\x22,arguments);var r\x3dthis._getContainer(t).querySelector(e);return r?this._wrapElement(r):null};f$jscomp$0.default.prototype.selectAll\x3dfunction(e,t){f$jscomp$0.default._validateParameters(\x22selectAll\x22,\narguments);var r\x3d[],n\x3dthis._getContainer(t).querySelectorAll(e);if(n)for(var o\x3d0;o\x3cn.length;o++){var i\x3dthis._wrapElement(n[o]);r.push(i)}return r};f$jscomp$0.default.prototype._getContainer\x3dfunction(e){var t\x3ddocument;return\x22string\x22\x3d\x3dtypeof e?t\x3ddocument.querySelector(e)||document:e instanceof f$jscomp$0.default.Element?t\x3de.elt:e instanceof HTMLElement\x26\x26(t\x3de),t};f$jscomp$0.default.prototype._wrapElement\x3dfunction(e$jscomp$0){var t\x3dArray.prototype.slice.call(e$jscomp$0.children);if(\x22INPUT\x22!\x3d\x3de$jscomp$0.tagName||\n\x22checkbox\x22!\x3d\x3de$jscomp$0.type)return\x22VIDEO\x22\x3d\x3d\x3de$jscomp$0.tagName||\x22AUDIO\x22\x3d\x3d\x3de$jscomp$0.tagName?new f$jscomp$0.default.MediaElement(e$jscomp$0,this):\x22SELECT\x22\x3d\x3d\x3de$jscomp$0.tagName?this.createSelect(new f$jscomp$0.default.Element(e$jscomp$0,this)):0\x3ct.length\x26\x26t.every(function(e){return\x22INPUT\x22\x3d\x3d\x3de.tagName||\x22LABEL\x22\x3d\x3d\x3de.tagName})?this.createRadio(new f$jscomp$0.default.Element(e$jscomp$0,this)):new f$jscomp$0.default.Element(e$jscomp$0,this);e$jscomp$0\x3dnew f$jscomp$0.default.Element(e$jscomp$0,this);return e$jscomp$0.checked\x3d\nfunction(){return 0\x3d\x3d\x3darguments.length?this.elt.checked:(this.elt.checked\x3d!!arguments[0],this)},e$jscomp$0};f$jscomp$0.default.prototype.removeElements\x3dfunction(e$jscomp$0){f$jscomp$0.default._validateParameters(\x22removeElements\x22,arguments);this._elements.filter(function(e){return!(e.elt instanceof HTMLCanvasElement)}).map(function(e){return e.remove()})};f$jscomp$0.default.Element.prototype.changed\x3dfunction(e){return f$jscomp$0.default.Element._adjustListener(\x22change\x22,e,this),this};f$jscomp$0.default.Element.prototype.input\x3d\nfunction(e){return f$jscomp$0.default.Element._adjustListener(\x22input\x22,e,this),this};f$jscomp$0.default.prototype.createDiv\x3dfunction(){var e\x3d0\x3carguments.length\x26\x26void 0!\x3d\x3darguments[0]?arguments[0]:\x22\x22,t\x3ddocument.createElement(\x22div\x22);return t.innerHTML\x3de,y(t,this)};f$jscomp$0.default.prototype.createP\x3dfunction(){var e\x3d0\x3carguments.length\x26\x26void 0!\x3d\x3darguments[0]?arguments[0]:\x22\x22,t\x3ddocument.createElement(\x22p\x22);return t.innerHTML\x3de,y(t,this)};f$jscomp$0.default.prototype.createSpan\x3dfunction(){var e\x3d0\x3carguments.length\x26\x26\nvoid 0!\x3d\x3darguments[0]?arguments[0]:\x22\x22,t\x3ddocument.createElement(\x22span\x22);return t.innerHTML\x3de,y(t,this)};f$jscomp$0.default.prototype.createImg\x3dfunction(){f$jscomp$0.default._validateParameters(\x22createImg\x22,arguments);var t,r\x3ddocument.createElement(\x22img\x22),n\x3darguments;return 1\x3cn.length\x26\x26\x22string\x22\x3d\x3dtypeof n[1]\x26\x26(r.alt\x3dn[1]),2\x3cn.length\x26\x26\x22string\x22\x3d\x3dtypeof n[2]\x26\x26(r.crossOrigin\x3dn[2]),r.src\x3dn[0],t\x3dy(r,this),r.addEventListener(\x22load\x22,function(){t.width\x3dr.offsetWidth||r.width;t.height\x3dr.offsetHeight||r.height;\nvar e\x3dn[n.length-1];\x22function\x22\x3d\x3dtypeof e\x26\x26e(t)}),t};f$jscomp$0.default.prototype.createA\x3dfunction(e,t,r){f$jscomp$0.default._validateParameters(\x22createA\x22,arguments);var n\x3ddocument.createElement(\x22a\x22);return n.href\x3de,n.innerHTML\x3dt,r\x26\x26(n.target\x3dr),y(n,this)};f$jscomp$0.default.prototype.createSlider\x3dfunction(e,t,r,n){f$jscomp$0.default._validateParameters(\x22createSlider\x22,arguments);var o\x3ddocument.createElement(\x22input\x22);return o.type\x3d\x22range\x22,o.min\x3de,o.max\x3dt,0\x3d\x3d\x3dn?o.step\x3d1E-18:n\x26\x26(o.step\x3dn),\x22number\x22\x3d\x3dtypeof r\x26\x26\n(o.value\x3dr),y(o,this)};f$jscomp$0.default.prototype.createButton\x3dfunction(e,t){f$jscomp$0.default._validateParameters(\x22createButton\x22,arguments);var r\x3ddocument.createElement(\x22button\x22);return r.innerHTML\x3de,t\x26\x26(r.value\x3dt),y(r,this)};f$jscomp$0.default.prototype.createCheckbox\x3dfunction(){f$jscomp$0.default._validateParameters(\x22createCheckbox\x22,arguments);var e$jscomp$0\x3ddocument.createElement(\x22div\x22),t\x3ddocument.createElement(\x22input\x22);t.type\x3d\x22checkbox\x22;var r\x3ddocument.createElement(\x22label\x22);r.appendChild(t);\ne$jscomp$0.appendChild(r);var n\x3dy(e$jscomp$0,this);if(n.checked\x3dfunction(){var e\x3dn.elt.firstElementChild.getElementsByTagName(\x22input\x22)[0];if(e){if(0\x3d\x3d\x3darguments.length)return e.checked;e.checked\x3d!!arguments[0]}return n},this.value\x3dfunction(e){return n.value\x3de,this},arguments[0])n.value(arguments[0]),e$jscomp$0\x3ddocument.createElement(\x22span\x22),e$jscomp$0.innerHTML\x3darguments[0],r.appendChild(e$jscomp$0);return arguments[1]\x26\x26(t.checked\x3d!0),n};f$jscomp$0.default.prototype.createSelect\x3dfunction(){f$jscomp$0.default._validateParameters(\x22createSelect\x22,\narguments);var t$jscomp$0\x3darguments[0];if(t$jscomp$0 instanceof f$jscomp$0.default.Element\x26\x26t$jscomp$0.elt instanceof HTMLSelectElement){var e$jscomp$1\x3dt$jscomp$0;this.elt\x3dt$jscomp$0.elt}else if(t$jscomp$0 instanceof HTMLSelectElement)e$jscomp$1\x3dy(t$jscomp$0,this),this.elt\x3dt$jscomp$0;else{var r$jscomp$0\x3ddocument.createElement(\x22select\x22);t$jscomp$0\x26\x26\x22boolean\x22\x3d\x3dtypeof t$jscomp$0\x26\x26r$jscomp$0.setAttribute(\x22multiple\x22,\x22true\x22);e$jscomp$1\x3dy(r$jscomp$0,this);this.elt\x3dr$jscomp$0}return e$jscomp$1.option\x3dfunction(e,\nt){if(void 0!\x3d\x3de){for(var n\x3d0;n\x3cthis.elt.length;n+\x3d1)if(this.elt[n].innerHTML\x3d\x3d\x3de){var r\x3dn;break}void 0!\x3d\x3dr?!1\x3d\x3d\x3dt?this.elt.remove(r):this.elt[r].value\x3dt:(r\x3ddocument.createElement(\x22option\x22),r.innerHTML\x3de,r.value\x3dvoid 0\x3d\x3d\x3dt?e:t,this.elt.appendChild(r),this._pInst._elements.push(r))}},e$jscomp$1.selected\x3dfunction(e$jscomp$0){if(void 0!\x3d\x3de$jscomp$0){for(var t\x3d0;t\x3cthis.elt.length;t+\x3d1)this.elt[t].value.toString()\x3d\x3d\x3de$jscomp$0.toString()\x26\x26(this.elt.selectedIndex\x3dt);return this}if(this.elt.getAttribute(\x22multiple\x22)){e$jscomp$0\x3d\n[];var n\x3d!0,o\x3d!1,i\x3dvoid 0;try{for(var s\x3dthis.elt.selectedOptions[Symbol.iterator]();!(n\x3d(t\x3ds.next()).done);n\x3d!0)e$jscomp$0.push(t.value.value)}catch(e){o\x3d!0,i\x3de}finally{try{n||null\x3d\x3ds.return||s.return()}finally{if(o)throw i;}}return e$jscomp$0}return this.elt.value},e$jscomp$1.disable\x3dfunction(e){if(\x22string\x22\x3d\x3dtypeof e)for(var t\x3d0;t\x3cthis.elt.length;t++)this.elt[t].value.toString()\x3d\x3d\x3de\x26\x26(this.elt[t].disabled\x3d!0,this.elt[t].selected\x3d!1);else this.elt.disabled\x3d!0;return this},e$jscomp$1};f$jscomp$0.default.prototype.createRadio\x3d\nfunction(JSCompiler_OptimizeArgumentsArray_p4,JSCompiler_OptimizeArgumentsArray_p5){function n$jscomp$0(e){return e instanceof HTMLInputElement\x26\x26\x22radio\x22\x3d\x3d\x3de.type}var e$jscomp$1,t$jscomp$0;JSCompiler_OptimizeArgumentsArray_p4 instanceof HTMLDivElement||JSCompiler_OptimizeArgumentsArray_p4 instanceof HTMLSpanElement?(e$jscomp$1\x3dJSCompiler_OptimizeArgumentsArray_p4,\x22string\x22\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p5\x26\x26(t$jscomp$0\x3dJSCompiler_OptimizeArgumentsArray_p5)):(\x22string\x22\x3d\x3dtypeof JSCompiler_OptimizeArgumentsArray_p4\x26\x26\n(t$jscomp$0\x3dJSCompiler_OptimizeArgumentsArray_p4),e$jscomp$1\x3ddocument.createElement(\x22div\x22));var p\x3dy(this.elt\x3de$jscomp$1,this);p._name\x3dt$jscomp$0||\x22radioOption\x22;return p._getOptionsArray\x3dfunction(){return Array.from(this.elt.children).filter(function(e){return n$jscomp$0(e)||e instanceof HTMLLabelElement\x26\x26n$jscomp$0(e.firstElementChild)}).map(function(e){return n$jscomp$0(e)?e:e.firstElementChild})},p.option\x3dfunction(e$jscomp$0,t){var n,o,i\x3d!0,a\x3d!1,s\x3dvoid 0;try{for(var l,u\x3dp._getOptionsArray()[Symbol.iterator]();!(i\x3d\n(l\x3du.next()).done);i\x3d!0){var c\x3dl.value;if(c.value\x3d\x3d\x3de$jscomp$0){var r\x3dc;break}}}catch(e){a\x3d!0,s\x3de}finally{try{i||null\x3d\x3du.return||u.return()}finally{if(a)throw s;}}return void 0\x3d\x3d\x3dr\x26\x26((r\x3ddocument.createElement(\x22input\x22)).setAttribute(\x22type\x22,\x22radio\x22),r.setAttribute(\x22value\x22,e$jscomp$0)),r.setAttribute(\x22name\x22,p._name),r.parentElement instanceof HTMLLabelElement?n\x3dr.parentElement:(n\x3ddocument.createElement(\x22label\x22)).insertAdjacentElement(\x22afterbegin\x22,r),n.lastElementChild instanceof HTMLSpanElement?o\x3dn.lastElementChild:\n(o\x3ddocument.createElement(\x22span\x22),r.insertAdjacentElement(\x22afterend\x22,o)),o.innerHTML\x3dvoid 0\x3d\x3d\x3dt?e$jscomp$0:t,this.elt.appendChild(n),r},p.remove\x3dfunction(e$jscomp$0){var t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dp._getOptionsArray()[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0){var a\x3do.value;if(a.value\x3d\x3d\x3de$jscomp$0)return void(a.parentElement instanceof HTMLLabelElement?a.parentElement.remove():a.remove())}}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}},p.value\x3dfunction(){var e$jscomp$0\x3d\n\x22\x22,t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dp._getOptionsArray()[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0){var a\x3do.value;if(a.checked){e$jscomp$0\x3da.value;break}}}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}return e$jscomp$0},p.selected\x3dfunction(e$jscomp$0){var t\x3dnull;if(void 0\x3d\x3d\x3de$jscomp$0){e$jscomp$0\x3d!0;var n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3dp._getOptionsArray()[Symbol.iterator]();!(e$jscomp$0\x3d(i\x3da.next()).done);e$jscomp$0\x3d!0){var s\x3di.value;if(s.checked){t\x3ds;break}}}catch(e){n\x3d\n!0,o\x3de}finally{try{e$jscomp$0||null\x3d\x3da.return||a.return()}finally{if(n)throw o;}}}else{p._getOptionsArray().forEach(function(e){e.checked\x3d!1;e.removeAttribute(\x22checked\x22)});i\x3d!0;a\x3d!1;s\x3dvoid 0;try{for(o\x3dp._getOptionsArray()[Symbol.iterator]();!(i\x3d(n\x3do.next()).done);i\x3d!0){var h\x3dn.value;h.value\x3d\x3d\x3de$jscomp$0\x26\x26(h.setAttribute(\x22checked\x22,!0),h.checked\x3d!0,t\x3dh)}}catch(e){a\x3d!0,s\x3de}finally{try{i||null\x3d\x3do.return||o.return()}finally{if(a)throw s;}}}return t},p.disable\x3dfunction(){var e$jscomp$0\x3d!(0\x3carguments.length\x26\x26\nvoid 0!\x3d\x3darguments[0])||arguments[0],t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dp._getOptionsArray()[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0)o.value.setAttribute(\x22disabled\x22,e$jscomp$0)}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}},p};f$jscomp$0.default.prototype.createColorPicker\x3dfunction(e){f$jscomp$0.default._validateParameters(\x22createColorPicker\x22,arguments);var t,r\x3ddocument.createElement(\x22input\x22);return r.type\x3d\x22color\x22,e?e instanceof f$jscomp$0.default.Color?\nr.value\x3de.toString(\x22#rrggbb\x22):(f$jscomp$0.default.prototype._colorMode\x3d\x22rgb\x22,f$jscomp$0.default.prototype._colorMaxes\x3d{rgb:[255,255,255,255],hsb:[360,100,100,1],hsl:[360,100,100,1]},r.value\x3df$jscomp$0.default.prototype.color(e).toString(\x22#rrggbb\x22)):r.value\x3d\x22#000000\x22,(t\x3dy(r,this)).color\x3dfunction(){return e\x26\x26(e.mode\x26\x26(f$jscomp$0.default.prototype._colorMode\x3de.mode),e.maxes\x26\x26(f$jscomp$0.default.prototype._colorMaxes\x3de.maxes)),f$jscomp$0.default.prototype.color(this.elt.value)},t};f$jscomp$0.default.prototype.createInput\x3d\nfunction(){var e\x3d0\x3carguments.length\x26\x26void 0!\x3d\x3darguments[0]?arguments[0]:\x22\x22,t\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:\x22text\x22;f$jscomp$0.default._validateParameters(\x22createInput\x22,arguments);var r\x3ddocument.createElement(\x22input\x22);return r.setAttribute(\x22value\x22,e),r.setAttribute(\x22type\x22,t),y(r,this)};f$jscomp$0.default.prototype.createFileInput\x3dfunction(s){var e$jscomp$1\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]\x26\x26arguments[1];f$jscomp$0.default._validateParameters(\x22createFileInput\x22,arguments);\nif(window.File\x26\x26window.FileReader\x26\x26window.FileList\x26\x26window.Blob){var t$jscomp$0\x3ddocument.createElement(\x22input\x22);return t$jscomp$0.setAttribute(\x22type\x22,\x22file\x22),e$jscomp$1\x26\x26t$jscomp$0.setAttribute(\x22multiple\x22,!0),t$jscomp$0.addEventListener(\x22change\x22,function(e$jscomp$0){var t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3de$jscomp$0.target.files[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0)f$jscomp$0.default.File._load(o.value,s)}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}},\n!1),y(t$jscomp$0,this)}console.log(\x22The File APIs are not fully supported in this browser. Cannot create element.\x22)};f$jscomp$0.default.prototype.createVideo\x3dfunction(e,t){return f$jscomp$0.default._validateParameters(\x22createVideo\x22,arguments),o$jscomp$0(this,\x22video\x22,e,t)};f$jscomp$0.default.prototype.createAudio\x3dfunction(e,t){return f$jscomp$0.default._validateParameters(\x22createAudio\x22,arguments),o$jscomp$0(this,\x22audio\x22,e,t)};f$jscomp$0.default.prototype.VIDEO\x3d\x22video\x22;f$jscomp$0.default.prototype.AUDIO\x3d\n\x22audio\x22;void 0\x3d\x3d\x3dnavigator.mediaDevices\x26\x26(navigator.mediaDevices\x3d{});void 0\x3d\x3d\x3dnavigator.mediaDevices.getUserMedia\x26\x26(navigator.mediaDevices.getUserMedia\x3dfunction(r){var n\x3dnavigator.webkitGetUserMedia||navigator.mozGetUserMedia;return n?new Promise(function(e,t){n.call(navigator,r,e,t)}):Promise.reject(Error(\x22getUserMedia is not implemented in this browser\x22))});f$jscomp$0.default.prototype.createCapture\x3dfunction(){if(f$jscomp$0.default._validateParameters(\x22createCapture\x22,arguments),!navigator.mediaDevices||\n!navigator.mediaDevices.getUserMedia)throw new DOMException(\x22getUserMedia not supported in this browser\x22);var e$jscomp$0,t$jscomp$0,r\x3d!0,n\x3d!0,o\x3d!0,i\x3d!1,a\x3dvoid 0;try{for(var s,l\x3darguments[Symbol.iterator]();!(o\x3d(s\x3dl.next()).done);o\x3d!0){var u\x3ds.value;u\x3d\x3d\x3df$jscomp$0.default.prototype.VIDEO?n\x3d!1:u\x3d\x3d\x3df$jscomp$0.default.prototype.AUDIO?r\x3d!1:\x22object\x22\x3d\x3d\x3dh$jscomp$0(u)?e$jscomp$0\x3du:\x22function\x22\x3d\x3dtypeof u\x26\x26(t$jscomp$0\x3du)}}catch(e){i\x3d!0,a\x3de}finally{try{o||null\x3d\x3dl.return||l.return()}finally{if(i)throw a;}}e$jscomp$0\x3d\ne$jscomp$0||{video:r,audio:n};var c\x3ddocument.createElement(\x22video\x22);c.setAttribute(\x22playsinline\x22,\x22\x22);navigator.mediaDevices.getUserMedia(e$jscomp$0).then(function(t){try{\x22srcObject\x22in c?c.srcObject\x3dt:c.src\x3dwindow.URL.createObjectURL(t)}catch(e){c.src\x3dt}},console.log);var d\x3dy(c,this,!0);return d.loadedmetadata\x3d!1,c.addEventListener(\x22loadedmetadata\x22,function(){c.play();c.width?(d.width\x3dc.width,d.height\x3dc.height):(d.width\x3dd.elt.width\x3dc.videoWidth,d.height\x3dd.elt.height\x3dc.videoHeight);d.loadedmetadata\x3d\n!0;t$jscomp$0\x26\x26t$jscomp$0(c.srcObject)}),d};f$jscomp$0.default.prototype.createElement\x3dfunction(e,t){f$jscomp$0.default._validateParameters(\x22createElement\x22,arguments);var r\x3ddocument.createElement(e);return void 0!\x3d\x3dt\x26\x26(r.innerHTML\x3dt),y(r,this)};f$jscomp$0.default.Element.prototype.addClass\x3dfunction(e){return this.elt.className?this.hasClass(e)||(this.elt.className\x3dthis.elt.className+\x22 \x22+e):this.elt.className\x3de,this};f$jscomp$0.default.Element.prototype.removeClass\x3dfunction(e){return this.elt.classList.remove(e),\nthis};f$jscomp$0.default.Element.prototype.hasClass\x3dfunction(e){return this.elt.classList.contains(e)};f$jscomp$0.default.Element.prototype.toggleClass\x3dfunction(e){return this.elt.classList.contains(e)?this.elt.classList.remove(e):this.elt.classList.add(e),this};f$jscomp$0.default.Element.prototype.child\x3dfunction(e){return void 0\x3d\x3d\x3de?this.elt.childNodes:(\x22string\x22\x3d\x3dtypeof e?(\x22#\x22\x3d\x3d\x3de[0]\x26\x26(e\x3de.substring(1)),e\x3ddocument.getElementById(e)):e instanceof f$jscomp$0.default.Element\x26\x26(e\x3de.elt),e instanceof\nHTMLElement\x26\x26this.elt.appendChild(e),this)};f$jscomp$0.default.Element.prototype.center\x3dfunction(e){var t\x3dthis.elt.style.display,r\x3d\x22none\x22\x3d\x3d\x3dthis.elt.style.display,n\x3d\x22none\x22\x3d\x3d\x3dthis.parent().style.display,JSCompiler_object_inline_x_2249\x3dthis.elt.offsetLeft,JSCompiler_object_inline_y_2250\x3dthis.elt.offsetTop;r\x26\x26this.show();n\x26\x26this.parent().show();this.elt.style.display\x3d\x22block\x22;this.position(0,0);var i\x3dMath.abs(this.parent().offsetWidth-this.elt.offsetWidth),a\x3dMath.abs(this.parent().offsetHeight-this.elt.offsetHeight);\nreturn\x22both\x22\x3d\x3d\x3de||void 0\x3d\x3d\x3de?this.position(i/2+this.parent().offsetLeft,a/2+this.parent().offsetTop):\x22horizontal\x22\x3d\x3d\x3de?this.position(i/2+this.parent().offsetLeft,JSCompiler_object_inline_y_2250):\x22vertical\x22\x3d\x3d\x3de\x26\x26this.position(JSCompiler_object_inline_x_2249,a/2+this.parent().offsetTop),this.style(\x22display\x22,t),r\x26\x26this.hide(),n\x26\x26this.parent().hide(),this};f$jscomp$0.default.Element.prototype.html\x3dfunction(){return 0\x3d\x3d\x3darguments.length?this.elt.innerHTML:(arguments[1]?this.elt.insertAdjacentHTML(\x22beforeend\x22,\narguments[0]):this.elt.innerHTML\x3darguments[0],this)};f$jscomp$0.default.Element.prototype.position\x3dfunction(){if(0\x3d\x3d\x3darguments.length)return{x:this.elt.offsetLeft,y:this.elt.offsetTop};var e\x3d\x22absolute\x22;return\x22static\x22!\x3d\x3darguments[2]\x26\x26\x22fixed\x22!\x3d\x3darguments[2]\x26\x26\x22relative\x22!\x3d\x3darguments[2]\x26\x26\x22sticky\x22!\x3d\x3darguments[2]\x26\x26\x22initial\x22!\x3d\x3darguments[2]\x26\x26\x22inherit\x22!\x3d\x3darguments[2]||(e\x3darguments[2]),this.elt.style.position\x3de,this.elt.style.left\x3darguments[0]+\x22px\x22,this.elt.style.top\x3darguments[1]+\x22px\x22,this.x\x3darguments[0],this.y\x3d\narguments[1],this};f$jscomp$0.default.Element.prototype._translate\x3dfunction(){this.elt.style.position\x3d\x22absolute\x22;var e\x3d\x22\x22;return this.elt.style.transform\x26\x26(e\x3d(e\x3dthis.elt.style.transform.replace(/translate3d\\(.*\\)/g,\x22\x22)).replace(/translate[X-Z]?\\(.*\\)/g,\x22\x22)),2\x3d\x3d\x3darguments.length?this.elt.style.transform\x3d\x22translate(\x22+arguments[0]+\x22px, \x22+arguments[1]+\x22px)\x22:2\x3carguments.length\x26\x26(this.elt.style.transform\x3d\x22translate3d(\x22+arguments[0]+\x22px,\x22+arguments[1]+\x22px,\x22+arguments[2]+\x22px)\x22,this.elt.parentElement.style.perspective\x3d\n3\x3d\x3d\x3darguments.length?\x221000px\x22:arguments[3]+\x22px\x22),this.elt.style.transform+\x3de,this};f$jscomp$0.default.Element.prototype._rotate\x3dfunction(){var e\x3d\x22\x22;return this.elt.style.transform\x26\x26(e\x3d(e\x3dthis.elt.style.transform.replace(/rotate3d\\(.*\\)/g,\x22\x22)).replace(/rotate[X-Z]?\\(.*\\)/g,\x22\x22)),1\x3d\x3d\x3darguments.length?this.elt.style.transform\x3d\x22rotate(\x22+arguments[0]+\x22deg)\x22:2\x3d\x3d\x3darguments.length?this.elt.style.transform\x3d\x22rotate(\x22+arguments[0]+\x22deg, \x22+arguments[1]+\x22deg)\x22:3\x3d\x3d\x3darguments.length\x26\x26(this.elt.style.transform\x3d\x22rotateX(\x22+\narguments[0]+\x22deg)\x22,this.elt.style.transform+\x3d\x22rotateY(\x22+arguments[1]+\x22deg)\x22,this.elt.style.transform+\x3d\x22rotateZ(\x22+arguments[2]+\x22deg)\x22),this.elt.style.transform+\x3de,this};f$jscomp$0.default.Element.prototype.style\x3dfunction(e,t){if(t instanceof f$jscomp$0.default.Color\x26\x26(t\x3d\x22rgba(\x22+t.levels[0]+\x22,\x22+t.levels[1]+\x22,\x22+t.levels[2]+\x22,\x22+t.levels[3]/255+\x22)\x22),void 0\x3d\x3d\x3dt){if(-1\x3d\x3d\x3de.indexOf(\x22:\x22))return window.getComputedStyle(this.elt).getPropertyValue(e);e\x3de.split(\x22;\x22);for(t\x3d0;t\x3ce.length;t++){var o\x3de[t].split(\x22:\x22);\no[0]\x26\x26o[1]\x26\x26(this.elt.style[o[0].trim()]\x3do[1].trim())}}else if(this.elt.style[e]\x3dt,\x22width\x22\x3d\x3d\x3de||\x22height\x22\x3d\x3d\x3de||\x22left\x22\x3d\x3d\x3de||\x22top\x22\x3d\x3d\x3de)t\x3dwindow.getComputedStyle(this.elt).getPropertyValue(e).replace(/\\D+/g,\x22\x22),this[e]\x3dparseInt(t,10);return this};f$jscomp$0.default.Element.prototype.attribute\x3dfunction(e,t){if(null\x3d\x3dthis.elt.firstChild||\x22checkbox\x22!\x3d\x3dthis.elt.firstChild.type\x26\x26\x22radio\x22!\x3d\x3dthis.elt.firstChild.type)return void 0\x3d\x3d\x3dt?this.elt.getAttribute(e):(this.elt.setAttribute(e,t),this);if(void 0\x3d\x3d\x3dt)return this.elt.firstChild.getAttribute(e);\nfor(var r\x3d0;r\x3cthis.elt.childNodes.length;r++)this.elt.childNodes[r].setAttribute(e,t)};f$jscomp$0.default.Element.prototype.removeAttribute\x3dfunction(e){if(null!\x3dthis.elt.firstChild\x26\x26(\x22checkbox\x22\x3d\x3d\x3dthis.elt.firstChild.type||\x22radio\x22\x3d\x3d\x3dthis.elt.firstChild.type))for(var t\x3d0;t\x3cthis.elt.childNodes.length;t++)this.elt.childNodes[t].removeAttribute(e);return this.elt.removeAttribute(e),this};f$jscomp$0.default.Element.prototype.value\x3dfunction(){return 0\x3carguments.length?(this.elt.value\x3darguments[0],this):\n\x22range\x22\x3d\x3d\x3dthis.elt.type?parseFloat(this.elt.value):this.elt.value};f$jscomp$0.default.Element.prototype.show\x3dfunction(){return this.elt.style.display\x3d\x22block\x22,this};f$jscomp$0.default.Element.prototype.hide\x3dfunction(){return this.elt.style.display\x3d\x22none\x22,this};f$jscomp$0.default.Element.prototype.size\x3dfunction(e,t){if(0\x3d\x3d\x3darguments.length)return{width:this.elt.offsetWidth,height:this.elt.offsetHeight};var r\x3de,n\x3dt,o\x3df$jscomp$0.default.prototype.AUTO;if(r!\x3d\x3do||n!\x3d\x3do){if(r\x3d\x3d\x3do?r\x3dt*this.width/this.height:\nn\x3d\x3d\x3do\x26\x26(n\x3de*this.height/this.width),this.elt instanceof HTMLCanvasElement){var i;o\x3d{};var s\x3dthis.elt.getContext(\x222d\x22);for(i in s)o[i]\x3ds[i];for(i in this.elt.setAttribute(\x22width\x22,r*this._pInst._pixelDensity),this.elt.setAttribute(\x22height\x22,n*this._pInst._pixelDensity),this.elt.style.width\x3dr+\x22px\x22,this.elt.style.height\x3dn+\x22px\x22,this._pInst.scale(this._pInst._pixelDensity,this._pInst._pixelDensity),o)this.elt.getContext(\x222d\x22)[i]\x3do[i]}else this.elt.style.width\x3dr+\x22px\x22,this.elt.style.height\x3dn+\x22px\x22,this.elt.width\x3d\nr,this.elt.height\x3dn;this.width\x3dthis.elt.offsetWidth;this.height\x3dthis.elt.offsetHeight;this._pInst\x26\x26this._pInst._curElement\x26\x26this._pInst._curElement.elt\x3d\x3d\x3dthis.elt\x26\x26(this._pInst._setProperty(\x22width\x22,this.elt.offsetWidth),this._pInst._setProperty(\x22height\x22,this.elt.offsetHeight))}return this};f$jscomp$0.default.Element.prototype.remove\x3dfunction(){if(this instanceof f$jscomp$0.default.MediaElement){this.stop();var e$jscomp$0\x3dthis.elt.srcObject;null!\x3d\x3de$jscomp$0\x26\x26e$jscomp$0.getTracks().forEach(function(e){e.stop()})}e$jscomp$0\x3d\nthis._pInst._elements.indexOf(this);for(var r in-1!\x3d\x3de$jscomp$0\x26\x26this._pInst._elements.splice(e$jscomp$0,1),this._events)this.elt.removeEventListener(r,this._events[r]);this.elt\x26\x26this.elt.parentNode\x26\x26this.elt.parentNode.removeChild(this.elt)};f$jscomp$0.default.Element.prototype.drop\x3dfunction(o,i){if(window.File\x26\x26window.FileReader\x26\x26window.FileList\x26\x26window.Blob){if(!this._dragDisabled){this._dragDisabled\x3d!0;var e$jscomp$0\x3dfunction(e){e.preventDefault()};this.elt.addEventListener(\x22dragover\x22,e$jscomp$0);\nthis.elt.addEventListener(\x22dragleave\x22,e$jscomp$0)}f$jscomp$0.default.Element._attachListener(\x22drop\x22,function(e){e.preventDefault();\x22function\x22\x3d\x3dtypeof i\x26\x26i.call(this,e);e\x3de.dataTransfer.files;for(var r\x3d0;r\x3ce.length;r++)f$jscomp$0.default.File._load(e[r],o)},this)}else console.log(\x22The File APIs are not fully supported in this browser.\x22);return this};f$jscomp$0.default.MediaElement\x3dfunction(n,e$jscomp$0){f$jscomp$0.default.Element.call(this,n,e$jscomp$0);var o\x3dthis;this.elt.crossOrigin\x3d\x22anonymous\x22;\nthis._cueIDCounter\x3dthis._prevTime\x3d0;this._cues\x3d[];(this._pixelsState\x3dthis)._pixelDensity\x3d1;this._modified\x3d!1;Object.defineProperty(o,\x22src\x22,{get:function(){var e\x3do.elt.children[0].src,t\x3do.elt.src\x3d\x3d\x3dwindow.location.href?\x22\x22:o.elt.src;return e\x3d\x3d\x3dwindow.location.href?t:e},set:function(e){for(var t\x3d0;t\x3co.elt.children.length;t++)o.elt.removeChild(o.elt.children[t]);t\x3ddocument.createElement(\x22source\x22);t.src\x3de;n.appendChild(t);o.elt.src\x3de;o.modified\x3d!0}});o._onended\x3dfunction(){};o.elt.onended\x3dfunction(){o._onended(o)}};\nf$jscomp$0.default.MediaElement.prototype\x3dObject.create(f$jscomp$0.default.Element.prototype);f$jscomp$0.default.MediaElement.prototype.play\x3dfunction(){var e$jscomp$0,t\x3dthis;return this.elt.currentTime\x3d\x3d\x3dthis.elt.duration\x26\x26(this.elt.currentTime\x3d0),(e$jscomp$0\x3d(1\x3cthis.elt.readyState||this.elt.load(),this.elt.play()))\x26\x26e$jscomp$0.catch\x26\x26e$jscomp$0.catch(function(e){\x22NotAllowedError\x22\x3d\x3d\x3de.name?f$jscomp$0.default._friendlyAutoplayError(t.src):console.error(\x22Media play method encountered an unexpected error\x22,\ne)}),this};f$jscomp$0.default.MediaElement.prototype.stop\x3dfunction(){return this.elt.pause(),this.elt.currentTime\x3d0,this};f$jscomp$0.default.MediaElement.prototype.pause\x3dfunction(){return this.elt.pause(),this};f$jscomp$0.default.MediaElement.prototype.loop\x3dfunction(){return this.elt.setAttribute(\x22loop\x22,!0),this.play(),this};f$jscomp$0.default.MediaElement.prototype.noLoop\x3dfunction(){return this.elt.removeAttribute(\x22loop\x22),this};f$jscomp$0.default.MediaElement.prototype._setupAutoplayFailDetection\x3d\nfunction(){var e\x3dthis,t\x3dsetTimeout(function(){return f$jscomp$0.default._friendlyAutoplayError(e.src)},500);this.elt.addEventListener(\x22play\x22,function(){return clearTimeout(t)},{passive:!0,once:!0})};f$jscomp$0.default.MediaElement.prototype.autoplay\x3dfunction(e){var t\x3dthis,r\x3dthis.elt.getAttribute(\x22autoplay\x22);if(this.elt.setAttribute(\x22autoplay\x22,e),e\x26\x26!r)e\x3dfunction(){return t._setupAutoplayFailDetection()},4\x3d\x3d\x3dthis.elt.readyState?e():this.elt.addEventListener(\x22canplay\x22,e,{passive:!0,once:!0});return this};\nf$jscomp$0.default.MediaElement.prototype.volume\x3dfunction(e){if(void 0\x3d\x3d\x3de)return this.elt.volume;this.elt.volume\x3de};f$jscomp$0.default.MediaElement.prototype.speed\x3dfunction(e){if(void 0\x3d\x3d\x3de)return this.presetPlaybackRate||this.elt.playbackRate;this.loadedmetadata?this.elt.playbackRate\x3de:this.presetPlaybackRate\x3de};f$jscomp$0.default.MediaElement.prototype.time\x3dfunction(e){return void 0\x3d\x3d\x3de?this.elt.currentTime:(this.elt.currentTime\x3de,this)};f$jscomp$0.default.MediaElement.prototype.duration\x3dfunction(){return this.elt.duration};\nf$jscomp$0.default.MediaElement.prototype.pixels\x3d[];f$jscomp$0.default.MediaElement.prototype._ensureCanvas\x3dfunction(){this.canvas||(this.canvas\x3ddocument.createElement(\x22canvas\x22),this.drawingContext\x3dthis.canvas.getContext(\x222d\x22),this.setModified(!0));this.loadedmetadata\x26\x26(this.canvas.width!\x3d\x3dthis.elt.width\x26\x26(this.canvas.width\x3dthis.elt.width,this.canvas.height\x3dthis.elt.height,this.width\x3dthis.canvas.width,this.height\x3dthis.canvas.height),this.drawingContext.drawImage(this.elt,0,0,this.canvas.width,this.canvas.height),\nthis.setModified(!0))};f$jscomp$0.default.MediaElement.prototype.loadPixels\x3dfunction(){return this._ensureCanvas(),f$jscomp$0.default.Renderer2D.prototype.loadPixels.apply(this,arguments)};f$jscomp$0.default.MediaElement.prototype.updatePixels\x3dfunction(e,t,r,n){return this.loadedmetadata\x26\x26(this._ensureCanvas(),f$jscomp$0.default.Renderer2D.prototype.updatePixels.call(this,e,t,r,n)),this.setModified(!0),this};f$jscomp$0.default.MediaElement.prototype.get\x3dfunction(){return this._ensureCanvas(),f$jscomp$0.default.Renderer2D.prototype.get.apply(this,\narguments)};f$jscomp$0.default.MediaElement.prototype._getPixel\x3dfunction(){return this.loadPixels(),f$jscomp$0.default.Renderer2D.prototype._getPixel.apply(this,arguments)};f$jscomp$0.default.MediaElement.prototype.set\x3dfunction(e,t,r){this.loadedmetadata\x26\x26(this._ensureCanvas(),f$jscomp$0.default.Renderer2D.prototype.set.call(this,e,t,r),this.setModified(!0))};f$jscomp$0.default.MediaElement.prototype.copy\x3dfunction(){this._ensureCanvas();f$jscomp$0.default.prototype.copy.apply(this,arguments)};f$jscomp$0.default.MediaElement.prototype.mask\x3d\nfunction(){this.loadPixels();this.setModified(!0);f$jscomp$0.default.Image.prototype.mask.apply(this,arguments)};f$jscomp$0.default.MediaElement.prototype.isModified\x3dfunction(){return this._modified};f$jscomp$0.default.MediaElement.prototype.setModified\x3dfunction(e){this._modified\x3de};f$jscomp$0.default.MediaElement.prototype.onended\x3dfunction(e){return this._onended\x3de,this};f$jscomp$0.default.MediaElement.prototype.connect\x3dfunction(e$jscomp$0){if(\x22function\x22\x3d\x3dtypeof f$jscomp$0.default.prototype.getAudioContext){var t\x3d\nf$jscomp$0.default.prototype.getAudioContext();var r\x3df$jscomp$0.default.soundOut.input}else try{r\x3d(t\x3de$jscomp$0.context).destination}catch(e){throw\x22connect() is meant to be used with Web Audio API or p5.sound.js\x22;}this.audioSourceNode||(this.audioSourceNode\x3dt.createMediaElementSource(this.elt),this.audioSourceNode.connect(r));e$jscomp$0?e$jscomp$0.input?this.audioSourceNode.connect(e$jscomp$0.input):this.audioSourceNode.connect(e$jscomp$0):this.audioSourceNode.connect(r)};f$jscomp$0.default.MediaElement.prototype.disconnect\x3d\nfunction(){if(!this.audioSourceNode)throw\x22nothing to disconnect\x22;this.audioSourceNode.disconnect()};f$jscomp$0.default.MediaElement.prototype.showControls\x3dfunction(){this.elt.style[\x22text-align\x22]\x3d\x22inherit\x22;this.elt.controls\x3d!0};f$jscomp$0.default.MediaElement.prototype.hideControls\x3dfunction(){this.elt.controls\x3d!1};f$jscomp$0.default.MediaElement.prototype.addCue\x3dfunction(e,t,r){var n\x3dthis._cueIDCounter++;e\x3dnew i$jscomp$0(t,e,n,r);return this._cues.push(e),this.elt.ontimeupdate||(this.elt.ontimeupdate\x3d\nthis._onTimeUpdate.bind(this)),n};f$jscomp$0.default.MediaElement.prototype.removeCue\x3dfunction(e){for(var t\x3d0;t\x3cthis._cues.length;t++)this._cues[t].id\x3d\x3d\x3de\x26\x26(console.log(e),this._cues.splice(t,1));0\x3d\x3d\x3dthis._cues.length\x26\x26(this.elt.ontimeupdate\x3dnull)};f$jscomp$0.default.MediaElement.prototype.clearCues\x3dfunction(){this._cues\x3d[];this.elt.ontimeupdate\x3dnull};f$jscomp$0.default.MediaElement.prototype._onTimeUpdate\x3dfunction(){for(var e\x3dthis.time(),t\x3d0;t\x3cthis._cues.length;t++){var r\x3dthis._cues[t].time,n\x3dthis._cues[t].val;\nthis._prevTime\x3cr\x26\x26r\x3c\x3de\x26\x26this._cues[t].callback(n)}this._prevTime\x3de};f$jscomp$0.default.File\x3dfunction(e,t){this.file\x3de;this._pInst\x3dt;t\x3de.type.split(\x22/\x22);this.type\x3dt[0];this.subtype\x3dt[1];this.name\x3de.name;this.size\x3de.size;this.data\x3dvoid 0};f$jscomp$0.default.File._createLoader\x3dfunction(n,o){var e$jscomp$0\x3dnew FileReader;return e$jscomp$0.onload\x3dfunction(e){var t\x3dnew f$jscomp$0.default.File(n);\x22application/json\x22\x3d\x3d\x3dt.file.type?t.data\x3dJSON.parse(e.target.result):\x22text/xml\x22\x3d\x3d\x3dt.file.type?(e\x3d(new DOMParser).parseFromString(e.target.result,\n\x22text/xml\x22),t.data\x3dnew f$jscomp$0.default.XML(e.documentElement)):t.data\x3de.target.result;o(t)},e$jscomp$0};f$jscomp$0.default.File._load\x3dfunction(e,t){if(/^text\\//.test(e.type)||\x22application/json\x22\x3d\x3d\x3de.type)f$jscomp$0.default.File._createLoader(e,t).readAsText(e);else if(/^(video|audio)\\//.test(e.type)){var r\x3dnew f$jscomp$0.default.File(e);r.data\x3dURL.createObjectURL(e);t(r)}else f$jscomp$0.default.File._createLoader(e,t).readAsDataURL(e)};r$jscomp$1.default\x3df$jscomp$0.default},{\x22../core/main\x22:264,\n\x22core-js/modules/es.array.every\x22:150,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.for-each\x22:154,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.splice\x22:164,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\n\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.trim\x22:193,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.for-each\x22:228,\x22core-js/modules/web.dom-collections.iterator\x22:229,\x22core-js/modules/web.url\x22:231}],281:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\n\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},i$jscomp$0\x3d\nfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));o$jscomp$0.default.prototype.deviceOrientation\x3d1\x3cwindow.innerWidth/\nwindow.innerHeight?\x22landscape\x22:\x22portrait\x22;o$jscomp$0.default.prototype.accelerationX\x3d0;o$jscomp$0.default.prototype.accelerationY\x3d0;o$jscomp$0.default.prototype.accelerationZ\x3d0;o$jscomp$0.default.prototype.pAccelerationX\x3d0;o$jscomp$0.default.prototype.pAccelerationY\x3d0;o$jscomp$0.default.prototype.pAccelerationZ\x3d0;o$jscomp$0.default.prototype._updatePAccelerations\x3dfunction(){this._setProperty(\x22pAccelerationX\x22,this.accelerationX);this._setProperty(\x22pAccelerationY\x22,this.accelerationY);this._setProperty(\x22pAccelerationZ\x22,\nthis.accelerationZ)};o$jscomp$0.default.prototype.rotationX\x3d0;o$jscomp$0.default.prototype.rotationY\x3d0;o$jscomp$0.default.prototype.rotationZ\x3d0;o$jscomp$0.default.prototype.pRotationX\x3d0;o$jscomp$0.default.prototype.pRotationY\x3d0;var u\x3do$jscomp$0.default.prototype.pRotationZ\x3d0,c\x3d0,d\x3d0,f\x3d\x22clockwise\x22,h\x3d\x22clockwise\x22,p\x3d\x22clockwise\x22;o$jscomp$0.default.prototype.pRotateDirectionX\x3dvoid 0;o$jscomp$0.default.prototype.pRotateDirectionY\x3dvoid 0;o$jscomp$0.default.prototype.pRotateDirectionZ\x3dvoid 0;o$jscomp$0.default.prototype._updatePRotations\x3d\nfunction(){this._setProperty(\x22pRotationX\x22,this.rotationX);this._setProperty(\x22pRotationY\x22,this.rotationY);this._setProperty(\x22pRotationZ\x22,this.rotationZ)};o$jscomp$0.default.prototype.turnAxis\x3dvoid 0;var y\x3d.5,m\x3d30;o$jscomp$0.default.prototype.setMoveThreshold\x3dfunction(e){o$jscomp$0.default._validateParameters(\x22setMoveThreshold\x22,arguments);y\x3de};o$jscomp$0.default.prototype.setShakeThreshold\x3dfunction(e){o$jscomp$0.default._validateParameters(\x22setShakeThreshold\x22,arguments);m\x3de};o$jscomp$0.default.prototype._ondeviceorientation\x3d\nfunction(e){this._updatePRotations();this._angleMode\x3d\x3d\x3di$jscomp$0.radians\x26\x26(e.beta*\x3d_PI/180,e.gamma*\x3d_PI/180,e.alpha*\x3d_PI/180);this._setProperty(\x22rotationX\x22,e.beta);this._setProperty(\x22rotationY\x22,e.gamma);this._setProperty(\x22rotationZ\x22,e.alpha);this._handleMotion()};o$jscomp$0.default.prototype._ondevicemotion\x3dfunction(e){this._updatePAccelerations();this._setProperty(\x22accelerationX\x22,2*e.acceleration.x);this._setProperty(\x22accelerationY\x22,2*e.acceleration.y);this._setProperty(\x22accelerationZ\x22,2*e.acceleration.z);\nthis._handleMotion()};o$jscomp$0.default.prototype._handleMotion\x3dfunction(){90\x3d\x3d\x3dwindow.orientation||-90\x3d\x3d\x3dwindow.orientation?this._setProperty(\x22deviceOrientation\x22,\x22landscape\x22):0\x3d\x3d\x3dwindow.orientation?this._setProperty(\x22deviceOrientation\x22,\x22portrait\x22):void 0\x3d\x3d\x3dwindow.orientation\x26\x26this._setProperty(\x22deviceOrientation\x22,\x22undefined\x22);var e,t,r\x3dthis._isGlobal?window:this;if(\x22function\x22\x3d\x3dtypeof r.deviceMoved\x26\x26(Math.abs(this.accelerationX-this.pAccelerationX)\x3ey||Math.abs(this.accelerationY-this.pAccelerationY)\x3e\ny||Math.abs(this.accelerationZ-this.pAccelerationZ)\x3ey)\x26\x26r.deviceMoved(),\x22function\x22\x3d\x3dtypeof r.deviceTurned){var n\x3dthis.rotationX+180,o\x3dthis.pRotationX+180,i\x3du+180;0\x3cn-o\x26\x26270\x3en-o||-270\x3en-o?f\x3d\x22clockwise\x22:(0\x3en-o||270\x3cn-o)\x26\x26(f\x3d\x22counter-clockwise\x22);f!\x3d\x3dthis.pRotateDirectionX\x26\x26(i\x3dn);90\x3cMath.abs(n-i)\x26\x26270\x3eMath.abs(n-i)\x26\x26(i\x3dn,this._setProperty(\x22turnAxis\x22,\x22X\x22),r.deviceTurned());this.pRotateDirectionX\x3df;u\x3di-180;n\x3dthis.rotationY+180;o\x3dthis.pRotationY+180;i\x3dc+180;0\x3cn-o\x26\x26270\x3en-o||-270\x3en-o?h\x3d\x22clockwise\x22:(0\x3en-o||\n270\x3cn-this.pRotationY)\x26\x26(h\x3d\x22counter-clockwise\x22);h!\x3d\x3dthis.pRotateDirectionY\x26\x26(i\x3dn);90\x3cMath.abs(n-i)\x26\x26270\x3eMath.abs(n-i)\x26\x26(i\x3dn,this._setProperty(\x22turnAxis\x22,\x22Y\x22),r.deviceTurned());this.pRotateDirectionY\x3dh;c\x3di-180;0\x3cthis.rotationZ-this.pRotationZ\x26\x26270\x3ethis.rotationZ-this.pRotationZ||-270\x3ethis.rotationZ-this.pRotationZ?p\x3d\x22clockwise\x22:(0\x3ethis.rotationZ-this.pRotationZ||270\x3cthis.rotationZ-this.pRotationZ)\x26\x26(p\x3d\x22counter-clockwise\x22);p!\x3d\x3dthis.pRotateDirectionZ\x26\x26(d\x3dthis.rotationZ);90\x3cMath.abs(this.rotationZ-d)\x26\x26\n270\x3eMath.abs(this.rotationZ-d)\x26\x26(d\x3dthis.rotationZ,this._setProperty(\x22turnAxis\x22,\x22Z\x22),r.deviceTurned());this.pRotateDirectionZ\x3dp;this._setProperty(\x22turnAxis\x22,void 0)}\x22function\x22\x3d\x3dtypeof r.deviceShaken\x26\x26(null!\x3d\x3dthis.pAccelerationX\x26\x26(e\x3dMath.abs(this.accelerationX-this.pAccelerationX),t\x3dMath.abs(this.accelerationY-this.pAccelerationY)),m\x3ce+t\x26\x26r.deviceShaken())};r$jscomp$0.default\x3do$jscomp$0.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264}],282:[function(e$jscomp$0,t$jscomp$0,r){Object.defineProperty(r,\n\x22__esModule\x22,{value:!0});r.default\x3dvoid 0;var n,o\x3d(n\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};o.default.prototype.isKeyPressed\x3d!1;o.default.prototype.keyIsPressed\x3d!1;o.default.prototype.key\x3d\x22\x22;o.default.prototype.keyCode\x3d0;o.default.prototype._onkeydown\x3dfunction(e){if(!this._downKeys[e.which]){this._setProperty(\x22isKeyPressed\x22,!0);this._setProperty(\x22keyIsPressed\x22,!0);this._setProperty(\x22keyCode\x22,e.which);this._downKeys[e.which]\x3d!0;this._setProperty(\x22key\x22,e.key||String.fromCharCode(e.which)||\ne.which);var t\x3dthis._isGlobal?window:this;\x22function\x22!\x3dtypeof t.keyPressed||e.charCode||!1\x3d\x3d\x3dt.keyPressed(e)\x26\x26e.preventDefault()}};o.default.prototype._onkeyup\x3dfunction(e){this._downKeys[e.which]\x3d!1;this._areDownKeys()||(this._setProperty(\x22isKeyPressed\x22,!1),this._setProperty(\x22keyIsPressed\x22,!1));this._setProperty(\x22_lastKeyCodeTyped\x22,null);this._setProperty(\x22key\x22,e.key||String.fromCharCode(e.which)||e.which);this._setProperty(\x22keyCode\x22,e.which);var t\x3dthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof t.keyReleased\x26\x26\n!1\x3d\x3d\x3dt.keyReleased(e)\x26\x26e.preventDefault()};o.default.prototype._onkeypress\x3dfunction(e){if(e.which!\x3d\x3dthis._lastKeyCodeTyped){this._setProperty(\x22_lastKeyCodeTyped\x22,e.which);this._setProperty(\x22key\x22,e.key||String.fromCharCode(e.which)||e.which);var t\x3dthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof t.keyTyped\x26\x26!1\x3d\x3d\x3dt.keyTyped(e)\x26\x26e.preventDefault()}};o.default.prototype._onblur\x3dfunction(e){this._downKeys\x3d{}};o.default.prototype.keyIsDown\x3dfunction(e){return o.default._validateParameters(\x22keyIsDown\x22,arguments),\nthis._downKeys[e]||!1};o.default.prototype._areDownKeys\x3dfunction(){for(var e in this._downKeys)if(this._downKeys.hasOwnProperty(e)\x26\x26!0\x3d\x3d\x3dthis._downKeys[e])return!0;return!1};r.default\x3do.default},{\x22../core/main\x22:264}],283:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}\nfunction s(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.includes\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;t$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};var i$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3d\ntypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));t$jscomp$0.default.prototype.movedX\x3d0;t$jscomp$0.default.prototype.movedY\x3d0;t$jscomp$0.default.prototype._hasMouseInteracted\x3d!1;t$jscomp$0.default.prototype.mouseX\x3d\n0;t$jscomp$0.default.prototype.mouseY\x3d0;t$jscomp$0.default.prototype.pmouseX\x3d0;t$jscomp$0.default.prototype.pmouseY\x3d0;t$jscomp$0.default.prototype.winMouseX\x3d0;t$jscomp$0.default.prototype.winMouseY\x3d0;t$jscomp$0.default.prototype.pwinMouseX\x3d0;t$jscomp$0.default.prototype.pwinMouseY\x3d0;t$jscomp$0.default.prototype.mouseButton\x3d0;t$jscomp$0.default.prototype.mouseIsPressed\x3d!1;t$jscomp$0.default.prototype._updateNextMouseCoords\x3dfunction(e){var JSCompiler_object_inline_winY_2254;if(null!\x3d\x3dthis._curElement\x26\x26\n(!e.touches||0\x3ce.touches.length)){var JSCompiler_object_inline_y_2252\x3dthis._curElement.elt;var JSCompiler_object_inline_x_2251\x3dthis.width;var JSCompiler_object_inline_winX_2253\x3dthis.height;(JSCompiler_object_inline_winY_2254\x3de)\x26\x26!JSCompiler_object_inline_winY_2254.clientX\x26\x26(JSCompiler_object_inline_winY_2254.touches?JSCompiler_object_inline_winY_2254\x3dJSCompiler_object_inline_winY_2254.touches[0]:JSCompiler_object_inline_winY_2254.changedTouches\x26\x26(JSCompiler_object_inline_winY_2254\x3dJSCompiler_object_inline_winY_2254.changedTouches[0]));\nvar o\x3dJSCompiler_object_inline_y_2252.getBoundingClientRect();JSCompiler_object_inline_x_2251\x3d(JSCompiler_object_inline_winY_2254.clientX-o.left)/(JSCompiler_object_inline_y_2252.scrollWidth/JSCompiler_object_inline_x_2251||1);JSCompiler_object_inline_y_2252\x3d(JSCompiler_object_inline_winY_2254.clientY-o.top)/(JSCompiler_object_inline_y_2252.scrollHeight/JSCompiler_object_inline_winX_2253||1);JSCompiler_object_inline_winX_2253\x3dJSCompiler_object_inline_winY_2254.clientX;JSCompiler_object_inline_winY_2254\x3d\nJSCompiler_object_inline_winY_2254.clientY;this._setProperty(\x22movedX\x22,e.movementX);this._setProperty(\x22movedY\x22,e.movementY);this._setProperty(\x22mouseX\x22,JSCompiler_object_inline_x_2251);this._setProperty(\x22mouseY\x22,JSCompiler_object_inline_y_2252);this._setProperty(\x22winMouseX\x22,JSCompiler_object_inline_winX_2253);this._setProperty(\x22winMouseY\x22,JSCompiler_object_inline_winY_2254)}this._hasMouseInteracted||(this._updateMouseCoords(),this._setProperty(\x22_hasMouseInteracted\x22,!0))};t$jscomp$0.default.prototype._updateMouseCoords\x3d\nfunction(){this._setProperty(\x22pmouseX\x22,this.mouseX);this._setProperty(\x22pmouseY\x22,this.mouseY);this._setProperty(\x22pwinMouseX\x22,this.winMouseX);this._setProperty(\x22pwinMouseY\x22,this.winMouseY);this._setProperty(\x22_pmouseWheelDeltaY\x22,this._mouseWheelDeltaY)};t$jscomp$0.default.prototype._setMouseButton\x3dfunction(e){1\x3d\x3d\x3de.button?this._setProperty(\x22mouseButton\x22,i$jscomp$0.CENTER):2\x3d\x3d\x3de.button?this._setProperty(\x22mouseButton\x22,i$jscomp$0.RIGHT):this._setProperty(\x22mouseButton\x22,i$jscomp$0.LEFT)};t$jscomp$0.default.prototype._onmousemove\x3d\nfunction(e){var t\x3dthis._isGlobal?window:this;this._updateNextMouseCoords(e);this.mouseIsPressed?\x22function\x22\x3d\x3dtypeof t.mouseDragged?!1\x3d\x3d\x3dt.mouseDragged(e)\x26\x26e.preventDefault():\x22function\x22\x3d\x3dtypeof t.touchMoved\x26\x26!1\x3d\x3d\x3dt.touchMoved(e)\x26\x26e.preventDefault():\x22function\x22\x3d\x3dtypeof t.mouseMoved\x26\x26!1\x3d\x3d\x3dt.mouseMoved(e)\x26\x26e.preventDefault()};t$jscomp$0.default.prototype._onmousedown\x3dfunction(e){var t\x3dthis._isGlobal?window:this;this._setProperty(\x22mouseIsPressed\x22,!0);this._setMouseButton(e);this._updateNextMouseCoords(e);\n\x22function\x22\x3d\x3dtypeof t.mousePressed?!1\x3d\x3d\x3dt.mousePressed(e)\x26\x26e.preventDefault():navigator.userAgent.toLowerCase().includes(\x22safari\x22)\x26\x26\x22function\x22\x3d\x3dtypeof t.touchStarted\x26\x26!1\x3d\x3d\x3dt.touchStarted(e)\x26\x26e.preventDefault()};t$jscomp$0.default.prototype._onmouseup\x3dfunction(e){var t\x3dthis._isGlobal?window:this;this._setProperty(\x22mouseIsPressed\x22,!1);\x22function\x22\x3d\x3dtypeof t.mouseReleased?!1\x3d\x3d\x3dt.mouseReleased(e)\x26\x26e.preventDefault():\x22function\x22\x3d\x3dtypeof t.touchEnded\x26\x26!1\x3d\x3d\x3dt.touchEnded(e)\x26\x26e.preventDefault()};t$jscomp$0.default.prototype._ondragend\x3d\nt$jscomp$0.default.prototype._onmouseup;t$jscomp$0.default.prototype._ondragover\x3dt$jscomp$0.default.prototype._onmousemove;t$jscomp$0.default.prototype._onclick\x3dfunction(e){var t\x3dthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof t.mouseClicked\x26\x26!1\x3d\x3d\x3dt.mouseClicked(e)\x26\x26e.preventDefault()};t$jscomp$0.default.prototype._ondblclick\x3dfunction(e){var t\x3dthis._isGlobal?window:this;\x22function\x22\x3d\x3dtypeof t.doubleClicked\x26\x26!1\x3d\x3d\x3dt.doubleClicked(e)\x26\x26e.preventDefault()};t$jscomp$0.default.prototype._mouseWheelDeltaY\x3d0;\nt$jscomp$0.default.prototype._pmouseWheelDeltaY\x3d0;t$jscomp$0.default.prototype._onwheel\x3dfunction(e){var t\x3dthis._isGlobal?window:this;this._setProperty(\x22_mouseWheelDeltaY\x22,e.deltaY);\x22function\x22\x3d\x3dtypeof t.mouseWheel\x26\x26(e.delta\x3de.deltaY,!1\x3d\x3d\x3dt.mouseWheel(e)\x26\x26e.preventDefault())};t$jscomp$0.default.prototype.requestPointerLock\x3dfunction(){var e\x3dthis._curElement.elt;return e.requestPointerLock\x3de.requestPointerLock||e.mozRequestPointerLock,e.requestPointerLock?(e.requestPointerLock(),!0):(console.log(\x22requestPointerLock is not implemented in this browser\x22),\n!1)};t$jscomp$0.default.prototype.exitPointerLock\x3dfunction(){document.exitPointerLock()};r$jscomp$0.default\x3dt$jscomp$0.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.string.includes\x22:185}],284:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function i$jscomp$0(e,t,r,n,o){var i\x3d4\x3carguments.length\x26\x26void 0!\x3d\x3do?o:0,a\x3de.getBoundingClientRect();i\x3dn.touches[i]||n.changedTouches[i];return{x:(i.clientX-a.left)/(e.scrollWidth/t||1),y:(i.clientY-\na.top)/(e.scrollHeight/r||1),winX:i.clientX,winY:i.clientY,id:i.identifier}}e$jscomp$0(\x22core-js/modules/es.array.includes\x22);e$jscomp$0(\x22core-js/modules/es.string.includes\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;e$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$0.default.prototype.touches\x3d[];e$jscomp$0.default.prototype._updateTouchCoords\x3dfunction(e){if(null!\x3d\x3dthis._curElement){for(var t\x3d\n[],r\x3d0;r\x3ce.touches.length;r++)t[r]\x3di$jscomp$0(this._curElement.elt,this.width,this.height,e,r);this._setProperty(\x22touches\x22,t)}};e$jscomp$0.default.prototype._ontouchstart\x3dfunction(e){var t\x3dthis._isGlobal?window:this;this._setProperty(\x22mouseIsPressed\x22,!0);this._updateTouchCoords(e);this._updateNextMouseCoords(e);this._updateMouseCoords();\x22function\x22\x3d\x3dtypeof t.touchStarted?!1\x3d\x3d\x3dt.touchStarted(e)\x26\x26e.preventDefault():navigator.userAgent.toLowerCase().includes(\x22safari\x22)\x26\x26\x22function\x22\x3d\x3dtypeof t.mousePressed\x26\x26\n!1\x3d\x3d\x3dt.mousePressed(e)\x26\x26e.preventDefault()};e$jscomp$0.default.prototype._ontouchmove\x3dfunction(e){var t\x3dthis._isGlobal?window:this;this._updateTouchCoords(e);this._updateNextMouseCoords(e);\x22function\x22\x3d\x3dtypeof t.touchMoved?!1\x3d\x3d\x3dt.touchMoved(e)\x26\x26e.preventDefault():\x22function\x22\x3d\x3dtypeof t.mouseDragged\x26\x26!1\x3d\x3d\x3dt.mouseDragged(e)\x26\x26e.preventDefault()};e$jscomp$0.default.prototype._ontouchend\x3dfunction(e){this._setProperty(\x22mouseIsPressed\x22,!1);this._updateTouchCoords(e);this._updateNextMouseCoords(e);var t\x3dthis._isGlobal?\nwindow:this;\x22function\x22\x3d\x3dtypeof t.touchEnded?!1\x3d\x3d\x3dt.touchEnded(e)\x26\x26e.preventDefault():\x22function\x22\x3d\x3dtypeof t.mouseReleased\x26\x26!1\x3d\x3d\x3dt.mouseReleased(e)\x26\x26e.preventDefault()};r$jscomp$0.default\x3de$jscomp$0.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.string.includes\x22:185}],285:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.iterator\x22);e$jscomp$0(\x22core-js/modules/es.object.to-string\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.int32-array\x22);\ne$jscomp$0(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.index-of\x22);\ne$jscomp$0(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.some\x22);\ne$jscomp$0(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var O,C,L,P,A\x3d{_toPixels:function(e){if(e instanceof ImageData)return e.data;if(e.getContext(\x222d\x22))return e.getContext(\x222d\x22).getImageData(0,0,e.width,e.height).data;if(e.getContext(\x22webgl\x22)){var t\x3d\ne.getContext(\x22webgl\x22),n\x3dnew Uint8Array(t.drawingBufferWidth*t.drawingBufferHeight*4);return t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),n}},_getARGB:function(e,t){t*\x3d4;return e[3+t]\x3c\x3c24\x264278190080|e[t]\x3c\x3c16\x2616711680|e[1+t]\x3c\x3c8\x2665280|255\x26e[2+t]},_setPixels:function(e,t){for(var r,n\x3d0,o\x3de.length;n\x3co;n++)e[r\x3d4*n]\x3d(16711680\x26t[n])\x3e\x3e\x3e16,e[r+1]\x3d(65280\x26t[n])\x3e\x3e\x3e8,e[r+2]\x3d255\x26t[n],e[r+3]\x3d(4278190080\x26t[n])\x3e\x3e\x3e24},_toImageData:function(e){return e instanceof ImageData?e:e.getContext(\x222d\x22).getImageData(0,\n0,e.width,e.height)},_createImageData:function(e,t){return A._tmpCanvas\x3ddocument.createElement(\x22canvas\x22),A._tmpCtx\x3dA._tmpCanvas.getContext(\x222d\x22),this._tmpCtx.createImageData(e,t)},apply:function(e,t,r){var n\x3de.getContext(\x222d\x22),o\x3dn.getImageData(0,0,e.width,e.height);t\x3dt(o,r);t instanceof ImageData?n.putImageData(t,0,0,0,0,e.width,e.height):n.putImageData(o,0,0,0,0,e.width,e.height)},threshold:function(e,t){e\x3dA._toPixels(e);void 0\x3d\x3d\x3dt\x26\x26(t\x3d.5);t\x3dMath.floor(255*t);for(var o\x3d0;o\x3ce.length;o+\x3d4)e[o]\x3de[o+\n1]\x3de[o+2]\x3dt\x3c\x3d.2126*e[o]+.7152*e[o+1]+.0722*e[o+2]?255:0},gray:function(e){e\x3dA._toPixels(e);for(var r\x3d0;r\x3ce.length;r+\x3d4)e[r]\x3de[r+1]\x3de[r+2]\x3d.2126*e[r]+.7152*e[r+1]+.0722*e[r+2]},opaque:function(e){e\x3dA._toPixels(e);for(var r\x3d0;r\x3ce.length;r+\x3d4)e[r+3]\x3d255;return e},invert:function(e){e\x3dA._toPixels(e);for(var r\x3d0;r\x3ce.length;r+\x3d4)e[r]\x3d255-e[r],e[r+1]\x3d255-e[r+1],e[r+2]\x3d255-e[r+2]},posterize:function(e,t){e\x3dA._toPixels(e);if(2\x3et||255\x3ct)throw Error(\x22Level must be greater than 2 and less than 255 for posterize\x22);\nfor(var n\x3dt-1,o\x3d0;o\x3ce.length;o+\x3d4){var a\x3de[o+1],s\x3de[o+2];e[o]\x3d255*(e[o]*t\x3e\x3e8)/n;e[o+1]\x3d255*(a*t\x3e\x3e8)/n;e[o+2]\x3d255*(s*t\x3e\x3e8)/n}},dilate:function(e){for(var t,r,n,o,a,s,l,u,c,p,y,m,v\x3dA._toPixels(e),b\x3d0,_\x3dv.length?v.length/4:0,x\x3dnew Int32Array(_);b\x3c_;)for(r\x3d(t\x3db)+e.width;b\x3cr;)n\x3do\x3dA._getARGB(v,b),(s\x3db-1)\x3ct\x26\x26(s\x3db),r\x3c\x3d(a\x3db+1)\x26\x26(a\x3db),0\x3e(l\x3db-e.width)\x26\x26(l\x3d0),_\x3c\x3d(u\x3db+e.width)\x26\x26(u\x3db),l\x3dA._getARGB(v,l),s\x3dA._getARGB(v,s),u\x3dA._getARGB(v,u),(n\x3d77*(n\x3e\x3e16\x26255)+151*(n\x3e\x3e8\x26255)+28*(255\x26n))\x3c(y\x3d77*(s\x3e\x3e16\x26255)+151*(s\x3e\x3e8\x26\n255)+28*(255\x26s))\x26\x26(o\x3ds,n\x3dy),n\x3c(p\x3d77*((c\x3dA._getARGB(v,a))\x3e\x3e16\x26255)+151*(c\x3e\x3e8\x26255)+28*(255\x26c))\x26\x26(o\x3dc,n\x3dp),n\x3c(m\x3d77*(l\x3e\x3e16\x26255)+151*(l\x3e\x3e8\x26255)+28*(255\x26l))\x26\x26(o\x3dl,n\x3dm),n\x3c77*(u\x3e\x3e16\x26255)+151*(u\x3e\x3e8\x26255)+28*(255\x26u)\x26\x26(o\x3du),x[b++]\x3do;A._setPixels(v,x)},erode:function(e){for(var t,r,n,o,i,a,s,l,c,h,p,y,m,v\x3dA._toPixels(e),b\x3d0,_\x3dv.length?v.length/4:0,x\x3dnew Int32Array(_);b\x3c_;)for(r\x3d(t\x3db)+e.width;b\x3cr;)n\x3do\x3dA._getARGB(v,b),(s\x3db-1)\x3ct\x26\x26(s\x3db),r\x3c\x3d(a\x3db+1)\x26\x26(a\x3db),0\x3e(l\x3db-e.width)\x26\x26(l\x3d0),_\x3c\x3d(i\x3db+e.width)\x26\x26(i\x3db),l\x3dA._getARGB(v,\nl),s\x3dA._getARGB(v,s),h\x3dA._getARGB(v,i),(y\x3d77*(s\x3e\x3e16\x26255)+151*(s\x3e\x3e8\x26255)+28*(255\x26s))\x3c(i\x3d77*(n\x3e\x3e16\x26255)+151*(n\x3e\x3e8\x26255)+28*(255\x26n))\x26\x26(o\x3ds,i\x3dy),(p\x3d77*((c\x3dA._getARGB(v,a))\x3e\x3e16\x26255)+151*(c\x3e\x3e8\x26255)+28*(255\x26c))\x3ci\x26\x26(o\x3dc,i\x3dp),(m\x3d77*(l\x3e\x3e16\x26255)+151*(l\x3e\x3e8\x26255)+28*(255\x26l))\x3ci\x26\x26(o\x3dl,i\x3dm),77*(h\x3e\x3e16\x26255)+151*(h\x3e\x3e8\x26255)+28*(255\x26h)\x3ci\x26\x26(o\x3dh),x[b++]\x3do;A._setPixels(v,x)},blur:function(e,t){var n,o,s,u,f\x3dA._toPixels(e),h\x3de.width;e\x3de.height;for(var y\x3dh*e,m\x3dnew Int32Array(y),g\x3d0;g\x3cy;g++)m[g]\x3dA._getARGB(f,g);var v,b,x;g\x3dnew Int32Array(y);\nvar j\x3dnew Int32Array(y),S\x3dnew Int32Array(y);y\x3dnew Int32Array(y);var E\x3d0;t\x3d3.5*t|0;if(O!\x3d\x3d(t\x3d1\x3et?1:248\x3et?t:248)){C\x3d1+(O\x3dt)\x3c\x3c1;L\x3dnew Int32Array(C);P\x3dArray(C);for(n\x3d0;n\x3cC;n++)P[n]\x3dnew Int32Array(256);var a\x3d1;for(s\x3dt-1;a\x3ct;a++){L[t+a]\x3dL[s]\x3do\x3ds*s;n\x3dP[t+a];var i\x3dP[s--];for(v\x3d0;256\x3ev;v++)n[v]\x3di[v]\x3do*v}o\x3dL[t]\x3dt*t;n\x3dP[t];for(t\x3d0;256\x3et;t++)n[t]\x3do*t}!0;for(b\x3d0;b\x3ce;b++){for(v\x3d0;v\x3ch;v++){if(i\x3do\x3dn\x3da\x3dt\x3d0,0\x3e(s\x3dv-O)){var d\x3d-s;s\x3d0}else{if(h\x3c\x3ds)break;d\x3d0}for(;d\x3cC\x26\x26!(h\x3c\x3ds);d++){var l\x3dm[s+E];a+\x3d(x\x3dP[d])[(-16777216\x26l)\x3e\x3e\x3e\n24];n+\x3dx[(16711680\x26l)\x3e\x3e16];o+\x3dx[(65280\x26l)\x3e\x3e8];i+\x3dx[255\x26l];t+\x3dL[d];s++}g[l\x3dE+v]\x3da/t;j[l]\x3dn/t;S[l]\x3do/t;y[l]\x3di/t}E+\x3dh}var c\x3d(u\x3d-O)*h;for(b\x3dE\x3d0;b\x3ce;b++){for(v\x3d0;v\x3ch;v++){if(i\x3do\x3dn\x3da\x3dt\x3d0,0\x3eu)d\x3dl\x3d-u,s\x3dv;else{if(e\x3c\x3du)break;d\x3d0;l\x3du;s\x3dv+c}for(;d\x3cC\x26\x26!(e\x3c\x3dl);d++)a+\x3d(x\x3dP[d])[g[s]],n+\x3dx[j[s]],o+\x3dx[S[s]],i+\x3dx[y[s]],t+\x3dL[d],l++,s+\x3dh;m[v+E]\x3da/t\x3c\x3c24|n/t\x3c\x3c16|o/t\x3c\x3c8|i/t}E+\x3dh;c+\x3dh;u++}A._setPixels(f,m)}};r$jscomp$0.default\x3dA},{\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.typed-array.copy-within\x22:197,\n\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.int32-array\x22:209,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\n\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-array\x22:226}],\n286:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){function n$jscomp$1(e){return e\x26\x26e.__esModule?e:{default:e}}function R(e$jscomp$0){if(!(e$jscomp$0\x3dfunction(e){if(Array.isArray(e)){for(var t\x3d0,r\x3dArray(e.length);t\x3ce.length;t++)r[t]\x3de[t];return r}}(e$jscomp$0)||function(e){if(Symbol.iterator in Object(e)||\x22[object Arguments]\x22\x3d\x3d\x3dObject.prototype.toString.call(e))return Array.from(e)}(e$jscomp$0)))throw new TypeError(\x22Invalid attempt to spread non-iterable instance\x22);return e$jscomp$0}e$jscomp$2(\x22core-js/modules/es.symbol\x22);\ne$jscomp$2(\x22core-js/modules/es.symbol.description\x22);e$jscomp$2(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.concat\x22);e$jscomp$2(\x22core-js/modules/es.array.filter\x22);e$jscomp$2(\x22core-js/modules/es.array.from\x22);e$jscomp$2(\x22core-js/modules/es.array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.map\x22);e$jscomp$2(\x22core-js/modules/es.array.slice\x22);e$jscomp$2(\x22core-js/modules/es.object.keys\x22);e$jscomp$2(\x22core-js/modules/es.object.to-string\x22);e$jscomp$2(\x22core-js/modules/es.regexp.exec\x22);\ne$jscomp$2(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$2(\x22core-js/modules/es.set\x22);e$jscomp$2(\x22core-js/modules/es.string.iterator\x22);e$jscomp$2(\x22core-js/modules/es.string.replace\x22);e$jscomp$2(\x22core-js/modules/es.string.split\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.uint32-array\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.fill\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.map\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-string\x22);\ne$jscomp$2(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var A\x3dn$jscomp$1(e$jscomp$2(\x22../core/main\x22)),k\x3dn$jscomp$1(e$jscomp$2(\x22omggif\x22));A.default.prototype.createImage\x3dfunction(e,t){return A.default._validateParameters(\x22createImage\x22,arguments),new A.default.Image(e,t)};A.default.prototype.saveCanvas\x3dfunction(){A.default._validateParameters(\x22saveCanvas\x22,arguments);var e$jscomp$0,t,r;var n\x3d[].slice.call(arguments);\nswitch(arguments[0]instanceof HTMLCanvasElement?(e$jscomp$0\x3darguments[0],n.shift()):arguments[0]instanceof A.default.Element?(e$jscomp$0\x3darguments[0].elt,n.shift()):e$jscomp$0\x3dthis._curElement\x26\x26this._curElement.elt,1\x3c\x3dn.length\x26\x26(t\x3dn[0]),2\x3c\x3dn.length\x26\x26(r\x3dn[1]),r\x3dr||A.default.prototype._checkFileExtension(t,r)[1]||\x22png\x22){default:n\x3d\x22image/png\x22;break;case \x22jpeg\x22:case \x22jpg\x22:n\x3d\x22image/jpeg\x22}e$jscomp$0.toBlob(function(e){A.default.prototype.downloadFile(e,t,r)},n)};A.default.prototype.saveGif\x3dfunction(p,e$jscomp$1){var y\x3d\np.gifProperties,t$jscomp$0\x3dy.loopLimit;1\x3d\x3d\x3dt$jscomp$0?t$jscomp$0\x3dnull:null\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3d0);for(var r$jscomp$0\x3dnew Uint8Array(p.width*p.height*y.numFrames),m\x3d[],n$jscomp$0\x3d{},o$jscomp$0\x3d0;o$jscomp$0\x3cy.numFrames;o$jscomp$0++){for(var i$jscomp$0\x3dnew Set,a$jscomp$0\x3dy.frames[o$jscomp$0].image.data,s$jscomp$0\x3da$jscomp$0.length,l\x3dnew Uint32Array(p.width*p.height),u\x3d0,c\x3d0;u\x3cs$jscomp$0;u+\x3d4,c++){var d\x3da$jscomp$0[u+0]\x3c\x3c16|a$jscomp$0[u+1]\x3c\x3c8|a$jscomp$0[u+2]\x3c\x3c0;i$jscomp$0.add(d);l[c]\x3dd}i$jscomp$0\x3d\nR(i$jscomp$0).sort().toString();void 0\x3d\x3d\x3dn$jscomp$0[i$jscomp$0]?n$jscomp$0[i$jscomp$0]\x3d{freq:1,frames:[o$jscomp$0]}:(n$jscomp$0[i$jscomp$0].freq+\x3d1,n$jscomp$0[i$jscomp$0].frames.push(o$jscomp$0));m.push(l)}var g\x3d[];o$jscomp$0\x3dObject.keys(n$jscomp$0).sort(function(e,t){return n$jscomp$0[t].freq-n$jscomp$0[e].freq});var v\x3do$jscomp$0[0].split(\x22,\x22).map(function(e){return parseInt(e)});g\x3dg.concat(n$jscomp$0[v].frames);var b\x3dnew Set(v);for(l\x3d1;l\x3co$jscomp$0.length;l++)if(i$jscomp$0\x3do$jscomp$0[l].split(\x22,\x22).map(function(e){return parseInt(e)}).filter(function(e){return!b.has(e)}),\n256\x3e\x3dv.length+i$jscomp$0.length){for(a$jscomp$0\x3d0;a$jscomp$0\x3ci$jscomp$0.length;a$jscomp$0++)v.push(i$jscomp$0[a$jscomp$0]),b.add(i$jscomp$0[a$jscomp$0]);g\x3dg.concat(n$jscomp$0[o$jscomp$0[l]].frames)}g\x3dnew Set(g);var j\x3d{};for(o$jscomp$0\x3d0;o$jscomp$0\x3cv.length;o$jscomp$0++)j[v[o$jscomp$0]]||(j[v[o$jscomp$0]]\x3do$jscomp$0);for(o$jscomp$0\x3d1;o$jscomp$0\x3cv.length;)o$jscomp$0\x3c\x3c\x3d1;v.length\x3do$jscomp$0;t$jscomp$0\x3d{loop:t$jscomp$0,palette:new Uint32Array(v)};var T\x3dnew k.default.GifWriter(r$jscomp$0,p.width,p.height,\nt$jscomp$0),O\x3d{};t$jscomp$0\x3dfunction(e$jscomp$0){for(var t\x3d!g.has(e$jscomp$0),r\x3dt?[]:v,n\x3dnew Uint8Array(p.width*p.height),o\x3d{},i\x3dnew Set,a\x3d0;a\x3cm[e$jscomp$0].length;a++){var s\x3dm[e$jscomp$0][a];t?(void 0\x3d\x3d\x3do[s]\x26\x26(o[s]\x3dr.length,r.push(s)),n[a]\x3do[s]):n[a]\x3dj[s];0\x3ce$jscomp$0\x26\x26m[e$jscomp$0-1][a]!\x3d\x3ds\x26\x26i.add(s)}a\x3d{};s\x3dr.filter(function(e){return!i.has(e)});if(0\x3cs.length\x26\x26(s\x3ds[0],o\x3dt?o[s]:j[s],0\x3ce$jscomp$0)){for(s\x3d0;s\x3cm[e$jscomp$0].length;s++)m[e$jscomp$0-1][s]\x3d\x3d\x3dm[e$jscomp$0][s]\x26\x26(n[s]\x3do);a.transparent\x3do;\nO.frameOpts.disposal\x3d1}if(a.delay\x3dy.frames[e$jscomp$0].delay/10,t){for(t\x3d1;t\x3cr.length;)t\x3c\x3c\x3d1;r.length\x3dt;a.palette\x3dnew Uint32Array(r)}0\x3ce$jscomp$0\x26\x26T.addFrame(0,0,p.width,p.height,O.pixelPaletteIndex,O.frameOpts);O\x3d{pixelPaletteIndex:n,frameOpts:a}};for(o$jscomp$0\x3d0;o$jscomp$0\x3cy.numFrames;o$jscomp$0++)t$jscomp$0(o$jscomp$0);O.frameOpts.disposal\x3d1;T.addFrame(0,0,p.width,p.height,O.pixelPaletteIndex,O.frameOpts);r$jscomp$0\x3dnew Blob([r$jscomp$0.slice(0,T.end())],{type:\x22image/gif\x22});A.default.prototype.downloadFile(r$jscomp$0,\ne$jscomp$1,\x22gif\x22)};A.default.prototype.saveFrames\x3dfunction(e$jscomp$1,t$jscomp$0,r$jscomp$0,n$jscomp$0,a){A.default._validateParameters(\x22saveFrames\x22,arguments);var o$jscomp$0\x3dA.default.prototype.constrain(r$jscomp$0||3,0,15);o$jscomp$0*\x3d1E3;var i$jscomp$0\x3dA.default.prototype.constrain(n$jscomp$0||15,0,22);var s\x3d0,l\x3dA.default.prototype._makeFrame,u\x3dthis._curElement.elt,c\x3d[],d\x3dsetInterval(function(){c.push(l(e$jscomp$1+s,t$jscomp$0,u));s++},1E3/i$jscomp$0);setTimeout(function(){if(clearInterval(d),\na)a(c);else{var e$jscomp$0\x3d!0,t\x3d!1,r\x3dvoid 0;try{for(var n,o\x3dc[Symbol.iterator]();!(e$jscomp$0\x3d(n\x3do.next()).done);e$jscomp$0\x3d!0){var i\x3dn.value;A.default.prototype.downloadFile(i.imageData,i.filename,i.ext)}}catch(e){t\x3d!0,r\x3de}finally{try{e$jscomp$0||null\x3d\x3do.return||o.return()}finally{if(t)throw r;}}}c\x3d[]},o$jscomp$0+.01)};A.default.prototype._makeFrame\x3dfunction(e,t,r){var n;if(n\x3dthis?this._curElement.elt:r,t)switch(t.toLowerCase()){case \x22png\x22:r\x3d\x22image/png\x22;break;case \x22jpeg\x22:case \x22jpg\x22:r\x3d\x22image/jpeg\x22;\nbreak;default:r\x3d\x22image/png\x22}else t\x3d\x22png\x22,r\x3d\x22image/png\x22;n\x3dn.toDataURL(r);n\x3dn.replace(r,\x22image/octet-stream\x22);r\x3d{};return r.imageData\x3dn,r.filename\x3de,r.ext\x3dt,r};r$jscomp$1.default\x3dA.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\n\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.set\x22:183,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\n\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\n\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint32-array\x22:225,\x22core-js/modules/es.typed-array.uint8-array\x22:226,\x22core-js/modules/web.dom-collections.iterator\x22:229,\nomggif:238}],287:[function(e$jscomp$4,t$jscomp$1,r$jscomp$1){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$1(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$1\x3dfunction(){return e},e}function o$jscomp$1(e){return e\x26\x26e.__esModule?e:{default:e}}\ne$jscomp$4(\x22core-js/modules/es.array.includes\x22);e$jscomp$4(\x22core-js/modules/es.array.index-of\x22);e$jscomp$4(\x22core-js/modules/es.array.iterator\x22);e$jscomp$4(\x22core-js/modules/es.array.slice\x22);e$jscomp$4(\x22core-js/modules/es.object.to-string\x22);e$jscomp$4(\x22core-js/modules/es.promise\x22);e$jscomp$4(\x22core-js/modules/es.string.includes\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.uint8-clamped-array\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.copy-within\x22);\ne$jscomp$4(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.join\x22);\ne$jscomp$4(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.subarray\x22);\ne$jscomp$4(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$4(\x22core-js/modules/es.typed-array.to-string\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var x\x3do$jscomp$1(e$jscomp$4(\x22../core/main\x22)),d$jscomp$0\x3do$jscomp$1(e$jscomp$4(\x22./filters\x22)),w\x3do$jscomp$1(e$jscomp$4(\x22../core/helpers\x22)),n$jscomp$1\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$1();if(t\x26\x26t.has(e))return t.get(e);\nvar r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$4(\x22../core/constants\x22)),m$jscomp$0\x3do$jscomp$1(e$jscomp$4(\x22omggif\x22));e$jscomp$4(\x22../core/friendly_errors/validate_params\x22);e$jscomp$4(\x22../core/friendly_errors/file_errors\x22);e$jscomp$4(\x22../core/friendly_errors/fes_core\x22);x.default.prototype.loadImage\x3d\nfunction(n$jscomp$0,o$jscomp$0,i$jscomp$0){x.default._validateParameters(\x22loadImage\x22,arguments);var a\x3dnew x.default.Image(1,1,this),s$jscomp$0\x3dthis,e$jscomp$3\x3dnew Request(n$jscomp$0,{method:\x22GET\x22,mode:\x22cors\x22});return fetch(n$jscomp$0,e$jscomp$3).then(function(e$jscomp$2){var t$jscomp$0\x3de$jscomp$2.headers.get(\x22content-type\x22);if(null\x3d\x3d\x3dt$jscomp$0\x26\x26console.warn(\x22The image you loaded does not have a Content-Type header. If you are using the online editor consider reuploading the asset.\x22),t$jscomp$0\x26\x26\nt$jscomp$0.includes(\x22image/gif\x22))e$jscomp$2.arrayBuffer().then(function(e$jscomp$1){e$jscomp$1\x26\x26function(e$jscomp$0,r,t,n,o){var i\x3dnew m$jscomp$0.default.GifReader(e$jscomp$0);r.width\x3dr.canvas.width\x3di.width;r.height\x3dr.canvas.height\x3di.height;e$jscomp$0\x3d[];var s\x3di.numFrames();new Uint8ClampedArray(r.width*r.height*4);if(1\x3cs){for(var c\x3d0;c\x3cs;c++){var d\x3di.frameInfo(c),f\x3dr.drawingContext.getImageData(0,0,r.width,r.height);var l\x3df.data.slice();try{i.decodeAndBlitFrameRGBA(c,l)}catch(e){x.default._friendlyFileLoadError(8,\nr.src),\x22function\x22\x3d\x3dtypeof n?n(e):console.error(e)}l\x3dnew ImageData(l,r.width,r.height);r.drawingContext.putImageData(l,0,0);l\x3dd.delay;0\x3d\x3d\x3dl\x26\x26(l\x3d10);e$jscomp$0.push({image:r.drawingContext.getImageData(0,0,r.width,r.height),delay:10*l});2\x3d\x3d\x3dd.disposal?r.drawingContext.clearRect(d.x,d.y,d.width,d.height):3\x3d\x3d\x3dd.disposal\x26\x26r.drawingContext.putImageData(f,0,0,d.x,d.y,d.width,d.height)}n\x3di.loopCount();null\x3d\x3d\x3dn?n\x3d1:0\x3d\x3d\x3dn\x26\x26(n\x3dnull);r.drawingContext.putImageData(e$jscomp$0[0].image,0,0);r.gifProperties\x3d{displayIndex:0,\nloopLimit:n,loopCount:0,frames:e$jscomp$0,numFrames:s,playing:!0,timeDisplayed:0,lastChangeTime:0}}\x22function\x22\x3d\x3dtypeof t\x26\x26t(r);o()}(new Uint8Array(e$jscomp$1),a,o$jscomp$0,i$jscomp$0,function(e){s$jscomp$0._decrementPreload()}.bind(s$jscomp$0))},function(e){\x22function\x22\x3d\x3dtypeof i$jscomp$0?i$jscomp$0(e):console.error(e)});else{var r$jscomp$0\x3dnew Image;r$jscomp$0.onload\x3dfunction(){a.width\x3da.canvas.width\x3dr$jscomp$0.width;a.height\x3da.canvas.height\x3dr$jscomp$0.height;a.drawingContext.drawImage(r$jscomp$0,0,\n0);a.modified\x3d!0;\x22function\x22\x3d\x3dtypeof o$jscomp$0\x26\x26o$jscomp$0(a);s$jscomp$0._decrementPreload()};r$jscomp$0.onerror\x3dfunction(e){x.default._friendlyFileLoadError(0,r$jscomp$0.src);\x22function\x22\x3d\x3dtypeof i$jscomp$0?i$jscomp$0(e):console.error(e)};0!\x3d\x3dn$jscomp$0.indexOf(\x22data:image/\x22)\x26\x26(r$jscomp$0.crossOrigin\x3d\x22Anonymous\x22);r$jscomp$0.src\x3dn$jscomp$0}a.modified\x3d!0}).catch(function(e){x.default._friendlyFileLoadError(0,n$jscomp$0);\x22function\x22\x3d\x3dtypeof i$jscomp$0?i$jscomp$0(e):console.error(e)}),a};x.default.prototype.image\x3d\nfunction(e,t,r,n,o,i,a,s,l){x.default._validateParameters(\x22image\x22,arguments);var u\x3de.width,c\x3de.height;e.elt\x26\x26e.elt.videoWidth\x26\x26!e.canvas\x26\x26(u\x3de.elt.videoWidth,c\x3de.elt.videoHeight);var d\x3dt,f\x3dr,h\x3dn||u,p\x3do||c,y\x3di||0,m\x3da||0,g\x3ds||u,v\x3dl||c;g\x3d0\x3cg\x26\x26g\x3cu?g:u;v\x3d0\x3cv\x26\x26v\x3cc?v:c;u\x3d1;e.elt\x26\x26!e.canvas\x26\x26e.elt.style.width\x26\x26(u\x3de.elt.videoWidth\x26\x26!n?e.elt.videoWidth:e.elt.width,u/\x3dparseInt(e.elt.style.width,10));y*\x3du;m*\x3du;v*\x3du;g*\x3du;d\x3dw.default.modeAdjust(d,f,h,p,this._renderer._imageMode);this._renderer.image(e,y,m,g,v,\nd.x,d.y,d.w,d.h)};x.default.prototype.tint\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];x.default._validateParameters(\x22tint\x22,t);e\x3dthis.color.apply(this,t);this._renderer._tint\x3de.levels};x.default.prototype.noTint\x3dfunction(){this._renderer._tint\x3dnull};x.default.prototype._getTintedImageCanvas\x3dfunction(e){if(!e.canvas)return e;var t\x3dd$jscomp$0.default._toPixels(e.canvas),r\x3ddocument.createElement(\x22canvas\x22);r.width\x3de.canvas.width;r.height\x3de.canvas.height;var n\x3dr.getContext(\x222d\x22);\ne\x3dn.createImageData(e.canvas.width,e.canvas.height);for(var i\x3de.data,a\x3d0;a\x3ct.length;a+\x3d4){var l\x3dt[a+1],u\x3dt[a+2],c\x3dt[a+3];i[a]\x3dt[a]*this._renderer._tint[0]/255;i[a+1]\x3dl*this._renderer._tint[1]/255;i[a+2]\x3du*this._renderer._tint[2]/255;i[a+3]\x3dc*this._renderer._tint[3]/255}return n.putImageData(e,0,0),r};x.default.prototype.imageMode\x3dfunction(e){x.default._validateParameters(\x22imageMode\x22,arguments);e!\x3d\x3dn$jscomp$1.CORNER\x26\x26e!\x3d\x3dn$jscomp$1.CORNERS\x26\x26e!\x3d\x3dn$jscomp$1.CENTER||(this._renderer._imageMode\x3de)};r$jscomp$1.default\x3d\nx.default},{\x22../core/constants\x22:253,\x22../core/friendly_errors/fes_core\x22:255,\x22../core/friendly_errors/file_errors\x22:256,\x22../core/friendly_errors/validate_params\x22:259,\x22../core/helpers\x22:260,\x22../core/main\x22:264,\x22./filters\x22:285,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.typed-array.copy-within\x22:197,\n\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\n\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-array\x22:226,\n\x22core-js/modules/es.typed-array.uint8-clamped-array\x22:227,omggif:238}],288:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){function i$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);\ne$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var o$jscomp$0\x3di$jscomp$0(e$jscomp$1(\x22../core/main\x22)),n$jscomp$1\x3di$jscomp$0(e$jscomp$1(\x22./filters\x22));o$jscomp$0.default.Image\x3dfunction(e,t){this.width\x3de;this.height\x3dt;this.canvas\x3ddocument.createElement(\x22canvas\x22);this.canvas.width\x3dthis.width;this.canvas.height\x3dthis.height;this.drawingContext\x3dthis.canvas.getContext(\x222d\x22);(this._pixelsState\x3dthis)._pixelDensity\x3d\n1;this.gifProperties\x3dnull;this._modified\x3d!1;this.pixels\x3d[]};o$jscomp$0.default.Image.prototype._animateGif\x3dfunction(e){var t\x3dthis.gifProperties;e\x3de._lastFrameTime;if(0\x3d\x3d\x3dt.lastChangeTime\x26\x26(t.lastChangeTime\x3de),t.playing){t.timeDisplayed\x3de-t.lastChangeTime;var n\x3dt.frames[t.displayIndex].delay;t.timeDisplayed\x3e\x3dn\x26\x26(n\x3dMath.floor(t.timeDisplayed/n),(t.timeDisplayed\x3d0,t.lastChangeTime\x3de,t.displayIndex+\x3dn,t.loopCount\x3dMath.floor(t.displayIndex/t.numFrames),null!\x3d\x3dt.loopLimit\x26\x26t.loopCount\x3e\x3dt.loopLimit)?t.playing\x3d\n!1:(e\x3dt.displayIndex%t.numFrames,this.drawingContext.putImageData(t.frames[e].image,0,0),t.displayIndex\x3de,this.setModified(!0)))}};o$jscomp$0.default.Image.prototype._setProperty\x3dfunction(e,t){this[e]\x3dt;this.setModified(!0)};o$jscomp$0.default.Image.prototype.loadPixels\x3dfunction(){o$jscomp$0.default.Renderer2D.prototype.loadPixels.call(this);this.setModified(!0)};o$jscomp$0.default.Image.prototype.updatePixels\x3dfunction(e,t,r,n){o$jscomp$0.default.Renderer2D.prototype.updatePixels.call(this,e,t,r,\nn);this.setModified(!0)};o$jscomp$0.default.Image.prototype.get\x3dfunction(e,t,r,n){return o$jscomp$0.default._validateParameters(\x22p5.Image.get\x22,arguments),o$jscomp$0.default.Renderer2D.prototype.get.apply(this,arguments)};o$jscomp$0.default.Image.prototype._getPixel\x3do$jscomp$0.default.Renderer2D.prototype._getPixel;o$jscomp$0.default.Image.prototype.set\x3dfunction(e,t,r){o$jscomp$0.default.Renderer2D.prototype.set.call(this,e,t,r);this.setModified(!0)};o$jscomp$0.default.Image.prototype.resize\x3dfunction(e$jscomp$0,\nt$jscomp$0){0\x3d\x3d\x3de$jscomp$0\x26\x260\x3d\x3d\x3dt$jscomp$0?(e$jscomp$0\x3dthis.canvas.width,t$jscomp$0\x3dthis.canvas.height):0\x3d\x3d\x3de$jscomp$0?e$jscomp$0\x3dthis.canvas.width*t$jscomp$0/this.canvas.height:0\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3dthis.canvas.height*e$jscomp$0/this.canvas.width);e$jscomp$0\x3dMath.floor(e$jscomp$0);t$jscomp$0\x3dMath.floor(t$jscomp$0);var r\x3ddocument.createElement(\x22canvas\x22);if(r.width\x3de$jscomp$0,r.height\x3dt$jscomp$0,this.gifProperties)for(var n\x3dthis.gifProperties,i\x3d0;i\x3cn.numFrames;i++){for(var a\x3dthis.drawingContext.createImageData(e$jscomp$0,\nt$jscomp$0),e\x3dn.frames[i].image,t\x3da,r$jscomp$0\x3d0,n$jscomp$0\x3d0;n$jscomp$0\x3ct.height;n$jscomp$0++)for(var o\x3d0;o\x3ct.width;o++){var a$jscomp$0\x3d4*(Math.floor(n$jscomp$0*e.height/t.height)*e.width+Math.floor(o*e.width/t.width));t.data[r$jscomp$0++]\x3de.data[a$jscomp$0++];t.data[r$jscomp$0++]\x3de.data[a$jscomp$0++];t.data[r$jscomp$0++]\x3de.data[a$jscomp$0++];t.data[r$jscomp$0++]\x3de.data[a$jscomp$0++]}n.frames[i].image\x3da}r.getContext(\x222d\x22).drawImage(this.canvas,0,0,this.canvas.width,this.canvas.height,0,0,r.width,\nr.height);this.canvas.width\x3dthis.width\x3de$jscomp$0;this.canvas.height\x3dthis.height\x3dt$jscomp$0;this.drawingContext.drawImage(r,0,0,e$jscomp$0,t$jscomp$0,0,0,e$jscomp$0,t$jscomp$0);0\x3cthis.pixels.length\x26\x26this.loadPixels();this.setModified(!0)};o$jscomp$0.default.Image.prototype.copy\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];o$jscomp$0.default.prototype.copy.apply(this,t)};o$jscomp$0.default.Image.prototype.mask\x3dfunction(e){void 0\x3d\x3d\x3de\x26\x26(e\x3dthis);var t\x3dthis.drawingContext.globalCompositeOperation,\nr\x3d1;e instanceof o$jscomp$0.default.Renderer\x26\x26(r\x3de._pInst._pixelDensity);e\x3d[e,0,0,r*e.width,r*e.height,0,0,this.width,this.height];this.drawingContext.globalCompositeOperation\x3d\x22destination-in\x22;o$jscomp$0.default.Image.prototype.copy.apply(this,e);this.drawingContext.globalCompositeOperation\x3dt;this.setModified(!0)};o$jscomp$0.default.Image.prototype.filter\x3dfunction(e,t){n$jscomp$1.default.apply(this.canvas,n$jscomp$1.default[e],t);this.setModified(!0)};o$jscomp$0.default.Image.prototype.blend\x3dfunction(){for(var e\x3d\narguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];o$jscomp$0.default._validateParameters(\x22p5.Image.blend\x22,arguments);o$jscomp$0.default.prototype.blend.apply(this,t);this.setModified(!0)};o$jscomp$0.default.Image.prototype.setModified\x3dfunction(e){this._modified\x3de};o$jscomp$0.default.Image.prototype.isModified\x3dfunction(){return this._modified};o$jscomp$0.default.Image.prototype.save\x3dfunction(e,t){this.gifProperties?o$jscomp$0.default.prototype.saveGif(this,e):o$jscomp$0.default.prototype.saveCanvas(this.canvas,\ne,t)};o$jscomp$0.default.Image.prototype.reset\x3dfunction(){if(this.gifProperties){var e\x3dthis.gifProperties;e.playing\x3d!0;e.timeSinceStart\x3d0;e.timeDisplayed\x3d0;e.lastChangeTime\x3d0;e.loopCount\x3d0;e.displayIndex\x3d0;this.drawingContext.putImageData(e.frames[0].image,0,0)}};o$jscomp$0.default.Image.prototype.getCurrentFrame\x3dfunction(){if(this.gifProperties){var e\x3dthis.gifProperties;return e.displayIndex%e.numFrames}};o$jscomp$0.default.Image.prototype.setFrame\x3dfunction(e){if(this.gifProperties){var t\x3dthis.gifProperties;\ne\x3ct.numFrames\x26\x260\x3c\x3de?(t.timeDisplayed\x3d0,t.lastChangeTime\x3d0,t.displayIndex\x3de,this.drawingContext.putImageData(t.frames[e].image,0,0)):console.log(\x22Cannot set GIF to a frame number that is higher than total number of frames or below zero.\x22)}};o$jscomp$0.default.Image.prototype.numFrames\x3dfunction(){if(this.gifProperties)return this.gifProperties.numFrames};o$jscomp$0.default.Image.prototype.play\x3dfunction(){this.gifProperties\x26\x26(this.gifProperties.playing\x3d!0)};o$jscomp$0.default.Image.prototype.pause\x3dfunction(){this.gifProperties\x26\x26\n(this.gifProperties.playing\x3d!1)};o$jscomp$0.default.Image.prototype.delay\x3dfunction(e$jscomp$0,t){if(this.gifProperties){var r\x3dthis.gifProperties;if(t\x3cr.numFrames\x26\x260\x3c\x3dt)r.frames[t].delay\x3de$jscomp$0;else{t\x3d!0;var o\x3d!1,i\x3dvoid 0;try{for(var a,s\x3dr.frames[Symbol.iterator]();!(t\x3d(a\x3ds.next()).done);t\x3d!0)a.value.delay\x3de$jscomp$0}catch(e){o\x3d!0,i\x3de}finally{try{t||null\x3d\x3ds.return||s.return()}finally{if(o)throw i;}}}}};r$jscomp$1.default\x3do$jscomp$0.default.Image},{\x22../core/main\x22:264,\x22./filters\x22:285,\x22core-js/modules/es.array.filter\x22:152,\n\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],289:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function o$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}e$jscomp$0(\x22core-js/modules/es.array.filter\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});\nr$jscomp$0.default\x3dvoid 0;var h\x3do$jscomp$0(e$jscomp$0(\x22../core/main\x22)),n$jscomp$0\x3do$jscomp$0(e$jscomp$0(\x22./filters\x22));e$jscomp$0(\x22../color/p5.Color\x22);h.default.prototype.pixels\x3d[];h.default.prototype.blend\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];var n;(h.default._validateParameters(\x22blend\x22,t),this._renderer)?(n\x3dthis._renderer).blend.apply(n,t):h.default.Renderer2D.prototype.blend.apply(this,t)};h.default.prototype.copy\x3dfunction(){for(var e\x3darguments.length,t\x3d\nArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];if(h.default._validateParameters(\x22copy\x22,t),9\x3d\x3d\x3dt.length){e\x3dt[0];r\x3dt[1];var i\x3dt[2];var a\x3dt[3];var s\x3dt[4];var l\x3dt[5];var u\x3dt[6];var c\x3dt[7];t\x3dt[8]}else{if(8!\x3d\x3dt.length)throw Error(\x22Signature not supported\x22);e\x3dthis;r\x3dt[0];i\x3dt[1];a\x3dt[2];s\x3dt[3];l\x3dt[4];u\x3dt[5];c\x3dt[6];t\x3dt[7]}h.default.prototype._copyHelper(this,e,r,i,a,s,l,u,c,t)};h.default.prototype._copyHelper\x3dfunction(e,t,r,n,o,i,a,s,l,u){t.loadPixels();var c\x3dt.canvas.width/t.width,d\x3d0,f\x3d0;t._renderer\x26\x26t._renderer.isP3D\x26\x26\n(d\x3dt.width/2,f\x3dt.height/2);e._renderer\x26\x26e._renderer.isP3D?h.default.RendererGL.prototype.image.call(e._renderer,t,r+d,n+f,o,i,a,s,l,u):e.drawingContext.drawImage(t.canvas,c*(r+d),c*(n+f),c*o,c*i,a,s,l,u)};h.default.prototype.filter\x3dfunction(e,t){h.default._validateParameters(\x22filter\x22,arguments);void 0!\x3d\x3dthis.canvas?n$jscomp$0.default.apply(this.canvas,n$jscomp$0.default[e],t):n$jscomp$0.default.apply(this.elt,n$jscomp$0.default[e],t)};h.default.prototype.get\x3dfunction(e,t,r,n){var o;return h.default._validateParameters(\x22get\x22,\narguments),(o\x3dthis._renderer).get.apply(o,arguments)};h.default.prototype.loadPixels\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];h.default._validateParameters(\x22loadPixels\x22,t);this._renderer.loadPixels()};h.default.prototype.set\x3dfunction(e,t,r){this._renderer.set(e,t,r)};h.default.prototype.updatePixels\x3dfunction(e,t,r,n){h.default._validateParameters(\x22updatePixels\x22,arguments);0!\x3d\x3dthis.pixels.length\x26\x26this._renderer.updatePixels(e,t,r,n)};r$jscomp$0.default\x3dh.default},\n{\x22../color/p5.Color\x22:251,\x22../core/main\x22:264,\x22./filters\x22:285,\x22core-js/modules/es.array.filter\x22:152}],290:[function(e$jscomp$2,t$jscomp$1,r$jscomp$1){function n$jscomp$1(e){return e\x26\x26e.__esModule?e:{default:e}}function v(e$jscomp$0){return(v\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function b(e,t){var r\x3d{};if(void 0\x3d\x3d\x3d(t\x3dt||[]))for(var n\x3d\n0;n\x3ce.length;n++)t[n.toString()]\x3dn;for(n\x3d0;n\x3ct.length;n++)r[t[n]]\x3de[n];return r}function y$jscomp$0(e){return e.replace(/\x26/g,\x22\\x26amp;\x22).replace(/\x3c/g,\x22\\x26lt;\x22).replace(/\x3e/g,\x22\\x26gt;\x22).replace(/\x22/g,\x22\\x26quot;\x22).replace(/\x27/g,\x22\\x26#039;\x22)}function l$jscomp$0(e,t){t\x26\x26!0!\x3d\x3dt\x26\x26\x22true\x22!\x3d\x3dt||(t\x3d\x22\x22);var r\x3d\x22\x22;return(e\x3de||\x22untitled\x22,e.includes(\x22.\x22))\x26\x26(r\x3de.split(\x22.\x22).pop()),t\x26\x26r!\x3d\x3dt\x26\x26(r\x3dt,e\x3d\x22\x22.concat(e,\x22.\x22).concat(r)),[e,r]}e$jscomp$2(\x22core-js/modules/es.symbol\x22);e$jscomp$2(\x22core-js/modules/es.symbol.description\x22);\ne$jscomp$2(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.concat\x22);e$jscomp$2(\x22core-js/modules/es.array.includes\x22);e$jscomp$2(\x22core-js/modules/es.array.index-of\x22);e$jscomp$2(\x22core-js/modules/es.array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.last-index-of\x22);e$jscomp$2(\x22core-js/modules/es.array.slice\x22);e$jscomp$2(\x22core-js/modules/es.array.splice\x22);e$jscomp$2(\x22core-js/modules/es.function.name\x22);e$jscomp$2(\x22core-js/modules/es.object.to-string\x22);e$jscomp$2(\x22core-js/modules/es.promise\x22);\ne$jscomp$2(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$2(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$2(\x22core-js/modules/es.string.includes\x22);e$jscomp$2(\x22core-js/modules/es.string.iterator\x22);e$jscomp$2(\x22core-js/modules/es.string.replace\x22);e$jscomp$2(\x22core-js/modules/es.string.split\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.fill\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.map\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-string\x22);\ne$jscomp$2(\x22core-js/modules/web.dom-collections.iterator\x22);e$jscomp$2(\x22core-js/modules/web.url\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var g\x3dn$jscomp$1(e$jscomp$2(\x22../core/main\x22));e$jscomp$2(\x22whatwg-fetch\x22);e$jscomp$2(\x22es6-promise/auto\x22);var m$jscomp$0\x3dn$jscomp$1(e$jscomp$2(\x22fetch-jsonp\x22)),s$jscomp$0\x3dn$jscomp$1(e$jscomp$2(\x22file-saver\x22));e$jscomp$2(\x22../core/friendly_errors/validate_params\x22);e$jscomp$2(\x22../core/friendly_errors/file_errors\x22);e$jscomp$2(\x22../core/friendly_errors/fes_core\x22);\ng.default.prototype.loadJSON\x3dfunction(){for(var e$jscomp$0\x3darguments.length,t$jscomp$0\x3dArray(e$jscomp$0),r\x3d0;r\x3ce$jscomp$0;r++)t$jscomp$0[r]\x3darguments[r];g.default._validateParameters(\x22loadJSON\x22,t$jscomp$0);var n,o,i,a\x3dt$jscomp$0[0],s\x3d{};e$jscomp$0\x3d\x22json\x22;for(r\x3d1;r\x3ct$jscomp$0.length;r++){var c\x3dt$jscomp$0[r];\x22string\x22\x3d\x3dtypeof c?\x22jsonp\x22!\x3d\x3dc\x26\x26\x22json\x22!\x3d\x3dc||(e$jscomp$0\x3dc):\x22function\x22\x3d\x3dtypeof c?n?o\x3dc:n\x3dc:\x22object\x22\x3d\x3d\x3dv(c)\x26\x26(c.hasOwnProperty(\x22jsonpCallback\x22)||c.hasOwnProperty(\x22jsonpCallbackFunction\x22))\x26\x26(e$jscomp$0\x3d\n\x22jsonp\x22,i\x3dc)}var d\x3dthis;return this.httpDo(a,\x22GET\x22,i,e$jscomp$0,function(e){for(var t in e)s[t]\x3de[t];void 0!\x3d\x3dn\x26\x26n(e);d._decrementPreload()},function(e){if(g.default._friendlyFileLoadError(5,a),!o)throw e;o(e)}),s};g.default.prototype.loadStrings\x3dfunction(){for(var e$jscomp$0\x3darguments.length,t\x3dArray(e$jscomp$0),r$jscomp$0\x3d0;r$jscomp$0\x3ce$jscomp$0;r$jscomp$0++)t[r$jscomp$0]\x3darguments[r$jscomp$0];g.default._validateParameters(\x22loadStrings\x22,t);var o,n$jscomp$0,i\x3d[];for(e$jscomp$0\x3d1;e$jscomp$0\x3ct.length;e$jscomp$0++)r$jscomp$0\x3d\nt[e$jscomp$0],\x22function\x22\x3d\x3dtypeof r$jscomp$0\x26\x26(void 0\x3d\x3d\x3do?o\x3dr$jscomp$0:void 0\x3d\x3d\x3dn$jscomp$0\x26\x26(n$jscomp$0\x3dr$jscomp$0));var l\x3dthis;return g.default.prototype.httpDo.call(this,t[0],\x22GET\x22,\x22text\x22,function(e){e\x3de.replace(/\\r\\n/g,\x22\\r\x22).replace(/\\n/g,\x22\\r\x22).split(/\\r/);for(var r\x3d0,n\x3de.length;r\x3cn;r+\x3d32768)Array.prototype.push.apply(i,e.slice(r,Math.min(r+32768,n)));void 0!\x3d\x3do\x26\x26o(i);l._decrementPreload()},function(e){if(g.default._friendlyFileLoadError(3,e),!n$jscomp$0)throw e;n$jscomp$0(e)}),i};g.default.prototype.loadTable\x3d\nfunction(t$jscomp$0){var f,r$jscomp$0,h,e$jscomp$0\x3d[],p\x3d!1,n$jscomp$0\x3dt$jscomp$0.substring(t$jscomp$0.lastIndexOf(\x22.\x22)+1,t$jscomp$0.length);\x22csv\x22\x3d\x3d\x3dn$jscomp$0?h\x3d\x22,\x22:\x22ssv\x22\x3d\x3d\x3dn$jscomp$0?h\x3d\x22;\x22:\x22tsv\x22\x3d\x3d\x3dn$jscomp$0\x26\x26(h\x3d\x22\\t\x22);for(n$jscomp$0\x3d1;n$jscomp$0\x3carguments.length;n$jscomp$0++)\x22function\x22\x3d\x3dtypeof arguments[n$jscomp$0]?void 0\x3d\x3d\x3df?f\x3darguments[n$jscomp$0]:void 0\x3d\x3d\x3dr$jscomp$0\x26\x26(r$jscomp$0\x3darguments[n$jscomp$0]):\x22string\x22\x3d\x3dtypeof arguments[n$jscomp$0]\x26\x26(e$jscomp$0.push(arguments[n$jscomp$0]),\x22header\x22\x3d\x3d\x3darguments[n$jscomp$0]\x26\x26\n(p\x3d!0),\x22csv\x22\x3d\x3d\x3darguments[n$jscomp$0]?h\x3d\x22,\x22:\x22ssv\x22\x3d\x3d\x3darguments[n$jscomp$0]?h\x3d\x22;\x22:\x22tsv\x22\x3d\x3d\x3darguments[n$jscomp$0]\x26\x26(h\x3d\x22\\t\x22));var y\x3dnew g.default.Table,m\x3dthis;return this.httpDo(t$jscomp$0,\x22GET\x22,\x22table\x22,function(e){for(var t,r,n\x3d{},o\x3d[],i\x3d0,a\x3dnull,l\x3dfunction(){a.push(n.token);n.currentState\x3d0;n.token\x3d\x22\x22},u\x3dfunction(){n.currentState\x3d4;o.push(a);a\x3dnull};;){if(null\x3d\x3d(t\x3de[i++])){if(n.escaped)throw Error(\x22Unclosed quote in file.\x22);if(a){l();u();break}}null\x3d\x3d\x3da\x26\x26(n.escaped\x3d!1,a\x3d[],n.currentState\x3d0,n.token\x3d\x22\x22);\nif(0\x3d\x3d\x3dn.currentState){if(\x27\x22\x27\x3d\x3d\x3dt){n.escaped\x3d!0;n.currentState\x3d1;continue}n.currentState\x3d1}1\x3d\x3d\x3dn.currentState\x26\x26n.escaped?\x27\x22\x27\x3d\x3d\x3dt?\x27\x22\x27\x3d\x3d\x3de[i]?(n.token+\x3d\x27\x22\x27,i++):(n.escaped\x3d!1,n.currentState\x3d2):\x22\\r\x22!\x3d\x3dt\x26\x26(n.token+\x3dt):\x22\\r\x22\x3d\x3d\x3dt?(\x22\\n\x22\x3d\x3d\x3de[i]\x26\x26i++,l(),u()):\x22\\n\x22\x3d\x3d\x3dt?(l(),u()):t\x3d\x3d\x3dh?l():1\x3d\x3d\x3dn.currentState\x26\x26(n.token+\x3dt)}if(p)y.columns\x3do.shift();else for(e\x3d0;e\x3co[0].length;e++)y.columns[e]\x3d\x22null\x22;for(e\x3d0;e\x3co.length;e++)(1!\x3d\x3do[e].length||\x22undefined\x22!\x3d\x3do[e][0]\x26\x26\x22\x22!\x3d\x3do[e][0])\x26\x26((r\x3dnew g.default.TableRow).arr\x3do[e],\nr.obj\x3db(o[e],y.columns),y.addRow(r));\x22function\x22\x3d\x3dtypeof f\x26\x26f(y);m._decrementPreload()},function(e){g.default._friendlyFileLoadError(2,t$jscomp$0);r$jscomp$0?r$jscomp$0(e):console.error(e)}),y};g.default.prototype.loadXML\x3dfunction(){for(var e$jscomp$0\x3darguments.length,t$jscomp$0\x3dArray(e$jscomp$0),r\x3d0;r\x3ce$jscomp$0;r++)t$jscomp$0[r]\x3darguments[r];var n,o,i\x3dnew g.default.XML;for(e$jscomp$0\x3d1;e$jscomp$0\x3ct$jscomp$0.length;e$jscomp$0++)r\x3dt$jscomp$0[e$jscomp$0],\x22function\x22\x3d\x3dtypeof r\x26\x26(void 0\x3d\x3d\x3dn?n\x3dr:void 0\x3d\x3d\x3d\no\x26\x26(o\x3dr));var l\x3dthis;return this.httpDo(t$jscomp$0[0],\x22GET\x22,\x22xml\x22,function(e){for(var t in e)i[t]\x3de[t];void 0!\x3d\x3dn\x26\x26n(i);l._decrementPreload()},function(e){if(g.default._friendlyFileLoadError(1,e),!o)throw e;o(e)}),i};g.default.prototype.loadBytes\x3dfunction(t,r,n){var o\x3d{},i\x3dthis;return this.httpDo(t,\x22GET\x22,\x22arrayBuffer\x22,function(e){o.bytes\x3dnew Uint8Array(e);\x22function\x22\x3d\x3dtypeof r\x26\x26r(o);i._decrementPreload()},function(e){if(g.default._friendlyFileLoadError(6,t),!n)throw e;n(e)}),o};g.default.prototype.httpGet\x3d\nfunction(){g.default._validateParameters(\x22httpGet\x22,arguments);var e\x3dArray.prototype.slice.call(arguments);return e.splice(1,0,\x22GET\x22),g.default.prototype.httpDo.apply(this,e)};g.default.prototype.httpPost\x3dfunction(){g.default._validateParameters(\x22httpPost\x22,arguments);var e\x3dArray.prototype.slice.call(arguments);return e.splice(1,0,\x22POST\x22),g.default.prototype.httpDo.apply(this,e)};g.default.prototype.httpDo\x3dfunction(){for(var n,e$jscomp$1,t$jscomp$0,r,o,i\x3d{},a\x3d0,s\x3d\x22text/plain\x22,l\x3darguments.length-1;0\x3c\nl\x26\x26\x22function\x22\x3d\x3dtypeof(0\x3el||arguments.length\x3c\x3dl?void 0:arguments[l]);l--)a++;var u\x3d0\x3e\x3darguments.length?void 0:arguments[0];if(2\x3d\x3darguments.length-a\x26\x26\x22string\x22\x3d\x3dtypeof u\x26\x26\x22object\x22\x3d\x3d\x3dv(1\x3e\x3darguments.length?void 0:arguments[1]))r\x3dnew Request(u,1\x3e\x3darguments.length?void 0:arguments[1]),e$jscomp$1\x3d2\x3e\x3darguments.length?void 0:arguments[2],t$jscomp$0\x3d3\x3e\x3darguments.length?void 0:arguments[3];else{a\x3d\x22GET\x22;for(l\x3d1;l\x3carguments.length;l++){var h\x3d0\x3el||arguments.length\x3c\x3dl?void 0:arguments[l];if(\x22string\x22\x3d\x3dtypeof h)\x22GET\x22\x3d\x3d\x3d\nh||\x22POST\x22\x3d\x3d\x3dh||\x22PUT\x22\x3d\x3d\x3dh||\x22DELETE\x22\x3d\x3d\x3dh?a\x3dh:\x22json\x22\x3d\x3d\x3dh||\x22jsonp\x22\x3d\x3d\x3dh||\x22binary\x22\x3d\x3d\x3dh||\x22arrayBuffer\x22\x3d\x3d\x3dh||\x22xml\x22\x3d\x3d\x3dh||\x22text\x22\x3d\x3d\x3dh||\x22table\x22\x3d\x3d\x3dh?n\x3dh:r\x3dh;else if(\x22number\x22\x3d\x3dtypeof h)r\x3dh.toString();else if(\x22object\x22\x3d\x3d\x3dv(h))if(h.hasOwnProperty(\x22jsonpCallback\x22)||h.hasOwnProperty(\x22jsonpCallbackFunction\x22))for(var p in h)i[p]\x3dh[p];else s\x3dh instanceof g.default.XML?(r\x3dh.serialize(),\x22application/xml\x22):(r\x3dJSON.stringify(h),\x22application/json\x22);else\x22function\x22\x3d\x3dtypeof h\x26\x26(e$jscomp$1?t$jscomp$0\x3dh:e$jscomp$1\x3dh)}s\x3d\x22GET\x22\x3d\x3d\x3d\na?new Headers:new Headers({\x22Content-Type\x22:s});r\x3dnew Request(u,{method:a,mode:\x22cors\x22,body:r,headers:s})}return(o\x3d(o\x3d\x22jsonp\x22\x3d\x3d\x3d(n\x3dn||(u.includes(\x22json\x22)?\x22json\x22:u.includes(\x22xml\x22)?\x22xml\x22:\x22text\x22))?(0,m$jscomp$0.default)(u,i):fetch(r)).then(function(e$jscomp$0){if(!e$jscomp$0.ok){var t\x3dError(e$jscomp$0.body);throw t.status\x3de$jscomp$0.status,t.ok\x3d!1,t;}t\x3d0;switch(\x22jsonp\x22!\x3d\x3dn\x26\x26(t\x3de$jscomp$0.headers.get(\x22content-length\x22)),t\x26\x2664E6\x3ct\x26\x26g.default._friendlyFileLoadError(7,u),n){case \x22json\x22:case \x22jsonp\x22:return e$jscomp$0.json();\ncase \x22binary\x22:return e$jscomp$0.blob();case \x22arrayBuffer\x22:return e$jscomp$0.arrayBuffer();case \x22xml\x22:return e$jscomp$0.text().then(function(e){e\x3d(new DOMParser).parseFromString(e,\x22text/xml\x22);return new g.default.XML(e.documentElement)});default:return e$jscomp$0.text()}})).then(e$jscomp$1||function(){}),o.catch(t$jscomp$0||console.error),o};window.URL\x3dwindow.URL||window.webkitURL;g.default.prototype._pWriters\x3d[];g.default.prototype.createWriter\x3dfunction(e,t){var r,n;for(n in g.default.prototype._pWriters)if(g.default.prototype._pWriters[n].name\x3d\x3d\x3d\ne)return r\x3dnew g.default.PrintWriter(e+this.millis(),t),g.default.prototype._pWriters.push(r),r;return r\x3dnew g.default.PrintWriter(e,t),g.default.prototype._pWriters.push(r),r};g.default.PrintWriter\x3dfunction(r,n){var o\x3dthis;this.name\x3dr;this.content\x3d\x22\x22;this.write\x3dfunction(e){this.content+\x3de};this.print\x3dfunction(e){this.content+\x3d\x22\x22.concat(e,\x22\\n\x22)};this.clear\x3dfunction(){this.content\x3d\x22\x22};this.close\x3dfunction(){var e\x3d[],t;for(t in e.push(this.content),g.default.prototype.writeFile(e,r,n),g.default.prototype._pWriters)g.default.prototype._pWriters[t].name\x3d\x3d\x3d\nthis.name\x26\x26g.default.prototype._pWriters.splice(t,1);o.clear();o\x3d{}}};g.default.prototype.save\x3dfunction(e,t,r){var n\x3darguments,o\x3dthis._curElement?this._curElement.elt:this.elt;if(0!\x3d\x3dn.length)if(n[0]instanceof g.default.Renderer||n[0]instanceof g.default.Graphics)g.default.prototype.saveCanvas(n[0].elt,n[1],n[2]);else if(1\x3d\x3d\x3dn.length\x26\x26\x22string\x22\x3d\x3dtypeof n[0])g.default.prototype.saveCanvas(o,n[0]);else switch(l$jscomp$0(n[1],n[2])[1]){case \x22json\x22:return void g.default.prototype.saveJSON(n[0],n[1],n[2]);\ncase \x22txt\x22:return void g.default.prototype.saveStrings(n[0],n[1],n[2]);default:n[0]instanceof Array?g.default.prototype.saveStrings(n[0],n[1],n[2]):n[0]instanceof g.default.Table?g.default.prototype.saveTable(n[0],n[1],n[2]):n[0]instanceof g.default.Image?g.default.prototype.saveCanvas(n[0].canvas,n[1]):n[0]instanceof g.default.SoundFile\x26\x26g.default.prototype.saveSound(n[0],n[1],n[2],n[3])}else g.default.prototype.saveCanvas(o)};g.default.prototype.saveJSON\x3dfunction(e,t,r){g.default._validateParameters(\x22saveJSON\x22,\narguments);var n\x3dr?JSON.stringify(e):JSON.stringify(e,void 0,2);this.saveStrings(n.split(\x22\\n\x22),t,\x22json\x22)};g.default.prototype.saveJSONObject\x3dg.default.prototype.saveJSON;g.default.prototype.saveJSONArray\x3dg.default.prototype.saveJSON;g.default.prototype.saveStrings\x3dfunction(e,t,r,n){g.default._validateParameters(\x22saveStrings\x22,arguments);for(var i\x3dthis.createWriter(t,r||\x22txt\x22),a\x3d0;a\x3ce.length;a++)n?i.write(e[a]+\x22\\r\\n\x22):i.write(e[a]+\x22\\n\x22);i.close();i.clear()};g.default.prototype.saveTable\x3dfunction(e,\nt,r){g.default._validateParameters(\x22saveTable\x22,arguments);var n\x3dvoid 0\x3d\x3d\x3dr?t.substring(t.lastIndexOf(\x22.\x22)+1,t.length):r;var o\x3dthis.createWriter(t,n),i\x3de.columns,a\x3d\x22,\x22;if(\x22tsv\x22\x3d\x3d\x3dn\x26\x26(a\x3d\x22\\t\x22),\x22html\x22!\x3d\x3dn){if(\x220\x22!\x3d\x3di[0]){for(var s\x3d0;s\x3ci.length;s++)s\x3ci.length-1?o.write(i[s]+a):o.write(i[s]);o.write(\x22\\n\x22)}for(i\x3d0;i\x3ce.rows.length;i++){for(s\x3d0;s\x3ce.rows[i].arr.length;s++)s\x3ce.rows[i].arr.length-1?\x22csv\x22\x3d\x3d\x3dn\x26\x26String(e.rows[i].arr[s]).includes(\x22,\x22)?o.write(\x27\x22\x27+e.rows[i].arr[s]+\x27\x22\x27+a):o.write(e.rows[i].arr[s]+\na):\x22csv\x22\x3d\x3d\x3dn\x26\x26String(e.rows[i].arr[s]).includes(\x22,\x22)?o.write(\x27\x22\x27+e.rows[i].arr[s]+\x27\x22\x27):o.write(e.rows[i].arr[s]);o.write(\x22\\n\x22)}}else{o.print(\x22\\x3chtml\\x3e\x22);o.print(\x22\\x3chead\\x3e\x22);if(o.print(\x27 \\x3cmeta http-equiv\\x3d\x22content-type\x22 content\\x3d\x22text/html;charset\\x3dutf-8\x22 /\\x3e\x27),o.print(\x22\\x3c/head\\x3e\x22),o.print(\x22\\x3cbody\\x3e\x22),o.print(\x22 \\x3ctable\\x3e\x22),\x220\x22!\x3d\x3di[0]){o.print(\x22 \\x3ctr\\x3e\x22);for(n\x3d0;n\x3ci.length;n++)a\x3dy$jscomp$0(i[n]),o.print(\x22 \\x3ctd\\x3e\x22.concat(a)),o.print(\x22 \\x3c/td\\x3e\x22);\no.print(\x22 \\x3c/tr\\x3e\x22)}for(n\x3d0;n\x3ce.rows.length;n++){o.print(\x22 \\x3ctr\\x3e\x22);for(i\x3d0;i\x3ce.columns.length;i++)a\x3dy$jscomp$0(e.rows[n].getString(i)),o.print(\x22 \\x3ctd\\x3e\x22.concat(a)),o.print(\x22 \\x3c/td\\x3e\x22);o.print(\x22 \\x3c/tr\\x3e\x22)}o.print(\x22 \\x3c/table\\x3e\x22);o.print(\x22\\x3c/body\\x3e\x22);o.print(\x22\\x3c/html\\x3e\x22)}o.close();o.clear()};g.default.prototype.writeFile\x3dfunction(e,t,r){var n\x3d\x22application/octet-stream\x22;g.default.prototype._isSafari()\x26\x26(n\x3d\x22text/plain\x22);e\x3dnew Blob(e,{type:n});g.default.prototype.downloadFile(e,\nt,r)};g.default.prototype.downloadFile\x3dfunction(e$jscomp$0,t,r){r\x3dl$jscomp$0(t,r);var o\x3dr[0];if(e$jscomp$0 instanceof Blob)s$jscomp$0.default.saveAs(e$jscomp$0,o);else{t\x3ddocument.createElement(\x22a\x22);if(t.href\x3de$jscomp$0,t.download\x3do,t.onclick\x3dfunction(e){document.body.removeChild(e.target);e.stopPropagation()},t.style.display\x3d\x22none\x22,document.body.appendChild(t),g.default.prototype._isSafari())e$jscomp$0\x3d\x27Hello, Safari user! To download this file...\\n1. Go to File --\\x3e Save As.\\n2. Choose \x22Page Source\x22 as the Format.\\n\x27+\n\x273. Name it with this extension: .\x22\x27.concat(r[1],\x27\x22\x27),alert(e$jscomp$0);t.click()}};g.default.prototype._checkFileExtension\x3dl$jscomp$0;g.default.prototype._isSafari\x3dfunction(){return 0\x3cObject.prototype.toString.call(window.HTMLElement).indexOf(\x22Constructor\x22)};r$jscomp$1.default\x3dg.default},{\x22../core/friendly_errors/fes_core\x22:255,\x22../core/friendly_errors/file_errors\x22:256,\x22../core/friendly_errors/validate_params\x22:259,\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.includes\x22:156,\n\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.last-index-of\x22:160,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.splice\x22:164,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.promise\x22:178,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.replace\x22:189,\n\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\n\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\n\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-array\x22:226,\x22core-js/modules/web.dom-collections.iterator\x22:229,\x22core-js/modules/web.url\x22:231,\x22es6-promise/auto\x22:232,\x22fetch-jsonp\x22:234,\x22file-saver\x22:235,\x22whatwg-fetch\x22:242}],291:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.concat\x22);e$jscomp$0(\x22core-js/modules/es.array.index-of\x22);e$jscomp$0(\x22core-js/modules/es.array.join\x22);\ne$jscomp$0(\x22core-js/modules/es.array.splice\x22);e$jscomp$0(\x22core-js/modules/es.regexp.constructor\x22);e$jscomp$0(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$0(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$0(\x22core-js/modules/es.string.match\x22);e$jscomp$0(\x22core-js/modules/es.string.replace\x22);e$jscomp$0(\x22core-js/modules/es.string.trim\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?\nn$jscomp$0:{default:n$jscomp$0};o$jscomp$0.default.Table\x3dfunction(e){this.columns\x3d[];this.rows\x3d[]};o$jscomp$0.default.Table.prototype.addRow\x3dfunction(e){e\x3de||new o$jscomp$0.default.TableRow;if(void 0\x3d\x3d\x3de.arr||void 0\x3d\x3d\x3de.obj)throw Error(\x22invalid TableRow: \x22.concat(e));return(e.table\x3dthis).rows.push(e),e};o$jscomp$0.default.Table.prototype.removeRow\x3dfunction(e){this.rows[e].table\x3dnull;e\x3dthis.rows.splice(e+1,this.rows.length);this.rows.pop();this.rows\x3dthis.rows.concat(e)};o$jscomp$0.default.Table.prototype.getRow\x3d\nfunction(e){return this.rows[e]};o$jscomp$0.default.Table.prototype.getRows\x3dfunction(){return this.rows};o$jscomp$0.default.Table.prototype.findRow\x3dfunction(e,t){if(\x22string\x22\x3d\x3dtypeof t)for(var r\x3d0;r\x3cthis.rows.length;r++){if(this.rows[r].obj[t]\x3d\x3d\x3de)return this.rows[r]}else for(r\x3d0;r\x3cthis.rows.length;r++)if(this.rows[r].arr[t]\x3d\x3d\x3de)return this.rows[r];return null};o$jscomp$0.default.Table.prototype.findRows\x3dfunction(e,t){var r\x3d[];if(\x22string\x22\x3d\x3dtypeof t)for(var n\x3d0;n\x3cthis.rows.length;n++)this.rows[n].obj[t]\x3d\x3d\x3d\ne\x26\x26r.push(this.rows[n]);else for(n\x3d0;n\x3cthis.rows.length;n++)this.rows[n].arr[t]\x3d\x3d\x3de\x26\x26r.push(this.rows[n]);return r};o$jscomp$0.default.Table.prototype.matchRow\x3dfunction(e,t){if(\x22number\x22\x3d\x3dtypeof t)for(var r\x3d0;r\x3cthis.rows.length;r++){if(this.rows[r].arr[t].match(e))return this.rows[r]}else for(r\x3d0;r\x3cthis.rows.length;r++)if(this.rows[r].obj[t].match(e))return this.rows[r];return null};o$jscomp$0.default.Table.prototype.matchRows\x3dfunction(e,t){var r\x3d[];if(\x22number\x22\x3d\x3dtypeof t)for(var n\x3d0;n\x3cthis.rows.length;n++)this.rows[n].arr[t].match(e)\x26\x26\nr.push(this.rows[n]);else for(n\x3d0;n\x3cthis.rows.length;n++)this.rows[n].obj[t].match(e)\x26\x26r.push(this.rows[n]);return r};o$jscomp$0.default.Table.prototype.getColumn\x3dfunction(e){var t\x3d[];if(\x22string\x22\x3d\x3dtypeof e)for(var r\x3d0;r\x3cthis.rows.length;r++)t.push(this.rows[r].obj[e]);else for(r\x3d0;r\x3cthis.rows.length;r++)t.push(this.rows[r].arr[e]);return t};o$jscomp$0.default.Table.prototype.clearRows\x3dfunction(){delete this.rows;this.rows\x3d[]};o$jscomp$0.default.Table.prototype.addColumn\x3dfunction(e){this.columns.push(e||\nnull)};o$jscomp$0.default.Table.prototype.getColumnCount\x3dfunction(){return this.columns.length};o$jscomp$0.default.Table.prototype.getRowCount\x3dfunction(){return this.rows.length};o$jscomp$0.default.Table.prototype.removeTokens\x3dfunction(e,t){for(var r\x3d[],n\x3d0;n\x3ce.length;n++)r.push(e.charAt(n).replace(/[-/\\\\^$*+?.()|[\\]{}]/g,\x22\\\\$\\x26\x22));e\x3dnew RegExp(r.join(\x22|\x22),\x22g\x22);if(void 0\x3d\x3d\x3dt)for(t\x3d0;t\x3cthis.columns.length;t++)for(r\x3d0;r\x3cthis.rows.length;r++)n\x3dthis.rows[r].arr[t],n\x3dn.replace(e,\x22\x22),this.rows[r].arr[t]\x3d\nn,this.rows[r].obj[this.columns[t]]\x3dn;else if(\x22string\x22\x3d\x3dtypeof t)for(r\x3d0;r\x3cthis.rows.length;r++){n\x3dthis.rows[r].obj[t];n\x3dn.replace(e,\x22\x22);this.rows[r].obj[t]\x3dn;var c\x3dthis.columns.indexOf(t);this.rows[r].arr[c]\x3dn}else for(r\x3d0;r\x3cthis.rows.length;r++)n\x3dthis.rows[r].arr[t],n\x3dn.replace(e,\x22\x22),this.rows[r].arr[t]\x3dn,this.rows[r].obj[this.columns[t]]\x3dn};o$jscomp$0.default.Table.prototype.trim\x3dfunction(e){var t\x3dRegExp(\x22 \x22,\x22g\x22);if(void 0\x3d\x3d\x3de)for(e\x3d0;e\x3cthis.columns.length;e++)for(var n\x3d0;n\x3cthis.rows.length;n++){var o\x3d\nthis.rows[n].arr[e];o\x3do.replace(t,\x22\x22);this.rows[n].arr[e]\x3do;this.rows[n].obj[this.columns[e]]\x3do}else if(\x22string\x22\x3d\x3dtypeof e)for(n\x3d0;n\x3cthis.rows.length;n++){o\x3dthis.rows[n].obj[e];o\x3do.replace(t,\x22\x22);this.rows[n].obj[e]\x3do;var s\x3dthis.columns.indexOf(e);this.rows[n].arr[s]\x3do}else for(n\x3d0;n\x3cthis.rows.length;n++)o\x3dthis.rows[n].arr[e],o\x3do.replace(t,\x22\x22),this.rows[n].arr[e]\x3do,this.rows[n].obj[this.columns[e]]\x3do};o$jscomp$0.default.Table.prototype.removeColumn\x3dfunction(e){var t,r;\x22string\x22\x3d\x3dtypeof e?(t\x3de,r\x3dthis.columns.indexOf(e)):\n(r\x3de,t\x3dthis.columns[e]);e\x3dthis.columns.splice(r+1,this.columns.length);this.columns.pop();this.columns\x3dthis.columns.concat(e);for(e\x3d0;e\x3cthis.rows.length;e++){var i\x3dthis.rows[e].arr,a\x3di.splice(r+1,i.length);i.pop();this.rows[e].arr\x3di.concat(a);delete this.rows[e].obj[t]}};o$jscomp$0.default.Table.prototype.set\x3dfunction(e,t,r){this.rows[e].set(t,r)};o$jscomp$0.default.Table.prototype.setNum\x3dfunction(e,t,r){this.rows[e].setNum(t,r)};o$jscomp$0.default.Table.prototype.setString\x3dfunction(e,t,r){this.rows[e].setString(t,\nr)};o$jscomp$0.default.Table.prototype.get\x3dfunction(e,t){return this.rows[e].get(t)};o$jscomp$0.default.Table.prototype.getNum\x3dfunction(e,t){return this.rows[e].getNum(t)};o$jscomp$0.default.Table.prototype.getString\x3dfunction(e,t){return this.rows[e].getString(t)};o$jscomp$0.default.Table.prototype.getObject\x3dfunction(e){for(var t,r\x3d{},n\x3d0;n\x3cthis.rows.length;n++)if(t\x3dthis.rows[n].obj,\x22string\x22\x3d\x3dtypeof e){if(!(0\x3c\x3dthis.columns.indexOf(e)))throw Error(\x27This table has no column named \x22\x27.concat(e,\x27\x22\x27));\nr[t[e]]\x3dt}else r[n]\x3dthis.rows[n].obj;return r};o$jscomp$0.default.Table.prototype.getArray\x3dfunction(){for(var e\x3d[],t\x3d0;t\x3cthis.rows.length;t++)e.push(this.rows[t].arr);return e};r$jscomp$0.default\x3do$jscomp$0.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.splice\x22:164,\x22core-js/modules/es.regexp.constructor\x22:180,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\n\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.trim\x22:193}],292:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.index-of\x22);e$jscomp$0(\x22core-js/modules/es.object.to-string\x22);e$jscomp$0(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$0(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$0(\x22core-js/modules/es.string.split\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;\ne$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$0.default.TableRow\x3dfunction(e,t){var r\x3d[],n\x3d{};e\x26\x26(t\x3dt||\x22,\x22,r\x3de.split(t));for(e\x3d0;e\x3cr.length;e++)n[e]\x3dr[e];this.arr\x3dr;this.obj\x3dn;this.table\x3dnull};e$jscomp$0.default.TableRow.prototype.set\x3dfunction(e,t){if(\x22string\x22\x3d\x3dtypeof e){var r\x3dthis.table.columns.indexOf(e);if(!(0\x3c\x3dr))throw Error(\x27This table has no column named \x22\x27.concat(e,\x27\x22\x27));this.obj[e]\x3dt;this.arr[r]\x3dt}else{if(!(e\x3cthis.table.columns.length))throw Error(\x22Column #\x22.concat(e,\n\x22 is out of the range of this table\x22));this.arr[e]\x3dt;this.obj[this.table.columns[e]]\x3dt}};e$jscomp$0.default.TableRow.prototype.setNum\x3dfunction(e,t){t\x3dparseFloat(t);this.set(e,t)};e$jscomp$0.default.TableRow.prototype.setString\x3dfunction(e,t){this.set(e,t.toString())};e$jscomp$0.default.TableRow.prototype.get\x3dfunction(e){return\x22string\x22\x3d\x3dtypeof e?this.obj[e]:this.arr[e]};e$jscomp$0.default.TableRow.prototype.getNum\x3dfunction(e){var t;if(\x22NaN\x22\x3d\x3d\x3d(t\x3d\x22string\x22\x3d\x3dtypeof e?parseFloat(this.obj[e]):parseFloat(this.arr[e])).toString())throw\x22Error: \x22.concat(this.obj[e],\n\x22 is NaN (Not a Number)\x22);return t};e$jscomp$0.default.TableRow.prototype.getString\x3dfunction(e){return\x22string\x22\x3d\x3dtypeof e?this.obj[e].toString():this.arr[e].toString()};r$jscomp$0.default\x3de$jscomp$0.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.split\x22:191}],293:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){e$jscomp$1(\x22core-js/modules/es.symbol\x22);\ne$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.number.constructor\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.string.replace\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});\nr$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};s$jscomp$0.default.XML\x3dfunction(e){this.DOM\x3de?e:document.implementation.createDocument(null,\x22doc\x22).createElement(\x22root\x22)};s$jscomp$0.default.XML.prototype.getParent\x3dfunction(){return new s$jscomp$0.default.XML(this.DOM.parentElement)};s$jscomp$0.default.XML.prototype.getName\x3dfunction(){return this.DOM.tagName};s$jscomp$0.default.XML.prototype.setName\x3dfunction(e){var t\x3d\nthis.DOM.innerHTML,r\x3dthis.DOM.attributes;e\x3ddocument.implementation.createDocument(null,\x22default\x22).createElement(e);e.innerHTML\x3dt;for(t\x3d0;t\x3cr.length;t++)e.setAttribute(r[t].nodeName,r.nodeValue);this.DOM\x3de};s$jscomp$0.default.XML.prototype.hasChildren\x3dfunction(){return 0\x3cthis.DOM.children.length};s$jscomp$0.default.XML.prototype.listChildren\x3dfunction(){for(var e\x3d[],t\x3d0;t\x3cthis.DOM.childNodes.length;t++)e.push(this.DOM.childNodes[t].nodeName);return e};s$jscomp$0.default.XML.prototype.getChildren\x3dfunction(e){e\x3d\ne?this.DOM.getElementsByTagName(e):this.DOM.children;for(var t\x3d[],r\x3d0;r\x3ce.length;r++)t.push(new s$jscomp$0.default.XML(e[r]));return t};s$jscomp$0.default.XML.prototype.getChild\x3dfunction(e$jscomp$0){if(\x22string\x22!\x3dtypeof e$jscomp$0)return new s$jscomp$0.default.XML(this.DOM.children[e$jscomp$0]);var t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dthis.DOM.children[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0){var a\x3do.value;if(a.tagName\x3d\x3d\x3de$jscomp$0)return new s$jscomp$0.default.XML(a)}}catch(e){r\x3d!0,n\x3de}finally{try{t||\nnull\x3d\x3di.return||i.return()}finally{if(r)throw n;}}};s$jscomp$0.default.XML.prototype.addChild\x3dfunction(e){e instanceof s$jscomp$0.default.XML\x26\x26this.DOM.appendChild(e.DOM)};s$jscomp$0.default.XML.prototype.removeChild\x3dfunction(e){var t\x3d-1;if(\x22string\x22\x3d\x3dtypeof e)for(var r\x3d0;r\x3cthis.DOM.children.length;r++){if(this.DOM.children[r].tagName\x3d\x3d\x3de){t\x3dr;break}}else t\x3de;-1!\x3d\x3dt\x26\x26this.DOM.removeChild(this.DOM.children[t])};s$jscomp$0.default.XML.prototype.getAttributeCount\x3dfunction(){return this.DOM.attributes.length};\ns$jscomp$0.default.XML.prototype.listAttributes\x3dfunction(){var e$jscomp$0\x3d[],t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dthis.DOM.attributes[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0)e$jscomp$0.push(o.value.nodeName)}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}return e$jscomp$0};s$jscomp$0.default.XML.prototype.hasAttribute\x3dfunction(e$jscomp$0){var t\x3d{},r\x3d!0,n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3dthis.DOM.attributes[Symbol.iterator]();!(r\x3d(i\x3da.next()).done);r\x3d!0){var s\x3di.value;\nt[s.nodeName]\x3ds.nodeValue}}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3da.return||a.return()}finally{if(n)throw o;}}return!!t[e$jscomp$0]};s$jscomp$0.default.XML.prototype.getNum\x3dfunction(e$jscomp$0,t){var r\x3d{},n\x3d!0,o\x3d!1,i\x3dvoid 0;try{for(var a,s\x3dthis.DOM.attributes[Symbol.iterator]();!(n\x3d(a\x3ds.next()).done);n\x3d!0){var l\x3da.value;r[l.nodeName]\x3dl.nodeValue}}catch(e){o\x3d!0,i\x3de}finally{try{n||null\x3d\x3ds.return||s.return()}finally{if(o)throw i;}}return Number(r[e$jscomp$0])||t||0};s$jscomp$0.default.XML.prototype.getString\x3d\nfunction(e$jscomp$0,t){var r\x3d{},n\x3d!0,o\x3d!1,i\x3dvoid 0;try{for(var a,s\x3dthis.DOM.attributes[Symbol.iterator]();!(n\x3d(a\x3ds.next()).done);n\x3d!0){var l\x3da.value;r[l.nodeName]\x3dl.nodeValue}}catch(e){o\x3d!0,i\x3de}finally{try{n||null\x3d\x3ds.return||s.return()}finally{if(o)throw i;}}return r[e$jscomp$0]?String(r[e$jscomp$0]):t||null};s$jscomp$0.default.XML.prototype.setAttribute\x3dfunction(e,t){this.DOM.setAttribute(e,t)};s$jscomp$0.default.XML.prototype.getContent\x3dfunction(e){return this.DOM.textContent.replace(/\\s\\s+/g,\x22,\x22)||\ne||null};s$jscomp$0.default.XML.prototype.setContent\x3dfunction(e){this.DOM.children.length||(this.DOM.textContent\x3de)};s$jscomp$0.default.XML.prototype.serialize\x3dfunction(){return(new XMLSerializer).serializeToString(this.DOM)};r$jscomp$0.default\x3ds$jscomp$0.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.replace\x22:189,\n\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],294:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){function o$jscomp$0(){if(\x22function\x22\x3d\x3dtypeof Math.hypot)return Math.hypot.apply(null,arguments);for(var e\x3darguments.length,t\x3d[],r\x3d0,n\x3d0;n\x3ce;n++){var o\x3darguments[n];if((o\x3d+o)\x3d\x3d\x3d1/0||o\x3d\x3d\x3d-1/0)return 1/0;r\x3c(o\x3dMath.abs(o))\x26\x26(r\x3do);t[n]\x3do}0\x3d\x3d\x3dr\x26\x26(r\x3d1);var a\x3dn\x3d0;for(o\x3d0;o\x3ce;o++){var l\x3dt[o]/\nr;a\x3dl*l-a;l\x3dn+a;a\x3dl-n-a;n\x3dl}return Math.sqrt(n)*r}e$jscomp$0(\x22core-js/modules/es.array.includes\x22);e$jscomp$0(\x22core-js/modules/es.array.index-of\x22);e$jscomp$0(\x22core-js/modules/es.array.map\x22);e$jscomp$0(\x22core-js/modules/es.array.slice\x22);e$jscomp$0(\x22core-js/modules/es.math.hypot\x22);e$jscomp$0(\x22core-js/modules/es.number.constructor\x22);e$jscomp$0(\x22core-js/modules/es.string.includes\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};s.default.prototype.abs\x3dMath.abs;s.default.prototype.ceil\x3dMath.ceil;s.default.prototype.constrain\x3dfunction(e,t,r){return s.default._validateParameters(\x22constrain\x22,arguments),Math.max(Math.min(e,r),t)};s.default.prototype.dist\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return s.default._validateParameters(\x22dist\x22,t),4\x3d\x3d\x3dt.length?o$jscomp$0(t[2]-t[0],t[3]-t[1]):6\x3d\x3d\x3dt.length?o$jscomp$0(t[3]-t[0],t[4]-t[1],t[5]-t[2]):\nvoid 0};s.default.prototype.exp\x3dMath.exp;s.default.prototype.floor\x3dMath.floor;s.default.prototype.lerp\x3dfunction(e,t,r){return s.default._validateParameters(\x22lerp\x22,arguments),r*(t-e)+e};s.default.prototype.log\x3dMath.log;s.default.prototype.mag\x3dfunction(e,t){return s.default._validateParameters(\x22mag\x22,arguments),o$jscomp$0(e,t)};s.default.prototype.map\x3dfunction(e,t,r,n,o,i){s.default._validateParameters(\x22map\x22,arguments);var a\x3d(e-t)/(r-t)*(o-n)+n;return i?n\x3co?this.constrain(a,n,o):this.constrain(a,o,n):\na};s.default.prototype.max\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return t[0]instanceof Array?Math.max.apply(null,t[0]):Math.max.apply(null,t)};s.default.prototype.min\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return t[0]instanceof Array?Math.min.apply(null,t[0]):Math.min.apply(null,t)};s.default.prototype.norm\x3dfunction(e,t,r){return s.default._validateParameters(\x22norm\x22,arguments),this.map(e,t,r,0,1)};s.default.prototype.pow\x3d\nMath.pow;s.default.prototype.round\x3dfunction(e,t){if(!t)return Math.round(e);t\x3dMath.pow(10,t);return Math.round(e*t)/t};s.default.prototype.sq\x3dfunction(e){return e*e};s.default.prototype.sqrt\x3dMath.sqrt;s.default.prototype.fract\x3dfunction(e){s.default._validateParameters(\x22fract\x22,arguments);var t\x3d0,r\x3dNumber(e);if(isNaN(r)||Math.abs(r)\x3d\x3d\x3d1/0)return r;if(0\x3er\x26\x26(r\x3d-r,t\x3d1),!String(r).includes(\x22.\x22)||String(r).includes(\x22e\x22))return 1\x3er?Math.abs(t-r):0;r\x3dString(r);return r\x3dNumber(\x220\x22+r.slice(r.indexOf(\x22.\x22))),\nMath.abs(t-r)};r$jscomp$0.default\x3ds.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.math.hypot\x22:168,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.string.includes\x22:185}],295:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){function i(e$jscomp$0,t$jscomp$0,r$jscomp$0){return(i\x3dfunction(){if(\x22undefined\x22\x3d\x3dtypeof Reflect||!Reflect.construct||\nReflect.construct.sham)return!1;if(\x22function\x22\x3d\x3dtypeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var n\x3d[null];n.push.apply(n,t);e\x3dnew (Function.bind.apply(e,n));return r\x26\x26a(e,r.prototype),e}).apply(null,arguments)}function a(e$jscomp$0,t$jscomp$0){return(a\x3dObject.setPrototypeOf||function(e,t){return e.__proto__\x3dt,e})(e$jscomp$0,t$jscomp$0)}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);\ne$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.reflect.construct\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$0,o\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};o.default.prototype.createVector\x3dfunction(e,t,r){return this instanceof o.default?i(o.default.Vector,[this._fromRadians.bind(this),this._toRadians.bind(this)].concat(Array.prototype.slice.call(arguments))):\nnew o.default.Vector(e,t,r)};r$jscomp$1.default\x3do.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.reflect.construct\x22:179,\x22core-js/modules/es.regexp.to-string\x22:182}],296:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;e$jscomp$1\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?\nn$jscomp$0:{default:n$jscomp$0};var _,w\x3d4,j\x3d.5;e$jscomp$1.default.prototype.noise\x3dfunction(e){var t\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:0,r\x3d2\x3carguments.length\x26\x26void 0!\x3d\x3darguments[2]?arguments[2]:0;if(null\x3d\x3d_){_\x3dArray(4096);for(var n\x3d0;4096\x3en;n++)_[n]\x3dMath.random()}0\x3ee\x26\x26(e\x3d-e);0\x3et\x26\x26(t\x3d-t);0\x3er\x26\x26(r\x3d-r);n\x3dMath.floor(e);var c\x3dMath.floor(t),d\x3dMath.floor(r),f\x3de-n;t-\x3dc;for(var p\x3dr-d,y\x3d0,m\x3d.5,g\x3d0;g\x3cw;g++){var v\x3dn+(c\x3c\x3c4)+(d\x3c\x3c8);r\x3d.5*(1-Math.cos(f*Math.PI));var i\x3d.5*(1-Math.cos(t*Math.PI));\nvar a\x3d_[v\x264095];a+\x3dr*(_[v+1\x264095]-a);var s\x3d_[v+16\x264095];a+\x3di*(s+r*(_[v+16+1\x264095]-s)-a);s\x3d_[(v+\x3d256)\x264095];s+\x3dr*(_[v+1\x264095]-s);var l\x3d_[v+16\x264095];s+\x3di*(l+r*(_[v+16+1\x264095]-l)-s);y+\x3d(a+.5*(1-Math.cos(p*Math.PI))*(s-a))*m;m*\x3dj;n\x3c\x3c\x3d1;c\x3c\x3c\x3d1;d\x3c\x3c\x3d1;1\x3c\x3d(f*\x3d2)\x26\x26(n++,f--);1\x3c\x3d(t*\x3d2)\x26\x26(c++,t--);1\x3c\x3d(p*\x3d2)\x26\x26(d++,p--)}return y};e$jscomp$1.default.prototype.noiseDetail\x3dfunction(e,t){0\x3ce\x26\x26(w\x3de);0\x3ct\x26\x26(j\x3dt)};e$jscomp$1.default.prototype.noiseSeed\x3dfunction(e$jscomp$0){var t,r,o\x3d{setSeed:function(e){r\x3dt\x3d(null\x3d\x3de?4294967296*\nMath.random():e)\x3e\x3e\x3e0},getSeed:function(){return t},rand:function(){return(r\x3d(1664525*r+1013904223)%4294967296)/4294967296}};o.setSeed(e$jscomp$0);_\x3dArray(4096);for(e$jscomp$0\x3d0;4096\x3ee$jscomp$0;e$jscomp$0++)_[e$jscomp$0]\x3do.rand()};r$jscomp$0.default\x3de$jscomp$1.default},{\x22../core/main\x22:264}],297:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3d\ntypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function u(e,t){return 0!\x3d\x3de\x26\x26(this.x%\x3de),0!\x3d\x3dt\x26\x26(this.y%\x3dt),this}function c(e,t,r){return 0!\x3d\x3de\x26\x26(this.x%\x3de),0!\x3d\x3dt\x26\x26(this.y%\x3dt),0!\x3d\x3dr\x26\x26(this.z%\x3dr),this}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.every\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);\ne$jscomp$1(\x22core-js/modules/es.array.some\x22);e$jscomp$1(\x22core-js/modules/es.math.sign\x22);e$jscomp$1(\x22core-js/modules/es.number.constructor\x22);e$jscomp$1(\x22core-js/modules/es.number.is-finite\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.sub\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,l\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:\n{default:n$jscomp$0},i$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));\nl.default.Vector\x3dfunction(e,t,r,n,o){var i,a;var s\x3d\x22[object Function]\x22\x3d\x3d\x3d{}.toString.call(e)?(this.isPInst\x3d!0,this._fromRadians\x3de,this._toRadians\x3dt,i\x3dr||0,a\x3dn||0,o||0):(i\x3de||0,a\x3dt||0,r||0);this.x\x3di;this.y\x3da;this.z\x3ds};l.default.Vector.prototype.toString\x3dfunction(){return\x22p5.Vector Object : [\x22.concat(this.x,\x22, \x22).concat(this.y,\x22, \x22).concat(this.z,\x22]\x22)};l.default.Vector.prototype.set\x3dfunction(e,t,r){return e instanceof l.default.Vector?(this.x\x3de.x||0,this.y\x3de.y||0,this.z\x3de.z||0):e instanceof Array?(this.x\x3d\ne[0]||0,this.y\x3de[1]||0,this.z\x3de[2]||0):(this.x\x3de||0,this.y\x3dt||0,this.z\x3dr||0),this};l.default.Vector.prototype.copy\x3dfunction(){return this.isPInst?new l.default.Vector(this._fromRadians,this._toRadians,this.x,this.y,this.z):new l.default.Vector(this.x,this.y,this.z)};l.default.Vector.prototype.add\x3dfunction(e,t,r){return e instanceof l.default.Vector?(this.x+\x3de.x||0,this.y+\x3de.y||0,this.z+\x3de.z||0):e instanceof Array?(this.x+\x3de[0]||0,this.y+\x3de[1]||0,this.z+\x3de[2]||0):(this.x+\x3de||0,this.y+\x3dt||0,this.z+\x3d\nr||0),this};l.default.Vector.prototype.rem\x3dfunction(e$jscomp$0,t,r){if(e$jscomp$0 instanceof l.default.Vector){if(Number.isFinite(e$jscomp$0.x)\x26\x26Number.isFinite(e$jscomp$0.y)\x26\x26Number.isFinite(e$jscomp$0.z)){var n\x3dparseFloat(e$jscomp$0.x),o\x3dparseFloat(e$jscomp$0.y),i\x3dparseFloat(e$jscomp$0.z);return c.call(this,n,o,i)}}else if(e$jscomp$0 instanceof Array){if(e$jscomp$0.every(function(e){return Number.isFinite(e)})){if(2\x3d\x3d\x3de$jscomp$0.length)return u.call(this,e$jscomp$0[0],e$jscomp$0[1]);if(3\x3d\x3d\x3de$jscomp$0.length)return c.call(this,\ne$jscomp$0[0],e$jscomp$0[1],e$jscomp$0[2])}}else if(1\x3d\x3d\x3darguments.length){if(Number.isFinite(e$jscomp$0)\x26\x260!\x3d\x3de$jscomp$0)return this.x%\x3de$jscomp$0,this.y%\x3de$jscomp$0,this.z%\x3de$jscomp$0,this}else if(2\x3d\x3d\x3darguments.length){if(n\x3dArray.prototype.slice.call(arguments),n.every(function(e){return Number.isFinite(e)})\x26\x262\x3d\x3d\x3dn.length)return u.call(this,n[0],n[1])}else if(3\x3d\x3d\x3darguments.length\x26\x26(n\x3dArray.prototype.slice.call(arguments),n.every(function(e){return Number.isFinite(e)})\x26\x263\x3d\x3d\x3dn.length))return c.call(this,\nn[0],n[1],n[2])};l.default.Vector.prototype.sub\x3dfunction(e,t,r){return e instanceof l.default.Vector?(this.x-\x3de.x||0,this.y-\x3de.y||0,this.z-\x3de.z||0):e instanceof Array?(this.x-\x3de[0]||0,this.y-\x3de[1]||0,this.z-\x3de[2]||0):(this.x-\x3de||0,this.y-\x3dt||0,this.z-\x3dr||0),this};l.default.Vector.prototype.mult\x3dfunction(e$jscomp$0,t,r){if(e$jscomp$0 instanceof l.default.Vector)return Number.isFinite(e$jscomp$0.x)\x26\x26Number.isFinite(e$jscomp$0.y)\x26\x26Number.isFinite(e$jscomp$0.z)\x26\x26\x22number\x22\x3d\x3dtypeof e$jscomp$0.x\x26\x26\x22number\x22\x3d\x3d\ntypeof e$jscomp$0.y\x26\x26\x22number\x22\x3d\x3dtypeof e$jscomp$0.z?(this.x*\x3de$jscomp$0.x,this.y*\x3de$jscomp$0.y,this.z*\x3de$jscomp$0.z):console.warn(\x22p5.Vector.prototype.mult:\x22,\x22x contains components that are either undefined or not finite numbers\x22),this;if(e$jscomp$0 instanceof Array)return e$jscomp$0.every(function(e){return Number.isFinite(e)})\x26\x26e$jscomp$0.every(function(e){return\x22number\x22\x3d\x3dtypeof e})?1\x3d\x3d\x3de$jscomp$0.length?(this.x*\x3de$jscomp$0[0],this.y*\x3de$jscomp$0[0],this.z*\x3de$jscomp$0[0]):2\x3d\x3d\x3de$jscomp$0.length?(this.x*\x3d\ne$jscomp$0[0],this.y*\x3de$jscomp$0[1]):3\x3d\x3d\x3de$jscomp$0.length\x26\x26(this.x*\x3de$jscomp$0[0],this.y*\x3de$jscomp$0[1],this.z*\x3de$jscomp$0[2]):console.warn(\x22p5.Vector.prototype.mult:\x22,\x22x contains elements that are either undefined or not finite numbers\x22),this;var n\x3dArray.prototype.slice.call(arguments);return n.every(function(e){return Number.isFinite(e)})\x26\x26n.every(function(e){return\x22number\x22\x3d\x3dtypeof e})?(1\x3d\x3d\x3darguments.length\x26\x26(this.x*\x3de$jscomp$0,this.y*\x3de$jscomp$0,this.z*\x3de$jscomp$0),2\x3d\x3d\x3darguments.length\x26\x26(this.x*\x3d\ne$jscomp$0,this.y*\x3dt),3\x3d\x3d\x3darguments.length\x26\x26(this.x*\x3de$jscomp$0,this.y*\x3dt,this.z*\x3dr)):console.warn(\x22p5.Vector.prototype.mult:\x22,\x22x, y, or z arguments are either undefined or not a finite number\x22),this};l.default.Vector.prototype.div\x3dfunction(e$jscomp$0,t,r){if(e$jscomp$0 instanceof l.default.Vector){if(Number.isFinite(e$jscomp$0.x)\x26\x26Number.isFinite(e$jscomp$0.y)\x26\x26Number.isFinite(e$jscomp$0.z)\x26\x26\x22number\x22\x3d\x3dtypeof e$jscomp$0.x\x26\x26\x22number\x22\x3d\x3dtypeof e$jscomp$0.y\x26\x26\x22number\x22\x3d\x3dtypeof e$jscomp$0.z){if(0\x3d\x3d\x3de$jscomp$0.x||\n0\x3d\x3d\x3de$jscomp$0.y||0\x3d\x3d\x3de$jscomp$0.z)return console.warn(\x22p5.Vector.prototype.div:\x22,\x22divide by 0\x22),this;this.x/\x3de$jscomp$0.x;this.y/\x3de$jscomp$0.y;this.z/\x3de$jscomp$0.z}else console.warn(\x22p5.Vector.prototype.div:\x22,\x22x contains components that are either undefined or not finite numbers\x22);return this}if(e$jscomp$0 instanceof Array){if(e$jscomp$0.every(function(e){return Number.isFinite(e)})\x26\x26e$jscomp$0.every(function(e){return\x22number\x22\x3d\x3dtypeof e})){if(e$jscomp$0.some(function(e){return 0\x3d\x3d\x3de}))return console.warn(\x22p5.Vector.prototype.div:\x22,\n\x22divide by 0\x22),this;1\x3d\x3d\x3de$jscomp$0.length?(this.x/\x3de$jscomp$0[0],this.y/\x3de$jscomp$0[0],this.z/\x3de$jscomp$0[0]):2\x3d\x3d\x3de$jscomp$0.length?(this.x/\x3de$jscomp$0[0],this.y/\x3de$jscomp$0[1]):3\x3d\x3d\x3de$jscomp$0.length\x26\x26(this.x/\x3de$jscomp$0[0],this.y/\x3de$jscomp$0[1],this.z/\x3de$jscomp$0[2])}else console.warn(\x22p5.Vector.prototype.div:\x22,\x22x contains components that are either undefined or not finite numbers\x22);return this}var n\x3dArray.prototype.slice.call(arguments);if(n.every(function(e){return Number.isFinite(e)})\x26\x26n.every(function(e){return\x22number\x22\x3d\x3d\ntypeof e})){if(n.some(function(e){return 0\x3d\x3d\x3de}))return console.warn(\x22p5.Vector.prototype.div:\x22,\x22divide by 0\x22),this;1\x3d\x3d\x3darguments.length\x26\x26(this.x/\x3de$jscomp$0,this.y/\x3de$jscomp$0,this.z/\x3de$jscomp$0);2\x3d\x3d\x3darguments.length\x26\x26(this.x/\x3de$jscomp$0,this.y/\x3dt);3\x3d\x3d\x3darguments.length\x26\x26(this.x/\x3de$jscomp$0,this.y/\x3dt,this.z/\x3dr)}else console.warn(\x22p5.Vector.prototype.div:\x22,\x22x, y, or z arguments are either undefined or not a finite number\x22);return this};l.default.Vector.prototype.mag\x3dfunction(){return Math.sqrt(this.magSq())};\nl.default.Vector.prototype.magSq\x3dfunction(){var e\x3dthis.x,t\x3dthis.y,r\x3dthis.z;return e*e+t*t+r*r};l.default.Vector.prototype.dot\x3dfunction(e,t,r){return e instanceof l.default.Vector?this.dot(e.x,e.y,e.z):this.x*(e||0)+this.y*(t||0)+this.z*(r||0)};l.default.Vector.prototype.cross\x3dfunction(e){var t\x3dthis.y*e.z-this.z*e.y,r\x3dthis.z*e.x-this.x*e.z;e\x3dthis.x*e.y-this.y*e.x;return this.isPInst?new l.default.Vector(this._fromRadians,this._toRadians,t,r,e):new l.default.Vector(t,r,e)};l.default.Vector.prototype.dist\x3d\nfunction(e){return e.copy().sub(this).mag()};l.default.Vector.prototype.normalize\x3dfunction(){var e\x3dthis.mag();return 0!\x3d\x3de\x26\x26this.mult(1/e),this};l.default.Vector.prototype.limit\x3dfunction(e){var t\x3dthis.magSq();return e*e\x3ct\x26\x26this.div(Math.sqrt(t)).mult(e),this};l.default.Vector.prototype.setMag\x3dfunction(e){return this.normalize().mult(e)};l.default.Vector.prototype.heading\x3dfunction(){var e\x3dMath.atan2(this.y,this.x);return this.isPInst?this._fromRadians(e):e};l.default.Vector.prototype.setHeading\x3dfunction(e){var t\x3d\nthis.mag();return this.x\x3dt*Math.cos(e),this.y\x3dt*Math.sin(e),this};l.default.Vector.prototype.rotate\x3dfunction(e){e\x3dthis.heading()+e;this.isPInst\x26\x26(e\x3dthis._toRadians(e));var r\x3dthis.mag();return this.x\x3dMath.cos(e)*r,this.y\x3dMath.sin(e)*r,this};l.default.Vector.prototype.angleBetween\x3dfunction(e){var t,r\x3dthis.dot(e)/(this.mag()*e.mag());return t\x3dMath.acos(Math.min(1,Math.max(-1,r))),t*\x3dMath.sign(this.cross(e).z||1),this.isPInst\x26\x26(t\x3dthis._fromRadians(t)),t};l.default.Vector.prototype.lerp\x3dfunction(e,t,r,\nn){return e instanceof l.default.Vector?this.lerp(e.x,e.y,e.z,t):(this.x+\x3d(e-this.x)*n||0,this.y+\x3d(t-this.y)*n||0,this.z+\x3d(r-this.z)*n||0,this)};l.default.Vector.prototype.reflect\x3dfunction(e){return e.normalize(),this.sub(e.mult(2*this.dot(e)))};l.default.Vector.prototype.array\x3dfunction(){return[this.x||0,this.y||0,this.z||0]};l.default.Vector.prototype.equals\x3dfunction(e,t,r){var n,o,i;return i\x3de instanceof l.default.Vector?(n\x3de.x||0,o\x3de.y||0,e.z||0):e instanceof Array?(n\x3de[0]||0,o\x3de[1]||0,e[2]||\n0):(n\x3de||0,o\x3dt||0,r||0),this.x\x3d\x3d\x3dn\x26\x26this.y\x3d\x3d\x3do\x26\x26this.z\x3d\x3d\x3di};l.default.Vector.fromAngle\x3dfunction(e,t){return void 0\x3d\x3d\x3dt\x26\x26(t\x3d1),new l.default.Vector(t*Math.cos(e),t*Math.sin(e),0)};l.default.Vector.fromAngles\x3dfunction(e,t,r){void 0\x3d\x3d\x3dr\x26\x26(r\x3d1);var a\x3dMath.sin(e);return new l.default.Vector(r*a*Math.sin(t),-r*Math.cos(e),r*a*Math.cos(t))};l.default.Vector.random2D\x3dfunction(){return this.fromAngle(Math.random()*i$jscomp$0.TWO_PI)};l.default.Vector.random3D\x3dfunction(){var e\x3dMath.random()*i$jscomp$0.TWO_PI,\nt\x3d2*Math.random()-1,r\x3dMath.sqrt(1-t*t);return new l.default.Vector(r*Math.cos(e),r*Math.sin(e),t)};l.default.Vector.add\x3dfunction(e,t,r){return r?r.set(e):(r\x3de.copy(),3\x3d\x3d\x3darguments.length\x26\x26l.default._friendlyError(\x22The target parameter is undefined, it should be of type p5.Vector\x22,\x22p5.Vector.add\x22)),r.add(t),r};l.default.Vector.rem\x3dfunction(e,t){if(e instanceof l.default.Vector\x26\x26t instanceof l.default.Vector)return e\x3de.copy(),e.rem(t),e};l.default.Vector.sub\x3dfunction(e,t,r){return r?r.set(e):(r\x3de.copy(),\n3\x3d\x3d\x3darguments.length\x26\x26l.default._friendlyError(\x22The target parameter is undefined, it should be of type p5.Vector\x22,\x22p5.Vector.sub\x22)),r.sub(t),r};l.default.Vector.mult\x3dfunction(e,t,r){return r?r.set(e):(r\x3de.copy(),3\x3d\x3d\x3darguments.length\x26\x26l.default._friendlyError(\x22The target parameter is undefined, it should be of type p5.Vector\x22,\x22p5.Vector.mult\x22)),r.mult(t),r};l.default.Vector.rotate\x3dfunction(e,t,r){return 2\x3d\x3d\x3darguments.length?r\x3de.copy():(r instanceof l.default.Vector||l.default._friendlyError(\x22The target parameter should be of type p5.Vector\x22,\n\x22p5.Vector.rotate\x22),r.set(e)),r.rotate(t),r};l.default.Vector.div\x3dfunction(e,t,r){return r?r.set(e):(r\x3de.copy(),3\x3d\x3d\x3darguments.length\x26\x26l.default._friendlyError(\x22The target parameter is undefined, it should be of type p5.Vector\x22,\x22p5.Vector.div\x22)),r.div(t),r};l.default.Vector.dot\x3dfunction(e,t){return e.dot(t)};l.default.Vector.cross\x3dfunction(e,t){return e.cross(t)};l.default.Vector.dist\x3dfunction(e,t){return e.dist(t)};l.default.Vector.lerp\x3dfunction(e,t,r,n){return n?n.set(e):(n\x3de.copy(),4\x3d\x3d\x3darguments.length\x26\x26\nl.default._friendlyError(\x22The target parameter is undefined, it should be of type p5.Vector\x22,\x22p5.Vector.lerp\x22)),n.lerp(t,r),n};l.default.Vector.mag\x3dfunction(e){var t\x3de.x,r\x3de.y;e\x3de.z;return Math.sqrt(t*t+r*r+e*e)};l.default.Vector.normalize\x3dfunction(e,t){return 2\x3earguments.length?t\x3de.copy():(t instanceof l.default.Vector||l.default._friendlyError(\x22The target parameter should be of type p5.Vector\x22,\x22p5.Vector.normalize\x22),t.set(e)),t.normalize()};r$jscomp$0.default\x3dl.default.Vector},{\x22../core/constants\x22:253,\n\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.every\x22:150,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.some\x22:163,\x22core-js/modules/es.math.sign\x22:169,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.number.is-finite\x22:171,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.sub\x22:192}],298:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,\n{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},s\x3d0;o$jscomp$0.default.prototype._lcg\x3dfunction(e){return this[e]\x3d(1664525*this[e]+1013904223)%4294967296,this[e]/4294967296};o$jscomp$0.default.prototype._lcgSetSeed\x3dfunction(e,t){this[e]\x3d(null\x3d\x3dt?4294967296*Math.random():t)\x3e\x3e\x3e0};o$jscomp$0.default.prototype.randomSeed\x3dfunction(e){this._lcgSetSeed(\x22_lcg_random_state\x22,e);this._gaussian_previous\x3d\n!1};o$jscomp$0.default.prototype.random\x3dfunction(e,t){var r;if(o$jscomp$0.default._validateParameters(\x22random\x22,arguments),r\x3dnull!\x3dthis._lcg_random_state?this._lcg(\x22_lcg_random_state\x22):Math.random(),void 0\x3d\x3d\x3de)return r;if(void 0\x3d\x3d\x3dt)return e instanceof Array?e[Math.floor(r*e.length)]:r*e;if(t\x3ce){var n\x3de;e\x3dt;t\x3dn}return r*(t-e)+e};o$jscomp$0.default.prototype.randomGaussian\x3dfunction(e){var n,o,i\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:1;if(this._gaussian_previous){var t\x3ds;this._gaussian_previous\x3d\n!1}else{for(;1\x3c\x3d(o\x3d(t\x3dthis.random(2)-1)*t+(n\x3dthis.random(2)-1)*n););t*\x3do\x3dMath.sqrt(-2*Math.log(o)/o);s\x3dn*o;this._gaussian_previous\x3d!0}return t*i+(e||0)};r$jscomp$0.default\x3do$jscomp$0.default},{\x22../core/main\x22:264}],299:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}\nfunction s(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s\x3dfunction(){return e},e}Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},i$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26\nObject.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));o$jscomp$0.default.prototype._angleMode\x3di$jscomp$0.RADIANS;o$jscomp$0.default.prototype.acos\x3dfunction(e){return this._fromRadians(Math.acos(e))};o$jscomp$0.default.prototype.asin\x3dfunction(e){return this._fromRadians(Math.asin(e))};o$jscomp$0.default.prototype.atan\x3d\nfunction(e){return this._fromRadians(Math.atan(e))};o$jscomp$0.default.prototype.atan2\x3dfunction(e,t){return this._fromRadians(Math.atan2(e,t))};o$jscomp$0.default.prototype.cos\x3dfunction(e){return Math.cos(this._toRadians(e))};o$jscomp$0.default.prototype.sin\x3dfunction(e){return Math.sin(this._toRadians(e))};o$jscomp$0.default.prototype.tan\x3dfunction(e){return Math.tan(this._toRadians(e))};o$jscomp$0.default.prototype.degrees\x3dfunction(e){return e*i$jscomp$0.RAD_TO_DEG};o$jscomp$0.default.prototype.radians\x3d\nfunction(e){return e*i$jscomp$0.DEG_TO_RAD};o$jscomp$0.default.prototype.angleMode\x3dfunction(e){if(o$jscomp$0.default._validateParameters(\x22angleMode\x22,arguments),void 0\x3d\x3d\x3de)return this._angleMode;e!\x3d\x3di$jscomp$0.DEGREES\x26\x26e!\x3d\x3di$jscomp$0.RADIANS||(this._angleMode\x3de)};o$jscomp$0.default.prototype._toRadians\x3dfunction(e){return this._angleMode\x3d\x3d\x3di$jscomp$0.DEGREES?e*i$jscomp$0.DEG_TO_RAD:e};o$jscomp$0.default.prototype._toDegrees\x3dfunction(e){return this._angleMode\x3d\x3d\x3di$jscomp$0.RADIANS?e*i$jscomp$0.RAD_TO_DEG:\ne};o$jscomp$0.default.prototype._fromRadians\x3dfunction(e){return this._angleMode\x3d\x3d\x3di$jscomp$0.DEGREES?e*i$jscomp$0.RAD_TO_DEG:e};r$jscomp$0.default\x3do$jscomp$0.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264}],300:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,o\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};o.default.prototype.textAlign\x3dfunction(e,t){var r;\nreturn o.default._validateParameters(\x22textAlign\x22,arguments),(r\x3dthis._renderer).textAlign.apply(r,arguments)};o.default.prototype.textLeading\x3dfunction(e){var t;return o.default._validateParameters(\x22textLeading\x22,arguments),(t\x3dthis._renderer).textLeading.apply(t,arguments)};o.default.prototype.textSize\x3dfunction(e){var t;return o.default._validateParameters(\x22textSize\x22,arguments),(t\x3dthis._renderer).textSize.apply(t,arguments)};o.default.prototype.textStyle\x3dfunction(e){var t;return o.default._validateParameters(\x22textStyle\x22,\narguments),(t\x3dthis._renderer).textStyle.apply(t,arguments)};o.default.prototype.textWidth\x3dfunction(){for(var e,t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];return r[0]+\x3d\x22\x22,o.default._validateParameters(\x22textWidth\x22,r),0\x3d\x3d\x3dr[0].length?0:(e\x3dthis._renderer).textWidth.apply(e,r)};o.default.prototype.textAscent\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return o.default._validateParameters(\x22textAscent\x22,t),this._renderer.textAscent()};o.default.prototype.textDescent\x3d\nfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return o.default._validateParameters(\x22textDescent\x22,t),this._renderer.textDescent()};o.default.prototype._updateTextMetrics\x3dfunction(){return this._renderer._updateTextMetrics()};o.default.prototype.textWrap\x3dfunction(e){if(\x22WORD\x22!\x3d\x3de\x26\x26\x22CHAR\x22!\x3d\x3de)throw\x22Error: textWrap accepts only WORD or CHAR\x22;return this._renderer.textWrap(e)};r$jscomp$0.default\x3do.default},{\x22../core/main\x22:264}],301:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\n\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function l$jscomp$0(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);\nvar r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}return r.default\x3de,t\x26\x26t.set(e,r),r}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.includes\x22);e$jscomp$1(\x22core-js/modules/es.array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);\ne$jscomp$1(\x22core-js/modules/es.string.split\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,f\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},o$jscomp$0\x3dl$jscomp$0(e$jscomp$1(\x22../core/constants\x22)),i$jscomp$0\x3dl$jscomp$0(e$jscomp$1(\x22opentype.js\x22));e$jscomp$1(\x22../core/friendly_errors/validate_params\x22);e$jscomp$1(\x22../core/friendly_errors/file_errors\x22);e$jscomp$1(\x22../core/friendly_errors/fes_core\x22);f.default.prototype.loadFont\x3d\nfunction(s,l,u){f.default._validateParameters(\x22loadFont\x22,arguments);var c\x3dnew f.default.Font(this),d\x3dthis;return i$jscomp$0.load(s,function(e,t){if(e)return f.default._friendlyFileLoadError(4,s),void 0!\x3d\x3du?u(e):void console.error(e,s);c.font\x3dt;void 0!\x3d\x3dl\x26\x26l(c);d._decrementPreload();var r,n;e\x3ds.split(\x22\\\\\x22).pop().split(\x22/\x22).pop();t\x3de.lastIndexOf(\x22.\x22);var a\x3d1\x3et?null:e.slice(t+1);[\x22ttf\x22,\x22otf\x22,\x22woff\x22,\x22woff2\x22].includes(a)\x26\x26(r\x3de.slice(0,-1!\x3d\x3dt?t:0),(n\x3ddocument.createElement(\x22style\x22)).appendChild(document.createTextNode(\x22\\n@font-face {\\nfont-family: \x22.concat(r,\n\x22;\\nsrc: url(\x22).concat(s,\x22);\\n}\\n\x22))),document.head.appendChild(n))}),c};f.default.prototype.text\x3dfunction(e,t,r,n,o){var i;return f.default._validateParameters(\x22text\x22,arguments),this._renderer._doFill||this._renderer._doStroke?(i\x3dthis._renderer).text.apply(i,arguments):this};f.default.prototype.textFont\x3dfunction(e,t){if(f.default._validateParameters(\x22textFont\x22,arguments),arguments.length){if(!e)throw Error(\x22null font passed to textFont\x22);return this._renderer._setProperty(\x22_textFont\x22,e),t\x26\x26(this._renderer._setProperty(\x22_textSize\x22,\nt),this._renderer._leadingSet||this._renderer._setProperty(\x22_textLeading\x22,t*o$jscomp$0._DEFAULT_LEADMULT)),this._renderer._applyTextProperties()}return this._renderer._textFont};r$jscomp$0.default\x3df.default},{\x22../core/constants\x22:253,\x22../core/friendly_errors/fes_core\x22:255,\x22../core/friendly_errors/file_errors\x22:256,\x22../core/friendly_errors/validate_params\x22:259,\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.last-index-of\x22:160,\n\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.split\x22:191,\x22opentype.js\x22:239}],302:[function(e$jscomp$4,t$jscomp$4,r$jscomp$4){function a$jscomp$2(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return a$jscomp$2\x3dfunction(){return e},e}function h$jscomp$0(e$jscomp$0){return(h$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3d\nSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function p$jscomp$1(e$jscomp$0,t$jscomp$0){t$jscomp$0\x3dfunction(e,t){if(\x22object\x22!\x3d\x3dh$jscomp$0(e))e\x3dt;else for(var r in t)void 0\x3d\x3d\x3de[r]\x26\x26(e[r]\x3dt[r]);return e}(t$jscomp$0,{sampleFactor:.1,simplifyThreshold:0});for(var n$jscomp$0\x3dl$jscomp$1(e$jscomp$0,0,1),o\x3dn$jscomp$0/(n$jscomp$0*t$jscomp$0.sampleFactor),i\x3d[],a\x3d0;a\x3cn$jscomp$0;a+\x3do)i.push(l$jscomp$1(e$jscomp$0,a));return t$jscomp$0.simplifyThreshold\x26\x26function(e){for(var t\x3d1\x3carguments.length\x26\x26\nvoid 0!\x3d\x3darguments[1]?arguments[1]:0,r\x3d0,n\x3de.length-1;3\x3ce.length\x26\x260\x3c\x3dn;--n)f$jscomp$1(s$jscomp$2(e,n-1),s$jscomp$2(e,n),s$jscomp$2(e,n+1),t)\x26\x26(e.splice(n%e.length,1),r++)}(i,t$jscomp$0.simplifyThreshold),i}function s$jscomp$2(e,t){var r\x3de.length;return e[0\x3et?t%r+r:t%r]}function f$jscomp$1(e,t,r,n){if(!n)return 0\x3d\x3d(o\x3de,a\x3dr,((i\x3dt)[0]-o[0])*(a[1]-o[1])-(a[0]-o[0])*(i[1]-o[1]));var o,i,a;void 0\x3d\x3d\x3df$jscomp$1.tmpPoint1\x26\x26(f$jscomp$1.tmpPoint1\x3d[],f$jscomp$1.tmpPoint2\x3d[]);o\x3df$jscomp$1.tmpPoint1;i\x3df$jscomp$1.tmpPoint2;\no.x\x3dt.x-e.x;o.y\x3dt.y-e.y;i.x\x3dr.x-t.x;i.y\x3dr.y-t.y;return Math.acos((o.x*i.x+o.y*i.y)/(Math.sqrt(o.x*o.x+o.y*o.y)*Math.sqrt(i.x*i.x+i.y*i.y)))\x3cn}function d$jscomp$1(e,t,r,n,o,i,a,s,l){var u\x3d1-l,c\x3dMath.pow(u,3),d\x3dMath.pow(u,2),f\x3dl*l,h\x3df*l,m\x3de+2*l*(r-e)+f*(o-2*r+e),g\x3dt+2*l*(n-t)+f*(i-2*n+t),v\x3dr+2*l*(o-r)+f*(a-2*o+r);f\x3dn+2*l*(i-n)+f*(s-2*i+n);var S\x3d90-180*Math.atan2(m-v,g-f)/Math.PI;return(v\x3cm||g\x3cf)\x26\x26(S+\x3d180),{x:c*e+3*d*l*r+3*u*l*l*o+h*a,y:c*t+3*d*l*n+3*u*l*l*i+h*s,m:{x:m,y:g},n:{x:v,y:f},start:{x:u*e+\nl*r,y:u*t+l*n},end:{x:u*o+l*a,y:u*i+l*s},alpha:S}}function m$jscomp$1(e,t,r,n,o,i,a,s,l){if(null\x3d\x3dl)e\x3dg$jscomp$1(e,t,r,n,o,i,a,s);else{if(0\x3el||g$jscomp$1(e,t,r,n,o,i,a,s)\x3cl)l\x3dvoid 0;else{var u,c\x3d.5,d\x3d1-c;for(u\x3dg$jscomp$1(e,t,r,n,o,i,a,s,d);.01\x3cMath.abs(u-l);)u\x3dg$jscomp$1(e,t,r,n,o,i,a,s,d+\x3d(u\x3cl?1:-1)*(c/\x3d2));l\x3dd}e\x3dd$jscomp$1(e,t,r,n,o,i,a,s,l)}return e}function l$jscomp$1(e$jscomp$3,t$jscomp$3,r$jscomp$3){var i$jscomp$1,a$jscomp$1,s$jscomp$1,l$jscomp$0\x3d0,u$jscomp$0\x3d0,c$jscomp$1\x3d(e$jscomp$3\x3dfunction(e$jscomp$2,\nt$jscomp$2){function r$jscomp$2(e$jscomp$1,t$jscomp$1,r$jscomp$1){var n$jscomp$0;if(!e$jscomp$1)return[\x22C\x22,t$jscomp$1.x,t$jscomp$1.y,t$jscomp$1.x,t$jscomp$1.y,t$jscomp$1.x,t$jscomp$1.y];switch(e$jscomp$1[0]in{T:1,Q:1}||(t$jscomp$1.qx\x3dt$jscomp$1.qy\x3dnull),e$jscomp$1[0]){case \x22M\x22:t$jscomp$1.X\x3de$jscomp$1[1];t$jscomp$1.Y\x3de$jscomp$1[2];break;case \x22A\x22:e$jscomp$1\x3d[\x22C\x22].concat(function e$jscomp$0(t$jscomp$0,r$jscomp$0,n,o,i,a,s,l,u,c){var d\x3dMath.PI,f\x3d120*d/180,g\x3dd/180*(+i||0),v\x3d[],_\x3dfunction(e,t,r){return{x:e*\nMath.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}};if(c){a\x3dc[0];var p\x3dc[1];var y\x3dc[2];var m\x3dc[3]}else{p\x3d_(t$jscomp$0,r$jscomp$0,-g);t$jscomp$0\x3dp.x;r$jscomp$0\x3dp.y;p\x3d_(l,u,-g);l\x3dp.x;u\x3dp.y;p\x3d(t$jscomp$0-l)/2;y\x3d(r$jscomp$0-u)/2;m\x3dp*p/(n*n)+y*y/(o*o);1\x3cm\x26\x26(m\x3dMath.sqrt(m),n*\x3dm,o*\x3dm);m\x3dn*n;var M\x3do*o;a\x3d(a\x3d\x3d\x3ds?-1:1)*Math.sqrt(Math.abs((m*M-m*y*y-M*p*p)/(m*y*y+M*p*p)));y\x3da*n*y/o+(t$jscomp$0+l)/2;m\x3da*-o*p/n+(r$jscomp$0+u)/2;a\x3dMath.asin(((r$jscomp$0-m)/o).toFixed(9));p\x3dMath.asin(((u-m)/o).toFixed(9));\n0\x3e(a\x3dt$jscomp$0\x3cy?d-a:a)\x26\x26(a\x3d2*d+a);0\x3e(p\x3dl\x3cy?d-p:p)\x26\x26(p\x3d2*d+p);s\x26\x26p\x3ca\x26\x26(a-\x3d2*d);!s\x26\x26a\x3cp\x26\x26(p-\x3d2*d)}Math.abs(p-a)\x3ef\x26\x26(v\x3dp,d\x3dl,M\x3du,p\x3da+f*(s\x26\x26a\x3cp?1:-1),l\x3dy+n*Math.cos(p),u\x3dm+o*Math.sin(p),v\x3de$jscomp$0(l,u,n,o,i,0,s,d,M,[p,v,y,m]));i\x3dMath.tan((p-a)/4);n\x3d4/3*n*i;i*\x3d4/3*o;o\x3d[t$jscomp$0,r$jscomp$0];t$jscomp$0\x3d[t$jscomp$0+n*Math.sin(a),r$jscomp$0-i*Math.cos(a)];r$jscomp$0\x3d[l+n*Math.sin(p),u-i*Math.cos(p)];l\x3d[l,u];t$jscomp$0[0]\x3d2*o[0]-t$jscomp$0[0];t$jscomp$0[1]\x3d2*o[1]-t$jscomp$0[1];if(c)return[t$jscomp$0,\nr$jscomp$0,l].concat(v);v\x3d[t$jscomp$0,r$jscomp$0,l].concat(v).join().split(\x22,\x22);c\x3d[];l\x3d0;for(u\x3dv.length;l\x3cu;l++)c[l]\x3dl%2?_(v[l-1],v[l],g).y:_(v[l],v[l+1],g).x;return c}.apply(0,[t$jscomp$1.x,t$jscomp$1.y].concat(e$jscomp$1.slice(1))));break;case \x22S\x22:r$jscomp$1\x3d\x22C\x22\x3d\x3d\x3dr$jscomp$1||\x22S\x22\x3d\x3d\x3dr$jscomp$1?(n$jscomp$0\x3d2*t$jscomp$1.x-t$jscomp$1.bx,2*t$jscomp$1.y-t$jscomp$1.by):(n$jscomp$0\x3dt$jscomp$1.x,t$jscomp$1.y);e$jscomp$1\x3d[\x22C\x22,n$jscomp$0,r$jscomp$1].concat(e$jscomp$1.slice(1));break;case \x22T\x22:\x22Q\x22\x3d\x3d\x3dr$jscomp$1||\n\x22T\x22\x3d\x3d\x3dr$jscomp$1?(t$jscomp$1.qx\x3d2*t$jscomp$1.x-t$jscomp$1.qx,t$jscomp$1.qy\x3d2*t$jscomp$1.y-t$jscomp$1.qy):(t$jscomp$1.qx\x3dt$jscomp$1.x,t$jscomp$1.qy\x3dt$jscomp$1.y);e$jscomp$1\x3d[\x22C\x22].concat(j(t$jscomp$1.x,t$jscomp$1.y,t$jscomp$1.qx,t$jscomp$1.qy,e$jscomp$1[1],e$jscomp$1[2]));break;case \x22Q\x22:t$jscomp$1.qx\x3de$jscomp$1[1];t$jscomp$1.qy\x3de$jscomp$1[2];e$jscomp$1\x3d[\x22C\x22].concat(j(t$jscomp$1.x,t$jscomp$1.y,e$jscomp$1[1],e$jscomp$1[2],e$jscomp$1[3],e$jscomp$1[4]));break;case \x22L\x22:e$jscomp$1\x3d[\x22C\x22].concat(w(t$jscomp$1.x,\nt$jscomp$1.y,e$jscomp$1[1],e$jscomp$1[2]));break;case \x22H\x22:e$jscomp$1\x3d[\x22C\x22].concat(w(t$jscomp$1.x,t$jscomp$1.y,e$jscomp$1[1],t$jscomp$1.y));break;case \x22V\x22:e$jscomp$1\x3d[\x22C\x22].concat(w(t$jscomp$1.x,t$jscomp$1.y,t$jscomp$1.x,e$jscomp$1[1]));break;case \x22Z\x22:e$jscomp$1\x3d[\x22C\x22].concat(w(t$jscomp$1.x,t$jscomp$1.y,t$jscomp$1.X,t$jscomp$1.Y))}return e$jscomp$1}function n$jscomp$1(e,t){if(7\x3ce[t].length){e[t].shift();for(var r\x3de[t];r.length;)c$jscomp$0[t]\x3d\x22A\x22,s$jscomp$0\x26\x26(d$jscomp$0[t]\x3d\x22A\x22),e.splice(t++,0,[\x22C\x22].concat(r.splice(0,\n6)));e.splice(t,1);i$jscomp$0\x3dMath.max(a$jscomp$0.length,s$jscomp$0\x26\x26s$jscomp$0.length||0)}}function o$jscomp$0(e,t,r,n,o){e\x26\x26t\x26\x26\x22M\x22\x3d\x3d\x3de[o][0]\x26\x26\x22M\x22!\x3d\x3dt[o][0]\x26\x26(t.splice(o,0,[\x22M\x22,n.x,n.y]),r.bx\x3d0,r.by\x3d0,r.x\x3de[o][1],r.y\x3de[o][2],i$jscomp$0\x3dMath.max(a$jscomp$0.length,s$jscomp$0\x26\x26s$jscomp$0.length||0))}var a$jscomp$0\x3db(e$jscomp$2),s$jscomp$0\x3dt$jscomp$2\x26\x26b(t$jscomp$2);e$jscomp$2\x3d{x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null};t$jscomp$2\x3d{x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null};var c$jscomp$0\x3d[],d$jscomp$0\x3d\n[],f$jscomp$0\x3d\x22\x22,h\x3d\x22\x22;var i$jscomp$0\x3dMath.max(a$jscomp$0.length,s$jscomp$0\x26\x26s$jscomp$0.length||0);for(var p$jscomp$0\x3d0;p$jscomp$0\x3ci$jscomp$0;p$jscomp$0++){a$jscomp$0[p$jscomp$0]\x26\x26(f$jscomp$0\x3da$jscomp$0[p$jscomp$0][0]);\x22C\x22!\x3d\x3df$jscomp$0\x26\x26(c$jscomp$0[p$jscomp$0]\x3df$jscomp$0,p$jscomp$0\x26\x26(h\x3dc$jscomp$0[p$jscomp$0-1]));a$jscomp$0[p$jscomp$0]\x3dr$jscomp$2(a$jscomp$0[p$jscomp$0],e$jscomp$2,h);\x22A\x22!\x3d\x3dc$jscomp$0[p$jscomp$0]\x26\x26\x22C\x22\x3d\x3d\x3df$jscomp$0\x26\x26(c$jscomp$0[p$jscomp$0]\x3d\x22C\x22);n$jscomp$1(a$jscomp$0,p$jscomp$0);s$jscomp$0\x26\x26\n(s$jscomp$0[p$jscomp$0]\x26\x26(f$jscomp$0\x3ds$jscomp$0[p$jscomp$0][0]),\x22C\x22!\x3d\x3df$jscomp$0\x26\x26(d$jscomp$0[p$jscomp$0]\x3df$jscomp$0,p$jscomp$0\x26\x26(h\x3dd$jscomp$0[p$jscomp$0-1])),s$jscomp$0[p$jscomp$0]\x3dr$jscomp$2(s$jscomp$0[p$jscomp$0],t$jscomp$2,h),\x22A\x22!\x3d\x3dd$jscomp$0[p$jscomp$0]\x26\x26\x22C\x22\x3d\x3d\x3df$jscomp$0\x26\x26(d$jscomp$0[p$jscomp$0]\x3d\x22C\x22),n$jscomp$1(s$jscomp$0,p$jscomp$0));o$jscomp$0(a$jscomp$0,s$jscomp$0,e$jscomp$2,t$jscomp$2,p$jscomp$0);o$jscomp$0(s$jscomp$0,a$jscomp$0,t$jscomp$2,e$jscomp$2,p$jscomp$0);var y$jscomp$0\x3da$jscomp$0[p$jscomp$0],\nm$jscomp$0\x3ds$jscomp$0\x26\x26s$jscomp$0[p$jscomp$0],g$jscomp$0\x3dy$jscomp$0.length,v$jscomp$0\x3ds$jscomp$0\x26\x26m$jscomp$0.length;e$jscomp$2.x\x3dy$jscomp$0[g$jscomp$0-2];e$jscomp$2.y\x3dy$jscomp$0[g$jscomp$0-1];e$jscomp$2.bx\x3dparseFloat(y$jscomp$0[g$jscomp$0-4])||e$jscomp$2.x;e$jscomp$2.by\x3dparseFloat(y$jscomp$0[g$jscomp$0-3])||e$jscomp$2.y;t$jscomp$2.bx\x3ds$jscomp$0\x26\x26(parseFloat(m$jscomp$0[v$jscomp$0-4])||t$jscomp$2.x);t$jscomp$2.by\x3ds$jscomp$0\x26\x26(parseFloat(m$jscomp$0[v$jscomp$0-3])||t$jscomp$2.y);t$jscomp$2.x\x3ds$jscomp$0\x26\x26\nm$jscomp$0[v$jscomp$0-2];t$jscomp$2.y\x3ds$jscomp$0\x26\x26m$jscomp$0[v$jscomp$0-1]}return s$jscomp$0?[a$jscomp$0,s$jscomp$0]:a$jscomp$0}(e$jscomp$3)).length;for(;u$jscomp$0\x3cc$jscomp$1;u$jscomp$0++){if(\x22M\x22\x3d\x3d\x3d(i$jscomp$1\x3de$jscomp$3[u$jscomp$0])[0]){var n$jscomp$2\x3d+i$jscomp$1[1];var o$jscomp$1\x3d+i$jscomp$1[2]}else{if(t$jscomp$3\x3cl$jscomp$0+(a$jscomp$1\x3dm$jscomp$1(n$jscomp$2,o$jscomp$1,i$jscomp$1[1],i$jscomp$1[2],i$jscomp$1[3],i$jscomp$1[4],i$jscomp$1[5],i$jscomp$1[6]))\x26\x26!r$jscomp$3)return{x:(s$jscomp$1\x3dm$jscomp$1(n$jscomp$2,\no$jscomp$1,i$jscomp$1[1],i$jscomp$1[2],i$jscomp$1[3],i$jscomp$1[4],i$jscomp$1[5],i$jscomp$1[6],t$jscomp$3-l$jscomp$0)).x,y:s$jscomp$1.y,alpha:s$jscomp$1.alpha};l$jscomp$0+\x3da$jscomp$1;n$jscomp$2\x3d+i$jscomp$1[5];o$jscomp$1\x3d+i$jscomp$1[6]}i$jscomp$1.shift()+i$jscomp$1}return(s$jscomp$1\x3dr$jscomp$3?l$jscomp$0:d$jscomp$1(n$jscomp$2,o$jscomp$1,i$jscomp$1[0],i$jscomp$1[1],i$jscomp$1[2],i$jscomp$1[3],i$jscomp$1[4],i$jscomp$1[5],1)).alpha\x26\x26(s$jscomp$1\x3d{x:s$jscomp$1.x,y:s$jscomp$1.y,alpha:s$jscomp$1.alpha}),\ns$jscomp$1}function b(e){var t,r\x3d[],n\x3d0,o\x3d0,i\x3d0,a\x3d0,s\x3d0;if(!e)return r;\x22M\x22\x3d\x3d\x3de[0][0]\x26\x26(i\x3dn\x3d+e[0][1],a\x3do\x3d+e[0][2],s++,r[0]\x3d[\x22M\x22,n,o]);for(var u,c\x3d3\x3d\x3d\x3de.length\x26\x26\x22M\x22\x3d\x3d\x3de[0][0]\x26\x26\x22R\x22\x3d\x3d\x3de[1][0].toUpperCase()\x26\x26\x22Z\x22\x3d\x3d\x3de[2][0].toUpperCase(),d\x3ds,f\x3de.length;d\x3cf;d++){if(r.push(s\x3d[]),(u\x3de[d])[0]!\x3d\x3dString.prototype.toUpperCase.call(u[0]))switch(s[0]\x3dString.prototype.toUpperCase.call(u[0]),s[0]){case \x22A\x22:s[1]\x3du[1];s[2]\x3du[2];s[3]\x3du[3];s[4]\x3du[4];s[5]\x3du[5];s[6]\x3d+(u[6]+n);s[7]\x3d+(u[7]+o);break;case \x22V\x22:s[1]\x3d+u[1]+o;break;\ncase \x22H\x22:s[1]\x3d+u[1]+n;break;case \x22R\x22:for(var h\x3d2,p\x3d(t\x3d[n,o].concat(u.slice(1))).length;h\x3cp;h++)t[h]\x3d+t[h]+n,t[++h]\x3d+t[h]+o;r.pop();r\x3dr.concat(_$jscomp$0(t,c));break;case \x22M\x22:i\x3d+u[1]+n;a\x3d+u[2]+o;break;default:for(t\x3d1,h\x3du.length;t\x3ch;t++)s[t]\x3d+u[t]+(t%2?n:o)}else if(\x22R\x22\x3d\x3d\x3du[0])t\x3d[n,o].concat(u.slice(1)),r.pop(),r\x3dr.concat(_$jscomp$0(t,c)),s\x3d[\x22R\x22].concat(u.slice(-2));else for(t\x3d0,h\x3du.length;t\x3ch;t++)s[t]\x3du[t];switch(s[0]){case \x22Z\x22:n\x3di;o\x3da;break;case \x22H\x22:n\x3ds[1];break;case \x22V\x22:o\x3ds[1];break;case \x22M\x22:i\x3ds[s.length-\n2];a\x3ds[s.length-1];break;default:n\x3ds[s.length-2],o\x3ds[s.length-1]}}return r}function _$jscomp$0(e,t){for(var r\x3d[],n\x3d0,o\x3de.length;n\x3co-2*!t;n+\x3d2){var i\x3d[{x:+e[n-2],y:+e[n-1]},{x:+e[n],y:+e[n+1]},{x:+e[n+2],y:+e[n+3]},{x:+e[n+4],y:+e[n+5]}];t?n?o-4\x3d\x3d\x3dn?i[3]\x3d{x:+e[0],y:+e[1]}:o-2\x3d\x3d\x3dn\x26\x26(i[2]\x3d{x:+e[0],y:+e[1]},i[3]\x3d{x:+e[2],y:+e[3]}):i[0]\x3d{x:+e[o-2],y:+e[o-1]}:o-4\x3d\x3d\x3dn?i[3]\x3di[2]:n||(i[0]\x3d{x:+e[n],y:+e[n+1]});r.push([\x22C\x22,(-i[0].x+6*i[1].x+i[2].x)/6,(-i[0].y+6*i[1].y+i[2].y)/6,(i[1].x+6*i[2].x-i[3].x)/6,(i[1].y+\n6*i[2].y-i[3].y)/6,i[2].x,i[2].y])}return r}function w(e,t,r,n){return[e,t,r,n,r,n]}function j(e,t,r,n,o,i){return[1/3*e+2/3*r,1/3*t+2/3*n,1/3*o+2/3*r,1/3*i+2/3*n,o,i]}function g$jscomp$1(e,t,r,n,o,i,a,s,l){null\x3d\x3dl\x26\x26(l\x3d1);l\x3d(1\x3cl?1:0\x3el?0:l)/2;for(var c\x3d[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],d\x3d0,f\x3d[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],h\x3d0;12\x3eh;h++){var p\x3dl*c[h]+l,y\x3dp*(p*(-3*e+9*r-9*o+3*a)+6*e-12*r+6*o)-3*e+3*r;p\x3dp*(p*(-3*t+\n9*n-9*i+3*s)+6*t-12*n+6*i)-3*t+3*n;d+\x3df[h]*Math.sqrt(y*y+p*p)}return l*d}e$jscomp$4(\x22core-js/modules/es.symbol\x22);e$jscomp$4(\x22core-js/modules/es.symbol.description\x22);e$jscomp$4(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$4(\x22core-js/modules/es.array.concat\x22);e$jscomp$4(\x22core-js/modules/es.array.fill\x22);e$jscomp$4(\x22core-js/modules/es.array.iterator\x22);e$jscomp$4(\x22core-js/modules/es.array.join\x22);e$jscomp$4(\x22core-js/modules/es.array.slice\x22);e$jscomp$4(\x22core-js/modules/es.array.splice\x22);e$jscomp$4(\x22core-js/modules/es.function.name\x22);\ne$jscomp$4(\x22core-js/modules/es.number.to-fixed\x22);e$jscomp$4(\x22core-js/modules/es.object.to-string\x22);e$jscomp$4(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$4(\x22core-js/modules/es.string.iterator\x22);e$jscomp$4(\x22core-js/modules/es.string.split\x22);e$jscomp$4(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$4,\x22__esModule\x22,{value:!0});r$jscomp$4.default\x3dvoid 0;var n$jscomp$3;t$jscomp$4\x3d(n$jscomp$3\x3de$jscomp$4(\x22../core/main\x22))\x26\x26n$jscomp$3.__esModule?n$jscomp$3:{default:n$jscomp$3};\nvar x\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3dh$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3da$jscomp$2();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$4(\x22../core/constants\x22));t$jscomp$4.default.Font\x3dfunction(e){this.parent\x3d\ne;this.cache\x3d{};this.font\x3dvoid 0};t$jscomp$4.default.Font.prototype.textBounds\x3dfunction(e$jscomp$0){var r$jscomp$0\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:0,n$jscomp$0\x3d2\x3carguments.length\x26\x26void 0!\x3d\x3darguments[2]?arguments[2]:0,o\x3d3\x3carguments.length?arguments[3]:void 0,i\x3d4\x3carguments.length?arguments[4]:void 0,a\x3di\x26\x26i.renderer\x26\x26i.renderer._pInst||this.parent,s\x3da._renderer.drawingContext;s.textAlign||x.LEFT;s.textBaseline||x.BASELINE;if(o\x3do||a._renderer._textSize,!t$jscomp$0){var l;var t$jscomp$0\x3d\n[];s\x3d[];var f\x3d[[]],h\x3d[],p\x3dthis._scale(o),y\x3da._renderer.textLeading(),m\x3d0;this.font.forEachGlyph(e$jscomp$0,r$jscomp$0,n$jscomp$0,o,i,function(e,t,r,n){n\x3de.getMetrics();0\x3d\x3d\x3de.index||10\x3d\x3d\x3de.index?f[m+\x3d1]\x3d[]:(f[m].push(t+n.xMin*p),f[m].push(t+n.xMax*p),h.push(r+m*y+-n.yMin*p),h.push(r+m*y+-n.yMax*p))});0\x3cf[m].length\x26\x26(t$jscomp$0[m]\x3dMath.min.apply(null,f[m]),s[m]\x3dMath.max.apply(null,f[m]));for(o\x3dn$jscomp$0\x3d0;o\x3c\x3dm;o++)t$jscomp$0[o]\x3dMath.min.apply(null,f[o]),s[o]\x3dMath.max.apply(null,f[o]),i\x3ds[o]-t$jscomp$0[o],\nn$jscomp$0\x3ci\x26\x26(n$jscomp$0\x3di);s\x3dMath.min.apply(null,t$jscomp$0);t$jscomp$0\x3d{x:s,y:l\x3dMath.min.apply(null,h),h:Math.max.apply(null,h)-l,w:n$jscomp$0,advance:s-r$jscomp$0};r$jscomp$0\x3dthis._handleAlignment(a._renderer,e$jscomp$0,t$jscomp$0.x,t$jscomp$0.y,t$jscomp$0.w+t$jscomp$0.advance);t$jscomp$0.x\x3dr$jscomp$0.x;t$jscomp$0.y\x3dr$jscomp$0.y}return t$jscomp$0};t$jscomp$4.default.Font.prototype.textToPoints\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,o){var i,a\x3d0,s\x3d[],l\x3dthis._getGlyphs(e$jscomp$0);\nn$jscomp$0\x3dn$jscomp$0||this.parent._renderer._textSize;for(var u\x3d0;u\x3cl.length;u++){if(!(l[i\x3du].name\x26\x26\x22space\x22\x3d\x3d\x3dl[i].name||e$jscomp$0.length\x3d\x3d\x3dl.length\x26\x26\x22 \x22\x3d\x3d\x3de$jscomp$0[i])){var c\x3dvoid 0;for(var e\x3dl[u].getPath(t$jscomp$0,r$jscomp$0,n$jscomp$0).commands,r\x3d[],n\x3d0;n\x3ce.length;n++){\x22M\x22\x3d\x3d\x3de[n].type\x26\x26(c\x26\x26r.push(c),c\x3d[]);var JSCompiler_temp_const\x3dc,JSCompiler_temp_const$jscomp$0\x3dJSCompiler_temp_const.push;var JSCompiler_inline_result\x3de[n];var t\x3d[JSCompiler_inline_result.type];JSCompiler_inline_result\x3d(\x22M\x22\x3d\x3d\x3d\nJSCompiler_inline_result.type||\x22L\x22\x3d\x3d\x3dJSCompiler_inline_result.type?t.push(JSCompiler_inline_result.x,JSCompiler_inline_result.y):\x22C\x22\x3d\x3d\x3dJSCompiler_inline_result.type?t.push(JSCompiler_inline_result.x1,JSCompiler_inline_result.y1,JSCompiler_inline_result.x2,JSCompiler_inline_result.y2,JSCompiler_inline_result.x,JSCompiler_inline_result.y):\x22Q\x22\x3d\x3d\x3dJSCompiler_inline_result.type\x26\x26t.push(JSCompiler_inline_result.x1,JSCompiler_inline_result.y1,JSCompiler_inline_result.x,JSCompiler_inline_result.y),t);JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const,\nJSCompiler_inline_result)}c\x3d(r.push(c),r);for(e\x3d0;e\x3cc.length;e++)for(r\x3dp$jscomp$1(c[e],o),n\x3d0;n\x3cr.length;n++)r[n].x+\x3da,s.push(r[n])}a+\x3dl[u].advanceWidth*this._scale(n$jscomp$0)}return s};t$jscomp$4.default.Font.prototype._getGlyphs\x3dfunction(e){return this.font.stringToGlyphs(e)};t$jscomp$4.default.Font.prototype._getPath\x3dfunction(e,t,r,n){var o\x3d(n\x26\x26n.renderer\x26\x26n.renderer._pInst||this.parent)._renderer;t\x3dthis._handleAlignment(o,e,t,r);return this.font.getPath(e,t.x,t.y,o._textSize,n)};t$jscomp$4.default.Font.prototype._getPathData\x3d\nfunction(e,t,r,n){var o\x3d3;return\x22string\x22\x3d\x3dtypeof e\x26\x262\x3carguments.length?e\x3dthis._getPath(e,t,r,n):\x22object\x22\x3d\x3d\x3dh$jscomp$0(t)\x26\x26(n\x3dt),n\x26\x26\x22number\x22\x3d\x3dtypeof n.decimals\x26\x26(o\x3dn.decimals),e.toPathData(o)};t$jscomp$4.default.Font.prototype._getSVG\x3dfunction(e,t,r,n){var o\x3d3;return\x22string\x22\x3d\x3dtypeof e\x26\x262\x3carguments.length?e\x3dthis._getPath(e,t,r,n):\x22object\x22\x3d\x3d\x3dh$jscomp$0(t)\x26\x26(n\x3dt),n\x26\x26(\x22number\x22\x3d\x3dtypeof n.decimals\x26\x26(o\x3dn.decimals),\x22number\x22\x3d\x3dtypeof n.strokeWidth\x26\x26(e.strokeWidth\x3dn.strokeWidth),void 0!\x3d\x3dn.fill\x26\x26(e.fill\x3dn.fill),\nvoid 0!\x3d\x3dn.stroke\x26\x26(e.stroke\x3dn.stroke)),e.toSVG(o)};t$jscomp$4.default.Font.prototype._renderPath\x3dfunction(e$jscomp$0,t,r,n){var i\x3dn\x26\x26n.renderer||this.parent._renderer,a\x3di.drawingContext;e$jscomp$0\x3d\x22object\x22\x3d\x3d\x3dh$jscomp$0(e$jscomp$0)\x26\x26e$jscomp$0.commands?e$jscomp$0.commands:this._getPath(e$jscomp$0,t,r,n).commands;a.beginPath();t\x3d!0;r\x3d!1;n\x3dvoid 0;try{for(var c,d\x3de$jscomp$0[Symbol.iterator]();!(t\x3d(c\x3dd.next()).done);t\x3d!0){var f\x3dc.value;\x22M\x22\x3d\x3d\x3df.type?a.moveTo(f.x,f.y):\x22L\x22\x3d\x3d\x3df.type?a.lineTo(f.x,f.y):\x22C\x22\x3d\x3d\x3d\nf.type?a.bezierCurveTo(f.x1,f.y1,f.x2,f.y2,f.x,f.y):\x22Q\x22\x3d\x3d\x3df.type?a.quadraticCurveTo(f.x1,f.y1,f.x,f.y):\x22Z\x22\x3d\x3d\x3df.type\x26\x26a.closePath()}}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3dd.return||d.return()}finally{if(r)throw n;}}return i._doStroke\x26\x26i._strokeSet\x26\x26a.stroke(),i._doFill\x26\x26(i._fillSet||i._setFill(x._DEFAULT_TEXT_FILL),a.fill()),this};t$jscomp$4.default.Font.prototype._textWidth\x3dfunction(e,t){return this.font.getAdvanceWidth(e,t)};t$jscomp$4.default.Font.prototype._textAscent\x3dfunction(e){return this.font.ascender*\nthis._scale(e)};t$jscomp$4.default.Font.prototype._textDescent\x3dfunction(e){return-this.font.descender*this._scale(e)};t$jscomp$4.default.Font.prototype._scale\x3dfunction(e){return 1/this.font.unitsPerEm*(e||this.parent._renderer._textSize)};t$jscomp$4.default.Font.prototype._handleAlignment\x3dfunction(e,t,r,n,o){var i\x3de._textSize;switch(void 0\x3d\x3d\x3do\x26\x26(o\x3dthis._textWidth(t,i)),e._textAlign){case x.CENTER:r-\x3do/2;break;case x.RIGHT:r-\x3do}switch(e._textBaseline){case x.TOP:n+\x3dthis._textAscent(i);break;case x.CENTER:n+\x3d\nthis._textAscent(i)/2;break;case x.BOTTOM:n-\x3dthis._textDescent(i)}return{x:r,y:n}};r$jscomp$4.default\x3dt$jscomp$4.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.splice\x22:164,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.number.to-fixed\x22:172,\x22core-js/modules/es.object.to-string\x22:177,\n\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],303:[function(e$jscomp$1,t$jscomp$1,r$jscomp$0){e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.array.splice\x22);e$jscomp$1(\x22core-js/modules/es.array-buffer.constructor\x22);\ne$jscomp$1(\x22core-js/modules/es.object.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;e$jscomp$1\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$1.default.prototype.append\x3dfunction(e,t){return e.push(t),e};e$jscomp$1.default.prototype.arrayCopy\x3dfunction(e,t,r,n,o){var i,a;e\x3dvoid 0!\x3d\x3do?(a\x3dMath.min(o,e.length),i\x3dn,e.slice(t,a+t)):(a\x3dvoid 0!\x3d\x3dr?(a\x3dr,Math.min(a,e.length)):e.length,i\x3d\n0,r\x3dt,e.slice(0,a));Array.prototype.splice.apply(r,[i,a].concat(e))};e$jscomp$1.default.prototype.concat\x3dfunction(e,t){return e.concat(t)};e$jscomp$1.default.prototype.reverse\x3dfunction(e){return e.reverse()};e$jscomp$1.default.prototype.shorten\x3dfunction(e){return e.pop(),e};e$jscomp$1.default.prototype.shuffle\x3dfunction(e,t){var n\x3dArrayBuffer\x26\x26ArrayBuffer.isView\x26\x26ArrayBuffer.isView(e);for(var i\x3d(e\x3dt||n?e:e.slice()).length;1\x3ci;)t\x3dthis.random(0,1)*i|0,n\x3de[--i],e[i]\x3de[t],e[t]\x3dn;return e};e$jscomp$1.default.prototype.sort\x3d\nfunction(e$jscomp$0,t$jscomp$0){var r\x3dt$jscomp$0?e$jscomp$0.slice(0,Math.min(t$jscomp$0,e$jscomp$0.length)):e$jscomp$0;e$jscomp$0\x3dt$jscomp$0?e$jscomp$0.slice(Math.min(t$jscomp$0,e$jscomp$0.length)):[];return(r\x3d\x22string\x22\x3d\x3dtypeof r[0]?r.sort():r.sort(function(e,t){return e-t})).concat(e$jscomp$0)};e$jscomp$1.default.prototype.splice\x3dfunction(e,t,r){return Array.prototype.splice.apply(e,[r,0].concat(t)),e};e$jscomp$1.default.prototype.subset\x3dfunction(e,t,r){return void 0!\x3d\x3dr?e.slice(t,t+r):e.slice(t,\ne.length)};r$jscomp$0.default\x3de$jscomp$1.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array-buffer.constructor\x22:148,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.splice\x22:164,\x22core-js/modules/es.object.to-string\x22:177}],304:[function(e$jscomp$1,t$jscomp$0,r){e$jscomp$1(\x22core-js/modules/es.array.map\x22);e$jscomp$1(\x22core-js/modules/es.number.constructor\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);\ne$jscomp$1(\x22core-js/modules/es.string.repeat\x22);Object.defineProperty(r,\x22__esModule\x22,{value:!0});r.default\x3dvoid 0;var n,o\x3d(n\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};o.default.prototype.float\x3dfunction(e){return e instanceof Array?e.map(parseFloat):parseFloat(e)};o.default.prototype.int\x3dfunction(e$jscomp$0){var t\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?arguments[1]:10;return e$jscomp$0\x3d\x3d\x3d1/0||\x22Infinity\x22\x3d\x3d\x3de$jscomp$0?1/0:e$jscomp$0\x3d\x3d\x3d-1/0||\x22-Infinity\x22\x3d\x3d\x3de$jscomp$0?-1/0:\x22string\x22\x3d\x3dtypeof e$jscomp$0?\nparseInt(e$jscomp$0,t):\x22number\x22\x3d\x3dtypeof e$jscomp$0?0|e$jscomp$0:\x22boolean\x22\x3d\x3dtypeof e$jscomp$0?e$jscomp$0?1:0:e$jscomp$0 instanceof Array?e$jscomp$0.map(function(e){return o.default.prototype.int(e,t)}):void 0};o.default.prototype.str\x3dfunction(e){return e instanceof Array?e.map(o.default.prototype.str):String(e)};o.default.prototype.boolean\x3dfunction(e){return\x22number\x22\x3d\x3dtypeof e?0!\x3d\x3de:\x22string\x22\x3d\x3dtypeof e?\x22true\x22\x3d\x3d\x3de.toLowerCase():\x22boolean\x22\x3d\x3dtypeof e?e:e instanceof Array?e.map(o.default.prototype.boolean):\nvoid 0};o.default.prototype.byte\x3dfunction(e){e\x3do.default.prototype.int(e,10);return\x22number\x22\x3d\x3dtypeof e?(e+128)%256-128:e instanceof Array?e.map(o.default.prototype.byte):void 0};o.default.prototype.char\x3dfunction(e){return\x22number\x22!\x3dtypeof e||isNaN(e)?e instanceof Array?e.map(o.default.prototype.char):\x22string\x22\x3d\x3dtypeof e?o.default.prototype.char(parseInt(e,10)):void 0:String.fromCharCode(e)};o.default.prototype.unchar\x3dfunction(e){return\x22string\x22\x3d\x3dtypeof e\x26\x261\x3d\x3d\x3de.length?e.charCodeAt(0):e instanceof Array?\ne.map(o.default.prototype.unchar):void 0};o.default.prototype.hex\x3dfunction(e$jscomp$0,t){if(t\x3dnull\x3d\x3dt?t\x3d8:t,e$jscomp$0 instanceof Array)return e$jscomp$0.map(function(e){return o.default.prototype.hex(e,t)});if(e$jscomp$0\x3d\x3d\x3d1/0||e$jscomp$0\x3d\x3d\x3d-1/0)return(e$jscomp$0\x3d\x3d\x3d1/0?\x22F\x22:\x220\x22).repeat(t);if(\x22number\x22\x3d\x3dtypeof e$jscomp$0){0\x3ee$jscomp$0\x26\x26(e$jscomp$0\x3d4294967295+e$jscomp$0+1);for(e$jscomp$0\x3dNumber(e$jscomp$0).toString(16).toUpperCase();e$jscomp$0.length\x3ct;)e$jscomp$0\x3d\x220\x22.concat(e$jscomp$0);return e$jscomp$0.length\x3e\x3d\nt\x26\x26(e$jscomp$0\x3de$jscomp$0.substring(e$jscomp$0.length-t,e$jscomp$0.length)),e$jscomp$0}};o.default.prototype.unhex\x3dfunction(e){return e instanceof Array?e.map(o.default.prototype.unhex):parseInt(\x220x\x22.concat(e),16)};r.default\x3do.default},{\x22../core/main\x22:264,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.number.constructor\x22:170,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.repeat\x22:188}],305:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function o$jscomp$0(e,\nt,r){var n\x3d0\x3ee,o\x3dn?e.toString().substring(1):e.toString(),i\x3do.indexOf(\x22.\x22);e\x3d-1!\x3d\x3di?o.substring(0,i):o;var s\x3d-1!\x3d\x3di?o.substring(i+1):\x22\x22;n\x3dn?\x22-\x22:\x22\x22;if(void 0!\x3d\x3dr){o\x3d\x22\x22;(-1!\x3d\x3di||0\x3cr-s.length)\x26\x26(o\x3d\x22.\x22);s.length\x3er\x26\x26(s\x3ds.substring(0,r));for(i\x3d0;i\x3ct-e.length;i++)n+\x3d\x220\x22;n\x3dn+e+o;n+\x3ds;for(t\x3d0;t\x3cr-s.length;t++)n+\x3d\x220\x22;return n}for(r\x3d0;r\x3cMath.max(t-e.length,0);r++)n+\x3d\x220\x22;return n+o}function i$jscomp$0(e,t){var r\x3d(e\x3de.toString()).indexOf(\x22.\x22),n\x3d-1!\x3d\x3dr?e.substring(r):\x22\x22;e\x3d-1!\x3d\x3dr?e.substring(0,r):e;if(e\x3de.toString().replace(/\\B(?\x3d(\\d{3})+(?!\\d))/g,\n\x22,\x22),0\x3d\x3d\x3dt)n\x3d\x22\x22;else if(void 0!\x3d\x3dt)if(t\x3en.length)for(t\x3dt-(n+\x3d-1\x3d\x3d\x3dr?\x22.\x22:\x22\x22).length+1,r\x3d0;r\x3ct;r++)n+\x3d\x220\x22;else n\x3dn.substring(0,t+1);return e+n}function s$jscomp$0(e){return 0\x3cparseFloat(e)?\x22+\x22.concat(e.toString()):e.toString()}function l(e){return 0\x3c\x3dparseFloat(e)?\x22 \x22.concat(e.toString()):e.toString()}e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.join\x22);e$jscomp$1(\x22core-js/modules/es.array.map\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);\ne$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.constructor\x22);e$jscomp$1(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.match\x22);e$jscomp$1(\x22core-js/modules/es.string.replace\x22);e$jscomp$1(\x22core-js/modules/es.string.split\x22);e$jscomp$1(\x22core-js/modules/es.string.trim\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,a\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$1(\x22../core/friendly_errors/validate_params\x22);e$jscomp$1(\x22../core/friendly_errors/file_errors\x22);e$jscomp$1(\x22../core/friendly_errors/fes_core\x22);a.default.prototype.join\x3dfunction(e,t){return a.default._validateParameters(\x22join\x22,arguments),e.join(t)};a.default.prototype.match\x3dfunction(e,t){return a.default._validateParameters(\x22match\x22,arguments),e.match(t)};a.default.prototype.matchAll\x3dfunction(e,t){a.default._validateParameters(\x22matchAll\x22,\narguments);for(var r\x3dnew RegExp(t,\x22g\x22),n\x3dr.exec(e),o\x3d[];null!\x3d\x3dn;)o.push(n),n\x3dr.exec(e);return o};a.default.prototype.nf\x3dfunction(e$jscomp$0,t,r){return a.default._validateParameters(\x22nf\x22,arguments),e$jscomp$0 instanceof Array?e$jscomp$0.map(function(e){return o$jscomp$0(e,t,r)}):\x22[object Arguments]\x22\x3d\x3d\x3dObject.prototype.toString.call(e$jscomp$0)?3\x3d\x3d\x3de$jscomp$0.length?this.nf(e$jscomp$0[0],e$jscomp$0[1],e$jscomp$0[2]):2\x3d\x3d\x3de$jscomp$0.length?this.nf(e$jscomp$0[0],e$jscomp$0[1]):this.nf(e$jscomp$0[0]):\no$jscomp$0(e$jscomp$0,t,r)};a.default.prototype.nfc\x3dfunction(e$jscomp$0,t){return a.default._validateParameters(\x22nfc\x22,arguments),e$jscomp$0 instanceof Array?e$jscomp$0.map(function(e){return i$jscomp$0(e,t)}):i$jscomp$0(e$jscomp$0,t)};a.default.prototype.nfp\x3dfunction(){for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];a.default._validateParameters(\x22nfp\x22,t);e\x3da.default.prototype.nf.apply(this,t);return e instanceof Array?e.map(s$jscomp$0):s$jscomp$0(e)};a.default.prototype.nfs\x3dfunction(){for(var e\x3d\narguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];a.default._validateParameters(\x22nfs\x22,t);e\x3da.default.prototype.nf.apply(this,t);return e instanceof Array?e.map(l):l(e)};a.default.prototype.split\x3dfunction(e,t){return a.default._validateParameters(\x22split\x22,arguments),e.split(t)};a.default.prototype.splitTokens\x3dfunction(e$jscomp$0,t){if(a.default._validateParameters(\x22splitTokens\x22,arguments),void 0!\x3d\x3dt){var n\x3dt,o\x3d/\\]/g.exec(n),i\x3d/\\[/g.exec(n);var r\x3di\x26\x26o?(n\x3dn.slice(0,o.index)+n.slice(o.index+1),\ni\x3d/\\[/g.exec(n),n\x3dn.slice(0,i.index)+n.slice(i.index+1),new RegExp(\x22[\\\\[\x22.concat(n,\x22\\\\]]\x22),\x22g\x22)):o?(n\x3dn.slice(0,o.index)+n.slice(o.index+1),new RegExp(\x22[\x22.concat(n,\x22\\\\]]\x22),\x22g\x22)):i?(n\x3dn.slice(0,i.index)+n.slice(i.index+1),new RegExp(\x22[\x22.concat(n,\x22\\\\[]\x22),\x22g\x22)):new RegExp(\x22[\x22.concat(n,\x22]\x22),\x22g\x22)}else r\x3d/\\s/g;return e$jscomp$0.split(r).filter(function(e){return e})};a.default.prototype.trim\x3dfunction(e){return a.default._validateParameters(\x22trim\x22,arguments),e instanceof Array?e.map(this.trim):e.trim()};\nr$jscomp$0.default\x3da.default},{\x22../core/friendly_errors/fes_core\x22:255,\x22../core/friendly_errors/file_errors\x22:256,\x22../core/friendly_errors/validate_params\x22:259,\x22../core/main\x22:264,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.join\x22:159,\x22core-js/modules/es.array.map\x22:161,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.constructor\x22:180,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.regexp.to-string\x22:182,\n\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.replace\x22:189,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.trim\x22:193}],306:[function(e,t,r){Object.defineProperty(r,\x22__esModule\x22,{value:!0});r.default\x3dvoid 0;var n;e\x3d(n\x3de(\x22../core/main\x22))\x26\x26n.__esModule?n:{default:n};e.default.prototype.day\x3dfunction(){return(new Date).getDate()};e.default.prototype.hour\x3dfunction(){return(new Date).getHours()};e.default.prototype.minute\x3dfunction(){return(new Date).getMinutes()};e.default.prototype.millis\x3d\nfunction(){return-1\x3d\x3d\x3dthis._millisStart?0:window.performance.now()-this._millisStart};e.default.prototype.month\x3dfunction(){return(new Date).getMonth()+1};e.default.prototype.second\x3dfunction(){return(new Date).getSeconds()};e.default.prototype.year\x3dfunction(){return(new Date).getFullYear()};r.default\x3de.default},{\x22../core/main\x22:264}],307:[function(e$jscomp$1,t$jscomp$1,r$jscomp$1){function a$jscomp$1(e$jscomp$0){return(a$jscomp$1\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:\nfunction(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function l$jscomp$0(e,t,r,n,o,i,a){e\x3d0\x3e\x3de?1:e;t\x3d0\x3et?0:t;r\x3d0\x3e\x3dr?e:r;n\x3d3\x3en?3:n;var s\x3d(i\x3dvoid 0\x3d\x3d\x3di||i)?-2:0;var d\x3d(o\x3d1\x3eo?1:o)+((a\x3dvoid 0\x3d\x3d\x3da?0!\x3d\x3dt:a)?2:0);var l\x3dMath.atan2(e-t,r);for(var h\x3dMath.sin(l),p\x3dMath.cos(l);s\x3c\x3dd;++s){var y\x3ds/o,m\x3dr*y;var g\x3d0\x3es?(y\x3d\nm\x3d0,e):o\x3cs?(m\x3dr,y\x3d1,t):e+(t-e)*y;-2!\x3d\x3ds\x26\x26s!\x3d\x3do+2||(g\x3d0);m-\x3dr/2;for(l\x3d0;l\x3cn;++l){var v\x3dl/(n-1),b\x3d2*Math.PI*v,_\x3dMath.sin(b);b\x3dMath.cos(b);this.vertices.push(new E.default.Vector(_*g,m,b*g));_\x3d0\x3es?new E.default.Vector(0,-1,0):o\x3cs\x26\x26t?new E.default.Vector(0,1,0):new E.default.Vector(_*p,h,b*p);this.vertexNormals.push(_);this.uvs.push(v,y)}}e\x3d0;if(i){for(i\x3d0;i\x3cn;++i)this.faces.push([e+i,e+n+(i+1)%n,e+n+i]);e+\x3d2*n}for(s\x3d0;s\x3co;++s){for(l\x3d0;l\x3cn;++l)i\x3d(l+1)%n,this.faces.push([e+l,e+i,e+n+i]),this.faces.push([e+\nl,e+n+i,e+n+l]);e+\x3dn}if(a)for(e+\x3dn,l\x3d0;l\x3cn;++l)this.faces.push([e+l,e+(l+1)%n,e+n])}e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.number.to-fixed\x22);Object.defineProperty(r$jscomp$1,\x22__esModule\x22,{value:!0});r$jscomp$1.default\x3dvoid 0;var n$jscomp$1,E\x3d(n$jscomp$1\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$1.__esModule?n$jscomp$1:{default:n$jscomp$1};e$jscomp$1(\x22./p5.Geometry\x22);var h$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$1(e)\x26\x26\x22function\x22!\x3d\ntypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));E.default.prototype.plane\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0){this._assert3d(\x22plane\x22);E.default._validateParameters(\x22plane\x22,\narguments);void 0\x3d\x3d\x3de$jscomp$0\x26\x26(e$jscomp$0\x3d50);void 0\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3de$jscomp$0);void 0\x3d\x3d\x3dr$jscomp$0\x26\x26(r$jscomp$0\x3d1);void 0\x3d\x3d\x3dn$jscomp$0\x26\x26(n$jscomp$0\x3d1);var o$jscomp$0\x3d\x22plane|\x22.concat(r$jscomp$0,\x22|\x22).concat(n$jscomp$0);if(!this._renderer.geometryInHash(o$jscomp$0)){var i\x3dnew E.default.Geometry(r$jscomp$0,n$jscomp$0,function(){for(var e,t,r,n\x3d0;n\x3c\x3dthis.detailY;n++){t\x3dn/this.detailY;for(var o\x3d0;o\x3c\x3dthis.detailX;o++)e\x3do/this.detailX,r\x3dnew E.default.Vector(e-.5,t-.5,0),this.vertices.push(r),\nthis.uvs.push(e,t)}});i.computeFaces().computeNormals();1\x3e\x3dr$jscomp$0\x26\x261\x3e\x3dn$jscomp$0?i._makeTriangleEdges()._edgesToVertices():this._renderer._doStroke\x26\x26console.log(\x22Cannot draw stroke on plane objects with more than 1 detailX or 1 detailY\x22);this._renderer.createBuffers(o$jscomp$0,i)}return this._renderer.drawBuffersScaled(o$jscomp$0,e$jscomp$0,t$jscomp$0,1),this};E.default.prototype.box\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,o$jscomp$0){this._assert3d(\x22box\x22);E.default._validateParameters(\x22box\x22,\narguments);void 0\x3d\x3d\x3de$jscomp$0\x26\x26(e$jscomp$0\x3d50);void 0\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3de$jscomp$0);void 0\x3d\x3d\x3dr$jscomp$0\x26\x26(r$jscomp$0\x3dt$jscomp$0);var i$jscomp$0\x3dthis._renderer.attributes\x26\x26this._renderer.attributes.perPixelLighting;void 0\x3d\x3d\x3dn$jscomp$0\x26\x26(n$jscomp$0\x3di$jscomp$0?1:4);void 0\x3d\x3d\x3do$jscomp$0\x26\x26(o$jscomp$0\x3di$jscomp$0?1:4);i$jscomp$0\x3d\x22box|\x22.concat(n$jscomp$0,\x22|\x22).concat(o$jscomp$0);if(!this._renderer.geometryInHash(i$jscomp$0)){var s\x3dnew E.default.Geometry(n$jscomp$0,o$jscomp$0,function(){var e\x3d[[0,4,\n2,6],[1,3,5,7],[0,1,4,5],[2,6,3,7],[0,2,1,3],[4,5,6,7]];this.strokeIndices\x3d[[0,1],[1,3],[3,2],[6,7],[8,9],[9,11],[14,15],[16,17],[17,19],[18,19],[20,21],[22,23]];for(var t\x3d0;t\x3ce.length;t++){for(var r\x3de[t],n\x3d4*t,o\x3d0;4\x3eo;o++){var i\x3dr[o];i\x3dnew E.default.Vector((2*(1\x26i)-1)/2,((2\x26i)-1)/2,((4\x26i)/2-1)/2);this.vertices.push(i);this.uvs.push(1\x26o,(2\x26o)/2)}this.faces.push([n,1+n,2+n]);this.faces.push([2+n,1+n,3+n])}});s.computeNormals();4\x3e\x3dn$jscomp$0\x26\x264\x3e\x3do$jscomp$0?s._makeTriangleEdges()._edgesToVertices():\nthis._renderer._doStroke\x26\x26console.log(\x22Cannot draw stroke on box objects with more than 4 detailX or 4 detailY\x22);this._renderer.createBuffers(i$jscomp$0,s)}return this._renderer.drawBuffersScaled(i$jscomp$0,e$jscomp$0,t$jscomp$0,r$jscomp$0),this};E.default.prototype.sphere\x3dfunction(e,t,r){return this._assert3d(\x22sphere\x22),E.default._validateParameters(\x22sphere\x22,arguments),void 0\x3d\x3d\x3de\x26\x26(e\x3d50),void 0\x3d\x3d\x3dt\x26\x26(t\x3d24),void 0\x3d\x3d\x3dr\x26\x26(r\x3d16),this.ellipsoid(e,e,e,t,r),this};E.default.prototype.cylinder\x3dfunction(e,\nt,r,n,o,i){this._assert3d(\x22cylinder\x22);E.default._validateParameters(\x22cylinder\x22,arguments);void 0\x3d\x3d\x3de\x26\x26(e\x3d50);void 0\x3d\x3d\x3dt\x26\x26(t\x3de);void 0\x3d\x3d\x3dr\x26\x26(r\x3d24);void 0\x3d\x3d\x3dn\x26\x26(n\x3d1);void 0\x3d\x3d\x3di\x26\x26(i\x3d!0);void 0\x3d\x3d\x3do\x26\x26(o\x3d!0);var a\x3d\x22cylinder|\x22.concat(r,\x22|\x22).concat(n,\x22|\x22).concat(o,\x22|\x22).concat(i);if(!this._renderer.geometryInHash(a)){var s\x3dnew E.default.Geometry(r,n);l$jscomp$0.call(s,1,1,1,r,n,o,i);24\x3e\x3dr\x26\x2616\x3e\x3dn?s._makeTriangleEdges()._edgesToVertices():this._renderer._doStroke\x26\x26console.log(\x22Cannot draw stroke on cylinder objects with more than 24 detailX or 16 detailY\x22);\nthis._renderer.createBuffers(a,s)}return this._renderer.drawBuffersScaled(a,e,t,e),this};E.default.prototype.cone\x3dfunction(e,t,r,n,o){this._assert3d(\x22cone\x22);E.default._validateParameters(\x22cone\x22,arguments);void 0\x3d\x3d\x3de\x26\x26(e\x3d50);void 0\x3d\x3d\x3dt\x26\x26(t\x3de);void 0\x3d\x3d\x3dr\x26\x26(r\x3d24);void 0\x3d\x3d\x3dn\x26\x26(n\x3d1);void 0\x3d\x3d\x3do\x26\x26(o\x3d!0);var i\x3d\x22cone|\x22.concat(r,\x22|\x22).concat(n,\x22|\x22).concat(o);if(!this._renderer.geometryInHash(i)){var a\x3dnew E.default.Geometry(r,n);l$jscomp$0.call(a,1,0,1,r,n,o,!1);24\x3e\x3dr\x26\x2616\x3e\x3dn?a._makeTriangleEdges()._edgesToVertices():\nthis._renderer._doStroke\x26\x26console.log(\x22Cannot draw stroke on cone objects with more than 24 detailX or 16 detailY\x22);this._renderer.createBuffers(i,a)}return this._renderer.drawBuffersScaled(i,e,t,e),this};E.default.prototype.ellipsoid\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0,o){this._assert3d(\x22ellipsoid\x22);E.default._validateParameters(\x22ellipsoid\x22,arguments);void 0\x3d\x3d\x3de$jscomp$0\x26\x26(e$jscomp$0\x3d50);void 0\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3de$jscomp$0);void 0\x3d\x3d\x3dr$jscomp$0\x26\x26(r$jscomp$0\x3de$jscomp$0);void 0\x3d\x3d\x3d\nn$jscomp$0\x26\x26(n$jscomp$0\x3d24);void 0\x3d\x3d\x3do\x26\x26(o\x3d16);var i$jscomp$0\x3d\x22ellipsoid|\x22.concat(n$jscomp$0,\x22|\x22).concat(o);if(!this._renderer.geometryInHash(i$jscomp$0)){var a$jscomp$0\x3dnew E.default.Geometry(n$jscomp$0,o,function(){for(var e\x3d0;e\x3c\x3dthis.detailY;e++){var t\x3de/this.detailY,r\x3dMath.PI*t-Math.PI/2,n\x3dMath.cos(r);r\x3dMath.sin(r);for(var i\x3d0;i\x3c\x3dthis.detailX;i++){var a\x3di/this.detailX,s\x3d2*Math.PI*a;s\x3dnew E.default.Vector(n*Math.sin(s),r,n*Math.cos(s));this.vertices.push(s);this.vertexNormals.push(s);this.uvs.push(a,\nt)}}});a$jscomp$0.computeFaces();24\x3e\x3dn$jscomp$0\x26\x2624\x3e\x3do?a$jscomp$0._makeTriangleEdges()._edgesToVertices():this._renderer._doStroke\x26\x26console.log(\x22Cannot draw stroke on ellipsoids with more than 24 detailX or 24 detailY\x22);this._renderer.createBuffers(i$jscomp$0,a$jscomp$0)}return this._renderer.drawBuffersScaled(i$jscomp$0,e$jscomp$0,t$jscomp$0,r$jscomp$0),this};E.default.prototype.torus\x3dfunction(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0){if(this._assert3d(\x22torus\x22),E.default._validateParameters(\x22torus\x22,\narguments),void 0\x3d\x3d\x3de$jscomp$0)e$jscomp$0\x3d50;else if(!e$jscomp$0)return;if(void 0\x3d\x3d\x3dt$jscomp$0)t$jscomp$0\x3d10;else if(!t$jscomp$0)return;void 0\x3d\x3d\x3dr$jscomp$0\x26\x26(r$jscomp$0\x3d24);void 0\x3d\x3d\x3dn$jscomp$0\x26\x26(n$jscomp$0\x3d16);var h\x3d(t$jscomp$0/e$jscomp$0).toPrecision(4),o\x3d\x22torus|\x22.concat(h,\x22|\x22).concat(r$jscomp$0,\x22|\x22).concat(n$jscomp$0);if(!this._renderer.geometryInHash(o)){var i$jscomp$0\x3dnew E.default.Geometry(r$jscomp$0,n$jscomp$0,function(){for(var e\x3d0;e\x3c\x3dthis.detailY;e++){var t\x3de/this.detailY,r\x3d2*Math.PI*t,n\x3d\nMath.cos(r);r\x3dMath.sin(r);for(var i\x3d1+h*n,a\x3d0;a\x3c\x3dthis.detailX;a++){var s\x3da/this.detailX,l\x3d2*Math.PI*s,u\x3dMath.cos(l),c\x3dMath.sin(l);l\x3dnew E.default.Vector(i*u,i*c,h*r);u\x3dnew E.default.Vector(n*u,n*c,r);this.vertices.push(l);this.vertexNormals.push(u);this.uvs.push(s,t)}}});i$jscomp$0.computeFaces();24\x3e\x3dr$jscomp$0\x26\x2616\x3e\x3dn$jscomp$0?i$jscomp$0._makeTriangleEdges()._edgesToVertices():this._renderer._doStroke\x26\x26console.log(\x22Cannot draw strokes on torus object with more than 24 detailX or 16 detailY\x22);this._renderer.createBuffers(o,\ni$jscomp$0)}return this._renderer.drawBuffersScaled(o,e$jscomp$0,e$jscomp$0,e$jscomp$0),this};E.default.RendererGL.prototype.point\x3dfunction(e,t,r){void 0\x3d\x3d\x3dr\x26\x26(r\x3d0);var n\x3d[];return n.push(new E.default.Vector(e,t,r)),this._drawPoints(n,this.immediateMode.buffers.point),this};E.default.RendererGL.prototype.triangle\x3dfunction(e$jscomp$0){var t\x3de$jscomp$0[0],r\x3de$jscomp$0[1],n\x3de$jscomp$0[2],o\x3de$jscomp$0[3],i\x3de$jscomp$0[4];e$jscomp$0\x3de$jscomp$0[5];if(!this.geometryInHash(\x22tri\x22)){var s\x3dnew E.default.Geometry(1,\n1,function(){var e\x3d[];e.push(new E.default.Vector(0,0,0));e.push(new E.default.Vector(0,1,0));e.push(new E.default.Vector(1,0,0));this.strokeIndices\x3d[[0,1],[1,2],[2,0]];this.vertices\x3de;this.faces\x3d[[0,1,2]];this.uvs\x3d[0,0,0,1,1,1]});s._makeTriangleEdges()._edgesToVertices();s.computeNormals();this.createBuffers(\x22tri\x22,s)}s\x3dthis.uMVMatrix.copy();try{this.uMVMatrix\x3d(new E.default.Matrix([n-t,o-r,0,0,i-t,e$jscomp$0-r,0,0,0,0,1,0,t,r,0,1])).mult(this.uMVMatrix),this.drawBuffers(\x22tri\x22)}finally{this.uMVMatrix\x3d\ns}return this};E.default.RendererGL.prototype.ellipse\x3dfunction(e){this.arc(e[0],e[1],e[2],e[3],0,h$jscomp$0.TWO_PI,h$jscomp$0.OPEN,e[4])};E.default.RendererGL.prototype.arc\x3dfunction(e$jscomp$0,JSCompiler_OptimizeArgumentsArray_p6,JSCompiler_OptimizeArgumentsArray_p7,JSCompiler_OptimizeArgumentsArray_p8,JSCompiler_OptimizeArgumentsArray_p9,JSCompiler_OptimizeArgumentsArray_p10,JSCompiler_OptimizeArgumentsArray_p11,JSCompiler_OptimizeArgumentsArray_p12){var t$jscomp$0,r$jscomp$0,c\x3dJSCompiler_OptimizeArgumentsArray_p12||\n25;(r$jscomp$0\x3dMath.abs(JSCompiler_OptimizeArgumentsArray_p10-JSCompiler_OptimizeArgumentsArray_p9)\x3e\x3dh$jscomp$0.TWO_PI?\x22\x22.concat(t$jscomp$0\x3d\x22ellipse\x22,\x22|\x22).concat(c,\x22|\x22):\x22\x22.concat(t$jscomp$0\x3d\x22arc\x22,\x22|\x22).concat(JSCompiler_OptimizeArgumentsArray_p9,\x22|\x22).concat(JSCompiler_OptimizeArgumentsArray_p10,\x22|\x22).concat(JSCompiler_OptimizeArgumentsArray_p11,\x22|\x22).concat(c,\x22|\x22),this.geometryInHash(r$jscomp$0))||(JSCompiler_OptimizeArgumentsArray_p12\x3dnew E.default.Geometry(c,1,function(){if(this.strokeIndices\x3d[],JSCompiler_OptimizeArgumentsArray_p9.toFixed(10)!\x3d\x3d\nJSCompiler_OptimizeArgumentsArray_p10.toFixed(10)){JSCompiler_OptimizeArgumentsArray_p11!\x3d\x3dh$jscomp$0.PIE\x26\x26void 0!\x3d\x3dJSCompiler_OptimizeArgumentsArray_p11||(this.vertices.push(new E.default.Vector(.5,.5,0)),this.uvs.push([.5,.5]));for(var e\x3d0;e\x3c\x3dc;e++){var t\x3de/c*(JSCompiler_OptimizeArgumentsArray_p10-JSCompiler_OptimizeArgumentsArray_p9)+JSCompiler_OptimizeArgumentsArray_p9,r\x3d.5+Math.cos(t)/2;t\x3d.5+Math.sin(t)/2;this.vertices.push(new E.default.Vector(r,t,0));this.uvs.push([r,t]);e\x3cc-1\x26\x26(this.faces.push([0,\ne+1,e+2]),this.strokeIndices.push([e+1,e+2]))}switch(JSCompiler_OptimizeArgumentsArray_p11){case h$jscomp$0.PIE:this.faces.push([0,this.vertices.length-2,this.vertices.length-1]);this.strokeIndices.push([0,1]);this.strokeIndices.push([this.vertices.length-2,this.vertices.length-1]);this.strokeIndices.push([0,this.vertices.length-1]);break;case h$jscomp$0.CHORD:this.strokeIndices.push([0,1]);this.strokeIndices.push([0,this.vertices.length-1]);break;case h$jscomp$0.OPEN:this.strokeIndices.push([0,1]);\nbreak;default:this.faces.push([0,this.vertices.length-2,this.vertices.length-1]),this.strokeIndices.push([this.vertices.length-2,this.vertices.length-1])}}}),JSCompiler_OptimizeArgumentsArray_p12.computeNormals(),50\x3e\x3dc?JSCompiler_OptimizeArgumentsArray_p12._makeTriangleEdges()._edgesToVertices(JSCompiler_OptimizeArgumentsArray_p12):this._doStroke\x26\x26console.log(\x22Cannot apply a stroke to an \x22.concat(t$jscomp$0,\x22 with more than 50 detail\x22)),this.createBuffers(r$jscomp$0,JSCompiler_OptimizeArgumentsArray_p12));\nt$jscomp$0\x3dthis.uMVMatrix.copy();try{this.uMVMatrix.translate([e$jscomp$0,JSCompiler_OptimizeArgumentsArray_p6,0]),this.uMVMatrix.scale(JSCompiler_OptimizeArgumentsArray_p7,JSCompiler_OptimizeArgumentsArray_p8,1),this.drawBuffers(r$jscomp$0)}finally{this.uMVMatrix\x3dt$jscomp$0}return this};E.default.RendererGL.prototype.rect\x3dfunction(e$jscomp$0){var t$jscomp$0\x3dthis._pInst._glAttributes.perPixelLighting,r$jscomp$0\x3de$jscomp$0[0],n$jscomp$0\x3de$jscomp$0[1],o$jscomp$0\x3de$jscomp$0[2],i\x3de$jscomp$0[3],a\x3de$jscomp$0[4]||\n(t$jscomp$0?1:24),s\x3de$jscomp$0[5]||(t$jscomp$0?1:16);e$jscomp$0\x3d\x22rect|\x22.concat(a,\x22|\x22).concat(s);this.geometryInHash(e$jscomp$0)||(t$jscomp$0\x3dnew E.default.Geometry(a,s,function(){for(var e\x3d0;e\x3c\x3dthis.detailY;e++)for(var t\x3de/this.detailY,r\x3d0;r\x3c\x3dthis.detailX;r++){var n\x3dr/this.detailX,o\x3dnew E.default.Vector(n,t,0);this.vertices.push(o);this.uvs.push(n,t)}0\x3ca\x26\x260\x3cs\x26\x26(this.strokeIndices\x3d[[0,a],[a,(a+1)*(s+1)-1],[(a+1)*(s+1)-1,(a+1)*s],[(a+1)*s,0]])}),t$jscomp$0.computeFaces().computeNormals()._makeTriangleEdges()._edgesToVertices(),\nthis.createBuffers(e$jscomp$0,t$jscomp$0));t$jscomp$0\x3dthis.uMVMatrix.copy();try{this.uMVMatrix.translate([r$jscomp$0,n$jscomp$0,0]),this.uMVMatrix.scale(o$jscomp$0,i,1),this.drawBuffers(e$jscomp$0)}finally{this.uMVMatrix\x3dt$jscomp$0}return this};E.default.RendererGL.prototype.quad\x3dfunction(u,c,d,f,h,p,y,m,g,v,b,_,e$jscomp$0,t$jscomp$0){void 0\x3d\x3d\x3de$jscomp$0\x26\x26(e$jscomp$0\x3d2);void 0\x3d\x3d\x3dt$jscomp$0\x26\x26(t$jscomp$0\x3d2);var r$jscomp$0\x3d\x22quad|\x22.concat(u,\x22|\x22).concat(c,\x22|\x22).concat(d,\x22|\x22).concat(f,\x22|\x22).concat(h,\x22|\x22).concat(p,\n\x22|\x22).concat(y,\x22|\x22).concat(m,\x22|\x22).concat(g,\x22|\x22).concat(v,\x22|\x22).concat(b,\x22|\x22).concat(_,\x22|\x22).concat(e$jscomp$0,\x22|\x22).concat(t$jscomp$0);if(!this.geometryInHash(r$jscomp$0)){var n$jscomp$0\x3dnew E.default.Geometry(e$jscomp$0,t$jscomp$0,function(){for(var e\x3d1/(this.detailX-1),t\x3d1/(this.detailY-1),r\x3d0;r\x3cthis.detailY;r++)for(var n\x3d0;n\x3cthis.detailX;n++){var o\x3dn*e,i\x3dr*t;this.vertices.push(new E.default.Vector((1-o)*((1-i)*u+i*v)+o*((1-i)*f+i*y),(1-o)*((1-i)*c+i*b)+o*((1-i)*h+i*m),(1-o)*((1-i)*d+i*_)+o*((1-i)*\np+i*g)));this.uvs.push([o,i])}});n$jscomp$0.faces\x3d[];for(var o$jscomp$0\x3d0;o$jscomp$0\x3ct$jscomp$0-1;o$jscomp$0++)for(var i$jscomp$0\x3d0;i$jscomp$0\x3ce$jscomp$0-1;i$jscomp$0++){var a\x3di$jscomp$0+o$jscomp$0*e$jscomp$0,l\x3di$jscomp$0+1+(o$jscomp$0+1)*e$jscomp$0,x\x3di$jscomp$0+(o$jscomp$0+1)*e$jscomp$0;n$jscomp$0.faces.push([a,i$jscomp$0+1+o$jscomp$0*e$jscomp$0,l]);n$jscomp$0.faces.push([a,l,x])}n$jscomp$0.computeNormals()._makeTriangleEdges()._edgesToVertices();this.createBuffers(r$jscomp$0,n$jscomp$0)}return this.drawBuffers(r$jscomp$0),\nthis};E.default.RendererGL.prototype.bezier\x3dfunction(e,t,r,n,o,i,a,s,l,u,c,d){8\x3d\x3d\x3darguments.length\x26\x26(c\x3ds,u\x3da,s\x3di,a\x3do,o\x3dn,n\x3dr,r\x3di\x3dl\x3dd\x3d0);var f\x3dthis._pInst._bezierDetail||20;this.beginShape();for(var h\x3d0;h\x3c\x3df;h++){var p\x3dMath.pow(1-h/f,3),y\x3dh/f*3*Math.pow(1-h/f,2),m\x3d3*Math.pow(h/f,2)*(1-h/f),g\x3dMath.pow(h/f,3);this.vertex(e*p+n*y+a*m+u*g,t*p+o*y+s*m+c*g,r*p+i*y+l*m+d*g)}return this.endShape(),this};E.default.RendererGL.prototype.curve\x3dfunction(e,t,r,n,o,i,a,s,l,u,c,d){8\x3d\x3d\x3darguments.length\x26\x26(u\x3da,c\x3ds,a\x3d\no,s\x3dn,o\x3dn\x3dr,r\x3di\x3dl\x3dd\x3d0);var f\x3dthis._pInst._curveDetail;this.beginShape();for(var h\x3d0;h\x3c\x3df;h++){var p\x3d.5*Math.pow(h/f,3),y\x3d.5*Math.pow(h/f,2),m\x3dh/f*.5;this.vertex(p*(3*n-e-3*a+u)+y*(2*e-5*n+4*a-u)+m*(-e+a)+1*n,p*(3*o-t-3*s+c)+y*(2*t-5*o+4*s-c)+m*(-t+s)+1*o,p*(3*i-r-3*l+d)+y*(2*r-5*i+4*l-d)+m*(-r+l)+1*i)}return this.endShape(),this};E.default.RendererGL.prototype.line\x3dfunction(){return 6\x3d\x3d\x3darguments.length?(this.beginShape(h$jscomp$0.LINES),this.vertex(0\x3e\x3darguments.length?void 0:arguments[0],1\x3e\x3darguments.length?\nvoid 0:arguments[1],2\x3e\x3darguments.length?void 0:arguments[2]),this.vertex(3\x3e\x3darguments.length?void 0:arguments[3],4\x3e\x3darguments.length?void 0:arguments[4],5\x3e\x3darguments.length?void 0:arguments[5]),this.endShape()):4\x3d\x3d\x3darguments.length\x26\x26(this.beginShape(h$jscomp$0.LINES),this.vertex(0\x3e\x3darguments.length?void 0:arguments[0],1\x3e\x3darguments.length?void 0:arguments[1],0),this.vertex(2\x3e\x3darguments.length?void 0:arguments[2],3\x3e\x3darguments.length?void 0:arguments[3],0),this.endShape()),this};E.default.RendererGL.prototype.bezierVertex\x3d\nfunction(){if(0\x3d\x3d\x3dthis.immediateMode._bezierVertex.length)throw Error(\x22vertex() must be used once before calling bezierVertex()\x22);var e,i;var t\x3darguments.length;if((e\x3d0)\x3d\x3d\x3dthis._lookUpTableBezier.length||this._lutBezierDetail!\x3d\x3dthis._pInst._curveDetail){this._lookUpTableBezier\x3d[];this._lutBezierDetail\x3dthis._pInst._curveDetail;var r\x3d1/this._lutBezierDetail;var n\x3d0;var o\x3d1;for(i\x3d0;1\x3en;){if(e\x3dparseFloat(n.toFixed(6)),this._lookUpTableBezier[i]\x3dthis._bezierCoefficients(e),o.toFixed(6)\x3d\x3d\x3dr.toFixed(6)){e\x3d\nparseFloat(o.toFixed(6))+parseFloat(n.toFixed(6));++i;this._lookUpTableBezier[i]\x3dthis._bezierCoefficients(e);break}n+\x3dr;o-\x3dr;++i}}e\x3dthis._lookUpTableBezier.length;if(6\x3d\x3d\x3dt){this.isBezier\x3d!0;i\x3d[this.immediateMode._bezierVertex[0],0\x3e\x3darguments.length?void 0:arguments[0],2\x3e\x3darguments.length?void 0:arguments[2],4\x3e\x3darguments.length?void 0:arguments[4]];var a\x3d[this.immediateMode._bezierVertex[1],1\x3e\x3darguments.length?void 0:arguments[1],3\x3e\x3darguments.length?void 0:arguments[3],5\x3e\x3darguments.length?void 0:arguments[5]];\nfor(o\x3d0;o\x3ce;o++)t\x3di[0]*this._lookUpTableBezier[o][0]+i[1]*this._lookUpTableBezier[o][1]+i[2]*this._lookUpTableBezier[o][2]+i[3]*this._lookUpTableBezier[o][3],r\x3da[0]*this._lookUpTableBezier[o][0]+a[1]*this._lookUpTableBezier[o][1]+a[2]*this._lookUpTableBezier[o][2]+a[3]*this._lookUpTableBezier[o][3],this.vertex(t,r);this.immediateMode._bezierVertex[0]\x3d4\x3e\x3darguments.length?void 0:arguments[4];this.immediateMode._bezierVertex[1]\x3d5\x3e\x3darguments.length?void 0:arguments[5]}else if(9\x3d\x3d\x3dt){this.isBezier\x3d!0;\ni\x3d[this.immediateMode._bezierVertex[0],0\x3e\x3darguments.length?void 0:arguments[0],3\x3e\x3darguments.length?void 0:arguments[3],6\x3e\x3darguments.length?void 0:arguments[6]];a\x3d[this.immediateMode._bezierVertex[1],1\x3e\x3darguments.length?void 0:arguments[1],4\x3e\x3darguments.length?void 0:arguments[4],7\x3e\x3darguments.length?void 0:arguments[7]];var s\x3d[this.immediateMode._bezierVertex[2],2\x3e\x3darguments.length?void 0:arguments[2],5\x3e\x3darguments.length?void 0:arguments[5],8\x3e\x3darguments.length?void 0:arguments[8]];for(o\x3d0;o\x3ce;o++)t\x3d\ni[0]*this._lookUpTableBezier[o][0]+i[1]*this._lookUpTableBezier[o][1]+i[2]*this._lookUpTableBezier[o][2]+i[3]*this._lookUpTableBezier[o][3],r\x3da[0]*this._lookUpTableBezier[o][0]+a[1]*this._lookUpTableBezier[o][1]+a[2]*this._lookUpTableBezier[o][2]+a[3]*this._lookUpTableBezier[o][3],n\x3ds[0]*this._lookUpTableBezier[o][0]+s[1]*this._lookUpTableBezier[o][1]+s[2]*this._lookUpTableBezier[o][2]+s[3]*this._lookUpTableBezier[o][3],this.vertex(t,r,n);this.immediateMode._bezierVertex[0]\x3d6\x3e\x3darguments.length?void 0:\narguments[6];this.immediateMode._bezierVertex[1]\x3d7\x3e\x3darguments.length?void 0:arguments[7];this.immediateMode._bezierVertex[2]\x3d8\x3e\x3darguments.length?void 0:arguments[8]}};E.default.RendererGL.prototype.quadraticVertex\x3dfunction(){if(0\x3d\x3d\x3dthis.immediateMode._quadraticVertex.length)throw Error(\x22vertex() must be used once before calling quadraticVertex()\x22);var e,i;var t\x3darguments.length;if((e\x3d0)\x3d\x3d\x3dthis._lookUpTableQuadratic.length||this._lutQuadraticDetail!\x3d\x3dthis._pInst._curveDetail){this._lookUpTableQuadratic\x3d\n[];this._lutQuadraticDetail\x3dthis._pInst._curveDetail;var r\x3d1/this._lutQuadraticDetail;var n\x3d0;var o\x3d1;for(i\x3d0;1\x3en;){if(e\x3dparseFloat(n.toFixed(6)),this._lookUpTableQuadratic[i]\x3dthis._quadraticCoefficients(e),o.toFixed(6)\x3d\x3d\x3dr.toFixed(6)){e\x3dparseFloat(o.toFixed(6))+parseFloat(n.toFixed(6));++i;this._lookUpTableQuadratic[i]\x3dthis._quadraticCoefficients(e);break}n+\x3dr;o-\x3dr;++i}}e\x3dthis._lookUpTableQuadratic.length;if(4\x3d\x3d\x3dt){this.isQuadratic\x3d!0;i\x3d[this.immediateMode._quadraticVertex[0],0\x3e\x3darguments.length?\nvoid 0:arguments[0],2\x3e\x3darguments.length?void 0:arguments[2]];var a\x3d[this.immediateMode._quadraticVertex[1],1\x3e\x3darguments.length?void 0:arguments[1],3\x3e\x3darguments.length?void 0:arguments[3]];for(o\x3d0;o\x3ce;o++)t\x3di[0]*this._lookUpTableQuadratic[o][0]+i[1]*this._lookUpTableQuadratic[o][1]+i[2]*this._lookUpTableQuadratic[o][2],r\x3da[0]*this._lookUpTableQuadratic[o][0]+a[1]*this._lookUpTableQuadratic[o][1]+a[2]*this._lookUpTableQuadratic[o][2],this.vertex(t,r);this.immediateMode._quadraticVertex[0]\x3d2\x3e\x3darguments.length?\nvoid 0:arguments[2];this.immediateMode._quadraticVertex[1]\x3d3\x3e\x3darguments.length?void 0:arguments[3]}else if(6\x3d\x3d\x3dt){this.isQuadratic\x3d!0;i\x3d[this.immediateMode._quadraticVertex[0],0\x3e\x3darguments.length?void 0:arguments[0],3\x3e\x3darguments.length?void 0:arguments[3]];a\x3d[this.immediateMode._quadraticVertex[1],1\x3e\x3darguments.length?void 0:arguments[1],4\x3e\x3darguments.length?void 0:arguments[4]];var s\x3d[this.immediateMode._quadraticVertex[2],2\x3e\x3darguments.length?void 0:arguments[2],5\x3e\x3darguments.length?void 0:arguments[5]];\nfor(o\x3d0;o\x3ce;o++)t\x3di[0]*this._lookUpTableQuadratic[o][0]+i[1]*this._lookUpTableQuadratic[o][1]+i[2]*this._lookUpTableQuadratic[o][2],r\x3da[0]*this._lookUpTableQuadratic[o][0]+a[1]*this._lookUpTableQuadratic[o][1]+a[2]*this._lookUpTableQuadratic[o][2],n\x3ds[0]*this._lookUpTableQuadratic[o][0]+s[1]*this._lookUpTableQuadratic[o][1]+s[2]*this._lookUpTableQuadratic[o][2],this.vertex(t,r,n);this.immediateMode._quadraticVertex[0]\x3d3\x3e\x3darguments.length?void 0:arguments[3];this.immediateMode._quadraticVertex[1]\x3d\n4\x3e\x3darguments.length?void 0:arguments[4];this.immediateMode._quadraticVertex[2]\x3d5\x3e\x3darguments.length?void 0:arguments[5]}};E.default.RendererGL.prototype.curveVertex\x3dfunction(){var e,i,l\x3darguments.length;if((e\x3d0)\x3d\x3d\x3dthis._lookUpTableBezier.length||this._lutBezierDetail!\x3d\x3dthis._pInst._curveDetail){this._lookUpTableBezier\x3d[];this._lutBezierDetail\x3dthis._pInst._curveDetail;var r\x3d1/this._lutBezierDetail;var n\x3d0;var o\x3d1;for(i\x3d0;1\x3en;){if(e\x3dparseFloat(n.toFixed(6)),this._lookUpTableBezier[i]\x3dthis._bezierCoefficients(e),\no.toFixed(6)\x3d\x3d\x3dr.toFixed(6)){e\x3dparseFloat(o.toFixed(6))+parseFloat(n.toFixed(6));++i;this._lookUpTableBezier[i]\x3dthis._bezierCoefficients(e);break}n+\x3dr;o-\x3dr;++i}}var h\x3dthis._lookUpTableBezier.length;if(2\x3d\x3d\x3dl){if(this.immediateMode._curveVertex.push(0\x3e\x3darguments.length?void 0:arguments[0]),this.immediateMode._curveVertex.push(1\x3e\x3darguments.length?void 0:arguments[1]),8\x3d\x3d\x3dthis.immediateMode._curveVertex.length){this.isCurve\x3d!0;i\x3dthis._bezierToCatmull([this.immediateMode._curveVertex[0],this.immediateMode._curveVertex[2],\nthis.immediateMode._curveVertex[4],this.immediateMode._curveVertex[6]]);var a\x3dthis._bezierToCatmull([this.immediateMode._curveVertex[1],this.immediateMode._curveVertex[3],this.immediateMode._curveVertex[5],this.immediateMode._curveVertex[7]]);for(o\x3d0;o\x3ch;o++)e\x3di[0]*this._lookUpTableBezier[o][0]+i[1]*this._lookUpTableBezier[o][1]+i[2]*this._lookUpTableBezier[o][2]+i[3]*this._lookUpTableBezier[o][3],r\x3da[0]*this._lookUpTableBezier[o][0]+a[1]*this._lookUpTableBezier[o][1]+a[2]*this._lookUpTableBezier[o][2]+\na[3]*this._lookUpTableBezier[o][3],this.vertex(e,r);for(o\x3d0;o\x3cl;o++)this.immediateMode._curveVertex.shift()}}else if(3\x3d\x3d\x3dl\x26\x26(this.immediateMode._curveVertex.push(0\x3e\x3darguments.length?void 0:arguments[0]),this.immediateMode._curveVertex.push(1\x3e\x3darguments.length?void 0:arguments[1]),this.immediateMode._curveVertex.push(2\x3e\x3darguments.length?void 0:arguments[2]),12\x3d\x3d\x3dthis.immediateMode._curveVertex.length)){this.isCurve\x3d!0;i\x3dthis._bezierToCatmull([this.immediateMode._curveVertex[0],this.immediateMode._curveVertex[3],\nthis.immediateMode._curveVertex[6],this.immediateMode._curveVertex[9]]);a\x3dthis._bezierToCatmull([this.immediateMode._curveVertex[1],this.immediateMode._curveVertex[4],this.immediateMode._curveVertex[7],this.immediateMode._curveVertex[10]]);var s\x3dthis._bezierToCatmull([this.immediateMode._curveVertex[2],this.immediateMode._curveVertex[5],this.immediateMode._curveVertex[8],this.immediateMode._curveVertex[11]]);for(o\x3d0;o\x3ch;o++)e\x3di[0]*this._lookUpTableBezier[o][0]+i[1]*this._lookUpTableBezier[o][1]+i[2]*\nthis._lookUpTableBezier[o][2]+i[3]*this._lookUpTableBezier[o][3],r\x3da[0]*this._lookUpTableBezier[o][0]+a[1]*this._lookUpTableBezier[o][1]+a[2]*this._lookUpTableBezier[o][2]+a[3]*this._lookUpTableBezier[o][3],n\x3ds[0]*this._lookUpTableBezier[o][0]+s[1]*this._lookUpTableBezier[o][1]+s[2]*this._lookUpTableBezier[o][2]+s[3]*this._lookUpTableBezier[o][3],this.vertex(e,r,n);for(o\x3d0;o\x3cl;o++)this.immediateMode._curveVertex.shift()}};E.default.RendererGL.prototype.image\x3dfunction(e,t,r,n,o,i,a,s,l){this._isErasing\x26\x26\nthis.blendMode(this._cachedBlendMode);this._pInst.push();this._pInst.noLights();this._pInst.texture(e);this._pInst.textureMode(h$jscomp$0.NORMAL);var u\x3d0;t\x3c\x3de.width\x26\x26(u\x3dt/e.width);var c\x3d1;t+n\x3c\x3de.width\x26\x26(c\x3d(t+n)/e.width);t\x3d0;r\x3c\x3de.height\x26\x26(t\x3dr/e.height);n\x3d1;r+o\x3c\x3de.height\x26\x26(n\x3d(r+o)/e.height);this.beginShape();this.vertex(i,a,0,u,t);this.vertex(i+s,a,0,c,t);this.vertex(i+s,a+l,0,c,n);this.vertex(i,a+l,0,u,n);this.endShape(h$jscomp$0.CLOSE);this._pInst.pop();this._isErasing\x26\x26this.blendMode(h$jscomp$0.REMOVE)};\nr$jscomp$1.default\x3dE.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./p5.Geometry\x22:313,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.number.to-fixed\x22:172}],308:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3d\ntypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.splice\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,f\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},o$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3d\na$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));f.default.prototype.orbitControl\x3dfunction(e,t,r){if(this._assert3d(\x22orbitControl\x22),f.default._validateParameters(\x22orbitControl\x22,\narguments),this.mouseX\x3cthis.width\x26\x260\x3cthis.mouseX\x26\x26this.mouseY\x3cthis.height\x26\x260\x3cthis.mouseY){var n\x3dthis._renderer._curCamera;void 0\x3d\x3d\x3de\x26\x26(e\x3d1);void 0\x3d\x3d\x3dt\x26\x26(t\x3de);void 0\x3d\x3d\x3dr\x26\x26(r\x3d.5);!0!\x3d\x3dthis.contextMenuDisabled\x26\x26(this.canvas.oncontextmenu\x3dfunction(){return!1},this._setProperty(\x22contextMenuDisabled\x22,!0));!0!\x3d\x3dthis.wheelDefaultDisabled\x26\x26(this.canvas.onwheel\x3dfunction(){return!1},this._setProperty(\x22wheelDefaultDisabled\x22,!0));var o\x3dthis.height\x3cthis.width?this.height:this.width;if(this._mouseWheelDeltaY!\x3d\x3d\nthis._pmouseWheelDeltaY\x26\x26(0\x3cthis._mouseWheelDeltaY?this._renderer._curCamera._orbit(0,0,r*o):this._renderer._curCamera._orbit(0,0,-r*o)),this.mouseIsPressed)if(this.mouseButton\x3d\x3d\x3dthis.LEFT)this._renderer._curCamera._orbit(-e*(this.mouseX-this.pmouseX)/o,t*(this.mouseY-this.pmouseY)/o,0);else if(this.mouseButton\x3d\x3d\x3dthis.RIGHT){o\x3dn._getLocalAxes();var l\x3dMath.sqrt(o.x[0]*o.x[0]+o.x[2]*o.x[2]);0!\x3d\x3dl\x26\x26(o.x[0]/\x3dl,o.x[2]/\x3dl);l\x3dMath.sqrt(o.y[0]*o.y[0]+o.y[2]*o.y[2]);0!\x3d\x3dl\x26\x26(o.y[0]/\x3dl,o.y[2]/\x3dl);l\x3d-1*e*(this.mouseX-\nthis.pmouseX);var d\x3d-1*t*(this.mouseY-this.pmouseY);n.setPosition(n.eyeX+l*o.x[0]+d*o.z[0],n.eyeY,n.eyeZ+l*o.x[2]+d*o.z[2])}return this}};f.default.prototype.debugMode\x3dfunction(){this._assert3d(\x22debugMode\x22);for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];f.default._validateParameters(\x22debugMode\x22,t);for(e\x3dthis._registeredMethods.post.length-1;0\x3c\x3de;e--)this._registeredMethods.post[e].toString()!\x3d\x3dthis._grid().toString()\x26\x26this._registeredMethods.post[e].toString()!\x3d\x3dthis._axesIcon().toString()||\nthis._registeredMethods.post.splice(e,1);t[0]\x3d\x3d\x3do$jscomp$0.GRID?this.registerMethod(\x22post\x22,this._grid.call(this,t[1],t[2],t[3],t[4],t[5])):t[0]\x3d\x3d\x3do$jscomp$0.AXES?this.registerMethod(\x22post\x22,this._axesIcon.call(this,t[1],t[2],t[3],t[4])):(this.registerMethod(\x22post\x22,this._grid.call(this,t[0],t[1],t[2],t[3],t[4])),this.registerMethod(\x22post\x22,this._axesIcon.call(this,t[5],t[6],t[7],t[8])))};f.default.prototype.noDebugMode\x3dfunction(){this._assert3d(\x22noDebugMode\x22);for(var e\x3dthis._registeredMethods.post.length-\n1;0\x3c\x3de;e--)this._registeredMethods.post[e].toString()!\x3d\x3dthis._grid().toString()\x26\x26this._registeredMethods.post[e].toString()!\x3d\x3dthis._axesIcon().toString()||this._registeredMethods.post.splice(e,1)};f.default.prototype._grid\x3dfunction(e$jscomp$0,r,n,o,i){void 0\x3d\x3d\x3de$jscomp$0\x26\x26(e$jscomp$0\x3dthis.width/2);void 0\x3d\x3d\x3dr\x26\x26(r\x3d4\x3eMath.round(e$jscomp$0/30)?4:Math.round(e$jscomp$0/30));void 0\x3d\x3d\x3dn\x26\x26(n\x3d0);void 0\x3d\x3d\x3do\x26\x26(o\x3d0);void 0\x3d\x3d\x3di\x26\x26(i\x3d0);var a\x3de$jscomp$0/r,s\x3de$jscomp$0/2;return function(){this.push();this.stroke(255*\nthis._renderer.curStrokeColor[0],255*this._renderer.curStrokeColor[1],255*this._renderer.curStrokeColor[2]);this._renderer.uMVMatrix.set(this._renderer._curCamera.cameraMatrix.mat4[0],this._renderer._curCamera.cameraMatrix.mat4[1],this._renderer._curCamera.cameraMatrix.mat4[2],this._renderer._curCamera.cameraMatrix.mat4[3],this._renderer._curCamera.cameraMatrix.mat4[4],this._renderer._curCamera.cameraMatrix.mat4[5],this._renderer._curCamera.cameraMatrix.mat4[6],this._renderer._curCamera.cameraMatrix.mat4[7],\nthis._renderer._curCamera.cameraMatrix.mat4[8],this._renderer._curCamera.cameraMatrix.mat4[9],this._renderer._curCamera.cameraMatrix.mat4[10],this._renderer._curCamera.cameraMatrix.mat4[11],this._renderer._curCamera.cameraMatrix.mat4[12],this._renderer._curCamera.cameraMatrix.mat4[13],this._renderer._curCamera.cameraMatrix.mat4[14],this._renderer._curCamera.cameraMatrix.mat4[15]);for(var e\x3d0;e\x3c\x3dr;e++)this.beginShape(this.LINES),this.vertex(-s+n,o,e*a-s+i),this.vertex(+s+n,o,e*a-s+i),this.endShape();\nfor(e\x3d0;e\x3c\x3dr;e++)this.beginShape(this.LINES),this.vertex(e*a-s+n,o,-s+i),this.vertex(e*a-s+n,o,+s+i),this.endShape();this.pop()}};f.default.prototype._axesIcon\x3dfunction(e,t,r,n){return void 0\x3d\x3d\x3de\x26\x26(e\x3d40\x3cthis.width/20?this.width/20:40),void 0\x3d\x3d\x3dt\x26\x26(t\x3d-this.width/4),void 0\x3d\x3d\x3dr\x26\x26(r\x3dt),void 0\x3d\x3d\x3dn\x26\x26(n\x3dt),function(){this.push();this._renderer.uMVMatrix.set(this._renderer._curCamera.cameraMatrix.mat4[0],this._renderer._curCamera.cameraMatrix.mat4[1],this._renderer._curCamera.cameraMatrix.mat4[2],this._renderer._curCamera.cameraMatrix.mat4[3],\nthis._renderer._curCamera.cameraMatrix.mat4[4],this._renderer._curCamera.cameraMatrix.mat4[5],this._renderer._curCamera.cameraMatrix.mat4[6],this._renderer._curCamera.cameraMatrix.mat4[7],this._renderer._curCamera.cameraMatrix.mat4[8],this._renderer._curCamera.cameraMatrix.mat4[9],this._renderer._curCamera.cameraMatrix.mat4[10],this._renderer._curCamera.cameraMatrix.mat4[11],this._renderer._curCamera.cameraMatrix.mat4[12],this._renderer._curCamera.cameraMatrix.mat4[13],this._renderer._curCamera.cameraMatrix.mat4[14],\nthis._renderer._curCamera.cameraMatrix.mat4[15]);this.strokeWeight(2);this.stroke(255,0,0);this.beginShape(this.LINES);this.vertex(t,r,n);this.vertex(t+e,r,n);this.endShape();this.stroke(0,255,0);this.beginShape(this.LINES);this.vertex(t,r,n);this.vertex(t,r+e,n);this.endShape();this.stroke(0,0,255);this.beginShape(this.LINES);this.vertex(t,r,n);this.vertex(t,r,n+e);this.endShape();this.pop()}};r$jscomp$0.default\x3df.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22core-js/modules/es.array.splice\x22:164,\n\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.to-string\x22:182}],309:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},\ne}Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,y\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},o$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3d\nn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));y.default.prototype.ambientLight\x3dfunction(e,t,r,n){this._assert3d(\x22ambientLight\x22);y.default._validateParameters(\x22ambientLight\x22,arguments);var o\x3dthis.color.apply(this,arguments);return this._renderer.ambientLightColors.push(o._array[0],o._array[1],o._array[2]),this._renderer._enableLighting\x3d!0,this};y.default.prototype.specularColor\x3d\nfunction(e,t,r){this._assert3d(\x22specularColor\x22);y.default._validateParameters(\x22specularColor\x22,arguments);var n\x3dthis.color.apply(this,arguments);return this._renderer.specularColors\x3d[n._array[0],n._array[1],n._array[2]],this};y.default.prototype.directionalLight\x3dfunction(e,t,r,n,o,i){var s,l;this._assert3d(\x22directionalLight\x22);y.default._validateParameters(\x22directionalLight\x22,arguments);var a\x3de instanceof y.default.Color?e:this.color(e,t,r);var c\x3darguments[arguments.length-1];var u\x3d\x22number\x22\x3d\x3dtypeof c?\n(s\x3darguments[arguments.length-3],l\x3darguments[arguments.length-2],arguments[arguments.length-1]):(s\x3dc.x,l\x3dc.y,c.z);c\x3dMath.sqrt(s*s+l*l+u*u);return this._renderer.directionalLightDirections.push(s/c,l/c,u/c),this._renderer.directionalLightDiffuseColors.push(a._array[0],a._array[1],a._array[2]),Array.prototype.push.apply(this._renderer.directionalLightSpecularColors,this._renderer.specularColors),this._renderer._enableLighting\x3d!0,this};y.default.prototype.pointLight\x3dfunction(e,t,r,n,o,i){var s,l,u;this._assert3d(\x22pointLight\x22);\ny.default._validateParameters(\x22pointLight\x22,arguments);var a\x3de instanceof y.default.Color?e:this.color(e,t,r);var c\x3darguments[arguments.length-1];return u\x3d\x22number\x22\x3d\x3dtypeof c?(s\x3darguments[arguments.length-3],l\x3darguments[arguments.length-2],arguments[arguments.length-1]):(s\x3dc.x,l\x3dc.y,c.z),this._renderer.pointLightPositions.push(s,l,u),this._renderer.pointLightDiffuseColors.push(a._array[0],a._array[1],a._array[2]),Array.prototype.push.apply(this._renderer.pointLightSpecularColors,this._renderer.specularColors),\nthis._renderer._enableLighting\x3d!0,this};y.default.prototype.lights\x3dfunction(){if(this._assert3d(\x22lights\x22),this._colorMode\x3d\x3d\x3do$jscomp$0.RGB)this.ambientLight(128,128,128),this.directionalLight(128,128,128,0,0,-1);else{var e\x3dthis._colorMaxes[this._colorMode][2];this.ambientLight(0,0,e);this.directionalLight(0,0,e,0,0,-1)}return this};y.default.prototype.lightFalloff\x3dfunction(e,t,r){return this._assert3d(\x22lightFalloff\x22),y.default._validateParameters(\x22lightFalloff\x22,arguments),0\x3ee\x26\x26(e\x3d0,console.warn(\x22Value of constant argument in lightFalloff() should be never be negative. Set to 0.\x22)),\n0\x3et\x26\x26(t\x3d0,console.warn(\x22Value of linear argument in lightFalloff() should be never be negative. Set to 0.\x22)),0\x3er\x26\x26(r\x3d0,console.warn(\x22Value of quadratic argument in lightFalloff() should be never be negative. Set to 0.\x22)),0\x3d\x3d\x3de\x26\x260\x3d\x3d\x3dt\x26\x260\x3d\x3d\x3dr\x26\x26(e\x3d1,console.warn(\x22Either one of the three arguments in lightFalloff() should be greater than zero. Set constant argument to 1.\x22)),this._renderer.constantAttenuation\x3de,this._renderer.linearAttenuation\x3dt,this._renderer.quadraticAttenuation\x3dr,this};y.default.prototype.spotLight\x3d\nfunction(e,t,r,n,o,i,a,s,l,u,c){this._assert3d(\x22spotLight\x22);y.default._validateParameters(\x22spotLight\x22,arguments);var p\x3darguments.length;switch(p){case 11:case 10:var d\x3dthis.color(e,t,r);var f\x3dnew y.default.Vector(n,o,i);var h\x3dnew y.default.Vector(a,s,l);break;case 9:e instanceof y.default.Color?(d\x3de,f\x3dnew y.default.Vector(t,r,n),h\x3dnew y.default.Vector(o,i,a),u\x3ds,c\x3dl):n instanceof y.default.Vector?(d\x3dthis.color(e,t,r),f\x3dn,h\x3dnew y.default.Vector(o,i,a),u\x3ds,c\x3dl):a instanceof y.default.Vector?(d\x3dthis.color(e,\nt,r),f\x3dnew y.default.Vector(n,o,i),h\x3da,u\x3ds,c\x3dl):(d\x3dthis.color(e,t,r),f\x3dnew y.default.Vector(n,o,i),h\x3dnew y.default.Vector(a,s,l));break;case 8:u\x3d(h\x3de instanceof y.default.Color?(d\x3de,f\x3dnew y.default.Vector(t,r,n),new y.default.Vector(o,i,a)):n instanceof y.default.Vector?(d\x3dthis.color(e,t,r),f\x3dn,new y.default.Vector(o,i,a)):(d\x3dthis.color(e,t,r),f\x3dnew y.default.Vector(n,o,i),a),s);break;case 7:e instanceof y.default.Color\x26\x26t instanceof y.default.Vector?(d\x3de,f\x3dt,h\x3dnew y.default.Vector(r,n,o),u\x3di,c\x3da):\ne instanceof y.default.Color\x26\x26o instanceof y.default.Vector?(d\x3de,f\x3dnew y.default.Vector(t,r,n),h\x3do,u\x3di,c\x3da):n instanceof y.default.Vector\x26\x26o instanceof y.default.Vector?(d\x3dthis.color(e,t,r),f\x3dn,h\x3do,u\x3di,c\x3da):h\x3de instanceof y.default.Color?(d\x3de,f\x3dnew y.default.Vector(t,r,n),new y.default.Vector(o,i,a)):n instanceof y.default.Vector?(d\x3dthis.color(e,t,r),f\x3dn,new y.default.Vector(o,i,a)):(d\x3dthis.color(e,t,r),f\x3dnew y.default.Vector(n,o,i),a);break;case 6:n instanceof y.default.Vector\x26\x26o instanceof y.default.Vector?\n(d\x3dthis.color(e,t,r),f\x3dn,h\x3do,u\x3di):e instanceof y.default.Color\x26\x26o instanceof y.default.Vector?(d\x3de,f\x3dnew y.default.Vector(t,r,n),h\x3do,u\x3di):e instanceof y.default.Color\x26\x26t instanceof y.default.Vector\x26\x26(d\x3de,f\x3dt,h\x3dnew y.default.Vector(r,n,o),u\x3di);break;case 5:e instanceof y.default.Color\x26\x26t instanceof y.default.Vector\x26\x26r instanceof y.default.Vector?(d\x3de,f\x3dt,h\x3dr,u\x3dn,c\x3do):n instanceof y.default.Vector\x26\x26o instanceof y.default.Vector?(d\x3dthis.color(e,t,r),f\x3dn,h\x3do):e instanceof y.default.Color\x26\x26o instanceof\ny.default.Vector?(d\x3de,f\x3dnew y.default.Vector(t,r,n),h\x3do):e instanceof y.default.Color\x26\x26t instanceof y.default.Vector\x26\x26(d\x3de,f\x3dt,h\x3dnew y.default.Vector(r,n,o));break;case 4:d\x3de;f\x3dt;h\x3dr;u\x3dn;break;case 3:d\x3de;f\x3dt;h\x3dr;break;default:return console.warn(\x22Sorry, input for spotlight() is not in prescribed format. Too \x22.concat(3\x3ep?\x22few\x22:\x22many\x22,\x22 arguments were provided\x22)),this}return this._renderer.spotLightDiffuseColors.push(d._array[0],d._array[1],d._array[2]),Array.prototype.push.apply(this._renderer.spotLightSpecularColors,\nthis._renderer.specularColors),this._renderer.spotLightPositions.push(f.x,f.y,f.z),h.normalize(),this._renderer.spotLightDirections.push(h.x,h.y,h.z),void 0\x3d\x3d\x3du\x26\x26(u\x3dMath.PI/3),void 0!\x3d\x3dc\x26\x261\x3ec?(c\x3d1,console.warn(\x22Value of concentration needs to be greater than 1. Setting it to 1\x22)):void 0\x3d\x3d\x3dc\x26\x26(c\x3d100),u\x3dthis._renderer._pInst._toRadians(u),this._renderer.spotLightAngle.push(Math.cos(u)),this._renderer.spotLightConc.push(c),this._renderer._enableLighting\x3d!0,this};y.default.prototype.noLights\x3dfunction(){return this._assert3d(\x22noLights\x22),\ny.default._validateParameters(\x22noLights\x22,arguments),this._renderer._enableLighting\x3d!1,this._renderer.ambientLightColors.length\x3d0,this._renderer.specularColors\x3d[1,1,1],this._renderer.directionalLightDirections.length\x3d0,this._renderer.directionalLightDiffuseColors.length\x3d0,this._renderer.directionalLightSpecularColors.length\x3d0,this._renderer.pointLightPositions.length\x3d0,this._renderer.pointLightDiffuseColors.length\x3d0,this._renderer.pointLightSpecularColors.length\x3d0,this._renderer.spotLightPositions.length\x3d\n0,this._renderer.spotLightDirections.length\x3d0,this._renderer.spotLightDiffuseColors.length\x3d0,this._renderer.spotLightSpecularColors.length\x3d0,this._renderer.spotLightAngle.length\x3d0,this._renderer.spotLightConc.length\x3d0,this._renderer.constantAttenuation\x3d1,this._renderer.linearAttenuation\x3d0,this._renderer.quadraticAttenuation\x3d0,this._renderer._useShininess\x3d1,this};r$jscomp$0.default\x3dy.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264}],310:[function(e$jscomp$3,t$jscomp$2,r$jscomp$2){e$jscomp$3(\x22core-js/modules/es.array.concat\x22);\ne$jscomp$3(\x22core-js/modules/es.array.index-of\x22);e$jscomp$3(\x22core-js/modules/es.array.slice\x22);e$jscomp$3(\x22core-js/modules/es.array.splice\x22);e$jscomp$3(\x22core-js/modules/es.object.to-string\x22);e$jscomp$3(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$3(\x22core-js/modules/es.string.match\x22);e$jscomp$3(\x22core-js/modules/es.string.split\x22);e$jscomp$3(\x22core-js/modules/es.string.trim\x22);Object.defineProperty(r$jscomp$2,\x22__esModule\x22,{value:!0});r$jscomp$2.default\x3dvoid 0;var n$jscomp$2,j\x3d(n$jscomp$2\x3de$jscomp$3(\x22../core/main\x22))\x26\x26\nn$jscomp$2.__esModule?n$jscomp$2:{default:n$jscomp$2};e$jscomp$3(\x22./p5.Geometry\x22);j.default.prototype.loadModel\x3dfunction(e$jscomp$2){var t$jscomp$1,r$jscomp$1,n$jscomp$1;j.default._validateParameters(\x22loadModel\x22,arguments);var o$jscomp$0\x3de$jscomp$2.slice(-4);\x22boolean\x22\x3d\x3dtypeof arguments[1]?(t$jscomp$1\x3darguments[1],r$jscomp$1\x3darguments[2],n$jscomp$1\x3darguments[3],void 0!\x3d\x3darguments[4]\x26\x26(o$jscomp$0\x3darguments[4])):(t$jscomp$1\x3d!1,r$jscomp$1\x3darguments[1],n$jscomp$1\x3darguments[2],void 0!\x3d\x3darguments[3]\x26\x26(o$jscomp$0\x3d\narguments[3]));var i$jscomp$0\x3dnew j.default.Geometry;i$jscomp$0.gid\x3d\x22\x22.concat(e$jscomp$2,\x22|\x22).concat(t$jscomp$1);var a$jscomp$0\x3dthis;return o$jscomp$0.match(/\\.stl$/i)?this.httpDo(e$jscomp$2,\x22GET\x22,\x22arrayBuffer\x22,function(e$jscomp$1){!function(e$jscomp$0,t$jscomp$0){if(function(e){e\x3dnew DataView(e);for(var r\x3d[115,111,108,105,100],n\x3d0;5\x3en;n++){a:{var JSCompiler_inline_result\x3dr;for(var t\x3de,r$jscomp$0\x3dn,n$jscomp$0\x3d0,o\x3dJSCompiler_inline_result.length;n$jscomp$0\x3co;n$jscomp$0++)if(JSCompiler_inline_result[n$jscomp$0]!\x3d\x3d\nt.getUint8(r$jscomp$0+n$jscomp$0,!1)){JSCompiler_inline_result\x3d!1;break a}JSCompiler_inline_result\x3d!0}if(JSCompiler_inline_result)return!1}return!0}(t$jscomp$0))!function(e,t){var r,n,i,a,s,l;t\x3dnew DataView(t);for(var c\x3dt.getUint32(80,!0),d\x3d!1,f\x3d0;70\x3ef;f++)1129270351\x3d\x3d\x3dt.getUint32(f,!1)\x26\x2682\x3d\x3d\x3dt.getUint8(f+4)\x26\x2661\x3d\x3d\x3dt.getUint8(f+5)\x26\x26(d\x3d!0,i\x3d[],a\x3dt.getUint8(f+6)/255,s\x3dt.getUint8(f+7)/255,l\x3dt.getUint8(f+8)/255);for(f\x3d0;f\x3cc;f++){var p\x3d84+50*f,y\x3dt.getFloat32(p,!0),m\x3dt.getFloat32(4+p,!0),g\x3dt.getFloat32(8+\np,!0);if(d){var v\x3dt.getUint16(48+p,!0);var o\x3d0\x3d\x3d(32768\x26v)?(r\x3d(31\x26v)/31,n\x3d(v\x3e\x3e5\x2631)/31,(v\x3e\x3e10\x2631)/31):(r\x3da,n\x3ds,l)}y\x3dnew j.default.Vector(y,m,g);for(m\x3d1;3\x3e\x3dm;m++)g\x3dp+12*m,g\x3dnew j.default.Vector(t.getFloat32(g,!0),t.getFloat32(4+g,!0),t.getFloat32(8+g,!0)),e.vertices.push(g),e.vertexNormals.push(y),d\x26\x26i.push(r,n,o);e.faces.push([3*f,3*f+1,3*f+2]);e.uvs.push([0,0],[0,0],[0,0])}}(e$jscomp$0,t$jscomp$0);else{t$jscomp$0\x3dnew DataView(t$jscomp$0);if(!(\x22TextDecoder\x22in window))return console.warn(\x22Sorry, ASCII STL loading only works in browsers that support TextDecoder (https://caniuse.com/#feat\\x3dtextencoder)\x22);\nt$jscomp$0\x3d(new TextDecoder(\x22utf-8\x22)).decode(t$jscomp$0).split(\x22\\n\x22);!function(e,t){var r\x3d\x22\x22;for(var i\x3d[],a\x3d0;a\x3ct.length;++a){var n\x3dt[a].trim();for(var l\x3dn.split(\x22 \x22),u\x3d0;u\x3cl.length;++u)\x22\x22\x3d\x3d\x3dl[u]\x26\x26l.splice(u,1);if(0!\x3d\x3dl.length)switch(r){case \x22\x22:if(\x22solid\x22!\x3d\x3dl[0])return console.error(n),console.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22solid\x22\x27));r\x3d\x22solid\x22;break;case \x22solid\x22:if(\x22facet\x22!\x3d\x3dl[0]||\x22normal\x22!\x3d\x3dl[1])return console.error(n),console.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22facet normal\x22\x27));\nr\x3dnew j.default.Vector(parseFloat(l[2]),parseFloat(l[3]),parseFloat(l[4]));e.vertexNormals.push(r,r,r);r\x3d\x22facet normal\x22;break;case \x22facet normal\x22:if(\x22outer\x22!\x3d\x3dl[0]||\x22loop\x22!\x3d\x3dl[1])return console.error(n),console.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22outer loop\x22\x27));r\x3d\x22vertex\x22;break;case \x22vertex\x22:if(\x22vertex\x22\x3d\x3d\x3dl[0])n\x3dnew j.default.Vector(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3])),e.vertices.push(n),e.uvs.push([0,0]),i.push(e.vertices.indexOf(n));else{if(\x22endloop\x22!\x3d\x3dl[0])return console.error(n),\nconsole.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22vertex\x22 or \x22endloop\x22\x27));e.faces.push(i);i\x3d[];r\x3d\x22endloop\x22}break;case \x22endloop\x22:if(\x22endfacet\x22!\x3d\x3dl[0])return console.error(n),console.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22endfacet\x22\x27));r\x3d\x22endfacet\x22;break;case \x22endfacet\x22:if(\x22endsolid\x22!\x3d\x3dl[0]){if(\x22facet\x22!\x3d\x3dl[0]||\x22normal\x22!\x3d\x3dl[1])return console.error(n),console.error(\x27Invalid state \x22\x27.concat(l[0],\x27\x22, should be \x22endsolid\x22 or \x22facet normal\x22\x27));r\x3dnew j.default.Vector(parseFloat(l[2]),parseFloat(l[3]),\nparseFloat(l[4]));e.vertexNormals.push(r,r,r);r\x3d\x22facet normal\x22}break;default:console.error(\x27Invalid state \x22\x27.concat(r,\x27\x22\x27))}}}(e$jscomp$0,t$jscomp$0)}}(i$jscomp$0,e$jscomp$1);t$jscomp$1\x26\x26i$jscomp$0.normalize();a$jscomp$0._decrementPreload();\x22function\x22\x3d\x3dtypeof r$jscomp$1\x26\x26r$jscomp$1(i$jscomp$0)},n$jscomp$1):o$jscomp$0.match(/\\.obj$/i)?this.loadStrings(e$jscomp$2,function(e){for(var r\x3d{v:[],vt:[],vn:[]},n\x3d{},o\x3d0;o\x3ce.length;++o){var i\x3de[o].trim().split(/\\b\\s+/);if(0\x3ci.length)if(\x22v\x22\x3d\x3d\x3di[0]||\x22vn\x22\x3d\x3d\x3di[0]){var a\x3d\nnew j.default.Vector(parseFloat(i[1]),parseFloat(i[2]),parseFloat(i[3]));r[i[0]].push(a)}else if(\x22vt\x22\x3d\x3d\x3di[0])a\x3d[parseFloat(i[1]),1-parseFloat(i[2])],r[i[0]].push(a);else if(\x22f\x22\x3d\x3d\x3di[0])for(a\x3d3;a\x3ci.length;++a){for(var u\x3d[],c\x3d[1,a-1,a],d\x3d0;d\x3cc.length;++d){var f\x3di[c[d]];if(void 0!\x3d\x3dn[f])f\x3dn[f];else{for(var p\x3df.split(\x22/\x22),y\x3d0;y\x3cp.length;y++)p[y]\x3dparseInt(p[y])-1;f\x3dn[f]\x3di$jscomp$0.vertices.length;i$jscomp$0.vertices.push(r.v[p[0]].copy());r.vt[p[1]]?i$jscomp$0.uvs.push(r.vt[p[1]].slice()):i$jscomp$0.uvs.push([0,\n0]);r.vn[p[2]]\x26\x26i$jscomp$0.vertexNormals.push(r.vn[p[2]].copy())}u.push(f)}u[0]!\x3d\x3du[1]\x26\x26u[0]!\x3d\x3du[2]\x26\x26u[1]!\x3d\x3du[2]\x26\x26i$jscomp$0.faces.push(u)}}0\x3d\x3d\x3di$jscomp$0.vertexNormals.length\x26\x26i$jscomp$0.computeNormals();!0;t$jscomp$1\x26\x26i$jscomp$0.normalize();a$jscomp$0._decrementPreload();\x22function\x22\x3d\x3dtypeof r$jscomp$1\x26\x26r$jscomp$1(i$jscomp$0)},n$jscomp$1):(j.default._friendlyFileLoadError(3,e$jscomp$2),n$jscomp$1?n$jscomp$1():console.error(\x22Sorry, the file type is invalid. Only OBJ and STL files are supported.\x22)),\ni$jscomp$0};j.default.prototype.model\x3dfunction(e){this._assert3d(\x22model\x22);j.default._validateParameters(\x22model\x22,arguments);0\x3ce.vertices.length\x26\x26(this._renderer.geometryInHash(e.gid)||(e._makeTriangleEdges()._edgesToVertices(),this._renderer.createBuffers(e.gid,e)),this._renderer.drawBuffers(e.gid))};r$jscomp$2.default\x3dj.default},{\x22../core/main\x22:264,\x22./p5.Geometry\x22:313,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.array.splice\x22:164,\n\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.match\x22:187,\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.trim\x22:193}],311:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}\nfunction s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.join\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,u\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},o$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();\nif(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));e$jscomp$1(\x22./p5.Texture\x22);u.default.prototype.loadShader\x3dfunction(e$jscomp$0,t,r,n){u.default._validateParameters(\x22loadShader\x22,arguments);n\x3dn||console.error;var i\x3dnew u.default.Shader,\na\x3dthis,s\x3d!1,l\x3d!1;return this.loadStrings(e$jscomp$0,function(e){i._vertSrc\x3de.join(\x22\\n\x22);l\x3d!0;s\x26\x26(a._decrementPreload(),r\x26\x26r(i))},n),this.loadStrings(t,function(e){i._fragSrc\x3de.join(\x22\\n\x22);s\x3d!0;l\x26\x26(a._decrementPreload(),r\x26\x26r(i))},n),i};u.default.prototype.createShader\x3dfunction(e,t){return this._assert3d(\x22createShader\x22),u.default._validateParameters(\x22createShader\x22,arguments),new u.default.Shader(this._renderer,e,t)};u.default.prototype.shader\x3dfunction(e){return this._assert3d(\x22shader\x22),u.default._validateParameters(\x22shader\x22,\narguments),void 0\x3d\x3d\x3de._renderer\x26\x26(e._renderer\x3dthis._renderer),e.init(),e.isStrokeShader()?this._renderer.userStrokeShader\x3de:(this._renderer.userFillShader\x3de,this._renderer._useNormalMaterial\x3d!1),this};u.default.prototype.resetShader\x3dfunction(){return this._renderer.userFillShader\x3dthis._renderer.userStrokeShader\x3dnull,this};u.default.prototype.texture\x3dfunction(e){return this._assert3d(\x22texture\x22),u.default._validateParameters(\x22texture\x22,arguments),e.gifProperties\x26\x26e._animateGif(this),this._renderer.drawMode\x3d\no$jscomp$0.TEXTURE,this._renderer._useSpecularMaterial\x3d!1,this._renderer._useEmissiveMaterial\x3d!1,this._renderer._useNormalMaterial\x3d!1,this._renderer._tex\x3de,this._renderer._setProperty(\x22_doFill\x22,!0),this};u.default.prototype.textureMode\x3dfunction(e){e!\x3d\x3do$jscomp$0.IMAGE\x26\x26e!\x3d\x3do$jscomp$0.NORMAL?console.warn(\x22You tried to set \x22.concat(e,\x22 textureMode only supports IMAGE \\x26 NORMAL \x22)):this._renderer.textureMode\x3de};u.default.prototype.textureWrap\x3dfunction(e){var t\x3d1\x3carguments.length\x26\x26void 0!\x3d\x3darguments[1]?\narguments[1]:e;this._renderer.textureWrapX\x3de;this._renderer.textureWrapY\x3dt;for(var r\x3dthis._renderer.textures,n\x3d0;n\x3cr.length;n++)r[n].setWrapMode(e,t)};u.default.prototype.normalMaterial\x3dfunction(){this._assert3d(\x22normalMaterial\x22);for(var e\x3darguments.length,t\x3dArray(e),r\x3d0;r\x3ce;r++)t[r]\x3darguments[r];return u.default._validateParameters(\x22normalMaterial\x22,t),this._renderer.drawMode\x3do$jscomp$0.FILL,this._renderer._useSpecularMaterial\x3d!1,this._renderer._useEmissiveMaterial\x3d!1,this._renderer._useNormalMaterial\x3d\n!0,this._renderer.curFillColor\x3d[1,1,1,1],this._renderer._setProperty(\x22_doFill\x22,!0),this.noStroke(),this};u.default.prototype.ambientMaterial\x3dfunction(e,t,r){this._assert3d(\x22ambientMaterial\x22);u.default._validateParameters(\x22ambientMaterial\x22,arguments);var n\x3du.default.prototype.color.apply(this,arguments);return this._renderer.curFillColor\x3dn._array,this._renderer._useSpecularMaterial\x3d!1,this._renderer._useEmissiveMaterial\x3d!1,this._renderer._useNormalMaterial\x3d!1,this._renderer._enableLighting\x3d!0,this._renderer._tex\x3d\nnull,this._renderer._setProperty(\x22_doFill\x22,!0),this};u.default.prototype.emissiveMaterial\x3dfunction(e,t,r,n){this._assert3d(\x22emissiveMaterial\x22);u.default._validateParameters(\x22emissiveMaterial\x22,arguments);var o\x3du.default.prototype.color.apply(this,arguments);return this._renderer.curFillColor\x3do._array,this._renderer._useSpecularMaterial\x3d!1,this._renderer._useEmissiveMaterial\x3d!0,this._renderer._useNormalMaterial\x3d!1,this._renderer._enableLighting\x3d!0,this._renderer._tex\x3dnull,this};u.default.prototype.specularMaterial\x3d\nfunction(e,t,r,n){this._assert3d(\x22specularMaterial\x22);u.default._validateParameters(\x22specularMaterial\x22,arguments);var o\x3du.default.prototype.color.apply(this,arguments);return this._renderer.curFillColor\x3do._array,this._renderer._useSpecularMaterial\x3d!0,this._renderer._useEmissiveMaterial\x3d!1,this._renderer._useNormalMaterial\x3d!1,this._renderer._enableLighting\x3d!0,this._renderer._tex\x3dnull,this};u.default.prototype.shininess\x3dfunction(e){return this._assert3d(\x22shininess\x22),u.default._validateParameters(\x22shininess\x22,\narguments),1\x3ee\x26\x26(e\x3d1),this._renderer._useShininess\x3de,this};u.default.RendererGL.prototype._applyColorBlend\x3dfunction(e){var t\x3dthis.GL,r\x3dthis.drawMode\x3d\x3d\x3do$jscomp$0.TEXTURE||1\x3ee[e.length-1]||this._isErasing;return r!\x3d\x3dthis._isBlending\x26\x26(r||this.curBlendMode!\x3d\x3do$jscomp$0.BLEND\x26\x26this.curBlendMode!\x3d\x3do$jscomp$0.ADD?t.enable(t.BLEND):t.disable(t.BLEND),t.depthMask(!0),this._isBlending\x3dr),this._applyBlendMode(),e};u.default.RendererGL.prototype._applyBlendMode\x3dfunction(){if(this._cachedBlendMode!\x3d\x3dthis.curBlendMode){var e\x3d\nthis.GL;switch(this.curBlendMode){case o$jscomp$0.BLEND:case o$jscomp$0.ADD:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA);break;case o$jscomp$0.REMOVE:e.blendEquation(e.FUNC_REVERSE_SUBTRACT);e.blendFunc(e.SRC_ALPHA,e.DST_ALPHA);break;case o$jscomp$0.MULTIPLY:e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD);e.blendFuncSeparate(e.ZERO,e.SRC_COLOR,e.ONE,e.ONE);break;case o$jscomp$0.SCREEN:e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD);e.blendFuncSeparate(e.ONE_MINUS_DST_COLOR,\ne.ONE,e.ONE,e.ONE);break;case o$jscomp$0.EXCLUSION:e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD);e.blendFuncSeparate(e.ONE_MINUS_DST_COLOR,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE);break;case o$jscomp$0.REPLACE:e.blendEquation(e.FUNC_ADD);e.blendFunc(e.ONE,e.ZERO);break;case o$jscomp$0.SUBTRACT:e.blendEquationSeparate(e.FUNC_REVERSE_SUBTRACT,e.FUNC_ADD);e.blendFuncSeparate(e.SRC_ALPHA,e.ONE,e.ONE,e.ONE);break;case o$jscomp$0.DARKEST:this.blendExt?(e.blendEquationSeparate(this.blendExt.MIN_EXT,e.FUNC_ADD),\ne.blendFuncSeparate(e.ONE,e.ONE,e.ONE,e.ONE)):console.warn(\x22blendMode(DARKEST) does not work in your browser in WEBGL mode.\x22);break;case o$jscomp$0.LIGHTEST:this.blendExt?(e.blendEquationSeparate(this.blendExt.MAX_EXT,e.FUNC_ADD),e.blendFuncSeparate(e.ONE,e.ONE,e.ONE,e.ONE)):console.warn(\x22blendMode(LIGHTEST) does not work in your browser in WEBGL mode.\x22);break;default:console.error(\x22Oops! Somehow RendererGL set curBlendMode to an unsupported mode.\x22)}this._isErasing||(this._cachedBlendMode\x3dthis.curBlendMode)}};\nr$jscomp$0.default\x3du.default},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./p5.Texture\x22:320,\x22core-js/modules/es.array.join\x22:159}],312:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,y\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};y.default.prototype.camera\x3dfunction(){var e;this._assert3d(\x22camera\x22);for(var t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];\nreturn y.default._validateParameters(\x22camera\x22,r),(e\x3dthis._renderer._curCamera).camera.apply(e,r),this};y.default.prototype.perspective\x3dfunction(){var e;this._assert3d(\x22perspective\x22);for(var t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];return y.default._validateParameters(\x22perspective\x22,r),(e\x3dthis._renderer._curCamera).perspective.apply(e,r),this};y.default.prototype.ortho\x3dfunction(){var e;this._assert3d(\x22ortho\x22);for(var t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];return y.default._validateParameters(\x22ortho\x22,\nr),(e\x3dthis._renderer._curCamera).ortho.apply(e,r),this};y.default.prototype.frustum\x3dfunction(){var e;this._assert3d(\x22frustum\x22);for(var t\x3darguments.length,r\x3dArray(t),n\x3d0;n\x3ct;n++)r[n]\x3darguments[n];return y.default._validateParameters(\x22frustum\x22,r),(e\x3dthis._renderer._curCamera).frustum.apply(e,r),this};y.default.prototype.createCamera\x3dfunction(){this._assert3d(\x22createCamera\x22);var e\x3dnew y.default.Camera(this._renderer);return e._computeCameraDefaultSettings(),e._setDefaultCamera(),this._renderer._curCamera\x3d\ne};y.default.Camera\x3dfunction(e){this._renderer\x3de;this.cameraType\x3d\x22default\x22;this.cameraMatrix\x3dnew y.default.Matrix;this.projMatrix\x3dnew y.default.Matrix};y.default.Camera.prototype.perspective\x3dfunction(e,t,r,n){this.cameraType\x3d0\x3carguments.length?\x22custom\x22:\x22default\x22;void 0\x3d\x3d\x3de?(e\x3dthis.defaultCameraFOV,this.cameraFOV\x3de):this.cameraFOV\x3dthis._renderer._pInst._toRadians(e);void 0\x3d\x3d\x3dt\x26\x26(t\x3dthis.defaultAspectRatio);void 0\x3d\x3d\x3dr\x26\x26(r\x3dthis.defaultCameraNear);void 0\x3d\x3d\x3dn\x26\x26(n\x3dthis.defaultCameraFar);1E-4\x3e\x3dr\x26\x26(r\x3d.01,\nconsole.log(\x22Avoid perspective near plane values close to or below 0. Setting value to 0.01.\x22));n\x3cr\x26\x26console.log(\x22Perspective far plane value is less than near plane value. Nothing will be shown.\x22);this.aspectRatio\x3dt;this.cameraNear\x3dr;this.cameraFar\x3dn;this.projMatrix\x3dy.default.Matrix.identity();var o\x3d1/Math.tan(this.cameraFOV/2),i\x3d1/(this.cameraNear-this.cameraFar);this.projMatrix.set(o/t,0,0,0,0,-o,0,0,0,0,(n+r)*i,-1,0,0,2*n*r*i,0);this._isActive()\x26\x26this._renderer.uPMatrix.set(this.projMatrix.mat4[0],\nthis.projMatrix.mat4[1],this.projMatrix.mat4[2],this.projMatrix.mat4[3],this.projMatrix.mat4[4],this.projMatrix.mat4[5],this.projMatrix.mat4[6],this.projMatrix.mat4[7],this.projMatrix.mat4[8],this.projMatrix.mat4[9],this.projMatrix.mat4[10],this.projMatrix.mat4[11],this.projMatrix.mat4[12],this.projMatrix.mat4[13],this.projMatrix.mat4[14],this.projMatrix.mat4[15])};y.default.Camera.prototype.ortho\x3dfunction(e,t,r,n,o,i){void 0\x3d\x3d\x3de\x26\x26(e\x3d-this._renderer.width/2);void 0\x3d\x3d\x3dt\x26\x26(t\x3dthis._renderer.width/2);\nvoid 0\x3d\x3d\x3dr\x26\x26(r\x3d-this._renderer.height/2);void 0\x3d\x3d\x3dn\x26\x26(n\x3dthis._renderer.height/2);void 0\x3d\x3d\x3do\x26\x26(o\x3d0);void 0\x3d\x3d\x3di\x26\x26(i\x3dMath.max(this._renderer.width,this._renderer.height));var a\x3dt-e,s\x3dn-r,l\x3di-o,u\x3d2/a,c\x3d2/s,d\x3d-2/l;e\x3d-(t+e)/a;r\x3d-(n+r)/s;o\x3d-(i+o)/l;this.projMatrix\x3dy.default.Matrix.identity();this.projMatrix.set(u,0,0,0,0,-c,0,0,0,0,d,0,e,r,o,1);this._isActive()\x26\x26this._renderer.uPMatrix.set(this.projMatrix.mat4[0],this.projMatrix.mat4[1],this.projMatrix.mat4[2],this.projMatrix.mat4[3],this.projMatrix.mat4[4],\nthis.projMatrix.mat4[5],this.projMatrix.mat4[6],this.projMatrix.mat4[7],this.projMatrix.mat4[8],this.projMatrix.mat4[9],this.projMatrix.mat4[10],this.projMatrix.mat4[11],this.projMatrix.mat4[12],this.projMatrix.mat4[13],this.projMatrix.mat4[14],this.projMatrix.mat4[15]);this.cameraType\x3d\x22custom\x22};y.default.Camera.prototype.frustum\x3dfunction(e,t,r,n,o,i){void 0\x3d\x3d\x3de\x26\x26(e\x3d-this._renderer.width/2);void 0\x3d\x3d\x3dt\x26\x26(t\x3dthis._renderer.width/2);void 0\x3d\x3d\x3dr\x26\x26(r\x3d-this._renderer.height/2);void 0\x3d\x3d\x3dn\x26\x26(n\x3dthis._renderer.height/\n2);void 0\x3d\x3d\x3do\x26\x26(o\x3d0);void 0\x3d\x3d\x3di\x26\x26(i\x3dMath.max(this._renderer.width,this._renderer.height));var a\x3dt-e,s\x3dn-r,l\x3di-o,u\x3d2*o/a,c\x3d2*o/s,d\x3d-2*i*o/l;e\x3d(t+e)/a;r\x3d(n+r)/s;o\x3d-(i+o)/l;this.projMatrix\x3dy.default.Matrix.identity();this.projMatrix.set(u,0,0,0,0,c,0,0,e,r,o,-1,0,0,d,0);this._isActive()\x26\x26this._renderer.uPMatrix.set(this.projMatrix.mat4[0],this.projMatrix.mat4[1],this.projMatrix.mat4[2],this.projMatrix.mat4[3],this.projMatrix.mat4[4],this.projMatrix.mat4[5],this.projMatrix.mat4[6],this.projMatrix.mat4[7],\nthis.projMatrix.mat4[8],this.projMatrix.mat4[9],this.projMatrix.mat4[10],this.projMatrix.mat4[11],this.projMatrix.mat4[12],this.projMatrix.mat4[13],this.projMatrix.mat4[14],this.projMatrix.mat4[15]);this.cameraType\x3d\x22custom\x22};y.default.Camera.prototype._rotateView\x3dfunction(e,t,r,n){var o\x3dthis.centerX,i\x3dthis.centerY,a\x3dthis.centerZ;o-\x3dthis.eyeX;i-\x3dthis.eyeY;a-\x3dthis.eyeZ;var s\x3dy.default.Matrix.identity(this._renderer._pInst);s.rotate(this._renderer._pInst._toRadians(e),t,r,n);e\x3d[o*s.mat4[0]+i*s.mat4[4]+\na*s.mat4[8],o*s.mat4[1]+i*s.mat4[5]+a*s.mat4[9],o*s.mat4[2]+i*s.mat4[6]+a*s.mat4[10]];e[0]+\x3dthis.eyeX;e[1]+\x3dthis.eyeY;e[2]+\x3dthis.eyeZ;this.camera(this.eyeX,this.eyeY,this.eyeZ,e[0],e[1],e[2],this.upX,this.upY,this.upZ)};y.default.Camera.prototype.pan\x3dfunction(e){var t\x3dthis._getLocalAxes();this._rotateView(e,t.y[0],t.y[1],t.y[2])};y.default.Camera.prototype.tilt\x3dfunction(e){var t\x3dthis._getLocalAxes();this._rotateView(e,t.x[0],t.x[1],t.x[2])};y.default.Camera.prototype.lookAt\x3dfunction(e,t,r){this.camera(this.eyeX,\nthis.eyeY,this.eyeZ,e,t,r,this.upX,this.upY,this.upZ)};y.default.Camera.prototype.camera\x3dfunction(e,t,r,n,o,i,a,s,l){void 0\x3d\x3d\x3de\x26\x26(e\x3dthis.defaultEyeX,t\x3dthis.defaultEyeY,r\x3dthis.defaultEyeZ,n\x3de,o\x3dt,s\x3d1,l\x3da\x3di\x3d0);this.eyeX\x3de;this.eyeY\x3dt;this.eyeZ\x3dr;void 0!\x3d\x3dn\x26\x26(this.centerX\x3dn,this.centerY\x3do,this.centerZ\x3di);void 0!\x3d\x3da\x26\x26(this.upX\x3da,this.upY\x3ds,this.upZ\x3dl);n\x3dthis._getLocalAxes();this.cameraMatrix.set(n.x[0],n.y[0],n.z[0],0,n.x[1],n.y[1],n.z[1],0,n.x[2],n.y[2],n.z[2],0,0,0,0,1);return this.cameraMatrix.translate([-e,\n-t,-r]),this._isActive()\x26\x26this._renderer.uMVMatrix.set(this.cameraMatrix.mat4[0],this.cameraMatrix.mat4[1],this.cameraMatrix.mat4[2],this.cameraMatrix.mat4[3],this.cameraMatrix.mat4[4],this.cameraMatrix.mat4[5],this.cameraMatrix.mat4[6],this.cameraMatrix.mat4[7],this.cameraMatrix.mat4[8],this.cameraMatrix.mat4[9],this.cameraMatrix.mat4[10],this.cameraMatrix.mat4[11],this.cameraMatrix.mat4[12],this.cameraMatrix.mat4[13],this.cameraMatrix.mat4[14],this.cameraMatrix.mat4[15]),this};y.default.Camera.prototype.move\x3d\nfunction(e,t,r){var n\x3dthis._getLocalAxes();e\x3d[n.x[0]*e,n.x[1]*e,n.x[2]*e];t\x3d[n.y[0]*t,n.y[1]*t,n.y[2]*t];r\x3d[n.z[0]*r,n.z[1]*r,n.z[2]*r];this.camera(this.eyeX+e[0]+t[0]+r[0],this.eyeY+e[1]+t[1]+r[1],this.eyeZ+e[2]+t[2]+r[2],this.centerX+e[0]+t[0]+r[0],this.centerY+e[1]+t[1]+r[1],this.centerZ+e[2]+t[2]+r[2],0,1,0)};y.default.Camera.prototype.setPosition\x3dfunction(e,t,r){this.camera(e,t,r,this.centerX+(e-this.eyeX),this.centerY+(t-this.eyeY),this.centerZ+(r-this.eyeZ),0,1,0)};y.default.Camera.prototype._computeCameraDefaultSettings\x3d\nfunction(){this.defaultCameraFOV\x3d60/180*Math.PI;this.defaultAspectRatio\x3dthis._renderer.width/this._renderer.height;this.defaultEyeY\x3dthis.defaultEyeX\x3d0;this.defaultEyeZ\x3dthis._renderer.height/2/Math.tan(this.defaultCameraFOV/2);this.defaultCenterZ\x3dthis.defaultCenterY\x3dthis.defaultCenterX\x3d0;this.defaultCameraNear\x3d.1*this.defaultEyeZ;this.defaultCameraFar\x3d10*this.defaultEyeZ};y.default.Camera.prototype._setDefaultCamera\x3dfunction(){this.cameraFOV\x3dthis.defaultCameraFOV;this.aspectRatio\x3dthis.defaultAspectRatio;\nthis.eyeX\x3dthis.defaultEyeX;this.eyeY\x3dthis.defaultEyeY;this.eyeZ\x3dthis.defaultEyeZ;this.centerX\x3dthis.defaultCenterX;this.centerY\x3dthis.defaultCenterY;this.centerZ\x3dthis.defaultCenterZ;this.upX\x3d0;this.upY\x3d1;this.upZ\x3d0;this.cameraNear\x3dthis.defaultCameraNear;this.cameraFar\x3dthis.defaultCameraFar;this.perspective();this.camera();this.cameraType\x3d\x22default\x22};y.default.Camera.prototype._resize\x3dfunction(){\x22default\x22\x3d\x3d\x3dthis.cameraType?(this._computeCameraDefaultSettings(),this._setDefaultCamera()):this.perspective(this.cameraFOV,\nthis._renderer.width/this._renderer.height)};y.default.Camera.prototype.copy\x3dfunction(){var e\x3dnew y.default.Camera(this._renderer);return e.cameraFOV\x3dthis.cameraFOV,e.aspectRatio\x3dthis.aspectRatio,e.eyeX\x3dthis.eyeX,e.eyeY\x3dthis.eyeY,e.eyeZ\x3dthis.eyeZ,e.centerX\x3dthis.centerX,e.centerY\x3dthis.centerY,e.centerZ\x3dthis.centerZ,e.cameraNear\x3dthis.cameraNear,e.cameraFar\x3dthis.cameraFar,e.cameraType\x3dthis.cameraType,e.cameraMatrix\x3dthis.cameraMatrix.copy(),e.projMatrix\x3dthis.projMatrix.copy(),e};y.default.Camera.prototype._getLocalAxes\x3d\nfunction(){var e\x3dthis.eyeX-this.centerX,t\x3dthis.eyeY-this.centerY,r\x3dthis.eyeZ-this.centerZ,n\x3dMath.sqrt(e*e+t*t+r*r);0!\x3d\x3dn\x26\x26(e/\x3dn,t/\x3dn,r/\x3dn);n\x3dthis.upX;var i\x3dthis.upY,a\x3dthis.upZ,s\x3di*r-a*t,l\x3d-n*r+a*e,u\x3dn*t-i*e;n\x3dt*u-r*l;i\x3d-e*u+r*s;a\x3de*l-t*s;var c\x3dMath.sqrt(s*s+l*l+u*u);0!\x3d\x3dc\x26\x26(s/\x3dc,l/\x3dc,u/\x3dc);c\x3dMath.sqrt(n*n+i*i+a*a);return 0!\x3d\x3dc\x26\x26(n/\x3dc,i/\x3dc,a/\x3dc),{x:[s,l,u],y:[n,i,a],z:[e,t,r]}};y.default.Camera.prototype._orbit\x3dfunction(e,t,r){var n\x3dthis.eyeX-this.centerX,o\x3dthis.eyeY-this.centerY,i\x3dthis.eyeZ-this.centerZ,\na\x3dMath.sqrt(n*n+o*o+i*i);n\x3dMath.atan2(n,i);o\x3dMath.acos(Math.max(-1,Math.min(1,o/a)));n+\x3de;0\x3e(a+\x3dr)\x26\x26(a\x3d.1);(o+\x3dt)\x3eMath.PI?o\x3dMath.PI:0\x3e\x3do\x26\x26(o\x3d.001);this.camera(Math.sin(o)*a*Math.sin(n)+this.centerX,Math.cos(o)*a+this.centerY,Math.sin(o)*a*Math.cos(n)+this.centerZ,this.centerX,this.centerY,this.centerZ,0,1,0)};y.default.Camera.prototype._isActive\x3dfunction(){return this\x3d\x3d\x3dthis._renderer._curCamera};y.default.prototype.setCamera\x3dfunction(e){this._renderer._curCamera\x3de;this._renderer.uPMatrix.set(e.projMatrix.mat4[0],\ne.projMatrix.mat4[1],e.projMatrix.mat4[2],e.projMatrix.mat4[3],e.projMatrix.mat4[4],e.projMatrix.mat4[5],e.projMatrix.mat4[6],e.projMatrix.mat4[7],e.projMatrix.mat4[8],e.projMatrix.mat4[9],e.projMatrix.mat4[10],e.projMatrix.mat4[11],e.projMatrix.mat4[12],e.projMatrix.mat4[13],e.projMatrix.mat4[14],e.projMatrix.mat4[15])};r$jscomp$0.default\x3dy.default.Camera},{\x22../core/main\x22:264}],313:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.string.sub\x22);Object.defineProperty(r$jscomp$0,\n\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,c\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};c.default.Geometry\x3dfunction(e,t,r){return this.vertices\x3d[],this.lineVertices\x3d[],this.lineNormals\x3d[],this.vertexNormals\x3d[],this.faces\x3d[],this.uvs\x3d[],this.edges\x3d[],this.vertexColors\x3d[],this.detailX\x3dvoid 0!\x3d\x3de?e:1,this.detailY\x3dvoid 0!\x3d\x3dt?t:1,this.dirtyFlags\x3d{},r instanceof Function\x26\x26r.call(this),this};c.default.Geometry.prototype.reset\x3dfunction(){this.lineVertices.length\x3d\n0;this.lineNormals.length\x3d0;this.vertices.length\x3d0;this.edges.length\x3d0;this.vertexColors.length\x3d0;this.vertexNormals.length\x3d0;this.uvs.length\x3d0;this.dirtyFlags\x3d{}};c.default.Geometry.prototype.computeFaces\x3dfunction(){this.faces.length\x3d0;for(var e,t,r,n,o\x3dthis.detailX+1,i\x3d0;i\x3cthis.detailY;i++)for(var a\x3d0;a\x3cthis.detailX;a++)t\x3d(e\x3di*o+a)+1,r\x3d(i+1)*o+a+1,n\x3d(i+1)*o+a,this.faces.push([e,t,n]),this.faces.push([n,t,r]);return this};c.default.Geometry.prototype._getFaceNormal\x3dfunction(e){e\x3dthis.faces[e];var r\x3d\nthis.vertices[e[0]],o\x3dthis.vertices[e[2]];e\x3dc.default.Vector.sub(this.vertices[e[1]],r);var a\x3dc.default.Vector.sub(o,r);r\x3dc.default.Vector.cross(e,a);o\x3dc.default.Vector.mag(r);e\x3do/(c.default.Vector.mag(e)*c.default.Vector.mag(a));return 0\x3d\x3d\x3de||isNaN(e)?(console.warn(\x22p5.Geometry.prototype._getFaceNormal:\x22,\x22face has colinear sides or a repeated vertex\x22),r):(1\x3ce\x26\x26(e\x3d1),r.mult(Math.asin(e)/o))};c.default.Geometry.prototype.computeNormals\x3dfunction(){var e,t\x3dthis.vertexNormals,r\x3dthis.vertices,n\x3dthis.faces;\nfor(e\x3dt.length\x3d0;e\x3cr.length;++e)t.push(new c.default.Vector);for(e\x3d0;e\x3cn.length;++e)for(var i\x3dn[e],a\x3dthis._getFaceNormal(e),s\x3d0;3\x3es;++s)t[i[s]].add(a);for(e\x3d0;e\x3cr.length;++e)t[e].normalize();return this};c.default.Geometry.prototype.averageNormals\x3dfunction(){for(var e\x3d0;e\x3c\x3dthis.detailY;e++){var t\x3dthis.detailX+1,r\x3dc.default.Vector.add(this.vertexNormals[e*t],this.vertexNormals[e*t+this.detailX]);r\x3dc.default.Vector.div(r,2);this.vertexNormals[e*t]\x3dr;this.vertexNormals[e*t+this.detailX]\x3dr}return this};\nc.default.Geometry.prototype.averagePoleNormals\x3dfunction(){for(var e\x3dnew c.default.Vector(0,0,0),t\x3d0;t\x3cthis.detailX;t++)e.add(this.vertexNormals[t]);e\x3dc.default.Vector.div(e,this.detailX);for(t\x3d0;t\x3cthis.detailX;t++)this.vertexNormals[t]\x3de;e\x3dnew c.default.Vector(0,0,0);for(t\x3dthis.vertices.length-1;t\x3ethis.vertices.length-1-this.detailX;t--)e.add(this.vertexNormals[t]);e\x3dc.default.Vector.div(e,this.detailX);for(t\x3dthis.vertices.length-1;t\x3ethis.vertices.length-1-this.detailX;t--)this.vertexNormals[t]\x3d\ne;return this};c.default.Geometry.prototype._makeTriangleEdges\x3dfunction(){if(this.edges.length\x3d0,Array.isArray(this.strokeIndices))for(var e\x3d0,t\x3dthis.strokeIndices.length;e\x3ct;e++)this.edges.push(this.strokeIndices[e]);else for(e\x3d0;e\x3cthis.faces.length;e++)this.edges.push([this.faces[e][0],this.faces[e][1]]),this.edges.push([this.faces[e][1],this.faces[e][2]]),this.edges.push([this.faces[e][2],this.faces[e][0]]);return this};c.default.Geometry.prototype._edgesToVertices\x3dfunction(){this.lineVertices.length\x3d\n0;for(var e\x3dthis.lineNormals.length\x3d0;e\x3cthis.edges.length;e++){var t\x3dthis.vertices[this.edges[e][0]],r\x3dthis.vertices[this.edges[e][1]],n\x3dr.copy().sub(t).normalize(),o\x3dt.array();t\x3dt.array();var a\x3dr.array();r\x3dr.array();var l\x3dn.array();n\x3dn.array();l.push(1);n.push(-1);this.lineNormals.push(l,n,l,l,n,n);this.lineVertices.push(o,t,a,a,t,r)}return this};c.default.Geometry.prototype.normalize\x3dfunction(){if(0\x3cthis.vertices.length){for(var e\x3dthis.vertices[0].copy(),t\x3dthis.vertices[0].copy(),r\x3d0;r\x3cthis.vertices.length;r++)e.x\x3d\nMath.max(e.x,this.vertices[r].x),t.x\x3dMath.min(t.x,this.vertices[r].x),e.y\x3dMath.max(e.y,this.vertices[r].y),t.y\x3dMath.min(t.y,this.vertices[r].y),e.z\x3dMath.max(e.z,this.vertices[r].z),t.z\x3dMath.min(t.z,this.vertices[r].z);r\x3dc.default.Vector.lerp(e,t,.5);e\x3dc.default.Vector.sub(e,t);e\x3d200/Math.max(Math.max(e.x,e.y),e.z);for(t\x3d0;t\x3cthis.vertices.length;t++)this.vertices[t].sub(r),this.vertices[t].mult(e)}return this};r$jscomp$0.default\x3dc.default.Geometry},{\x22../core/main\x22:264,\x22core-js/modules/es.string.sub\x22:192}],\n314:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.iterator\x22);e$jscomp$0(\x22core-js/modules/es.object.to-string\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.float32-array\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.find-index\x22);\ne$jscomp$0(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.reverse\x22);\ne$jscomp$0(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$0(\x22core-js/modules/es.typed-array.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,L\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},o$jscomp$0\x3dArray,P\x3dfunction(e){return e instanceof Array};\x22undefined\x22!\x3dtypeof Float32Array\x26\x26(o$jscomp$0\x3dFloat32Array,P\x3dfunction(e){return e instanceof Array||e instanceof Float32Array});L.default.Matrix\x3dfunction(){for(var e\x3dArray(arguments.length),t\x3d0;t\x3ce.length;++t)e[t]\x3darguments[t];return e.length\x26\x26e[e.length-1]instanceof L.default\x26\x26(this.p5\x3de[e.length-1]),\x22mat3\x22\x3d\x3d\x3de[0]?this.mat3\x3dArray.isArray(e[1])?e[1]:new o$jscomp$0([1,0,0,0,1,0,0,0,1]):this.mat4\x3d\nArray.isArray(e[0])?e[0]:new o$jscomp$0([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this};L.default.Matrix.prototype.set\x3dfunction(e){return e instanceof L.default.Matrix?this.mat4\x3de.mat4:P(e)?this.mat4\x3de:16\x3d\x3d\x3darguments.length\x26\x26(this.mat4[0]\x3de,this.mat4[1]\x3darguments[1],this.mat4[2]\x3darguments[2],this.mat4[3]\x3darguments[3],this.mat4[4]\x3darguments[4],this.mat4[5]\x3darguments[5],this.mat4[6]\x3darguments[6],this.mat4[7]\x3darguments[7],this.mat4[8]\x3darguments[8],this.mat4[9]\x3darguments[9],this.mat4[10]\x3darguments[10],this.mat4[11]\x3d\narguments[11],this.mat4[12]\x3darguments[12],this.mat4[13]\x3darguments[13],this.mat4[14]\x3darguments[14],this.mat4[15]\x3darguments[15]),this};L.default.Matrix.prototype.get\x3dfunction(){return new L.default.Matrix(this.mat4,this.p5)};L.default.Matrix.prototype.copy\x3dfunction(){var e\x3dnew L.default.Matrix(this.p5);return e.mat4[0]\x3dthis.mat4[0],e.mat4[1]\x3dthis.mat4[1],e.mat4[2]\x3dthis.mat4[2],e.mat4[3]\x3dthis.mat4[3],e.mat4[4]\x3dthis.mat4[4],e.mat4[5]\x3dthis.mat4[5],e.mat4[6]\x3dthis.mat4[6],e.mat4[7]\x3dthis.mat4[7],e.mat4[8]\x3d\nthis.mat4[8],e.mat4[9]\x3dthis.mat4[9],e.mat4[10]\x3dthis.mat4[10],e.mat4[11]\x3dthis.mat4[11],e.mat4[12]\x3dthis.mat4[12],e.mat4[13]\x3dthis.mat4[13],e.mat4[14]\x3dthis.mat4[14],e.mat4[15]\x3dthis.mat4[15],e};L.default.Matrix.identity\x3dfunction(e){return new L.default.Matrix(e)};L.default.Matrix.prototype.transpose\x3dfunction(e){var t,r,n,o,i,a;return e instanceof L.default.Matrix?(t\x3de.mat4[1],r\x3de.mat4[2],n\x3de.mat4[3],o\x3de.mat4[6],i\x3de.mat4[7],a\x3de.mat4[11],this.mat4[0]\x3de.mat4[0],this.mat4[1]\x3de.mat4[4],this.mat4[2]\x3de.mat4[8],\nthis.mat4[3]\x3de.mat4[12],this.mat4[4]\x3dt,this.mat4[5]\x3de.mat4[5],this.mat4[6]\x3de.mat4[9],this.mat4[7]\x3de.mat4[13],this.mat4[8]\x3dr,this.mat4[9]\x3do,this.mat4[10]\x3de.mat4[10],this.mat4[11]\x3de.mat4[14],this.mat4[12]\x3dn,this.mat4[13]\x3di,this.mat4[14]\x3da,this.mat4[15]\x3de.mat4[15]):P(e)\x26\x26(t\x3de[1],r\x3de[2],n\x3de[3],o\x3de[6],i\x3de[7],a\x3de[11],this.mat4[0]\x3de[0],this.mat4[1]\x3de[4],this.mat4[2]\x3de[8],this.mat4[3]\x3de[12],this.mat4[4]\x3dt,this.mat4[5]\x3de[5],this.mat4[6]\x3de[9],this.mat4[7]\x3de[13],this.mat4[8]\x3dr,this.mat4[9]\x3do,this.mat4[10]\x3de[10],\nthis.mat4[11]\x3de[14],this.mat4[12]\x3dn,this.mat4[13]\x3di,this.mat4[14]\x3da,this.mat4[15]\x3de[15]),this};L.default.Matrix.prototype.invert\x3dfunction(e){var t,r,n,o,i,a,s,l,u,c,d,f,h,p,y,m;e instanceof L.default.Matrix?(t\x3de.mat4[0],r\x3de.mat4[1],n\x3de.mat4[2],o\x3de.mat4[3],i\x3de.mat4[4],a\x3de.mat4[5],s\x3de.mat4[6],l\x3de.mat4[7],u\x3de.mat4[8],c\x3de.mat4[9],d\x3de.mat4[10],f\x3de.mat4[11],h\x3de.mat4[12],p\x3de.mat4[13],y\x3de.mat4[14],m\x3de.mat4[15]):P(e)\x26\x26(t\x3de[0],r\x3de[1],n\x3de[2],o\x3de[3],i\x3de[4],a\x3de[5],s\x3de[6],l\x3de[7],u\x3de[8],c\x3de[9],d\x3de[10],f\x3de[11],h\x3d\ne[12],p\x3de[13],y\x3de[14],m\x3de[15]);e\x3dt*a-r*i;var v\x3dt*s-n*i,b\x3dt*l-o*i,_\x3dr*s-n*a,x\x3dr*l-o*a,w\x3dn*l-o*s,j\x3du*p-c*h,S\x3du*y-d*h,M\x3du*m-f*h,E\x3dc*y-d*p,T\x3dc*m-f*p,O\x3dd*m-f*y,C\x3de*O-v*T+b*E+_*M-x*S+w*j;return C?(C\x3d1/C,this.mat4[0]\x3d(a*O-s*T+l*E)*C,this.mat4[1]\x3d(n*T-r*O-o*E)*C,this.mat4[2]\x3d(p*w-y*x+m*_)*C,this.mat4[3]\x3d(d*x-c*w-f*_)*C,this.mat4[4]\x3d(s*M-i*O-l*S)*C,this.mat4[5]\x3d(t*O-n*M+o*S)*C,this.mat4[6]\x3d(y*b-h*w-m*v)*C,this.mat4[7]\x3d(u*w-d*b+f*v)*C,this.mat4[8]\x3d(i*T-a*M+l*j)*C,this.mat4[9]\x3d(r*M-t*T-o*j)*C,this.mat4[10]\x3d\n(h*x-p*b+m*e)*C,this.mat4[11]\x3d(c*b-u*x-f*e)*C,this.mat4[12]\x3d(a*S-i*E-s*j)*C,this.mat4[13]\x3d(t*E-r*S+n*j)*C,this.mat4[14]\x3d(p*v-h*_-y*e)*C,this.mat4[15]\x3d(u*_-c*v+d*e)*C,this):null};L.default.Matrix.prototype.invert3x3\x3dfunction(){var e\x3dthis.mat3[0],t\x3dthis.mat3[1],r\x3dthis.mat3[2],n\x3dthis.mat3[3],o\x3dthis.mat3[4],i\x3dthis.mat3[5],a\x3dthis.mat3[6],s\x3dthis.mat3[7],l\x3dthis.mat3[8],u\x3dl*o-i*s,c\x3d-l*n+i*a,d\x3ds*n-o*a,f\x3de*u+t*c+r*d;return f?(f\x3d1/f,this.mat3[0]\x3du*f,this.mat3[1]\x3d(-l*t+r*s)*f,this.mat3[2]\x3d(i*t-r*o)*f,this.mat3[3]\x3d\nc*f,this.mat3[4]\x3d(l*e-r*a)*f,this.mat3[5]\x3d(-i*e+r*n)*f,this.mat3[6]\x3dd*f,this.mat3[7]\x3d(-s*e+t*a)*f,this.mat3[8]\x3d(o*e-t*n)*f,this):null};L.default.Matrix.prototype.transpose3x3\x3dfunction(e){var t\x3de[1],r\x3de[2],n\x3de[5];return this.mat3[1]\x3de[3],this.mat3[2]\x3de[6],this.mat3[3]\x3dt,this.mat3[5]\x3de[7],this.mat3[6]\x3dr,this.mat3[7]\x3dn,this};L.default.Matrix.prototype.inverseTranspose\x3dfunction(e){void 0\x3d\x3d\x3dthis.mat3?console.error(\x22sorry, this function only works with mat3\x22):(this.mat3[0]\x3de.mat4[0],this.mat3[1]\x3de.mat4[1],\nthis.mat3[2]\x3de.mat4[2],this.mat3[3]\x3de.mat4[4],this.mat3[4]\x3de.mat4[5],this.mat3[5]\x3de.mat4[6],this.mat3[6]\x3de.mat4[8],this.mat3[7]\x3de.mat4[9],this.mat3[8]\x3de.mat4[10]);if(e\x3dthis.invert3x3())e.transpose3x3(this.mat3);else for(e\x3d0;9\x3ee;e++)this.mat3[e]\x3d0;return this};L.default.Matrix.prototype.determinant\x3dfunction(){return(this.mat4[0]*this.mat4[5]-this.mat4[1]*this.mat4[4])*(this.mat4[10]*this.mat4[15]-this.mat4[11]*this.mat4[14])-(this.mat4[0]*this.mat4[6]-this.mat4[2]*this.mat4[4])*(this.mat4[9]*this.mat4[15]-\nthis.mat4[11]*this.mat4[13])+(this.mat4[0]*this.mat4[7]-this.mat4[3]*this.mat4[4])*(this.mat4[9]*this.mat4[14]-this.mat4[10]*this.mat4[13])+(this.mat4[1]*this.mat4[6]-this.mat4[2]*this.mat4[5])*(this.mat4[8]*this.mat4[15]-this.mat4[11]*this.mat4[12])-(this.mat4[1]*this.mat4[7]-this.mat4[3]*this.mat4[5])*(this.mat4[8]*this.mat4[14]-this.mat4[10]*this.mat4[12])+(this.mat4[2]*this.mat4[7]-this.mat4[3]*this.mat4[6])*(this.mat4[8]*this.mat4[13]-this.mat4[9]*this.mat4[12])};L.default.Matrix.prototype.mult\x3d\nfunction(e){if(e\x3d\x3d\x3dthis||e\x3d\x3d\x3dthis.mat4)var t\x3dthis.copy().mat4;else if(e instanceof L.default.Matrix)t\x3de.mat4;else if(P(e))t\x3de;else{if(16!\x3d\x3darguments.length)return;t\x3darguments}var r\x3dthis.mat4[0],n\x3dthis.mat4[1],o\x3dthis.mat4[2],i\x3dthis.mat4[3];return this.mat4[0]\x3dr*t[0]+n*t[4]+o*t[8]+i*t[12],this.mat4[1]\x3dr*t[1]+n*t[5]+o*t[9]+i*t[13],this.mat4[2]\x3dr*t[2]+n*t[6]+o*t[10]+i*t[14],this.mat4[3]\x3dr*t[3]+n*t[7]+o*t[11]+i*t[15],r\x3dthis.mat4[4],n\x3dthis.mat4[5],o\x3dthis.mat4[6],i\x3dthis.mat4[7],this.mat4[4]\x3dr*t[0]+n*t[4]+\no*t[8]+i*t[12],this.mat4[5]\x3dr*t[1]+n*t[5]+o*t[9]+i*t[13],this.mat4[6]\x3dr*t[2]+n*t[6]+o*t[10]+i*t[14],this.mat4[7]\x3dr*t[3]+n*t[7]+o*t[11]+i*t[15],r\x3dthis.mat4[8],n\x3dthis.mat4[9],o\x3dthis.mat4[10],i\x3dthis.mat4[11],this.mat4[8]\x3dr*t[0]+n*t[4]+o*t[8]+i*t[12],this.mat4[9]\x3dr*t[1]+n*t[5]+o*t[9]+i*t[13],this.mat4[10]\x3dr*t[2]+n*t[6]+o*t[10]+i*t[14],this.mat4[11]\x3dr*t[3]+n*t[7]+o*t[11]+i*t[15],r\x3dthis.mat4[12],n\x3dthis.mat4[13],o\x3dthis.mat4[14],i\x3dthis.mat4[15],this.mat4[12]\x3dr*t[0]+n*t[4]+o*t[8]+i*t[12],this.mat4[13]\x3dr*t[1]+\nn*t[5]+o*t[9]+i*t[13],this.mat4[14]\x3dr*t[2]+n*t[6]+o*t[10]+i*t[14],this.mat4[15]\x3dr*t[3]+n*t[7]+o*t[11]+i*t[15],this};L.default.Matrix.prototype.apply\x3dfunction(e){if(e\x3d\x3d\x3dthis||e\x3d\x3d\x3dthis.mat4)var t\x3dthis.copy().mat4;else if(e instanceof L.default.Matrix)t\x3de.mat4;else if(P(e))t\x3de;else{if(16!\x3d\x3darguments.length)return;t\x3darguments}var r\x3dthis.mat4,n\x3dr[0],o\x3dr[4],i\x3dr[8],a\x3dr[12];r[0]\x3dt[0]*n+t[1]*o+t[2]*i+t[3]*a;r[4]\x3dt[4]*n+t[5]*o+t[6]*i+t[7]*a;r[8]\x3dt[8]*n+t[9]*o+t[10]*i+t[11]*a;r[12]\x3dt[12]*n+t[13]*o+t[14]*i+t[15]*\na;n\x3dr[1];o\x3dr[5];i\x3dr[9];a\x3dr[13];r[1]\x3dt[0]*n+t[1]*o+t[2]*i+t[3]*a;r[5]\x3dt[4]*n+t[5]*o+t[6]*i+t[7]*a;r[9]\x3dt[8]*n+t[9]*o+t[10]*i+t[11]*a;r[13]\x3dt[12]*n+t[13]*o+t[14]*i+t[15]*a;n\x3dr[2];o\x3dr[6];i\x3dr[10];a\x3dr[14];r[2]\x3dt[0]*n+t[1]*o+t[2]*i+t[3]*a;r[6]\x3dt[4]*n+t[5]*o+t[6]*i+t[7]*a;r[10]\x3dt[8]*n+t[9]*o+t[10]*i+t[11]*a;r[14]\x3dt[12]*n+t[13]*o+t[14]*i+t[15]*a;n\x3dr[3];o\x3dr[7];i\x3dr[11];a\x3dr[15];return r[3]\x3dt[0]*n+t[1]*o+t[2]*i+t[3]*a,r[7]\x3dt[4]*n+t[5]*o+t[6]*i+t[7]*a,r[11]\x3dt[8]*n+t[9]*o+t[10]*i+t[11]*a,r[15]\x3dt[12]*n+t[13]*o+\nt[14]*i+t[15]*a,this};L.default.Matrix.prototype.scale\x3dfunction(e,t,r){return e instanceof L.default.Vector?(t\x3de.y,r\x3de.z,e\x3de.x):e instanceof Array\x26\x26(t\x3de[1],r\x3de[2],e\x3de[0]),this.mat4[0]*\x3de,this.mat4[1]*\x3de,this.mat4[2]*\x3de,this.mat4[3]*\x3de,this.mat4[4]*\x3dt,this.mat4[5]*\x3dt,this.mat4[6]*\x3dt,this.mat4[7]*\x3dt,this.mat4[8]*\x3dr,this.mat4[9]*\x3dr,this.mat4[10]*\x3dr,this.mat4[11]*\x3dr,this};L.default.Matrix.prototype.rotate\x3dfunction(e,t,r,n){t instanceof L.default.Vector?(r\x3dt.y,n\x3dt.z,t\x3dt.x):t instanceof Array\x26\x26(r\x3dt[1],\nn\x3dt[2],t\x3dt[0]);var o\x3dMath.sqrt(t*t+r*r+n*n);t*\x3d1/o;r*\x3d1/o;n*\x3d1/o;o\x3dthis.mat4[0];var a\x3dthis.mat4[1],s\x3dthis.mat4[2],l\x3dthis.mat4[3],u\x3dthis.mat4[4],c\x3dthis.mat4[5],d\x3dthis.mat4[6],f\x3dthis.mat4[7],h\x3dthis.mat4[8],p\x3dthis.mat4[9],y\x3dthis.mat4[10],m\x3dthis.mat4[11],g\x3dMath.sin(e),v\x3dMath.cos(e),b\x3d1-v;e\x3dt*t*b+v;var x\x3dr*t*b+n*g,w\x3dn*t*b-r*g,j\x3dt*r*b-n*g,S\x3dr*r*b+v,M\x3dn*r*b+t*g,E\x3dt*n*b+r*g;t\x3dr*n*b-t*g;n\x3dn*n*b+v;return this.mat4[0]\x3do*e+u*x+h*w,this.mat4[1]\x3da*e+c*x+p*w,this.mat4[2]\x3ds*e+d*x+y*w,this.mat4[3]\x3dl*e+f*x+m*w,this.mat4[4]\x3d\no*j+u*S+h*M,this.mat4[5]\x3da*j+c*S+p*M,this.mat4[6]\x3ds*j+d*S+y*M,this.mat4[7]\x3dl*j+f*S+m*M,this.mat4[8]\x3do*E+u*t+h*n,this.mat4[9]\x3da*E+c*t+p*n,this.mat4[10]\x3ds*E+d*t+y*n,this.mat4[11]\x3dl*E+f*t+m*n,this};L.default.Matrix.prototype.translate\x3dfunction(e){var t\x3de[0],r\x3de[1];e\x3de[2]||0;this.mat4[12]+\x3dthis.mat4[0]*t+this.mat4[4]*r+this.mat4[8]*e;this.mat4[13]+\x3dthis.mat4[1]*t+this.mat4[5]*r+this.mat4[9]*e;this.mat4[14]+\x3dthis.mat4[2]*t+this.mat4[6]*r+this.mat4[10]*e;this.mat4[15]+\x3dthis.mat4[3]*t+this.mat4[7]*r+this.mat4[11]*\ne};L.default.Matrix.prototype.rotateX\x3dfunction(e){this.rotate(e,1,0,0)};L.default.Matrix.prototype.rotateY\x3dfunction(e){this.rotate(e,0,1,0)};L.default.Matrix.prototype.rotateZ\x3dfunction(e){this.rotate(e,0,0,1)};L.default.Matrix.prototype.perspective\x3dfunction(e,t,r,n){e\x3d1/Math.tan(e/2);var i\x3d1/(r-n);return this.mat4[0]\x3de/t,this.mat4[1]\x3d0,this.mat4[2]\x3d0,this.mat4[3]\x3d0,this.mat4[4]\x3d0,this.mat4[5]\x3de,this.mat4[6]\x3d0,this.mat4[7]\x3d0,this.mat4[8]\x3d0,this.mat4[9]\x3d0,this.mat4[10]\x3d(n+r)*i,this.mat4[11]\x3d-1,this.mat4[12]\x3d\n0,this.mat4[13]\x3d0,this.mat4[14]\x3d2*n*r*i,this.mat4[15]\x3d0,this};L.default.Matrix.prototype.ortho\x3dfunction(e,t,r,n,o,i){var a\x3d1/(e-t),s\x3d1/(r-n),l\x3d1/(o-i);return this.mat4[0]\x3d-2*a,this.mat4[1]\x3d0,this.mat4[2]\x3d0,this.mat4[3]\x3d0,this.mat4[4]\x3d0,this.mat4[5]\x3d-2*s,this.mat4[6]\x3d0,this.mat4[7]\x3d0,this.mat4[8]\x3d0,this.mat4[9]\x3d0,this.mat4[10]\x3d2*l,this.mat4[11]\x3d0,this.mat4[12]\x3d(e+t)*a,this.mat4[13]\x3d(n+r)*s,this.mat4[14]\x3d(i+o)*l,this.mat4[15]\x3d1,this};r$jscomp$0.default\x3dL.default.Matrix},{\x22../core/main\x22:264,\x22core-js/modules/es.array.iterator\x22:158,\n\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.float32-array\x22:203,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\n\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\n\x22core-js/modules/es.typed-array.to-string\x22:223}],315:[function(e$jscomp$0,t$jscomp$0,r$jscomp$0){e$jscomp$0(\x22core-js/modules/es.array.map\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0;e$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$0(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$0.default.RenderBuffer\x3dfunction(e,t,r,n,o,i){this.size\x3de;this.src\x3dt;this.dst\x3dr;this.attr\x3dn;this._renderer\x3do;this.map\x3di};e$jscomp$0.default.RenderBuffer.prototype._prepareBuffer\x3d\nfunction(e,t){var n\x3dt.attributes,o\x3dthis._renderer.GL;var r\x3de.model?e.model:e;if(n\x3dn[this.attr]){var a\x3de[this.dst],s\x3dr[this.src];if(0\x3cs.length){var l\x3d!a;if(l\x26\x26(e[this.dst]\x3da\x3do.createBuffer()),o.bindBuffer(o.ARRAY_BUFFER,a),l||!1!\x3d\x3dr.dirtyFlags[this.src])e\x3d(e\x3dthis.map)?e(s):s,this._renderer._bindBuffer(a,o.ARRAY_BUFFER,e),r.dirtyFlags[this.src]\x3d!1;t.enableAttrib(n,this.size)}}};r$jscomp$0.default\x3de$jscomp$0.default.RenderBuffer},{\x22../core/main\x22:264,\x22core-js/modules/es.array.map\x22:161}],316:[function(e$jscomp$1,\nt$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function u(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return u\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);\ne$jscomp$1(\x22core-js/modules/es.array.fill\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.float32-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce-right\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-string\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\n\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,s\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},l\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3du();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26\n(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));e$jscomp$1(\x22./p5.RenderBuffer\x22);s.default.RendererGL.prototype.beginShape\x3dfunction(e){return this.immediateMode.shapeMode\x3dvoid 0!\x3d\x3de?e:l.TRIANGLE_FAN,this.immediateMode.geometry.reset(),this};s.default.RendererGL.prototype.vertex\x3dfunction(e,t){var n,o;var r\x3dn\x3do\x3d0;3\x3d\x3d\x3darguments.length?r\x3darguments[2]:4\x3d\x3d\x3darguments.length?(n\x3darguments[2],o\x3darguments[3]):5\x3d\x3d\x3darguments.length\x26\x26(r\x3d\narguments[2],n\x3darguments[3],o\x3darguments[4]);var i\x3dnew s.default.Vector(e,t,r);this.immediateMode.geometry.vertices.push(i);this.immediateMode.geometry.vertexNormals.push(this._currentNormal);i\x3dthis.curFillColor||[.5,.5,.5,1];return this.immediateMode.geometry.vertexColors.push(i[0],i[1],i[2],i[3]),this.textureMode\x3d\x3d\x3dl.IMAGE\x26\x26(null!\x3d\x3dthis._tex?0\x3cthis._tex.width\x26\x260\x3cthis._tex.height\x26\x26(n/\x3dthis._tex.width,o/\x3dthis._tex.height):null\x3d\x3d\x3dthis._tex\x26\x264\x3c\x3darguments.length\x26\x26console.warn(\x22You must first call texture() before using vertex() with image based u and v coordinates\x22)),\nthis.immediateMode.geometry.uvs.push(n,o),this.immediateMode._bezierVertex[0]\x3de,this.immediateMode._bezierVertex[1]\x3dt,this.immediateMode._bezierVertex[2]\x3dr,this.immediateMode._quadraticVertex[0]\x3de,this.immediateMode._quadraticVertex[1]\x3dt,this.immediateMode._quadraticVertex[2]\x3dr,this};s.default.RendererGL.prototype.normal\x3dfunction(e,t,r){return e instanceof s.default.Vector?this._currentNormal\x3de:this._currentNormal\x3dnew s.default.Vector(e,t,r),this};s.default.RendererGL.prototype.endShape\x3dfunction(e,\nt,r,n,o,i){return this.immediateMode.shapeMode\x3d\x3d\x3dl.POINTS?this._drawPoints(this.immediateMode.geometry.vertices,this.immediateMode.buffers.point):(this._processVertices.apply(this,arguments),this._doFill\x26\x261\x3cthis.immediateMode.geometry.vertices.length\x26\x26this._drawImmediateFill(),this._doStroke\x26\x261\x3cthis.immediateMode.geometry.lineVertices.length\x26\x26this._drawImmediateStroke(),this.isBezier\x3d!1,this.isQuadratic\x3d!1,this.isCurve\x3d!1,this.immediateMode._bezierVertex.length\x3d0,this.immediateMode._quadraticVertex.length\x3d\n0,this.immediateMode._curveVertex.length\x3d0),this};s.default.RendererGL.prototype._processVertices\x3dfunction(e){0!\x3d\x3dthis.immediateMode.geometry.vertices.length\x26\x26(e\x3de\x3d\x3d\x3dl.CLOSE,this._doStroke\x26\x26this.drawMode!\x3d\x3dl.TEXTURE\x26\x26(this.immediateMode.geometry.edges\x3dthis._calculateEdges(this.immediateMode.shapeMode,this.immediateMode.geometry.vertices,e),this.immediateMode.geometry._edgesToVertices()),e\x3dthis.immediateMode.shapeMode\x3d\x3d\x3dl.TESS,(this.isBezier||this.isQuadratic||this.isCurve||e)\x26\x26this.immediateMode.shapeMode!\x3d\x3d\nl.LINES\x26\x26this._tesselateShape())};s.default.RendererGL.prototype._calculateEdges\x3dfunction(e,t,r){var n\x3d[];switch(e){case l.TRIANGLE_STRIP:for(e\x3d0;e\x3ct.length-2;e++)n.push([e,e+1]),n.push([e,e+2]);n.push([e,e+1]);break;case l.TRIANGLES:for(e\x3d0;e\x3ct.length-2;e+\x3d3)n.push([e,e+1]),n.push([e+1,e+2]),n.push([e+2,e]);break;case l.LINES:for(e\x3d0;e\x3ct.length-1;e+\x3d2)n.push([e,e+1]);break;default:for(e\x3d0;e\x3ct.length-1;e++)n.push([e,e+1])}return r\x26\x26n.push([t.length-1,0]),n};s.default.RendererGL.prototype._tesselateShape\x3d\nfunction(){this.immediateMode.shapeMode\x3dl.TRIANGLES;var e\x3d[new Float32Array(this._vToNArray(this.immediateMode.geometry.vertices))];e\x3dthis._triangulate(e);this.immediateMode.geometry.vertices\x3d[];for(var r\x3d0,n\x3de.length;r\x3cn;r+\x3d3)this.vertex(e[r],e[r+1],e[r+2])};s.default.RendererGL.prototype._drawImmediateFill\x3dfunction(){var e$jscomp$0\x3dthis.GL,t\x3dthis._getImmediateFillShader();this._setFillUniforms(t);var r\x3d!0,n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3dthis.immediateMode.buffers.fill[Symbol.iterator]();!(r\x3d(i\x3da.next()).done);r\x3d\n!0)i.value._prepareBuffer(this.immediateMode.geometry,t)}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3da.return||a.return()}finally{if(n)throw o;}}this.immediateMode.shapeMode!\x3d\x3dl.LINE_STRIP\x26\x26this.immediateMode.shapeMode!\x3d\x3dl.LINES||(this.immediateMode.shapeMode\x3dl.TRIANGLE_FAN);this._applyColorBlend(this.curFillColor);e$jscomp$0.drawArrays(this.immediateMode.shapeMode,0,this.immediateMode.geometry.vertices.length);t.unbindShader()};s.default.RendererGL.prototype._drawImmediateStroke\x3dfunction(){var e$jscomp$0\x3d\nthis.GL,t\x3dthis._getImmediateStrokeShader();this._setStrokeUniforms(t);var r\x3d!0,n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3dthis.immediateMode.buffers.stroke[Symbol.iterator]();!(r\x3d(i\x3da.next()).done);r\x3d!0)i.value._prepareBuffer(this.immediateMode.geometry,t)}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3da.return||a.return()}finally{if(n)throw o;}}this._applyColorBlend(this.curStrokeColor);e$jscomp$0.drawArrays(e$jscomp$0.TRIANGLES,0,this.immediateMode.geometry.lineVertices.length);t.unbindShader()};r$jscomp$0.default\x3d\ns.default.RendererGL},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./p5.RenderBuffer\x22:315,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\n\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.float32-array\x22:203,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\n\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/web.dom-collections.iterator\x22:229}],317:[function(e$jscomp$2,t$jscomp$1,r$jscomp$0){e$jscomp$2(\x22core-js/modules/es.symbol\x22);\ne$jscomp$2(\x22core-js/modules/es.symbol.description\x22);e$jscomp$2(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.fill\x22);e$jscomp$2(\x22core-js/modules/es.array.iterator\x22);e$jscomp$2(\x22core-js/modules/es.array.some\x22);e$jscomp$2(\x22core-js/modules/es.object.keys\x22);e$jscomp$2(\x22core-js/modules/es.object.to-string\x22);e$jscomp$2(\x22core-js/modules/es.string.iterator\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.float32-array\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.uint16-array\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.uint32-array\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.iterator\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.sort\x22);\ne$jscomp$2(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$2(\x22core-js/modules/es.typed-array.to-string\x22);e$jscomp$2(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,l$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$2(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};e$jscomp$2(\x22./p5.RendererGL\x22);e$jscomp$2(\x22./p5.RenderBuffer\x22);var o$jscomp$0\x3d\n0;l$jscomp$0.default.RendererGL.prototype._initBufferDefaults\x3dfunction(e){if(this._freeBuffers(e),1E3\x3c++o$jscomp$0){var t\x3dObject.keys(this.retainedMode.geometry)[0];delete this.retainedMode.geometry[t];o$jscomp$0--}return this.retainedMode.geometry[e]\x3d{}};l$jscomp$0.default.RendererGL.prototype._freeBuffers\x3dfunction(e$jscomp$1){function t$jscomp$0(e$jscomp$0){var t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3de$jscomp$0[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0){var a\x3do.value;s[a.dst]\x26\x26(l.deleteBuffer(s[a.dst]),\ns[a.dst]\x3dnull)}}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}}var s\x3dthis.retainedMode.geometry[e$jscomp$1];if(s){delete this.retainedMode.geometry[e$jscomp$1];o$jscomp$0--;var l\x3dthis.GL;s.indexBuffer\x26\x26l.deleteBuffer(s.indexBuffer);t$jscomp$0(this.retainedMode.buffers.stroke);t$jscomp$0(this.retainedMode.buffers.fill)}};l$jscomp$0.default.RendererGL.prototype.createBuffers\x3dfunction(e$jscomp$0,t){var r\x3dthis.GL;e$jscomp$0\x3dthis._initBufferDefaults(e$jscomp$0);e$jscomp$0.model\x3d\nt;var o\x3de$jscomp$0.indexBuffer;if(t.faces.length){o\x3do||(e$jscomp$0.indexBuffer\x3dr.createBuffer());var i\x3dl$jscomp$0.default.RendererGL.prototype._flatten(t.faces),a\x3di.some(function(e){return 65535\x3ce});this._bindBuffer(o,r.ELEMENT_ARRAY_BUFFER,i,a?Uint32Array:Uint16Array);e$jscomp$0.indexBufferType\x3da?r.UNSIGNED_INT:r.UNSIGNED_SHORT;e$jscomp$0.vertexCount\x3d3*t.faces.length}else o\x26\x26(r.deleteBuffer(o),e$jscomp$0.indexBuffer\x3dnull),e$jscomp$0.vertexCount\x3dt.vertices?t.vertices.length:0;return e$jscomp$0.lineVertexCount\x3d\nt.lineVertices?t.lineVertices.length:0,e$jscomp$0};l$jscomp$0.default.RendererGL.prototype.drawBuffers\x3dfunction(e$jscomp$0){var t\x3dthis.GL,r\x3dthis.retainedMode.geometry[e$jscomp$0];if(this._doStroke\x26\x260\x3cr.lineVertexCount){var n\x3dthis._getRetainedStrokeShader();this._setStrokeUniforms(n);var o\x3d!0,i\x3d!1,a\x3dvoid 0;try{for(var s,l\x3dthis.retainedMode.buffers.stroke[Symbol.iterator]();!(o\x3d(s\x3dl.next()).done);o\x3d!0)s.value._prepareBuffer(r,n)}catch(e){i\x3d!0,a\x3de}finally{try{o||null\x3d\x3dl.return||l.return()}finally{if(i)throw a;\n}}this._applyColorBlend(this.curStrokeColor);this._drawArrays(t.TRIANGLES,e$jscomp$0);n.unbindShader()}if(this._doFill){n\x3dthis._getRetainedFillShader();this._setFillUniforms(n);o\x3d!0;i\x3d!1;a\x3dvoid 0;try{for(var h,p\x3dthis.retainedMode.buffers.fill[Symbol.iterator]();!(o\x3d(h\x3dp.next()).done);o\x3d!0)h.value._prepareBuffer(r,n)}catch(e){i\x3d!0,a\x3de}finally{try{o||null\x3d\x3dp.return||p.return()}finally{if(i)throw a;}}r.indexBuffer\x26\x26this._bindBuffer(r.indexBuffer,t.ELEMENT_ARRAY_BUFFER);this._applyColorBlend(this.curFillColor);\nthis._drawElements(t.TRIANGLES,e$jscomp$0);n.unbindShader()}return this};l$jscomp$0.default.RendererGL.prototype.drawBuffersScaled\x3dfunction(e,t,r,n){var o\x3dthis.uMVMatrix.copy();try{this.uMVMatrix.scale(t,r,n),this.drawBuffers(e)}finally{this.uMVMatrix\x3do}};l$jscomp$0.default.RendererGL.prototype._drawArrays\x3dfunction(e,t){return this.GL.drawArrays(e,0,this.retainedMode.geometry[t].lineVertexCount),this};l$jscomp$0.default.RendererGL.prototype._drawElements\x3dfunction(e,t){t\x3dthis.retainedMode.geometry[t];\nvar n\x3dthis.GL;if(t.indexBuffer){if(t.indexBufferType\x3d\x3d\x3dn.UNSIGNED_INT\x26\x26!n.getExtension(\x22OES_element_index_uint\x22))throw Error(\x22Unable to render a 3d model with \\x3e 65535 triangles. Your web browser does not support the WebGL Extension OES_element_index_uint.\x22);n.drawElements(n.TRIANGLES,t.vertexCount,t.indexBufferType,0)}else n.drawArrays(e||n.TRIANGLES,0,t.vertexCount)};l$jscomp$0.default.RendererGL.prototype._drawPoints\x3dfunction(e,t){var r\x3dthis.GL,n\x3dthis._getImmediatePointShader();this._setPointUniforms(n);\nthis._bindBuffer(t,r.ARRAY_BUFFER,this._vToNArray(e),Float32Array,r.STATIC_DRAW);n.enableAttrib(n.attributes.aPosition,3);r.drawArrays(r.Points,0,e.length);n.unbindShader()};r$jscomp$0.default\x3dl$jscomp$0.default.RendererGL},{\x22../core/main\x22:264,\x22./p5.RenderBuffer\x22:315,\x22./p5.RendererGL\x22:318,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.some\x22:163,\x22core-js/modules/es.object.keys\x22:176,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\n\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\x22core-js/modules/es.typed-array.float32-array\x22:203,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\n\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\n\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint16-array\x22:224,\x22core-js/modules/es.typed-array.uint32-array\x22:225,\x22core-js/modules/web.dom-collections.iterator\x22:229}],318:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a$jscomp$0(e$jscomp$0){return(a$jscomp$0\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\n\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$0(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$0\x3dfunction(){return e},e}function o$jscomp$0(e){return e\x26\x26e.__esModule?e:{default:e}}function l(e$jscomp$0){if(!(e$jscomp$0\x3dfunction(e){if(Array.isArray(e)){for(var t\x3d0,r\x3dArray(e.length);t\x3ce.length;t++)r[t]\x3de[t];return r}}(e$jscomp$0)||function(e){if(Symbol.iterator in Object(e)||\x22[object Arguments]\x22\x3d\x3d\x3d\nObject.prototype.toString.call(e))return Array.from(e)}(e$jscomp$0)))throw new TypeError(\x22Invalid attempt to spread non-iterable instance\x22);return e$jscomp$0}e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.concat\x22);e$jscomp$1(\x22core-js/modules/es.array.fill\x22);e$jscomp$1(\x22core-js/modules/es.array.filter\x22);e$jscomp$1(\x22core-js/modules/es.array.from\x22);e$jscomp$1(\x22core-js/modules/es.array.includes\x22);\ne$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.object.assign\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.regexp.to-string\x22);e$jscomp$1(\x22core-js/modules/es.string.includes\x22);e$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.float32-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.float64-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.int16-array\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.uint16-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.uint32-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find-index\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.for-each\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reverse\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.set\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-string\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var u\x3do$jscomp$0(e$jscomp$1(\x22../core/main\x22)),\ni$jscomp$0\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$0(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$0();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22)),n$jscomp$0\x3do$jscomp$0(e$jscomp$1(\x22libtess\x22));\ne$jscomp$1(\x22./p5.Shader\x22);e$jscomp$1(\x22./p5.Camera\x22);e$jscomp$1(\x22../core/p5.Renderer\x22);e$jscomp$1(\x22./p5.Matrix\x22);e$jscomp$1(\x22path\x22);u.default.RendererGL\x3dfunction(e,t,r,n){return u.default.Renderer.call(this,e,t,r),this._setAttributeDefaults(t),this._initContext(),this.isP3D\x3d!0,this.GL\x3dthis.drawingContext,this._pInst._setProperty(\x22drawingContext\x22,this.drawingContext),this._isErasing\x3d!1,this._enableLighting\x3d!1,this.ambientLightColors\x3d[],this.specularColors\x3d[1,1,1],this.directionalLightDirections\x3d[],\nthis.directionalLightDiffuseColors\x3d[],this.directionalLightSpecularColors\x3d[],this.pointLightPositions\x3d[],this.pointLightDiffuseColors\x3d[],this.pointLightSpecularColors\x3d[],this.spotLightPositions\x3d[],this.spotLightDirections\x3d[],this.spotLightDiffuseColors\x3d[],this.spotLightSpecularColors\x3d[],this.spotLightAngle\x3d[],this.spotLightConc\x3d[],this.drawMode\x3di$jscomp$0.FILL,this.curFillColor\x3dthis._cachedFillStyle\x3d[1,1,1,1],this.curStrokeColor\x3dthis._cachedStrokeStyle\x3d[0,0,0,1],this.curBlendMode\x3di$jscomp$0.BLEND,\nthis._cachedBlendMode\x3dvoid 0,this.blendExt\x3dthis.GL.getExtension(\x22EXT_blend_minmax\x22),this._isBlending\x3d!1,this._useSpecularMaterial\x3d!1,this._useEmissiveMaterial\x3d!1,this._useNormalMaterial\x3d!1,this._useShininess\x3d1,this._tint\x3d[255,255,255,255],this.constantAttenuation\x3d1,this.linearAttenuation\x3d0,this.quadraticAttenuation\x3d0,this.uMVMatrix\x3dnew u.default.Matrix,this.uPMatrix\x3dnew u.default.Matrix,this.uNMatrix\x3dnew u.default.Matrix(\x22mat3\x22),this._currentNormal\x3dnew u.default.Vector(0,0,1),this._curCamera\x3dnew u.default.Camera(this),\nthis._curCamera._computeCameraDefaultSettings(),this._curCamera._setDefaultCamera(),this._defaultLightShader\x3dvoid 0,this._defaultImmediateModeShader\x3dvoid 0,this._defaultNormalShader\x3dvoid 0,this._defaultColorShader\x3dvoid 0,this._defaultPointShader\x3dvoid 0,this.userFillShader\x3dvoid 0,this.userStrokeShader\x3dvoid 0,this.userPointShader\x3dvoid 0,this.retainedMode\x3d{geometry:{},buffers:{stroke:[new u.default.RenderBuffer(3,\x22lineVertices\x22,\x22lineVertexBuffer\x22,\x22aPosition\x22,this,this._flatten),new u.default.RenderBuffer(4,\n\x22lineNormals\x22,\x22lineNormalBuffer\x22,\x22aDirection\x22,this,this._flatten)],fill:[new u.default.RenderBuffer(3,\x22vertices\x22,\x22vertexBuffer\x22,\x22aPosition\x22,this,this._vToNArray),new u.default.RenderBuffer(3,\x22vertexNormals\x22,\x22normalBuffer\x22,\x22aNormal\x22,this,this._vToNArray),new u.default.RenderBuffer(4,\x22vertexColors\x22,\x22colorBuffer\x22,\x22aVertexColor\x22,this),new u.default.RenderBuffer(3,\x22vertexAmbients\x22,\x22ambientBuffer\x22,\x22aAmbientColor\x22,this),new u.default.RenderBuffer(2,\x22uvs\x22,\x22uvBuffer\x22,\x22aTexCoord\x22,this,this._flatten)],text:[new u.default.RenderBuffer(3,\n\x22vertices\x22,\x22vertexBuffer\x22,\x22aPosition\x22,this,this._vToNArray),new u.default.RenderBuffer(2,\x22uvs\x22,\x22uvBuffer\x22,\x22aTexCoord\x22,this,this._flatten)]}},this.immediateMode\x3d{geometry:new u.default.Geometry,shapeMode:i$jscomp$0.TRIANGLE_FAN,_bezierVertex:[],_quadraticVertex:[],_curveVertex:[],buffers:{fill:[new u.default.RenderBuffer(3,\x22vertices\x22,\x22vertexBuffer\x22,\x22aPosition\x22,this,this._vToNArray),new u.default.RenderBuffer(3,\x22vertexNormals\x22,\x22normalBuffer\x22,\x22aNormal\x22,this,this._vToNArray),new u.default.RenderBuffer(4,\n\x22vertexColors\x22,\x22colorBuffer\x22,\x22aVertexColor\x22,this),new u.default.RenderBuffer(3,\x22vertexAmbients\x22,\x22ambientBuffer\x22,\x22aAmbientColor\x22,this),new u.default.RenderBuffer(2,\x22uvs\x22,\x22uvBuffer\x22,\x22aTexCoord\x22,this,this._flatten)],stroke:[new u.default.RenderBuffer(3,\x22lineVertices\x22,\x22lineVertexBuffer\x22,\x22aPosition\x22,this,this._flatten),new u.default.RenderBuffer(4,\x22lineNormals\x22,\x22lineNormalBuffer\x22,\x22aDirection\x22,this,this._flatten)],point:this.GL.createBuffer()}},this.pointSize\x3d5,this.curStrokeWeight\x3d1,this.textures\x3d[],this.textureMode\x3d\ni$jscomp$0.IMAGE,this.textureWrapX\x3di$jscomp$0.CLAMP,this.textureWrapY\x3di$jscomp$0.CLAMP,this._tex\x3dnull,this._curveTightness\x3d6,this._lookUpTableBezier\x3d[],this._lookUpTableQuadratic\x3d[],this._lutBezierDetail\x3d0,this._lutQuadraticDetail\x3d0,this._tessy\x3dthis._initTessy(),this.fontInfos\x3d{},this._curShader\x3dvoid 0,this};u.default.RendererGL.prototype\x3dObject.create(u.default.Renderer.prototype);u.default.RendererGL.prototype._setAttributeDefaults\x3dfunction(e){var t\x3d{alpha:!1,depth:!0,stencil:!0,antialias:navigator.userAgent.toLowerCase().includes(\x22safari\x22),\npremultipliedAlpha:!1,preserveDrawingBuffer:!0,perPixelLighting:!0};null\x3d\x3d\x3de._glAttributes?e._glAttributes\x3dt:e._glAttributes\x3dObject.assign(t,e._glAttributes)};u.default.RendererGL.prototype._initContext\x3dfunction(){try{if(this.drawingContext\x3dthis.canvas.getContext(\x22webgl\x22,this._pInst._glAttributes)||this.canvas.getContext(\x22experimental-webgl\x22,this._pInst._glAttributes),null\x3d\x3d\x3dthis.drawingContext)throw Error(\x22Error creating webgl context\x22);var e$jscomp$0\x3dthis.drawingContext;e$jscomp$0.enable(e$jscomp$0.DEPTH_TEST);\ne$jscomp$0.depthFunc(e$jscomp$0.LEQUAL);e$jscomp$0.viewport(0,0,e$jscomp$0.drawingBufferWidth,e$jscomp$0.drawingBufferHeight);this._viewport\x3dthis.drawingContext.getParameter(this.drawingContext.VIEWPORT)}catch(e){throw e;}};u.default.RendererGL.prototype._resetContext\x3dfunction(e,t){var r\x3dthis.width,n\x3dthis.height,o\x3dthis.canvas.id,i\x3dthis._pInst instanceof u.default.Graphics;if(i)o\x3dthis._pInst,o.canvas.parentNode.removeChild(o.canvas),o.canvas\x3ddocument.createElement(\x22canvas\x22),(o._pInst._userNode||document.body).appendChild(o.canvas),\nu.default.Element.call(o,o.canvas,o._pInst),o.width\x3dr,o.height\x3dn;else{var s\x3dthis.canvas;s\x26\x26s.parentNode.removeChild(s);(s\x3ddocument.createElement(\x22canvas\x22)).id\x3do;this._pInst._userNode?this._pInst._userNode.appendChild(s):document.body.appendChild(s);this._pInst.canvas\x3ds}o\x3dnew u.default.RendererGL(this._pInst.canvas,this._pInst,!i);this._pInst._setProperty(\x22_renderer\x22,o);o.resize(r,n);o._applyDefaults();i||this._pInst._elements.push(o);\x22function\x22\x3d\x3dtypeof t\x26\x26setTimeout(function(){t.apply(window._renderer,\ne)},0)};u.default.prototype.setAttributes\x3dfunction(e,t){if(void 0!\x3d\x3dthis._glAttributes){var r\x3d!0;if(void 0!\x3d\x3dt?(null\x3d\x3d\x3dthis._glAttributes\x26\x26(this._glAttributes\x3d{}),this._glAttributes[e]!\x3d\x3dt\x26\x26(this._glAttributes[e]\x3dt,r\x3d!1)):e instanceof Object\x26\x26this._glAttributes!\x3d\x3de\x26\x26(this._glAttributes\x3de,r\x3d!1),this._renderer.isP3D\x26\x26!r){if(!this._setupDone)for(var n in this._renderer.retainedMode.geometry)if(this._renderer.retainedMode.geometry.hasOwnProperty(n))return void console.error(\x22Sorry, Could not set the attributes, you need to call setAttributes() before calling the other drawing methods in setup()\x22);\nthis.push();this._renderer._resetContext();this.pop();this._renderer._curCamera\x26\x26(this._renderer._curCamera._renderer\x3dthis._renderer)}}else console.log(\x22You are trying to use setAttributes on a p5.Graphics object that does not use a WEBGL renderer.\x22)};u.default.RendererGL.prototype._update\x3dfunction(){this.uMVMatrix.set(this._curCamera.cameraMatrix.mat4[0],this._curCamera.cameraMatrix.mat4[1],this._curCamera.cameraMatrix.mat4[2],this._curCamera.cameraMatrix.mat4[3],this._curCamera.cameraMatrix.mat4[4],\nthis._curCamera.cameraMatrix.mat4[5],this._curCamera.cameraMatrix.mat4[6],this._curCamera.cameraMatrix.mat4[7],this._curCamera.cameraMatrix.mat4[8],this._curCamera.cameraMatrix.mat4[9],this._curCamera.cameraMatrix.mat4[10],this._curCamera.cameraMatrix.mat4[11],this._curCamera.cameraMatrix.mat4[12],this._curCamera.cameraMatrix.mat4[13],this._curCamera.cameraMatrix.mat4[14],this._curCamera.cameraMatrix.mat4[15]);this.ambientLightColors.length\x3d0;this.specularColors\x3d[1,1,1];this.directionalLightDirections.length\x3d\n0;this.directionalLightDiffuseColors.length\x3d0;this.directionalLightSpecularColors.length\x3d0;this.pointLightPositions.length\x3d0;this.pointLightDiffuseColors.length\x3d0;this.pointLightSpecularColors.length\x3d0;this.spotLightPositions.length\x3d0;this.spotLightDirections.length\x3d0;this.spotLightDiffuseColors.length\x3d0;this.spotLightSpecularColors.length\x3d0;this.spotLightAngle.length\x3d0;this.spotLightConc.length\x3d0;this._enableLighting\x3d!1;this._tint\x3d[255,255,255,255];this.GL.clear(this.GL.DEPTH_BUFFER_BIT)};u.default.RendererGL.prototype.background\x3d\nfunction(){var e,t\x3d(e\x3dthis._pInst).color.apply(e,arguments);this.GL.clearColor(t.levels[0]/255,t.levels[1]/255,t.levels[2]/255,t.levels[3]/255);this.GL.clear(this.GL.COLOR_BUFFER_BIT)};u.default.RendererGL.prototype.fill\x3dfunction(e,t,r,n){this.curFillColor\x3du.default.prototype.color.apply(this._pInst,arguments)._array;this.drawMode\x3di$jscomp$0.FILL;this._useNormalMaterial\x3d!1;this._tex\x3dnull};u.default.RendererGL.prototype.stroke\x3dfunction(e,t,r,n){arguments[3]\x3d255;this.curStrokeColor\x3du.default.prototype.color.apply(this._pInst,\narguments)._array};u.default.RendererGL.prototype.strokeCap\x3dfunction(e){console.error(\x22Sorry, strokeCap() is not yet implemented in WEBGL mode\x22)};u.default.RendererGL.prototype.strokeJoin\x3dfunction(e){console.error(\x22Sorry, strokeJoin() is not yet implemented in WEBGL mode\x22)};u.default.RendererGL.prototype.filter\x3dfunction(e){console.error(\x22filter() does not work in WEBGL mode\x22)};u.default.RendererGL.prototype.blendMode\x3dfunction(e){e\x3d\x3d\x3di$jscomp$0.DARKEST||e\x3d\x3d\x3di$jscomp$0.LIGHTEST||e\x3d\x3d\x3di$jscomp$0.ADD||\ne\x3d\x3d\x3di$jscomp$0.BLEND||e\x3d\x3d\x3di$jscomp$0.SUBTRACT||e\x3d\x3d\x3di$jscomp$0.SCREEN||e\x3d\x3d\x3di$jscomp$0.EXCLUSION||e\x3d\x3d\x3di$jscomp$0.REPLACE||e\x3d\x3d\x3di$jscomp$0.MULTIPLY||e\x3d\x3d\x3di$jscomp$0.REMOVE?this.curBlendMode\x3de:e!\x3d\x3di$jscomp$0.BURN\x26\x26e!\x3d\x3di$jscomp$0.OVERLAY\x26\x26e!\x3d\x3di$jscomp$0.HARD_LIGHT\x26\x26e!\x3d\x3di$jscomp$0.SOFT_LIGHT\x26\x26e!\x3d\x3di$jscomp$0.DODGE||console.warn(\x22BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.\x22)};u.default.RendererGL.prototype.erase\x3dfunction(e,t){this._isErasing||(this._applyBlendMode(i$jscomp$0.REMOVE),\nthis._isErasing\x3d!0,this._cachedFillStyle\x3dthis.curFillColor.slice(),this.curFillColor\x3d[1,1,1,e/255],this._cachedStrokeStyle\x3dthis.curStrokeColor.slice(),this.curStrokeColor\x3d[1,1,1,t/255])};u.default.RendererGL.prototype.noErase\x3dfunction(){this._isErasing\x26\x26(this._isErasing\x3d!1,this.curFillColor\x3dthis._cachedFillStyle.slice(),this.curStrokeColor\x3dthis._cachedStrokeStyle.slice(),this.blendMode(this._cachedBlendMode))};u.default.RendererGL.prototype.strokeWeight\x3dfunction(e){this.curStrokeWeight!\x3d\x3de\x26\x26(this.pointSize\x3d\ne,this.curStrokeWeight\x3de)};u.default.RendererGL.prototype._getPixel\x3dfunction(e,t){var r;return r\x3dnew Uint8Array(4),this.drawingContext.readPixels(e,t,1,1,this.drawingContext.RGBA,this.drawingContext.UNSIGNED_BYTE,r),[r[0],r[1],r[2],r[3]]};u.default.RendererGL.prototype.loadPixels\x3dfunction(){var e\x3dthis._pixelsState;if(!0\x3d\x3d\x3dthis._pInst._glAttributes.preserveDrawingBuffer){e\x3de.pixels;var r\x3dthis.GL.drawingBufferWidth*this.GL.drawingBufferHeight*4;e instanceof Uint8Array\x26\x26e.length\x3d\x3d\x3dr||(e\x3dnew Uint8Array(r),\nthis._pixelsState._setProperty(\x22pixels\x22,e));r\x3dthis._pInst._pixelDensity;this.GL.readPixels(0,0,this.width*r,this.height*r,this.GL.RGBA,this.GL.UNSIGNED_BYTE,e)}else console.log(\x22loadPixels only works in WebGL when preserveDrawingBuffer is true.\x22)};u.default.RendererGL.prototype.geometryInHash\x3dfunction(e){return void 0!\x3d\x3dthis.retainedMode.geometry[e]};u.default.RendererGL.prototype.resize\x3dfunction(e,t){u.default.Renderer.prototype.resize.call(this,e,t);this.GL.viewport(0,0,this.GL.drawingBufferWidth,\nthis.GL.drawingBufferHeight);this._viewport\x3dthis.GL.getParameter(this.GL.VIEWPORT);this._curCamera._resize();e\x3dthis._pixelsState;void 0!\x3d\x3de.pixels\x26\x26e._setProperty(\x22pixels\x22,new Uint8Array(this.GL.drawingBufferWidth*this.GL.drawingBufferHeight*4))};u.default.RendererGL.prototype.clear\x3dfunction(){this.GL.clearColor((0\x3e\x3darguments.length?void 0:arguments[0])||0,(1\x3e\x3darguments.length?void 0:arguments[1])||0,(2\x3e\x3darguments.length?void 0:arguments[2])||0,(3\x3e\x3darguments.length?void 0:arguments[3])||0);this.GL.clearDepth(1);\nthis.GL.clear(this.GL.COLOR_BUFFER_BIT|this.GL.DEPTH_BUFFER_BIT)};u.default.RendererGL.prototype.applyMatrix\x3dfunction(e,t,r,n,o,i){16\x3d\x3d\x3darguments.length?u.default.Matrix.prototype.apply.apply(this.uMVMatrix,arguments):this.uMVMatrix.apply([e,t,0,0,r,n,0,0,0,0,1,0,o,i,0,1])};u.default.RendererGL.prototype.translate\x3dfunction(e,t,r){return e instanceof u.default.Vector\x26\x26(r\x3de.z,t\x3de.y,e\x3de.x),this.uMVMatrix.translate([e,t,r]),this};u.default.RendererGL.prototype.scale\x3dfunction(e,t,r){return this.uMVMatrix.scale(e,\nt,r),this};u.default.RendererGL.prototype.rotate\x3dfunction(e,t){return void 0\x3d\x3d\x3dt?this.rotateZ(e):(u.default.Matrix.prototype.rotate.apply(this.uMVMatrix,arguments),this)};u.default.RendererGL.prototype.rotateX\x3dfunction(e){return this.rotate(e,1,0,0),this};u.default.RendererGL.prototype.rotateY\x3dfunction(e){return this.rotate(e,0,1,0),this};u.default.RendererGL.prototype.rotateZ\x3dfunction(e){return this.rotate(e,0,0,1),this};u.default.RendererGL.prototype.push\x3dfunction(){var e\x3du.default.Renderer.prototype.push.apply(this),\nt\x3de.properties;return t.uMVMatrix\x3dthis.uMVMatrix.copy(),t.uPMatrix\x3dthis.uPMatrix.copy(),t._curCamera\x3dthis._curCamera,this._curCamera\x3dthis._curCamera.copy(),t.ambientLightColors\x3dthis.ambientLightColors.slice(),t.specularColors\x3dthis.specularColors.slice(),t.directionalLightDirections\x3dthis.directionalLightDirections.slice(),t.directionalLightDiffuseColors\x3dthis.directionalLightDiffuseColors.slice(),t.directionalLightSpecularColors\x3dthis.directionalLightSpecularColors.slice(),t.pointLightPositions\x3dthis.pointLightPositions.slice(),\nt.pointLightDiffuseColors\x3dthis.pointLightDiffuseColors.slice(),t.pointLightSpecularColors\x3dthis.pointLightSpecularColors.slice(),t.spotLightPositions\x3dthis.spotLightPositions.slice(),t.spotLightDirections\x3dthis.spotLightDirections.slice(),t.spotLightDiffuseColors\x3dthis.spotLightDiffuseColors.slice(),t.spotLightSpecularColors\x3dthis.spotLightSpecularColors.slice(),t.spotLightAngle\x3dthis.spotLightAngle.slice(),t.spotLightConc\x3dthis.spotLightConc.slice(),t.userFillShader\x3dthis.userFillShader,t.userStrokeShader\x3d\nthis.userStrokeShader,t.userPointShader\x3dthis.userPointShader,t.pointSize\x3dthis.pointSize,t.curStrokeWeight\x3dthis.curStrokeWeight,t.curStrokeColor\x3dthis.curStrokeColor,t.curFillColor\x3dthis.curFillColor,t._useSpecularMaterial\x3dthis._useSpecularMaterial,t._useEmissiveMaterial\x3dthis._useEmissiveMaterial,t._useShininess\x3dthis._useShininess,t.constantAttenuation\x3dthis.constantAttenuation,t.linearAttenuation\x3dthis.linearAttenuation,t.quadraticAttenuation\x3dthis.quadraticAttenuation,t._enableLighting\x3dthis._enableLighting,\nt._useNormalMaterial\x3dthis._useNormalMaterial,t._tex\x3dthis._tex,t.drawMode\x3dthis.drawMode,t._currentNormal\x3dthis._currentNormal,e};u.default.RendererGL.prototype.resetMatrix\x3dfunction(){return this.uMVMatrix\x3du.default.Matrix.identity(this._pInst),this};u.default.RendererGL.prototype._getImmediateStrokeShader\x3dfunction(){var e\x3dthis.userStrokeShader;return e\x26\x26e.isStrokeShader()?e:this._getLineShader()};u.default.RendererGL.prototype._getRetainedStrokeShader\x3du.default.RendererGL.prototype._getImmediateStrokeShader;\nu.default.RendererGL.prototype._getImmediateFillShader\x3dfunction(){var e\x3dthis.userFillShader;if(this._useNormalMaterial\x26\x26(!e||!e.isNormalShader()))return this._getNormalShader();if(this._enableLighting){if(!e||!e.isLightShader())return this._getLightShader()}else if(this._tex){if(!e||!e.isTextureShader())return this._getLightShader()}else if(!e)return this._getImmediateModeShader();return e};u.default.RendererGL.prototype._getRetainedFillShader\x3dfunction(){if(this._useNormalMaterial)return this._getNormalShader();\nvar e\x3dthis.userFillShader;if(this._enableLighting){if(!e||!e.isLightShader())return this._getLightShader()}else if(this._tex){if(!e||!e.isTextureShader())return this._getLightShader()}else if(!e)return this._getColorShader();return e};u.default.RendererGL.prototype._getImmediatePointShader\x3dfunction(){var e\x3dthis.userPointShader;return e\x26\x26e.isPointShader()?e:this._getPointShader()};u.default.RendererGL.prototype._getRetainedLineShader\x3du.default.RendererGL.prototype._getImmediateLineShader;u.default.RendererGL.prototype._getLightShader\x3d\nfunction(){return this._defaultLightShader||(this._pInst._glAttributes.perPixelLighting?this._defaultLightShader\x3dnew u.default.Shader(this,\x22precision highp float;\\nprecision highp int;\\n\\nattribute vec3 aPosition;\\nattribute vec3 aNormal;\\nattribute vec2 aTexCoord;\\n\\nuniform vec3 uAmbientColor[5];\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform mat3 uNormalMatrix;\\nuniform int uAmbientLightCount;\\n\\nvarying vec3 vNormal;\\nvarying vec2 vTexCoord;\\nvarying vec3 vViewPosition;\\nvarying vec3 vAmbientColor;\\n\\nvoid main(void) {\\n\\n vec4 viewModelPosition \\x3d uModelViewMatrix * vec4(aPosition, 1.0);\\n\\n // Pass varyings to fragment shader\\n vViewPosition \\x3d viewModelPosition.xyz;\\n gl_Position \\x3d uProjectionMatrix * viewModelPosition; \\n\\n vNormal \\x3d uNormalMatrix * aNormal;\\n vTexCoord \\x3d aTexCoord;\\n\\n // TODO: this should be a uniform\\n vAmbientColor \\x3d vec3(0.0);\\n for (int i \\x3d 0; i \\x3c 5; i++) {\\n if (i \\x3c uAmbientLightCount) {\\n vAmbientColor +\\x3d uAmbientColor[i];\\n }\\n }\\n}\\n\x22,\n\x22precision highp float;\\nprecision highp int;\\n\\nuniform mat4 uViewMatrix;\\n\\nuniform bool uUseLighting;\\n\\nuniform int uAmbientLightCount;\\nuniform vec3 uAmbientColor[5];\\n\\nuniform int uDirectionalLightCount;\\nuniform vec3 uLightingDirection[5];\\nuniform vec3 uDirectionalDiffuseColors[5];\\nuniform vec3 uDirectionalSpecularColors[5];\\n\\nuniform int uPointLightCount;\\nuniform vec3 uPointLightLocation[5];\\nuniform vec3 uPointLightDiffuseColors[5];\\t\\nuniform vec3 uPointLightSpecularColors[5];\\n\\nuniform int uSpotLightCount;\\nuniform float uSpotLightAngle[5];\\nuniform float uSpotLightConc[5];\\nuniform vec3 uSpotLightDiffuseColors[5];\\nuniform vec3 uSpotLightSpecularColors[5];\\nuniform vec3 uSpotLightLocation[5];\\nuniform vec3 uSpotLightDirection[5];\\n\\nuniform bool uSpecular;\\nuniform float uShininess;\\n\\nuniform float uConstantAttenuation;\\nuniform float uLinearAttenuation;\\nuniform float uQuadraticAttenuation;\\n\\nconst float specularFactor \\x3d 2.0;\\nconst float diffuseFactor \\x3d 0.73;\\n\\nstruct LightResult {\\n float specular;\\n float diffuse;\\n};\\n\\nfloat _phongSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float shininess) {\\n\\n vec3 R \\x3d reflect(lightDirection, surfaceNormal);\\n return pow(max(0.0, dot(R, viewDirection)), shininess);\\n}\\n\\nfloat _lambertDiffuse(vec3 lightDirection, vec3 surfaceNormal) {\\n return max(0.0, dot(-lightDirection, surfaceNormal));\\n}\\n\\nLightResult _light(vec3 viewDirection, vec3 normal, vec3 lightVector) {\\n\\n vec3 lightDir \\x3d normalize(lightVector);\\n\\n //compute our diffuse \\x26 specular terms\\n LightResult lr;\\n if (uSpecular)\\n lr.specular \\x3d _phongSpecular(lightDir, viewDirection, normal, uShininess);\\n lr.diffuse \\x3d _lambertDiffuse(lightDir, normal);\\n return lr;\\n}\\n\\nvoid totalLight(\\n vec3 modelPosition,\\n vec3 normal,\\n out vec3 totalDiffuse,\\n out vec3 totalSpecular\\n) {\\n\\n totalSpecular \\x3d vec3(0.0);\\n\\n if (!uUseLighting) {\\n totalDiffuse \\x3d vec3(1.0);\\n return;\\n }\\n\\n totalDiffuse \\x3d vec3(0.0);\\n\\n vec3 viewDirection \\x3d normalize(-modelPosition);\\n\\n for (int j \\x3d 0; j \\x3c 5; j++) {\\n if (j \\x3c uDirectionalLightCount) {\\n vec3 lightVector \\x3d (uViewMatrix * vec4(uLightingDirection[j], 0.0)).xyz;\\n vec3 lightColor \\x3d uDirectionalDiffuseColors[j];\\n vec3 specularColor \\x3d uDirectionalSpecularColors[j];\\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n totalDiffuse +\\x3d result.diffuse * lightColor;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor;\\n }\\n\\n if (j \\x3c uPointLightCount) {\\n vec3 lightPosition \\x3d (uViewMatrix * vec4(uPointLightLocation[j], 1.0)).xyz;\\n vec3 lightVector \\x3d modelPosition - lightPosition;\\n \\n //calculate attenuation\\n float lightDistance \\x3d length(lightVector);\\n float lightFalloff \\x3d 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\\n vec3 lightColor \\x3d lightFalloff * uPointLightDiffuseColors[j];\\n vec3 specularColor \\x3d lightFalloff * uPointLightSpecularColors[j];\\n\\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n totalDiffuse +\\x3d result.diffuse * lightColor;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor;\\n }\\n\\n if(j \\x3c uSpotLightCount) {\\n vec3 lightPosition \\x3d (uViewMatrix * vec4(uSpotLightLocation[j], 1.0)).xyz;\\n vec3 lightVector \\x3d modelPosition - lightPosition;\\n \\n float lightDistance \\x3d length(lightVector);\\n float lightFalloff \\x3d 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\\n\\n vec3 lightDirection \\x3d (uViewMatrix * vec4(uSpotLightDirection[j], 0.0)).xyz;\\n float spotDot \\x3d dot(normalize(lightVector), normalize(lightDirection));\\n float spotFalloff;\\n if(spotDot \\x3c uSpotLightAngle[j]) {\\n spotFalloff \\x3d 0.0;\\n }\\n else {\\n spotFalloff \\x3d pow(spotDot, uSpotLightConc[j]);\\n }\\n lightFalloff *\\x3d spotFalloff;\\n\\n vec3 lightColor \\x3d uSpotLightDiffuseColors[j];\\n vec3 specularColor \\x3d uSpotLightSpecularColors[j];\\n \\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n \\n totalDiffuse +\\x3d result.diffuse * lightColor * lightFalloff;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor * lightFalloff;\\n }\\n }\\n\\n totalDiffuse *\\x3d diffuseFactor;\\n totalSpecular *\\x3d specularFactor;\\n}\\n// include lighting.glsl\\nprecision highp float;\\nprecision highp int;\\n\\nuniform vec4 uMaterialColor;\\nuniform vec4 uTint;\\nuniform sampler2D uSampler;\\nuniform bool isTexture;\\nuniform bool uEmissive;\\n\\nvarying vec3 vNormal;\\nvarying vec2 vTexCoord;\\nvarying vec3 vViewPosition;\\nvarying vec3 vAmbientColor;\\n\\nvoid main(void) {\\n\\n vec3 diffuse;\\n vec3 specular;\\n totalLight(vViewPosition, normalize(vNormal), diffuse, specular);\\n\\n if(uEmissive \\x26\\x26 !isTexture) {\\n gl_FragColor \\x3d uMaterialColor;\\n }\\n else {\\n gl_FragColor \\x3d isTexture ? texture2D(uSampler, vTexCoord) * (uTint / vec4(255, 255, 255, 255)) : uMaterialColor;\\n gl_FragColor.rgb \\x3d gl_FragColor.rgb * (diffuse + vAmbientColor) + specular;\\n }\\n}\x22):\nthis._defaultLightShader\x3dnew u.default.Shader(this,\x22precision highp float;\\nprecision highp int;\\n\\nuniform mat4 uViewMatrix;\\n\\nuniform bool uUseLighting;\\n\\nuniform int uAmbientLightCount;\\nuniform vec3 uAmbientColor[5];\\n\\nuniform int uDirectionalLightCount;\\nuniform vec3 uLightingDirection[5];\\nuniform vec3 uDirectionalDiffuseColors[5];\\nuniform vec3 uDirectionalSpecularColors[5];\\n\\nuniform int uPointLightCount;\\nuniform vec3 uPointLightLocation[5];\\nuniform vec3 uPointLightDiffuseColors[5];\\t\\nuniform vec3 uPointLightSpecularColors[5];\\n\\nuniform int uSpotLightCount;\\nuniform float uSpotLightAngle[5];\\nuniform float uSpotLightConc[5];\\nuniform vec3 uSpotLightDiffuseColors[5];\\nuniform vec3 uSpotLightSpecularColors[5];\\nuniform vec3 uSpotLightLocation[5];\\nuniform vec3 uSpotLightDirection[5];\\n\\nuniform bool uSpecular;\\nuniform float uShininess;\\n\\nuniform float uConstantAttenuation;\\nuniform float uLinearAttenuation;\\nuniform float uQuadraticAttenuation;\\n\\nconst float specularFactor \\x3d 2.0;\\nconst float diffuseFactor \\x3d 0.73;\\n\\nstruct LightResult {\\n float specular;\\n float diffuse;\\n};\\n\\nfloat _phongSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float shininess) {\\n\\n vec3 R \\x3d reflect(lightDirection, surfaceNormal);\\n return pow(max(0.0, dot(R, viewDirection)), shininess);\\n}\\n\\nfloat _lambertDiffuse(vec3 lightDirection, vec3 surfaceNormal) {\\n return max(0.0, dot(-lightDirection, surfaceNormal));\\n}\\n\\nLightResult _light(vec3 viewDirection, vec3 normal, vec3 lightVector) {\\n\\n vec3 lightDir \\x3d normalize(lightVector);\\n\\n //compute our diffuse \\x26 specular terms\\n LightResult lr;\\n if (uSpecular)\\n lr.specular \\x3d _phongSpecular(lightDir, viewDirection, normal, uShininess);\\n lr.diffuse \\x3d _lambertDiffuse(lightDir, normal);\\n return lr;\\n}\\n\\nvoid totalLight(\\n vec3 modelPosition,\\n vec3 normal,\\n out vec3 totalDiffuse,\\n out vec3 totalSpecular\\n) {\\n\\n totalSpecular \\x3d vec3(0.0);\\n\\n if (!uUseLighting) {\\n totalDiffuse \\x3d vec3(1.0);\\n return;\\n }\\n\\n totalDiffuse \\x3d vec3(0.0);\\n\\n vec3 viewDirection \\x3d normalize(-modelPosition);\\n\\n for (int j \\x3d 0; j \\x3c 5; j++) {\\n if (j \\x3c uDirectionalLightCount) {\\n vec3 lightVector \\x3d (uViewMatrix * vec4(uLightingDirection[j], 0.0)).xyz;\\n vec3 lightColor \\x3d uDirectionalDiffuseColors[j];\\n vec3 specularColor \\x3d uDirectionalSpecularColors[j];\\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n totalDiffuse +\\x3d result.diffuse * lightColor;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor;\\n }\\n\\n if (j \\x3c uPointLightCount) {\\n vec3 lightPosition \\x3d (uViewMatrix * vec4(uPointLightLocation[j], 1.0)).xyz;\\n vec3 lightVector \\x3d modelPosition - lightPosition;\\n \\n //calculate attenuation\\n float lightDistance \\x3d length(lightVector);\\n float lightFalloff \\x3d 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\\n vec3 lightColor \\x3d lightFalloff * uPointLightDiffuseColors[j];\\n vec3 specularColor \\x3d lightFalloff * uPointLightSpecularColors[j];\\n\\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n totalDiffuse +\\x3d result.diffuse * lightColor;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor;\\n }\\n\\n if(j \\x3c uSpotLightCount) {\\n vec3 lightPosition \\x3d (uViewMatrix * vec4(uSpotLightLocation[j], 1.0)).xyz;\\n vec3 lightVector \\x3d modelPosition - lightPosition;\\n \\n float lightDistance \\x3d length(lightVector);\\n float lightFalloff \\x3d 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\\n\\n vec3 lightDirection \\x3d (uViewMatrix * vec4(uSpotLightDirection[j], 0.0)).xyz;\\n float spotDot \\x3d dot(normalize(lightVector), normalize(lightDirection));\\n float spotFalloff;\\n if(spotDot \\x3c uSpotLightAngle[j]) {\\n spotFalloff \\x3d 0.0;\\n }\\n else {\\n spotFalloff \\x3d pow(spotDot, uSpotLightConc[j]);\\n }\\n lightFalloff *\\x3d spotFalloff;\\n\\n vec3 lightColor \\x3d uSpotLightDiffuseColors[j];\\n vec3 specularColor \\x3d uSpotLightSpecularColors[j];\\n \\n LightResult result \\x3d _light(viewDirection, normal, lightVector);\\n \\n totalDiffuse +\\x3d result.diffuse * lightColor * lightFalloff;\\n totalSpecular +\\x3d result.specular * lightColor * specularColor * lightFalloff;\\n }\\n }\\n\\n totalDiffuse *\\x3d diffuseFactor;\\n totalSpecular *\\x3d specularFactor;\\n}\\n// include lighting.glgl\\n\\nattribute vec3 aPosition;\\nattribute vec3 aNormal;\\nattribute vec2 aTexCoord;\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform mat3 uNormalMatrix;\\n\\nvarying highp vec2 vVertTexCoord;\\nvarying vec3 vDiffuseColor;\\nvarying vec3 vSpecularColor;\\n\\nvoid main(void) {\\n\\n vec4 viewModelPosition \\x3d uModelViewMatrix * vec4(aPosition, 1.0);\\n gl_Position \\x3d uProjectionMatrix * viewModelPosition;\\n\\n vec3 vertexNormal \\x3d normalize(uNormalMatrix * aNormal);\\n vVertTexCoord \\x3d aTexCoord;\\n\\n totalLight(viewModelPosition.xyz, vertexNormal, vDiffuseColor, vSpecularColor);\\n\\n for (int i \\x3d 0; i \\x3c 8; i++) {\\n if (i \\x3c uAmbientLightCount) {\\n vDiffuseColor +\\x3d uAmbientColor[i];\\n }\\n }\\n}\\n\x22,\n\x22precision highp float;\\n\\nuniform vec4 uMaterialColor;\\nuniform vec4 uTint;\\nuniform sampler2D uSampler;\\nuniform bool isTexture;\\nuniform bool uEmissive;\\n\\nvarying highp vec2 vVertTexCoord;\\nvarying vec3 vDiffuseColor;\\nvarying vec3 vSpecularColor;\\n\\nvoid main(void) {\\n if(uEmissive \\x26\\x26 !isTexture) {\\n gl_FragColor \\x3d uMaterialColor;\\n }\\n else {\\n gl_FragColor \\x3d isTexture ? texture2D(uSampler, vVertTexCoord) * (uTint / vec4(255, 255, 255, 255)) : uMaterialColor;\\n gl_FragColor.rgb \\x3d gl_FragColor.rgb * vDiffuseColor + vSpecularColor;\\n }\\n}\x22)),\nthis._defaultLightShader};u.default.RendererGL.prototype._getImmediateModeShader\x3dfunction(){return this._defaultImmediateModeShader||(this._defaultImmediateModeShader\x3dnew u.default.Shader(this,\x22attribute vec3 aPosition;\\nattribute vec4 aVertexColor;\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform float uResolution;\\nuniform float uPointSize;\\n\\nvarying vec4 vColor;\\nvoid main(void) {\\n vec4 positionVec4 \\x3d vec4(aPosition, 1.0);\\n gl_Position \\x3d uProjectionMatrix * uModelViewMatrix * positionVec4;\\n vColor \\x3d aVertexColor;\\n gl_PointSize \\x3d uPointSize;\\n}\\n\x22,\n\x22precision mediump float;\\nvarying vec4 vColor;\\nvoid main(void) {\\n gl_FragColor \\x3d vColor;\\n}\x22)),this._defaultImmediateModeShader};u.default.RendererGL.prototype._getNormalShader\x3dfunction(){return this._defaultNormalShader||(this._defaultNormalShader\x3dnew u.default.Shader(this,\x22attribute vec3 aPosition;\\nattribute vec3 aNormal;\\nattribute vec2 aTexCoord;\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform mat3 uNormalMatrix;\\n\\nvarying vec3 vVertexNormal;\\nvarying highp vec2 vVertTexCoord;\\n\\nvoid main(void) {\\n vec4 positionVec4 \\x3d vec4(aPosition, 1.0);\\n gl_Position \\x3d uProjectionMatrix * uModelViewMatrix * positionVec4;\\n vVertexNormal \\x3d normalize(vec3( uNormalMatrix * aNormal ));\\n vVertTexCoord \\x3d aTexCoord;\\n}\\n\x22,\n\x22precision mediump float;\\nvarying vec3 vVertexNormal;\\nvoid main(void) {\\n gl_FragColor \\x3d vec4(vVertexNormal, 1.0);\\n}\x22)),this._defaultNormalShader};u.default.RendererGL.prototype._getColorShader\x3dfunction(){return this._defaultColorShader||(this._defaultColorShader\x3dnew u.default.Shader(this,\x22attribute vec3 aPosition;\\nattribute vec3 aNormal;\\nattribute vec2 aTexCoord;\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform mat3 uNormalMatrix;\\n\\nvarying vec3 vVertexNormal;\\nvarying highp vec2 vVertTexCoord;\\n\\nvoid main(void) {\\n vec4 positionVec4 \\x3d vec4(aPosition, 1.0);\\n gl_Position \\x3d uProjectionMatrix * uModelViewMatrix * positionVec4;\\n vVertexNormal \\x3d normalize(vec3( uNormalMatrix * aNormal ));\\n vVertTexCoord \\x3d aTexCoord;\\n}\\n\x22,\n\x22precision mediump float;\\nuniform vec4 uMaterialColor;\\nvoid main(void) {\\n gl_FragColor \\x3d uMaterialColor;\\n}\x22)),this._defaultColorShader};u.default.RendererGL.prototype._getPointShader\x3dfunction(){return this._defaultPointShader||(this._defaultPointShader\x3dnew u.default.Shader(this,\x22attribute vec3 aPosition;\\nuniform float uPointSize;\\nvarying float vStrokeWeight;\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nvoid main() {\\n\\tvec4 positionVec4 \\x3d vec4(aPosition, 1.0);\\n\\tgl_Position \\x3d uProjectionMatrix * uModelViewMatrix * positionVec4;\\n\\tgl_PointSize \\x3d uPointSize;\\n\\tvStrokeWeight \\x3d uPointSize;\\n}\x22,\n\x22precision mediump float;\\nprecision mediump int;\\nuniform vec4 uMaterialColor;\\nvarying float vStrokeWeight;\\n\\nvoid main(){\\n\\tfloat mask \\x3d 0.0;\\n\\n\\t// make a circular mask using the gl_PointCoord (goes from 0 - 1 on a point)\\n // might be able to get a nicer edge on big strokeweights with smoothstep but slightly less performant\\n\\n\\tmask \\x3d step(0.98, length(gl_PointCoord * 2.0 - 1.0));\\n\\n\\t// if strokeWeight is 1 or less lets just draw a square\\n\\t// this prevents weird artifacting from carving circles when our points are really small\\n\\t// if strokeWeight is larger than 1, we just use it as is\\n\\n\\tmask \\x3d mix(0.0, mask, clamp(floor(vStrokeWeight - 0.5),0.0,1.0));\\n\\n\\t// throw away the borders of the mask\\n // otherwise we get weird alpha blending issues\\n\\n\\tif(mask \\x3e 0.98){\\n discard;\\n \\t}\\n\\n \\tgl_FragColor \\x3d vec4(uMaterialColor.rgb * (1.0 - mask), uMaterialColor.a) ;\\n}\x22)),\nthis._defaultPointShader};u.default.RendererGL.prototype._getLineShader\x3dfunction(){return this._defaultLineShader||(this._defaultLineShader\x3dnew u.default.Shader(this,\x22/*\\n Part of the Processing project - http://processing.org\\n Copyright (c) 2012-15 The Processing Foundation\\n Copyright (c) 2004-12 Ben Fry and Casey Reas\\n Copyright (c) 2001-04 Massachusetts Institute of Technology\\n This library is free software; you can redistribute it and/or\\n modify it under the terms of the GNU Lesser General Public\\n License as published by the Free Software Foundation, version 2.1.\\n This library is distributed in the hope that it will be useful,\\n but WITHOUT ANY WARRANTY; without even the implied warranty of\\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\\n Lesser General Public License for more details.\\n You should have received a copy of the GNU Lesser General\\n Public License along with this library; if not, write to the\\n Free Software Foundation, Inc., 59 Temple Place, Suite 330,\\n Boston, MA 02111-1307 USA\\n*/\\n\\n#define PROCESSING_LINE_SHADER\\n\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform float uStrokeWeight;\\n\\nuniform vec4 uViewport;\\nuniform int uPerspective;\\n\\nattribute vec4 aPosition;\\nattribute vec4 aDirection;\\n \\nvoid main() {\\n // using a scale \\x3c1 moves the lines towards the camera\\n // in order to prevent popping effects due to half of\\n // the line disappearing behind the geometry faces.\\n vec3 scale \\x3d vec3(0.9995);\\n\\n vec4 posp \\x3d uModelViewMatrix * aPosition;\\n vec4 posq \\x3d uModelViewMatrix * (aPosition + vec4(aDirection.xyz, 0));\\n\\n // Moving vertices slightly toward the camera\\n // to avoid depth-fighting with the fill triangles.\\n // Discussed here:\\n // http://www.opengl.org/discussion_boards/ubbthreads.php?ubb\\x3dshowflat\\x26Number\\x3d252848 \\n posp.xyz \\x3d posp.xyz * scale;\\n posq.xyz \\x3d posq.xyz * scale;\\n\\n vec4 p \\x3d uProjectionMatrix * posp;\\n vec4 q \\x3d uProjectionMatrix * posq;\\n\\n // formula to convert from clip space (range -1..1) to screen space (range 0..[width or height])\\n // screen_p \\x3d (p.xy/p.w + \\x3c1,1\\x3e) * 0.5 * uViewport.zw\\n\\n // prevent division by W by transforming the tangent formula (div by 0 causes\\n // the line to disappear, see https://github.com/processing/processing/issues/5183)\\n // t \\x3d screen_q - screen_p\\n //\\n // tangent is normalized and we don\x27t care which aDirection it points to (+-)\\n // t \\x3d +- normalize( screen_q - screen_p )\\n // t \\x3d +- normalize( (q.xy/q.w+\\x3c1,1\\x3e)*0.5*uViewport.zw - (p.xy/p.w+\\x3c1,1\\x3e)*0.5*uViewport.zw )\\n //\\n // extract common factor, \\x3c1,1\\x3e - \\x3c1,1\\x3e cancels out\\n // t \\x3d +- normalize( (q.xy/q.w - p.xy/p.w) * 0.5 * uViewport.zw )\\n //\\n // convert to common divisor\\n // t \\x3d +- normalize( ((q.xy*p.w - p.xy*q.w) / (p.w*q.w)) * 0.5 * uViewport.zw )\\n //\\n // remove the common scalar divisor/factor, not needed due to normalize and +-\\n // (keep uViewport - can\x27t remove because it has different components for x and y\\n // and corrects for aspect ratio, see https://github.com/processing/processing/issues/5181)\\n // t \\x3d +- normalize( (q.xy*p.w - p.xy*q.w) * uViewport.zw )\\n\\n vec2 tangent \\x3d normalize((q.xy*p.w - p.xy*q.w) * uViewport.zw);\\n\\n // flip tangent to normal (it\x27s already normalized)\\n vec2 normal \\x3d vec2(-tangent.y, tangent.x);\\n\\n float thickness \\x3d aDirection.w * uStrokeWeight;\\n vec2 offset \\x3d normal * thickness / 2.0;\\n\\n vec2 curPerspScale;\\n\\n if(uPerspective \\x3d\\x3d 1) {\\n // Perspective ---\\n // convert from world to clip by multiplying with projection scaling factor\\n // to get the right thickness (see https://github.com/processing/processing/issues/5182)\\n // invert Y, projections in Processing invert Y\\n curPerspScale \\x3d (uProjectionMatrix * vec4(1, -1, 0, 0)).xy;\\n } else {\\n // No Perspective ---\\n // multiply by W (to cancel out division by W later in the pipeline) and\\n // convert from screen to clip (derived from clip to screen above)\\n curPerspScale \\x3d p.w / (0.5 * uViewport.zw);\\n }\\n\\n gl_Position.xy \\x3d p.xy + offset.xy * curPerspScale;\\n gl_Position.zw \\x3d p.zw;\\n}\\n\x22,\n\x22precision mediump float;\\nprecision mediump int;\\n\\nuniform vec4 uMaterialColor;\\n\\nvoid main() {\\n gl_FragColor \\x3d uMaterialColor;\\n}\x22)),this._defaultLineShader};u.default.RendererGL.prototype._getFontShader\x3dfunction(){return this._defaultFontShader||(this.GL.getExtension(\x22OES_standard_derivatives\x22),this._defaultFontShader\x3dnew u.default.Shader(this,\x22precision mediump float;\\n\\nattribute vec3 aPosition;\\nattribute vec2 aTexCoord;\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\n\\nuniform vec4 uGlyphRect;\\nuniform float uGlyphOffset;\\n\\nvarying vec2 vTexCoord;\\nvarying float w;\\n\\nvoid main() {\\n vec4 positionVec4 \\x3d vec4(aPosition, 1.0);\\n\\n // scale by the size of the glyph\x27s rectangle\\n positionVec4.xy *\\x3d uGlyphRect.zw - uGlyphRect.xy;\\n\\n // move to the corner of the glyph\\n positionVec4.xy +\\x3d uGlyphRect.xy;\\n\\n // move to the letter\x27s line offset\\n positionVec4.x +\\x3d uGlyphOffset;\\n \\n gl_Position \\x3d uProjectionMatrix * uModelViewMatrix * positionVec4;\\n vTexCoord \\x3d aTexCoord;\\n w \\x3d gl_Position.w;\\n}\\n\x22,\n\x22#extension GL_OES_standard_derivatives : enable\\nprecision mediump float;\\n\\n#if 0\\n // simulate integer math using floats\\n\\t#define int float\\n\\t#define ivec2 vec2\\n\\t#define INT(x) float(x)\\n\\n\\tint ifloor(float v) { return floor(v); }\\n\\tivec2 ifloor(vec2 v) { return floor(v); }\\n\\n#else\\n // use native integer math\\n\\tprecision highp int;\\n\\t#define INT(x) x\\n\\n\\tint ifloor(float v) { return int(v); }\\n\\tint ifloor(int v) { return v; }\\n\\tivec2 ifloor(vec2 v) { return ivec2(v); }\\n\\n#endif\\n\\nuniform sampler2D uSamplerStrokes;\\nuniform sampler2D uSamplerRowStrokes;\\nuniform sampler2D uSamplerRows;\\nuniform sampler2D uSamplerColStrokes;\\nuniform sampler2D uSamplerCols;\\n\\nuniform ivec2 uStrokeImageSize;\\nuniform ivec2 uCellsImageSize;\\nuniform ivec2 uGridImageSize;\\n\\nuniform ivec2 uGridOffset;\\nuniform ivec2 uGridSize;\\nuniform vec4 uMaterialColor;\\n\\nvarying vec2 vTexCoord;\\n\\n// some helper functions\\nint round(float v) { return ifloor(v + 0.5); }\\nivec2 round(vec2 v) { return ifloor(v + 0.5); }\\nfloat saturate(float v) { return clamp(v, 0.0, 1.0); }\\nvec2 saturate(vec2 v) { return clamp(v, 0.0, 1.0); }\\n\\nint mul(float v1, int v2) {\\n return ifloor(v1 * float(v2));\\n}\\n\\nivec2 mul(vec2 v1, ivec2 v2) {\\n return ifloor(v1 * vec2(v2) + 0.5);\\n}\\n\\n// unpack a 16-bit integer from a float vec2\\nint getInt16(vec2 v) {\\n ivec2 iv \\x3d round(v * 255.0);\\n return iv.x * INT(128) + iv.y;\\n}\\n\\nvec2 pixelScale;\\nvec2 coverage \\x3d vec2(0.0);\\nvec2 weight \\x3d vec2(0.5);\\nconst float minDistance \\x3d 1.0/8192.0;\\nconst float hardness \\x3d 1.05; // amount of antialias\\n\\n// the maximum number of curves in a glyph\\nconst int N \\x3d INT(250);\\n\\n// retrieves an indexed pixel from a sampler\\nvec4 getTexel(sampler2D sampler, int pos, ivec2 size) {\\n int width \\x3d size.x;\\n int y \\x3d ifloor(pos / width);\\n int x \\x3d pos - y * width; // pos % width\\n\\n return texture2D(sampler, (vec2(x, y) + 0.5) / vec2(size));\\n}\\n\\nvoid calulateCrossings(vec2 p0, vec2 p1, vec2 p2, out vec2 C1, out vec2 C2) {\\n\\n // get the coefficients of the quadratic in t\\n vec2 a \\x3d p0 - p1 * 2.0 + p2;\\n vec2 b \\x3d p0 - p1;\\n vec2 c \\x3d p0 - vTexCoord;\\n\\n // found out which values of \x27t\x27 it crosses the axes\\n vec2 surd \\x3d sqrt(max(vec2(0.0), b * b - a * c));\\n vec2 t1 \\x3d ((b - surd) / a).yx;\\n vec2 t2 \\x3d ((b + surd) / a).yx;\\n\\n // approximate straight lines to avoid rounding errors\\n if (abs(a.y) \\x3c 0.001)\\n t1.x \\x3d t2.x \\x3d c.y / (2.0 * b.y);\\n\\n if (abs(a.x) \\x3c 0.001)\\n t1.y \\x3d t2.y \\x3d c.x / (2.0 * b.x);\\n\\n // plug into quadratic formula to find the corrdinates of the crossings\\n C1 \\x3d ((a * t1 - b * 2.0) * t1 + c) * pixelScale;\\n C2 \\x3d ((a * t2 - b * 2.0) * t2 + c) * pixelScale;\\n}\\n\\nvoid coverageX(vec2 p0, vec2 p1, vec2 p2) {\\n\\n vec2 C1, C2;\\n calulateCrossings(p0, p1, p2, C1, C2);\\n\\n // determine on which side of the x-axis the points lie\\n bool y0 \\x3d p0.y \\x3e vTexCoord.y;\\n bool y1 \\x3d p1.y \\x3e vTexCoord.y;\\n bool y2 \\x3d p2.y \\x3e vTexCoord.y;\\n\\n // could web be under the curve (after t1)?\\n if (y1 ? !y2 : y0) {\\n // add the coverage for t1\\n coverage.x +\\x3d saturate(C1.x + 0.5);\\n // calculate the anti-aliasing for t1\\n weight.x \\x3d min(weight.x, abs(C1.x));\\n }\\n\\n // are we outside the curve (after t2)?\\n if (y1 ? !y0 : y2) {\\n // subtract the coverage for t2\\n coverage.x -\\x3d saturate(C2.x + 0.5);\\n // calculate the anti-aliasing for t2\\n weight.x \\x3d min(weight.x, abs(C2.x));\\n }\\n}\\n\\n// this is essentially the same as coverageX, but with the axes swapped\\nvoid coverageY(vec2 p0, vec2 p1, vec2 p2) {\\n\\n vec2 C1, C2;\\n calulateCrossings(p0, p1, p2, C1, C2);\\n\\n bool x0 \\x3d p0.x \\x3e vTexCoord.x;\\n bool x1 \\x3d p1.x \\x3e vTexCoord.x;\\n bool x2 \\x3d p2.x \\x3e vTexCoord.x;\\n\\n if (x1 ? !x2 : x0) {\\n coverage.y -\\x3d saturate(C1.y + 0.5);\\n weight.y \\x3d min(weight.y, abs(C1.y));\\n }\\n\\n if (x1 ? !x0 : x2) {\\n coverage.y +\\x3d saturate(C2.y + 0.5);\\n weight.y \\x3d min(weight.y, abs(C2.y));\\n }\\n}\\n\\nvoid main() {\\n\\n // calculate the pixel scale based on screen-coordinates\\n pixelScale \\x3d hardness / fwidth(vTexCoord);\\n\\n // which grid cell is this pixel in?\\n ivec2 gridCoord \\x3d ifloor(vTexCoord * vec2(uGridSize));\\n\\n // intersect curves in this row\\n {\\n // the index into the row info bitmap\\n int rowIndex \\x3d gridCoord.y + uGridOffset.y;\\n // fetch the info texel\\n vec4 rowInfo \\x3d getTexel(uSamplerRows, rowIndex, uGridImageSize);\\n // unpack the rowInfo\\n int rowStrokeIndex \\x3d getInt16(rowInfo.xy);\\n int rowStrokeCount \\x3d getInt16(rowInfo.zw);\\n\\n for (int iRowStroke \\x3d INT(0); iRowStroke \\x3c N; iRowStroke++) {\\n if (iRowStroke \\x3e\\x3d rowStrokeCount)\\n break;\\n\\n // each stroke is made up of 3 points: the start and control point\\n // and the start of the next curve.\\n // fetch the indices of this pair of strokes:\\n vec4 strokeIndices \\x3d getTexel(uSamplerRowStrokes, rowStrokeIndex++, uCellsImageSize);\\n\\n // unpack the stroke index\\n int strokePos \\x3d getInt16(strokeIndices.xy);\\n\\n // fetch the two strokes\\n vec4 stroke0 \\x3d getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\\n vec4 stroke1 \\x3d getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\\n\\n // calculate the coverage\\n coverageX(stroke0.xy, stroke0.zw, stroke1.xy);\\n }\\n }\\n\\n // intersect curves in this column\\n {\\n int colIndex \\x3d gridCoord.x + uGridOffset.x;\\n vec4 colInfo \\x3d getTexel(uSamplerCols, colIndex, uGridImageSize);\\n int colStrokeIndex \\x3d getInt16(colInfo.xy);\\n int colStrokeCount \\x3d getInt16(colInfo.zw);\\n \\n for (int iColStroke \\x3d INT(0); iColStroke \\x3c N; iColStroke++) {\\n if (iColStroke \\x3e\\x3d colStrokeCount)\\n break;\\n\\n vec4 strokeIndices \\x3d getTexel(uSamplerColStrokes, colStrokeIndex++, uCellsImageSize);\\n\\n int strokePos \\x3d getInt16(strokeIndices.xy);\\n vec4 stroke0 \\x3d getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\\n vec4 stroke1 \\x3d getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\\n coverageY(stroke0.xy, stroke0.zw, stroke1.xy);\\n }\\n }\\n\\n weight \\x3d saturate(1.0 - weight * 2.0);\\n float distance \\x3d max(weight.x + weight.y, minDistance); // manhattan approx.\\n float antialias \\x3d abs(dot(coverage, weight) / distance);\\n float cover \\x3d min(abs(coverage.x), abs(coverage.y));\\n gl_FragColor \\x3d uMaterialColor;\\n gl_FragColor.a *\\x3d saturate(max(antialias, cover));\\n}\x22)),\nthis._defaultFontShader};u.default.RendererGL.prototype._getEmptyTexture\x3dfunction(){if(!this._emptyTexture){var e\x3dnew u.default.Image(1,1);e.set(0,0,255);this._emptyTexture\x3dnew u.default.Texture(this,e)}return this._emptyTexture};u.default.RendererGL.prototype.getTexture\x3dfunction(e$jscomp$0){var t\x3dthis.textures,r\x3d!0,n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3dt[Symbol.iterator]();!(r\x3d(i\x3da.next()).done);r\x3d!0){var s\x3di.value;if(s.src\x3d\x3d\x3de$jscomp$0)return s}}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3da.return||a.return()}finally{if(n)throw o;\n}}e$jscomp$0\x3dnew u.default.Texture(this,e$jscomp$0);return t.push(e$jscomp$0),e$jscomp$0};u.default.RendererGL.prototype._setStrokeUniforms\x3dfunction(e){e.bindShader();e.setUniform(\x22uMaterialColor\x22,this.curStrokeColor);e.setUniform(\x22uStrokeWeight\x22,this.curStrokeWeight)};u.default.RendererGL.prototype._setFillUniforms\x3dfunction(e){e.bindShader();e.setUniform(\x22uMaterialColor\x22,this.curFillColor);e.setUniform(\x22isTexture\x22,!!this._tex);this._tex\x26\x26e.setUniform(\x22uSampler\x22,this._tex);e.setUniform(\x22uTint\x22,this._tint);\ne.setUniform(\x22uSpecular\x22,this._useSpecularMaterial);e.setUniform(\x22uEmissive\x22,this._useEmissiveMaterial);e.setUniform(\x22uShininess\x22,this._useShininess);e.setUniform(\x22uUseLighting\x22,this._enableLighting);e.setUniform(\x22uPointLightCount\x22,this.pointLightDiffuseColors.length/3);e.setUniform(\x22uPointLightLocation\x22,this.pointLightPositions);e.setUniform(\x22uPointLightDiffuseColors\x22,this.pointLightDiffuseColors);e.setUniform(\x22uPointLightSpecularColors\x22,this.pointLightSpecularColors);e.setUniform(\x22uDirectionalLightCount\x22,\nthis.directionalLightDiffuseColors.length/3);e.setUniform(\x22uLightingDirection\x22,this.directionalLightDirections);e.setUniform(\x22uDirectionalDiffuseColors\x22,this.directionalLightDiffuseColors);e.setUniform(\x22uDirectionalSpecularColors\x22,this.directionalLightSpecularColors);e.setUniform(\x22uAmbientLightCount\x22,this.ambientLightColors.length/3);e.setUniform(\x22uAmbientColor\x22,this.ambientLightColors);e.setUniform(\x22uSpotLightCount\x22,this.spotLightDiffuseColors.length/3);e.setUniform(\x22uSpotLightAngle\x22,this.spotLightAngle);\ne.setUniform(\x22uSpotLightConc\x22,this.spotLightConc);e.setUniform(\x22uSpotLightDiffuseColors\x22,this.spotLightDiffuseColors);e.setUniform(\x22uSpotLightSpecularColors\x22,this.spotLightSpecularColors);e.setUniform(\x22uSpotLightLocation\x22,this.spotLightPositions);e.setUniform(\x22uSpotLightDirection\x22,this.spotLightDirections);e.setUniform(\x22uConstantAttenuation\x22,this.constantAttenuation);e.setUniform(\x22uLinearAttenuation\x22,this.linearAttenuation);e.setUniform(\x22uQuadraticAttenuation\x22,this.quadraticAttenuation);e.bindTextures()};\nu.default.RendererGL.prototype._setPointUniforms\x3dfunction(e){e.bindShader();e.setUniform(\x22uMaterialColor\x22,this.curStrokeColor);e.setUniform(\x22uPointSize\x22,this.pointSize*this._pInst._pixelDensity)};u.default.RendererGL.prototype._bindBuffer\x3dfunction(e,t,r,n,o){if(t\x3dt||this.GL.ARRAY_BUFFER,this.GL.bindBuffer(t,e),void 0!\x3d\x3dr)e\x3dnew (n||Float32Array)(r),this.GL.bufferData(t,e,o||this.GL.STATIC_DRAW)};u.default.RendererGL.prototype._arraysEqual\x3dfunction(e,t){var r\x3de.length;if(r!\x3d\x3dt.length)return!1;for(var n\x3d\n0;n\x3cr;n++)if(e[n]!\x3d\x3dt[n])return!1;return!0};u.default.RendererGL.prototype._isTypedArray\x3dfunction(e){return Float32Array,Float64Array,Int16Array,Uint16Array,e instanceof Uint32Array};u.default.RendererGL.prototype._flatten\x3dfunction(e){if(0\x3d\x3d\x3de.length)return[];if(2E4\x3ce.length){var r\x3dObject.prototype.toString,n\x3d[],o\x3de.slice();for(e\x3do.pop();\x22[object Array]\x22\x3d\x3d\x3dr.call(e)?o.push.apply(o,l(e)):n.push(e),o.length\x26\x26void 0!\x3d\x3d(e\x3do.pop()););return n.reverse(),n}return(r\x3d[]).concat.apply(r,l(e))};u.default.RendererGL.prototype._vToNArray\x3d\nfunction(e$jscomp$0){var t\x3d[],r\x3d!0,n\x3d!1,o\x3dvoid 0;try{for(var i,a\x3de$jscomp$0[Symbol.iterator]();!(r\x3d(i\x3da.next()).done);r\x3d!0){var s\x3di.value;t.push(s.x,s.y,s.z)}}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3da.return||a.return()}finally{if(n)throw o;}}return t};u.default.prototype._assert3d\x3dfunction(e){if(!this._renderer.isP3D)throw Error(\x22\x22.concat(e,\x22() is only supported in WEBGL mode. If you\x27d like to use 3D graphics and WebGL, see https://p5js.org/examples/form-3d-primitives.html for more information.\x22));\n};u.default.RendererGL.prototype._initTessy\x3dfunction(){var e$jscomp$0\x3dnew n$jscomp$0.default.GluTesselator;return e$jscomp$0.gluTessCallback(n$jscomp$0.default.gluEnum.GLU_TESS_VERTEX_DATA,function(e,t){t[t.length]\x3de[0];t[t.length]\x3de[1];t[t.length]\x3de[2]}),e$jscomp$0.gluTessCallback(n$jscomp$0.default.gluEnum.GLU_TESS_BEGIN,function(e){e!\x3d\x3dn$jscomp$0.default.primitiveType.GL_TRIANGLES\x26\x26console.log(\x22expected TRIANGLES but got type: \x22.concat(e))}),e$jscomp$0.gluTessCallback(n$jscomp$0.default.gluEnum.GLU_TESS_ERROR,\nfunction(e){console.log(\x22error callback\x22);console.log(\x22error number: \x22.concat(e))}),e$jscomp$0.gluTessCallback(n$jscomp$0.default.gluEnum.GLU_TESS_COMBINE,function(e,t,r){return[e[0],e[1],e[2]]}),e$jscomp$0.gluTessCallback(n$jscomp$0.default.gluEnum.GLU_TESS_EDGE_FLAG,function(e){}),e$jscomp$0};u.default.RendererGL.prototype._triangulate\x3dfunction(e){this._tessy.gluTessNormal(0,0,1);var t\x3d[];this._tessy.gluTessBeginPolygon(t);for(var r\x3d0;r\x3ce.length;r++){this._tessy.gluTessBeginContour();for(var n\x3d\ne[r],o\x3d0;o\x3cn.length;o+\x3d3){var i\x3d[n[o],n[o+1],n[o+2]];this._tessy.gluTessVertex(i,i)}this._tessy.gluTessEndContour()}return this._tessy.gluTessEndPolygon(),t};u.default.RendererGL.prototype._bezierCoefficients\x3dfunction(e){var t\x3de*e,r\x3d1-e,n\x3dr*r;return[n*r,3*n*e,3*r*t,t*e]};u.default.RendererGL.prototype._quadraticCoefficients\x3dfunction(e){var t\x3d1-e;return[t*t,2*t*e,e*e]};u.default.RendererGL.prototype._bezierToCatmull\x3dfunction(e){return[e[1],e[1]+(e[2]-e[0])/this._curveTightness,e[2]-(e[3]-e[1])/this._curveTightness,\ne[2]]};r$jscomp$0.default\x3du.default.RendererGL},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22../core/p5.Renderer\x22:267,\x22./p5.Camera\x22:312,\x22./p5.Matrix\x22:314,\x22./p5.Shader\x22:319,\x22core-js/modules/es.array.concat\x22:149,\x22core-js/modules/es.array.fill\x22:151,\x22core-js/modules/es.array.filter\x22:152,\x22core-js/modules/es.array.from\x22:155,\x22core-js/modules/es.array.includes\x22:156,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.object.assign\x22:173,\x22core-js/modules/es.object.to-string\x22:177,\n\x22core-js/modules/es.regexp.to-string\x22:182,\x22core-js/modules/es.string.includes\x22:185,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\n\x22core-js/modules/es.typed-array.float32-array\x22:203,\x22core-js/modules/es.typed-array.float64-array\x22:204,\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.int16-array\x22:208,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\n\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint16-array\x22:224,\x22core-js/modules/es.typed-array.uint32-array\x22:225,\n\x22core-js/modules/es.typed-array.uint8-array\x22:226,\x22core-js/modules/web.dom-collections.iterator\x22:229,libtess:237,path:240}],319:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){e$jscomp$1(\x22core-js/modules/es.symbol\x22);e$jscomp$1(\x22core-js/modules/es.symbol.description\x22);e$jscomp$1(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.array.slice\x22);e$jscomp$1(\x22core-js/modules/es.function.name\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);\ne$jscomp$1(\x22core-js/modules/es.string.iterator\x22);e$jscomp$1(\x22core-js/modules/web.dom-collections.iterator\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,i$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26n$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0};i$jscomp$0.default.Shader\x3dfunction(e,t,r){this._renderer\x3de;this._vertSrc\x3dt;this._fragSrc\x3dr;this._fragShader\x3dthis._vertShader\x3d-1;this._glProgram\x3d0;this._loadedAttributes\x3d!1;this.attributes\x3d\n{};this._loadedUniforms\x3d!1;this.uniforms\x3d{};this._bound\x3d!1;this.samplers\x3d[]};i$jscomp$0.default.Shader.prototype.init\x3dfunction(){if(0\x3d\x3d\x3dthis._glProgram){var e\x3dthis._renderer.GL;if(this._vertShader\x3de.createShader(e.VERTEX_SHADER),e.shaderSource(this._vertShader,this._vertSrc),e.compileShader(this._vertShader),!e.getShaderParameter(this._vertShader,e.COMPILE_STATUS))return console.error(\x22Yikes! An error occurred compiling the vertex shader:\x22.concat(e.getShaderInfoLog(this._vertShader))),null;if(this._fragShader\x3d\ne.createShader(e.FRAGMENT_SHADER),e.shaderSource(this._fragShader,this._fragSrc),e.compileShader(this._fragShader),!e.getShaderParameter(this._fragShader,e.COMPILE_STATUS))return console.error(\x22Darn! An error occurred compiling the fragment shader:\x22.concat(e.getShaderInfoLog(this._fragShader))),null;this._glProgram\x3de.createProgram();e.attachShader(this._glProgram,this._vertShader);e.attachShader(this._glProgram,this._fragShader);e.linkProgram(this._glProgram);e.getProgramParameter(this._glProgram,\ne.LINK_STATUS)||console.error(\x22Snap! Error linking shader program: \x22.concat(e.getProgramInfoLog(this._glProgram)));this._loadAttributes();this._loadUniforms()}return this};i$jscomp$0.default.Shader.prototype._loadAttributes\x3dfunction(){if(!this._loadedAttributes){this.attributes\x3d{};for(var e\x3dthis._renderer.GL,t\x3de.getProgramParameter(this._glProgram,e.ACTIVE_ATTRIBUTES),r\x3d0;r\x3ct;++r){var n\x3de.getActiveAttrib(this._glProgram,r),o\x3dn.name,i\x3de.getAttribLocation(this._glProgram,o),a\x3d{};a.name\x3do;a.location\x3d\ni;a.index\x3dr;a.type\x3dn.type;a.size\x3dn.size;this.attributes[o]\x3da}this._loadedAttributes\x3d!0}};i$jscomp$0.default.Shader.prototype._loadUniforms\x3dfunction(){if(!this._loadedUniforms){for(var e\x3dthis._renderer.GL,t\x3de.getProgramParameter(this._glProgram,e.ACTIVE_UNIFORMS),r\x3d0,n\x3d0;n\x3ct;++n){var o\x3de.getActiveUniform(this._glProgram,n),i\x3d{};i.location\x3de.getUniformLocation(this._glProgram,o.name);i.size\x3do.size;var a\x3do.name;1\x3co.size\x26\x26(a\x3da.substring(0,a.indexOf(\x22[0]\x22)));i.name\x3da;i.type\x3do.type;i._cachedData\x3dvoid 0;\ni.type\x3d\x3d\x3de.SAMPLER_2D\x26\x26(i.samplerIndex\x3dr,r++,this.samplers.push(i));i.isArray\x3d1\x3co.size||i.type\x3d\x3d\x3de.FLOAT_MAT3||i.type\x3d\x3d\x3de.FLOAT_MAT4||i.type\x3d\x3d\x3de.FLOAT_VEC2||i.type\x3d\x3d\x3de.FLOAT_VEC3||i.type\x3d\x3d\x3de.FLOAT_VEC4||i.type\x3d\x3d\x3de.INT_VEC2||i.type\x3d\x3d\x3de.INT_VEC4||i.type\x3d\x3d\x3de.INT_VEC3;this.uniforms[a]\x3di}this._loadedUniforms\x3d!0}};i$jscomp$0.default.Shader.prototype.compile\x3dfunction(){};i$jscomp$0.default.Shader.prototype.bindShader\x3dfunction(){this.init();this._bound||(this.useProgram(),this._bound\x3d!0,this._setMatrixUniforms(),\nthis.setUniform(\x22uViewport\x22,this._renderer._viewport))};i$jscomp$0.default.Shader.prototype.unbindShader\x3dfunction(){return this._bound\x26\x26(this.unbindTextures(),this._bound\x3d!1),this};i$jscomp$0.default.Shader.prototype.bindTextures\x3dfunction(){var e$jscomp$0\x3dthis._renderer.GL,t\x3d!0,r\x3d!1,n\x3dvoid 0;try{for(var o,i\x3dthis.samplers[Symbol.iterator]();!(t\x3d(o\x3di.next()).done);t\x3d!0){var a\x3do.value,s\x3da.texture;void 0\x3d\x3d\x3ds\x26\x26(s\x3dthis._renderer._getEmptyTexture());e$jscomp$0.activeTexture(e$jscomp$0.TEXTURE0+a.samplerIndex);\ns.bindTexture();s.update();e$jscomp$0.uniform1i(a.location,a.samplerIndex)}}catch(e){r\x3d!0,n\x3de}finally{try{t||null\x3d\x3di.return||i.return()}finally{if(r)throw n;}}};i$jscomp$0.default.Shader.prototype.updateTextures\x3dfunction(){var e$jscomp$0\x3d!0,t\x3d!1,r\x3dvoid 0;try{for(var n,o\x3dthis.samplers[Symbol.iterator]();!(e$jscomp$0\x3d(n\x3do.next()).done);e$jscomp$0\x3d!0){var i\x3dn.value.texture;i\x26\x26i.update()}}catch(e){t\x3d!0,r\x3de}finally{try{e$jscomp$0||null\x3d\x3do.return||o.return()}finally{if(t)throw r;}}};i$jscomp$0.default.Shader.prototype.unbindTextures\x3d\nfunction(){};i$jscomp$0.default.Shader.prototype._setMatrixUniforms\x3dfunction(){var e\x3dthis._renderer._curCamera.cameraMatrix,t\x3dthis._renderer.uPMatrix,r\x3dthis._renderer.uMVMatrix,n\x3dr.copy();n.mult(t);this.isStrokeShader()\x26\x26(\x22default\x22\x3d\x3d\x3dthis._renderer._curCamera.cameraType?this.setUniform(\x22uPerspective\x22,1):this.setUniform(\x22uPerspective\x22,0));this.setUniform(\x22uViewMatrix\x22,e.mat4);this.setUniform(\x22uProjectionMatrix\x22,t.mat4);this.setUniform(\x22uModelViewMatrix\x22,r.mat4);this.setUniform(\x22uModelViewProjectionMatrix\x22,\nn.mat4);this.uniforms.uNormalMatrix\x26\x26(this._renderer.uNMatrix.inverseTranspose(this._renderer.uMVMatrix),this.setUniform(\x22uNormalMatrix\x22,this._renderer.uNMatrix.mat3))};i$jscomp$0.default.Shader.prototype.useProgram\x3dfunction(){var e\x3dthis._renderer.GL;return this._renderer._curShader!\x3d\x3dthis\x26\x26(e.useProgram(this._glProgram),this._renderer._curShader\x3dthis),this};i$jscomp$0.default.Shader.prototype.setUniform\x3dfunction(e,t){if(e\x3dthis.uniforms[e]){var n\x3dthis._renderer.GL;if(e.isArray){if(e._cachedData\x26\x26\nthis._renderer._arraysEqual(e._cachedData,t))return;e._cachedData\x3dt.slice(0)}else{if(e._cachedData\x26\x26e._cachedData\x3d\x3d\x3dt)return;Array.isArray(t)?e._cachedData\x3dt.slice(0):e._cachedData\x3dt}var o\x3de.location;switch(this.useProgram(),e.type){case n.BOOL:!0\x3d\x3d\x3dt?n.uniform1i(o,1):n.uniform1i(o,0);break;case n.INT:1\x3ce.size?t.length\x26\x26n.uniform1iv(o,t):n.uniform1i(o,t);break;case n.FLOAT:1\x3ce.size?t.length\x26\x26n.uniform1fv(o,t):n.uniform1f(o,t);break;case n.FLOAT_MAT3:n.uniformMatrix3fv(o,!1,t);break;case n.FLOAT_MAT4:n.uniformMatrix4fv(o,\n!1,t);break;case n.FLOAT_VEC2:1\x3ce.size?t.length\x26\x26n.uniform2fv(o,t):n.uniform2f(o,t[0],t[1]);break;case n.FLOAT_VEC3:1\x3ce.size?t.length\x26\x26n.uniform3fv(o,t):n.uniform3f(o,t[0],t[1],t[2]);break;case n.FLOAT_VEC4:1\x3ce.size?t.length\x26\x26n.uniform4fv(o,t):n.uniform4f(o,t[0],t[1],t[2],t[3]);break;case n.INT_VEC2:1\x3ce.size?t.length\x26\x26n.uniform2iv(o,t):n.uniform2i(o,t[0],t[1]);break;case n.INT_VEC3:1\x3ce.size?t.length\x26\x26n.uniform3iv(o,t):n.uniform3i(o,t[0],t[1],t[2]);break;case n.INT_VEC4:1\x3ce.size?t.length\x26\x26n.uniform4iv(o,\nt):n.uniform4i(o,t[0],t[1],t[2],t[3]);break;case n.SAMPLER_2D:n.activeTexture(n.TEXTURE0+e.samplerIndex),e.texture\x3dt instanceof i$jscomp$0.default.Texture?t:this._renderer.getTexture(t),n.uniform1i(o,e.samplerIndex)}return this}};i$jscomp$0.default.Shader.prototype.isLightShader\x3dfunction(){return void 0!\x3d\x3dthis.attributes.aNormal||void 0!\x3d\x3dthis.uniforms.uUseLighting||void 0!\x3d\x3dthis.uniforms.uAmbientLightCount||void 0!\x3d\x3dthis.uniforms.uDirectionalLightCount||void 0!\x3d\x3dthis.uniforms.uPointLightCount||void 0!\x3d\x3d\nthis.uniforms.uAmbientColor||void 0!\x3d\x3dthis.uniforms.uDirectionalDiffuseColors||void 0!\x3d\x3dthis.uniforms.uDirectionalSpecularColors||void 0!\x3d\x3dthis.uniforms.uPointLightLocation||void 0!\x3d\x3dthis.uniforms.uPointLightDiffuseColors||void 0!\x3d\x3dthis.uniforms.uPointLightSpecularColors||void 0!\x3d\x3dthis.uniforms.uLightingDirection||void 0!\x3d\x3dthis.uniforms.uSpecular};i$jscomp$0.default.Shader.prototype.isNormalShader\x3dfunction(){return void 0!\x3d\x3dthis.attributes.aNormal};i$jscomp$0.default.Shader.prototype.isTextureShader\x3d\nfunction(){return 0\x3cthis.samplers.length};i$jscomp$0.default.Shader.prototype.isColorShader\x3dfunction(){return void 0!\x3d\x3dthis.attributes.aVertexColor||void 0!\x3d\x3dthis.uniforms.uMaterialColor};i$jscomp$0.default.Shader.prototype.isTexLightShader\x3dfunction(){return this.isLightShader()\x26\x26this.isTextureShader()};i$jscomp$0.default.Shader.prototype.isStrokeShader\x3dfunction(){return void 0!\x3d\x3dthis.uniforms.uStrokeWeight};i$jscomp$0.default.Shader.prototype.enableAttrib\x3dfunction(e,t,r,n,o,i){if(e){0;var a\x3de.location;\nif(-1!\x3d\x3da){var s\x3dthis._renderer.GL;e.enabled||(s.enableVertexAttribArray(a),e.enabled\x3d!0);this._renderer.GL.vertexAttribPointer(a,t,r||s.FLOAT,n||!1,o||0,i||0)}}return this};r$jscomp$0.default\x3di$jscomp$0.default.Shader},{\x22../core/main\x22:264,\x22core-js/modules/es.array.index-of\x22:157,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.array.slice\x22:162,\x22core-js/modules/es.function.name\x22:166,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.string.iterator\x22:186,\x22core-js/modules/es.symbol\x22:196,\n\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}],320:[function(e$jscomp$1,t$jscomp$0,r$jscomp$0){function a(e$jscomp$0){return(a\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3dtypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function l(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;\nreturn l\x3dfunction(){return e},e}e$jscomp$1(\x22core-js/modules/es.array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.object.to-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.uint8-array\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.copy-within\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.every\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.fill\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.filter\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.find-index\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.for-each\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.includes\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.iterator\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.join\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.last-index-of\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.map\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reduce-right\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.reverse\x22);\ne$jscomp$1(\x22core-js/modules/es.typed-array.set\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.slice\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.some\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.sort\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.subarray\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-locale-string\x22);e$jscomp$1(\x22core-js/modules/es.typed-array.to-string\x22);Object.defineProperty(r$jscomp$0,\x22__esModule\x22,{value:!0});r$jscomp$0.default\x3dvoid 0;var n$jscomp$0,i$jscomp$0\x3d(n$jscomp$0\x3de$jscomp$1(\x22../core/main\x22))\x26\x26\nn$jscomp$0.__esModule?n$jscomp$0:{default:n$jscomp$0},s\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3dl();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3de;t\x26\x26t.set(e,r);return r}(e$jscomp$1(\x22../core/constants\x22));\ni$jscomp$0.default.Texture\x3dfunction(e,t,r){this._renderer\x3de;e\x3dthis._renderer.GL;(r\x3dr||{}).dataType\x3d\x3d\x3de.FLOAT\x26\x26(e.getExtension(\x22OES_texture_float\x22)||console.log(\x22Oh no, your device doesn\x27t support floating point textures!\x22),e.getExtension(\x22OES_texture_float_linear\x22)||console.log(\x22Ack! Your device doesn\x27t support linear filtering for floating point textures\x22));this.src\x3dt;this.glTex\x3dvoid 0;this.glTarget\x3de.TEXTURE_2D;this.glFormat\x3dr.format||e.RGBA;this.mipmaps\x3d!1;this.glMinFilter\x3dr.minFilter||e.LINEAR;\nthis.glMagFilter\x3dr.magFilter||e.LINEAR;this.glWrapS\x3dr.wrapS||e.CLAMP_TO_EDGE;this.glWrapT\x3dr.wrapT||e.CLAMP_TO_EDGE;this.glDataType\x3dr.dataType||e.UNSIGNED_BYTE;this.isSrcMediaElement\x3dvoid 0!\x3d\x3di$jscomp$0.default.MediaElement\x26\x26t instanceof i$jscomp$0.default.MediaElement;this._videoPrevUpdateTime\x3d0;this.isSrcHTMLElement\x3dvoid 0!\x3d\x3di$jscomp$0.default.Element\x26\x26t instanceof i$jscomp$0.default.Element\x26\x26!(t instanceof i$jscomp$0.default.Graphics);this.isSrcP5Image\x3dt instanceof i$jscomp$0.default.Image;this.isSrcP5Graphics\x3d\nt instanceof i$jscomp$0.default.Graphics;this.isImageData\x3d\x22undefined\x22!\x3dtypeof ImageData\x26\x26t instanceof ImageData;t\x3dthis._getTextureDataFromSource();return this.width\x3dt.width,this.height\x3dt.height,this.init(t),this};i$jscomp$0.default.Texture.prototype._getTextureDataFromSource\x3dfunction(){var e;return this.isSrcP5Image?e\x3dthis.src.canvas:this.isSrcMediaElement||this.isSrcP5Graphics||this.isSrcHTMLElement?e\x3dthis.src.elt:this.isImageData\x26\x26(e\x3dthis.src),e};i$jscomp$0.default.Texture.prototype.init\x3dfunction(e){var t\x3d\nthis._renderer.GL;(this.glTex\x3dt.createTexture(),this.glWrapS\x3dthis._renderer.textureWrapX,this.glWrapT\x3dthis._renderer.textureWrapY,this.setWrapMode(this.glWrapS,this.glWrapT),this.bindTexture(),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,this.glMagFilter),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,this.glMinFilter),0\x3d\x3d\x3dthis.width||0\x3d\x3d\x3dthis.height||this.isSrcMediaElement\x26\x26!this.src.loadedmetadata)?(e\x3dnew Uint8Array([1,1,1,1]),t.texImage2D(this.glTarget,0,t.RGBA,1,1,0,this.glFormat,this.glDataType,\ne)):t.texImage2D(this.glTarget,0,this.glFormat,this.glFormat,this.glDataType,e)};i$jscomp$0.default.Texture.prototype.update\x3dfunction(){var e\x3dthis.src;if(0\x3d\x3d\x3de.width||0\x3d\x3d\x3de.height)return!1;var t\x3dthis._getTextureDataFromSource(),r\x3d!1,n\x3dthis._renderer.GL;return t.width!\x3d\x3dthis.width||t.height!\x3d\x3dthis.height?(r\x3d!0,this.width\x3dt.width,this.height\x3dt.height,this.isSrcP5Image?e.setModified(!1):(this.isSrcMediaElement||this.isSrcHTMLElement)\x26\x26e.setModified(!0)):this.isSrcP5Image?e.isModified()\x26\x26(r\x3d!0,e.setModified(!1)):\nthis.isSrcMediaElement?e.isModified()?(r\x3d!0,e.setModified(!1)):e.loadedmetadata\x26\x26this._videoPrevUpdateTime!\x3d\x3de.time()\x26\x26(this._videoPrevUpdateTime\x3de.time(),r\x3d!0):this.isImageData?e._dirty\x26\x26(r\x3d!(e._dirty\x3d!1)):r\x3d!0,r\x26\x26(this.bindTexture(),n.texImage2D(this.glTarget,0,this.glFormat,this.glFormat,this.glDataType,t)),r};i$jscomp$0.default.Texture.prototype.bindTexture\x3dfunction(){return this._renderer.GL.bindTexture(this.glTarget,this.glTex),this};i$jscomp$0.default.Texture.prototype.unbindTexture\x3dfunction(){this._renderer.GL.bindTexture(this.glTarget,\nnull)};i$jscomp$0.default.Texture.prototype.setInterpolation\x3dfunction(e,t){var r\x3dthis._renderer.GL;e\x3d\x3d\x3ds.NEAREST?this.glMinFilter\x3dr.NEAREST:this.glMinFilter\x3dr.LINEAR;t\x3d\x3d\x3ds.NEAREST?this.glMagFilter\x3dr.NEAREST:this.glMagFilter\x3dr.LINEAR;this.bindTexture();r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,this.glMinFilter);r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,this.glMagFilter);this.unbindTexture()};i$jscomp$0.default.Texture.prototype.setWrapMode\x3dfunction(e$jscomp$0,t){function r(e){return 0\x3d\x3d\n(e\x26e-1)}var n\x3dthis._renderer.GL,o\x3dr(this.width),i\x3dr(this.height);e$jscomp$0\x3d\x3d\x3ds.REPEAT?o\x26\x26i?this.glWrapS\x3dn.REPEAT:(console.warn(\x22You tried to set the wrap mode to REPEAT but the texture size is not a power of two. Setting to CLAMP instead\x22),this.glWrapS\x3dn.CLAMP_TO_EDGE):e$jscomp$0\x3d\x3d\x3ds.MIRROR?o\x26\x26i?this.glWrapS\x3dn.MIRRORED_REPEAT:(console.warn(\x22You tried to set the wrap mode to MIRROR but the texture size is not a power of two. Setting to CLAMP instead\x22),this.glWrapS\x3dn.CLAMP_TO_EDGE):this.glWrapS\x3dn.CLAMP_TO_EDGE;\nt\x3d\x3d\x3ds.REPEAT?o\x26\x26i?this.glWrapT\x3dn.REPEAT:(console.warn(\x22You tried to set the wrap mode to REPEAT but the texture size is not a power of two. Setting to CLAMP instead\x22),this.glWrapT\x3dn.CLAMP_TO_EDGE):t\x3d\x3d\x3ds.MIRROR?o\x26\x26i?this.glWrapT\x3dn.MIRRORED_REPEAT:(console.warn(\x22You tried to set the wrap mode to MIRROR but the texture size is not a power of two. Setting to CLAMP instead\x22),this.glWrapT\x3dn.CLAMP_TO_EDGE):this.glWrapT\x3dn.CLAMP_TO_EDGE;this.bindTexture();n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,this.glWrapS);\nn.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,this.glWrapT);this.unbindTexture()};r$jscomp$0.default\x3di$jscomp$0.default.Texture},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.typed-array.copy-within\x22:197,\x22core-js/modules/es.typed-array.every\x22:198,\x22core-js/modules/es.typed-array.fill\x22:199,\x22core-js/modules/es.typed-array.filter\x22:200,\x22core-js/modules/es.typed-array.find\x22:202,\x22core-js/modules/es.typed-array.find-index\x22:201,\n\x22core-js/modules/es.typed-array.for-each\x22:205,\x22core-js/modules/es.typed-array.includes\x22:206,\x22core-js/modules/es.typed-array.index-of\x22:207,\x22core-js/modules/es.typed-array.iterator\x22:210,\x22core-js/modules/es.typed-array.join\x22:211,\x22core-js/modules/es.typed-array.last-index-of\x22:212,\x22core-js/modules/es.typed-array.map\x22:213,\x22core-js/modules/es.typed-array.reduce\x22:215,\x22core-js/modules/es.typed-array.reduce-right\x22:214,\x22core-js/modules/es.typed-array.reverse\x22:216,\x22core-js/modules/es.typed-array.set\x22:217,\x22core-js/modules/es.typed-array.slice\x22:218,\n\x22core-js/modules/es.typed-array.some\x22:219,\x22core-js/modules/es.typed-array.sort\x22:220,\x22core-js/modules/es.typed-array.subarray\x22:221,\x22core-js/modules/es.typed-array.to-locale-string\x22:222,\x22core-js/modules/es.typed-array.to-string\x22:223,\x22core-js/modules/es.typed-array.uint8-array\x22:226}],321:[function(e$jscomp$3,t$jscomp$2,r$jscomp$2){function a$jscomp$1(e$jscomp$0){return(a$jscomp$1\x3d\x22function\x22\x3d\x3dtypeof Symbol\x26\x26\x22symbol\x22\x3d\x3dtypeof Symbol.iterator?function(e){return typeof e}:function(e){return e\x26\x26\x22function\x22\x3d\x3d\ntypeof Symbol\x26\x26e.constructor\x3d\x3d\x3dSymbol\x26\x26e!\x3d\x3dSymbol.prototype?\x22symbol\x22:typeof e})(e$jscomp$0)}function s$jscomp$1(){if(\x22function\x22!\x3dtypeof WeakMap)return null;var e\x3dnew WeakMap;return s$jscomp$1\x3dfunction(){return e},e}function o$jscomp$2(e$jscomp$1,t$jscomp$0){this.width\x3de$jscomp$1;this.height\x3dt$jscomp$0;this.infos\x3d[];this.findImage\x3dfunction(e$jscomp$0){var t,n\x3dthis.width*this.height;if(n\x3ce$jscomp$0)throw Error(\x22font is too complex to render in 3D\x22);for(var o\x3dthis.infos.length-1;0\x3c\x3do;--o){var i\x3dthis.infos[o];\nif(i.index+e$jscomp$0\x3cn){var r\x3d(t\x3di).imageData;break}}if(!t){try{r\x3dnew ImageData(this.width,this.height)}catch(e){t\x3ddocument.getElementsByTagName(\x22canvas\x22)[0],n\x3d!t,t||((t\x3ddocument.createElement(\x22canvas\x22)).style.display\x3d\x22none\x22,document.body.appendChild(t)),(o\x3dt.getContext(\x222d\x22))\x26\x26(r\x3do.createImageData(this.width,this.height)),n\x26\x26document.body.removeChild(t)}t\x3d{index:0,imageData:r};this.infos.push(t)}n\x3dt.index;return t.index+\x3de$jscomp$0,r._dirty\x3d!0,{imageData:r,index:n}}}function V(e,t,r,n,o){var i\x3d\ne.imageData.data;e\x3d4*e.index++;i[e++]\x3dt;i[e++]\x3dr;i[e++]\x3dn;i[e++]\x3do}function R$jscomp$0(e$jscomp$2){this.font\x3de$jscomp$2;this.strokeImageInfos\x3dnew o$jscomp$2(64,64);this.colDimImageInfos\x3dnew o$jscomp$2(64,64);this.rowDimImageInfos\x3dnew o$jscomp$2(64,64);this.colCellImageInfos\x3dnew o$jscomp$2(64,64);this.rowCellImageInfos\x3dnew o$jscomp$2(64,64);this.glyphInfos\x3d{};this.getGlyphInfo\x3dfunction(e$jscomp$1){function m$jscomp$0(e$jscomp$0,t$jscomp$0,r$jscomp$0){function o$jscomp$0(e,t,r){for(var n\x3de.length;0\x3c\nn--;){var o\x3de[n];o\x3ct\x26\x26(t\x3do);r\x3co\x26\x26(r\x3do)}return{min:t,max:r}}var n$jscomp$0\x3dh.length;h.push(r$jscomp$0);r$jscomp$0\x3do$jscomp$0(e$jscomp$0,1,0);e$jscomp$0\x3dMath.min(Math.ceil(9*r$jscomp$0.max),9);for(r$jscomp$0\x3dMath.max(Math.floor(9*r$jscomp$0.min),0);r$jscomp$0\x3ce$jscomp$0;++r$jscomp$0)y$jscomp$0[r$jscomp$0].push(n$jscomp$0);e$jscomp$0\x3do$jscomp$0(t$jscomp$0,1,0);t$jscomp$0\x3dMath.min(Math.ceil(9*e$jscomp$0.max),9);for(e$jscomp$0\x3dMath.max(Math.floor(9*e$jscomp$0.min),0);e$jscomp$0\x3ct$jscomp$0;++e$jscomp$0)p$jscomp$0[e$jscomp$0].push(n$jscomp$0)}\nfunction g(e){return(t\x3d(n\x3d255)*e)\x3c(r\x3d0)?r:n\x3ct?n:t;var t,r,n}function w(e$jscomp$0,t$jscomp$0,r$jscomp$0,n$jscomp$0){this.p0\x3de$jscomp$0;this.c0\x3dt$jscomp$0;this.c1\x3dr$jscomp$0;this.p1\x3dn$jscomp$0;this.toQuadratic\x3dfunction(){return{x:this.p0.x,y:this.p0.y,x1:this.p1.x,y1:this.p1.y,cx:(3*(this.c0.x+this.c1.x)-(this.p0.x+this.p1.x))/4,cy:(3*(this.c0.y+this.c1.y)-(this.p0.y+this.p1.y))/4}};this.quadError\x3dfunction(){return G.default.Vector.sub(G.default.Vector.sub(this.p1,this.p0),G.default.Vector.mult(G.default.Vector.sub(this.c1,\nthis.c0),3)).mag()/2};this.split\x3dfunction(e){var t\x3dG.default.Vector.lerp(this.p0,this.c0,e),r\x3dG.default.Vector.lerp(this.c0,this.c1,e),n\x3dG.default.Vector.lerp(t,r,e);this.c1\x3dG.default.Vector.lerp(this.c1,this.p1,e);this.c0\x3dG.default.Vector.lerp(r,this.c1,e);e\x3dG.default.Vector.lerp(n,this.c0,e);t\x3dnew w(this.p0,t,n,e);return this.p0\x3de,t};this.splitInflections\x3dfunction(){var e\x3dG.default.Vector.sub(this.c0,this.p0),t\x3dG.default.Vector.sub(G.default.Vector.sub(this.c1,this.c0),e),r\x3dG.default.Vector.sub(G.default.Vector.sub(G.default.Vector.sub(this.p1,\nthis.c1),e),G.default.Vector.mult(t,2)),n\x3d[],o\x3dt.x*r.y-t.y*r.x;0!\x3d\x3do\x26\x26(r\x3de.x*r.y-e.y*r.x,e\x3dr*r-4*o*(e.x*t.y-e.y*t.x),0\x3c\x3de\x26\x26(0\x3eo\x26\x26(o\x3d-o,r\x3d-r),t\x3dMath.sqrt(e),e\x3d(-r-t)/(2*o),o\x3d(-r+t)/(2*o),0\x3ce\x26\x261\x3ee\x26\x26(n.push(this.split(e)),o\x3d1-(1-o)/(1-e)),0\x3co\x26\x261\x3eo\x26\x26n.push(this.split(o))));return n.push(this),n}}function v(e$jscomp$0,t,r,n,o,i,a,s){i\x3d(new w(new G.default.Vector(e$jscomp$0,t),new G.default.Vector(r,n),new G.default.Vector(o,i),new G.default.Vector(a,s))).splitInflections();e$jscomp$0\x3d[];t\x3d30/z;r\x3d!0;n\x3d\n!1;o\x3dvoid 0;try{for(var p,y\x3di[Symbol.iterator]();!(r\x3d(p\x3dy.next()).done);r\x3d!0){var m\x3dp.value;i\x3d[];for(a\x3dvoid 0;!(.125\x3c\x3d(a\x3dt/m.quadError()));){var b\x3dMath.pow(a,1/3),_\x3dm.split(b),x\x3dm.split(1-b/(1-b));e$jscomp$0.push(_);i.push(m);m\x3dx}1\x3ea\x26\x26e$jscomp$0.push(m.split(.5));e$jscomp$0.push(m);Array.prototype.push.apply(e$jscomp$0,i.reverse())}}catch(e){n\x3d!0,o\x3de}finally{try{r||null\x3d\x3dy.return||y.return()}finally{if(n)throw o;}}return e$jscomp$0}function b$jscomp$0(e,t,r,n){m$jscomp$0([e,r],[t,n],{x:e,y:t,cx:(e+\nr)/2,cy:(t+n)/2})}function B(e,t,r){var n\x3de.length;t\x3dt.findImage(n);for(var i\x3dt.index,a\x3d0,s\x3d0;s\x3cn;++s)a+\x3de[s].length;r\x3dr.findImage(a);for(a\x3d0;a\x3cn;++a){s\x3de[a];var d\x3ds.length,f\x3dr.index;V(t,f\x3e\x3e7,127\x26f,d\x3e\x3e7,127\x26d);for(f\x3d0;f\x3cd;++f){var p\x3ds[f]+U;V(r,p\x3e\x3e7,127\x26p,0,0)}}return{cellImageInfo:r,dimOffset:i,dimImageInfo:t}}var t$jscomp$1\x3dthis.glyphInfos[e$jscomp$1.index];if(t$jscomp$1)return t$jscomp$1;var r$jscomp$1,n$jscomp$1\x3de$jscomp$1.getBoundingBox(),o$jscomp$1\x3dn$jscomp$1.x1,i$jscomp$0\x3dn$jscomp$1.y1,a$jscomp$0\x3d\nn$jscomp$1.x2-o$jscomp$1,s$jscomp$0\x3dn$jscomp$1.y2-i$jscomp$0,l\x3de$jscomp$1.path.commands;if(0\x3d\x3da$jscomp$0||0\x3d\x3ds$jscomp$0||!l.length)return this.glyphInfos[e$jscomp$1.index]\x3d{};var h\x3d[],p$jscomp$0\x3d[],y$jscomp$0\x3d[];for(r$jscomp$1\x3d8;0\x3c\x3dr$jscomp$1;--r$jscomp$1)y$jscomp$0.push([]);for(r$jscomp$1\x3d8;0\x3c\x3dr$jscomp$1;--r$jscomp$1)p$jscomp$0.push([]);r$jscomp$1\x3d!0;var j\x3d!1,S\x3dvoid 0;try{for(var M,E\x3dl[Symbol.iterator]();!(r$jscomp$1\x3d(M\x3dE.next()).done);r$jscomp$1\x3d!0){var T\x3dM.value,O\x3d(T.x-o$jscomp$1)/a$jscomp$0,C\x3d\n(T.y-i$jscomp$0)/s$jscomp$0;if(!(1E-5\x3eMath.abs(O-u)\x26\x261E-5\x3eMath.abs(C-c))){switch(T.type){case \x22M\x22:var d$jscomp$0\x3dO;var f$jscomp$0\x3dC;break;case \x22L\x22:b$jscomp$0(u,c,O,C);break;case \x22Q\x22:var L\x3d(T.x1-o$jscomp$1)/a$jscomp$0,P\x3d(T.y1-i$jscomp$0)/s$jscomp$0;m$jscomp$0([u,O,L],[c,C,P],{x:u,y:c,cx:L,cy:P});break;case \x22Z\x22:1E-5\x3eMath.abs(d$jscomp$0-u)\x26\x261E-5\x3eMath.abs(f$jscomp$0-c)?h.push({x:u,y:c}):(b$jscomp$0(u,c,d$jscomp$0,f$jscomp$0),h.push({x:d$jscomp$0,y:f$jscomp$0}));break;case \x22C\x22:var A\x3dv(u,c,(T.x1-o$jscomp$1)/\na$jscomp$0,(T.y1-i$jscomp$0)/s$jscomp$0,(T.x2-o$jscomp$1)/a$jscomp$0,(T.y2-i$jscomp$0)/s$jscomp$0,O,C);for(l\x3d0;l\x3cA.length;l++){var R\x3dA[l].toQuadratic();m$jscomp$0([R.x,R.x1,R.cx],[R.y,R.y1,R.cy],R)}break;default:throw Error(\x22unknown command type: \x22.concat(T.type));}var u\x3dO;var c\x3dC}}}catch(e){j\x3d!0,S\x3de}finally{try{r$jscomp$1||null\x3d\x3dE.return||E.return()}finally{if(j)throw S;}}o$jscomp$1\x3dh.length;i$jscomp$0\x3dthis.strokeImageInfos.findImage(o$jscomp$1);var U\x3di$jscomp$0.index;for(a$jscomp$0\x3d0;a$jscomp$0\x3c\no$jscomp$1;++a$jscomp$0)s$jscomp$0\x3dh[a$jscomp$0],V(i$jscomp$0,g(s$jscomp$0.x),g(s$jscomp$0.y),g(s$jscomp$0.cx),g(s$jscomp$0.cy));return(t$jscomp$1\x3dthis.glyphInfos[e$jscomp$1.index]\x3d{glyph:e$jscomp$1,uGlyphRect:[n$jscomp$1.x1,-n$jscomp$1.y1,n$jscomp$1.x2,-n$jscomp$1.y2],strokeImageInfo:i$jscomp$0,strokes:h,colInfo:B(y$jscomp$0,this.colDimImageInfos,this.colCellImageInfos),rowInfo:B(p$jscomp$0,this.rowDimImageInfos,this.rowCellImageInfos)}).uGridOffset\x3d[t$jscomp$1.colInfo.dimOffset,t$jscomp$1.rowInfo.dimOffset],\nt$jscomp$1}}e$jscomp$3(\x22core-js/modules/es.symbol\x22);e$jscomp$3(\x22core-js/modules/es.symbol.description\x22);e$jscomp$3(\x22core-js/modules/es.symbol.iterator\x22);e$jscomp$3(\x22core-js/modules/es.array.iterator\x22);e$jscomp$3(\x22core-js/modules/es.object.to-string\x22);e$jscomp$3(\x22core-js/modules/es.regexp.exec\x22);e$jscomp$3(\x22core-js/modules/es.string.iterator\x22);e$jscomp$3(\x22core-js/modules/es.string.split\x22);e$jscomp$3(\x22core-js/modules/es.string.sub\x22);e$jscomp$3(\x22core-js/modules/web.dom-collections.iterator\x22);var n$jscomp$2,\nG\x3d(n$jscomp$2\x3de$jscomp$3(\x22../core/main\x22))\x26\x26n$jscomp$2.__esModule?n$jscomp$2:{default:n$jscomp$2},k\x3dfunction(e){if(e\x26\x26e.__esModule)return e;if(null\x3d\x3d\x3de||\x22object\x22!\x3d\x3da$jscomp$1(e)\x26\x26\x22function\x22!\x3dtypeof e)return{default:e};var t\x3ds$jscomp$1();if(t\x26\x26t.has(e))return t.get(e);var r\x3d{},n\x3dObject.defineProperty\x26\x26Object.getOwnPropertyDescriptor,o;for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i\x3dn?Object.getOwnPropertyDescriptor(e,o):null;i\x26\x26(i.get||i.set)?Object.defineProperty(r,o,i):r[o]\x3de[o]}r.default\x3d\ne;t\x26\x26t.set(e,r);return r}(e$jscomp$3(\x22../core/constants\x22));e$jscomp$3(\x22./p5.Shader\x22);e$jscomp$3(\x22./p5.RendererGL.Retained\x22);G.default.RendererGL.prototype._applyTextProperties\x3dfunction(){};G.default.RendererGL.prototype.textWidth\x3dfunction(e){return this._isOpenType()?this._textFont._textWidth(e,this._textSize):0};var z\x3dMath.sqrt(3);G.default.RendererGL.prototype._renderText\x3dfunction(e$jscomp$0,t$jscomp$0,r,n,o){if(this._textFont\x26\x26\x22string\x22!\x3dtypeof this._textFont){if(!(o\x3c\x3dn)\x26\x26this._doFill){if(!this._isOpenType())return console.log(\x22WEBGL: only Opentype (.otf) and Truetype (.ttf) fonts are supported\x22),\ne$jscomp$0;e$jscomp$0.push();o\x3dthis._doStroke;var a\x3dthis.drawMode;this._doStroke\x3d!1;this.drawMode\x3dk.TEXTURE;var s\x3dthis._textFont.font,l\x3dthis._textFont._fontInfo;l\x3dl||(this._textFont._fontInfo\x3dnew R$jscomp$0(s));r\x3dthis._textFont._handleAlignment(this,t$jscomp$0,r,n);n\x3dthis._textSize/s.unitsPerEm;this.translate(r.x,r.y,0);this.scale(n,n,1);r\x3dthis.GL;var f\x3d!this._defaultFontShader;n\x3dthis._getFontShader();n.init();n.bindShader();f\x26\x26(n.setUniform(\x22uGridImageSize\x22,[64,64]),n.setUniform(\x22uCellsImageSize\x22,\n[64,64]),n.setUniform(\x22uStrokeImageSize\x22,[64,64]),n.setUniform(\x22uGridSize\x22,[9,9]));this._applyColorBlend(this.curFillColor);f\x3dthis.retainedMode.geometry.glyph;f||(f\x3dthis._textGeom\x3dnew G.default.Geometry(1,1,function(){for(var e\x3d0;1\x3e\x3de;e++)for(var t\x3d0;1\x3e\x3dt;t++)this.vertices.push(new G.default.Vector(t,e,0)),this.uvs.push(t,e)}),f.computeFaces().computeNormals(),f\x3dthis.createBuffers(\x22glyph\x22,f));var m\x3d!0,g\x3d!1,v\x3dvoid 0;try{for(var b,_\x3dthis.retainedMode.buffers.text[Symbol.iterator]();!(m\x3d(b\x3d_.next()).done);m\x3d\n!0)b.value._prepareBuffer(f,n)}catch(e){g\x3d!0,v\x3de}finally{try{m||null\x3d\x3d_.return||_.return()}finally{if(g)throw v;}}this._bindBuffer(f.indexBuffer,r.ELEMENT_ARRAY_BUFFER);n.setUniform(\x22uMaterialColor\x22,this.curFillColor);try{b\x3d0;_\x3dnull;var j\x3ds.stringToGlyphs(t$jscomp$0);t$jscomp$0\x3d!0;f\x3d!1;m\x3dvoid 0;try{for(var T,O\x3dj[Symbol.iterator]();!(t$jscomp$0\x3d(T\x3dO.next()).done);t$jscomp$0\x3d!0){var C\x3dT.value;_\x26\x26(b+\x3ds.getKerningValue(_,C));var L\x3dl.getGlyphInfo(C);if(L.uGlyphRect){var P\x3dL.rowInfo,A\x3dL.colInfo;n.setUniform(\x22uSamplerStrokes\x22,\nL.strokeImageInfo.imageData);n.setUniform(\x22uSamplerRowStrokes\x22,P.cellImageInfo.imageData);n.setUniform(\x22uSamplerRows\x22,P.dimImageInfo.imageData);n.setUniform(\x22uSamplerColStrokes\x22,A.cellImageInfo.imageData);n.setUniform(\x22uSamplerCols\x22,A.dimImageInfo.imageData);n.setUniform(\x22uGridOffset\x22,L.uGridOffset);n.setUniform(\x22uGlyphRect\x22,L.uGlyphRect);n.setUniform(\x22uGlyphOffset\x22,b);n.bindTextures();r.drawElements(r.TRIANGLES,6,this.GL.UNSIGNED_SHORT,0)}b+\x3dC.advanceWidth;_\x3dC}}catch(e){f\x3d!0,m\x3de}finally{try{t$jscomp$0||\nnull\x3d\x3dO.return||O.return()}finally{if(f)throw m;}}}finally{n.unbindShader(),this._doStroke\x3do,this.drawMode\x3da,e$jscomp$0.pop()}return e$jscomp$0}}else console.log(\x22WEBGL: you must load and set a font before drawing text. See `loadFont` and `textFont` for more details.\x22)}},{\x22../core/constants\x22:253,\x22../core/main\x22:264,\x22./p5.RendererGL.Retained\x22:317,\x22./p5.Shader\x22:319,\x22core-js/modules/es.array.iterator\x22:158,\x22core-js/modules/es.object.to-string\x22:177,\x22core-js/modules/es.regexp.exec\x22:181,\x22core-js/modules/es.string.iterator\x22:186,\n\x22core-js/modules/es.string.split\x22:191,\x22core-js/modules/es.string.sub\x22:192,\x22core-js/modules/es.symbol\x22:196,\x22core-js/modules/es.symbol.description\x22:194,\x22core-js/modules/es.symbol.iterator\x22:195,\x22core-js/modules/web.dom-collections.iterator\x22:229}]},{},[248])(248)})}"); +SHADOW_ENV.evalLoad("cljsjs.p5.js", true , "goog.provide(\x27cljsjs.p5\x27);\nvar module$node_modules$p5$lib$p5_min\x3dshadow.js.require(\x22module$node_modules$p5$lib$p5_min\x22, {});\ngoog.exportSymbol(\x22p5\x22,module$node_modules$p5$lib$p5_min);\n"); +SHADOW_ENV.evalLoad("quil.util.js", true , "goog.provide(\x27quil.util\x27);\n/**\n * Function that does nothing.\n */\nquil.util.no_fn \x3d (function quil$util$no_fn(){\nreturn null;\n});\n/**\n * Internal state map used to initiate all sketches.\n */\nquil.util.initial_internal_state \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22frame-rate\x22,\x22frame-rate\x22,-994918942),(60),new cljs.core.Keyword(null,\x22looping?\x22,\x22looping?\x22,78344245),true], null);\n/**\n * Returns the val associated with `key` in `mappings` or `key` directly if it\n * is one of the vals in `mappings`. Otherwise throws an exception.\n */\nquil.util.resolve_constant_key \x3d (function quil$util$resolve_constant_key(key,mappings){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(mappings,key))){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(mappings,key);\n} else {\nif(cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([key]),cljs.core.vals(mappings)))){\nreturn key;\n} else {\nthrow (new Error([\x22Expecting a keyword, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(key),\x22. Expected one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.vec(cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.keys(mappings))))].join(\x27\x27)));\n\n}\n}\n});\n/**\n * Returns the length of the longest key of map `m`. Assumes `m`\x27s keys are strings\n * and returns 0 if map is empty:\n * \n * Examples:\n * ```\n * (length-of-longest-key {\x22foo\x22 1 \x22barr\x22 2 \x22bazzz\x22 3}) ;\x3d\x3e 5\n * (length-of-longest-key {}) ;\x3d\x3e 0\n * ```\n */\nquil.util.length_of_longest_key \x3d (function quil$util$length_of_longest_key(m){\nvar or__5045__auto__ \x3d cljs.core.last(cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22858_SHARP_){\nreturn p1__22858_SHARP_.length();\n}),cljs.core.keys(m))));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n});\n/**\n * Generates a padding string with `s` concatenated with `len` times `pad`.\n * May be called without starting string `s` in which case it defaults to the\n * empty string and also without `pad` in which case it defaults to a single\n * space.\n * \n * Examples:\n * ```\n * (gen-padding \x22asdf\x22 5 \x22b\x22) ;\x3d\x3e \x22asdfbbbbb\x22\n * (gen-padding 3 \x22b\x22) ;\x3d\x3e \x22bbb\x22\n * (gen-padding 3) ;\x3d\x3e \x22 \x22\n * ```\n * \n */\nquil.util.gen_padding \x3d (function quil$util$gen_padding(var_args){\nvar G__22866 \x3d arguments.length;\nswitch (G__22866) {\ncase 1:\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.util.gen_padding.cljs$core$IFn$_invoke$arity$1 \x3d (function (len){\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$3(\x22\x22,len,\x22 \x22);\n}));\n\n(quil.util.gen_padding.cljs$core$IFn$_invoke$arity$2 \x3d (function (len,pad){\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$3(\x22\x22,len,pad);\n}));\n\n(quil.util.gen_padding.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,len,pad){\nif((len \x3e (0))){\nreturn quil.util.gen_padding.cljs$core$IFn$_invoke$arity$3([cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),cljs.core.str.cljs$core$IFn$_invoke$arity$1(pad)].join(\x27\x27),(len - (1)),pad);\n} else {\nreturn s;\n}\n}));\n\n(quil.util.gen_padding.cljs$lang$maxFixedArity \x3d 3);\n\nquil.util.print_definition_list \x3d (function quil$util$print_definition_list(definitions){\nvar longest_key \x3d quil.util.length_of_longest_key(definitions);\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__22867){\nvar vec__22868 \x3d p__22867;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22868,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22868,(1),null);\nvar len \x3d k.length();\nvar diff \x3d (longest_key - len);\nvar pad \x3d quil.util.gen_padding.cljs$core$IFn$_invoke$arity$1(diff);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k,pad,\x22- \x22,v], 0));\n}),definitions));\n});\nquil.util.clj_compilation_QMARK_ \x3d (function quil$util$clj_compilation_QMARK_(){\nreturn false;\n});\nquil.util.prepare_quil_name \x3d (function quil$util$prepare_quil_name(const_keyword){\nreturn clojure.string.replace(clojure.string.upper_case(cljs.core.name(const_keyword)),/-/,\x22_\x22);\n});\nquil.util.prepare_quil_clj_constants \x3d (function quil$util$prepare_quil_clj_constants(constants){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22871_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__22871_SHARP_,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22PConstants/\x22,quil.util.prepare_quil_name(p1__22871_SHARP_)].join(\x27\x27))],null));\n}),constants));\n});\nquil.util.prepare_quil_cljs_constants \x3d (function quil$util$prepare_quil_cljs_constants(constants){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22872_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__22872_SHARP_,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22aget\x22,\x22cljs.core/aget\x22,6345791,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22p5.prototype\x22,\x22js/p5.prototype\x22,-1153964427,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,quil.util.prepare_quil_name(p1__22872_SHARP_),null,(1),null))], 0))))],null));\n}),constants));\n});\nquil.util.make_quil_constant_map \x3d (function quil$util$make_quil_constant_map(target,const_map_name,const_map){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,const_map_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(target,new cljs.core.Keyword(null,\x22clj\x22,\x22clj\x22,-660495428)))?quil.util.prepare_quil_clj_constants(const_map):quil.util.prepare_quil_cljs_constants(const_map)),null,(1),null))], 0))));\n});\n/**\n * In clojure it does `unchecked-int` and does nothing in cljs.\n * Needed to handle colors in hex form in clojure.\n */\nquil.util.clj_unchecked_int \x3d (function quil$util$clj_unchecked_int(v){\nreturn v;\n});\n"); +SHADOW_ENV.evalLoad("quil.middlewares.deprecated_options.js", true , "goog.provide(\x27quil.middlewares.deprecated_options\x27);\nquil.middlewares.deprecated_options.deprecated \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22decor\x22,\x22decor\x22,-1730969431),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x222.0\x22,\x22Try :features [:present] for similar effect\x22], null),new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x222.0\x22,\x22Use :features [:keep-on-top] instead.\x22], null),new cljs.core.Keyword(null,\x22safe-draw-fn\x22,\x22safe-draw-fn\x22,1454900202),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x222.0\x22,\x22Use :features [:no-safe-fns] instead.\x22], null)], null);\nquil.middlewares.deprecated_options.check_features_vector \x3d (function quil$middlewares$deprecated_options$check_features_vector(features){\nvar features__$1 \x3d cljs.core.set(features);\nif(cljs.core.truth_((features__$1.cljs$core$IFn$_invoke$arity$1 ? features__$1.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22no-safe-draw\x22,\x22no-safe-draw\x22,-1157778157)) : features__$1.call(null,new cljs.core.Keyword(null,\x22no-safe-draw\x22,\x22no-safe-draw\x22,-1157778157))))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature :no-safe-draw was renamed to :no-safe-fns in Quil 2.1.\x22,\x22Use :feature [:no-safe-fns] now.\x22], 0));\n} else {\n}\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(features__$1,new cljs.core.Keyword(null,\x22no-safe-draw\x22,\x22no-safe-draw\x22,-1157778157));\n});\n/**\n * Checks `options` map for deprecated options, removes them and\n * prints messages explaining how to fix them.\n */\nquil.middlewares.deprecated_options.deprecated_options \x3d (function quil$middlewares$deprecated_options$deprecated_options(options){\nvar options__$1 \x3d cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(options,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336)], null),quil.middlewares.deprecated_options.check_features_vector);\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,(function (){var iter__5523__auto__ \x3d (function quil$middlewares$deprecated_options$deprecated_options_$_iter__22839(s__22840){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__22840__$1 \x3d s__22840;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__22840__$1);\nif(temp__5804__auto__){\nvar s__22840__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__22840__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__22840__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__22842 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__22841 \x3d (0);\nwhile(true){\nif((i__22841 \x3c size__5522__auto__)){\nvar vec__22843 \x3d cljs.core._nth(c__5521__auto__,i__22841);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22843,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22843,(1),null);\ncljs.core.chunk_append(b__22842,(function (){var temp__5802__auto__ \x3d (quil.middlewares.deprecated_options.deprecated.cljs$core$IFn$_invoke$arity$1 ? quil.middlewares.deprecated_options.deprecated.cljs$core$IFn$_invoke$arity$1(name) : quil.middlewares.deprecated_options.deprecated.call(null,name));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__22846 \x3d temp__5802__auto__;\nvar version \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22846,(0),null);\nvar message \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22846,(1),null);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([name,\x22option was removed in Quil\x22,version,\x22.\x22,message], 0));\n\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,value], null);\n}\n})());\n\nvar G__22857 \x3d (i__22841 + (1));\ni__22841 \x3d G__22857;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22842),quil$middlewares$deprecated_options$deprecated_options_$_iter__22839(cljs.core.chunk_rest(s__22840__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__22842),null);\n}\n} else {\nvar vec__22851 \x3d cljs.core.first(s__22840__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22851,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22851,(1),null);\nreturn cljs.core.cons((function (){var temp__5802__auto__ \x3d (quil.middlewares.deprecated_options.deprecated.cljs$core$IFn$_invoke$arity$1 ? quil.middlewares.deprecated_options.deprecated.cljs$core$IFn$_invoke$arity$1(name) : quil.middlewares.deprecated_options.deprecated.call(null,name));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__22854 \x3d temp__5802__auto__;\nvar version \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22854,(0),null);\nvar message \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22854,(1),null);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([name,\x22option was removed in Quil\x22,version,\x22.\x22,message], 0));\n\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,value], null);\n}\n})(),quil$middlewares$deprecated_options$deprecated_options_$_iter__22839(cljs.core.rest(s__22840__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(options__$1);\n})()));\n});\n"); +SHADOW_ENV.evalLoad("goog.events.browserfeature.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.events.BrowserFeature\x22);\n goog.module.declareLegacyNamespace();\n const purify \x3d fn \x3d\x3e {\n return {valueOf:fn}.valueOf();\n };\n exports \x3d {HAS_W3C_BUTTON:true, HAS_W3C_EVENT_SUPPORT:true, SET_KEY_CODE_TO_PREVENT_DEFAULT:false, HAS_NAVIGATOR_ONLINE_PROPERTY:true, HAS_HTML5_NETWORK_EVENT_SUPPORT:true, HTML5_NETWORK_EVENTS_FIRE_ON_BODY:false, TOUCH_ENABLED:\x22ontouchstart\x22 in goog.global || !!(goog.global[\x22document\x22] \x26\x26 document.documentElement \x26\x26 \x22ontouchstart\x22 in document.documentElement) || !!(goog.global[\x22navigator\x22] \x26\x26 (goog.global[\x22navigator\x22][\x22maxTouchPoints\x22] || goog.global[\x22navigator\x22][\x22msMaxTouchPoints\x22])), POINTER_EVENTS:\x22PointerEvent\x22 in \n goog.global, MSPOINTER_EVENTS:\x22MSPointerEvent\x22 in goog.global \x26\x26 !!(goog.global[\x22navigator\x22] \x26\x26 goog.global[\x22navigator\x22][\x22msPointerEnabled\x22]), PASSIVE_EVENTS:purify(function() {\n if (!goog.global.addEventListener || !Object.defineProperty) {\n return false;\n }\n var passive \x3d false;\n var options \x3d Object.defineProperty({}, \x22passive\x22, {get:function() {\n passive \x3d true;\n }});\n try {\n goog.global.addEventListener(\x22test\x22, goog.nullFunction, options);\n goog.global.removeEventListener(\x22test\x22, goog.nullFunction, options);\n } catch (e) {\n }\n return passive;\n })};\n return exports;\n});\n"); +SHADOW_ENV.evalLoad("goog.events.eventtype.js", true , "goog.provide(\x22goog.events.EventType\x22);\ngoog.provide(\x22goog.events.MouseAsMouseEventType\x22);\ngoog.provide(\x22goog.events.MouseEvents\x22);\ngoog.provide(\x22goog.events.PointerAsMouseEventType\x22);\ngoog.provide(\x22goog.events.PointerAsTouchEventType\x22);\ngoog.provide(\x22goog.events.PointerFallbackEventType\x22);\ngoog.provide(\x22goog.events.PointerTouchFallbackEventType\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.getVendorPrefixedName_ \x3d function(eventName) {\n return goog.userAgent.WEBKIT ? \x22webkit\x22 + eventName : eventName.toLowerCase();\n};\ngoog.events.EventType \x3d {CLICK:\x22click\x22, RIGHTCLICK:\x22rightclick\x22, DBLCLICK:\x22dblclick\x22, AUXCLICK:\x22auxclick\x22, MOUSEDOWN:\x22mousedown\x22, MOUSEUP:\x22mouseup\x22, MOUSEOVER:\x22mouseover\x22, MOUSEOUT:\x22mouseout\x22, MOUSEMOVE:\x22mousemove\x22, MOUSEENTER:\x22mouseenter\x22, MOUSELEAVE:\x22mouseleave\x22, MOUSECANCEL:\x22mousecancel\x22, SELECTIONCHANGE:\x22selectionchange\x22, SELECTSTART:\x22selectstart\x22, WHEEL:\x22wheel\x22, KEYPRESS:\x22keypress\x22, KEYDOWN:\x22keydown\x22, KEYUP:\x22keyup\x22, BLUR:\x22blur\x22, FOCUS:\x22focus\x22, DEACTIVATE:\x22deactivate\x22, FOCUSIN:\x22focusin\x22, FOCUSOUT:\x22focusout\x22, \nCHANGE:\x22change\x22, RESET:\x22reset\x22, SELECT:\x22select\x22, SUBMIT:\x22submit\x22, INPUT:\x22input\x22, PROPERTYCHANGE:\x22propertychange\x22, DRAGSTART:\x22dragstart\x22, DRAG:\x22drag\x22, DRAGENTER:\x22dragenter\x22, DRAGOVER:\x22dragover\x22, DRAGLEAVE:\x22dragleave\x22, DROP:\x22drop\x22, DRAGEND:\x22dragend\x22, TOUCHSTART:\x22touchstart\x22, TOUCHMOVE:\x22touchmove\x22, TOUCHEND:\x22touchend\x22, TOUCHCANCEL:\x22touchcancel\x22, BEFOREUNLOAD:\x22beforeunload\x22, CONSOLEMESSAGE:\x22consolemessage\x22, CONTEXTMENU:\x22contextmenu\x22, DEVICECHANGE:\x22devicechange\x22, DEVICEMOTION:\x22devicemotion\x22, DEVICEORIENTATION:\x22deviceorientation\x22, \nDOMCONTENTLOADED:\x22DOMContentLoaded\x22, ERROR:\x22error\x22, HELP:\x22help\x22, LOAD:\x22load\x22, LOSECAPTURE:\x22losecapture\x22, ORIENTATIONCHANGE:\x22orientationchange\x22, READYSTATECHANGE:\x22readystatechange\x22, RESIZE:\x22resize\x22, SCROLL:\x22scroll\x22, UNLOAD:\x22unload\x22, CANPLAY:\x22canplay\x22, CANPLAYTHROUGH:\x22canplaythrough\x22, DURATIONCHANGE:\x22durationchange\x22, EMPTIED:\x22emptied\x22, ENDED:\x22ended\x22, LOADEDDATA:\x22loadeddata\x22, LOADEDMETADATA:\x22loadedmetadata\x22, PAUSE:\x22pause\x22, PLAY:\x22play\x22, PLAYING:\x22playing\x22, PROGRESS:\x22progress\x22, RATECHANGE:\x22ratechange\x22, \nSEEKED:\x22seeked\x22, SEEKING:\x22seeking\x22, STALLED:\x22stalled\x22, SUSPEND:\x22suspend\x22, TIMEUPDATE:\x22timeupdate\x22, VOLUMECHANGE:\x22volumechange\x22, WAITING:\x22waiting\x22, SOURCEOPEN:\x22sourceopen\x22, SOURCEENDED:\x22sourceended\x22, SOURCECLOSED:\x22sourceclosed\x22, ABORT:\x22abort\x22, UPDATE:\x22update\x22, UPDATESTART:\x22updatestart\x22, UPDATEEND:\x22updateend\x22, HASHCHANGE:\x22hashchange\x22, PAGEHIDE:\x22pagehide\x22, PAGESHOW:\x22pageshow\x22, POPSTATE:\x22popstate\x22, COPY:\x22copy\x22, PASTE:\x22paste\x22, CUT:\x22cut\x22, BEFORECOPY:\x22beforecopy\x22, BEFORECUT:\x22beforecut\x22, BEFOREPASTE:\x22beforepaste\x22, \nONLINE:\x22online\x22, OFFLINE:\x22offline\x22, MESSAGE:\x22message\x22, CONNECT:\x22connect\x22, INSTALL:\x22install\x22, ACTIVATE:\x22activate\x22, FETCH:\x22fetch\x22, FOREIGNFETCH:\x22foreignfetch\x22, MESSAGEERROR:\x22messageerror\x22, STATECHANGE:\x22statechange\x22, UPDATEFOUND:\x22updatefound\x22, CONTROLLERCHANGE:\x22controllerchange\x22, ANIMATIONSTART:goog.events.getVendorPrefixedName_(\x22AnimationStart\x22), ANIMATIONEND:goog.events.getVendorPrefixedName_(\x22AnimationEnd\x22), ANIMATIONITERATION:goog.events.getVendorPrefixedName_(\x22AnimationIteration\x22), TRANSITIONEND:goog.events.getVendorPrefixedName_(\x22TransitionEnd\x22), \nPOINTERDOWN:\x22pointerdown\x22, POINTERUP:\x22pointerup\x22, POINTERCANCEL:\x22pointercancel\x22, POINTERMOVE:\x22pointermove\x22, POINTEROVER:\x22pointerover\x22, POINTEROUT:\x22pointerout\x22, POINTERENTER:\x22pointerenter\x22, POINTERLEAVE:\x22pointerleave\x22, GOTPOINTERCAPTURE:\x22gotpointercapture\x22, LOSTPOINTERCAPTURE:\x22lostpointercapture\x22, MSGESTURECHANGE:\x22MSGestureChange\x22, MSGESTUREEND:\x22MSGestureEnd\x22, MSGESTUREHOLD:\x22MSGestureHold\x22, MSGESTURESTART:\x22MSGestureStart\x22, MSGESTURETAP:\x22MSGestureTap\x22, MSGOTPOINTERCAPTURE:\x22MSGotPointerCapture\x22, MSINERTIASTART:\x22MSInertiaStart\x22, \nMSLOSTPOINTERCAPTURE:\x22MSLostPointerCapture\x22, MSPOINTERCANCEL:\x22MSPointerCancel\x22, MSPOINTERDOWN:\x22MSPointerDown\x22, MSPOINTERENTER:\x22MSPointerEnter\x22, MSPOINTERHOVER:\x22MSPointerHover\x22, MSPOINTERLEAVE:\x22MSPointerLeave\x22, MSPOINTERMOVE:\x22MSPointerMove\x22, MSPOINTEROUT:\x22MSPointerOut\x22, MSPOINTEROVER:\x22MSPointerOver\x22, MSPOINTERUP:\x22MSPointerUp\x22, TEXT:\x22text\x22, TEXTINPUT:goog.userAgent.IE ? \x22textinput\x22 : \x22textInput\x22, COMPOSITIONSTART:\x22compositionstart\x22, COMPOSITIONUPDATE:\x22compositionupdate\x22, COMPOSITIONEND:\x22compositionend\x22, \nBEFOREINPUT:\x22beforeinput\x22, EXIT:\x22exit\x22, LOADABORT:\x22loadabort\x22, LOADCOMMIT:\x22loadcommit\x22, LOADREDIRECT:\x22loadredirect\x22, LOADSTART:\x22loadstart\x22, LOADSTOP:\x22loadstop\x22, RESPONSIVE:\x22responsive\x22, SIZECHANGED:\x22sizechanged\x22, UNRESPONSIVE:\x22unresponsive\x22, VISIBILITYCHANGE:\x22visibilitychange\x22, STORAGE:\x22storage\x22, DOMSUBTREEMODIFIED:\x22DOMSubtreeModified\x22, DOMNODEINSERTED:\x22DOMNodeInserted\x22, DOMNODEREMOVED:\x22DOMNodeRemoved\x22, DOMNODEREMOVEDFROMDOCUMENT:\x22DOMNodeRemovedFromDocument\x22, DOMNODEINSERTEDINTODOCUMENT:\x22DOMNodeInsertedIntoDocument\x22, \nDOMATTRMODIFIED:\x22DOMAttrModified\x22, DOMCHARACTERDATAMODIFIED:\x22DOMCharacterDataModified\x22, BEFOREPRINT:\x22beforeprint\x22, AFTERPRINT:\x22afterprint\x22, BEFOREINSTALLPROMPT:\x22beforeinstallprompt\x22, APPINSTALLED:\x22appinstalled\x22};\ngoog.events.getPointerFallbackEventName_ \x3d function(pointerEventName, msPointerEventName, fallbackEventName) {\n if (goog.events.BrowserFeature.POINTER_EVENTS) {\n return pointerEventName;\n }\n if (goog.events.BrowserFeature.MSPOINTER_EVENTS) {\n return msPointerEventName;\n }\n return fallbackEventName;\n};\ngoog.events.PointerFallbackEventType \x3d {POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN, goog.events.EventType.MSPOINTERDOWN, goog.events.EventType.MOUSEDOWN), POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP, goog.events.EventType.MSPOINTERUP, goog.events.EventType.MOUSEUP), POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL, goog.events.EventType.MSPOINTERCANCEL, goog.events.EventType.MOUSECANCEL), \nPOINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE, goog.events.EventType.MSPOINTERMOVE, goog.events.EventType.MOUSEMOVE), POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER, goog.events.EventType.MSPOINTEROVER, goog.events.EventType.MOUSEOVER), POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT, goog.events.EventType.MSPOINTEROUT, goog.events.EventType.MOUSEOUT), POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER, \ngoog.events.EventType.MSPOINTERENTER, goog.events.EventType.MOUSEENTER), POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE, goog.events.EventType.MSPOINTERLEAVE, goog.events.EventType.MOUSELEAVE)};\ngoog.events.PointerTouchFallbackEventType \x3d {POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN, goog.events.EventType.MSPOINTERDOWN, goog.events.EventType.TOUCHSTART), POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP, goog.events.EventType.MSPOINTERUP, goog.events.EventType.TOUCHEND), POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL, goog.events.EventType.MSPOINTERCANCEL, goog.events.EventType.TOUCHCANCEL), \nPOINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE, goog.events.EventType.MSPOINTERMOVE, goog.events.EventType.TOUCHMOVE)};\ngoog.events.MouseEvents;\ngoog.events.PointerAsMouseEventType \x3d {MOUSEDOWN:goog.events.PointerFallbackEventType.POINTERDOWN, MOUSEUP:goog.events.PointerFallbackEventType.POINTERUP, MOUSECANCEL:goog.events.PointerFallbackEventType.POINTERCANCEL, MOUSEMOVE:goog.events.PointerFallbackEventType.POINTERMOVE, MOUSEOVER:goog.events.PointerFallbackEventType.POINTEROVER, MOUSEOUT:goog.events.PointerFallbackEventType.POINTEROUT, MOUSEENTER:goog.events.PointerFallbackEventType.POINTERENTER, MOUSELEAVE:goog.events.PointerFallbackEventType.POINTERLEAVE};\ngoog.events.MouseAsMouseEventType \x3d {MOUSEDOWN:goog.events.EventType.MOUSEDOWN, MOUSEUP:goog.events.EventType.MOUSEUP, MOUSECANCEL:goog.events.EventType.MOUSECANCEL, MOUSEMOVE:goog.events.EventType.MOUSEMOVE, MOUSEOVER:goog.events.EventType.MOUSEOVER, MOUSEOUT:goog.events.EventType.MOUSEOUT, MOUSEENTER:goog.events.EventType.MOUSEENTER, MOUSELEAVE:goog.events.EventType.MOUSELEAVE};\ngoog.events.PointerAsTouchEventType \x3d {TOUCHCANCEL:goog.events.PointerTouchFallbackEventType.POINTERCANCEL, TOUCHEND:goog.events.PointerTouchFallbackEventType.POINTERUP, TOUCHMOVE:goog.events.PointerTouchFallbackEventType.POINTERMOVE, TOUCHSTART:goog.events.PointerTouchFallbackEventType.POINTERDOWN};\n"); +SHADOW_ENV.evalLoad("goog.events.browserevent.js", true , "goog.provide(\x22goog.events.BrowserEvent\x22);\ngoog.provide(\x22goog.events.BrowserEvent.MouseButton\x22);\ngoog.provide(\x22goog.events.BrowserEvent.PointerType\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.events.Event\x22);\ngoog.require(\x22goog.events.EventType\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.USE_LAYER_XY_AS_OFFSET_XY \x3d goog.define(\x22goog.events.USE_LAYER_XY_AS_OFFSET_XY\x22, false);\ngoog.events.BrowserEvent \x3d function(opt_e, opt_currentTarget) {\n goog.events.BrowserEvent.base(this, \x22constructor\x22, opt_e ? opt_e.type : \x22\x22);\n this.target \x3d null;\n this.currentTarget \x3d null;\n this.relatedTarget \x3d null;\n this.offsetX \x3d 0;\n this.offsetY \x3d 0;\n this.clientX \x3d 0;\n this.clientY \x3d 0;\n this.screenX \x3d 0;\n this.screenY \x3d 0;\n this.button \x3d 0;\n this.key \x3d \x22\x22;\n this.keyCode \x3d 0;\n this.charCode \x3d 0;\n this.ctrlKey \x3d false;\n this.altKey \x3d false;\n this.shiftKey \x3d false;\n this.metaKey \x3d false;\n this.state \x3d null;\n this.platformModifierKey \x3d false;\n this.pointerId \x3d 0;\n this.pointerType \x3d \x22\x22;\n this.event_ \x3d null;\n if (opt_e) {\n this.init(opt_e, opt_currentTarget);\n }\n};\ngoog.inherits(goog.events.BrowserEvent, goog.events.Event);\ngoog.events.BrowserEvent.MouseButton \x3d {LEFT:0, MIDDLE:1, RIGHT:2};\ngoog.events.BrowserEvent.PointerType \x3d {MOUSE:\x22mouse\x22, PEN:\x22pen\x22, TOUCH:\x22touch\x22};\ngoog.events.BrowserEvent.IEButtonMap \x3d goog.debug.freeze([1, 4, 2]);\ngoog.events.BrowserEvent.IE_BUTTON_MAP \x3d goog.events.BrowserEvent.IEButtonMap;\ngoog.events.BrowserEvent.IE_POINTER_TYPE_MAP \x3d goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH, 3:goog.events.BrowserEvent.PointerType.PEN, 4:goog.events.BrowserEvent.PointerType.MOUSE});\ngoog.events.BrowserEvent.prototype.init \x3d function(e, opt_currentTarget) {\n var type \x3d this.type \x3d e.type;\n var relevantTouch \x3d e.changedTouches \x26\x26 e.changedTouches.length ? e.changedTouches[0] : null;\n this.target \x3d e.target || e.srcElement;\n this.currentTarget \x3d opt_currentTarget;\n var relatedTarget \x3d e.relatedTarget;\n if (relatedTarget) {\n if (goog.userAgent.GECKO) {\n if (!goog.reflect.canAccessProperty(relatedTarget, \x22nodeName\x22)) {\n relatedTarget \x3d null;\n }\n }\n } else if (type \x3d\x3d goog.events.EventType.MOUSEOVER) {\n relatedTarget \x3d e.fromElement;\n } else if (type \x3d\x3d goog.events.EventType.MOUSEOUT) {\n relatedTarget \x3d e.toElement;\n }\n this.relatedTarget \x3d relatedTarget;\n if (relevantTouch) {\n this.clientX \x3d relevantTouch.clientX !\x3d\x3d undefined ? relevantTouch.clientX : relevantTouch.pageX;\n this.clientY \x3d relevantTouch.clientY !\x3d\x3d undefined ? relevantTouch.clientY : relevantTouch.pageY;\n this.screenX \x3d relevantTouch.screenX || 0;\n this.screenY \x3d relevantTouch.screenY || 0;\n } else {\n if (goog.events.USE_LAYER_XY_AS_OFFSET_XY) {\n this.offsetX \x3d e.layerX !\x3d\x3d undefined ? e.layerX : e.offsetX;\n this.offsetY \x3d e.layerY !\x3d\x3d undefined ? e.layerY : e.offsetY;\n } else {\n this.offsetX \x3d goog.userAgent.WEBKIT || e.offsetX !\x3d\x3d undefined ? e.offsetX : e.layerX;\n this.offsetY \x3d goog.userAgent.WEBKIT || e.offsetY !\x3d\x3d undefined ? e.offsetY : e.layerY;\n }\n this.clientX \x3d e.clientX !\x3d\x3d undefined ? e.clientX : e.pageX;\n this.clientY \x3d e.clientY !\x3d\x3d undefined ? e.clientY : e.pageY;\n this.screenX \x3d e.screenX || 0;\n this.screenY \x3d e.screenY || 0;\n }\n this.button \x3d e.button;\n this.keyCode \x3d e.keyCode || 0;\n this.key \x3d e.key || \x22\x22;\n this.charCode \x3d e.charCode || (type \x3d\x3d \x22keypress\x22 ? e.keyCode : 0);\n this.ctrlKey \x3d e.ctrlKey;\n this.altKey \x3d e.altKey;\n this.shiftKey \x3d e.shiftKey;\n this.metaKey \x3d e.metaKey;\n this.platformModifierKey \x3d goog.userAgent.MAC ? e.metaKey : e.ctrlKey;\n this.pointerId \x3d e.pointerId || 0;\n this.pointerType \x3d goog.events.BrowserEvent.getPointerType_(e);\n this.state \x3d e.state;\n this.event_ \x3d e;\n if (e.defaultPrevented) {\n goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n }\n};\ngoog.events.BrowserEvent.prototype.isButton \x3d function(button) {\n return this.event_.button \x3d\x3d button;\n};\ngoog.events.BrowserEvent.prototype.isMouseActionButton \x3d function() {\n return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT) \x26\x26 !(goog.userAgent.MAC \x26\x26 this.ctrlKey);\n};\ngoog.events.BrowserEvent.prototype.stopPropagation \x3d function() {\n goog.events.BrowserEvent.superClass_.stopPropagation.call(this);\n if (this.event_.stopPropagation) {\n this.event_.stopPropagation();\n } else {\n this.event_.cancelBubble \x3d true;\n }\n};\ngoog.events.BrowserEvent.prototype.preventDefault \x3d function() {\n goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n var be \x3d this.event_;\n if (!be.preventDefault) {\n be.returnValue \x3d false;\n } else {\n be.preventDefault();\n }\n};\ngoog.events.BrowserEvent.prototype.getBrowserEvent \x3d function() {\n return this.event_;\n};\ngoog.events.BrowserEvent.getPointerType_ \x3d function(e) {\n if (typeof e.pointerType \x3d\x3d\x3d \x22string\x22) {\n return e.pointerType;\n }\n return goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[e.pointerType] || \x22\x22;\n};\n"); +SHADOW_ENV.evalLoad("goog.events.eventlike.js", true , "goog.provide(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.events.EventLike;\n"); +SHADOW_ENV.evalLoad("goog.events.listenablekey.js", true , "goog.provide(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.ListenableKey \x3d function() {\n};\ngoog.events.ListenableKey.counter_ \x3d 0;\ngoog.events.ListenableKey.reserveKey \x3d function() {\n return ++goog.events.ListenableKey.counter_;\n};\ngoog.events.ListenableKey.prototype.src;\ngoog.events.ListenableKey.prototype.type;\ngoog.events.ListenableKey.prototype.listener;\ngoog.events.ListenableKey.prototype.capture;\ngoog.events.ListenableKey.prototype.handler;\ngoog.events.ListenableKey.prototype.key;\n"); +SHADOW_ENV.evalLoad("goog.events.listenable.js", true , "goog.provide(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.Listenable \x3d function() {\n};\ngoog.events.Listenable.IMPLEMENTED_BY_PROP \x3d \x22closure_listenable_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.Listenable.addImplementation \x3d function(cls) {\n cls.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP] \x3d true;\n};\ngoog.events.Listenable.isImplementedBy \x3d function(obj) {\n return !!(obj \x26\x26 obj[goog.events.Listenable.IMPLEMENTED_BY_PROP]);\n};\ngoog.events.Listenable.prototype.listen \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.listenOnce \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlisten \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlistenByKey \x3d function(key) {\n};\ngoog.events.Listenable.prototype.dispatchEvent \x3d function(e) {\n};\ngoog.events.Listenable.prototype.removeAllListeners \x3d function(opt_type) {\n};\ngoog.events.Listenable.prototype.getParentEventTarget \x3d function() {\n};\ngoog.events.Listenable.prototype.fireListeners \x3d function(type, capture, eventObject) {\n};\ngoog.events.Listenable.prototype.getListeners \x3d function(type, capture) {\n};\ngoog.events.Listenable.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.hasListener \x3d function(opt_type, opt_capture) {\n};\n"); +SHADOW_ENV.evalLoad("goog.events.listener.js", true , "goog.provide(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.Listener \x3d function(listener, proxy, src, type, capture, opt_handler) {\n if (goog.events.Listener.ENABLE_MONITORING) {\n this.creationStack \x3d (new Error()).stack;\n }\n this.listener \x3d listener;\n this.proxy \x3d proxy;\n this.src \x3d src;\n this.type \x3d type;\n this.capture \x3d !!capture;\n this.handler \x3d opt_handler;\n this.key \x3d goog.events.ListenableKey.reserveKey();\n this.callOnce \x3d false;\n this.removed \x3d false;\n};\ngoog.events.Listener.ENABLE_MONITORING \x3d goog.define(\x22goog.events.Listener.ENABLE_MONITORING\x22, false);\ngoog.events.Listener.prototype.creationStack;\ngoog.events.Listener.prototype.markAsRemoved \x3d function() {\n this.removed \x3d true;\n this.listener \x3d null;\n this.proxy \x3d null;\n this.src \x3d null;\n this.handler \x3d null;\n};\n"); +SHADOW_ENV.evalLoad("goog.events.listenermap.js", true , "goog.provide(\x22goog.events.ListenerMap\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.object\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.ListenerMap \x3d function(src) {\n this.src \x3d src;\n this.listeners \x3d {};\n this.typeCount_ \x3d 0;\n};\ngoog.events.ListenerMap.prototype.getTypeCount \x3d function() {\n return this.typeCount_;\n};\ngoog.events.ListenerMap.prototype.getListenerCount \x3d function() {\n var count \x3d 0;\n for (var type in this.listeners) {\n count +\x3d this.listeners[type].length;\n }\n return count;\n};\ngoog.events.ListenerMap.prototype.add \x3d function(type, listener, callOnce, opt_useCapture, opt_listenerScope) {\n var typeStr \x3d type.toString();\n var listenerArray \x3d this.listeners[typeStr];\n if (!listenerArray) {\n listenerArray \x3d this.listeners[typeStr] \x3d [];\n this.typeCount_++;\n }\n var listenerObj;\n var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n if (index \x3e -1) {\n listenerObj \x3d listenerArray[index];\n if (!callOnce) {\n listenerObj.callOnce \x3d false;\n }\n } else {\n listenerObj \x3d new goog.events.Listener(listener, null, this.src, typeStr, !!opt_useCapture, opt_listenerScope);\n listenerObj.callOnce \x3d callOnce;\n listenerArray.push(listenerObj);\n }\n return listenerObj;\n};\ngoog.events.ListenerMap.prototype.remove \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n var typeStr \x3d type.toString();\n if (!(typeStr in this.listeners)) {\n return false;\n }\n var listenerArray \x3d this.listeners[typeStr];\n var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n if (index \x3e -1) {\n var listenerObj \x3d listenerArray[index];\n listenerObj.markAsRemoved();\n goog.array.removeAt(listenerArray, index);\n if (listenerArray.length \x3d\x3d 0) {\n delete this.listeners[typeStr];\n this.typeCount_--;\n }\n return true;\n }\n return false;\n};\ngoog.events.ListenerMap.prototype.removeByKey \x3d function(listener) {\n var type \x3d listener.type;\n if (!(type in this.listeners)) {\n return false;\n }\n var removed \x3d goog.array.remove(this.listeners[type], listener);\n if (removed) {\n listener.markAsRemoved();\n if (this.listeners[type].length \x3d\x3d 0) {\n delete this.listeners[type];\n this.typeCount_--;\n }\n }\n return removed;\n};\ngoog.events.ListenerMap.prototype.removeAll \x3d function(opt_type) {\n var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n var count \x3d 0;\n for (var type in this.listeners) {\n if (!typeStr || type \x3d\x3d typeStr) {\n var listenerArray \x3d this.listeners[type];\n for (var i \x3d 0; i \x3c listenerArray.length; i++) {\n ++count;\n listenerArray[i].markAsRemoved();\n }\n delete this.listeners[type];\n this.typeCount_--;\n }\n }\n return count;\n};\ngoog.events.ListenerMap.prototype.getListeners \x3d function(type, capture) {\n var listenerArray \x3d this.listeners[type.toString()];\n var rv \x3d [];\n if (listenerArray) {\n for (var i \x3d 0; i \x3c listenerArray.length; ++i) {\n var listenerObj \x3d listenerArray[i];\n if (listenerObj.capture \x3d\x3d capture) {\n rv.push(listenerObj);\n }\n }\n }\n return rv;\n};\ngoog.events.ListenerMap.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n var listenerArray \x3d this.listeners[type.toString()];\n var i \x3d -1;\n if (listenerArray) {\n i \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, capture, opt_listenerScope);\n }\n return i \x3e -1 ? listenerArray[i] : null;\n};\ngoog.events.ListenerMap.prototype.hasListener \x3d function(opt_type, opt_capture) {\n var hasType \x3d opt_type !\x3d\x3d undefined;\n var typeStr \x3d hasType ? opt_type.toString() : \x22\x22;\n var hasCapture \x3d opt_capture !\x3d\x3d undefined;\n return goog.object.some(this.listeners, function(listenerArray, type) {\n for (var i \x3d 0; i \x3c listenerArray.length; ++i) {\n if ((!hasType || listenerArray[i].type \x3d\x3d typeStr) \x26\x26 (!hasCapture || listenerArray[i].capture \x3d\x3d opt_capture)) {\n return true;\n }\n }\n return false;\n });\n};\ngoog.events.ListenerMap.findListenerIndex_ \x3d function(listenerArray, listener, opt_useCapture, opt_listenerScope) {\n for (var i \x3d 0; i \x3c listenerArray.length; ++i) {\n var listenerObj \x3d listenerArray[i];\n if (!listenerObj.removed \x26\x26 listenerObj.listener \x3d\x3d listener \x26\x26 listenerObj.capture \x3d\x3d !!opt_useCapture \x26\x26 listenerObj.handler \x3d\x3d opt_listenerScope) {\n return i;\n }\n }\n return -1;\n};\n"); +SHADOW_ENV.evalLoad("goog.debug.errorhandler.js", true , "goog.provide(\x22goog.debug.ErrorHandler\x22);\ngoog.provide(\x22goog.debug.ErrorHandler.ProtectedFunctionError\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug.EntryPointMonitor\x22);\ngoog.require(\x22goog.debug.Error\x22);\ngoog.debug.ErrorHandler \x3d function(handler) {\n goog.debug.ErrorHandler.base(this, \x22constructor\x22);\n this.errorHandlerFn_ \x3d handler;\n this.wrapErrors_ \x3d true;\n this.prefixErrorMessages_ \x3d false;\n};\ngoog.inherits(goog.debug.ErrorHandler, goog.Disposable);\ngoog.debug.ErrorHandler.prototype.wrap \x3d function(fn) {\n return this.protectEntryPoint(goog.asserts.assertFunction(fn));\n};\ngoog.debug.ErrorHandler.prototype.unwrap \x3d function(fn) {\n goog.asserts.assertFunction(fn);\n return fn[this.getFunctionIndex_(false)] || fn;\n};\ngoog.debug.ErrorHandler.prototype.getFunctionIndex_ \x3d function(wrapper) {\n return (wrapper ? \x22__wrapper_\x22 : \x22__protected_\x22) + goog.getUid(this) + \x22__\x22;\n};\ngoog.debug.ErrorHandler.prototype.protectEntryPoint \x3d function(fn) {\n var protectedFnName \x3d this.getFunctionIndex_(true);\n if (!fn[protectedFnName]) {\n var wrapper \x3d fn[protectedFnName] \x3d this.getProtectedFunction(fn);\n wrapper[this.getFunctionIndex_(false)] \x3d fn;\n }\n return fn[protectedFnName];\n};\ngoog.debug.ErrorHandler.prototype.getProtectedFunction \x3d function(fn) {\n var that \x3d this;\n var googDebugErrorHandlerProtectedFunction \x3d function() {\n var self \x3d this;\n if (that.isDisposed()) {\n return fn.apply(self, arguments);\n }\n try {\n return fn.apply(self, arguments);\n } catch (e) {\n that.handleError_(e);\n }\n };\n googDebugErrorHandlerProtectedFunction[this.getFunctionIndex_(false)] \x3d fn;\n return googDebugErrorHandlerProtectedFunction;\n};\ngoog.debug.ErrorHandler.prototype.handleError_ \x3d function(e) {\n var MESSAGE_PREFIX \x3d goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX;\n if (e \x26\x26 typeof e \x3d\x3d\x3d \x22object\x22 \x26\x26 typeof e.message \x3d\x3d\x3d \x22string\x22 \x26\x26 e.message.indexOf(MESSAGE_PREFIX) \x3d\x3d 0 || typeof e \x3d\x3d\x3d \x22string\x22 \x26\x26 e.indexOf(MESSAGE_PREFIX) \x3d\x3d 0) {\n return;\n }\n this.errorHandlerFn_(e);\n if (!this.wrapErrors_) {\n if (this.prefixErrorMessages_) {\n if (typeof e \x3d\x3d\x3d \x22object\x22 \x26\x26 e \x26\x26 typeof e.message \x3d\x3d\x3d \x22string\x22) {\n e.message \x3d MESSAGE_PREFIX + e.message;\n } else {\n e \x3d MESSAGE_PREFIX + e;\n }\n }\n if (goog.DEBUG) {\n if (e \x26\x26 typeof e.stack \x3d\x3d\x3d \x22string\x22 \x26\x26 Error.captureStackTrace \x26\x26 goog.global[\x22console\x22]) {\n goog.global[\x22console\x22][\x22error\x22](e.message, e.stack);\n }\n }\n throw e;\n }\n throw new goog.debug.ErrorHandler.ProtectedFunctionError(e);\n};\ngoog.debug.ErrorHandler.prototype.protectWindowSetTimeout \x3d function() {\n this.protectWindowFunctionsHelper_(\x22setTimeout\x22);\n};\ngoog.debug.ErrorHandler.prototype.protectWindowSetInterval \x3d function() {\n this.protectWindowFunctionsHelper_(\x22setInterval\x22);\n};\ngoog.debug.ErrorHandler.prototype.catchUnhandledRejections \x3d function(win) {\n win \x3d win || goog.global[\x22window\x22];\n if (\x22onunhandledrejection\x22 in win) {\n win.onunhandledrejection \x3d event \x3d\x3e {\n const e \x3d event \x26\x26 event.reason ? event.reason : new Error(\x22uncaught error\x22);\n this.handleError_(e);\n };\n }\n};\ngoog.debug.ErrorHandler.prototype.protectWindowRequestAnimationFrame \x3d function() {\n var win \x3d goog.global[\x22window\x22];\n var fnNames \x3d [\x22requestAnimationFrame\x22, \x22mozRequestAnimationFrame\x22, \x22webkitAnimationFrame\x22, \x22msRequestAnimationFrame\x22];\n for (var i \x3d 0; i \x3c fnNames.length; i++) {\n var fnName \x3d fnNames[i];\n if (fnNames[i] in win) {\n this.protectWindowFunctionsHelper_(fnName);\n }\n }\n};\ngoog.debug.ErrorHandler.prototype.protectWindowFunctionsHelper_ \x3d function(fnName) {\n var win \x3d goog.global[\x22window\x22];\n var originalFn \x3d win[fnName];\n var that \x3d this;\n win[fnName] \x3d function(fn, time) {\n if (typeof fn \x3d\x3d\x3d \x22string\x22) {\n fn \x3d goog.partial(goog.globalEval, fn);\n }\n arguments[0] \x3d fn \x3d that.protectEntryPoint(fn);\n if (originalFn.apply) {\n return originalFn.apply(this, arguments);\n } else {\n var callback \x3d fn;\n if (arguments.length \x3e 2) {\n var args \x3d Array.prototype.slice.call(arguments, 2);\n callback \x3d function() {\n fn.apply(this, args);\n };\n }\n return originalFn(callback, time);\n }\n };\n win[fnName][this.getFunctionIndex_(false)] \x3d originalFn;\n};\ngoog.debug.ErrorHandler.prototype.setWrapErrors \x3d function(wrapErrors) {\n this.wrapErrors_ \x3d wrapErrors;\n};\ngoog.debug.ErrorHandler.prototype.setPrefixErrorMessages \x3d function(prefixErrorMessages) {\n this.prefixErrorMessages_ \x3d prefixErrorMessages;\n};\ngoog.debug.ErrorHandler.prototype.disposeInternal \x3d function() {\n var win \x3d goog.global[\x22window\x22];\n win.setTimeout \x3d this.unwrap(win.setTimeout);\n win.setInterval \x3d this.unwrap(win.setInterval);\n goog.debug.ErrorHandler.base(this, \x22disposeInternal\x22);\n};\ngoog.debug.ErrorHandler.ProtectedFunctionError \x3d function(cause) {\n var message \x3d goog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX + (cause \x26\x26 cause.message ? String(cause.message) : String(cause));\n goog.debug.ErrorHandler.ProtectedFunctionError.base(this, \x22constructor\x22, message, cause);\n var stack \x3d cause \x26\x26 cause.stack;\n if (stack \x26\x26 typeof stack \x3d\x3d\x3d \x22string\x22) {\n this.stack \x3d stack;\n }\n};\ngoog.inherits(goog.debug.ErrorHandler.ProtectedFunctionError, goog.debug.Error);\ngoog.debug.ErrorHandler.ProtectedFunctionError.MESSAGE_PREFIX \x3d \x22Error in protected function: \x22;\n"); +SHADOW_ENV.evalLoad("goog.events.eventtarget.js", true , "goog.provide(\x22goog.events.EventTarget\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.events\x22);\ngoog.require(\x22goog.events.Event\x22);\ngoog.require(\x22goog.events.Listenable\x22);\ngoog.require(\x22goog.events.ListenerMap\x22);\ngoog.require(\x22goog.object\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.EventTarget \x3d function() {\n goog.Disposable.call(this);\n this.eventTargetListeners_ \x3d new goog.events.ListenerMap(this);\n this.actualEventTarget_ \x3d this;\n this.parentEventTarget_ \x3d null;\n};\ngoog.inherits(goog.events.EventTarget, goog.Disposable);\ngoog.events.Listenable.addImplementation(goog.events.EventTarget);\ngoog.events.EventTarget.MAX_ANCESTORS_ \x3d 1000;\ngoog.events.EventTarget.prototype.getParentEventTarget \x3d function() {\n return this.parentEventTarget_;\n};\ngoog.events.EventTarget.prototype.setParentEventTarget \x3d function(parent) {\n this.parentEventTarget_ \x3d parent;\n};\ngoog.events.EventTarget.prototype.addEventListener \x3d function(type, handler, opt_capture, opt_handlerScope) {\n goog.events.listen(this, type, handler, opt_capture, opt_handlerScope);\n};\ngoog.events.EventTarget.prototype.removeEventListener \x3d function(type, handler, opt_capture, opt_handlerScope) {\n goog.events.unlisten(this, type, handler, opt_capture, opt_handlerScope);\n};\ngoog.events.EventTarget.prototype.dispatchEvent \x3d function(e) {\n this.assertInitialized_();\n var ancestorsTree, ancestor \x3d this.getParentEventTarget();\n if (ancestor) {\n ancestorsTree \x3d [];\n var ancestorCount \x3d 1;\n for (; ancestor; ancestor \x3d ancestor.getParentEventTarget()) {\n ancestorsTree.push(ancestor);\n goog.asserts.assert(++ancestorCount \x3c goog.events.EventTarget.MAX_ANCESTORS_, \x22infinite loop\x22);\n }\n }\n return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_, e, ancestorsTree);\n};\ngoog.events.EventTarget.prototype.disposeInternal \x3d function() {\n goog.events.EventTarget.superClass_.disposeInternal.call(this);\n this.removeAllListeners();\n this.parentEventTarget_ \x3d null;\n};\ngoog.events.EventTarget.prototype.listen \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n this.assertInitialized_();\n return this.eventTargetListeners_.add(String(type), listener, false, opt_useCapture, opt_listenerScope);\n};\ngoog.events.EventTarget.prototype.listenOnce \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n return this.eventTargetListeners_.add(String(type), listener, true, opt_useCapture, opt_listenerScope);\n};\ngoog.events.EventTarget.prototype.unlisten \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n return this.eventTargetListeners_.remove(String(type), listener, opt_useCapture, opt_listenerScope);\n};\ngoog.events.EventTarget.prototype.unlistenByKey \x3d function(key) {\n return this.eventTargetListeners_.removeByKey(key);\n};\ngoog.events.EventTarget.prototype.removeAllListeners \x3d function(opt_type) {\n if (!this.eventTargetListeners_) {\n return 0;\n }\n return this.eventTargetListeners_.removeAll(opt_type);\n};\ngoog.events.EventTarget.prototype.fireListeners \x3d function(type, capture, eventObject) {\n var listenerArray \x3d this.eventTargetListeners_.listeners[String(type)];\n if (!listenerArray) {\n return true;\n }\n listenerArray \x3d listenerArray.concat();\n var rv \x3d true;\n for (var i \x3d 0; i \x3c listenerArray.length; ++i) {\n var listener \x3d listenerArray[i];\n if (listener \x26\x26 !listener.removed \x26\x26 listener.capture \x3d\x3d capture) {\n var listenerFn \x3d listener.listener;\n var listenerHandler \x3d listener.handler || listener.src;\n if (listener.callOnce) {\n this.unlistenByKey(listener);\n }\n rv \x3d listenerFn.call(listenerHandler, eventObject) !\x3d\x3d false \x26\x26 rv;\n }\n }\n return rv \x26\x26 !eventObject.defaultPrevented;\n};\ngoog.events.EventTarget.prototype.getListeners \x3d function(type, capture) {\n return this.eventTargetListeners_.getListeners(String(type), capture);\n};\ngoog.events.EventTarget.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n return this.eventTargetListeners_.getListener(String(type), listener, capture, opt_listenerScope);\n};\ngoog.events.EventTarget.prototype.hasListener \x3d function(opt_type, opt_capture) {\n var id \x3d opt_type !\x3d\x3d undefined ? String(opt_type) : undefined;\n return this.eventTargetListeners_.hasListener(id, opt_capture);\n};\ngoog.events.EventTarget.prototype.setTargetForTesting \x3d function(target) {\n this.actualEventTarget_ \x3d target;\n};\ngoog.events.EventTarget.prototype.assertInitialized_ \x3d function() {\n goog.asserts.assert(this.eventTargetListeners_, \x22Event target is not initialized. Did you call the superclass \x22 + \x22(goog.events.EventTarget) constructor?\x22);\n};\ngoog.events.EventTarget.dispatchEventInternal_ \x3d function(target, e, opt_ancestorsTree) {\n var type \x3d e.type || e;\n if (typeof e \x3d\x3d\x3d \x22string\x22) {\n e \x3d new goog.events.Event(e, target);\n } else if (!(e instanceof goog.events.Event)) {\n var oldEvent \x3d e;\n e \x3d new goog.events.Event(type, target);\n goog.object.extend(e, oldEvent);\n } else {\n e.target \x3d e.target || target;\n }\n var rv \x3d true, currentTarget;\n if (opt_ancestorsTree) {\n for (var i \x3d opt_ancestorsTree.length - 1; !e.hasPropagationStopped() \x26\x26 i \x3e\x3d 0; i--) {\n currentTarget \x3d e.currentTarget \x3d opt_ancestorsTree[i];\n rv \x3d currentTarget.fireListeners(type, true, e) \x26\x26 rv;\n }\n }\n if (!e.hasPropagationStopped()) {\n currentTarget \x3d e.currentTarget \x3d target;\n rv \x3d currentTarget.fireListeners(type, true, e) \x26\x26 rv;\n if (!e.hasPropagationStopped()) {\n rv \x3d currentTarget.fireListeners(type, false, e) \x26\x26 rv;\n }\n }\n if (opt_ancestorsTree) {\n for (i \x3d 0; !e.hasPropagationStopped() \x26\x26 i \x3c opt_ancestorsTree.length; i++) {\n currentTarget \x3d e.currentTarget \x3d opt_ancestorsTree[i];\n rv \x3d currentTarget.fireListeners(type, false, e) \x26\x26 rv;\n }\n }\n return rv;\n};\n"); +SHADOW_ENV.evalLoad("goog.events.eventhandler.js", true , "goog.provide(\x22goog.events.EventHandler\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.events\x22);\ngoog.require(\x22goog.object\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventTarget\x22);\ngoog.requireType(\x22goog.events.EventWrapper\x22);\ngoog.events.EventHandler \x3d function(opt_scope) {\n goog.Disposable.call(this);\n this.handler_ \x3d opt_scope;\n this.keys_ \x3d {};\n};\ngoog.inherits(goog.events.EventHandler, goog.Disposable);\ngoog.events.EventHandler.typeArray_ \x3d [];\ngoog.events.EventHandler.prototype.listen \x3d function(src, type, opt_fn, opt_options) {\n var self \x3d this;\n return self.listen_(src, type, opt_fn, opt_options);\n};\ngoog.events.EventHandler.prototype.listenWithScope \x3d function(src, type, fn, options, scope) {\n var self \x3d this;\n return self.listen_(src, type, fn, options, scope);\n};\ngoog.events.EventHandler.prototype.listen_ \x3d function(src, type, opt_fn, opt_options, opt_scope) {\n var self \x3d this;\n if (!Array.isArray(type)) {\n if (type) {\n goog.events.EventHandler.typeArray_[0] \x3d type.toString();\n }\n type \x3d goog.events.EventHandler.typeArray_;\n }\n for (var i \x3d 0; i \x3c type.length; i++) {\n var listenerObj \x3d goog.events.listen(src, type[i], opt_fn || self.handleEvent, opt_options || false, opt_scope || self.handler_ || self);\n if (!listenerObj) {\n return self;\n }\n var key \x3d listenerObj.key;\n self.keys_[key] \x3d listenerObj;\n }\n return self;\n};\ngoog.events.EventHandler.prototype.listenOnce \x3d function(src, type, opt_fn, opt_options) {\n var self \x3d this;\n return self.listenOnce_(src, type, opt_fn, opt_options);\n};\ngoog.events.EventHandler.prototype.listenOnceWithScope \x3d function(src, type, fn, capture, scope) {\n var self \x3d this;\n return self.listenOnce_(src, type, fn, capture, scope);\n};\ngoog.events.EventHandler.prototype.listenOnce_ \x3d function(src, type, opt_fn, opt_options, opt_scope) {\n var self \x3d this;\n if (Array.isArray(type)) {\n for (var i \x3d 0; i \x3c type.length; i++) {\n self.listenOnce_(src, type[i], opt_fn, opt_options, opt_scope);\n }\n } else {\n var listenerObj \x3d goog.events.listenOnce(src, type, opt_fn || self.handleEvent, opt_options, opt_scope || self.handler_ || self);\n if (!listenerObj) {\n return self;\n }\n var key \x3d listenerObj.key;\n self.keys_[key] \x3d listenerObj;\n }\n return self;\n};\ngoog.events.EventHandler.prototype.listenWithWrapper \x3d function(src, wrapper, listener, opt_capt) {\n var self \x3d this;\n return self.listenWithWrapper_(src, wrapper, listener, opt_capt);\n};\ngoog.events.EventHandler.prototype.listenWithWrapperAndScope \x3d function(src, wrapper, listener, capture, scope) {\n var self \x3d this;\n return self.listenWithWrapper_(src, wrapper, listener, capture, scope);\n};\ngoog.events.EventHandler.prototype.listenWithWrapper_ \x3d function(src, wrapper, listener, opt_capt, opt_scope) {\n var self \x3d this;\n wrapper.listen(src, listener, opt_capt, opt_scope || self.handler_ || self, self);\n return self;\n};\ngoog.events.EventHandler.prototype.getListenerCount \x3d function() {\n var count \x3d 0;\n for (var key in this.keys_) {\n if (Object.prototype.hasOwnProperty.call(this.keys_, key)) {\n count++;\n }\n }\n return count;\n};\ngoog.events.EventHandler.prototype.unlisten \x3d function(src, type, opt_fn, opt_options, opt_scope) {\n var self \x3d this;\n if (Array.isArray(type)) {\n for (var i \x3d 0; i \x3c type.length; i++) {\n self.unlisten(src, type[i], opt_fn, opt_options, opt_scope);\n }\n } else {\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n var listener \x3d goog.events.getListener(src, type, opt_fn || self.handleEvent, capture, opt_scope || self.handler_ || self);\n if (listener) {\n goog.events.unlistenByKey(listener);\n delete self.keys_[listener.key];\n }\n }\n return self;\n};\ngoog.events.EventHandler.prototype.unlistenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_scope) {\n var self \x3d this;\n wrapper.unlisten(src, listener, opt_capt, opt_scope || self.handler_ || self, self);\n return self;\n};\ngoog.events.EventHandler.prototype.removeAll \x3d function() {\n goog.object.forEach(this.keys_, function(listenerObj, key) {\n if (this.keys_.hasOwnProperty(key)) {\n goog.events.unlistenByKey(listenerObj);\n }\n }, this);\n this.keys_ \x3d {};\n};\ngoog.events.EventHandler.prototype.disposeInternal \x3d function() {\n goog.events.EventHandler.superClass_.disposeInternal.call(this);\n this.removeAll();\n};\ngoog.events.EventHandler.prototype.handleEvent \x3d function(e) {\n throw new Error(\x22EventHandler.handleEvent not implemented\x22);\n};\n"); +SHADOW_ENV.evalLoad("goog.events.eventwrapper.js", true , "goog.provide(\x22goog.events.EventWrapper\x22);\ngoog.requireType(\x22goog.events.EventHandler\x22);\ngoog.requireType(\x22goog.events.ListenableType\x22);\ngoog.events.EventWrapper \x3d function() {\n};\ngoog.events.EventWrapper.prototype.listen \x3d function(src, listener, opt_capt, opt_scope, opt_eventHandler) {\n};\ngoog.events.EventWrapper.prototype.unlisten \x3d function(src, listener, opt_capt, opt_scope, opt_eventHandler) {\n};\n"); +SHADOW_ENV.evalLoad("goog.events.events.js", true , "goog.provide(\x22goog.events\x22);\ngoog.provide(\x22goog.events.CaptureSimulationMode\x22);\ngoog.provide(\x22goog.events.Key\x22);\ngoog.provide(\x22goog.events.ListenableType\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.events.BrowserEvent\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.events.Listenable\x22);\ngoog.require(\x22goog.events.ListenerMap\x22);\ngoog.requireType(\x22goog.debug.ErrorHandler\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.EventWrapper\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listener\x22);\ngoog.events.Key;\ngoog.events.ListenableType;\ngoog.events.LISTENER_MAP_PROP_ \x3d \x22closure_lm_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.onString_ \x3d \x22on\x22;\ngoog.events.onStringMap_ \x3d {};\ngoog.events.CaptureSimulationMode \x3d {OFF_AND_FAIL:0, OFF_AND_SILENT:1, ON:2};\ngoog.events.CAPTURE_SIMULATION_MODE \x3d goog.define(\x22goog.events.CAPTURE_SIMULATION_MODE\x22, 2);\ngoog.events.listenerCountEstimate_ \x3d 0;\ngoog.events.listen \x3d function(src, type, listener, opt_options, opt_handler) {\n if (opt_options \x26\x26 opt_options.once) {\n return goog.events.listenOnce(src, type, listener, opt_options, opt_handler);\n }\n if (Array.isArray(type)) {\n for (var i \x3d 0; i \x3c type.length; i++) {\n goog.events.listen(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n return src.listen(type, listener, capture, opt_handler);\n } else {\n return goog.events.listen_(src, type, listener, false, opt_options, opt_handler);\n }\n};\ngoog.events.listen_ \x3d function(src, type, listener, callOnce, opt_options, opt_handler) {\n if (!type) {\n throw new Error(\x22Invalid event type\x22);\n }\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (!listenerMap) {\n src[goog.events.LISTENER_MAP_PROP_] \x3d listenerMap \x3d new goog.events.ListenerMap(src);\n }\n var listenerObj \x3d listenerMap.add(type, listener, callOnce, capture, opt_handler);\n if (listenerObj.proxy) {\n return listenerObj;\n }\n var proxy \x3d goog.events.getProxy();\n listenerObj.proxy \x3d proxy;\n proxy.src \x3d src;\n proxy.listener \x3d listenerObj;\n if (src.addEventListener) {\n if (!goog.events.BrowserFeature.PASSIVE_EVENTS) {\n opt_options \x3d capture;\n }\n if (opt_options \x3d\x3d\x3d undefined) {\n opt_options \x3d false;\n }\n src.addEventListener(type.toString(), proxy, opt_options);\n } else if (src.attachEvent) {\n src.attachEvent(goog.events.getOnString_(type.toString()), proxy);\n } else if (src.addListener \x26\x26 src.removeListener) {\n goog.asserts.assert(type \x3d\x3d\x3d \x22change\x22, \x22MediaQueryList only has a change event\x22);\n src.addListener(proxy);\n } else {\n throw new Error(\x22addEventListener and attachEvent are unavailable.\x22);\n }\n goog.events.listenerCountEstimate_++;\n return listenerObj;\n};\ngoog.events.getProxy \x3d function() {\n const proxyCallbackFunction \x3d goog.events.handleBrowserEvent_;\n const f \x3d function(eventObject) {\n return proxyCallbackFunction.call(f.src, f.listener, eventObject);\n };\n return f;\n};\ngoog.events.listenOnce \x3d function(src, type, listener, opt_options, opt_handler) {\n if (Array.isArray(type)) {\n for (var i \x3d 0; i \x3c type.length; i++) {\n goog.events.listenOnce(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n return src.listenOnce(type, listener, capture, opt_handler);\n } else {\n return goog.events.listen_(src, type, listener, true, opt_options, opt_handler);\n }\n};\ngoog.events.listenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n wrapper.listen(src, listener, opt_capt, opt_handler);\n};\ngoog.events.unlisten \x3d function(src, type, listener, opt_options, opt_handler) {\n if (Array.isArray(type)) {\n for (var i \x3d 0; i \x3c type.length; i++) {\n goog.events.unlisten(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.unlisten(type, listener, capture, opt_handler);\n }\n if (!src) {\n return false;\n }\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n var listenerObj \x3d listenerMap.getListener(type, listener, capture, opt_handler);\n if (listenerObj) {\n return goog.events.unlistenByKey(listenerObj);\n }\n }\n return false;\n};\ngoog.events.unlistenByKey \x3d function(key) {\n if (typeof key \x3d\x3d\x3d \x22number\x22) {\n return false;\n }\n var listener \x3d key;\n if (!listener || listener.removed) {\n return false;\n }\n var src \x3d listener.src;\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.unlistenByKey(listener);\n }\n var type \x3d listener.type;\n var proxy \x3d listener.proxy;\n if (src.removeEventListener) {\n src.removeEventListener(type, proxy, listener.capture);\n } else if (src.detachEvent) {\n src.detachEvent(goog.events.getOnString_(type), proxy);\n } else if (src.addListener \x26\x26 src.removeListener) {\n src.removeListener(proxy);\n }\n goog.events.listenerCountEstimate_--;\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n listenerMap.removeByKey(listener);\n if (listenerMap.getTypeCount() \x3d\x3d 0) {\n listenerMap.src \x3d null;\n src[goog.events.LISTENER_MAP_PROP_] \x3d null;\n }\n } else {\n listener.markAsRemoved();\n }\n return true;\n};\ngoog.events.unlistenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n wrapper.unlisten(src, listener, opt_capt, opt_handler);\n};\ngoog.events.removeAll \x3d function(obj, opt_type) {\n if (!obj) {\n return 0;\n }\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.removeAllListeners(opt_type);\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n if (!listenerMap) {\n return 0;\n }\n var count \x3d 0;\n var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n for (var type in listenerMap.listeners) {\n if (!typeStr || type \x3d\x3d typeStr) {\n var listeners \x3d listenerMap.listeners[type].concat();\n for (var i \x3d 0; i \x3c listeners.length; ++i) {\n if (goog.events.unlistenByKey(listeners[i])) {\n ++count;\n }\n }\n }\n }\n return count;\n};\ngoog.events.getListeners \x3d function(obj, type, capture) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.getListeners(type, capture);\n } else {\n if (!obj) {\n return [];\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n return listenerMap ? listenerMap.getListeners(type, capture) : [];\n }\n};\ngoog.events.getListener \x3d function(src, type, listener, opt_capt, opt_handler) {\n type \x3d type;\n listener \x3d goog.events.wrapListener(listener);\n var capture \x3d !!opt_capt;\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.getListener(type, listener, capture, opt_handler);\n }\n if (!src) {\n return null;\n }\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n return listenerMap.getListener(type, listener, capture, opt_handler);\n }\n return null;\n};\ngoog.events.hasListener \x3d function(obj, opt_type, opt_capture) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.hasListener(opt_type, opt_capture);\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n return !!listenerMap \x26\x26 listenerMap.hasListener(opt_type, opt_capture);\n};\ngoog.events.expose \x3d function(e) {\n var str \x3d [];\n for (var key in e) {\n if (e[key] \x26\x26 e[key].id) {\n str.push(key + \x22 \\x3d \x22 + e[key] + \x22 (\x22 + e[key].id + \x22)\x22);\n } else {\n str.push(key + \x22 \\x3d \x22 + e[key]);\n }\n }\n return str.join(\x22\\n\x22);\n};\ngoog.events.getOnString_ \x3d function(type) {\n if (type in goog.events.onStringMap_) {\n return goog.events.onStringMap_[type];\n }\n return goog.events.onStringMap_[type] \x3d goog.events.onString_ + type;\n};\ngoog.events.fireListeners \x3d function(obj, type, capture, eventObject) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.fireListeners(type, capture, eventObject);\n }\n return goog.events.fireListeners_(obj, type, capture, eventObject);\n};\ngoog.events.fireListeners_ \x3d function(obj, type, capture, eventObject) {\n var retval \x3d true;\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n if (listenerMap) {\n var listenerArray \x3d listenerMap.listeners[type.toString()];\n if (listenerArray) {\n listenerArray \x3d listenerArray.concat();\n for (var i \x3d 0; i \x3c listenerArray.length; i++) {\n var listener \x3d listenerArray[i];\n if (listener \x26\x26 listener.capture \x3d\x3d capture \x26\x26 !listener.removed) {\n var result \x3d goog.events.fireListener(listener, eventObject);\n retval \x3d retval \x26\x26 result !\x3d\x3d false;\n }\n }\n }\n }\n return retval;\n};\ngoog.events.fireListener \x3d function(listener, eventObject) {\n var listenerFn \x3d listener.listener;\n var listenerHandler \x3d listener.handler || listener.src;\n if (listener.callOnce) {\n goog.events.unlistenByKey(listener);\n }\n return listenerFn.call(listenerHandler, eventObject);\n};\ngoog.events.getTotalListenerCount \x3d function() {\n return goog.events.listenerCountEstimate_;\n};\ngoog.events.dispatchEvent \x3d function(src, e) {\n goog.asserts.assert(goog.events.Listenable.isImplementedBy(src), \x22Can not use goog.events.dispatchEvent with \x22 + \x22non-goog.events.Listenable instance.\x22);\n return src.dispatchEvent(e);\n};\ngoog.events.protectBrowserEventEntryPoint \x3d function(errorHandler) {\n goog.events.handleBrowserEvent_ \x3d errorHandler.protectEntryPoint(goog.events.handleBrowserEvent_);\n};\ngoog.events.handleBrowserEvent_ \x3d function(listener, opt_evt) {\n if (listener.removed) {\n return true;\n }\n return goog.events.fireListener(listener, new goog.events.BrowserEvent(opt_evt, this));\n};\ngoog.events.markIeEvent_ \x3d function(e) {\n var useReturnValue \x3d false;\n if (e.keyCode \x3d\x3d 0) {\n try {\n e.keyCode \x3d -1;\n return;\n } catch (ex) {\n useReturnValue \x3d true;\n }\n }\n if (useReturnValue || e.returnValue \x3d\x3d undefined) {\n e.returnValue \x3d true;\n }\n};\ngoog.events.isMarkedIeEvent_ \x3d function(e) {\n return e.keyCode \x3c 0 || e.returnValue !\x3d undefined;\n};\ngoog.events.uniqueIdCounter_ \x3d 0;\ngoog.events.getUniqueId \x3d function(identifier) {\n return identifier + \x22_\x22 + goog.events.uniqueIdCounter_++;\n};\ngoog.events.getListenerMap_ \x3d function(src) {\n var listenerMap \x3d src[goog.events.LISTENER_MAP_PROP_];\n return listenerMap instanceof goog.events.ListenerMap ? listenerMap : null;\n};\ngoog.events.LISTENER_WRAPPER_PROP_ \x3d \x22__closure_events_fn_\x22 + (Math.random() * 1e9 \x3e\x3e\x3e 0);\ngoog.events.wrapListener \x3d function(listener) {\n goog.asserts.assert(listener, \x22Listener can not be null.\x22);\n if (typeof listener \x3d\x3d\x3d \x22function\x22) {\n return listener;\n }\n goog.asserts.assert(listener.handleEvent, \x22An object listener must have handleEvent method.\x22);\n if (!listener[goog.events.LISTENER_WRAPPER_PROP_]) {\n listener[goog.events.LISTENER_WRAPPER_PROP_] \x3d function(e) {\n return listener.handleEvent(e);\n };\n }\n return listener[goog.events.LISTENER_WRAPPER_PROP_];\n};\ngoog.debug.entryPointRegistry.register(function(transformer) {\n goog.events.handleBrowserEvent_ \x3d transformer(goog.events.handleBrowserEvent_);\n});\n"); +SHADOW_ENV.evalLoad("quil.sketch.js", true , "goog.provide(\x27quil.sketch\x27);\ngoog.scope(function(){\n quil.sketch.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nquil.sketch._STAR_applet_STAR_ \x3d null;\nquil.sketch.current_applet \x3d (function quil$sketch$current_applet(){\nreturn quil.sketch._STAR_applet_STAR_;\n});\nquil.sketch.rendering_modes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22java2d\x22,\x22java2d\x22,166099237),(p5.prototype[\x22JAVA2D\x22]),new cljs.core.Keyword(null,\x22p2d\x22,\x22p2d\x22,-2106175755),(p5.prototype[\x22P2D\x22]),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),(p5.prototype[\x22P3D\x22]),new cljs.core.Keyword(null,\x22opengl\x22,\x22opengl\x22,-614998103),(p5.prototype[\x22OPENGL\x22])], null);\nquil.sketch.resolve_renderer \x3d (function quil$sketch$resolve_renderer(mode){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),mode)){\nreturn (p5.prototype[\x22WEBGL\x22]);\n} else {\nreturn quil.util.resolve_constant_key(mode,quil.sketch.rendering_modes);\n}\n});\nquil.sketch.set_size \x3d (function quil$sketch$set_size(applet,width,height){\nvar temp__5804__auto__ \x3d applet.quil_canvas;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar el \x3d temp__5804__auto__;\nvar inner_canvas \x3d el.querySelector(\x22canvas\x22);\napplet.resizeCanvas(width,height);\n\ninner_canvas.setAttribute(\x22width\x22,width);\n\ninner_canvas.setAttribute(\x22height\x22,height);\n\n(inner_canvas.style[\x22width\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(width),\x22px\x22].join(\x27\x27));\n\n(inner_canvas.style[\x22height\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(height),\x22px\x22].join(\x27\x27));\n\n(applet.width \x3d window.parseInt(goog.style.getComputedStyle(inner_canvas,\x22width\x22)));\n\nreturn (applet.height \x3d window.parseInt(goog.style.getComputedStyle(inner_canvas,\x22height\x22)));\n} else {\nreturn null;\n}\n});\nquil.sketch.size \x3d (function quil$sketch$size(var_args){\nvar G__22995 \x3d arguments.length;\nswitch (G__22995) {\ncase 2:\nreturn quil.sketch.size.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.sketch.size.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.sketch.size.cljs$core$IFn$_invoke$arity$2 \x3d (function (width,height){\nreturn quil.sketch.current_applet().createCanvas((width | (0)),(height | (0)));\n}));\n\n(quil.sketch.size.cljs$core$IFn$_invoke$arity$3 \x3d (function (width,height,mode){\nreturn quil.sketch.current_applet().createCanvas((width | (0)),(height | (0)),quil.sketch.resolve_renderer(mode));\n}));\n\n(quil.sketch.size.cljs$lang$maxFixedArity \x3d 3);\n\nquil.sketch.bind_handlers \x3d (function quil$sketch$bind_handlers(prc,opts){\nvar seq__22999 \x3d cljs.core.seq(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22keyPressed\x22,\x22keyPressed\x22,1791025256),new cljs.core.Keyword(null,\x22mouseOut\x22,\x22mouseOut\x22,-386669045),new cljs.core.Keyword(null,\x22mouseDragged\x22,\x22mouseDragged\x22,129975181),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),new cljs.core.Keyword(null,\x22mouseWheel\x22,\x22mouseWheel\x22,-1057803856),new cljs.core.Keyword(null,\x22keyReleased\x22,\x22keyReleased\x22,541714964),new cljs.core.Keyword(null,\x22mouseClicked\x22,\x22mouseClicked\x22,1764302965),new cljs.core.Keyword(null,\x22mouseReleased\x22,\x22mouseReleased\x22,1116234838),new cljs.core.Keyword(null,\x22mousePressed\x22,\x22mousePressed\x22,1776186454),new cljs.core.Keyword(null,\x22mouseMoved\x22,\x22mouseMoved\x22,-1936954058),new cljs.core.Keyword(null,\x22mouseOver\x22,\x22mouseOver\x22,-1334461930),new cljs.core.Keyword(null,\x22keyTyped\x22,\x22keyTyped\x22,1437329399),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674)],[new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),new cljs.core.Keyword(null,\x22mouse-exited\x22,\x22mouse-exited\x22,-483205244),new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439),new cljs.core.Keyword(null,\x22key-released\x22,\x22key-released\x22,215919828),new cljs.core.Keyword(null,\x22mouse-clicked\x22,\x22mouse-clicked\x22,-199339421),new cljs.core.Keyword(null,\x22mouse-released\x22,\x22mouse-released\x22,-664480061),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),new cljs.core.Keyword(null,\x22mouse-moved\x22,\x22mouse-moved\x22,-1918152310),new cljs.core.Keyword(null,\x22mouse-entered\x22,\x22mouse-entered\x22,811350322),new cljs.core.Keyword(null,\x22key-typed\x22,\x22key-typed\x22,-876037597),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674)]));\nvar chunk__23000 \x3d null;\nvar count__23001 \x3d (0);\nvar i__23002 \x3d (0);\nwhile(true){\nif((i__23002 \x3c count__23001)){\nvar vec__23041 \x3d chunk__23000.cljs$core$IIndexed$_nth$arity$2(null,i__23002);\nvar processing_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23041,(0),null);\nvar quil_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23041,(1),null);\nvar temp__5804__auto___23212 \x3d (opts.cljs$core$IFn$_invoke$arity$1 ? opts.cljs$core$IFn$_invoke$arity$1(quil_name) : opts.call(null,quil_name));\nif(cljs.core.truth_(temp__5804__auto___23212)){\nvar handler_23213 \x3d temp__5804__auto___23212;\n(prc[cljs.core.name(processing_name)] \x3d ((function (seq__22999,chunk__23000,count__23001,i__23002,handler_23213,temp__5804__auto___23212,vec__23041,processing_name,quil_name){\nreturn (function() { \nvar G__23214__delegate \x3d function (args){\nvar _STAR_applet_STAR__orig_val__23045 \x3d quil.sketch._STAR_applet_STAR_;\nvar _STAR_applet_STAR__temp_val__23046 \x3d prc;\n(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__temp_val__23046);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(handler_23213,args);\n}finally {(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__orig_val__23045);\n}};\nvar G__23214 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23215__i \x3d 0, G__23215__a \x3d new Array(arguments.length - 0);\nwhile (G__23215__i \x3c G__23215__a.length) {G__23215__a[G__23215__i] \x3d arguments[G__23215__i + 0]; ++G__23215__i;}\n args \x3d new cljs.core.IndexedSeq(G__23215__a,0,null);\n} \nreturn G__23214__delegate.call(this,args);};\nG__23214.cljs$lang$maxFixedArity \x3d 0;\nG__23214.cljs$lang$applyTo \x3d (function (arglist__23217){\nvar args \x3d cljs.core.seq(arglist__23217);\nreturn G__23214__delegate(args);\n});\nG__23214.cljs$core$IFn$_invoke$arity$variadic \x3d G__23214__delegate;\nreturn G__23214;\n})()\n;})(seq__22999,chunk__23000,count__23001,i__23002,handler_23213,temp__5804__auto___23212,vec__23041,processing_name,quil_name))\n);\n} else {\n}\n\n\nvar G__23218 \x3d seq__22999;\nvar G__23219 \x3d chunk__23000;\nvar G__23220 \x3d count__23001;\nvar G__23221 \x3d (i__23002 + (1));\nseq__22999 \x3d G__23218;\nchunk__23000 \x3d G__23219;\ncount__23001 \x3d G__23220;\ni__23002 \x3d G__23221;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22999);\nif(temp__5804__auto__){\nvar seq__22999__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22999__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22999__$1);\nvar G__23222 \x3d cljs.core.chunk_rest(seq__22999__$1);\nvar G__23223 \x3d c__5568__auto__;\nvar G__23224 \x3d cljs.core.count(c__5568__auto__);\nvar G__23225 \x3d (0);\nseq__22999 \x3d G__23222;\nchunk__23000 \x3d G__23223;\ncount__23001 \x3d G__23224;\ni__23002 \x3d G__23225;\ncontinue;\n} else {\nvar vec__23049 \x3d cljs.core.first(seq__22999__$1);\nvar processing_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23049,(0),null);\nvar quil_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23049,(1),null);\nvar temp__5804__auto___23226__$1 \x3d (opts.cljs$core$IFn$_invoke$arity$1 ? opts.cljs$core$IFn$_invoke$arity$1(quil_name) : opts.call(null,quil_name));\nif(cljs.core.truth_(temp__5804__auto___23226__$1)){\nvar handler_23227 \x3d temp__5804__auto___23226__$1;\n(prc[cljs.core.name(processing_name)] \x3d ((function (seq__22999,chunk__23000,count__23001,i__23002,handler_23227,temp__5804__auto___23226__$1,vec__23049,processing_name,quil_name,seq__22999__$1,temp__5804__auto__){\nreturn (function() { \nvar G__23228__delegate \x3d function (args){\nvar _STAR_applet_STAR__orig_val__23053 \x3d quil.sketch._STAR_applet_STAR_;\nvar _STAR_applet_STAR__temp_val__23054 \x3d prc;\n(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__temp_val__23054);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(handler_23227,args);\n}finally {(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__orig_val__23053);\n}};\nvar G__23228 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__23229__i \x3d 0, G__23229__a \x3d new Array(arguments.length - 0);\nwhile (G__23229__i \x3c G__23229__a.length) {G__23229__a[G__23229__i] \x3d arguments[G__23229__i + 0]; ++G__23229__i;}\n args \x3d new cljs.core.IndexedSeq(G__23229__a,0,null);\n} \nreturn G__23228__delegate.call(this,args);};\nG__23228.cljs$lang$maxFixedArity \x3d 0;\nG__23228.cljs$lang$applyTo \x3d (function (arglist__23230){\nvar args \x3d cljs.core.seq(arglist__23230);\nreturn G__23228__delegate(args);\n});\nG__23228.cljs$core$IFn$_invoke$arity$variadic \x3d G__23228__delegate;\nreturn G__23228;\n})()\n;})(seq__22999,chunk__23000,count__23001,i__23002,handler_23227,temp__5804__auto___23226__$1,vec__23049,processing_name,quil_name,seq__22999__$1,temp__5804__auto__))\n);\n} else {\n}\n\n\nvar G__23232 \x3d cljs.core.next(seq__22999__$1);\nvar G__23233 \x3d null;\nvar G__23234 \x3d (0);\nvar G__23235 \x3d (0);\nseq__22999 \x3d G__23232;\nchunk__23000 \x3d G__23233;\ncount__23001 \x3d G__23234;\ni__23002 \x3d G__23235;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nquil.sketch.in_fullscreen_QMARK_ \x3d (function quil$sketch$in_fullscreen_QMARK_(){\nvar or__5045__auto__ \x3d document.fullscreenElement;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn document.mozFullScreenElement;\n}\n});\n/**\n * Adds fullscreen support for the provided `p5` object.\n * Fullscreen is enabled when the user presses `F11`. We turn\n * the sketch `\x3ccanvas\x3e` element to fullscreen storing the old size\n * in an `atom`. When the user cancels fullscreen (`F11` or `Esc`)\n * we resize the sketch back to the old size.\n */\nquil.sketch.add_fullscreen_support \x3d (function quil$sketch$add_fullscreen_support(applet){\nvar old_size \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar adjust_canvas_size \x3d (function (){\nif(cljs.core.truth_(quil.sketch.in_fullscreen_QMARK_())){\ncljs.core.reset_BANG_(old_size,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [applet.width,applet.height], null));\n\nreturn quil.sketch.set_size(applet,window.screen.width,window.screen.height);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(quil.sketch.set_size,applet,cljs.core.deref(old_size));\n}\n});\ngoog.events.listen(window,goog.events.EventType.KEYDOWN,(function (event){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(event.key,\x22F11\x22)) \x26\x26 (cljs.core.not(quil.sketch.in_fullscreen_QMARK_())))){\nevent.preventDefault();\n\nvar canvas \x3d applet.quil_canvas;\nif(cljs.core.truth_(canvas.requestFullscreen)){\nreturn canvas.requestFullscreen();\n} else {\nif(cljs.core.truth_(canvas.mozRequestFullScreen)){\nreturn canvas.mozRequestFullScreen();\n} else {\nreturn console.warn(\x22Fullscreen mode is not supported in current browser.\x22);\n\n}\n}\n} else {\nreturn null;\n}\n}));\n\ngoog.events.listen(document,\x22fullscreenchange\x22,adjust_canvas_size);\n\ngoog.events.listen(document,\x22mozfullscreenchange\x22,adjust_canvas_size);\n\nreturn goog.events.listen(document,\x22fullscreenerror\x22,(function (p1__23067_SHARP_){\nreturn console.error(\x22Error while switching to/from fullscreen: \x22,p1__23067_SHARP_);\n}));\n});\nquil.sketch.make_sketch \x3d (function quil$sketch$make_sketch(options){\nvar opts \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(500),(300)], null)], null),(function (p1__23070_SHARP_){\nreturn (p1__23070_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__23070_SHARP_.cljs$core$IFn$_invoke$arity$1(options) : p1__23070_SHARP_.call(null,options));\n})(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.cons(quil.middlewares.deprecated_options.deprecated_options,new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504).cljs$core$IFn$_invoke$arity$2(options,cljs.core.PersistentVector.EMPTY))))], 0));\nvar sketch_size \x3d new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007).cljs$core$IFn$_invoke$arity$1(opts);\nvar renderer \x3d new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071).cljs$core$IFn$_invoke$arity$1(opts);\nvar features \x3d cljs.core.set(new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(opts));\nvar setup \x3d (function (){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.sketch.size,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(sketch_size,(cljs.core.truth_(renderer)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [renderer], null):cljs.core.PersistentVector.EMPTY)));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22settings\x22,\x22settings\x22,1556144875).cljs$core$IFn$_invoke$arity$1(opts))){\nvar fexpr__23074_23248 \x3d new cljs.core.Keyword(null,\x22settings\x22,\x22settings\x22,1556144875).cljs$core$IFn$_invoke$arity$1(opts);\n(fexpr__23074_23248.cljs$core$IFn$_invoke$arity$0 ? fexpr__23074_23248.cljs$core$IFn$_invoke$arity$0() : fexpr__23074_23248.call(null));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512).cljs$core$IFn$_invoke$arity$1(opts))){\nvar fexpr__23075 \x3d new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512).cljs$core$IFn$_invoke$arity$1(opts);\nreturn (fexpr__23075.cljs$core$IFn$_invoke$arity$0 ? fexpr__23075.cljs$core$IFn$_invoke$arity$0() : fexpr__23075.call(null));\n} else {\nreturn null;\n}\n});\nvar mouse_wheel \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar wheel_handler \x3d temp__5804__auto__;\nreturn (function (evt){\nvar G__23078 \x3d quil.sketch.goog$module$goog$object.get(evt,\x22delta\x22);\nreturn (wheel_handler.cljs$core$IFn$_invoke$arity$1 ? wheel_handler.cljs$core$IFn$_invoke$arity$1(G__23078) : wheel_handler.call(null,G__23078));\n});\n} else {\nreturn null;\n}\n})();\nvar opts__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(opts,new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),setup,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439),mouse_wheel], 0));\nvar sketch \x3d (function (prc){\nquil.sketch.bind_handlers(prc,opts__$1);\n\n(prc.quil \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null));\n\nreturn (prc.quil_internal_state \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(quil.util.initial_internal_state));\n});\nreturn sketch;\n});\nquil.sketch.destroy_previous_sketch \x3d (function quil$sketch$destroy_previous_sketch(host_elem){\nvar temp__5804__auto__ \x3d host_elem.processing_obj;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar proc_obj \x3d temp__5804__auto__;\nreturn proc_obj.remove();\n} else {\nreturn null;\n}\n});\nquil.sketch.sketch \x3d (function quil$sketch$sketch(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23250 \x3d arguments.length;\nvar i__5770__auto___23251 \x3d (0);\nwhile(true){\nif((i__5770__auto___23251 \x3c len__5769__auto___23250)){\nargs__5775__auto__.push((arguments[i__5770__auto___23251]));\n\nvar G__23252 \x3d (i__5770__auto___23251 + (1));\ni__5770__auto___23251 \x3d G__23252;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic \x3d (function (opts){\nvar opts_map \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,opts);\nvar host_elem \x3d new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167).cljs$core$IFn$_invoke$arity$1(opts_map);\nvar renderer \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071).cljs$core$IFn$_invoke$arity$1(opts_map);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22p2d\x22,\x22p2d\x22,-2106175755);\n}\n})();\nvar host_elem__$1 \x3d ((typeof host_elem \x3d\x3d\x3d \x27string\x27)?document.getElementById(host_elem):host_elem);\nif(cljs.core.truth_(host_elem__$1)){\nif(cljs.core.truth_(host_elem__$1.processing_context)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(renderer,host_elem__$1.processing_context)){\n} else {\nconsole.warn(\x22WARNING: Using different context on one canvas!\x22);\n}\n} else {\n(host_elem__$1.processing_context \x3d renderer);\n}\n\nquil.sketch.destroy_previous_sketch(host_elem__$1);\n\nvar proc_obj \x3d (new p5(quil.sketch.make_sketch(opts_map),host_elem__$1));\n(host_elem__$1.processing_obj \x3d proc_obj);\n\n(proc_obj.quil_canvas \x3d host_elem__$1);\n\nquil.sketch.add_fullscreen_support(proc_obj);\n\nreturn proc_obj;\n} else {\nreturn console.error((cljs.core.truth_(new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167).cljs$core$IFn$_invoke$arity$1(opts_map))?[\x22ERROR: Cannot find host element: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167).cljs$core$IFn$_invoke$arity$1(opts_map))].join(\x27\x27):\x22ERROR: Cannot create sketch. :host is not specified or element not found.\x22));\n}\n}));\n\n(quil.sketch.sketch.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(quil.sketch.sketch.cljs$lang$applyTo \x3d (function (seq23088){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq23088));\n}));\n\nquil.sketch.sketch_init_list \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.List.EMPTY);\nquil.sketch.empty_body_QMARK_ \x3d (function quil$sketch$empty_body_QMARK_(){\nvar child \x3d document.body.childNodes;\nreturn (child.length \x3c\x3d (1));\n});\nquil.sketch.add_canvas \x3d (function quil$sketch$add_canvas(canvas_id){\nvar canvas \x3d document.createElement(\x22canvas\x22);\ncanvas.setAttribute(\x22id\x22,canvas_id);\n\nreturn document.body.appendChild(canvas);\n});\nquil.sketch.init_sketches \x3d (function quil$sketch$init_sketches(){\nvar add_elem_QMARK__23253 \x3d quil.sketch.empty_body_QMARK_();\nvar seq__23111_23254 \x3d cljs.core.seq(cljs.core.deref(quil.sketch.sketch_init_list));\nvar chunk__23112_23255 \x3d null;\nvar count__23113_23256 \x3d (0);\nvar i__23114_23257 \x3d (0);\nwhile(true){\nif((i__23114_23257 \x3c count__23113_23256)){\nvar sk_23258 \x3d chunk__23112_23255.cljs$core$IIndexed$_nth$arity$2(null,i__23114_23257);\nif(add_elem_QMARK__23253){\nquil.sketch.add_canvas(new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279).cljs$core$IFn$_invoke$arity$1(sk_23258));\n} else {\n}\n\nvar fexpr__23125_23260 \x3d new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(sk_23258);\n(fexpr__23125_23260.cljs$core$IFn$_invoke$arity$0 ? fexpr__23125_23260.cljs$core$IFn$_invoke$arity$0() : fexpr__23125_23260.call(null));\n\n\nvar G__23261 \x3d seq__23111_23254;\nvar G__23262 \x3d chunk__23112_23255;\nvar G__23263 \x3d count__23113_23256;\nvar G__23264 \x3d (i__23114_23257 + (1));\nseq__23111_23254 \x3d G__23261;\nchunk__23112_23255 \x3d G__23262;\ncount__23113_23256 \x3d G__23263;\ni__23114_23257 \x3d G__23264;\ncontinue;\n} else {\nvar temp__5804__auto___23265 \x3d cljs.core.seq(seq__23111_23254);\nif(temp__5804__auto___23265){\nvar seq__23111_23266__$1 \x3d temp__5804__auto___23265;\nif(cljs.core.chunked_seq_QMARK_(seq__23111_23266__$1)){\nvar c__5568__auto___23267 \x3d cljs.core.chunk_first(seq__23111_23266__$1);\nvar G__23268 \x3d cljs.core.chunk_rest(seq__23111_23266__$1);\nvar G__23269 \x3d c__5568__auto___23267;\nvar G__23270 \x3d cljs.core.count(c__5568__auto___23267);\nvar G__23271 \x3d (0);\nseq__23111_23254 \x3d G__23268;\nchunk__23112_23255 \x3d G__23269;\ncount__23113_23256 \x3d G__23270;\ni__23114_23257 \x3d G__23271;\ncontinue;\n} else {\nvar sk_23272 \x3d cljs.core.first(seq__23111_23266__$1);\nif(add_elem_QMARK__23253){\nquil.sketch.add_canvas(new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279).cljs$core$IFn$_invoke$arity$1(sk_23272));\n} else {\n}\n\nvar fexpr__23126_23274 \x3d new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(sk_23272);\n(fexpr__23126_23274.cljs$core$IFn$_invoke$arity$0 ? fexpr__23126_23274.cljs$core$IFn$_invoke$arity$0() : fexpr__23126_23274.call(null));\n\n\nvar G__23275 \x3d cljs.core.next(seq__23111_23266__$1);\nvar G__23276 \x3d null;\nvar G__23277 \x3d (0);\nvar G__23278 \x3d (0);\nseq__23111_23254 \x3d G__23275;\nchunk__23112_23255 \x3d G__23276;\ncount__23113_23256 \x3d G__23277;\ni__23114_23257 \x3d G__23278;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reset_BANG_(quil.sketch.sketch_init_list,cljs.core.PersistentVector.EMPTY);\n});\nquil.sketch.add_sketch_to_init_list \x3d (function quil$sketch$add_sketch_to_init_list(sk){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(quil.sketch.sketch_init_list,cljs.core.conj,sk);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(document.readyState,\x22complete\x22)){\nreturn quil.sketch.init_sketches();\n} else {\nreturn null;\n}\n});\ngoog.events.listenOnce(window,goog.events.EventType.LOAD,quil.sketch.init_sketches);\n"); +SHADOW_ENV.evalLoad("quil.core.js", true , "goog.provide(\x27quil.core\x27);\nquil.core._STAR_graphics_STAR_ \x3d null;\n/**\n * Graphics currently used for drawing. By default it is sketch graphics,\n * but if called inside [[with-graphics]] macro - graphics passed to the macro\n * is returned. This method should be used if you need to call some methods\n * that are not implemented by quil.\n * \n * Example:\n * ```\n * (.beginDraw (current-graphics))\n * ```\n */\nquil.core.current_graphics \x3d (function quil$core$current_graphics(){\nvar or__5045__auto__ \x3d quil.core._STAR_graphics_STAR_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn quil.sketch.current_applet();\n}\n});\nquil.core.arc_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22open\x22,\x22open\x22,-1763596448),(p5.prototype[\x22OPEN\x22]),new cljs.core.Keyword(null,\x22chord\x22,\x22chord\x22,-696248342),(p5.prototype[\x22CHORD\x22]),new cljs.core.Keyword(null,\x22pie\x22,\x22pie\x22,1530441672),(p5.prototype[\x22PIE\x22])], null);\n\nquil.core.angle_modes \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22radians\x22,\x22radians\x22,1835725084),(p5.prototype[\x22RADIANS\x22]),new cljs.core.Keyword(null,\x22degrees\x22,\x22degrees\x22,2015169884),(p5.prototype[\x22DEGREES\x22])], null);\n\nquil.core.shape_modes \x3d new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22points\x22,\x22points\x22,-1486596883),(p5.prototype[\x22POINTS\x22]),new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781),(p5.prototype[\x22LINES\x22]),new cljs.core.Keyword(null,\x22triangles\x22,\x22triangles\x22,-1525417058),(p5.prototype[\x22TRIANGLES\x22]),new cljs.core.Keyword(null,\x22triangle-fan\x22,\x22triangle-fan\x22,1743150739),(p5.prototype[\x22TRIANGLE_FAN\x22]),new cljs.core.Keyword(null,\x22triangle-strip\x22,\x22triangle-strip\x22,221845500),(p5.prototype[\x22TRIANGLE_STRIP\x22]),new cljs.core.Keyword(null,\x22quads\x22,\x22quads\x22,1347497505),(p5.prototype[\x22QUADS\x22]),new cljs.core.Keyword(null,\x22quad-strip\x22,\x22quad-strip\x22,-1297270686),(p5.prototype[\x22QUAD_STRIP\x22])], null);\n\nquil.core.blend_modes \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22burn\x22,\x22burn\x22,-458179293),new cljs.core.Keyword(null,\x22screen\x22,\x22screen\x22,1990059748),new cljs.core.Keyword(null,\x22darkest\x22,\x22darkest\x22,68197253),new cljs.core.Keyword(null,\x22dodge\x22,\x22dodge\x22,-1556666427),new cljs.core.Keyword(null,\x22replace\x22,\x22replace\x22,-786587770),new cljs.core.Keyword(null,\x22overlay\x22,\x22overlay\x22,-139131598),new cljs.core.Keyword(null,\x22difference\x22,\x22difference\x22,1916101396),new cljs.core.Keyword(null,\x22exclusion\x22,\x22exclusion\x22,531897910),new cljs.core.Keyword(null,\x22hard-light\x22,\x22hard-light\x22,-37591145),new cljs.core.Keyword(null,\x22multiply\x22,\x22multiply\x22,-1036907048),new cljs.core.Keyword(null,\x22lightest\x22,\x22lightest\x22,-2043115912),new cljs.core.Keyword(null,\x22blend\x22,\x22blend\x22,249565561),new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739),new cljs.core.Keyword(null,\x22soft-light\x22,\x22soft-light\x22,513207899),new cljs.core.Keyword(null,\x22subtract\x22,\x22subtract\x22,2136988635)],[(p5.prototype[\x22BURN\x22]),(p5.prototype[\x22SCREEN\x22]),(p5.prototype[\x22DARKEST\x22]),(p5.prototype[\x22DODGE\x22]),(p5.prototype[\x22REPLACE\x22]),(p5.prototype[\x22OVERLAY\x22]),(p5.prototype[\x22DIFFERENCE\x22]),(p5.prototype[\x22EXCLUSION\x22]),(p5.prototype[\x22HARD_LIGHT\x22]),(p5.prototype[\x22MULTIPLY\x22]),(p5.prototype[\x22LIGHTEST\x22]),(p5.prototype[\x22BLEND\x22]),(p5.prototype[\x22ADD\x22]),(p5.prototype[\x22SOFT_LIGHT\x22]),(p5.prototype[\x22SUBTRACT\x22])]);\n\nquil.core.color_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22rgb\x22,\x22rgb\x22,1432123467),(p5.prototype[\x22RGB\x22]),new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),(p5.prototype[\x22HSB\x22]),new cljs.core.Keyword(null,\x22hsl\x22,\x22hsl\x22,-1282948596),(p5.prototype[\x22HSL\x22])], null);\n\nquil.core.image_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22rgb\x22,\x22rgb\x22,1432123467),(p5.prototype[\x22RGB\x22]),new cljs.core.Keyword(null,\x22argb\x22,\x22argb\x22,633844107),(p5.prototype[\x22ARGB\x22]),new cljs.core.Keyword(null,\x22alpha\x22,\x22alpha\x22,-1574982441),(p5.prototype[\x22ALPHA\x22])], null);\n\nquil.core.ellipse_modes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22]),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(p5.prototype[\x22RADIUS\x22]),new cljs.core.Keyword(null,\x22corner\x22,\x22corner\x22,1296717125),(p5.prototype[\x22CORNER\x22]),new cljs.core.Keyword(null,\x22corners\x22,\x22corners\x22,-137817903),(p5.prototype[\x22CORNERS\x22])], null);\n\nquil.core.hint_options \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22disable-stroke-perspective\x22,\x22disable-stroke-perspective\x22,479198433),new cljs.core.Keyword(null,\x22disable-depth-mask\x22,\x22disable-depth-mask\x22,3298562),new cljs.core.Keyword(null,\x22enable-depth-test\x22,\x22enable-depth-test\x22,1519326084),new cljs.core.Keyword(null,\x22enable-depth-sort\x22,\x22enable-depth-sort\x22,-383089627),new cljs.core.Keyword(null,\x22disable-texture-mipmaps\x22,\x22disable-texture-mipmaps\x22,1697917541),new cljs.core.Keyword(null,\x22disable-stroke-pure\x22,\x22disable-stroke-pure\x22,735493926),new cljs.core.Keyword(null,\x22disable-depth-test\x22,\x22disable-depth-test\x22,284606407),new cljs.core.Keyword(null,\x22enable-stroke-perspective\x22,\x22enable-stroke-perspective\x22,-259923319),new cljs.core.Keyword(null,\x22disable-optimized-stroke\x22,\x22disable-optimized-stroke\x22,74038544),new cljs.core.Keyword(null,\x22enable-opengl-errors\x22,\x22enable-opengl-errors\x22,89998962),new cljs.core.Keyword(null,\x22enable-stroke-pure\x22,\x22enable-stroke-pure\x22,881345587),new cljs.core.Keyword(null,\x22enable-async-saveframe\x22,\x22enable-async-saveframe\x22,-1817644525),new cljs.core.Keyword(null,\x22enable-depth-mask\x22,\x22enable-depth-mask\x22,872785875),new cljs.core.Keyword(null,\x22enable-optimized-stroke\x22,\x22enable-optimized-stroke\x22,1537575253),new cljs.core.Keyword(null,\x22disable-opengl-errors\x22,\x22disable-opengl-errors\x22,506822839),new cljs.core.Keyword(null,\x22disable-async-saveframe\x22,\x22disable-async-saveframe\x22,-1346138728),new cljs.core.Keyword(null,\x22disable-depth-sort\x22,\x22disable-depth-sort\x22,-1568352839),new cljs.core.Keyword(null,\x22enable-texture-mipmaps\x22,\x22enable-texture-mipmaps\x22,1241892671)],[(p5.prototype[\x22DISABLE_STROKE_PERSPECTIVE\x22]),(p5.prototype[\x22DISABLE_DEPTH_MASK\x22]),(p5.prototype[\x22ENABLE_DEPTH_TEST\x22]),(p5.prototype[\x22ENABLE_DEPTH_SORT\x22]),(p5.prototype[\x22DISABLE_TEXTURE_MIPMAPS\x22]),(p5.prototype[\x22DISABLE_STROKE_PURE\x22]),(p5.prototype[\x22DISABLE_DEPTH_TEST\x22]),(p5.prototype[\x22ENABLE_STROKE_PERSPECTIVE\x22]),(p5.prototype[\x22DISABLE_OPTIMIZED_STROKE\x22]),(p5.prototype[\x22ENABLE_OPENGL_ERRORS\x22]),(p5.prototype[\x22ENABLE_STROKE_PURE\x22]),(p5.prototype[\x22ENABLE_ASYNC_SAVEFRAME\x22]),(p5.prototype[\x22ENABLE_DEPTH_MASK\x22]),(p5.prototype[\x22ENABLE_OPTIMIZED_STROKE\x22]),(p5.prototype[\x22DISABLE_OPENGL_ERRORS\x22]),(p5.prototype[\x22DISABLE_ASYNC_SAVEFRAME\x22]),(p5.prototype[\x22DISABLE_DEPTH_SORT\x22]),(p5.prototype[\x22ENABLE_TEXTURE_MIPMAPS\x22])]);\n\nquil.core.image_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22corner\x22,\x22corner\x22,1296717125),(p5.prototype[\x22CORNER\x22]),new cljs.core.Keyword(null,\x22corners\x22,\x22corners\x22,-137817903),(p5.prototype[\x22CORNERS\x22]),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22])], null);\n\nquil.core.rect_modes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22corner\x22,\x22corner\x22,1296717125),(p5.prototype[\x22CORNER\x22]),new cljs.core.Keyword(null,\x22corners\x22,\x22corners\x22,-137817903),(p5.prototype[\x22CORNERS\x22]),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22]),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(p5.prototype[\x22RADIUS\x22])], null);\n\nquil.core.p_shape_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22corner\x22,\x22corner\x22,1296717125),(p5.prototype[\x22CORNER\x22]),new cljs.core.Keyword(null,\x22corners\x22,\x22corners\x22,-137817903),(p5.prototype[\x22CORNERS\x22]),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22])], null);\n\nquil.core.stroke_cap_modes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22square\x22,\x22square\x22,812434677),(p5.prototype[\x22SQUARE\x22]),new cljs.core.Keyword(null,\x22round\x22,\x22round\x22,2009433328),(p5.prototype[\x22ROUND\x22]),new cljs.core.Keyword(null,\x22project\x22,\x22project\x22,1124394579),(p5.prototype[\x22PROJECT\x22]),new cljs.core.Keyword(null,\x22model\x22,\x22model\x22,331153215),(p5.prototype[\x22MODEL\x22])], null);\n\nquil.core.stroke_join_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22miter\x22,\x22miter\x22,327727052),(p5.prototype[\x22MITER\x22]),new cljs.core.Keyword(null,\x22bevel\x22,\x22bevel\x22,2090515654),(p5.prototype[\x22BEVEL\x22]),new cljs.core.Keyword(null,\x22round\x22,\x22round\x22,2009433328),(p5.prototype[\x22ROUND\x22])], null);\n\nquil.core.horizontal_alignment_modes \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),(p5.prototype[\x22LEFT\x22]),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22]),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),(p5.prototype[\x22RIGHT\x22])], null);\n\nquil.core.vertical_alignment_modes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),(p5.prototype[\x22TOP\x22]),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),(p5.prototype[\x22BOTTOM\x22]),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),(p5.prototype[\x22CENTER\x22]),new cljs.core.Keyword(null,\x22baseline\x22,\x22baseline\x22,1151033280),(p5.prototype[\x22BASELINE\x22])], null);\n\nquil.core.text_styles \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22normal\x22,\x22normal\x22,-1519123858),(p5.prototype[\x22NORMAL\x22]),new cljs.core.Keyword(null,\x22italic\x22,\x22italic\x22,32599196),(p5.prototype[\x22ITALIC\x22]),new cljs.core.Keyword(null,\x22bold\x22,\x22bold\x22,-116809535),(p5.prototype[\x22BOLD\x22]),new cljs.core.Keyword(null,\x22bolditalic\x22,\x22bolditalic\x22,-1629061788),(p5.prototype[\x22BOLDITALIC\x22])], null);\n\nquil.core.texture_modes \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),(p5.prototype[\x22IMAGE\x22]),new cljs.core.Keyword(null,\x22normal\x22,\x22normal\x22,-1519123858),(p5.prototype[\x22NORMAL\x22])], null);\n\nquil.core.texture_wrap_modes \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22clamp\x22,\x22clamp\x22,1803814940),(p5.prototype[\x22CLAMP\x22]),new cljs.core.Keyword(null,\x22repeat\x22,\x22repeat\x22,832692087),(p5.prototype[\x22REPEAT\x22])], null);\n\nquil.core.filter_modes \x3d new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22threshold\x22,\x22threshold\x22,204221583),(p5.prototype[\x22THRESHOLD\x22]),new cljs.core.Keyword(null,\x22gray\x22,\x22gray\x22,1013268388),(p5.prototype[\x22GRAY\x22]),new cljs.core.Keyword(null,\x22invert\x22,\x22invert\x22,1553577503),(p5.prototype[\x22INVERT\x22]),new cljs.core.Keyword(null,\x22posterize\x22,\x22posterize\x22,-148251901),(p5.prototype[\x22POSTERIZE\x22]),new cljs.core.Keyword(null,\x22blur\x22,\x22blur\x22,-453500461),(p5.prototype[\x22BLUR\x22]),new cljs.core.Keyword(null,\x22opaque\x22,\x22opaque\x22,-1243552654),(p5.prototype[\x22OPAQUE\x22]),new cljs.core.Keyword(null,\x22erode\x22,\x22erode\x22,1539530618),(p5.prototype[\x22ERODE\x22]),new cljs.core.Keyword(null,\x22dilate\x22,\x22dilate\x22,1504745153),(p5.prototype[\x22DILATE\x22])], null);\n\nquil.core.cursor_modes \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22arrow\x22,\x22arrow\x22,1071351425),(p5.prototype[\x22ARROW\x22]),new cljs.core.Keyword(null,\x22cross\x22,\x22cross\x22,194557789),(p5.prototype[\x22CROSS\x22]),new cljs.core.Keyword(null,\x22hand\x22,\x22hand\x22,791601933),(p5.prototype[\x22HAND\x22]),new cljs.core.Keyword(null,\x22move\x22,\x22move\x22,-2110884309),(p5.prototype[\x22MOVE\x22]),new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),(p5.prototype[\x22TEXT\x22]),new cljs.core.Keyword(null,\x22wait\x22,\x22wait\x22,-260664777),(p5.prototype[\x22WAIT\x22])], null);\nquil.core.PI \x3d Math.PI;\nquil.core.HALF_PI \x3d (quil.core.PI / 2.0);\nquil.core.THIRD_PI \x3d (quil.core.PI / 3.0);\nquil.core.QUARTER_PI \x3d (quil.core.PI / 4.0);\nquil.core.TWO_PI \x3d (quil.core.PI * 2.0);\nquil.core.DEG_TO_RAD \x3d (quil.core.PI / 180.0);\nquil.core.RAD_TO_DEG \x3d (180.0 / quil.core.PI);\nquil.core.KEY_CODES \x3d cljs.core.PersistentHashMap.fromArrays([(121),(39),(157),(119),(116),(113),(40),(117),(118),(122),(17),(115),(112),(123),(16),(120),(38),(18),(114),(37)],[new cljs.core.Keyword(null,\x22f10\x22,\x22f10\x22,627525541),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22command\x22,\x22command\x22,-894540724),new cljs.core.Keyword(null,\x22f8\x22,\x22f8\x22,-2141475484),new cljs.core.Keyword(null,\x22f5\x22,\x22f5\x22,1587057387),new cljs.core.Keyword(null,\x22f2\x22,\x22f2\x22,396168596),new cljs.core.Keyword(null,\x22down\x22,\x22down\x22,1565245570),new cljs.core.Keyword(null,\x22f6\x22,\x22f6\x22,2103080604),new cljs.core.Keyword(null,\x22f7\x22,\x22f7\x22,356150168),new cljs.core.Keyword(null,\x22f11\x22,\x22f11\x22,-1417398799),new cljs.core.Keyword(null,\x22control\x22,\x22control\x22,1892578036),new cljs.core.Keyword(null,\x22f4\x22,\x22f4\x22,990968764),new cljs.core.Keyword(null,\x22f1\x22,\x22f1\x22,1714532389),new cljs.core.Keyword(null,\x22f12\x22,\x22f12\x22,853352790),new cljs.core.Keyword(null,\x22shift\x22,\x22shift\x22,997140064),new cljs.core.Keyword(null,\x22f9\x22,\x22f9\x22,704633338),new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113),new cljs.core.Keyword(null,\x22alt\x22,\x22alt\x22,-3214426),new cljs.core.Keyword(null,\x22f3\x22,\x22f3\x22,1954829043),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)]);\nquil.core.KEY_MAP \x3d new cljs.core.PersistentArrayMap(null, 1, [\x22 \x22,new cljs.core.Keyword(null,\x22space\x22,\x22space\x22,348133475)], null);\n/**\n * Returns sketch object by id of canvas element of sketch.\n */\nquil.core.get_sketch_by_id \x3d (function quil$core$get_sketch_by_id(id){\nvar temp__5802__auto__ \x3d document.getElementById(id);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar elem \x3d temp__5802__auto__;\nreturn elem.processing_obj;\n} else {\nreturn null;\n}\n});\n/**\n * Retrieve sketch-specific state-atom. All changes to the\n * atom will be reflected in the state.\n * \n * Example:\n * ```\n * (set-state! :foo 1)\n * (state :foo) ;\x3d\x3e 1\n * (swap! (state-atom) update-in [:foo] inc)\n * (state :foo) ;\x3d\x3e 2\n * ```\n */\nquil.core.state_atom \x3d (function quil$core$state_atom(){\nreturn quil.sketch.current_applet().quil;\n});\n/**\n * Returns atom representing internal sketch state. Can be used by\n * functions to save implementation-specific state. This state is\n * supposed to be visible to users.\n */\nquil.core.internal_state \x3d (function quil$core$internal_state(){\nreturn quil.sketch.current_applet().quil_internal_state;\n});\n/**\n * Retrieve sketch-specific state by `key`. Must initially call\n * [[set-state!]] to store state. If no parameter is passed the whole\n * state map is returned.\n * \n * Example:\n * ```\n * (set-state! :foo 1)\n * (state :foo) ;\x3d\x3e 1\n * (state) ;\x3d\x3e {:foo 1}\n * ```\n */\nquil.core.state \x3d (function quil$core$state(var_args){\nvar G__16604 \x3d arguments.length;\nswitch (G__16604) {\ncase 0:\nreturn quil.core.state.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.state.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.state.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.deref(quil.core.state_atom());\n}));\n\n(quil.core.state.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar state \x3d quil.core.state.cljs$core$IFn$_invoke$arity$0();\nif(cljs.core.contains_QMARK_(state,key)){\n} else {\nthrow Error([\x22Unable to find state with key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(key)].join(\x27\x27));\n}\n\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(state,key);\n}));\n\n(quil.core.state.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Set sketch-specific state. May only be called once (ideally in the\n * setup function). Subsequent calls have no effect.\n * \n * Example:\n * ```\n * (set-state! :foo 1 :bar (atom true) :baz (/ (width) 2))\n * ```\n */\nquil.core.set_state_BANG_ \x3d (function quil$core$set_state_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16865 \x3d arguments.length;\nvar i__5770__auto___16866 \x3d (0);\nwhile(true){\nif((i__5770__auto___16866 \x3c len__5769__auto___16865)){\nargs__5775__auto__.push((arguments[i__5770__auto___16866]));\n\nvar G__16869 \x3d (i__5770__auto___16866 + (1));\ni__5770__auto___16866 \x3d G__16869;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn quil.core.set_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(quil.core.set_state_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state_vals){\nvar state_STAR_ \x3d quil.core.state_atom();\nif(cljs.core.truth_(cljs.core.deref(state_STAR_))){\nreturn null;\n} else {\nvar state_map \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,state_vals);\nreturn cljs.core.reset_BANG_(state_STAR_,state_map);\n}\n}));\n\n(quil.core.set_state_BANG_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(quil.core.set_state_BANG_.cljs$lang$applyTo \x3d (function (seq16605){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq16605));\n}));\n\n/**\n * Set a uniform variables inside a shader to modify the effect\n * while the program is running.\n */\nquil.core.set_uniform \x3d (function quil$core$set_uniform(shader,uniform_name,data){\nreturn shader.setUniform(uniform_name,data);\n});\n/**\n * Calculates the absolute value (magnitude) of a number. The\n * absolute value of a number is always positive. Dynamically casts to\n * an `int` or `float` appropriately for Clojure.\n */\nquil.core.abs \x3d (function quil$core$abs(n){\nreturn quil.sketch.current_applet().abs(n);\n});\n/**\n * The inverse of [[cos]], returns the arc cosine of a value. This\n * function expects the values in the range of -1 to 1 and values are\n * returned in the range 0 to `Math/PI` (3.1415927).\n */\nquil.core.acos \x3d (function quil$core$acos(n){\nreturn quil.sketch.current_applet().acos(n);\n});\n/**\n * Extracts the alpha value from a color.\n */\nquil.core.alpha \x3d (function quil$core$alpha(color){\nreturn quil.core.current_graphics().alpha(color);\n});\n/**\n * Sets the ambient reflectance for shapes drawn to the screen. This\n * is combined with the ambient light component of environment. The\n * color components set through the parameters define the\n * reflectance. For example in the default [[color-mode]], setting `r\x3d255,\n * g\x3d126, b\x3d0`, would cause all the red light to reflect and half of the\n * green light to reflect. Used in combination with [[emissive]], [[specular]],\n * and [[shininess]] in setting the material properties of shapes.\n */\nquil.core.ambient \x3d (function quil$core$ambient(var_args){\nvar G__16607 \x3d arguments.length;\nswitch (G__16607) {\ncase 1:\nreturn quil.core.ambient.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn quil.core.ambient.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.ambient.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nreturn quil.core.current_graphics().ambientMaterial(gray);\n}));\n\n(quil.core.ambient.cljs$core$IFn$_invoke$arity$3 \x3d (function (r,g,b){\nreturn quil.core.current_graphics().ambientMaterial(r,g,b);\n}));\n\n(quil.core.ambient.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Adds an ambient light. Ambient light doesn\x27t come from a specific direction,\n * the rays of light have bounced around so much that objects are\n * evenly lit from all sides. Ambient lights are almost always used in\n * combination with other types of lights. Lights need to be included\n * in the draw to remain persistent in a looping program. Placing them\n * in the setup of a looping program will cause them to only have an\n * effect the first time through the loop. The effect of the\n * parameters is determined by the current [[color-mode]].\n */\nquil.core.ambient_light \x3d (function quil$core$ambient_light(var_args){\nvar G__16609 \x3d arguments.length;\nswitch (G__16609) {\ncase 3:\nreturn quil.core.ambient_light.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 6:\nreturn quil.core.ambient_light.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.ambient_light.cljs$core$IFn$_invoke$arity$3 \x3d (function (red,green,blue){\nreturn quil.core.current_graphics().ambientLight(red,green,blue);\n}));\n\n(quil.core.ambient_light.cljs$core$IFn$_invoke$arity$6 \x3d (function (red,green,blue,x,y,z){\nreturn quil.core.current_graphics().ambientLight(red,green,blue,x,y,z);\n}));\n\n(quil.core.ambient_light.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Sets the current mode of p5 to given `mode`.\n * Options are:\n * * `:radians` **(default)**\n * * `:degrees`\n */\nquil.core.angle_mode \x3d (function quil$core$angle_mode(mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.angle_modes);\nreturn quil.core.current_graphics().angleMode(mode__$1);\n});\n/**\n * Multiplies the current matrix by the one specified through the\n * parameters. This is very slow because it will try to calculate the\n * inverse of the transform, so avoid it whenever possible. The\n * equivalent function in OpenGL is `glMultMatrix()`.\n * \n * Note that cljs has only 2d version and arguments differ see\n * https://p5js.org/reference/#/p5/applyMatrix\n */\nquil.core.apply_matrix \x3d (function quil$core$apply_matrix(a,b,c,d,e,f){\nreturn quil.core.current_graphics().applyMatrix(a,b,c,d,e,f);\n});\n/**\n * Draws an arc in the display window. Arcs are drawn along the outer\n * edge of an ellipse defined by the `x`, `y`, `width` and `height`\n * parameters. The origin or the arc\x27s ellipse may be changed with the\n * [[ellipse-mode]] function. The `start` and `stop` parameters specify\n * the angles at which to draw the arc. The `mode` is either `:open`,\n * `:chord` or `:pie`.\n */\nquil.core.arc \x3d (function quil$core$arc(var_args){\nvar G__16611 \x3d arguments.length;\nswitch (G__16611) {\ncase 6:\nreturn quil.core.arc.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn quil.core.arc.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.arc.cljs$core$IFn$_invoke$arity$6 \x3d (function (x,y,width,height,start,stop){\nreturn quil.core.current_graphics().arc(x,y,width,height,start,stop);\n}));\n\n(quil.core.arc.cljs$core$IFn$_invoke$arity$7 \x3d (function (x,y,width,height,start,stop,mode){\nvar arc_mode \x3d quil.util.resolve_constant_key(mode,quil.core.arc_modes);\nreturn quil.core.current_graphics().arc(x,y,width,height,start,stop,arc_mode);\n}));\n\n(quil.core.arc.cljs$lang$maxFixedArity \x3d 7);\n\n/**\n * The inverse of [[sin]], returns the arc sine of a value. This function\n * expects the values in the range of -1 to 1 and values are returned\n * in the range `-PI/2` to `PI/2`.\n */\nquil.core.asin \x3d (function quil$core$asin(n){\nreturn quil.sketch.current_applet().asin(n);\n});\n/**\n * The inverse of [[tan]], returns the arc tangent of a value. This\n * function expects the values in the range of -Infinity to\n * Infinity (exclusive) and values are returned in the range `-PI/2` to\n * `PI/2`.\n */\nquil.core.atan \x3d (function quil$core$atan(n){\nreturn quil.sketch.current_applet().atan(n);\n});\n/**\n * Calculates the angle (in radians) from a specified point to the\n * coordinate origin as measured from the positive x-axis. Values are\n * returned as a `float` in the range from `PI` to `-PI`. The [[atan2]] function\n * is most often used for orienting geometry to the position of the\n * cursor. Note: The `y` coordinate of the point is the first parameter\n * and the `x` coordinate is the second due to the structure of\n * calculating the tangent.\n */\nquil.core.atan2 \x3d (function quil$core$atan2(y,x){\nreturn quil.sketch.current_applet().atan2(y,x);\n});\n/**\n * Sets the color used for the background of the Processing\n * window. The default background is light gray. In the draw function,\n * the background color is used to clear the display window at the\n * beginning of each frame.\n * \n * It is not possible to use transparency (alpha) in background colors\n * with the main drawing surface, however they will work properly with\n * [[create-graphics]]. Converts args to `floats`.\n */\nquil.core.background \x3d (function quil$core$background(var_args){\nvar G__16613 \x3d arguments.length;\nswitch (G__16613) {\ncase 1:\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.background.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nreturn quil.core.current_graphics().background(gray);\n}));\n\n(quil.core.background.cljs$core$IFn$_invoke$arity$2 \x3d (function (gray,alpha){\nreturn quil.core.current_graphics().background(gray,alpha);\n}));\n\n(quil.core.background.cljs$core$IFn$_invoke$arity$3 \x3d (function (r,g,b){\nreturn quil.core.current_graphics().background(r,g,b);\n}));\n\n(quil.core.background.cljs$core$IFn$_invoke$arity$4 \x3d (function (r,g,b,a){\nreturn quil.core.current_graphics().background(r,g,b,a);\n}));\n\n(quil.core.background.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Specify an image to be used as the background for a sketch. Its\n * width and height must be the same size as the sketch window. Images\n * used as background will ignore the current [[tint]] setting.\n */\nquil.core.background_image \x3d (function quil$core$background_image(img){\nreturn quil.core.current_graphics().background(img);\n});\n/**\n * Use the [[begin-contour]] and [[end-contour]] function to create\n * negative shapes within shapes. These functions can only be used\n * within a [[begin-shape]]/[[end-shape]] pair and they only work with\n * the `:p2d` and `:p3d` renderers.\n */\nquil.core.begin_contour \x3d (function quil$core$begin_contour(){\nreturn quil.core.current_graphics().beginContour();\n});\n/**\n * Enables the creation of complex forms. [[begin-shape]] begins recording\n * vertices. With no mode specified, the shape can be any irregular\n * polygon.\n * \n * The available mode keywords are `:points`, `:lines`, `:triangles`,\n * `:triangle-fan`, `:triangle-strip`,\n * `:quads`, `:quad-strip`.\n * \n * After calling the [[begin-shape]] function, a series of vertex commands\n * must follow. To stop drawing the shape, call [[end-shape]]. The [[vertex]]\n * function with two parameters specifies a position in 2D and the\n * [[vertex]] function with three parameters specifies a position in\n * 3D. Each shape will be outlined with the [[current-stroke]] color and\n * filled with the [[fill]] color.\n * \n * Transformations such as [[translate]], [[rotate]], and [[scale]] do not work\n * within [[begin-shape]]. It is also not possible to use other shapes,\n * such as [[ellipse]] or [[rect]] within [[begin-shape]].\n */\nquil.core.begin_shape \x3d (function quil$core$begin_shape(var_args){\nvar G__16615 \x3d arguments.length;\nswitch (G__16615) {\ncase 0:\nreturn quil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.begin_shape.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.begin_shape.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().beginShape();\n}));\n\n(quil.core.begin_shape.cljs$core$IFn$_invoke$arity$1 \x3d (function (mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.shape_modes);\nreturn quil.core.current_graphics().beginShape((mode__$1 | (0)));\n}));\n\n(quil.core.begin_shape.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Draws a Bezier curve on the screen. These curves are defined by a\n * series of anchor and control points. The first two parameters\n * specify the first anchor point and the last two parameters specify\n * the other anchor point. The middle parameters specify the control\n * points which define the shape of the curve.\n */\nquil.core.bezier \x3d (function quil$core$bezier(var_args){\nvar G__16617 \x3d arguments.length;\nswitch (G__16617) {\ncase 8:\nreturn quil.core.bezier.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 12:\nreturn quil.core.bezier.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.bezier.cljs$core$IFn$_invoke$arity$8 \x3d (function (x1,y1,cx1,cy1,cx2,cy2,x2,y2){\nreturn quil.core.current_graphics().bezier(x1,y1,cx1,cy1,cx2,cy2,x2,y2);\n}));\n\n(quil.core.bezier.cljs$core$IFn$_invoke$arity$12 \x3d (function (x1,y1,z1,cx1,cy1,cz1,cx2,cy2,cz2,x2,y2,z2){\nreturn quil.core.current_graphics().bezier(x1,y1,z1,cx1,cy1,cz1,cx2,cy2,cz2,x2,y2,z2);\n}));\n\n(quil.core.bezier.cljs$lang$maxFixedArity \x3d 12);\n\n/**\n * Sets the resolution at which Beziers display. The **default** value is\n * 20. This function is only useful when using the `:p3d` or `:opengl`\n * renderer as the default (`:java2d`) renderer does not use this\n * information.\n */\nquil.core.bezier_detail \x3d (function quil$core$bezier_detail(detail){\nreturn quil.core.current_graphics().bezierDetail((detail | (0)));\n});\n/**\n * Evaluates the Bezier at point `t` for points `a`, `b`, `c`, `d`. The\n * parameter `t` varies between 0 and 1, `a` and `d` are points on the curve,\n * and `b` and `c` are the control points. This can be done once with the x\n * coordinates and a second time with the y coordinates to get the\n * location of a bezier curve at `t`.\n */\nquil.core.bezier_point \x3d (function quil$core$bezier_point(a,b,c,d,t){\nreturn quil.core.current_graphics().bezierPoint(a,b,c,d,t);\n});\n/**\n * Calculates the tangent of a point on a Bezier curve.\n * (See http://en.wikipedia.org/wiki/Tangent)\n */\nquil.core.bezier_tangent \x3d (function quil$core$bezier_tangent(a,b,c,d,t){\nreturn quil.core.current_graphics().bezierTangent(a,b,c,d,t);\n});\n/**\n * Specifies vertex coordinates for Bezier curves. Each call to\n * [[bezier-vertex]] defines the position of two control points and one\n * anchor point of a Bezier curve, adding a new segment to a line or\n * shape. The first time [[bezier-vertex]] is used within a [[begin-shape]]\n * call, it must be prefaced with a call to [[vertex]] to set the first\n * anchor point. This function must be used between [[begin-shape]] and\n * [[end-shape]] and only when there is no parameter specified to\n * [[begin-shape]].\n */\nquil.core.bezier_vertex \x3d (function quil$core$bezier_vertex(var_args){\nvar G__16619 \x3d arguments.length;\nswitch (G__16619) {\ncase 6:\nreturn quil.core.bezier_vertex.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 9:\nreturn quil.core.bezier_vertex.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.bezier_vertex.cljs$core$IFn$_invoke$arity$6 \x3d (function (cx1,cy1,cx2,cy2,x,y){\nreturn quil.core.current_graphics().bezierVertex(cx1,cy1,cx2,cy2,x,y);\n}));\n\n(quil.core.bezier_vertex.cljs$core$IFn$_invoke$arity$9 \x3d (function (cx1,cy1,cz1,cx2,cy2,cz2,x,y,z){\nreturn quil.core.current_graphics().bezierVertex(cx1,cy1,cz1,cx2,cy2,cz2,x,y,z);\n}));\n\n(quil.core.bezier_vertex.cljs$lang$maxFixedArity \x3d 9);\n\n/**\n * Returns a `string` representing the binary value of an `int`, `char` or\n * `byte`. When converting an `int` to a `string`, it is possible to specify\n * the number of digits used.\n */\nquil.core.binary \x3d (function quil$core$binary(var_args){\nvar G__16621 \x3d arguments.length;\nswitch (G__16621) {\ncase 1:\nreturn quil.core.binary.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.binary.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.binary.cljs$core$IFn$_invoke$arity$1 \x3d (function (val){\nreturn val.toString((2));\n}));\n\n(quil.core.binary.cljs$core$IFn$_invoke$arity$2 \x3d (function (val,num_digits){\nvar full \x3d quil.core.binary.cljs$core$IFn$_invoke$arity$1(val);\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(full,(cljs.core.count(full) - num_digits),cljs.core.count(full));\n}));\n\n(quil.core.binary.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Blends a region of pixels from one image into another with full alpha\n * channel support. If `src-img` is not specified it defaults to\n * [[current-graphics]]. If `dest-img` is not specified it defaults to\n * [[current-graphics]].\n * \n * Note: it is recommended to use [[blend-mode]] instead of [[blend]].\n * \n * Available blend modes are:\n * \n * * `:blend` - linear interpolation of colours: C \x3d A*factor + B\n * * `:add` - additive blending with white clip:\n * C \x3d min(A*factor + B, 255)\n * * `:darkest` - only the darkest colour succeeds:\n * C \x3d min(A*factor, B)\n * * `:lightest` - only the lightest colour succeeds:\n * C \x3d max(A*factor, B)\n * * `:difference` - subtract colors from underlying image.\n * * `:exclusion` - similar to `:difference`, but less extreme.\n * * `:multiply` - Multiply the colors, result will always be darker.\n * * `:screen` - Opposite multiply, uses inverse values of the colors.\n * * `:overlay` - A mix of `:multiply` and `:screen`. Multiplies dark values\n * and screens light values.\n * * `:hard-light` - `:screen` when greater than 50% gray, `:multiply` when\n * lower.\n * * `:soft-light` - Mix of `:darkest` and `:lightest`. Works like :overlay,\n * but not as harsh.\n * * `:dodge` - Lightens light tones and increases contrast, ignores\n * darks.\n * Called \x22Color Dodge\x22 in Illustrator and Photoshop.\n * * `:burn` - Darker areas are applied, increasing contrast, ignores\n * lights. Called \x22Color Burn\x22 in Illustrator and\n * Photoshop.\n * \n * In clj the following blend modes are also supported:\n * `:subtract` - subtractive blending with black clip:\n * C \x3d max(B - A*factor, 0)\n * \n * In cljs the following blend modes are also supported:\n * `:replace` - the pixels entirely replace the others and don\x27t utilize\n * alpha (transparency) values.\n */\nquil.core.blend \x3d (function quil$core$blend(var_args){\nvar G__16623 \x3d arguments.length;\nswitch (G__16623) {\ncase 9:\nreturn quil.core.blend.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase 10:\nreturn quil.core.blend.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase 11:\nreturn quil.core.blend.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.blend.cljs$core$IFn$_invoke$arity$9 \x3d (function (x,y,width,height,dx,dy,dwidth,dheight,mode){\nreturn quil.core.blend.cljs$core$IFn$_invoke$arity$11(quil.core.current_graphics(),quil.core.current_graphics(),x,y,width,height,dx,dy,dwidth,dheight,mode);\n}));\n\n(quil.core.blend.cljs$core$IFn$_invoke$arity$10 \x3d (function (src_img,x,y,width,height,dx,dy,dwidth,dheight,mode){\nreturn quil.core.blend.cljs$core$IFn$_invoke$arity$11(src_img,quil.core.current_graphics(),x,y,width,height,dx,dy,dwidth,dheight,mode);\n}));\n\n(quil.core.blend.cljs$core$IFn$_invoke$arity$11 \x3d (function (src_img,dest_img,x,y,width,height,dx,dy,dwidth,dheight,mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.blend_modes);\nreturn dest_img.blend(src_img,(x | (0)),(y | (0)),(width | (0)),(height | (0)),(dx | (0)),(dy | (0)),(dwidth | (0)),(dheight | (0)),mode__$1);\n}));\n\n(quil.core.blend.cljs$lang$maxFixedArity \x3d 11);\n\n/**\n * Blends the pixels in the display window according to the defined `mode`.\n * There is a choice of the following modes to blend the source pixels (A)\n * with the ones of pixels already in the display window (B):\n * \n * * `:blend` - linear interpolation of colours: `C \x3d A*factor + B`\n * * `:add` - additive blending with white clip:\n * `C \x3d min(A*factor + B, 255)`\n * * `:subtract` - subtractive blending with black clip:\n * `C \x3d max(B - A*factor, 0)`\n * * `:darkest` - only the darkest colour succeeds:\n * `C \x3d min(A*factor, B)`\n * * `:lightest` - only the lightest colour succeeds:\n * `C \x3d max(A*factor, B)`\n * * `:difference` - subtract colors from underlying image.\n * * `:exclusion` - similar to `:difference`, but less extreme.\n * * `:multiply` - multiply the colors, result will always be darker.\n * * `:screen` - opposite of `:multiply`, uses inverse values of the colors.\n * * `:replace` - the pixels entirely replace the others and don\x27t utilize\n * alpha (transparency) values.\n * * `:overlay` - mix of `:multiply` and `:screen`. Multiplies dark values,\n * and screens light values.\n * * `:hard-light` - `:screen` when greater than 50% gray, `:multiply` when\n * lower.\n * * `:soft-light` - mix of `:darkest` and `:lightest`. Works like :overlay, but\n * not as harsh.\n * * `:dodge` - lightens light tones and increases contrast, ignores darks.\n * * `:burn` - darker areas are applied, increasing contrast, ignores\n * lights.\n * \n * Note: in clj `:hard-light`, `:soft-light`, `:overlay`, `:dodge`, `:burn`\n * modes are not supported. In cljs `:subtract` mode is not supported.\n * \n * `factor` is the alpha value of the pixel being drawn\n */\nquil.core.blend_mode \x3d (function quil$core$blend_mode(mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.blend_modes);\nreturn quil.core.current_graphics().blendMode(mode__$1);\n});\n/**\n * Extracts the blue value from a color, scaled to match current color-mode.\n * Returns a `float`.\n */\nquil.core.blue \x3d (function quil$core$blue(color){\nreturn quil.core.current_graphics().blue(quil.util.clj_unchecked_int(color));\n});\n/**\n * Creates an extruded rectangle.\n */\nquil.core.box \x3d (function quil$core$box(var_args){\nvar G__16625 \x3d arguments.length;\nswitch (G__16625) {\ncase 1:\nreturn quil.core.box.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn quil.core.box.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.box.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn quil.core.current_graphics().box(size);\n}));\n\n(quil.core.box.cljs$core$IFn$_invoke$arity$3 \x3d (function (width,height,depth){\nreturn quil.core.current_graphics().box(width,height,depth);\n}));\n\n(quil.core.box.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Extracts the brightness value from a color. Returns a `float`.\n */\nquil.core.brightness \x3d (function quil$core$brightness(color){\nreturn quil.core.current_graphics().brightness(quil.util.clj_unchecked_int(color));\n});\n/**\n * Sets the position of the camera through setting the eye position,\n * the center of the scene, and which axis is facing upward. Moving the\n * eye position and the direction it is pointing (the center of the\n * scene) allows the images to be seen from different angles. The\n * version without any parameters sets the camera to the default\n * position, pointing to the center of the display window with the Y\n * axis as up. The default values are:\n * \n * * `eyeX` - `(/ (width) 2.0)`\n * * `eyeY` - `(/ (height) 2.0)`\n * * `eyeZ` - `(/ (/ (height) 2.0) (tan (/ (* Math/PI 60.0) 360.0)))`\n * * `centerX` - `(/ (width) 2.0)`\n * * `centerY` - `(/ (height) 2.0)`\n * * `centerZ` - `0`\n * * `upX` - `0`\n * * `upY` - `1`\n * * `upZ` - `0`\n * \n * Similar to `gluLookAt()` in OpenGL, but it first clears the\n * current camera settings.\n */\nquil.core.camera \x3d (function quil$core$camera(var_args){\nvar G__16627 \x3d arguments.length;\nswitch (G__16627) {\ncase 0:\nreturn quil.core.camera.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 9:\nreturn quil.core.camera.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.camera.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().camera();\n}));\n\n(quil.core.camera.cljs$core$IFn$_invoke$arity$9 \x3d (function (eyeX,eyeY,eyeZ,centerX,centerY,centerZ,upX,upY,upZ){\nreturn quil.core.current_graphics().camera(eyeX,eyeY,eyeZ,centerX,centerY,centerZ,upX,upY,upZ);\n}));\n\n(quil.core.camera.cljs$lang$maxFixedArity \x3d 9);\n\n/**\n * Calculates the closest `int` value that is greater than or equal to\n * the value of the parameter. For example, `(ceil 9.03)` returns the\n * value 10.\n */\nquil.core.ceil \x3d (function quil$core$ceil(n){\nreturn quil.sketch.current_applet().ceil(n);\n});\n/**\n * Clears the pixels within a buffer. This function only works on\n * graphics objects created with the [[create-graphics]] function meaning\n * that you should call it only inside [[with-graphics]] macro. Unlike\n * the main graphics context (the display window), pixels in additional\n * graphics areas created with [[create-graphics]] can be entirely or\n * partially transparent. This function clears everything in a graphics\n * object to make all of the pixels 100% transparent.\n */\nquil.core.clear \x3d (function quil$core$clear(){\nreturn quil.core.current_graphics().clear();\n});\n/**\n * Creates an integer representation of a color. The parameters are\n * interpreted as RGB or HSB values depending on the current\n * [[color-mode]]. The default mode is RGB values from 0 to 255 and\n * therefore, the function call `(color 255 204 0)` will return a bright\n * yellow. Args are cast to floats.\n * \n * * `r` - red or hue value\n * * `g` - green or saturation value\n * * `b` - blue or brightness value\n * * `a` - alpha value\n */\nquil.core.color \x3d (function quil$core$color(var_args){\nvar G__16629 \x3d arguments.length;\nswitch (G__16629) {\ncase 1:\nreturn quil.core.color.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.color.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.color.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.color.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.color.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nreturn quil.core.current_graphics().color(gray);\n}));\n\n(quil.core.color.cljs$core$IFn$_invoke$arity$2 \x3d (function (gray,alpha){\nreturn quil.core.current_graphics().color(gray,alpha);\n}));\n\n(quil.core.color.cljs$core$IFn$_invoke$arity$3 \x3d (function (r,g,b){\nreturn quil.core.current_graphics().color(r,g,b);\n}));\n\n(quil.core.color.cljs$core$IFn$_invoke$arity$4 \x3d (function (r,g,b,a){\nreturn quil.core.current_graphics().color(r,g,b,a);\n}));\n\n(quil.core.color.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Changes the way Processing interprets color data. Available modes\n * are `:rgb` and `:hsb` (and `:hsl` in Clojurescript).\n * By default, the parameters for [[fill]], [[stroke]],\n * [[background]], and [[color]] are defined by values between 0 and 255 using\n * the `:rgb` color model. The [[color-mode]] function is used to change the\n * numerical range used for specifying colors and to switch color\n * systems. For example, calling\n * `(color-mode :rgb 1.0)` will specify that values are specified between\n * 0 and 1. The limits for defining colors are altered by setting the\n * parameters range1, range2, range3, and range 4.\n */\nquil.core.color_mode \x3d (function quil$core$color_mode(var_args){\nvar G__16631 \x3d arguments.length;\nswitch (G__16631) {\ncase 1:\nreturn quil.core.color_mode.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.color_mode.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn quil.core.color_mode.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.color_mode.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.color_mode.cljs$core$IFn$_invoke$arity$1 \x3d (function (mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.color_modes);\nreturn quil.core.current_graphics().colorMode(mode__$1,(255));\n}));\n\n(quil.core.color_mode.cljs$core$IFn$_invoke$arity$2 \x3d (function (mode,max){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.color_modes);\nreturn quil.core.current_graphics().colorMode(mode__$1,max);\n}));\n\n(quil.core.color_mode.cljs$core$IFn$_invoke$arity$4 \x3d (function (mode,max_x,max_y,max_z){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.color_modes);\nreturn quil.core.current_graphics().colorMode(mode__$1,max_x,max_y,max_z);\n}));\n\n(quil.core.color_mode.cljs$core$IFn$_invoke$arity$5 \x3d (function (mode,max_x,max_y,max_z,max_a){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.color_modes);\nreturn quil.core.current_graphics().colorMode(mode__$1,max_x,max_y,max_z,max_a);\n}));\n\n(quil.core.color_mode.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Draw a cone with given `radius` and `height`.\n * \n * Optional parameters:\n * * `detail-x` - number of segments, the more segments the smoother geometry default is 24\n * * `detail-y` - number of segments, the more segments the smoother geometry default is 24\n * * `cap` - whether to draw the base of the cone\n */\nquil.core.cone \x3d (function quil$core$cone(var_args){\nvar G__16633 \x3d arguments.length;\nswitch (G__16633) {\ncase 2:\nreturn quil.core.cone.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.cone.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.cone.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.cone.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.cone.cljs$core$IFn$_invoke$arity$2 \x3d (function (radius,height){\nreturn quil.core.current_graphics().cone(radius,height);\n}));\n\n(quil.core.cone.cljs$core$IFn$_invoke$arity$3 \x3d (function (radius,height,detail_x){\nreturn quil.core.current_graphics().cone(radius,height,(detail_x | (0)));\n}));\n\n(quil.core.cone.cljs$core$IFn$_invoke$arity$4 \x3d (function (radius,height,detail_x,detail_y){\nreturn quil.core.current_graphics().cone(radius,height,(detail_x | (0)),(detail_y | (0)));\n}));\n\n(quil.core.cone.cljs$core$IFn$_invoke$arity$5 \x3d (function (radius,height,detail_x,detail_y,cap){\nreturn quil.core.current_graphics().cone(radius,height,(detail_x | (0)),(detail_y | (0)),cljs.core.boolean$(cap));\n}));\n\n(quil.core.cone.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Constrains a value to not exceed a maximum and minimum value.\n */\nquil.core.constrain \x3d (function quil$core$constrain(amt,low,high){\nreturn quil.sketch.current_applet().constrain(amt,low,high);\n});\n/**\n * Copies a region of pixels from one image to another. If `src-img`\n * is not specified it defaults to [[current-graphics]]. If `dest-img` is not\n * specified - it defaults to [[current-graphics]]. If the source\n * and destination regions aren\x27t the same size, it will automatically\n * resize the source pixels to fit the specified target region. No\n * alpha information is used in the process, however if the source\n * image has an alpha channel set, it will be copied as well. \n */\nquil.core.copy \x3d (function quil$core$copy(var_args){\nvar G__16635 \x3d arguments.length;\nswitch (G__16635) {\ncase 2:\nreturn quil.core.copy.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.copy.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.copy.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.copy.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__16636,p__16637){\nvar vec__16638 \x3d p__16636;\nvar sx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16638,(0),null);\nvar sy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16638,(1),null);\nvar swidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16638,(2),null);\nvar sheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16638,(3),null);\nvar vec__16641 \x3d p__16637;\nvar dx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16641,(0),null);\nvar dy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16641,(1),null);\nvar dwidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16641,(2),null);\nvar dheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16641,(3),null);\nreturn quil.core.current_graphics().copy((sx | (0)),(sy | (0)),(swidth | (0)),(sheight | (0)),(dx | (0)),(dy | (0)),(dwidth | (0)),(dheight | (0)));\n}));\n\n(quil.core.copy.cljs$core$IFn$_invoke$arity$3 \x3d (function (src_img,p__16644,p__16645){\nvar vec__16646 \x3d p__16644;\nvar sx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16646,(0),null);\nvar sy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16646,(1),null);\nvar swidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16646,(2),null);\nvar sheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16646,(3),null);\nvar vec__16649 \x3d p__16645;\nvar dx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16649,(0),null);\nvar dy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16649,(1),null);\nvar dwidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16649,(2),null);\nvar dheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16649,(3),null);\nreturn quil.core.copy.cljs$core$IFn$_invoke$arity$4(src_img,quil.core.current_graphics(),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sx,sy,swidth,sheight], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [dx,dy,dwidth,dheight], null));\n}));\n\n(quil.core.copy.cljs$core$IFn$_invoke$arity$4 \x3d (function (src_img,dest_img,p__16652,p__16653){\nvar vec__16654 \x3d p__16652;\nvar sx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16654,(0),null);\nvar sy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16654,(1),null);\nvar swidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16654,(2),null);\nvar sheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16654,(3),null);\nvar vec__16657 \x3d p__16653;\nvar dx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16657,(0),null);\nvar dy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16657,(1),null);\nvar dwidth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16657,(2),null);\nvar dheight \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16657,(3),null);\nreturn dest_img.copy(src_img,(sx | (0)),(sy | (0)),(swidth | (0)),(sheight | (0)),(dx | (0)),(dy | (0)),(dwidth | (0)),(dheight | (0)));\n}));\n\n(quil.core.copy.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Calculates the cosine of an angle. This function expects the values\n * of the angle parameter to be provided in radians (values from 0 to\n * Math/PI*2). Values are returned in the range -1 to 1.\n */\nquil.core.cos \x3d (function quil$core$cos(angle){\nreturn quil.sketch.current_applet().cos(angle);\n});\n/**\n * Creates and returns a new `PGraphics` object of the types `:p2d`, `:p3d`,\n * `:java2d`, `:pdf`. By default `:java2d` is used. Use this class if you\n * need to draw into an off-screen graphics buffer. It\x27s not possible\n * to use [[create-graphics]] with the `:opengl` renderer, because it doesn\x27t\n * allow offscreen use. The `:pdf` renderer requires the filename parameter.\n * \n * Note: don\x27t use [[create-graphics]] in draw in Clojurescript, it leaks memory.\n * You should create graphic in setup and reuse it in draw instead of creating\n * a new one.\n * \n * It\x27s important to call any drawing commands between `(.beginDraw graphics)`\n * and `(.endDraw graphics)` statements or use [[with-graphics]] macro. This is\n * also true for any commands that affect drawing, such as [[smooth]] or\n * [[color-mode]].\n * \n * If you\x27re using `:pdf` renderer - don\x27t forget to call `(.dispose graphics)`\n * as last command inside [[with-graphics]] macro, otherwise graphics won\x27t be\n * saved.\n * \n * Unlike the main drawing surface which is completely opaque, surfaces\n * created with [[create-graphics]] can have transparency. This makes it\n * possible to draw into a graphics and maintain the alpha channel. By\n * using save to write a `PNG` or `TGA` file, the transparency of the\n * graphics object will be honored.\n */\nquil.core.create_graphics \x3d (function quil$core$create_graphics(var_args){\nvar G__16661 \x3d arguments.length;\nswitch (G__16661) {\ncase 2:\nreturn quil.core.create_graphics.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.create_graphics.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.create_graphics.cljs$core$IFn$_invoke$arity$2 \x3d (function (w,h){\nreturn quil.sketch.current_applet().createGraphics((w | (0)),(h | (0)));\n}));\n\n(quil.core.create_graphics.cljs$core$IFn$_invoke$arity$3 \x3d (function (w,h,renderer){\nreturn quil.sketch.current_applet().createGraphics((w | (0)),(h | (0)),quil.sketch.resolve_renderer(renderer));\n}));\n\n(quil.core.create_graphics.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a new datatype for storing images (`PImage` for clj and\n * `Image` for cljs). This provides a fresh buffer of pixels to play\n * with. Set the size of the buffer with the `width` and `height`\n * parameters.\n * \n * In clj the `format` parameter defines how the pixels are stored.\n * See the PImage reference for more information.\n * Possible formats: `:rgb`, `:argb`, `:alpha` (grayscale alpha channel)\n * \n * Prefer using [[create-image]] over initialising new `PImage` (or `Image`)\n * instances directly.\n */\nquil.core.create_image \x3d (function quil$core$create_image(w,h){\nreturn quil.sketch.current_applet().createImage((w | (0)),(h | (0)));\n});\n/**\n * Return the current fill color.\n */\nquil.core.current_fill \x3d (function quil$core$current_fill(){\nreturn new cljs.core.Keyword(null,\x22current-fill\x22,\x22current-fill\x22,1421462292).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(quil.core.internal_state()));\n});\n/**\n * Return the current stroke color.\n */\nquil.core.current_stroke \x3d (function quil$core$current_stroke(){\nreturn new cljs.core.Keyword(null,\x22current-stroke\x22,\x22current-stroke\x22,-1338415274).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(quil.core.internal_state()));\n});\n/**\n * Sets the cursor to a predefined symbol or makes it\n * visible if already hidden (after [[no-cursor]] was called).\n * \n * Available modes: `:arrow`, `:cross`, `:hand`, `:move`, `:text`, `:wait`\n * \n * See [[cursor-image]] for specifying a generic image as the cursor\n * symbol (clj only).\n */\nquil.core.cursor \x3d (function quil$core$cursor(var_args){\nvar G__16663 \x3d arguments.length;\nswitch (G__16663) {\ncase 0:\nreturn quil.core.cursor.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.cursor.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.cursor.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.sketch.current_applet().cursor();\n}));\n\n(quil.core.cursor.cljs$core$IFn$_invoke$arity$1 \x3d (function (cursor_mode){\nvar cursor_mode__$1 \x3d quil.util.resolve_constant_key(cursor_mode,quil.core.cursor_modes);\nreturn quil.sketch.current_applet().cursor(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cursor_mode__$1));\n}));\n\n(quil.core.cursor.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Draws a curved line on the screen. The first and second parameters\n * specify the beginning control point and the last two parameters\n * specify the ending control point. The middle parameters specify the\n * start and stop of the curve. Longer curves can be created by putting\n * a series of curve functions together or using [[curve-vertex]]. An additional\n * function called [[curve-tightness]] provides control for the visual quality\n * of the curve. The [[curve]] function is an implementation of Catmull-Rom\n * splines.\n */\nquil.core.curve \x3d (function quil$core$curve(var_args){\nvar G__16665 \x3d arguments.length;\nswitch (G__16665) {\ncase 8:\nreturn quil.core.curve.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 12:\nreturn quil.core.curve.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.curve.cljs$core$IFn$_invoke$arity$8 \x3d (function (x1,y1,x2,y2,x3,y3,x4,y4){\nreturn quil.core.current_graphics().curve(x1,y1,x2,y2,x3,y3,x4,y4);\n}));\n\n(quil.core.curve.cljs$core$IFn$_invoke$arity$12 \x3d (function (x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4){\nreturn quil.core.current_graphics().curve(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4);\n}));\n\n(quil.core.curve.cljs$lang$maxFixedArity \x3d 12);\n\n/**\n * Sets the resolution at which curves display. The default value is\n * 20. This function is only useful when using the `:p3d` or `:opengl`\n * renderer as the default (`:java2d`) renderer does not use this\n * information.\n */\nquil.core.curve_detail \x3d (function quil$core$curve_detail(detail){\nreturn quil.core.current_graphics().curveDetail((detail | (0)));\n});\n/**\n * Evaluates the curve at point `t` for points `a`, `b`, `c`, `d`. The\n * parameter `t` varies between 0 and 1, `a` and `d` are points on the\n * curve, and `b` and `c` are the control points. This can be done once\n * with the x coordinates and a second time with the y coordinates to\n * get the location of a curve at `t`.\n */\nquil.core.curve_point \x3d (function quil$core$curve_point(a,b,c,d,t){\nreturn quil.core.current_graphics().curvePoint(a,b,c,d,t);\n});\n/**\n * Calculates the tangent of a point on a curve.\n * See: http://en.wikipedia.org/wiki/Tangent\n */\nquil.core.curve_tangent \x3d (function quil$core$curve_tangent(a,b,c,d,t){\nreturn quil.core.current_graphics().curveTangent(a,b,c,d,t);\n});\n/**\n * Modifies the quality of forms created with curve and\n * [[curve-vertex]]. The parameter `tightness` determines how the curve fits\n * to the vertex points. The value 0.0 is the default value for\n * `tightness` (this value defines the curves to be Catmull-Rom splines)\n * and the value 1.0 connects all the points with straight\n * lines. Values within the range -5.0 and 5.0 will deform the curves\n * but will leave them recognizable and as values increase in\n * magnitude, they will continue to deform.\n */\nquil.core.curve_tightness \x3d (function quil$core$curve_tightness(tightness){\nreturn quil.core.current_graphics().curveTightness(tightness);\n});\n/**\n * Specifies vertex coordinates for curves. This function may only be\n * used between [[begin-shape]] and [[end-shape]] and only when there is no\n * `mode` keyword specified to [[begin-shape]]. The first and last points in a\n * series of [[curve-vertex]] lines will be used to guide the beginning and\n * end of a the curve. A minimum of four points is required to draw a\n * tiny curve between the second and third points. Adding a fifth point\n * with [[curve-vertex]] will draw the curve between the second, third, and\n * fourth points. The [[curve-vertex]] function is an implementation of\n * Catmull-Rom splines.\n */\nquil.core.curve_vertex \x3d (function quil$core$curve_vertex(var_args){\nvar G__16667 \x3d arguments.length;\nswitch (G__16667) {\ncase 2:\nreturn quil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.curve_vertex.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn quil.core.current_graphics().curveVertex(x,y);\n}));\n\n(quil.core.curve_vertex.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nreturn quil.core.current_graphics().curveVertex(x,y,z);\n}));\n\n(quil.core.curve_vertex.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Draw a cylinder with given `radius` and `height`.\n */\nquil.core.cylinder \x3d (function quil$core$cylinder(var_args){\nvar G__16669 \x3d arguments.length;\nswitch (G__16669) {\ncase 2:\nreturn quil.core.cylinder.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 6:\nreturn quil.core.cylinder.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.cylinder.cljs$core$IFn$_invoke$arity$2 \x3d (function (radius,height){\nreturn quil.core.current_graphics().cylinder(radius,height);\n}));\n\n(quil.core.cylinder.cljs$core$IFn$_invoke$arity$6 \x3d (function (radius,height,detail_x,detail_y,bottom_cap,top_cap){\nreturn quil.core.current_graphics().cylinder(radius,height,(detail_x | (0)),(detail_y | (0)),cljs.core.boolean$(bottom_cap),cljs.core.boolean$(top_cap));\n}));\n\n(quil.core.cylinder.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Get the current day of the month (1 through 31).\n */\nquil.core.day \x3d (function quil$core$day(){\nreturn quil.sketch.current_applet().day();\n});\n/**\n * Converts a `radians` measurement to its corresponding value in\n * degrees. Radians and degrees are two ways of measuring the same\n * thing. There are 360 degrees in a circle and `2*PI` radians in a\n * circle. For example, `90\xb0 \x3d PI/2 \x3d 1.5707964`. All\n * trigonometric methods in Processing require their parameters to be\n * specified in radians.\n */\nquil.core.degrees \x3d (function quil$core$degrees(radians){\nreturn quil.sketch.current_applet().degrees(radians);\n});\n/**\n * Adds a directional light. Directional light comes from one\n * direction and is stronger when hitting a surface squarely and weaker\n * if it hits at a gentle angle. After hitting a surface, a\n * directional lights scatters in all directions. Lights need to be\n * included in the `draw` function to remain persistent in a looping\n * program. Placing them in the `setup` function of a looping program will cause\n * them to only have an effect the first time through the loop. The\n * affect of the `r`, `g`, and `b` parameters is determined by the current\n * color mode. The `nx`, `ny`, and `nz` parameters specify the direction the\n * light is facing. For example, setting `ny` to -1 will cause the\n * geometry to be lit from below (the light is facing directly upward).\n */\nquil.core.directional_light \x3d (function quil$core$directional_light(r,g,b,nx,ny,nz){\nreturn quil.core.current_graphics().directionalLight(r,g,b,nx,ny,nz);\n});\n/**\n * Calculates the distance between two points.\n */\nquil.core.dist \x3d (function quil$core$dist(var_args){\nvar G__16671 \x3d arguments.length;\nswitch (G__16671) {\ncase 4:\nreturn quil.core.dist.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn quil.core.dist.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.dist.cljs$core$IFn$_invoke$arity$4 \x3d (function (x1,y1,x2,y2){\nreturn quil.sketch.current_applet().dist(x1,y1,x2,y2);\n}));\n\n(quil.core.dist.cljs$core$IFn$_invoke$arity$6 \x3d (function (x1,y1,z1,x2,y2,z2){\nreturn quil.sketch.current_applet().dist(x1,y1,z1,x2,y2,z2);\n}));\n\n(quil.core.dist.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Draws an ellipse (oval) in the display window. An ellipse with an\n * equal `width` and `height` is a circle. The origin may be changed with\n * the [[ellipse-mode]] function.\n */\nquil.core.ellipse \x3d (function quil$core$ellipse(x,y,width,height){\nreturn quil.core.current_graphics().ellipse(x,y,width,height);\n});\n/**\n * Modifies the origin of the ellipse according to the specified `mode`:\n * \n * * `:center` - specifies the location of the ellipse as\n * the center of the shape **(default)**.\n * * `:radius` - similar to center, but the width and height parameters to\n * ellipse specify the radius of the ellipse, rather than the\n * diameter.\n * * `:corner` - draws the shape from the upper-left corner of its bounding\n * box.\n * * `:corners` - uses the four parameters to ellipse to set two opposing\n * corners of the ellipse\x27s bounding box.\n */\nquil.core.ellipse_mode \x3d (function quil$core$ellipse_mode(mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.ellipse_modes);\nreturn quil.core.current_graphics().ellipseMode(mode__$1);\n});\n/**\n * Draws an ellipsoid with given radius\n * \n * Optional parameters:\n * * `detail-x` - number of segments, the more segments the smoother geometry default is 24\n * * `detail-y` - number of segments, the more segments the smoother geometry default is 16\n */\nquil.core.ellipsoid \x3d (function quil$core$ellipsoid(var_args){\nvar G__16674 \x3d arguments.length;\nswitch (G__16674) {\ncase 3:\nreturn quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$3 \x3d (function (radius_x,radius_y,radius_z){\nreturn quil.core.current_graphics().ellipsoid(radius_x,radius_y,radius_z);\n}));\n\n(quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$4 \x3d (function (radius_x,radius_y,radius_z,detail_x){\nreturn quil.core.current_graphics().ellipsoid(radius_x,radius_y,radius_z,(detail_x | (0)));\n}));\n\n(quil.core.ellipsoid.cljs$core$IFn$_invoke$arity$5 \x3d (function (radius_x,radius_y,radius_z,detail_x,detail_y){\nreturn quil.core.current_graphics().ellipsoid(radius_x,radius_y,radius_z,(detail_x | (0)),(detail_y.cljs$core$IFn$_invoke$arity$0 ? detail_y.cljs$core$IFn$_invoke$arity$0() : detail_y.call(null)));\n}));\n\n(quil.core.ellipsoid.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Use the [[begin-contour]] and [[end-contour]] function to create\n * negative shapes within shapes. These functions can only be within a\n * [[begin-shape]]/[[end-shape]] pair and they only work with the\n * `:p2d` and `:p3d` renderers.\n */\nquil.core.end_contour \x3d (function quil$core$end_contour(){\nreturn quil.core.current_graphics().endContour();\n});\n/**\n * May only be called after [[begin-shape]]. When [[end-shape]] is called,\n * all of image data defined since the previous call to [[begin-shape]] is\n * written into the image buffer. The keyword `:close` may be passed to\n * close the shape (to connect the beginning and the end).\n */\nquil.core.end_shape \x3d (function quil$core$end_shape(var_args){\nvar G__16676 \x3d arguments.length;\nswitch (G__16676) {\ncase 0:\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.end_shape.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().endShape();\n}));\n\n(quil.core.end_shape.cljs$core$IFn$_invoke$arity$1 \x3d (function (mode){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22close\x22,\x22close\x22,1835149582),mode)){\n} else {\n}\n\nreturn quil.core.current_graphics().endShape((p5.prototype[\x22CLOSE\x22]));\n}));\n\n(quil.core.end_shape.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Quits/stops/exits the program. Rather than terminating\n * immediately, [[exit]] will cause the sketch to exit after `draw` has\n * completed (or after `setup` completes if called during the `setup`\n * method). \n */\nquil.core.exit \x3d (function quil$core$exit(){\nreturn quil.sketch.current_applet().remove();\n});\n/**\n * Returns Euler\x27s number `e` (2.71828...) raised to the power of the\n * `val` parameter.\n */\nquil.core.exp \x3d (function quil$core$exp(val){\nreturn quil.sketch.current_applet().exp(val);\n});\n/**\n * Save current fill color vector in the internal state. It can be accessed using [[current-fill]] function.\n */\nquil.core.save_current_fill \x3d (function quil$core$save_current_fill(color){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22current-fill\x22,\x22current-fill\x22,1421462292),color);\n});\n/**\n * Sets the color used to fill shapes. For example, if you run `(fill 204 102 0)`,\n * all subsequent shapes will be filled with orange. This function casts all\n * input as a `float`. If nil is passed it removes any fill color; equivalent to\n * calling [[no-fill]].\n */\nquil.core.fill \x3d (function quil$core$fill(var_args){\nvar G__16678 \x3d arguments.length;\nswitch (G__16678) {\ncase 1:\nreturn quil.core.fill.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.fill.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.fill.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.fill.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.fill.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nif(cljs.core.vector_QMARK_(gray)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,gray);\n} else {\nif((gray \x3d\x3d null)){\nreturn (quil.core.no_fill.cljs$core$IFn$_invoke$arity$0 ? quil.core.no_fill.cljs$core$IFn$_invoke$arity$0() : quil.core.no_fill.call(null));\n} else {\nquil.core.current_graphics().fill(gray);\n\nreturn quil.core.save_current_fill(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [gray], null));\n\n}\n}\n}));\n\n(quil.core.fill.cljs$core$IFn$_invoke$arity$2 \x3d (function (gray,alpha){\nquil.core.current_graphics().fill(gray,alpha);\n\nreturn quil.core.save_current_fill(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [gray,alpha], null));\n}));\n\n(quil.core.fill.cljs$core$IFn$_invoke$arity$3 \x3d (function (r,g,b){\nquil.core.current_graphics().fill(r,g,b);\n\nreturn quil.core.save_current_fill(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [r,g,b], null));\n}));\n\n(quil.core.fill.cljs$core$IFn$_invoke$arity$4 \x3d (function (r,g,b,alpha){\nquil.core.current_graphics().fill(r,g,b,alpha);\n\nreturn quil.core.save_current_fill(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [r,g,b,alpha], null));\n}));\n\n(quil.core.fill.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * This function returns the number 2 if the screen is a high-density\n * screen (called a Retina display on OS X or high-dpi on Windows and\n * Linux) and a 1 if not. This information is useful for a program to\n * adapt to run at double the pixel density on a screen that supports\n * it. Can be used in conjunction with [[pixel-density]].\n */\nquil.core.display_density \x3d (function quil$core$display_density(var_args){\nvar G__16680 \x3d arguments.length;\nswitch (G__16680) {\ncase 0:\nreturn quil.core.display_density.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.display_density.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.display_density.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.sketch.current_applet().displayDensity();\n}));\n\n(quil.core.display_density.cljs$core$IFn$_invoke$arity$1 \x3d (function (display){\nreturn quil.sketch.current_applet().displayDensity(display);\n}));\n\n(quil.core.display_density.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Originally named filter in Processing Language.\n * Filters the display window with the specified mode and level.\n * Level defines the quality of the filter and mode may be one of the\n * following keywords:\n * \n * * `:threshold` - converts the image to black and white pixels depending\n * if they are above or below the threshold defined by\n * the level parameter. The level must be between\n * 0.0 (black) and 1.0 (white). If no level is specified,\n * 0.5 is used.\n * * `:gray` - converts any colors in the image to grayscale\n * equivalents. Doesn\x27t work with level.\n * * `:invert` - sets each pixel to its inverse value. Doesn\x27t work with\n * level.\n * * `:posterize` - limits each channel of the image to the number of\n * colors specified as the level parameter. The parameter can\n * be set to values between 2 and 255, but results are most\n * noticeable in the lower ranges.\n * * `:blur` - executes a Gaussian blur with the level parameter\n * specifying the extent of the blurring. If no level\n * parameter is used, the blur is equivalent to Gaussian\n * blur of radius 1.\n * * `:opaque` - sets the alpha channel to entirely opaque. Doesn\x27t work\n * with level.\n * * `:erode` - reduces the light areas. Doesn\x27t work with level.\n * * `:dilate` - increases the light areas. Doesn\x27t work with level.\n */\nquil.core.display_filter \x3d (function quil$core$display_filter(var_args){\nvar G__16682 \x3d arguments.length;\nswitch (G__16682) {\ncase 1:\nreturn quil.core.display_filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.display_filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.display_filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (mode){\nreturn quil.core.current_graphics().filter(quil.util.resolve_constant_key(mode,quil.core.filter_modes));\n}));\n\n(quil.core.display_filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (mode,level){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.filter_modes);\nreturn quil.core.current_graphics().filter(mode__$1,level);\n}));\n\n(quil.core.display_filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Calculates the closest `int` value that is less than or equal to the\n * value of the parameter. For example, `(floor 9.03)` returns the value 9.\n */\nquil.core.floor \x3d (function quil$core$floor(n){\nreturn quil.sketch.current_applet().floor(n);\n});\n/**\n * Returns `true` if the applet has focus, `false` otherwise.\n */\nquil.core.focused \x3d (function quil$core$focused(){\nreturn quil.sketch.current_applet().focused;\n});\n/**\n * The system variable frameCount contains the number of frames\n * displayed since the program started. Inside setup() the value is 0\n * and after the first iteration of draw it is 1, etc.\n */\nquil.core.frame_count \x3d (function quil$core$frame_count(){\nreturn quil.sketch.current_applet().frameCount;\n});\n/**\n * Returns the current framerate\n */\nquil.core.current_frame_rate \x3d (function quil$core$current_frame_rate(){\nreturn quil.sketch.current_applet().frameRate();\n});\n/**\n * Returns whether the sketch is looping.\n */\nquil.core.looping_QMARK_ \x3d (function quil$core$looping_QMARK_(){\nreturn new cljs.core.Keyword(null,\x22looping?\x22,\x22looping?\x22,78344245).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(quil.core.internal_state()));\n});\n/**\n * Specifies a new target framerate (number of frames to be displayed every\n * second). If the processor is not fast enough to maintain the\n * specified rate, it will not be achieved. For example, the function\n * call `(frame-rate 30)` will attempt to refresh 30 times a second. It\n * is recommended to set the frame rate within setup. The default rate\n * is 60 frames per second.\n */\nquil.core.frame_rate \x3d (function quil$core$frame_rate(new_rate){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22frame-rate\x22,\x22frame-rate\x22,-994918942),new_rate);\n\nreturn quil.sketch.current_applet().frameRate(new_rate);\n});\n/**\n * Reads the color of any pixel or grabs a section of an image. If no\n * parameters are specified, a copy of entire image is returned. Get the\n * value of one pixel by specifying an `x`,`y` coordinate. Get a section of\n * the image by specifying an additional `width` and `height` parameter.\n * If the pixel requested is outside of the image window, black is returned.\n * The numbers returned are scaled according to the current color ranges,\n * but only RGB values are returned by this function. For example, even though\n * you may have drawn a shape with `(color-mode :hsb)`, the numbers returned\n * will be in RGB.\n * \n * Getting the color of a single pixel with `(get x y)` is easy, but not\n * as fast as grabbing the data directly using the [[pixels]] function.\n * \n * If no `img` specified - [[current-graphics]] is used.\n */\nquil.core.get_pixel \x3d (function quil$core$get_pixel(var_args){\nvar G__16684 \x3d arguments.length;\nswitch (G__16684) {\ncase 0:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$1(quil.core.current_graphics());\n}));\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$1 \x3d (function (img){\nreturn img.get();\n}));\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3(quil.core.current_graphics(),x,y);\n}));\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3 \x3d (function (img,x,y){\nreturn img.get((x | (0)),(y | (0)));\n}));\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,w,h){\nreturn quil.core.get_pixel.cljs$core$IFn$_invoke$arity$5(quil.core.current_graphics(),x,y,w,h);\n}));\n\n(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$5 \x3d (function (img,x,y,w,h){\nreturn img.get((x | (0)),(y | (0)),(w | (0)),(h | (0)));\n}));\n\n(quil.core.get_pixel.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Extracts the green value from a color, scaled to match current\n * [[color-mode]]. This value is always returned as a `float` so be careful\n * not to assign it to an `int` value.\n */\nquil.core.green \x3d (function quil$core$green(col){\nreturn quil.core.current_graphics().green(quil.util.clj_unchecked_int(col));\n});\n/**\n * Converts a byte, char, int, or color to a String containing the\n * equivalent hexadecimal notation. For example color(0, 102, 153) will\n * convert to the String \x22FF006699\x22. This function can help make your\n * geeky debugging sessions much happier.\n */\nquil.core.hex \x3d (function quil$core$hex(var_args){\nvar G__16686 \x3d arguments.length;\nswitch (G__16686) {\ncase 1:\nreturn quil.core.hex.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.hex.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.hex.cljs$core$IFn$_invoke$arity$1 \x3d (function (val){\nreturn quil.sketch.current_applet().hex(val);\n}));\n\n(quil.core.hex.cljs$core$IFn$_invoke$arity$2 \x3d (function (val,num_digits){\nreturn quil.sketch.current_applet().hex(val,num_digits);\n}));\n\n(quil.core.hex.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Height of the display window. The value of height is zero until\n * size is called.\n */\nquil.core.height \x3d (function quil$core$height(){\nreturn quil.sketch.current_applet().height;\n});\n/**\n * Returns the current hour as a value from 0 - 23.\n */\nquil.core.hour \x3d (function quil$core$hour(){\nreturn quil.sketch.current_applet().hour();\n});\n/**\n * Extracts the hue value from a color.\n */\nquil.core.hue \x3d (function quil$core$hue(col){\nreturn quil.core.current_graphics().hue(quil.util.clj_unchecked_int(col));\n});\n/**\n * Displays images to the screen. Processing currently works with `GIF`,\n * `JPEG`, and `Targa` images. The color of an image may be modified with\n * the [[tint]] function and if a `GIF` has transparency, it will maintain\n * its transparency. The `img` parameter specifies the image to display\n * and the `x` and `y` parameters define the location of the image from its\n * upper-left corner. The image is displayed at its original size\n * unless the `width` and `height` parameters specify a different size. The\n * [[image-mode]] function changes the way the parameters work. A call to\n * `(image-mode :corners)` will change the `width` and `height` parameters to\n * define the x and y values of the opposite corner of the image.\n */\nquil.core.image \x3d (function quil$core$image(var_args){\nvar G__16688 \x3d arguments.length;\nswitch (G__16688) {\ncase 3:\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.image.cljs$core$IFn$_invoke$arity$3 \x3d (function (img,x,y){\nreturn quil.core.current_graphics().image(img,x,y);\n}));\n\n(quil.core.image.cljs$core$IFn$_invoke$arity$5 \x3d (function (img,x,y,width,height){\nreturn quil.core.current_graphics().image(img,x,y,width,height);\n}));\n\n(quil.core.image.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Originally named filter in Processing Language.\n * Filters given image with the specified `mode` and `level`.\n * `level` defines the quality of the filter and `mode` may be one of\n * the following keywords:\n * \n * * `:threshold` - converts the image to black and white pixels depending\n * if they are above or below the threshold defined by\n * the level parameter. The level must be between\n * 0.0 (black) and 1.0 (white). If no level is specified,\n * 0.5 is used.\n * * `:gray` - converts any colors in the image to grayscale\n * equivalents. Doesn\x27t work with level.\n * * `:invert` - sets each pixel to its inverse value. Doesn\x27t work with\n * level.\n * * `:posterize` - limits each channel of the image to the number of\n * colors specified as the level parameter. The parameter can\n * be set to values between 2 and 255, but results are most\n * noticeable in the lower ranges.\n * * `:blur` - executes a Gaussian blur with the `level` parameter\n * specifying the extent of the blurring. If no level\n * parameter is used, the blur is equivalent to Gaussian\n * blur of radius 1.\n * * `:opaque` - sets the alpha channel to entirely opaque. Doesn\x27t work\n * with level.\n * * `:erode` - reduces the light areas. Doesn\x27t work with `level`.\n * * `:dilate` - increases the light areas. Doesn\x27t work with `level`.\n */\nquil.core.image_filter \x3d (function quil$core$image_filter(var_args){\nvar G__16690 \x3d arguments.length;\nswitch (G__16690) {\ncase 2:\nreturn quil.core.image_filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.image_filter.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.image_filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (img,mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.filter_modes);\nreturn img.filter(mode__$1);\n}));\n\n(quil.core.image_filter.cljs$core$IFn$_invoke$arity$3 \x3d (function (img,mode,level){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.filter_modes);\nreturn img.filter(mode__$1,level);\n}));\n\n(quil.core.image_filter.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Modifies the location from which images draw. The default `mode` is `:corner`.\n * Available modes are:\n * \n * * `:corner` - specifies the location to be the upper left corner and\n * uses the fourth and fifth parameters of [[image]] to set the\n * image\x27s width and height.\n * * `:corners` - uses the second and third parameters of [[image]] to set the\n * location of one corner of the image and uses the fourth\n * and fifth parameters to set the opposite corner.\n * * `:center` - draw images centered at the given x and y position.\n */\nquil.core.image_mode \x3d (function quil$core$image_mode(mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.image_modes);\nreturn quil.core.current_graphics().imageMode(mode__$1);\n});\n/**\n * The variable keyCode is used to detect special keys such as the UP,\n * DOWN, LEFT, RIGHT arrow keys and ALT, CONTROL, SHIFT. When checking\n * for these keys, it\x27s first necessary to check and see if the key is\n * coded. This is done with the conditional `(\x3d (key) CODED)`.\n * \n * The keys included in the ASCII specification (BACKSPACE, TAB, ENTER,\n * RETURN, ESC, and DELETE) do not require checking to see if they key\n * is coded, and you should simply use the key variable instead of\n * [[key-code]]. If you\x27re making cross-platform projects, note that the\n * ENTER key is commonly used on PCs and Unix and the RETURN key is\n * used instead on Macintosh. Check for both ENTER and RETURN to make\n * sure your program will work for all platforms.\n * \n * For users familiar with Java, the values for UP and DOWN are simply\n * shorter versions of Java\x27s `KeyEvent.VK_UP` and\n * `KeyEvent.VK_DOWN`. Other keyCode values can be found in the Java\n * KeyEvent reference.\n */\nquil.core.key_code \x3d (function quil$core$key_code(){\nreturn quil.sketch.current_applet().keyCode;\n});\n/**\n * true if any key is currently pressed, false otherwise.\n */\nquil.core.key_pressed_QMARK_ \x3d (function quil$core$key_pressed_QMARK_(){\nreturn quil.sketch.current_applet().keyIsPressed;\n});\n/**\n * Extracts the HSL lightness value from a color or pixel array.\n */\nquil.core.lightness \x3d (function quil$core$lightness(c){\nreturn quil.core.current_graphics().lightness(c);\n});\n/**\n * Sets the falloff rates for point lights, spot lights, and ambient\n * lights. The parameters are used to determine the falloff with the\n * following equation:\n * \n * d \x3d distance from light position to vertex position\n * falloff \x3d 1 / (CONSTANT + d * LINEAR + (d*d) * QUADRATIC)\n * \n * Like fill, it affects only the elements which are created after it\n * in the code. The default value is `(light-falloff 1.0 0.0 0.0)`.\n * Thinking about an ambient light with a falloff can be tricky. It is\n * used, for example, if you wanted a region of your scene to be lit\n * ambiently by one color and another region to be lit ambiently by\n * another color, you would use an ambient light with location and\n * falloff. You can think of it as a point light that doesn\x27t care\n * which direction a surface it is facing.\n */\nquil.core.light_falloff \x3d (function quil$core$light_falloff(constant,linear,quadratic){\nreturn quil.core.current_graphics().lightFalloff(constant,linear,quadratic);\n});\n/**\n * Calculates a color or colors between two color at a specific\n * increment. The `amt` parameter is the amount to interpolate between\n * the two values where 0.0 equal to the first point, 0.1 is very near\n * the first point, 0.5 is half-way in between, etc.\n */\nquil.core.lerp_color \x3d (function quil$core$lerp_color(c1,c2,amt){\nreturn quil.core.current_graphics().lerpColor(quil.util.clj_unchecked_int(c1),quil.util.clj_unchecked_int(c2),amt);\n});\n/**\n * Calculates a number between two numbers at a specific\n * increment. The `amt` parameter is the amount to interpolate between\n * the two values where 0.0 equal to the first point, 0.1 is very near\n * the first point, 0.5 is half-way in between, etc. The lerp function\n * is convenient for creating motion along a straight path and for\n * drawing dotted lines.\n */\nquil.core.lerp \x3d (function quil$core$lerp(start,stop,amt){\nreturn quil.sketch.current_applet().lerp(start,stop,amt);\n});\n/**\n * Sets the default ambient light, directional light, falloff, and\n * specular values. The defaults are:\n * \n * `(ambient-light 128 128 128)`\n * `(directional-light 128 128 128 0 0 -1)`\n * `(light-falloff 1 0 0)`\n * `(light-specular 0 0 0)`.\n * \n * Lights need to be included in the draw to remain persistent in a\n * looping program. Placing them in the setup of a looping program\n * will cause them to only have an effect the first time through the\n * loop.\n */\nquil.core.lights \x3d (function quil$core$lights(){\nreturn quil.core.current_graphics().lights();\n});\n/**\n * Draws a line (a direct path between two points) to the screen. The\n * version of line with four parameters draws the line in 2D. To color\n * a line, use the [[stroke]] function. A line cannot be filled, therefore\n * the fill method will not affect the color of a line. 2D lines are\n * drawn with a width of one pixel by default, but this can be changed\n * with the [[stroke-weight]] function. The version with six parameters\n * allows the line to be placed anywhere within XYZ space.\n */\nquil.core.line \x3d (function quil$core$line(var_args){\nvar G__16692 \x3d arguments.length;\nswitch (G__16692) {\ncase 2:\nreturn quil.core.line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn quil.core.line.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn quil.core.line.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.line.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.line,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p1,p2));\n}));\n\n(quil.core.line.cljs$core$IFn$_invoke$arity$4 \x3d (function (x1,y1,x2,y2){\nreturn quil.core.current_graphics().line(x1,y1,x2,y2);\n}));\n\n(quil.core.line.cljs$core$IFn$_invoke$arity$6 \x3d (function (x1,y1,z1,x2,y2,z2){\nreturn quil.core.current_graphics().line(x1,y1,z1,x2,y2,z2);\n}));\n\n(quil.core.line.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Loads a font into a variable of type `PFont`. To load correctly,\n * fonts must be located in the data directory of the current sketch.\n * To create a font to use with Processing use the [[create-font]] function.\n * \n * Like [[load-image]] and other methods that load data, the [[load-font]]\n * function should not be used inside draw, because it will slow down the sketch\n * considerably, as the font will be re-loaded from the disk (or\n * network) on each frame.\n * \n * For most renderers, Processing displays fonts using the `.vlw` font\n * format, which uses images for each letter, rather than defining them\n * through vector data. When hint `:enable-native-fonts` is used with the\n * JAVA2D renderer, the native version of a font will be used if it is\n * installed on the user\x27s machine.\n * \n * Using [[create-font]] (instead of [[load-font]]) enables vector data to be\n * used with the JAVA2D (default) renderer setting. This can be helpful\n * when many font sizes are needed, or when using any renderer based on\n * JAVA2D, such as the PDF library.\n */\nquil.core.load_font \x3d (function quil$core$load_font(filename){\nreturn quil.sketch.current_applet().loadFont(cljs.core.str.cljs$core$IFn$_invoke$arity$1(filename));\n});\n/**\n * Loads an image into a variable of type `PImage`. Four types of\n * images (`.gif`, `.jpg`, `.tga`, `.png`) may be loaded. To load\n * correctly, images must be located in the data directory of the\n * current sketch. In most cases, load all images in `setup` to preload\n * them at the start of the program. Loading images inside `draw` will\n * reduce the speed of a program.\n * \n * The filename parameter can also be a URL to a file found online.\n * \n * Image is loaded asynchronously. In order to check whether image\n * finished loading use [[loaded?]].\n */\nquil.core.load_image \x3d (function quil$core$load_image(filename){\nreturn quil.sketch.current_applet().loadImage(cljs.core.str.cljs$core$IFn$_invoke$arity$1(filename));\n});\n/**\n * Loads a shader into the `PShader` object for clj and `Shader` object for\n * cljs. In clj mode shaders are\n * compatible with the P2D and P3D renderers, but not with the default\n * renderer. In cljs mode shaders are compatible with the P3D renderer.\n */\nquil.core.load_shader \x3d (function quil$core$load_shader(var_args){\nvar G__16694 \x3d arguments.length;\nswitch (G__16694) {\ncase 1:\nreturn quil.core.load_shader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.load_shader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.load_shader.cljs$core$IFn$_invoke$arity$1 \x3d (function (fragment_filename){\nreturn quil.core.current_graphics().loadShader(fragment_filename);\n}));\n\n(quil.core.load_shader.cljs$core$IFn$_invoke$arity$2 \x3d (function (fragment_filename,vertex_filename){\nreturn quil.core.current_graphics().loadShader(vertex_filename,fragment_filename);\n}));\n\n(quil.core.load_shader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Load a geometry from a file as a `PShape` in clj, and a `Geometry`\n * in cljs.\n */\nquil.core.load_shape \x3d (function quil$core$load_shape(filename){\nreturn quil.sketch.current_applet().loadModel(filename);\n});\n/**\n * Returns true if object is loaded.\n */\nquil.core.loaded_QMARK_ \x3d (function quil$core$loaded_QMARK_(object){\nvar pred__16695 \x3d cljs.core._EQ_;\nvar expr__16696 \x3d cljs.core.type(object);\nif(cljs.core.truth_((pred__16695.cljs$core$IFn$_invoke$arity$2 ? pred__16695.cljs$core$IFn$_invoke$arity$2(p5.Shader,expr__16696) : pred__16695.call(null,p5.Shader,expr__16696)))){\nvar and__5043__auto__ \x3d (object[\x22_vertSrc\x22]);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (object[\x22_fragSrc\x22]);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif(cljs.core.truth_((pred__16695.cljs$core$IFn$_invoke$arity$2 ? pred__16695.cljs$core$IFn$_invoke$arity$2(p5.Image,expr__16696) : pred__16695.call(null,p5.Image,expr__16696)))){\nreturn (object.width \x3e (0));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__16696)].join(\x27\x27)));\n}\n}\n});\n/**\n * Calculates the natural logarithm (the base-e logarithm) of a\n * number. This function expects the values greater than 0.0.\n */\nquil.core.log \x3d (function quil$core$log(val){\nreturn quil.sketch.current_applet().log(val);\n});\n/**\n * Calculates the magnitude (or length) of a vector. A vector is a\n * direction in space commonly used in computer graphics and linear\n * algebra. Because it has no start position, the magnitude of a vector\n * can be thought of as the distance from coordinate `(0,0)` to its `(x,y)`\n * value. Therefore, [[mag]] is a shortcut for writing `(dist 0 0 x y)`.\n */\nquil.core.mag \x3d (function quil$core$mag(a,b){\nreturn quil.sketch.current_applet().mag(a,b);\n});\n/**\n * Re-maps a number from one range to another.\n * \n * Numbers outside the range are not clamped to 0 and 1, because\n * out-of-range values are often intentional and useful.\n */\nquil.core.map_range \x3d (function quil$core$map_range(val,low1,high1,low2,high2){\nreturn quil.sketch.current_applet().map(val,low1,high1,low2,high2);\n});\n/**\n * Masks part of an image from displaying by loading another image and\n * using it as an alpha channel. This mask image should only contain\n * grayscale data. The mask image needs to be the same size as the image\n * to which it is applied.\n * \n * If single argument function is used - masked image is sketch itself\n * or graphics if used inside [[with-graphics]] macro. If you\x27re passing\n * graphics to this function - it works only with `:p3d` and `:opengl` renderers.\n * \n * This method is useful for creating dynamically generated alpha\n * masks.\n */\nquil.core.mask_image \x3d (function quil$core$mask_image(var_args){\nvar G__16699 \x3d arguments.length;\nswitch (G__16699) {\ncase 1:\nreturn quil.core.mask_image.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.mask_image.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.mask_image.cljs$core$IFn$_invoke$arity$1 \x3d (function (mask){\nreturn quil.core.mask_image.cljs$core$IFn$_invoke$arity$2(quil.core.current_graphics(),mask);\n}));\n\n(quil.core.mask_image.cljs$core$IFn$_invoke$arity$2 \x3d (function (img,mask){\nreturn img.mask(mask);\n}));\n\n(quil.core.mask_image.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the number of milliseconds (thousandths of a second) since\n * starting the sketch. This information is often used for timing\n * animation sequences.\n */\nquil.core.millis \x3d (function quil$core$millis(){\nreturn quil.sketch.current_applet().millis();\n});\n/**\n * Returns the current minute as a value from 0 - 59\n */\nquil.core.minute \x3d (function quil$core$minute(){\nreturn quil.sketch.current_applet().minute();\n});\n/**\n * Returns the current month as a value from 1 - 12.\n */\nquil.core.month \x3d (function quil$core$month(){\nreturn quil.sketch.current_applet().month();\n});\n/**\n * The value of the system variable mouseButton is either `:left`, `:right`,\n * or `:center` depending on which button is pressed. `nil` if no button pressed\n */\nquil.core.mouse_button \x3d (function quil$core$mouse_button(){\nvar button_code \x3d quil.sketch.current_applet().mouseButton;\nvar pred__16700 \x3d cljs.core._EQ_;\nvar expr__16701 \x3d button_code;\nif(cljs.core.truth_((function (){var G__16703 \x3d (p5.prototype[\x22LEFT\x22]);\nvar G__16704 \x3d expr__16701;\nreturn (pred__16700.cljs$core$IFn$_invoke$arity$2 ? pred__16700.cljs$core$IFn$_invoke$arity$2(G__16703,G__16704) : pred__16700.call(null,G__16703,G__16704));\n})())){\nreturn new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937);\n} else {\nif(cljs.core.truth_((function (){var G__16705 \x3d (p5.prototype[\x22RIGHT\x22]);\nvar G__16706 \x3d expr__16701;\nreturn (pred__16700.cljs$core$IFn$_invoke$arity$2 ? pred__16700.cljs$core$IFn$_invoke$arity$2(G__16705,G__16706) : pred__16700.call(null,G__16705,G__16706));\n})())){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833);\n} else {\nif(cljs.core.truth_((function (){var G__16707 \x3d (p5.prototype[\x22CENTER\x22]);\nvar G__16708 \x3d expr__16701;\nreturn (pred__16700.cljs$core$IFn$_invoke$arity$2 ? pred__16700.cljs$core$IFn$_invoke$arity$2(G__16707,G__16708) : pred__16700.call(null,G__16707,G__16708));\n})())){\nreturn new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368);\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * true if a mouse button is pressed, false otherwise.\n */\nquil.core.mouse_pressed_QMARK_ \x3d (function quil$core$mouse_pressed_QMARK_(){\nreturn quil.sketch.current_applet().mouseIsPressed;\n});\n/**\n * Current horizontal coordinate of the mouse.\n */\nquil.core.mouse_x \x3d (function quil$core$mouse_x(){\nreturn quil.sketch.current_applet().mouseX;\n});\n/**\n * Current vertical coordinate of the mouse.\n */\nquil.core.mouse_y \x3d (function quil$core$mouse_y(){\nreturn quil.sketch.current_applet().mouseY;\n});\n/**\n * Hides the cursor from view. Will not work when running in full\n * screen (Present) mode.\n */\nquil.core.no_cursor \x3d (function quil$core$no_cursor(){\nreturn quil.sketch.current_applet().noCursor();\n});\n/**\n * Disables filling geometry. If both [[no-stroke]] and [[no-fill]] are called,\n * nothing will be drawn to the screen.\n */\nquil.core.no_fill \x3d (function quil$core$no_fill(){\nquil.core.current_graphics().noFill();\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22current-fill\x22,\x22current-fill\x22,1421462292),null);\n});\n/**\n * Returns the Perlin noise value at specified coordinates. Perlin\n * noise is a random sequence generator producing a more natural\n * ordered, harmonic succession of numbers compared to the standard\n * random function. It was invented by Ken Perlin in the 1980s and\n * been used since in graphical applications to produce procedural\n * textures, natural motion, shapes, terrains etc.\n * \n * The main difference to the random function is that Perlin noise is\n * defined in an infinite n-dimensional space where each pair of\n * coordinates corresponds to a fixed semi-random value (fixed only for\n * the lifespan of the program). The resulting value will always be\n * between 0.0 and 1.0. Processing can compute 1D, 2D and 3D noise,\n * depending on the number of coordinates given. The noise value can be\n * animated by moving through the noise space and the 2nd and 3rd\n * dimensions can also be interpreted as time.\n * \n * The actual noise is structured similar to an audio signal, in\n * respect to the function\x27s use of frequencies. Similar to the concept\n * of harmonics in physics, perlin noise is computed over several\n * octaves which are added together for the final result.\n * \n * Another way to adjust the character of the resulting sequence is the\n * scale of the input coordinates. As the function works within an\n * infinite space the value of the coordinates doesn\x27t matter as such,\n * only the distance between successive coordinates does (eg. when\n * using noise within a loop). As a general rule the smaller the\n * difference between coordinates, the smoother the resulting noise\n * sequence will be. Steps of 0.005-0.03 work best for most\n * applications, but this will differ depending on use.\n */\nquil.core.noise \x3d (function quil$core$noise(var_args){\nvar G__16710 \x3d arguments.length;\nswitch (G__16710) {\ncase 1:\nreturn quil.core.noise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.noise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.noise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.noise.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn quil.sketch.current_applet().noise(x);\n}));\n\n(quil.core.noise.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn quil.sketch.current_applet().noise(x,y);\n}));\n\n(quil.core.noise.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nreturn quil.sketch.current_applet().noise(x,y,z);\n}));\n\n(quil.core.noise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Adjusts the character and level of detail produced by the Perlin\n * noise function. Similar to harmonics in physics, noise is computed\n * over several octaves. Lower octaves contribute more to the output\n * signal and as such define the overall intensity of the noise, whereas\n * higher octaves create finer grained details in the noise\n * sequence. By default, noise is computed over 4 octaves with each\n * octave contributing exactly half than its predecessor, starting at\n * 50% strength for the 1st octave. This falloff amount can be changed\n * by adding an additional function parameter. Eg. a falloff factor of\n * 0.75 means each octave will now have 75% impact (25% less) of the\n * previous lower octave. Any value between 0.0 and 1.0 is valid,\n * however note that values greater than 0.5 might result in greater\n * than 1.0 values returned by noise.\n * \n * By changing these parameters, the signal created by the noise\n * function can be adapted to fit very specific needs and\n * characteristics.\n */\nquil.core.noise_detail \x3d (function quil$core$noise_detail(var_args){\nvar G__16712 \x3d arguments.length;\nswitch (G__16712) {\ncase 1:\nreturn quil.core.noise_detail.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.noise_detail.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.noise_detail.cljs$core$IFn$_invoke$arity$1 \x3d (function (octaves){\nreturn quil.sketch.current_applet().noiseDetail((octaves | (0)));\n}));\n\n(quil.core.noise_detail.cljs$core$IFn$_invoke$arity$2 \x3d (function (octaves,falloff){\nreturn quil.sketch.current_applet().noiseDetail((octaves | (0)),falloff);\n}));\n\n(quil.core.noise_detail.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Sets the seed value for noise. By default, noise produces different\n * results each time the program is run. Set the `val` parameter to a\n * constant to return the same pseudo-random numbers each time the\n * software is run.\n */\nquil.core.noise_seed \x3d (function quil$core$noise_seed(val){\nreturn quil.sketch.current_applet().noiseSeed(cljs.core.long$(val));\n});\n/**\n * Stops Processing from continuously executing the code within\n * `draw`. If [[start-loop]] is called, the code in `draw` will begin to run\n * continuously again. If using [[no-loop]] in setup, it should be the last\n * line inside the block.\n * \n * When [[no-loop]] is used, it\x27s not possible to manipulate or access the\n * screen inside event handling functions such as [[mouse-pressed?]] or\n * [[key-pressed?]]. Instead, use those functions to call [[redraw]] or\n * loop which will run `draw`, which can update the screen\n * properly. This means that when [[no-loop]] has been called, no drawing\n * can happen, and functions like [[save-frame]] may not be used.\n * \n * Note that if the sketch is resized, [[redraw]] will be called to\n * update the sketch, even after [[no-loop]] has been\n * specified. Otherwise, the sketch would enter an odd state until\n * loop was called.\n */\nquil.core.no_loop \x3d (function quil$core$no_loop(){\nquil.sketch.current_applet().noLoop();\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22looping?\x22,\x22looping?\x22,78344245),false);\n});\n/**\n * Normalize a value to exist between 0 and 1 (inclusive).\n */\nquil.core.norm \x3d (function quil$core$norm(val,start,stop){\nreturn quil.sketch.current_applet().norm(val,start,stop);\n});\n/**\n * Draws all geometry with jagged (aliased) edges. Must be called inside\n * `:settings` handler.\n */\nquil.core.no_smooth \x3d (function quil$core$no_smooth(){\nreturn quil.core.current_graphics().noSmooth();\n});\n/**\n * Disables drawing the stroke (outline). If both [[no-stroke]] and\n * [[no-fill]] are called, nothing will be drawn to the screen.\n */\nquil.core.no_stroke \x3d (function quil$core$no_stroke(){\nquil.core.current_graphics().noStroke();\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22current-stroke\x22,\x22current-stroke\x22,-1338415274),null);\n});\n/**\n * Removes the current fill value for displaying images and reverts to\n * displaying images with their original hues.\n */\nquil.core.no_tint \x3d (function quil$core$no_tint(){\nreturn quil.core.current_graphics().noTint();\n});\n/**\n * Allows the camera to orbit around a target using mouse.\n */\nquil.core.orbit_control \x3d (function quil$core$orbit_control(){\nreturn quil.core.current_graphics().orbitControl();\n});\n/**\n * Sets an orthographic projection and defines a parallel clipping\n * volume. All objects with the same dimension appear the same size,\n * regardless of whether they are near or far from the camera. The\n * parameters to this function specify the clipping volume where `left`\n * and `right` are the minimum and maximum x values, `top` and `bottom` are\n * the minimum and maximum y values, and `near` and `far` are the minimum\n * and maximum z values. If no parameters are given, the default is\n * used: `(ortho 0 width 0 height -10 10)`\n */\nquil.core.ortho \x3d (function quil$core$ortho(var_args){\nvar G__16714 \x3d arguments.length;\nswitch (G__16714) {\ncase 0:\nreturn quil.core.ortho.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 4:\nreturn quil.core.ortho.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn quil.core.ortho.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.ortho.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().ortho();\n}));\n\n(quil.core.ortho.cljs$core$IFn$_invoke$arity$4 \x3d (function (left,right,bottom,top){\nreturn quil.core.current_graphics().ortho(left,right,bottom,top);\n}));\n\n(quil.core.ortho.cljs$core$IFn$_invoke$arity$6 \x3d (function (left,right,bottom,top,near,far){\nreturn quil.core.current_graphics().ortho(left,right,bottom,top,near,far);\n}));\n\n(quil.core.ortho.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Sets a perspective projection applying foreshortening, making\n * distant objects appear smaller than closer ones. The parameters\n * define a viewing volume with the shape of truncated pyramid. Objects\n * near to the front of the volume appear their actual size, while\n * farther objects appear smaller. This projection simulates the\n * perspective of the world more accurately than orthographic\n * projection. The version of perspective without parameters sets the\n * default perspective and the version with four parameters allows the\n * programmer to set the area precisely. The default values are:\n * `perspective(PI/3.0, width/height, cameraZ/10.0, cameraZ*10.0)` where\n * `cameraZ` is `((height/2.0) / tan(PI*60.0/360.0))`\n */\nquil.core.perspective \x3d (function quil$core$perspective(var_args){\nvar G__16716 \x3d arguments.length;\nswitch (G__16716) {\ncase 0:\nreturn quil.core.perspective.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 4:\nreturn quil.core.perspective.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.perspective.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().perspective();\n}));\n\n(quil.core.perspective.cljs$core$IFn$_invoke$arity$4 \x3d (function (fovy,aspect,z_near,z_far){\nreturn quil.core.current_graphics().perspective(fovy,aspect,z_near,z_far);\n}));\n\n(quil.core.perspective.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * It makes it possible for Processing to render using all of the pixels\n * on high resolutions screens like Apple Retina displays and Windows\n * High-DPI displays. Possible values 1 or 2. Must be called only from\n * `:settings` handler. To get density of the current screen you can use\n * the [[display-density]] function.\n */\nquil.core.pixel_density \x3d (function quil$core$pixel_density(density){\nreturn quil.sketch.current_applet().pixelDensity(density);\n});\n/**\n * Array containing the values for all the pixels in the display\n * window or image. This array is therefore the size of the display window. If\n * this array is modified, the [[update-pixels]] function must be called to\n * update the changes. Calls `.loadPixels` before obtaining the pixel array.\n */\nquil.core.pixels \x3d (function quil$core$pixels(var_args){\nvar G__16718 \x3d arguments.length;\nswitch (G__16718) {\ncase 0:\nreturn quil.core.pixels.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.pixels.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.pixels.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.pixels.cljs$core$IFn$_invoke$arity$1(quil.core.current_graphics());\n}));\n\n(quil.core.pixels.cljs$core$IFn$_invoke$arity$1 \x3d (function (img){\nimg.loadPixels();\n\nreturn img.pixels;\n}));\n\n(quil.core.pixels.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Draw a plane with given `width` and `height`.\n */\nquil.core.plane \x3d (function quil$core$plane(width,height){\nreturn quil.core.current_graphics().plane(width,height);\n});\n/**\n * Horizontal coordinate of the mouse in the previous frame\n */\nquil.core.pmouse_x \x3d (function quil$core$pmouse_x(){\nreturn quil.sketch.current_applet().pmouseX;\n});\n/**\n * Vertical coordinate of the mouse in the previous frame\n */\nquil.core.pmouse_y \x3d (function quil$core$pmouse_y(){\nreturn quil.sketch.current_applet().pmouseY;\n});\n/**\n * Draws a point, a coordinate in space at the dimension of one\n * pixel.\n * \n * Parameters:\n * * `x` - the horizontal value for the point\n * * `y` - the vertical value for the point\n * * `z` - the depth value (optional)\n * \n * Drawing this shape in 3D using the `z` parameter requires the `:p3d`\n * or `:opengl` renderer to be used.\n */\nquil.core.point \x3d (function quil$core$point(var_args){\nvar G__16720 \x3d arguments.length;\nswitch (G__16720) {\ncase 2:\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.point.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn quil.core.current_graphics().point(x,y);\n}));\n\n(quil.core.point.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nreturn quil.core.current_graphics().point(x,y,z);\n}));\n\n(quil.core.point.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Adds a point light. Lights need to be included in the draw() to\n * remain persistent in a looping program. Placing them in the setup()\n * of a looping program will cause them to only have an effect the\n * first time through the loop. The affect of the `r`, `g`, and `b`\n * parameters is determined by the current [[color-mode]]. The `x`, `y`, and `z`\n * parameters set the position of the light\n */\nquil.core.point_light \x3d (function quil$core$point_light(r,g,b,x,y,z){\nreturn quil.core.current_graphics().pointLight(r,g,b,x,y,z);\n});\n/**\n * Pops the current transformation matrix off the matrix\n * stack. Understanding pushing and popping requires understanding the\n * concept of a matrix stack. The [[push-matrix]] function saves the current\n * coordinate system to the stack and [[pop-matrix]] restores the prior\n * coordinate system. [[push-matrix]] and [[pop-matrix]] are used in conjunction\n * with the other transformation methods and may be embedded to control\n * the scope of the transformations.\n */\nquil.core.pop_matrix \x3d (function quil$core$pop_matrix(){\nreturn quil.core.current_graphics().pop();\n});\n/**\n * Restores the prior settings on the \x27style stack\x27. Used in\n * conjunction with [[push-style]]. Together they allow you to change the\n * style settings and later return to what you had. When a new style is\n * started with [[push-style]], it builds on the current style information.\n * The [[push-style]] and [[pop-style]] functions can be nested to provide more\n * control\n */\nquil.core.pop_style \x3d (function quil$core$pop_style(){\nreturn quil.core.current_graphics().pop();\n});\n/**\n * Facilitates exponential expressions. The [[pow]] function is an\n * efficient way of multiplying numbers by themselves (or their\n * reciprocal) in large quantities. For example, `(pow 3 5)` is\n * equivalent to the expression `(* 3 3 3 3 3)` and `(pow 3 -5)` is\n * equivalent to `(/ 1 (* 3 3 3 3 3))`.\n */\nquil.core.pow \x3d (function quil$core$pow(num,exponent){\nreturn quil.sketch.current_applet().pow(num,exponent);\n});\n/**\n * Pushes the current transformation matrix onto the matrix\n * stack. Understanding [[[push-matrix]] and [[pop-matrix]] requires\n * understanding the concept of a matrix stack. The [[push-matrix]]\n * function saves the current coordinate system to the stack and\n * [[pop-matrix]] restores the prior coordinate system. [[push-matrix]] and\n * [[pop-matrix]] are used in conjunction with the other transformation\n * methods and may be embedded to control the scope of the\n * transformations.\n */\nquil.core.push_matrix \x3d (function quil$core$push_matrix(){\nreturn quil.core.current_graphics().push();\n});\n/**\n * Saves the current style settings onto a \x27style stack\x27. Use with\n * [[pop-style]] which restores the prior settings. Note that these\n * functions are always used together. They allow you to change the\n * style settings and later return to what you had. When a new style is\n * started with [[push-style]], it builds on the current style\n * information. The [[push-style]] and [[pop-style]] functions can be\n * embedded to provide more control.\n * \n * The style information controlled by the following functions are\n * included in the\n * style: [[fill]], [[stroke]], [[tint]], [[stroke-weight]],\n * [[stroke-cap]], [[stroke-join]], [[image-mode]], [[rect-mode]],\n * [[ellipse-mode]], [[shape-mode]], [[color-mode]], [[text-align]],\n * [[text-font]], [[text-mode]], [[text-size]], [[text-leading]],\n * [[emissive]], [[specular]], [[shininess]], and [[ambient]].\n */\nquil.core.push_style \x3d (function quil$core$push_style(){\nreturn quil.core.current_graphics().push();\n});\n/**\n * A quad is a quadrilateral, a four sided polygon. It is similar to a\n * rectangle, but the angles between its edges are not constrained to\n * be ninety degrees. The first pair of parameters `(x1,y1)` sets the\n * first vertex and the subsequent pairs should proceed clockwise or\n * counter-clockwise around the defined shape.\n */\nquil.core.quad \x3d (function quil$core$quad(x1,y1,x2,y2,x3,y3,x4,y4){\nreturn quil.core.current_graphics().quad(x1,y1,x2,y2,x3,y3,x4,y4);\n});\n/**\n * Specifies vertex coordinates for quadratic Bezier curves. Each call to\n * [[quadratic-vertex]] defines the position of one control points and one\n * anchor point of a Bezier curve, adding a new segment to a line or shape.\n * The first time [[quadratic-vertex]] is used within a [[begin-shape]] call, it\n * must be prefaced with a call to [[vertex]] to set the first anchor point.\n * This function must be used between [[begin-shape]] and [[end-shape]] and only\n * when there is no MODE parameter specified to begin-shape. Using the 3D\n * version requires rendering with `:p3d`.\n */\nquil.core.quadratic_vertex \x3d (function quil$core$quadratic_vertex(var_args){\nvar G__16722 \x3d arguments.length;\nswitch (G__16722) {\ncase 4:\nreturn quil.core.quadratic_vertex.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn quil.core.quadratic_vertex.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.quadratic_vertex.cljs$core$IFn$_invoke$arity$4 \x3d (function (cx,cy,x3,y3){\nreturn quil.core.current_graphics().quadraticVertex(cx,cy,x3,y3);\n}));\n\n(quil.core.quadratic_vertex.cljs$core$IFn$_invoke$arity$6 \x3d (function (cx,cy,cz,x3,y3,z3){\nreturn quil.core.current_graphics().quadraticVertex(cx,cy,cz,x3,y3,z3);\n}));\n\n(quil.core.quadratic_vertex.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Converts a `degrees` measurement to its corresponding value in\n * radians. Radians and degrees are two ways of measuring the same\n * thing. There are 360 degrees in a circle and `2*PI` radians in a\n * circle. For example, `90\xb0 \x3d PI/2 \x3d 1.5707964`. All\n * trigonometric methods require their parameters to be specified in\n * radians.\n */\nquil.core.radians \x3d (function quil$core$radians(degrees){\nreturn quil.sketch.current_applet().radians(degrees);\n});\n/**\n * Generates random numbers. Each time the random function is called,\n * it returns an unexpected value within the specified range. If one\n * parameter is passed to the function it will return a `float` between\n * zero and the value of the high parameter. The function call `(random\n * 5)` returns values between 0 and 5 (starting at zero, up to but not\n * including 5). If two parameters are passed, it will return a `float`\n * with a value between the parameters. The function call\n * `(random -5 10.2)` returns values starting at -5 up to (but not\n * including) 10.2.\n */\nquil.core.random \x3d (function quil$core$random(var_args){\nvar G__16724 \x3d arguments.length;\nswitch (G__16724) {\ncase 1:\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.random.cljs$core$IFn$_invoke$arity$1 \x3d (function (max){\nreturn quil.sketch.current_applet().random(max);\n}));\n\n(quil.core.random.cljs$core$IFn$_invoke$arity$2 \x3d (function (min,max){\nreturn quil.sketch.current_applet().random(min,max);\n}));\n\n(quil.core.random.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a new 2D unit vector with a random direction\n */\nquil.core.random_2d \x3d (function quil$core$random_2d(){\nvar theta \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1(quil.core.TWO_PI);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [Math.cos(theta),Math.sin(theta)], null);\n});\n/**\n * Returns a new 3D unit vector with a random direction\n */\nquil.core.random_3d \x3d (function quil$core$random_3d(){\nvar theta \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1(quil.core.TWO_PI);\nvar u \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1));\nvar xy \x3d Math.sqrt(((1) - (u * u)));\nvar vx \x3d (xy * Math.cos(theta));\nvar vy \x3d (xy * Math.sin(theta));\nvar vz \x3d u;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [vx,vy,vz], null);\n});\n/**\n * Returns a `float` from a random series of numbers having a mean of 0 and\n * standard deviation of 1. Each time the [[random-gaussian]] function is called,\n * it returns a number fitting a Gaussian, or normal, distribution.\n * There is theoretically no minimum or maximum value that [[random-gaussian]]\n * might return. Rather, there is just a very low probability that values far\n * from the mean will be returned; and a higher probability that numbers near\n * the mean will be returned.\n */\nquil.core.random_gaussian \x3d (function quil$core$random_gaussian(){\nreturn quil.sketch.current_applet().randomGaussian();\n});\n/**\n * Sets the seed value for random. By default, random produces\n * different results each time the program is run. Set the value\n * parameter to a constant to return the same pseudo-random numbers\n * each time the software is run.\n */\nquil.core.random_seed \x3d (function quil$core$random_seed(w){\nreturn quil.sketch.current_applet().randomSeed(w);\n});\n/**\n * Contains the value of the most recent key on the keyboard that was\n * used (either pressed or released).\n * \n * For non-ASCII keys, use [[key-code]]. The keys included in\n * the ASCII specification (`BACKSPACE`, `TAB`, `ENTER`, `RETURN`, `ESC`, and\n * `DELETE`) do not require checking to see if the key is coded, and you\n * should simply use [[raw-key]] instead of [[key-code]]. If you\x27re\n * making cross-platform projects, note that the `ENTER` key is commonly\n * used on PCs and Unix and the `RETURN` key is used instead on\n * Macintosh. Check for both `ENTER` and `RETURN` to make sure your program\n * will work for all platforms.\n */\nquil.core.raw_key \x3d (function quil$core$raw_key(){\nreturn quil.sketch.current_applet().key;\n});\n/**\n * Draws a rectangle to the screen. A rectangle is a four-sided shape\n * with every angle at ninety degrees. By default, the first two\n * parameters set the location of the upper-left corner, the third\n * sets the width, and the fourth sets the height. These parameters\n * may be changed with [[rect-mode]].\n * \n * To draw a rounded rectangle, add a fifth parameter, which is used as\n * the radius value for all four corners. To use a different radius value\n * for each corner, include eight parameters.\n */\nquil.core.rect \x3d (function quil$core$rect(var_args){\nvar G__16726 \x3d arguments.length;\nswitch (G__16726) {\ncase 4:\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 8:\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.rect.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,width,height){\nreturn quil.core.current_graphics().rect(x,y,width,height);\n}));\n\n(quil.core.rect.cljs$core$IFn$_invoke$arity$5 \x3d (function (x,y,width,height,r){\nreturn quil.core.current_graphics().rect(x,y,width,height,r);\n}));\n\n(quil.core.rect.cljs$core$IFn$_invoke$arity$8 \x3d (function (x,y,width,height,top_left_r,top_right_r,bottom_right_r,bottom_left_r){\nreturn quil.core.current_graphics().rect(x,y,width,height,top_left_r,top_right_r,bottom_right_r,bottom_left_r);\n}));\n\n(quil.core.rect.cljs$lang$maxFixedArity \x3d 8);\n\n/**\n * Modifies the location from which rectangles draw. The default `mode`\n * is `:corner`. Available modes are:\n * \n * * `:corner` - Specifies the location to be the upper left corner of the\n * shape and uses the third and fourth parameters of [[rect]] to\n * specify the width and height.\n * * `:corners` - Uses the first and second parameters of [[rect]] to set the\n * location of one corner and uses the third and fourth\n * parameters to set the opposite corner.\n * * `:center` - Draws the image from its center point and uses the third\n * and fourth parameters of [[rect]] to specify the image\x27s width\n * and height.\n * * `:radius` - Draws the image from its center point and uses the third\n * and forth parameters of [[rect]] to specify half of the\n * image\x27s width and height.\n */\nquil.core.rect_mode \x3d (function quil$core$rect_mode(mode){\nvar mode__$1 \x3d quil.util.resolve_constant_key(mode,quil.core.rect_modes);\nreturn quil.core.current_graphics().rectMode(mode__$1);\n});\n/**\n * Prints the provided arguments for the first `n` iterations.\n */\nquil.core.print_first_n \x3d (function quil$core$print_first_n(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17031 \x3d arguments.length;\nvar i__5770__auto___17032 \x3d (0);\nwhile(true){\nif((i__5770__auto___17032 \x3c len__5769__auto___17031)){\nargs__5775__auto__.push((arguments[i__5770__auto___17032]));\n\nvar G__17033 \x3d (i__5770__auto___17032 + (1));\ni__5770__auto___17032 \x3d G__17033;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn quil.core.print_first_n.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(quil.core.print_first_n.cljs$core$IFn$_invoke$arity$variadic \x3d (function (n,more){\nif((quil.core.frame_count() \x3c\x3d n)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.println,more);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.print_first_n.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(quil.core.print_first_n.cljs$lang$applyTo \x3d (function (seq16727){\nvar G__16728 \x3d cljs.core.first(seq16727);\nvar seq16727__$1 \x3d cljs.core.next(seq16727);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16728,seq16727__$1);\n}));\n\n/**\n * Prints the provided arguments every `n` milliseconds.\n */\nquil.core.print_every_n_millisec \x3d (function quil$core$print_every_n_millisec(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17035 \x3d arguments.length;\nvar i__5770__auto___17036 \x3d (0);\nwhile(true){\nif((i__5770__auto___17036 \x3c len__5769__auto___17035)){\nargs__5775__auto__.push((arguments[i__5770__auto___17036]));\n\nvar G__17037 \x3d (i__5770__auto___17036 + (1));\ni__5770__auto___17036 \x3d G__17037;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn quil.core.print_every_n_millisec.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(quil.core.print_every_n_millisec.cljs$core$IFn$_invoke$arity$variadic \x3d (function (n,more){\nvar elapsed \x3d quil.core.millis();\nvar state \x3d quil.core.internal_state();\nif((n \x3c (elapsed - cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(state),new cljs.core.Keyword(null,\x22last-time\x22,\x22last-time\x22,-1707132740),(0))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state,cljs.core.assoc,new cljs.core.Keyword(null,\x22last-time\x22,\x22last-time\x22,-1707132740),elapsed);\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.println,more);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.print_every_n_millisec.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(quil.core.print_every_n_millisec.cljs$lang$applyTo \x3d (function (seq16729){\nvar G__16730 \x3d cljs.core.first(seq16729);\nvar seq16729__$1 \x3d cljs.core.next(seq16729);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16730,seq16729__$1);\n}));\n\n/**\n * Extracts the red value from a color, scaled to match the current\n * [[color-mode]].\n */\nquil.core.red \x3d (function quil$core$red(c){\nreturn quil.core.current_graphics().red(quil.util.clj_unchecked_int(c));\n});\n/**\n * Executes the code within the `draw` function one time (or n times in cljs).\n * This function allows the program to update the display window only\n * when necessary, for example when an event registered by [[mouse-pressed?]] or\n * [[key-pressed?]] occurs.\n * \n * In structuring a program, it only makes sense to call [[redraw]]\n * within events such as [[mouse-pressed?]]. This is because [[redraw]] does\n * not run draw immediately (it only sets a flag that indicates an\n * update is needed).\n * \n * Calling [[redraw]] within `draw` has no effect because `draw` is\n * continuously called anyway.\n */\nquil.core.redraw \x3d (function quil$core$redraw(var_args){\nvar G__16732 \x3d arguments.length;\nswitch (G__16732) {\ncase 0:\nreturn quil.core.redraw.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.redraw.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.redraw.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.sketch.current_applet().redraw();\n}));\n\n(quil.core.redraw.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn quil.sketch.current_applet().redraw(n);\n}));\n\n(quil.core.redraw.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Replaces the current matrix with the identity matrix. The\n * equivalent function in OpenGL is `glLoadIdentity()`\n */\nquil.core.reset_matrix \x3d (function quil$core$reset_matrix(){\nreturn quil.core.current_graphics().resetMatrix();\n});\n/**\n * Resize the image to a new width and height.\n * To make the image scale proportionally, use 0 as the value for the wide or\n * high parameter. For instance, to make the width of an image 150 pixels,\n * and change the height using the same proportion, use `(resize 150 0)`.\n * \n * Even though a `PGraphics` is technically a `PImage`, it is not possible\n * to rescale the image data found in a `PGraphics`.\n * (It\x27s simply not possible to do this consistently across renderers:\n * technically infeasible with P3D, or what would it even do with PDF?)\n * If you want to resize `PGraphics` content, first get a copy of its image data\n * using the get() method, and call resize() on the `PImage` that is returned.\n */\nquil.core.resize \x3d (function quil$core$resize(img,w,h){\nreturn img.resize(w,h);\n});\n/**\n * Resizes sketch.\n * Note about ClojureScript version: if the `div` element is resized externally\n * (for example from js on a page then you still need to call this\n * method in order to tell Quil that size has changed. Currently there is no\n * good way to automatically detect that size of the `\x3cdiv\x3e` element changed.\n */\nquil.core.resize_sketch \x3d (function quil$core$resize_sketch(width,height){\nreturn quil.sketch.set_size(quil.sketch.current_applet(),width,height);\n});\n/**\n * Rotates a shape the amount specified by the `angle` parameter. Angles\n * should be specified in radians (values from 0 to TWO-PI) or\n * converted to radians with the [[radians]] function.\n * \n * Objects are always rotated around their relative position to the\n * origin and positive numbers rotate objects in a clockwise\n * direction. Transformations apply to everything that happens after\n * and subsequent calls to the function accumulates the effect. For\n * example, calling `(rotate HALF-PI)` and then `(rotate HALF-PI)` is the\n * same as `(rotate PI)`. All transformations are reset when draw begins\n * again.\n * \n * Technically, rotate multiplies the current transformation matrix by\n * a rotation matrix. This function can be further controlled by the\n * [[push-matrix]] and [[pop-matrix]] functions.\n * \n * When 4 arguments are provided it produces a rotation of `angle` degrees\n * around the vector `vx` `vy` `vz`. Check examples to better understand.\n * This rotation follows the right-hand rule, so if the vector x y z points\n * toward the user, the rotation will be counterclockwise.\n */\nquil.core.rotate \x3d (function quil$core$rotate(var_args){\nvar G__16734 \x3d arguments.length;\nswitch (G__16734) {\ncase 1:\nreturn quil.core.rotate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 4:\nreturn quil.core.rotate.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.rotate.cljs$core$IFn$_invoke$arity$1 \x3d (function (angle){\nreturn quil.core.current_graphics().rotate(angle);\n}));\n\n(quil.core.rotate.cljs$core$IFn$_invoke$arity$4 \x3d (function (angle,vx,vy,vz){\nreturn quil.core.current_graphics().rotate(angle,[vx,vy,vz]);\n}));\n\n(quil.core.rotate.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Rotates a shape around the x-axis the amount specified by the `angle`\n * parameter. Angles should be specified in radians (values from 0 to\n * (* PI 2)) or converted to radians with the [[radians]] function. Objects\n * are always rotated around their relative position to the origin and\n * positive numbers rotate objects in a counterclockwise\n * direction. Transformations apply to everything that happens after\n * and subsequent calls to the function accumulates the effect. For\n * example, calling `(rotate-x HALF-PI)` and then `(rotate-x HALF-PI)` is\n * the same as `(rotate-x PI)`. If [[rotate-x]] is called within the draw\n * function, the transformation is reset when the loop begins again. This\n * function requires either the `:p3d` or `:opengl` renderer.\n */\nquil.core.rotate_x \x3d (function quil$core$rotate_x(angle){\nreturn quil.core.current_graphics().rotateX(angle);\n});\n/**\n * Rotates a shape around the y-axis the amount specified by the `angle`\n * parameter. Angles should be specified in radians (values from 0\n * to (* PI 2)) or converted to radians with the [[radians]] function.\n * Objects are always rotated around their relative position to the\n * origin and positive numbers rotate objects in a counterclockwise\n * direction. Transformations apply to everything that happens after\n * and subsequent calls to the function accumulates the effect. For\n * example, calling `(rotate-y HALF-PI)` and then `(rotate-y HALF-PI)` is\n * the same as `(rotate-y PI)`. If [[rotate-y]] is called within the draw\n * function, the transformation is reset when the loop begins again. This\n * function requires either the `:p3d` or `:opengl` renderer.\n */\nquil.core.rotate_y \x3d (function quil$core$rotate_y(angle){\nreturn quil.core.current_graphics().rotateY(angle);\n});\n/**\n * Rotates a shape around the z-axis the amount specified by the `angle`\n * parameter. Angles should be specified in radians (values from 0\n * to (* PI 2)) or converted to radians with the [[radians]] function.\n * Objects are always rotated around their relative position to the\n * origin and positive numbers rotate objects in a counterclockwise\n * direction. Transformations apply to everything that happens after\n * and subsequent calls to the function accumulates the effect. For\n * example, calling `(rotate-z HALF-PI)` and then `(rotate-z HALF-PI)` is\n * the same as `(rotate-z PI)`. If [[rotate-y]] is called within the draw\n * function, the transformation is reset when the loop begins again. This\n * function requires either the `:p3d` or `:opengl` renderer.\n */\nquil.core.rotate_z \x3d (function quil$core$rotate_z(angle){\nreturn quil.core.current_graphics().rotateZ(angle);\n});\n/**\n * Calculates the integer closest to the value parameter. For example,\n * `(round 9.2)` returns the value 9.\n */\nquil.core.round \x3d (function quil$core$round(val){\nreturn quil.sketch.current_applet().round(val);\n});\n/**\n * Extracts the saturation value from a color.\n */\nquil.core.saturation \x3d (function quil$core$saturation(c){\nreturn quil.core.current_graphics().saturation(quil.util.clj_unchecked_int(c));\n});\n/**\n * Saves an image from the display window. Images are saved in TIFF,\n * TARGA, JPEG, and PNG format depending on the extension within the\n * filename parameter. For example, image.tif will have a TIFF image\n * and image.png will save a PNG image. If no extension is included in\n * the filename, the image will save in TIFF format and .tif will be\n * added to the name. All images saved from the main drawing window\n * will be opaque. To save images without a background, use\n * [[create-graphics]].\n */\nquil.core.save \x3d (function quil$core$save(filename){\nreturn quil.core.current_graphics().save(cljs.core.str.cljs$core$IFn$_invoke$arity$1(filename));\n});\n/**\n * Increases or decreases the size of a shape by expanding and\n * contracting vertices. Objects always scale from their relative\n * origin to the coordinate system. Scale values are specified as\n * decimal percentages. For example, the function call `(scale 2)`\n * increases the dimension of a shape by 200%. Transformations apply to\n * everything that happens after and subsequent calls to the function\n * multiply the effect. For example, calling `(scale 2)` and then\n * `(scale 1.5)` is the same as `(scale 3)`. If scale is called within\n * draw, the transformation is reset when the loop begins again. Using\n * this function with the `sz` parameter requires specifying `:p3d` or `:opengl`\n * as the renderer. This function can be further controlled by\n * [[push-matrix]] and [[pop-matrix]].\n */\nquil.core.scale \x3d (function quil$core$scale(var_args){\nvar G__16736 \x3d arguments.length;\nswitch (G__16736) {\ncase 1:\nreturn quil.core.scale.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.scale.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.scale.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.scale.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn quil.core.current_graphics().scale(s);\n}));\n\n(quil.core.scale.cljs$core$IFn$_invoke$arity$2 \x3d (function (sx,sy){\nreturn quil.core.current_graphics().scale(sx,sy);\n}));\n\n(quil.core.scale.cljs$core$IFn$_invoke$arity$3 \x3d (function (sx,sy,sz){\nreturn quil.core.current_graphics().scale(sx,sy,sz);\n}));\n\n(quil.core.scale.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the current second as a value from 0 - 59.\n */\nquil.core.seconds \x3d (function quil$core$seconds(){\nreturn quil.sketch.current_applet().second();\n});\n/**\n * Changes the color of any pixel in the display window. The `x` and `y`\n * parameters specify the pixel to change and the `c` parameter\n * specifies the color value. The color parameter is affected by the\n * current [[color-mode]] (the default is RGB values from 0 to 255).\n * \n * Setting the color of a single pixel with `(set-pixel x y)` is easy, but not\n * as fast as putting the data directly into [[pixels]].\n * \n * This function ignores [[image-mode]].\n * \n * Due to what appears to be a bug in Apple\x27s Java implementation, the\n * [[point]] and [[set-pixel]] methods are extremely slow in some circumstances\n * when used with the default renderer. Using `:p2d` or `:p3d` will fix the\n * problem. Grouping many calls to [[point]] or [[set-pixel]] together can also\n * help. (Bug 1094)\n */\nquil.core.set_pixel \x3d (function quil$core$set_pixel(var_args){\nvar G__16738 \x3d arguments.length;\nswitch (G__16738) {\ncase 3:\nreturn quil.core.set_pixel.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.set_pixel.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.set_pixel.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,c){\nreturn quil.core.set_pixel.cljs$core$IFn$_invoke$arity$4(quil.core.current_graphics(),x,y,c);\n}));\n\n(quil.core.set_pixel.cljs$core$IFn$_invoke$arity$4 \x3d (function (img,x,y,c){\nreturn img.set((x | (0)),(y | (0)),c);\n}));\n\n(quil.core.set_pixel.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Writes an image directly into the display window. The `x` and `y`\n * parameters define the coordinates for the upper-left corner of the\n * image.\n */\nquil.core.set_image \x3d (function quil$core$set_image(x,y,src){\nreturn quil.core.current_graphics().set((x | (0)),(y | (0)),src);\n});\n/**\n * Applies the shader specified by the parameters. It\x27s compatible with the `:p2d`\n * and `:p3d` renderers, but not with the default `:java2d` renderer.\n * In clj mode you can pass an optional `kind` parameter that specifies\n * the type of shader, either `:points`, `:lines`, or `:triangles`\n */\nquil.core.shader \x3d (function quil$core$shader(shader){\nreturn quil.core.current_graphics().shader(shader);\n});\n/**\n * Displays shapes to the screen. The shapes must have been loaded\n * with [[load-shape]]. Processing currently works with SVG shapes\n * only. The `sh` parameter specifies the shape to display and the `x` and\n * `y` parameters define the location of the shape from its upper-left\n * corner. The shape is displayed at its original size unless the `width`\n * and `height` parameters specify a different size. The [[shape-mode]]\n * function changes the way the parameters work. A call to\n * `(shape-mode :corners)` for example, will change the width and height\n * parameters to define the x and y values of the opposite corner of\n * the shape.\n * \n * Note complex shapes may draw awkwardly with the renderers `:p2d`, `:p3d`, and\n * `:opengl`. Those renderers do not yet support shapes that have holes\n * or complicated breaks.\n */\nquil.core.shape \x3d (function quil$core$shape(sh){\nreturn quil.core.current_graphics().model(sh);\n});\n/**\n * Shears a shape around the x-axis the amount specified by the `angle`\n * parameter. Angles should be specified in radians (values from 0 to\n * PI*2) or converted to radians with the [[radians]] function. Objects\n * are always sheared around their relative position to the origin and\n * positive numbers shear objects in a clockwise direction.\n * Transformations apply to everything that happens after and\n * subsequent calls to the function accumulates the effect. For\n * example, calling `(shear-x (/ PI 2))` and then `(shear-x (/ PI 2))` is\n * the same as `(shear-x PI)`. If [[shear-x]] is called within the draw\n * function, the transformation is reset when the loop begins again. This\n * function works in P2D or JAVA2D mode.\n * \n * Technically, [[shear-x]] multiplies the current transformation matrix\n * by a rotation matrix. This function can be further controlled by the\n * [[push-matrix]] and [[pop-matrix]] functions.\n */\nquil.core.shear_x \x3d (function quil$core$shear_x(angle){\nreturn quil.core.current_graphics().shearX(angle);\n});\n/**\n * Shears a shape around the y-axis the amount specified by the `angle`\n * parameter. Angles should be specified in radians (values from 0 to\n * PI*2) or converted to radians with the [[radians]] function. Objects\n * are always sheared around their relative position to the origin and\n * positive numbers shear objects in a clockwise direction.\n * Transformations apply to everything that happens after and\n * subsequent calls to the function accumulates the effect. For\n * example, calling `(shear-y (/ PI 2))` and then `(shear-y (/ PI 2))` is\n * the same as `(shear-y PI)`. If [[shear-y]] is called within the draw\n * function, the transformation is reset when the loop begins again. This\n * function works in P2D or JAVA2D mode.\n * \n * Technically, [[shear-y]] multiplies the current transformation matrix\n * by a rotation matrix. This function can be further controlled by the\n * [[push-matrix]] and [[pop-matrix]] functions.\n */\nquil.core.shear_y \x3d (function quil$core$shear_y(angle){\nreturn quil.core.current_graphics().shearY(angle);\n});\n/**\n * Sets the amount of gloss in the surface of shapes. Used in\n * combination with [[ambient]], [[specular]], and [[emissive]] in setting\n * the material properties of shapes.\n */\nquil.core.shininess \x3d (function quil$core$shininess(shine){\nreturn quil.core.current_graphics().shininess(shine);\n});\n/**\n * Calculates the sine of an angle. This function expects the values\n * of the angle parameter to be provided in radians (values from 0 to\n * 6.28). A `float` within the range -1 to 1 is returned.\n */\nquil.core.sin \x3d (function quil$core$sin(angle){\nreturn quil.sketch.current_applet().sin(angle);\n});\n/**\n * Draws all geometry with smooth (anti-aliased) edges. This will slow\n * down the frame rate of the application, but will enhance the visual\n * refinement.\n * \n * Must be called inside `:settings` handler.\n * \n * The `level` parameter (int) increases the level of smoothness with the\n * `:p2d` and `:p3d` renderers. This is the level of over sampling applied to\n * the graphics buffer. The value `2` will double the rendering size\n * before scaling it down to the display size. This is called `2x\n * anti-aliasing`. The value `4` is used for `4x anti-aliasing` and `8` is\n * specified for `8x anti-aliasing`. If level is set to `0`, it will disable\n * all smoothing; it\x27s the equivalent of the function [[no-smooth]].\n * The maximum anti-aliasing level is determined by the hardware of the\n * machine that is running the software.\n * \n * Note that smooth will also improve image quality of resized images.\n */\nquil.core.smooth \x3d (function quil$core$smooth(var_args){\nvar G__16740 \x3d arguments.length;\nswitch (G__16740) {\ncase 0:\nreturn quil.core.smooth.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.smooth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.smooth.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.current_graphics().smooth();\n}));\n\n(quil.core.smooth.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn quil.core.current_graphics().smooth((level | (0)));\n}));\n\n(quil.core.smooth.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Sets the specular color of the materials used for shapes drawn to\n * the screen, which sets the color of highlights. Specular refers to\n * light which bounces off a surface in a preferred direction (rather\n * than bouncing in all directions like a diffuse light). Used in\n * combination with [[emissive]], [[ambient]], and [[shininess]] in setting\n * the material properties of shapes.\n */\nquil.core.specular \x3d (function quil$core$specular(var_args){\nvar G__16742 \x3d arguments.length;\nswitch (G__16742) {\ncase 1:\nreturn quil.core.specular.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn quil.core.specular.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.specular.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nreturn quil.core.current_graphics().specularMaterial(gray);\n}));\n\n(quil.core.specular.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nreturn quil.core.current_graphics().specularMaterial(x,y,z);\n}));\n\n(quil.core.specular.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Generates a hollow ball made from tessellated triangles.\n */\nquil.core.sphere \x3d (function quil$core$sphere(radius){\nreturn quil.core.current_graphics().sphere(radius);\n});\n/**\n * Squares a number (multiplies a number by itself). The result is\n * always a positive number, as multiplying two negative numbers always\n * yields a positive result. For example, -1 * -1 \x3d 1.\n */\nquil.core.sq \x3d (function quil$core$sq(a){\nreturn quil.sketch.current_applet().sq(a);\n});\n/**\n * Calculates the square root of a number. The square root of a number\n * is always positive, even though there may be a valid negative\n * root. The square root s of number a is such that (\x3d a (* s s)). It\n * is the opposite of squaring.\n */\nquil.core.sqrt \x3d (function quil$core$sqrt(a){\nreturn quil.sketch.current_applet().sqrt(a);\n});\n/**\n * Causes Processing to continuously execute the code within\n * draw. If [[no-loop]] is called, the code in draw stops executing.\n */\nquil.core.start_loop \x3d (function quil$core$start_loop(){\nquil.sketch.current_applet().loop();\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22looping?\x22,\x22looping?\x22,78344245),true);\n});\n/**\n * Save current stroke color vector in the internal state. It can be accessed\n * using the [[current-stroke]] function.\n */\nquil.core.save_current_stroke \x3d (function quil$core$save_current_stroke(color){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(quil.core.internal_state(),cljs.core.assoc,new cljs.core.Keyword(null,\x22current-stroke\x22,\x22current-stroke\x22,-1338415274),color);\n});\n/**\n * Sets the color used to draw lines and borders around shapes. This\n * color is either specified in terms of the RGB or HSB color depending\n * on the current [[color-mode]] (the default color space is RGB, with\n * each value in the range from 0 to 255).\n * If nil is passed it removes any fill color; equivalent to [[no-stroke]].\n */\nquil.core.stroke \x3d (function quil$core$stroke(var_args){\nvar G__16744 \x3d arguments.length;\nswitch (G__16744) {\ncase 1:\nreturn quil.core.stroke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.stroke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.stroke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.stroke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.stroke.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nif(cljs.core.vector_QMARK_(gray)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.stroke,gray);\n} else {\nif((gray \x3d\x3d null)){\nreturn quil.core.no_stroke();\n} else {\nquil.core.current_graphics().stroke(gray);\n\nreturn quil.core.save_current_stroke(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [gray], null));\n\n}\n}\n}));\n\n(quil.core.stroke.cljs$core$IFn$_invoke$arity$2 \x3d (function (gray,alpha){\nquil.core.current_graphics().stroke(gray,alpha);\n\nreturn quil.core.save_current_stroke(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [gray,alpha], null));\n}));\n\n(quil.core.stroke.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nquil.core.current_graphics().stroke(x,y,z);\n\nreturn quil.core.save_current_stroke(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y,z], null));\n}));\n\n(quil.core.stroke.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,z,alpha){\nquil.core.current_graphics().stroke(x,y,z,alpha);\n\nreturn quil.core.save_current_stroke(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [z,y,z,alpha], null));\n}));\n\n(quil.core.stroke.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Sets the style for rendering line endings. These ends are either\n * squared, extended, or rounded and specified with the corresponding\n * parameters `:square`, `:project`, and `:round`. The default cap is `:round`.\n */\nquil.core.stroke_cap \x3d (function quil$core$stroke_cap(cap_mode){\nvar cap_mode__$1 \x3d quil.util.resolve_constant_key(cap_mode,quil.core.stroke_cap_modes);\nreturn quil.core.current_graphics().strokeCap(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cap_mode__$1));\n});\n/**\n * Sets the style of the joints which connect line\n * segments. These joints are either mitered, beveled, or rounded and\n * specified with the corresponding parameters `:miter`, `:bevel`, and\n * `:round`. The default joint is `:miter`.\n * \n * This function is not available with the `:p2d`, `:p3d`, or `:opengl`\n * renderers.\n */\nquil.core.stroke_join \x3d (function quil$core$stroke_join(join_mode){\nvar join_mode__$1 \x3d quil.util.resolve_constant_key(join_mode,quil.core.stroke_join_modes);\nreturn quil.core.current_graphics().strokeJoin(cljs.core.str.cljs$core$IFn$_invoke$arity$1(join_mode__$1));\n});\n/**\n * Sets the width of the stroke used for lines, points, and the border\n * around shapes. All widths are set in units of pixels. \n */\nquil.core.stroke_weight \x3d (function quil$core$stroke_weight(weight){\nreturn quil.core.current_graphics().strokeWeight(weight);\n});\n/**\n * Calculates the ratio of the sine and cosine of an angle. This\n * function expects the values of the angle parameter to be provided in\n * radians (values from 0 to PI*2). Values are returned in the range\n * infinity to -infinity.\n */\nquil.core.tan \x3d (function quil$core$tan(angle){\nreturn quil.sketch.current_applet().tan(angle);\n});\n/**\n * Returns the target framerate specified with the function [[frame-rate]]\n */\nquil.core.target_frame_rate \x3d (function quil$core$target_frame_rate(){\nreturn new cljs.core.Keyword(null,\x22frame-rate\x22,\x22frame-rate\x22,-994918942).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(quil.core.internal_state()));\n});\n/**\n * Draws a char to the screen in the specified position. See the\n * [[text]] function for more details.\n */\nquil.core.text_char \x3d (function quil$core$text_char(var_args){\nvar G__16746 \x3d arguments.length;\nswitch (G__16746) {\ncase 3:\nreturn quil.core.text_char.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.text_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.text_char.cljs$core$IFn$_invoke$arity$3 \x3d (function (c,x,y){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(cljs.core.char$(c),x,y);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (c,x,y,z){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(cljs.core.char$(c),x,y,z);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text_char.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Draws a number to the screen in the specified position. See the\n * [[text]] function for more details.\n */\nquil.core.text_num \x3d (function quil$core$text_num(var_args){\nvar G__16748 \x3d arguments.length;\nswitch (G__16748) {\ncase 3:\nreturn quil.core.text_num.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.text_num.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.text_num.cljs$core$IFn$_invoke$arity$3 \x3d (function (num,x,y){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(num,x,y);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text_num.cljs$core$IFn$_invoke$arity$4 \x3d (function (num,x,y,z){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(num,x,y,z);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text_num.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Draws text to the screen in the position specified by the `x` and `y`\n * parameters (and the optional `z` parameter in clj). A default font\n * will be used unless a font is set with the [[text-font]]\n * function. Change the color of the text with the [[fill]]\n * function. The text displays in relation to the\n * [[text-align]] function, which gives the option to draw to the left,\n * right, and center of the coordinates.\n * \n * The `x1`, `y1`, `x2` and `y2` parameters define a rectangular area\n * to display within and may only be used with string data. For text\n * drawn inside a rectangle, the coordinates are interpreted based on\n * the current [[rect-mode]] setting.\n */\nquil.core.text \x3d (function quil$core$text(var_args){\nvar G__16750 \x3d arguments.length;\nswitch (G__16750) {\ncase 3:\nreturn quil.core.text.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn quil.core.text.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.text.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,x,y){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(s,x,y);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text.cljs$core$IFn$_invoke$arity$5 \x3d (function (s,x1,y1,x2,y2){\nif(cljs.core.truth_(quil.core.current_fill())){\nreturn quil.core.current_graphics().text(s,x1,y1,x2,y2);\n} else {\nreturn null;\n}\n}));\n\n(quil.core.text.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Sets the current alignment for drawing text. Available modes are:\n * \n * horizontal - `:left`, `:center`, and `:right`\n * vertical - `:top`, `:bottom`, `:center`, and `:baseline`\n * \n * An optional second parameter specifies the vertical alignment\n * mode. `:baseline` is the default. The `:top` and `:center` parameters are\n * straightforward. The `:bottom` parameter offsets the line based on the\n * current [[text-descent]]. For multiple lines, the final line will be\n * aligned to the bottom, with the previous lines appearing above it.\n * \n * When using text with width and height parameters, `:baseline` is\n * ignored, and treated as `:top`. (Otherwise, text would by default draw\n * outside the box, since `:baseline` is the default setting. `:baseline` is\n * not a useful drawing mode for text drawn in a rectangle.)\n * \n * The vertical alignment is based on the value of [[text-ascent]], which\n * many fonts do not specify correctly. It may be necessary to use a\n * hack and offset by a few pixels by hand so that the offset looks\n * correct. To do this as less of a hack, use some percentage of\n * [[text-ascent]] or [[text-descent]] so that the hack works even if you\n * change the size of the font.\n */\nquil.core.text_align \x3d (function quil$core$text_align(var_args){\nvar G__16752 \x3d arguments.length;\nswitch (G__16752) {\ncase 1:\nreturn quil.core.text_align.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.text_align.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.text_align.cljs$core$IFn$_invoke$arity$1 \x3d (function (align){\nvar align__$1 \x3d quil.util.resolve_constant_key(align,quil.core.horizontal_alignment_modes);\nreturn quil.core.current_graphics().textAlign(align__$1);\n}));\n\n(quil.core.text_align.cljs$core$IFn$_invoke$arity$2 \x3d (function (align_x,align_y){\nvar align_x__$1 \x3d quil.util.resolve_constant_key(align_x,quil.core.horizontal_alignment_modes);\nvar align_y__$1 \x3d quil.util.resolve_constant_key(align_y,quil.core.vertical_alignment_modes);\nreturn quil.core.current_graphics().textAlign(align_x__$1,align_y__$1);\n}));\n\n(quil.core.text_align.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the ascent of the current font at its current size. This\n * information is useful for determining the height of the font above\n * the baseline. For example, adding the [[text-ascent]] and [[text-descent]]\n * values will give you the total height of the line.\n */\nquil.core.text_ascent \x3d (function quil$core$text_ascent(){\nreturn quil.core.current_graphics().textAscent();\n});\n/**\n * Returns descent of the current font at its current size. This\n * information is useful for determining the height of the font below\n * the baseline. For example, adding the [[text-ascent]] and [[text-descent]]\n * values will give you the total height of the line.\n */\nquil.core.text_descent \x3d (function quil$core$text_descent(){\nreturn quil.core.current_graphics().textDescent();\n});\n/**\n * Sets the current font that will be drawn with the text\n * function. Fonts must be loaded with [[load-font]] before it can be\n * used. This font will be used in all subsequent calls to the [[text]]\n * function. If no `size` parameter is input, the font will appear at its\n * original size until it is changed with [[text-size]].\n * \n * Because fonts are usually bitmaped, you should create fonts at the\n * sizes that will be used most commonly. Using [[text-font]] without the\n * `size` parameter will result in the cleanest-looking text.\n * \n * With the default (JAVA2D) and PDF renderers, it\x27s also possible to\n * enable the use of native fonts via the command\n * `(hint :enable-native-fonts)`. This will produce vector text in JAVA2D\n * sketches and PDF output in cases where the vector data is available:\n * when the font is still installed, or the font is created via the\n * [[create-font]] function.\n */\nquil.core.text_font \x3d (function quil$core$text_font(var_args){\nvar G__16754 \x3d arguments.length;\nswitch (G__16754) {\ncase 1:\nreturn quil.core.text_font.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.text_font.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.text_font.cljs$core$IFn$_invoke$arity$1 \x3d (function (font){\nreturn quil.core.current_graphics().textFont(font);\n}));\n\n(quil.core.text_font.cljs$core$IFn$_invoke$arity$2 \x3d (function (font,size){\nreturn quil.core.current_graphics().textFont(font,(size | (0)));\n}));\n\n(quil.core.text_font.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Sets the spacing between lines of text in units of pixels. This\n * setting will be used in all subsequent calls to the [[text]] function.\n */\nquil.core.text_leading \x3d (function quil$core$text_leading(leading){\nreturn quil.core.current_graphics().textLeading(leading);\n});\n/**\n * Sets the current font size. This size will be used in all\n * subsequent calls to the [[text]] function. Font size is measured in\n * units of pixels.\n */\nquil.core.text_size \x3d (function quil$core$text_size(size){\nreturn quil.core.current_graphics().textSize(size);\n});\n/**\n * Sets/gets the style of the text for system fonts to `:normal`, `:italic`,\n * or `:bold` or `:bolditalic`.\n * \n * Note: this may be overridden by CSS styling. For non-system\n * fonts (opentype, truetype, etc.) please load styled fonts instead.\n */\nquil.core.text_style \x3d (function quil$core$text_style(style){\nvar s \x3d quil.util.resolve_constant_key(style,quil.core.text_styles);\nreturn quil.core.current_graphics().textStyle(s);\n});\n/**\n * Sets a texture to be applied to vertex points. The [[texture]] function must\n * be called between [[begin-shape]] and [[end-shape]] and before any calls to\n * [[vertex]].\n * \n * When textures are in use, the fill color is ignored. Instead, use\n * [[tint]] to specify the color of the texture as it is applied to the\n * shape.\n */\nquil.core.texture \x3d (function quil$core$texture(img){\nreturn quil.core.current_graphics().texture(img);\n});\n/**\n * Calculates and returns the width of any text string.\n */\nquil.core.text_width \x3d (function quil$core$text_width(data){\nreturn quil.core.current_graphics().textWidth(data);\n});\n/**\n * Sets the fill value for displaying images. Images can be tinted to\n * specified colors or made transparent by setting the `alpha`.\n * \n * To make an image transparent, but not change it\x27s color, use white\n * as the tint color and specify an `alpha` value. For instance,\n * `(tint 255 128)` will make an image 50% transparent (unless\n * [[color-mode]] has been used).\n * \n * The value for the parameter gray must be less than or equal to the\n * current maximum value as specified by [[color-mode]]. The default\n * maximum value is 255.\n * \n * Also used to control the coloring of textures in 3D.\n */\nquil.core.tint \x3d (function quil$core$tint(var_args){\nvar G__16756 \x3d arguments.length;\nswitch (G__16756) {\ncase 1:\nreturn quil.core.tint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.tint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.tint.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.tint.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.tint.cljs$core$IFn$_invoke$arity$1 \x3d (function (gray){\nreturn quil.core.current_graphics().tint(gray);\n}));\n\n(quil.core.tint.cljs$core$IFn$_invoke$arity$2 \x3d (function (gray,alpha){\nreturn quil.core.current_graphics().tint(gray,alpha);\n}));\n\n(quil.core.tint.cljs$core$IFn$_invoke$arity$3 \x3d (function (r,g,b){\nreturn quil.core.current_graphics().tint(r,g,b);\n}));\n\n(quil.core.tint.cljs$core$IFn$_invoke$arity$4 \x3d (function (r,g,b,a){\nreturn quil.core.current_graphics().tint(g,g,b,a);\n}));\n\n(quil.core.tint.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Draw a torus with given `radius` and `tube-radius`.\n * \n * Optional parameters:\n * * `detail-x` - number of segments, the more segments the smoother geometry default is 24\n * * `detail-y` - number of segments, the more segments the smoother geometry default is 16\n */\nquil.core.torus \x3d (function quil$core$torus(var_args){\nvar G__16758 \x3d arguments.length;\nswitch (G__16758) {\ncase 2:\nreturn quil.core.torus.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.torus.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.torus.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.torus.cljs$core$IFn$_invoke$arity$2 \x3d (function (radius,tube_radius){\nreturn quil.core.current_graphics().torus(radius,tube_radius);\n}));\n\n(quil.core.torus.cljs$core$IFn$_invoke$arity$3 \x3d (function (radius,tube_radius,detail_x){\nreturn quil.core.current_graphics().torus(radius,tube_radius,(detail_x | (0)));\n}));\n\n(quil.core.torus.cljs$core$IFn$_invoke$arity$4 \x3d (function (radius,tube_radius,detail_x,detail_y){\nreturn quil.core.current_graphics().torus(radius,tube_radius,(detail_x | (0)),(detail_y | (0)));\n}));\n\n(quil.core.torus.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Specifies an amount to displace objects within the display\n * window. The `tx` parameter specifies left/right translation, the `ty`\n * parameter specifies up/down translation, and the `tz` parameter\n * specifies translations toward/away from the screen. Transformations\n * apply to everything that happens after and subsequent calls to the\n * function accumulates the effect. For example, calling `(translate 50\n * 0)` and then `(translate 20, 0)` is the same as `(translate 70, 0)`. If\n * [[translate]] is called within draw, the transformation is reset when\n * the loop begins again. This function can be further controlled by\n * the [[push-matrix]] and [[pop-matrix]] functions.\n */\nquil.core.translate \x3d (function quil$core$translate(var_args){\nvar G__16760 \x3d arguments.length;\nswitch (G__16760) {\ncase 1:\nreturn quil.core.translate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn quil.core.translate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.translate.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.translate.cljs$core$IFn$_invoke$arity$1 \x3d (function (v){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.translate,v);\n}));\n\n(quil.core.translate.cljs$core$IFn$_invoke$arity$2 \x3d (function (tx,ty){\nreturn quil.core.current_graphics().translate(tx,ty);\n}));\n\n(quil.core.translate.cljs$core$IFn$_invoke$arity$3 \x3d (function (tx,ty,tz){\nreturn quil.core.current_graphics().translate(tx,ty,tz);\n}));\n\n(quil.core.translate.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * A triangle is a plane created by connecting three points. The first\n * two arguments specify the first point, the middle two arguments\n * specify the second point, and the last two arguments specify the\n * third point.\n */\nquil.core.triangle \x3d (function quil$core$triangle(x1,y1,x2,y2,x3,y3){\nreturn quil.core.current_graphics().triangle(x1,y1,x2,y2,x3,y3);\n});\n/**\n * Unpack a binary string to an integer. See [[binary]] for converting\n * integers to strings.\n */\nquil.core.unbinary \x3d (function quil$core$unbinary(str_val){\nreturn parseInt(str_val,(2));\n});\n/**\n * Converts a String representation of a hexadecimal number to its\n * equivalent integer value.\n */\nquil.core.unhex \x3d (function quil$core$unhex(hex_str){\nreturn quil.sketch.current_applet().unhex(cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex_str));\n});\n/**\n * Updates the display window or image with the data in the pixels array.\n * Use in conjunction with [[pixels]]. If you\x27re only reading pixels from\n * the array, there\x27s no need to call [[update-pixels]] unless there are\n * changes.\n * \n * Certain renderers may or may not seem to require [[pixels]] or\n * [[update-pixels]]. However, the rule is that any time you want to\n * manipulate the `pixels` array, you must first call [[pixels]], and\n * after changes have been made, call [[update-pixels]]. Even if the\n * renderer may not seem to use this function in the current Processing\n * release, this will always be subject to change.\n */\nquil.core.update_pixels \x3d (function quil$core$update_pixels(var_args){\nvar G__16762 \x3d arguments.length;\nswitch (G__16762) {\ncase 0:\nreturn quil.core.update_pixels.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn quil.core.update_pixels.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.update_pixels.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn quil.core.update_pixels.cljs$core$IFn$_invoke$arity$1(quil.core.current_graphics());\n}));\n\n(quil.core.update_pixels.cljs$core$IFn$_invoke$arity$1 \x3d (function (img){\nreturn img.updatePixels();\n}));\n\n(quil.core.update_pixels.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * All shapes are constructed by connecting a series of\n * vertices. [[vertex]] is used to specify the vertex coordinates for\n * points, lines, triangles, quads, and polygons and is used\n * exclusively within the [[begin-shape]] and [[end-shape]] functions.\n * \n * Drawing a vertex in 3D using the `z` parameter requires the `:p3d` or\n * `:opengl` renderers to be used.\n * \n * This function is also used to map a texture onto the geometry. The\n * [[texture]] function declares the texture to apply to the geometry and the `u`\n * and `v` coordinates set define the mapping of this texture to the\n * form. By default, the coordinates used for `u` and `v` are specified in\n * relation to the image\x27s size in pixels, but this relation can be\n * changed with [[texture-mode]].\n */\nquil.core.vertex \x3d (function quil$core$vertex(var_args){\nvar G__16764 \x3d arguments.length;\nswitch (G__16764) {\ncase 2:\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.core.vertex.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn quil.core.current_graphics().vertex(x,y);\n}));\n\n(quil.core.vertex.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,y,z){\nreturn quil.core.current_graphics().vertex(x,y,z);\n}));\n\n(quil.core.vertex.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,u,v){\nreturn quil.core.current_graphics().vertex(x,y,(0),u,v);\n}));\n\n(quil.core.vertex.cljs$core$IFn$_invoke$arity$5 \x3d (function (x,y,z,u,v){\nreturn quil.core.current_graphics().vertex(x,y,z,u,v);\n}));\n\n(quil.core.vertex.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Returns the current year as an integer (2003, 2004, 2005, etc).\n */\nquil.core.year \x3d (function quil$core$year(){\nreturn quil.sketch.current_applet().year();\n});\n/**\n * Width of the display window. The value of width is zero until size is\n * called.\n */\nquil.core.width \x3d (function quil$core$width(){\nreturn quil.sketch.current_applet().width;\n});\nquil.core.begin_draw \x3d (function quil$core$begin_draw(graphics){\nreturn null;\n});\nquil.core.end_draw \x3d (function quil$core$end_draw(graphics){\nreturn null;\n});\n/**\n * Create and start a new visualisation applet. Can be used to create\n * new sketches programmatically. See documentation for [[defsketch]] for\n * list of available options.\n */\nquil.core.sketch \x3d (function quil$core$sketch(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17092 \x3d arguments.length;\nvar i__5770__auto___17093 \x3d (0);\nwhile(true){\nif((i__5770__auto___17093 \x3c len__5769__auto___17092)){\nargs__5775__auto__.push((arguments[i__5770__auto___17093]));\n\nvar G__17095 \x3d (i__5770__auto___17093 + (1));\ni__5770__auto___17093 \x3d G__17095;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn quil.core.sketch.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(quil.core.sketch.cljs$core$IFn$_invoke$arity$variadic \x3d (function (opts){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.sketch.sketch,opts);\n}));\n\n(quil.core.sketch.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(quil.core.sketch.cljs$lang$applyTo \x3d (function (seq16774){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq16774));\n}));\n\n/**\n * Returns true if char `c` is a `coded` char i.e. it is necessary to\n * fetch the [[key-code]] as an integer and use that to determine the\n * specific key pressed. See [[key-as-keyword]].\n */\nquil.core.key_coded_QMARK_ \x3d (function quil$core$key_coded_QMARK_(c){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((65535),String(c).charCodeAt());\n});\n/**\n * Returns a keyword representing the currently pressed key. Modifier\n * keys are represented as: `:up`, `:down`, `:left`, `:right`, `:alt`,\n * `:control`, `:shift`, `:command`, `:f1-24`\n */\nquil.core.key_as_keyword \x3d (function quil$core$key_as_keyword(){\nvar key_char \x3d quil.core.raw_key();\nvar code \x3d quil.core.key_code();\nif(quil.core.key_coded_QMARK_(key_char)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(quil.core.KEY_CODES,code,new cljs.core.Keyword(null,\x22unknown-key\x22,\x22unknown-key\x22,255305911));\n} else {\nvar key_str \x3d String(key_char);\nvar or__5045__auto__ \x3d (quil.core.KEY_MAP.cljs$core$IFn$_invoke$arity$1 ? quil.core.KEY_MAP.cljs$core$IFn$_invoke$arity$1(key_str) : quil.core.KEY_MAP.call(null,key_str));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(key_str);\n}\n}\n});\n"); +SHADOW_ENV.evalLoad("reagent.core.js", true , "goog.provide(\x27reagent.core\x27);\nvar module$node_modules$react$index\x3dshadow.js.require(\x22module$node_modules$react$index\x22, {});\nreagent.core.is_client \x3d reagent.impl.util.is_client;\n/**\n * Create a native React element, by calling React.createElement directly.\n * \n * That means the second argument must be a javascript object (or nil), and\n * that any Reagent hiccup forms must be processed with as-element. For example\n * like this:\n * \n * ```cljs\n * (r/create-element \x22div\x22 #js{:className \x22foo\x22}\n * \x22Hi \x22 (r/as-element [:strong \x22world!\x22])\n * ```\n * \n * which is equivalent to\n * \n * ```cljs\n * [:div.foo \x22Hi\x22 [:strong \x22world!\x22]]\n * ```\n */\nreagent.core.create_element \x3d (function reagent$core$create_element(var_args){\nvar G__23853 \x3d arguments.length;\nswitch (G__23853) {\ncase 1:\nreturn reagent.core.create_element.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.create_element.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn reagent.core.create_element.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___23974 \x3d arguments.length;\nvar i__5770__auto___23975 \x3d (0);\nwhile(true){\nif((i__5770__auto___23975 \x3c len__5769__auto___23974)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___23975]));\n\nvar G__23976 \x3d (i__5770__auto___23975 + (1));\ni__5770__auto___23975 \x3d G__23976;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn reagent.core.create_element.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.core.create_element.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn reagent.core.create_element.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(reagent.core.create_element.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,props){\nif((!(cljs.core.map_QMARK_(props)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a JS object, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([props], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/not (clojure.core/map? props))\x22].join(\x27\x27)));\n}\n\nreturn module$node_modules$react$index.createElement(type,props);\n}));\n\n(reagent.core.create_element.cljs$core$IFn$_invoke$arity$3 \x3d (function (type,props,child){\nif((!(cljs.core.map_QMARK_(props)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a JS object, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([props], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/not (clojure.core/map? props))\x22].join(\x27\x27)));\n}\n\nreturn module$node_modules$react$index.createElement(type,props,child);\n}));\n\n(reagent.core.create_element.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,props,child,children){\nif((!(cljs.core.map_QMARK_(props)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a JS object, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([props], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/not (clojure.core/map? props))\x22].join(\x27\x27)));\n}\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(module$node_modules$react$index.createElement,type,props,child,children);\n}));\n\n/** @this {Function} */\n(reagent.core.create_element.cljs$lang$applyTo \x3d (function (seq23847){\nvar G__23848 \x3d cljs.core.first(seq23847);\nvar seq23847__$1 \x3d cljs.core.next(seq23847);\nvar G__23849 \x3d cljs.core.first(seq23847__$1);\nvar seq23847__$2 \x3d cljs.core.next(seq23847__$1);\nvar G__23850 \x3d cljs.core.first(seq23847__$2);\nvar seq23847__$3 \x3d cljs.core.next(seq23847__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23848,G__23849,G__23850,seq23847__$3);\n}));\n\n(reagent.core.create_element.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Turns a vector of Hiccup syntax into a React element. Returns form\n * unchanged if it is not a vector.\n */\nreagent.core.as_element \x3d (function reagent$core$as_element(var_args){\nvar G__23876 \x3d arguments.length;\nswitch (G__23876) {\ncase 1:\nreturn reagent.core.as_element.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.as_element.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(reagent.core.as_element.cljs$core$IFn$_invoke$arity$1 \x3d (function (form){\nreturn reagent.impl.protocols.as_element(reagent.impl.template.default_compiler,form);\n}));\n\n(reagent.core.as_element.cljs$core$IFn$_invoke$arity$2 \x3d (function (form,compiler){\nreturn reagent.impl.protocols.as_element(compiler,form);\n}));\n\n(reagent.core.as_element.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns an adapter for a native React class, that may be used\n * just like a Reagent component function or class in Hiccup forms.\n */\nreagent.core.adapt_react_class \x3d (function reagent$core$adapt_react_class(c){\nif(cljs.core.truth_(c)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Component\x22,\x22 must not be nil\x22].join(\x27\x27),\x22\\n\x22,\x22c\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.template.adapt_react_class(c);\n});\n/**\n * Returns an adapter for a Reagent component, that may be used from\n * React, for example in JSX. A single argument, props, is passed to\n * the component, converted to a map.\n */\nreagent.core.reactify_component \x3d (function reagent$core$reactify_component(var_args){\nvar G__23884 \x3d arguments.length;\nswitch (G__23884) {\ncase 1:\nreturn reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1 \x3d (function (c){\nreturn reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$2(c,reagent.impl.template.default_compiler);\n}));\n\n(reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$2 \x3d (function (c,compiler){\nif(cljs.core.truth_(c)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Component\x22,\x22 must not be nil\x22].join(\x27\x27),\x22\\n\x22,\x22c\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.component.reactify_component(c,compiler);\n}));\n\n(reagent.core.reactify_component.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates JS class based on provided Clojure map, for example:\n * \n * ```cljs\n * {;; Constructor\n * :constructor (fn [this props])\n * :get-initial-state (fn [this])\n * ;; Static methods\n * :get-derived-state-from-props (fn [props state] partial-state)\n * :get-derived-state-from-error (fn [error] partial-state)\n * ;; Methods\n * :get-snapshot-before-update (fn [this old-argv new-argv] snapshot)\n * :should-component-update (fn [this old-argv new-argv])\n * :component-did-mount (fn [this])\n * :component-did-update (fn [this old-argv old-state snapshot])\n * :component-will-unmount (fn [this])\n * :component-did-catch (fn [this error info])\n * :reagent-render (fn [args....])\n * ;; Or alternatively:\n * :render (fn [this])\n * ;; Deprecated methods:\n * :UNSAFE_component-will-receive-props (fn [this new-argv])\n * :UNSAFE_component-will-update (fn [this new-argv new-state])\n * :UNSAFE_component-will-mount (fn [this])}\n * ```\n * \n * Everything is optional, except either :reagent-render or :render.\n * \n * Map keys should use `React.Component` method names (https://reactjs.org/docs/react-component.html),\n * and can be provided in snake-case or camelCase.\n * \n * State can be initialized using constructor, which matches React.Component class,\n * or using getInitialState which matches old React createClass function and is\n * now implemented by Reagent for compatibility.\n * \n * State can usually be anything, e.g. Cljs object. But if using getDerivedState\n * methods, the state has to be plain JS object as React implementation uses\n * Object.assign to merge partial state into the current state.\n * \n * React built-in static methods or properties are automatically defined as statics.\n */\nreagent.core.create_class \x3d (function reagent$core$create_class(var_args){\nvar G__23892 \x3d arguments.length;\nswitch (G__23892) {\ncase 1:\nreturn reagent.core.create_class.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.create_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(reagent.core.create_class.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn reagent.impl.component.create_class(spec,reagent.impl.template.default_compiler);\n}));\n\n(reagent.core.create_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,compiler){\nreturn reagent.impl.component.create_class(spec,compiler);\n}));\n\n(reagent.core.create_class.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the current React component (a.k.a `this`) in a component\n * function.\n */\nreagent.core.current_component \x3d (function reagent$core$current_component(){\nreturn reagent.impl.component._STAR_current_component_STAR_;\n});\n/**\n * Returns an atom containing a components state.\n */\nreagent.core.state_atom \x3d (function reagent$core$state_atom(this$){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.component.state_atom(this$);\n});\n/**\n * Returns the state of a component, as set with replace-state or set-state.\n * Equivalent to `(deref (r/state-atom this))`\n */\nreagent.core.state \x3d (function reagent$core$state(this$){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nreturn cljs.core.deref(reagent.core.state_atom(this$));\n});\n/**\n * Set state of a component.\n * Equivalent to `(reset! (state-atom this) new-state)`\n */\nreagent.core.replace_state \x3d (function reagent$core$replace_state(this$,new_state){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nif((((new_state \x3d\x3d null)) || (cljs.core.map_QMARK_(new_state)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a valid new state, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new_state], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/or (clojure.core/nil? new-state) (clojure.core/map? new-state))\x22].join(\x27\x27)));\n}\n\nreturn cljs.core.reset_BANG_(reagent.core.state_atom(this$),new_state);\n});\n/**\n * Merge component state with new-state.\n * Equivalent to `(swap! (state-atom this) merge new-state)`\n */\nreagent.core.set_state \x3d (function reagent$core$set_state(this$,new_state){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nif((((new_state \x3d\x3d null)) || (cljs.core.map_QMARK_(new_state)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a valid new state, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new_state], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/or (clojure.core/nil? new-state) (clojure.core/map? new-state))\x22].join(\x27\x27)));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(reagent.core.state_atom(this$),cljs.core.merge,new_state);\n});\n/**\n * Force a component to re-render immediately.\n * \n * If the second argument is true, child components will also be\n * re-rendered, even is their arguments have not changed.\n */\nreagent.core.force_update \x3d (function reagent$core$force_update(var_args){\nvar G__23926 \x3d arguments.length;\nswitch (G__23926) {\ncase 1:\nreturn reagent.core.force_update.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.force_update.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(reagent.core.force_update.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nreturn reagent.core.force_update.cljs$core$IFn$_invoke$arity$2(this$,false);\n}));\n\n(reagent.core.force_update.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,deep){\nreagent.ratom.flush_BANG_();\n\nreagent.impl.util.force_update(this$,deep);\n\nreturn reagent.impl.batching.flush_after_render();\n}));\n\n(reagent.core.force_update.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the props passed to a component.\n */\nreagent.core.props \x3d (function reagent$core$props(this$){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.component.get_props(this$);\n});\n/**\n * Returns the children passed to a component.\n */\nreagent.core.children \x3d (function reagent$core$children(this$){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.component.get_children(this$);\n});\n/**\n * Returns the entire Hiccup form passed to the component.\n */\nreagent.core.argv \x3d (function reagent$core$argv(this$){\nif(reagent.impl.component.reagent_component_QMARK_(this$)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected a reagent component, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0))].join(\x27\x27),\x22\\n\x22,\x22(comp/reagent-component? this)\x22].join(\x27\x27)));\n}\n\nreturn reagent.impl.component.get_argv(this$);\n});\n/**\n * Function which normalizes and combines class values to a string\n * \n * Reagent allows classes to be defined as:\n * - Strings\n * - Named objects (Symbols or Keywords)\n * - Collections of previous types\n */\nreagent.core.class_names \x3d (function reagent$core$class_names(var_args){\nvar G__23933 \x3d arguments.length;\nswitch (G__23933) {\ncase 0:\nreturn reagent.core.class_names.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn reagent.core.class_names.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.class_names.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___23982 \x3d arguments.length;\nvar i__5770__auto___23983 \x3d (0);\nwhile(true){\nif((i__5770__auto___23983 \x3c len__5769__auto___23982)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___23983]));\n\nvar G__23984 \x3d (i__5770__auto___23983 + (1));\ni__5770__auto___23983 \x3d G__23984;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn reagent.core.class_names.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.core.class_names.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn null;\n}));\n\n(reagent.core.class_names.cljs$core$IFn$_invoke$arity$1 \x3d (function (class$){\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$1(class$);\n}));\n\n(reagent.core.class_names.cljs$core$IFn$_invoke$arity$2 \x3d (function (class1,class2){\nreturn reagent.impl.util.class_names.cljs$core$IFn$_invoke$arity$2(class1,class2);\n}));\n\n(reagent.core.class_names.cljs$core$IFn$_invoke$arity$variadic \x3d (function (class1,class2,others){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(reagent.impl.util.class_names,class1,class2,others);\n}));\n\n/** @this {Function} */\n(reagent.core.class_names.cljs$lang$applyTo \x3d (function (seq23930){\nvar G__23931 \x3d cljs.core.first(seq23930);\nvar seq23930__$1 \x3d cljs.core.next(seq23930);\nvar G__23932 \x3d cljs.core.first(seq23930__$1);\nvar seq23930__$2 \x3d cljs.core.next(seq23930__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23931,G__23932,seq23930__$2);\n}));\n\n(reagent.core.class_names.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Utility function that merges some maps, handling `:class` and `:style`.\n * \n * The :class value is always normalized (using `class-names`) even if no\n * merging is done.\n */\nreagent.core.merge_props \x3d (function reagent$core$merge_props(var_args){\nvar G__23940 \x3d arguments.length;\nswitch (G__23940) {\ncase 0:\nreturn reagent.core.merge_props.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn reagent.core.merge_props.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn reagent.core.merge_props.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___23988 \x3d arguments.length;\nvar i__5770__auto___23989 \x3d (0);\nwhile(true){\nif((i__5770__auto___23989 \x3c len__5769__auto___23988)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___23989]));\n\nvar G__23990 \x3d (i__5770__auto___23989 + (1));\ni__5770__auto___23989 \x3d G__23990;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn reagent.core.merge_props.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.core.merge_props.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$0();\n}));\n\n(reagent.core.merge_props.cljs$core$IFn$_invoke$arity$1 \x3d (function (defaults){\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$1(defaults);\n}));\n\n(reagent.core.merge_props.cljs$core$IFn$_invoke$arity$2 \x3d (function (defaults,props){\nreturn reagent.impl.util.merge_props.cljs$core$IFn$_invoke$arity$2(defaults,props);\n}));\n\n(reagent.core.merge_props.cljs$core$IFn$_invoke$arity$variadic \x3d (function (defaults,props,others){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(reagent.impl.util.merge_props,defaults,props,others);\n}));\n\n/** @this {Function} */\n(reagent.core.merge_props.cljs$lang$applyTo \x3d (function (seq23936){\nvar G__23937 \x3d cljs.core.first(seq23936);\nvar seq23936__$1 \x3d cljs.core.next(seq23936);\nvar G__23938 \x3d cljs.core.first(seq23936__$1);\nvar seq23936__$2 \x3d cljs.core.next(seq23936__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23937,G__23938,seq23936__$2);\n}));\n\n(reagent.core.merge_props.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Render dirty components immediately.\n * \n * Note that this may not work in event handlers, since React.js does\n * batching of updates there.\n */\nreagent.core.flush \x3d (function reagent$core$flush(){\nreturn reagent.impl.batching.flush();\n});\n/**\n * Like clojure.core/atom, except that it keeps track of derefs.\n * Reagent components that derefs one of these are automatically\n * re-rendered.\n */\nreagent.core.atom \x3d (function reagent$core$atom(var_args){\nvar G__23945 \x3d arguments.length;\nswitch (G__23945) {\ncase 1:\nreturn reagent.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___23992 \x3d arguments.length;\nvar i__5770__auto___23993 \x3d (0);\nwhile(true){\nif((i__5770__auto___23993 \x3c len__5769__auto___23992)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___23993]));\n\nvar G__23994 \x3d (i__5770__auto___23993 + (1));\ni__5770__auto___23993 \x3d G__23994;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn reagent.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(reagent.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1(x);\n}));\n\n(reagent.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,rest){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(reagent.ratom.atom,x,rest);\n}));\n\n/** @this {Function} */\n(reagent.core.atom.cljs$lang$applyTo \x3d (function (seq23942){\nvar G__23944 \x3d cljs.core.first(seq23942);\nvar seq23942__$1 \x3d cljs.core.next(seq23942);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23944,seq23942__$1);\n}));\n\n(reagent.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Takes a function and optional arguments, and returns a derefable\n * containing the output of that function. If the function derefs\n * Reagent atoms (or track, etc), the value will be updated whenever\n * the atom changes.\n * \n * In other words, `@(track foo bar)` will produce the same result\n * as `(foo bar)`, but foo will only be called again when the atoms it\n * depends on changes, and will only trigger updates of components when\n * its result changes.\n * \n * track is lazy, i.e the function is only evaluated on deref.\n */\nreagent.core.track \x3d (function reagent$core$track(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23995 \x3d arguments.length;\nvar i__5770__auto___23996 \x3d (0);\nwhile(true){\nif((i__5770__auto___23996 \x3c len__5769__auto___23995)){\nargs__5775__auto__.push((arguments[i__5770__auto___23996]));\n\nvar G__23997 \x3d (i__5770__auto___23996 + (1));\ni__5770__auto___23996 \x3d G__23997;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.core.track.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.core.track.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\x22Assert failed: (ifn? f)\x22));\n}\n\nreturn reagent.ratom.make_track(f,args);\n}));\n\n(reagent.core.track.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.core.track.cljs$lang$applyTo \x3d (function (seq23947){\nvar G__23948 \x3d cljs.core.first(seq23947);\nvar seq23947__$1 \x3d cljs.core.next(seq23947);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23948,seq23947__$1);\n}));\n\n/**\n * An eager version of track. The function passed is called\n * immediately, and continues to be called when needed, until stopped\n * with dispose!.\n */\nreagent.core.track_BANG_ \x3d (function reagent$core$track_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23998 \x3d arguments.length;\nvar i__5770__auto___24000 \x3d (0);\nwhile(true){\nif((i__5770__auto___24000 \x3c len__5769__auto___23998)){\nargs__5775__auto__.push((arguments[i__5770__auto___24000]));\n\nvar G__24001 \x3d (i__5770__auto___24000 + (1));\ni__5770__auto___24000 \x3d G__24001;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.core.track_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.core.track_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\x22Assert failed: (ifn? f)\x22));\n}\n\nreturn reagent.ratom.make_track_BANG_(f,args);\n}));\n\n(reagent.core.track_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.core.track_BANG_.cljs$lang$applyTo \x3d (function (seq23949){\nvar G__23950 \x3d cljs.core.first(seq23949);\nvar seq23949__$1 \x3d cljs.core.next(seq23949);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23950,seq23949__$1);\n}));\n\n/**\n * Stop the result of track! from updating.\n */\nreagent.core.dispose_BANG_ \x3d (function reagent$core$dispose_BANG_(x){\nreturn reagent.ratom.dispose_BANG_(x);\n});\n/**\n * Provide a combination of value and callback, that looks like an atom.\n * \n * The first argument can be any value, that will be returned when the\n * result is deref\x27ed.\n * \n * The second argument should be a function, that is called with the\n * optional extra arguments provided to wrap, and the new value of the\n * resulting \x27atom\x27.\n * \n * Use for example like this:\n * \n * ```cljs\n * (wrap (:foo @state)\n * swap! state assoc :foo)\n * ```\n * \n * Probably useful only for passing to child components.\n */\nreagent.core.wrap \x3d (function reagent$core$wrap(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24003 \x3d arguments.length;\nvar i__5770__auto___24004 \x3d (0);\nwhile(true){\nif((i__5770__auto___24004 \x3c len__5769__auto___24003)){\nargs__5775__auto__.push((arguments[i__5770__auto___24004]));\n\nvar G__24005 \x3d (i__5770__auto___24004 + (1));\ni__5770__auto___24004 \x3d G__24005;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn reagent.core.wrap.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(reagent.core.wrap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,reset_fn,args){\nif(cljs.core.ifn_QMARK_(reset_fn)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22Expected something callable, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reset_fn], 0))].join(\x27\x27),\x22\\n\x22,\x22(clojure.core/ifn? reset-fn)\x22].join(\x27\x27)));\n}\n\nreturn reagent.ratom.make_wrapper(value,reset_fn,args);\n}));\n\n(reagent.core.wrap.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(reagent.core.wrap.cljs$lang$applyTo \x3d (function (seq23953){\nvar G__23954 \x3d cljs.core.first(seq23953);\nvar seq23953__$1 \x3d cljs.core.next(seq23953);\nvar G__23955 \x3d cljs.core.first(seq23953__$1);\nvar seq23953__$2 \x3d cljs.core.next(seq23953__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23954,G__23955,seq23953__$2);\n}));\n\n/**\n * Provide a cursor into a Reagent atom.\n * \n * Behaves like a Reagent atom but focuses updates and derefs to\n * the specified path within the wrapped Reagent atom. e.g.,\n * \n * ```cljs\n * (let [c (cursor ra [:nested :content])]\n * ... @c ;; equivalent to (get-in @ra [:nested :content])\n * ... (reset! c 42) ;; equivalent to (swap! ra assoc-in [:nested :content] 42)\n * ... (swap! c inc) ;; equivalence to (swap! ra update-in [:nested :content] inc)\n * )\n * ```\n * \n * The first parameter can also be a function, that should look\n * something like this:\n * \n * ```cljs\n * (defn set-get\n * ([k] (get-in @state k))\n * ([k v] (swap! state assoc-in k v)))\n * ```\n * \n * The function will be called with one argument \u2013 the path passed to\n * cursor \u2013 when the cursor is deref\x27ed, and two arguments (path and\n * new value) when the cursor is modified.\n * \n * Given that set-get function, (and that state is a Reagent atom, or\n * another cursor) these cursors are equivalent:\n * `(cursor state [:foo])` and `(cursor set-get [:foo])`.\n * \n * Note that a cursor is lazy: its value will not change until it is\n * used. This may be noticed with add-watch.\n */\nreagent.core.cursor \x3d (function reagent$core$cursor(src,path){\nreturn reagent.ratom.cursor(src,path);\n});\n/**\n * Swaps the value of a to be `(apply f current-value-of-atom args)`.\n * \n * rswap! works like swap!, except that recursive calls to rswap! on\n * the same atom are allowed \u2013 and it always returns nil.\n */\nreagent.core.rswap_BANG_ \x3d (function reagent$core$rswap_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24006 \x3d arguments.length;\nvar i__5770__auto___24007 \x3d (0);\nwhile(true){\nif((i__5770__auto___24007 \x3c len__5769__auto___24006)){\nargs__5775__auto__.push((arguments[i__5770__auto___24007]));\n\nvar G__24008 \x3d (i__5770__auto___24007 + (1));\ni__5770__auto___24007 \x3d G__24008;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn reagent.core.rswap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(reagent.core.rswap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,args){\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition1$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IAtom$))))?true:(((!a.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IAtom,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IAtom,a))){\n} else {\nthrow (new Error(\x22Assert failed: (satisfies? IAtom a)\x22));\n}\n\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\x22Assert failed: (ifn? f)\x22));\n}\n\nif(cljs.core.truth_(a.rswapping)){\n(function (){var or__5045__auto__ \x3d a.rswapfs;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (a.rswapfs \x3d []);\n}\n})().push((function (p1__23958_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,p1__23958_SHARP_,args);\n}));\n} else {\n(a.rswapping \x3d true);\n\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,(function (state){\nvar s \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,state,args);\nwhile(true){\nvar temp__5806__auto__ \x3d (function (){var G__23965 \x3d a;\nvar G__23965__$1 \x3d (((G__23965 \x3d\x3d null))?null:G__23965.rswapfs);\nif((G__23965__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__23965__$1.shift();\n}\n})();\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn s;\n} else {\nvar sf \x3d temp__5806__auto__;\nvar G__24009 \x3d (sf.cljs$core$IFn$_invoke$arity$1 ? sf.cljs$core$IFn$_invoke$arity$1(s) : sf.call(null,s));\ns \x3d G__24009;\ncontinue;\n}\nbreak;\n}\n}));\n}finally {(a.rswapping \x3d false);\n}}\n\nreturn null;\n}));\n\n(reagent.core.rswap_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(reagent.core.rswap_BANG_.cljs$lang$applyTo \x3d (function (seq23959){\nvar G__23960 \x3d cljs.core.first(seq23959);\nvar seq23959__$1 \x3d cljs.core.next(seq23959);\nvar G__23961 \x3d cljs.core.first(seq23959__$1);\nvar seq23959__$2 \x3d cljs.core.next(seq23959__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23960,G__23961,seq23959__$2);\n}));\n\n/**\n * Run f using requestAnimationFrame or equivalent.\n * \n * f will be called just before components are rendered.\n */\nreagent.core.next_tick \x3d (function reagent$core$next_tick(f){\nreturn reagent.impl.batching.do_before_flush(f);\n});\n/**\n * Run f using requestAnimationFrame or equivalent.\n * \n * f will be called just after any queued renders in the next animation\n * frame (and even if no renders actually occur).\n */\nreagent.core.after_render \x3d (function reagent$core$after_render(f){\nreturn reagent.impl.batching.do_after_render(f);\n});\n/**\n * Works just like clojure.core/partial, but the result can be compared with \x3d\n */\nreagent.core.partial \x3d (function reagent$core$partial(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24010 \x3d arguments.length;\nvar i__5770__auto___24011 \x3d (0);\nwhile(true){\nif((i__5770__auto___24011 \x3c len__5769__auto___24010)){\nargs__5775__auto__.push((arguments[i__5770__auto___24011]));\n\nvar G__24012 \x3d (i__5770__auto___24011 + (1));\ni__5770__auto___24011 \x3d G__24012;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn reagent.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(reagent.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn reagent.impl.util.make_partial_fn(f,args);\n}));\n\n(reagent.core.partial.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(reagent.core.partial.cljs$lang$applyTo \x3d (function (seq23968){\nvar G__23969 \x3d cljs.core.first(seq23968);\nvar seq23968__$1 \x3d cljs.core.next(seq23968);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23969,seq23968__$1);\n}));\n\n/**\n * Creates Compiler object with given `opts`,\n * this can be passed to `render`, `as-element` and other functions to control\n * how they turn the Reagent-style Hiccup into React components and elements.\n */\nreagent.core.create_compiler \x3d (function reagent$core$create_compiler(opts){\nreturn reagent.impl.template.create_compiler(opts);\n});\n/**\n * Globally sets the Compiler object used by `render`, `as-element` and other\n * calls by default, when no `compiler` parameter is provided.\n * \n * Use `nil` value to restore the original default compiler.\n */\nreagent.core.set_default_compiler_BANG_ \x3d (function reagent$core$set_default_compiler_BANG_(compiler){\nreturn reagent.impl.template.set_default_compiler_BANG_((((compiler \x3d\x3d null))?reagent.impl.template.default_compiler_STAR_:compiler));\n});\nreagent.core.render \x3d (function reagent$core$render(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24015 \x3d arguments.length;\nvar i__5770__auto___24016 \x3d (0);\nwhile(true){\nif((i__5770__auto___24016 \x3c len__5769__auto___24015)){\nargs__5775__auto__.push((arguments[i__5770__auto___24016]));\n\nvar G__24017 \x3d (i__5770__auto___24016 + (1));\ni__5770__auto___24016 \x3d G__24017;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn reagent.core.render.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(reagent.core.render.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_){\nthrow (new Error(\x22Reagent.core/render function was moved to reagent.dom namespace in Reagent v1.0.\x22));\n}));\n\n(reagent.core.render.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(reagent.core.render.cljs$lang$applyTo \x3d (function (seq23970){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq23970));\n}));\n\n"); +SHADOW_ENV.evalLoad("sketches.components.js", true , "goog.provide(\x27sketches.components\x27);\nsketches.components.section \x3d (function sketches$components$section(title,description){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb4.tc.tl-ns\x22,\x22div.mb4.tc.tl-ns\x22,1828696127),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.link.white\x22,\x22a.link.white\x22,927069522),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(title)].join(\x27\x27)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h2\x22,\x22h2\x22,-372662728),title], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22p\x22,\x22p\x22,151049309),description], null)], null);\n});\nsketches.components.cards_container \x3d (function sketches$components$cards_container(children){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.flex.flex-wrap.justify-center.justify-start-ns\x22,\x22div.flex.flex-wrap.justify-center.justify-start-ns\x22,1342130541),children], null);\n});\nsketches.components.card \x3d (function sketches$components$card(title,sub_title,children){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.bg-white.br2.flex.flex-column.justify-between.items-center.f3.black.mb3.mr3-ns\x22,\x22div.bg-white.br2.flex.flex-column.justify-between.items-center.f3.black.mb3.mr3-ns\x22,167724473),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.flex.justify-center.items-center\x22,\x22div.flex.justify-center.items-center\x22,-1786678717),children], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mt3\x22,\x22div.mt3\x22,-1423735901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span.ma0\x22,\x22span.ma0\x22,-1207087693),title], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb3.f4\x22,\x22div.mb3.f4\x22,-238219628),sub_title], null)], null);\n});\nsketches.components.stop_sketch \x3d (function sketches$components$stop_sketch(id){\nvar _STAR_applet_STAR__orig_val__24672 \x3d quil.sketch._STAR_applet_STAR_;\nvar _STAR_applet_STAR__temp_val__24673 \x3d quil.core.get_sketch_by_id(id);\n(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__temp_val__24673);\n\ntry{return quil.core.no_loop();\n}finally {(quil.sketch._STAR_applet_STAR_ \x3d _STAR_applet_STAR__orig_val__24672);\n}});\nsketches.components.sketch \x3d (function sketches$components$sketch(title,run_sketch,run_immediately){\nvar is_started \x3d reagent.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nreturn (function (){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.deref(is_started);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn run_immediately;\n}\n})())){\nvar id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta((function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.flex.flex-column.items-center\x22,\x22div.flex.flex-column.items-center\x22,834682703),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.w5.h5.mt4.mh4.mb3\x22,\x22div.w5.h5.mt4.mh4.mb3\x22,-1178800063),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.flex.h1\x22,\x22div.flex.h1\x22,-139385200),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22button.pointer.bn.bg-transparent\x22,\x22button.pointer.bn.bg-transparent\x22,836091777),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-click\x22,\x22on-click\x22,1632826543),(function (){\nsketches.components.stop_sketch(id);\n\nreturn (run_sketch.cljs$core$IFn$_invoke$arity$1 ? run_sketch.cljs$core$IFn$_invoke$arity$1(id) : run_sketch.call(null,id));\n})], null),sketches.icons.reload_icon.cljs$core$IFn$_invoke$arity$0()], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22button.pointer.bn.bg-transparent\x22,\x22button.pointer.bn.bg-transparent\x22,836091777),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-click\x22,\x22on-click\x22,1632826543),(function (){\nsketches.components.stop_sketch(id);\n\nreturn cljs.core.reset_BANG_(is_started,false);\n})], null),sketches.icons.stop_icon.cljs$core$IFn$_invoke$arity$0()], null)], null)], null);\n}),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22component-did-mount\x22,\x22component-did-mount\x22,-1126910518),(function (){\nreturn (run_sketch.cljs$core$IFn$_invoke$arity$1 ? run_sketch.cljs$core$IFn$_invoke$arity$1(id) : run_sketch.call(null,id));\n})], null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.w5.h5.ma4.flex.justify-center.items-center.bg-gray\x22,\x22div.w5.h5.ma4.flex.justify-center.items-center.bg-gray\x22,-1777907271),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22button.button.bg-transparent.bn.white.pointer\x22,\x22button.button.bg-transparent.bn.white.pointer\x22,1973235098),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22on-click\x22,\x22on-click\x22,1632826543),(function (){\nreturn cljs.core.reset_BANG_(is_started,true);\n}),new cljs.core.Keyword(null,\x22aria-label\x22,\x22aria-label\x22,455891514),[\x22Run \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(title),\x22 Sketch\x22].join(\x27\x27)], null),sketches.icons.play_icon.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22medium\x22,\x22medium\x22,-1864319384),\x22white\x22)], null)], null)], null);\n}\n});\n});\nsketches.components.exercise_card \x3d (function sketches$components$exercise_card(title,exercise_title,exercise_link,run_sketch,run_immediately){\nreturn (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.card,title,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.link.bb\x22,\x22a.link.bb\x22,-569894589),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),exercise_link,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),\x22_blank\x22,new cljs.core.Keyword(null,\x22rel\x22,\x22rel\x22,1378823488),\x22noreferrer\x22], null),exercise_title], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.sketch,title,run_sketch,run_immediately], null)], null);\n});\n});\n"); +SHADOW_ENV.evalLoad("quil.middlewares.fun_mode.js", true , "goog.provide(\x27quil.middlewares.fun_mode\x27);\nquil.middlewares.fun_mode.wrap_setup \x3d (function quil$middlewares$fun_mode$wrap_setup(options){\nvar setup \x3d new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512).cljs$core$IFn$_invoke$arity$2(options,(function (){\nreturn null;\n}));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(options,new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),(function (){\nreturn cljs.core.reset_BANG_(quil.core.state_atom(),(setup.cljs$core$IFn$_invoke$arity$0 ? setup.cljs$core$IFn$_invoke$arity$0() : setup.call(null)));\n}));\n});\nquil.middlewares.fun_mode.wrap_draw_update \x3d (function quil$middlewares$fun_mode$wrap_draw_update(options){\nvar draw \x3d new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674).cljs$core$IFn$_invoke$arity$2(options,(function (_){\nreturn null;\n}));\nvar update \x3d new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396).cljs$core$IFn$_invoke$arity$2(options,cljs.core.identity);\nvar quil_draw \x3d (function (){\nvar G__24674 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(quil.core.state_atom(),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.frame_count(),(1)))?cljs.core.identity:update));\nreturn (draw.cljs$core$IFn$_invoke$arity$1 ? draw.cljs$core$IFn$_invoke$arity$1(G__24674) : draw.call(null,G__24674));\n});\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(options,new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396)),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),quil_draw);\n});\nquil.middlewares.fun_mode.mouse_event \x3d (function quil$middlewares$fun_mode$mouse_event(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.mouse_y()], null);\n});\nquil.middlewares.fun_mode.mouse_event_full \x3d (function quil$middlewares$fun_mode$mouse_event_full(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.mouse_y(),new cljs.core.Keyword(null,\x22button\x22,\x22button\x22,1456579943),quil.core.mouse_button()], null);\n});\nquil.middlewares.fun_mode.key_event \x3d (function quil$middlewares$fun_mode$key_event(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),quil.core.key_as_keyword(),new cljs.core.Keyword(null,\x22key-code\x22,\x22key-code\x22,-1732114304),quil.core.key_code(),new cljs.core.Keyword(null,\x22raw-key\x22,\x22raw-key\x22,-162482279),quil.core.raw_key()], null);\n});\nquil.middlewares.fun_mode.wrap_handler \x3d (function quil$middlewares$fun_mode$wrap_handler(var_args){\nvar G__24676 \x3d arguments.length;\nswitch (G__24676) {\ncase 2:\nreturn quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (options,handler_key){\nreturn quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$3(options,handler_key,null);\n}));\n\n(quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (options,handler_key,event_fn){\nvar temp__5802__auto__ \x3d (options.cljs$core$IFn$_invoke$arity$1 ? options.cljs$core$IFn$_invoke$arity$1(handler_key) : options.call(null,handler_key));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar handler \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(options,handler_key,(cljs.core.truth_(event_fn)?(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(quil.core.state_atom(),handler,(event_fn.cljs$core$IFn$_invoke$arity$0 ? event_fn.cljs$core$IFn$_invoke$arity$0() : event_fn.call(null)));\n}):(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(quil.core.state_atom(),handler);\n})));\n} else {\nreturn options;\n}\n}));\n\n(quil.middlewares.fun_mode.wrap_handler.cljs$lang$maxFixedArity \x3d 3);\n\nquil.middlewares.fun_mode.wrap_handlers \x3d (function quil$middlewares$fun_mode$wrap_handlers(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24688 \x3d arguments.length;\nvar i__5770__auto___24689 \x3d (0);\nwhile(true){\nif((i__5770__auto___24689 \x3c len__5769__auto___24688)){\nargs__5775__auto__.push((arguments[i__5770__auto___24689]));\n\nvar G__24690 \x3d (i__5770__auto___24689 + (1));\ni__5770__auto___24689 \x3d G__24690;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn quil.middlewares.fun_mode.wrap_handlers.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(quil.middlewares.fun_mode.wrap_handlers.cljs$core$IFn$_invoke$arity$variadic \x3d (function (options,handlers){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (options__$1,handler){\nif((handler instanceof cljs.core.Keyword)){\nreturn quil.middlewares.fun_mode.wrap_handler.cljs$core$IFn$_invoke$arity$2(options__$1,handler);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(quil.middlewares.fun_mode.wrap_handler,options__$1,handler);\n}\n}),options,handlers);\n}));\n\n(quil.middlewares.fun_mode.wrap_handlers.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(quil.middlewares.fun_mode.wrap_handlers.cljs$lang$applyTo \x3d (function (seq24681){\nvar G__24682 \x3d cljs.core.first(seq24681);\nvar seq24681__$1 \x3d cljs.core.next(seq24681);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__24682,seq24681__$1);\n}));\n\nquil.middlewares.fun_mode.wrap_mouse_wheel \x3d (function quil$middlewares$fun_mode$wrap_mouse_wheel(options){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439).cljs$core$IFn$_invoke$arity$1(options);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar handler \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(options,new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439),(function (rotation){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(quil.core.state_atom(),handler,rotation);\n}));\n} else {\nreturn options;\n}\n});\n/**\n * Introduces `function mode` making all handlers (`setup`, `draw`,\n * `mouse-click`, etc) state-aware. Adds support for `update` function.\n */\nquil.middlewares.fun_mode.fun_mode \x3d (function quil$middlewares$fun_mode$fun_mode(options){\nreturn quil.middlewares.fun_mode.wrap_mouse_wheel(quil.middlewares.fun_mode.wrap_handlers.cljs$core$IFn$_invoke$arity$variadic(quil.middlewares.fun_mode.wrap_draw_update(quil.middlewares.fun_mode.wrap_setup(options)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22focus-gained\x22,\x22focus-gained\x22,-857086384),new cljs.core.Keyword(null,\x22focus-lost\x22,\x22focus-lost\x22,-554849613),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-entered\x22,\x22mouse-entered\x22,811350322),quil.middlewares.fun_mode.mouse_event], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-exited\x22,\x22mouse-exited\x22,-483205244),quil.middlewares.fun_mode.mouse_event], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),quil.middlewares.fun_mode.mouse_event_full], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-released\x22,\x22mouse-released\x22,-664480061),quil.middlewares.fun_mode.mouse_event], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-clicked\x22,\x22mouse-clicked\x22,-199339421),quil.middlewares.fun_mode.mouse_event_full], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-moved\x22,\x22mouse-moved\x22,-1918152310),(function (){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.mouse_y(),new cljs.core.Keyword(null,\x22p-x\x22,\x22p-x\x22,-1721211211),quil.core.pmouse_x(),new cljs.core.Keyword(null,\x22p-y\x22,\x22p-y\x22,-530704830),quil.core.pmouse_y()], null);\n})], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441),(function (){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.mouse_y(),new cljs.core.Keyword(null,\x22p-x\x22,\x22p-x\x22,-1721211211),quil.core.pmouse_x(),new cljs.core.Keyword(null,\x22p-y\x22,\x22p-y\x22,-530704830),quil.core.pmouse_y(),new cljs.core.Keyword(null,\x22button\x22,\x22button\x22,1456579943),quil.core.mouse_button()], null);\n})], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),quil.middlewares.fun_mode.key_event], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key-released\x22,\x22key-released\x22,215919828),quil.middlewares.fun_mode.key_event], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key-typed\x22,\x22key-typed\x22,-876037597),quil.middlewares.fun_mode.key_event], null),new cljs.core.Keyword(null,\x22on-close\x22,\x22on-close\x22,-761178394)], 0)));\n});\n"); +SHADOW_ENV.evalLoad("quil.middlewares.navigation_3d.js", true , "goog.provide(\x27quil.middlewares.navigation_3d\x27);\nquil.middlewares.navigation_3d.missing_navigation_key_error \x3d [\x22state map is missing :navigation-3d key. \x22,\x22Did you accidentally removed it from the state in \x22,\x22:update or any other handler?\x22].join(\x27\x27);\n/**\n * Asserts that `state` map contains `:navigation-2d` object.\n */\nquil.middlewares.navigation_3d.assert_state_has_navigation \x3d (function quil$middlewares$navigation_3d$assert_state_has_navigation(state){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301).cljs$core$IFn$_invoke$arity$1(state))){\nreturn null;\n} else {\nthrow (new Error(quil.middlewares.navigation_3d.missing_navigation_key_error));\n}\n});\n/**\n * Default position configuration. Check default configuration in\n * \x27camera\x27 function.\n */\nquil.middlewares.navigation_3d.default_position \x3d (function quil$middlewares$navigation_3d$default_position(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / 2.0),(quil.core.height() / 2.0),((quil.core.height() / 2.0) / quil.core.tan(((quil.core.PI * 60.0) / 360.0)))], null),new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0),(-1)], null),new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1),(0)], null)], null);\n});\n/**\n * Rotates vector `v` by `angle` with `axis`.\n * Formula is taken from wiki:\n * http://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle\n */\nquil.middlewares.navigation_3d.rotate_by_axis_and_angle \x3d (function quil$middlewares$navigation_3d$rotate_by_axis_and_angle(v,axis,angle){\nvar vec__24055 \x3d axis;\nvar a_x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24055,(0),null);\nvar a_y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24055,(1),null);\nvar a_z \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24055,(2),null);\nvar vec__24058 \x3d v;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24058,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24058,(1),null);\nvar z \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24058,(2),null);\nvar cs \x3d quil.core.cos(angle);\nvar _cs \x3d ((1) - cs);\nvar sn \x3d quil.core.sin(angle);\nvar a \x3d (cs + ((a_x * a_x) * _cs));\nvar b \x3d (((a_x * a_y) * _cs) - (a_z * sn));\nvar c \x3d (((a_x * a_z) * _cs) + (a_y * sn));\nvar d \x3d (((a_x * a_y) * _cs) + (a_z * sn));\nvar e \x3d (cs + ((a_y * a_y) * _cs));\nvar f \x3d (((a_y * a_z) * _cs) - (a_x * sn));\nvar g \x3d (((a_x * a_z) * _cs) - (a_y * sn));\nvar h \x3d (((a_y * a_z) * _cs) + (a_x * sn));\nvar i \x3d (cs + ((a_z * a_z) * _cs));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((a * x) + (b * y)) + (c * z)),(((d * x) + (e * y)) + (f * z)),(((g * x) + (h * y)) + (i * z))], null);\n});\n/**\n * Rotates `nav-3d` configuration left-right. `angle` positive - rotate right,\n * negative - left.\n */\nquil.middlewares.navigation_3d.rotate_lr \x3d (function quil$middlewares$navigation_3d$rotate_lr(nav_3d,angle){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(nav_3d,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854)], null),quil.middlewares.navigation_3d.rotate_by_axis_and_angle,new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113).cljs$core$IFn$_invoke$arity$1(nav_3d),angle);\n});\n/**\n * Vector cross-product: http://en.wikipedia.org/wiki/Cross_product\n */\nquil.middlewares.navigation_3d.cross_product \x3d (function quil$middlewares$navigation_3d$cross_product(p__24062,p__24063){\nvar vec__24065 \x3d p__24062;\nvar u1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24065,(0),null);\nvar u2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24065,(1),null);\nvar u3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24065,(2),null);\nvar vec__24068 \x3d p__24063;\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24068,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24068,(1),null);\nvar v3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24068,(2),null);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((u2 * v3) - (u3 * v2)),((u3 * v1) - (u1 * v3)),((u1 * v2) - (u2 * v1))], null);\n});\n/**\n * Multiply vector `v` by scalar `mult`.\n */\nquil.middlewares.navigation_3d.v_mult \x3d (function quil$middlewares$navigation_3d$v_mult(v,mult){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__24073_SHARP_){\nreturn (p1__24073_SHARP_ * mult);\n}),v);\n});\n/**\n * Sum of 2 vectors.\n */\nquil.middlewares.navigation_3d.v_plus \x3d (function quil$middlewares$navigation_3d$v_plus(v1,v2){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,v1,v2);\n});\n/**\n * Returns vector opposite to vector `v`.\n */\nquil.middlewares.navigation_3d.v_opposite \x3d (function quil$middlewares$navigation_3d$v_opposite(v){\nreturn quil.middlewares.navigation_3d.v_mult(v,(-1));\n});\n/**\n * Normalize vector, returning vector\n * which has same direction but with norm equals to 1.\n */\nquil.middlewares.navigation_3d.v_normalize \x3d (function quil$middlewares$navigation_3d$v_normalize(v){\nvar norm \x3d quil.core.sqrt(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(quil.core.sq,v)));\nreturn quil.middlewares.navigation_3d.v_mult(v,((1) / norm));\n});\n/**\n * Rotates `nav-3d` configuration up-down.\n */\nquil.middlewares.navigation_3d.rotate_ud \x3d (function quil$middlewares$navigation_3d$rotate_ud(nav_3d,angle){\nvar axis \x3d quil.middlewares.navigation_3d.cross_product(new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854).cljs$core$IFn$_invoke$arity$1(nav_3d),new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113).cljs$core$IFn$_invoke$arity$1(nav_3d));\nvar rotate \x3d (function (p1__24076_SHARP_){\nreturn quil.middlewares.navigation_3d.rotate_by_axis_and_angle(p1__24076_SHARP_,axis,angle);\n});\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(nav_3d,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854)], null),rotate),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113)], null),rotate);\n});\n/**\n * Mouse handler function which rotates nav-3d configuration.\n * It uses mouse from `event` object and `pixels-in-360` to calculate\n * angles to rotate.\n */\nquil.middlewares.navigation_3d.rotate \x3d (function quil$middlewares$navigation_3d$rotate(state,event,pixels_in_360){\nquil.middlewares.navigation_3d.assert_state_has_navigation(state);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((0),new cljs.core.Keyword(null,\x22p-x\x22,\x22p-x\x22,-1721211211).cljs$core$IFn$_invoke$arity$1(event),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22p-y\x22,\x22p-y\x22,-530704830).cljs$core$IFn$_invoke$arity$1(event)], 0))){\nreturn state;\n} else {\nvar dx \x3d (new cljs.core.Keyword(null,\x22p-x\x22,\x22p-x\x22,-1721211211).cljs$core$IFn$_invoke$arity$1(event) - new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(event));\nvar dy \x3d (new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(event) - new cljs.core.Keyword(null,\x22p-y\x22,\x22p-y\x22,-530704830).cljs$core$IFn$_invoke$arity$1(event));\nvar angle_lr \x3d quil.core.map_range(dx,(0),pixels_in_360,(0),quil.core.TWO_PI);\nvar angle_ud \x3d quil.core.map_range(dy,(0),pixels_in_360,(0),quil.core.TWO_PI);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301)], null),(function (p1__24079_SHARP_){\nreturn quil.middlewares.navigation_3d.rotate_ud(quil.middlewares.navigation_3d.rotate_lr(p1__24079_SHARP_,angle_lr),angle_ud);\n}));\n}\n});\nquil.middlewares.navigation_3d.space \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(\x22 \x22);\n/**\n * Keyboard handler function which moves nav-3d configuration.\n * It uses keyboard key from `event` object to determine in which\n * direction to move.\n */\nquil.middlewares.navigation_3d.move \x3d (function quil$middlewares$navigation_3d$move(state,event,step_size){\nquil.middlewares.navigation_3d.assert_state_has_navigation(state);\n\nvar map__24092 \x3d new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301).cljs$core$IFn$_invoke$arity$1(state);\nvar map__24092__$1 \x3d cljs.core.__destructure_map(map__24092);\nvar up \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24092__$1,new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113));\nvar straight \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24092__$1,new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854));\nvar temp__5802__auto__ \x3d (function (){var pred__24095 \x3d cljs.core._EQ_;\nvar expr__24096 \x3d new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(event);\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__24096) : pred__24095.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__24096)))){\nreturn straight;\n} else {\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22s\x22,\x22s\x22,1705939918),expr__24096) : pred__24095.call(null,new cljs.core.Keyword(null,\x22s\x22,\x22s\x22,1705939918),expr__24096)))){\nreturn quil.middlewares.navigation_3d.v_opposite(straight);\n} else {\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(quil.middlewares.navigation_3d.space,expr__24096) : pred__24095.call(null,quil.middlewares.navigation_3d.space,expr__24096)))){\nreturn quil.middlewares.navigation_3d.v_opposite(up);\n} else {\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183),expr__24096) : pred__24095.call(null,new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183),expr__24096)))){\nreturn up;\n} else {\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),expr__24096) : pred__24095.call(null,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),expr__24096)))){\nreturn quil.middlewares.navigation_3d.cross_product(straight,up);\n} else {\nif(cljs.core.truth_((pred__24095.cljs$core$IFn$_invoke$arity$2 ? pred__24095.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22a\x22,\x22a\x22,-2123407586),expr__24096) : pred__24095.call(null,new cljs.core.Keyword(null,\x22a\x22,\x22a\x22,-2123407586),expr__24096)))){\nreturn quil.middlewares.navigation_3d.cross_product(up,straight);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dir \x3d temp__5802__auto__;\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912)], null),(function (p1__24083_SHARP_){\nreturn quil.middlewares.navigation_3d.v_plus(p1__24083_SHARP_,quil.middlewares.navigation_3d.v_mult(dir,step_size));\n}));\n} else {\nreturn state;\n}\n});\n/**\n * Custom \x27setup\x27 function which creates initial position\n * configuration and puts it to the state map.\n */\nquil.middlewares.navigation_3d.setup_3d_nav \x3d (function quil$middlewares$navigation_3d$setup_3d_nav(user_setup,user_settings){\nvar initial_state \x3d cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([quil.middlewares.navigation_3d.default_position(),cljs.core.select_keys(user_settings,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854),new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912)], null))], 0)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854)], null),quil.middlewares.navigation_3d.v_normalize),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113)], null),quil.middlewares.navigation_3d.v_normalize);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((user_setup.cljs$core$IFn$_invoke$arity$0 ? user_setup.cljs$core$IFn$_invoke$arity$0() : user_setup.call(null)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301)], null),(function (p1__24107_SHARP_){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([initial_state,p1__24107_SHARP_], 0));\n}));\n});\n/**\n * Enables navigation in 3D space. Similar to how it is done in\n * shooters: WASD navigation, space is go up, z is go down,\n * drag mouse to look around.\n */\nquil.middlewares.navigation_3d.navigation_3d \x3d (function quil$middlewares$navigation_3d$navigation_3d(options){\nvar user_settings \x3d new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301).cljs$core$IFn$_invoke$arity$1(options);\nvar pixels_in_360 \x3d new cljs.core.Keyword(null,\x22pixels-in-360\x22,\x22pixels-in-360\x22,1789567298).cljs$core$IFn$_invoke$arity$2(user_settings,(1000));\nvar step_size \x3d new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922).cljs$core$IFn$_invoke$arity$2(user_settings,(20));\nvar rotate_on \x3d new cljs.core.Keyword(null,\x22rotate-on\x22,\x22rotate-on\x22,-1282225937).cljs$core$IFn$_invoke$arity$2(user_settings,new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441));\nvar draw \x3d new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674).cljs$core$IFn$_invoke$arity$2(options,(function (state){\nreturn null;\n}));\nvar key_pressed \x3d new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364).cljs$core$IFn$_invoke$arity$2(options,(function (state,_){\nreturn state;\n}));\nvar rotate_on_fn \x3d (function (){var G__24119 \x3d options;\nvar G__24120 \x3d (function (state,_){\nreturn state;\n});\nreturn (rotate_on.cljs$core$IFn$_invoke$arity$2 ? rotate_on.cljs$core$IFn$_invoke$arity$2(G__24119,G__24120) : rotate_on.call(null,G__24119,G__24120));\n})();\nvar setup \x3d new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512).cljs$core$IFn$_invoke$arity$2(options,(function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(options,new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),cljs.core.partial.cljs$core$IFn$_invoke$arity$3(quil.middlewares.navigation_3d.setup_3d_nav,setup,user_settings),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),(function (state){\nquil.middlewares.navigation_3d.assert_state_has_navigation(state);\n\nvar map__24123_24156 \x3d new cljs.core.Keyword(null,\x22navigation-3d\x22,\x22navigation-3d\x22,682305301).cljs$core$IFn$_invoke$arity$1(state);\nvar map__24123_24157__$1 \x3d cljs.core.__destructure_map(map__24123_24156);\nvar vec__24126_24158 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24123_24157__$1,new cljs.core.Keyword(null,\x22straight\x22,\x22straight\x22,-1252567854));\nvar c_x_24159 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24126_24158,(0),null);\nvar c_y_24160 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24126_24158,(1),null);\nvar c_z_24161 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24126_24158,(2),null);\nvar vec__24129_24162 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24123_24157__$1,new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113));\nvar u_x_24163 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24129_24162,(0),null);\nvar u_y_24164 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24129_24162,(1),null);\nvar u_z_24165 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24129_24162,(2),null);\nvar vec__24132_24166 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24123_24157__$1,new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912));\nvar p_x_24167 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24132_24166,(0),null);\nvar p_y_24168 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24132_24166,(1),null);\nvar p_z_24169 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24132_24166,(2),null);\nquil.core.camera.cljs$core$IFn$_invoke$arity$9(p_x_24167,p_y_24168,p_z_24169,(p_x_24167 + c_x_24159),(p_y_24168 + c_y_24160),(p_z_24169 + c_z_24161),u_x_24163,u_y_24164,u_z_24165);\n\nreturn (draw.cljs$core$IFn$_invoke$arity$1 ? draw.cljs$core$IFn$_invoke$arity$1(state) : draw.call(null,state));\n}),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),(function (state,event){\nvar G__24138 \x3d quil.middlewares.navigation_3d.move(state,event,step_size);\nvar G__24139 \x3d event;\nreturn (key_pressed.cljs$core$IFn$_invoke$arity$2 ? key_pressed.cljs$core$IFn$_invoke$arity$2(G__24138,G__24139) : key_pressed.call(null,G__24138,G__24139));\n}),rotate_on,(function (state,event){\nvar G__24141 \x3d quil.middlewares.navigation_3d.rotate(state,event,pixels_in_360);\nvar G__24142 \x3d event;\nreturn (rotate_on_fn.cljs$core$IFn$_invoke$arity$2 ? rotate_on_fn.cljs$core$IFn$_invoke$arity$2(G__24141,G__24142) : rotate_on_fn.call(null,G__24141,G__24142));\n})], 0));\n});\n"); +SHADOW_ENV.evalLoad("quil.middlewares.navigation_2d.js", true , "goog.provide(\x27quil.middlewares.navigation_2d\x27);\nquil.middlewares.navigation_2d.missing_navigation_key_error \x3d [\x22state map is missing :navigation-2d key. \x22,\x22Did you accidentally removed it from the state in \x22,\x22:update or any other handler?\x22].join(\x27\x27);\n/**\n * Asserts that `state` map contains `:navigation-2d` object.\n */\nquil.middlewares.navigation_2d.assert_state_has_navigation \x3d (function quil$middlewares$navigation_2d$assert_state_has_navigation(state){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611).cljs$core$IFn$_invoke$arity$1(state))){\nreturn null;\n} else {\nthrow (new Error(quil.middlewares.navigation_2d.missing_navigation_key_error));\n}\n});\n/**\n * Default position configuration: zoom is neutral and central point is\n * `width/2, height/2`.\n */\nquil.middlewares.navigation_2d.default_position \x3d (function quil$middlewares$navigation_2d$default_position(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / 2.0),(quil.core.height() / 2.0)], null),new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038),(1)], null);\n});\n/**\n * Custom \x27setup\x27 function which creates initial position\n * configuration and puts it to the state map.\n */\nquil.middlewares.navigation_2d.setup_2d_nav \x3d (function quil$middlewares$navigation_2d$setup_2d_nav(user_setup,user_settings){\nvar initial_state \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([quil.middlewares.navigation_2d.default_position(),cljs.core.select_keys(user_settings,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038)], null))], 0));\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((user_setup.cljs$core$IFn$_invoke$arity$0 ? user_setup.cljs$core$IFn$_invoke$arity$0() : user_setup.call(null)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611)], null),(function (p1__24671_SHARP_){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([initial_state,p1__24671_SHARP_], 0));\n}));\n});\n/**\n * Changes center of the sketch depending on the last mouse move. Takes\n * zoom into account as well.\n */\nquil.middlewares.navigation_2d.mouse_dragged \x3d (function quil$middlewares$navigation_2d$mouse_dragged(state,event){\nquil.middlewares.navigation_2d.assert_state_has_navigation(state);\n\nvar dx \x3d (new cljs.core.Keyword(null,\x22p-x\x22,\x22p-x\x22,-1721211211).cljs$core$IFn$_invoke$arity$1(event) - new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(event));\nvar dy \x3d (new cljs.core.Keyword(null,\x22p-y\x22,\x22p-y\x22,-530704830).cljs$core$IFn$_invoke$arity$1(event) - new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(event));\nvar zoom \x3d new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611).cljs$core$IFn$_invoke$arity$1(state));\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),(0)], null),cljs.core._PLUS_,(dx / zoom)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),(1)], null),cljs.core._PLUS_,(dy / zoom));\n});\n/**\n * Changes zoom settings based on scroll.\n */\nquil.middlewares.navigation_2d.mouse_wheel \x3d (function quil$middlewares$navigation_2d$mouse_wheel(state,event){\nquil.middlewares.navigation_2d.assert_state_has_navigation(state);\n\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611),new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038)], null),cljs.core._STAR_,((1) + (-0.1 * event)));\n});\n/**\n * Calls user draw function with all necessary transformations (position\n * and zoom) applied.\n */\nquil.middlewares.navigation_2d.draw \x3d (function quil$middlewares$navigation_2d$draw(user_draw,state){\nquil.middlewares.navigation_2d.assert_state_has_navigation(state);\n\nquil.core.push_matrix();\n\nvar nav_2d_24683 \x3d new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611).cljs$core$IFn$_invoke$arity$1(state);\nvar zoom_24684 \x3d new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038).cljs$core$IFn$_invoke$arity$1(nav_2d_24683);\nvar pos_24685 \x3d new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912).cljs$core$IFn$_invoke$arity$1(nav_2d_24683);\nquil.core.scale.cljs$core$IFn$_invoke$arity$1(zoom_24684);\n\nvar tr__24577__auto___24686 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((quil.core.width() / (2)) / zoom_24684) - cljs.core.first(pos_24685)),(((quil.core.height() / (2)) / zoom_24684) - cljs.core.second(pos_24685))], null);\nquil.core.push_matrix();\n\ntry{quil.core.translate.cljs$core$IFn$_invoke$arity$1(tr__24577__auto___24686);\n\n(user_draw.cljs$core$IFn$_invoke$arity$1 ? user_draw.cljs$core$IFn$_invoke$arity$1(state) : user_draw.call(null,state));\n}finally {quil.core.pop_matrix();\n}\nreturn quil.core.pop_matrix();\n});\n/**\n * Enables navigation over 2D sketch. Dragging mouse will move center of the\n * sketch and mouse wheel controls zoom.\n */\nquil.middlewares.navigation_2d.navigation_2d \x3d (function quil$middlewares$navigation_2d$navigation_2d(options){\nvar user_settings \x3d new cljs.core.Keyword(null,\x22navigation-2d\x22,\x22navigation-2d\x22,-1924168611).cljs$core$IFn$_invoke$arity$1(options);\nvar user_draw \x3d new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674).cljs$core$IFn$_invoke$arity$2(options,(function (state){\nreturn null;\n}));\nvar user_mouse_dragged \x3d new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441).cljs$core$IFn$_invoke$arity$2(options,(function (state,_){\nreturn state;\n}));\nvar user_mouse_wheel \x3d new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439).cljs$core$IFn$_invoke$arity$2(options,(function (state,_){\nreturn state;\n}));\nvar setup \x3d new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512).cljs$core$IFn$_invoke$arity$2(options,(function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(options,new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),cljs.core.partial.cljs$core$IFn$_invoke$arity$3(quil.middlewares.navigation_2d.setup_2d_nav,setup,user_settings),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(quil.middlewares.navigation_2d.draw,user_draw),new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441),(function (state,event){\nvar G__24677 \x3d quil.middlewares.navigation_2d.mouse_dragged(state,event);\nvar G__24678 \x3d event;\nreturn (user_mouse_dragged.cljs$core$IFn$_invoke$arity$2 ? user_mouse_dragged.cljs$core$IFn$_invoke$arity$2(G__24677,G__24678) : user_mouse_dragged.call(null,G__24677,G__24678));\n}),new cljs.core.Keyword(null,\x22mouse-wheel\x22,\x22mouse-wheel\x22,1811662439),(function (state,event){\nvar G__24679 \x3d quil.middlewares.navigation_2d.mouse_wheel(state,event);\nvar G__24680 \x3d event;\nreturn (user_mouse_wheel.cljs$core$IFn$_invoke$arity$2 ? user_mouse_wheel.cljs$core$IFn$_invoke$arity$2(G__24679,G__24680) : user_mouse_wheel.call(null,G__24679,G__24680));\n})], 0));\n});\n"); +SHADOW_ENV.evalLoad("quil.middleware.js", true , "goog.provide(\x27quil.middleware\x27);\n/**\n * Introduces `function mode`. Adds `update` function which takes current state\n * and returns new state. Makes all other functions (`setup`, `draw`,\n * `mouse-click`, etc) state-aware.\n * See [wiki](https://github.com/quil/quil/wiki/Functional-mode-%28fun-mode%29)\n * for more details.\n */\nquil.middleware.fun_mode \x3d (function quil$middleware$fun_mode(options){\nreturn quil.middlewares.fun_mode.fun_mode(options);\n});\n/**\n * Enables navigation in 3D space. Similar to how it is done in\n * shooters: WASD navigation, space is go up, drag mouse to look around.\n * This middleware requires [[fun-mode]].\n * \n * Navigation\n * \n * * Drag mouse to look around. You can change settings to bind\n * mouse-moved instead of mouse-dragged to look around. See\n * customization info below.\n * \n * * Keyboard:\n * * `w` - go forward\n * * `s` - go backward\n * * `a` - strafe left\n * * `d` - strafe right\n * * `space` - go up\n * * `z` - go down, can\x27t bind to `ctrl`, limitation of Processing\n * \n * Customization\n * \n * You can customize this middleware by providing a map as\n * `:navigation-3d` option in [[quil.sketch/defsketch]]/[[quil.sketch/sketch]].\n * The map can have the following optional keys:\n * \n * * `:position` - vector of 3 numbers, initial camera position. Default\n * is the same as in [[quil.core/camera]] function.\n * \n * * `:straight` - vector of 3 numbers, direction you\x27ll be looking at.\n * Default is `[0 0 -1]` (looking down).\n * \n * * `:up` - vector of 3 numbers, \x27up\x27 direction. Default is `[0 1 0]`.\n * \n * * `:pixels-in-360` - number, mouse sensitivity. Defines how many pixels\n * you need to move/drag your mouse to rotate 360 degrees.\n * The less the number the more sensitive the mouse.\n * Default is `1000`.\n * \n * * `:step-size` - number, number of pixels you move on each key event (wasd).\n * Default is `20`.\n * \n * * `:rotate-on` - keyword, either `:mouse-dragged` or `:mouse-moved`. Specifies\n * on which mouse event camera should rotate. Default is\n * `:mouse-dragged`.\n * \n * Accessing position information from a sketch\n * \n * [[navigation-3d]] uses [[fun-mode]] under the hood so all position-related\n * information is stored in the state map. It means that you can access in\n * draw/update/any handler and modify it if you need to. Position\n * information is a map which is stored under `:navigation-3d` key in the\n * state map. Position consists of 3 values: `:position`, `:straight` and `:up`.\n * See \x22Customization\x22 section above for more details.\n * \n * Example:\n * ```\n * (q/defsketch my-sketch\n * ...\n * :middleware [m/fun-mode m/navigation-3d])\n * ```\n * \n * See wiki article for more(?) details:\n * https://github.com/quil/quil/wiki/Navigation-3D\n */\nquil.middleware.navigation_3d \x3d (function quil$middleware$navigation_3d(options){\nreturn quil.middlewares.navigation_3d.navigation_3d(options);\n});\n/**\n * Enables navigation over 2D sketch. Drag mouse to change the center of the\n * sketch and mouse wheel controls zoom. This middleware requires [[fun-mode]].\n * \n * Customization\n * \n * You can customize this middleware by providing a map as\n * `:navigation-2d` option in [[quil.sketch/defsketch]]/[[quil.sketch/sketch]].\n * The map can have the following optional keys:\n * \n * * `:position` - vector of 2 numbers, x and y - center of the screen.\n * Default is `width/2`, `height/2`.\n * \n * * `:zoom` - number indicating current zoom level. Default is `1`.\n * \n * Accessing position information from a sketch\n * \n * [[navigation-2d]] uses [[fun-mode]] under the hood so all position-related\n * information is stored in the state map. It means that you can access in\n * draw/update/any handler and modify it if you need to. Position\n * information is a map which is stored under `:navigation-2d` key in the\n * state map. Position consists of 2 values: `:position` and `:zoom`.\n * See \x22Customization\x22 section above for more details.\n * \n * Example:\n * ```\n * (q/defsketch my-sketch\n * ...\n * :middleware [m/fun-mode m/navigation-2d])\n * ```\n */\nquil.middleware.navigation_2d \x3d (function quil$middleware$navigation_2d(options){\nreturn quil.middlewares.navigation_2d.navigation_2d(options);\n});\n"); +SHADOW_ENV.evalLoad("module$node_modules$nice_color_palettes$100_json.js", true , "shadow$provide.module$node_modules$nice_color_palettes$100_json\x3dfunction(global,require,module,exports){module.exports\x3d[[\x22#69d2e7\x22,\x22#a7dbd8\x22,\x22#e0e4cc\x22,\x22#f38630\x22,\x22#fa6900\x22],[\x22#fe4365\x22,\x22#fc9d9a\x22,\x22#f9cdad\x22,\x22#c8c8a9\x22,\x22#83af9b\x22],[\x22#ecd078\x22,\x22#d95b43\x22,\x22#c02942\x22,\x22#542437\x22,\x22#53777a\x22],[\x22#556270\x22,\x22#4ecdc4\x22,\x22#c7f464\x22,\x22#ff6b6b\x22,\x22#c44d58\x22],[\x22#774f38\x22,\x22#e08e79\x22,\x22#f1d4af\x22,\x22#ece5ce\x22,\x22#c5e0dc\x22],[\x22#e8ddcb\x22,\x22#cdb380\x22,\x22#036564\x22,\x22#033649\x22,\x22#031634\x22],[\x22#490a3d\x22,\x22#bd1550\x22,\x22#e97f02\x22,\x22#f8ca00\x22,\x22#8a9b0f\x22],[\x22#594f4f\x22,\x22#547980\x22,\n\x22#45ada8\x22,\x22#9de0ad\x22,\x22#e5fcc2\x22],[\x22#00a0b0\x22,\x22#6a4a3c\x22,\x22#cc333f\x22,\x22#eb6841\x22,\x22#edc951\x22],[\x22#e94e77\x22,\x22#d68189\x22,\x22#c6a49a\x22,\x22#c6e5d9\x22,\x22#f4ead5\x22],[\x22#3fb8af\x22,\x22#7fc7af\x22,\x22#dad8a7\x22,\x22#ff9e9d\x22,\x22#ff3d7f\x22],[\x22#d9ceb2\x22,\x22#948c75\x22,\x22#d5ded9\x22,\x22#7a6a53\x22,\x22#99b2b7\x22],[\x22#ffffff\x22,\x22#cbe86b\x22,\x22#f2e9e1\x22,\x22#1c140d\x22,\x22#cbe86b\x22],[\x22#efffcd\x22,\x22#dce9be\x22,\x22#555152\x22,\x22#2e2633\x22,\x22#99173c\x22],[\x22#343838\x22,\x22#005f6b\x22,\x22#008c9e\x22,\x22#00b4cc\x22,\x22#00dffc\x22],[\x22#413e4a\x22,\x22#73626e\x22,\x22#b38184\x22,\x22#f0b49e\x22,\x22#f7e4be\x22],[\x22#ff4e50\x22,\x22#fc913a\x22,\x22#f9d423\x22,\x22#ede574\x22,\x22#e1f5c4\x22],[\x22#99b898\x22,\n\x22#fecea8\x22,\x22#ff847c\x22,\x22#e84a5f\x22,\x22#2a363b\x22],[\x22#655643\x22,\x22#80bca3\x22,\x22#f6f7bd\x22,\x22#e6ac27\x22,\x22#bf4d28\x22],[\x22#00a8c6\x22,\x22#40c0cb\x22,\x22#f9f2e7\x22,\x22#aee239\x22,\x22#8fbe00\x22],[\x22#351330\x22,\x22#424254\x22,\x22#64908a\x22,\x22#e8caa4\x22,\x22#cc2a41\x22],[\x22#554236\x22,\x22#f77825\x22,\x22#d3ce3d\x22,\x22#f1efa5\x22,\x22#60b99a\x22],[\x22#5d4157\x22,\x22#838689\x22,\x22#a8caba\x22,\x22#cad7b2\x22,\x22#ebe3aa\x22],[\x22#8c2318\x22,\x22#5e8c6a\x22,\x22#88a65e\x22,\x22#bfb35a\x22,\x22#f2c45a\x22],[\x22#fad089\x22,\x22#ff9c5b\x22,\x22#f5634a\x22,\x22#ed303c\x22,\x22#3b8183\x22],[\x22#ff4242\x22,\x22#f4fad2\x22,\x22#d4ee5e\x22,\x22#e1edb9\x22,\x22#f0f2eb\x22],[\x22#f8b195\x22,\x22#f67280\x22,\x22#c06c84\x22,\x22#6c5b7b\x22,\x22#355c7d\x22],\n[\x22#d1e751\x22,\x22#ffffff\x22,\x22#000000\x22,\x22#4dbce9\x22,\x22#26ade4\x22],[\x22#1b676b\x22,\x22#519548\x22,\x22#88c425\x22,\x22#bef202\x22,\x22#eafde6\x22],[\x22#5e412f\x22,\x22#fcebb6\x22,\x22#78c0a8\x22,\x22#f07818\x22,\x22#f0a830\x22],[\x22#bcbdac\x22,\x22#cfbe27\x22,\x22#f27435\x22,\x22#f02475\x22,\x22#3b2d38\x22],[\x22#452632\x22,\x22#91204d\x22,\x22#e4844a\x22,\x22#e8bf56\x22,\x22#e2f7ce\x22],[\x22#eee6ab\x22,\x22#c5bc8e\x22,\x22#696758\x22,\x22#45484b\x22,\x22#36393b\x22],[\x22#f0d8a8\x22,\x22#3d1c00\x22,\x22#86b8b1\x22,\x22#f2d694\x22,\x22#fa2a00\x22],[\x22#2a044a\x22,\x22#0b2e59\x22,\x22#0d6759\x22,\x22#7ab317\x22,\x22#a0c55f\x22],[\x22#f04155\x22,\x22#ff823a\x22,\x22#f2f26f\x22,\x22#fff7bd\x22,\x22#95cfb7\x22],[\x22#b9d7d9\x22,\x22#668284\x22,\x22#2a2829\x22,\x22#493736\x22,\n\x22#7b3b3b\x22],[\x22#bbbb88\x22,\x22#ccc68d\x22,\x22#eedd99\x22,\x22#eec290\x22,\x22#eeaa88\x22],[\x22#b3cc57\x22,\x22#ecf081\x22,\x22#ffbe40\x22,\x22#ef746f\x22,\x22#ab3e5b\x22],[\x22#a3a948\x22,\x22#edb92e\x22,\x22#f85931\x22,\x22#ce1836\x22,\x22#009989\x22],[\x22#300030\x22,\x22#480048\x22,\x22#601848\x22,\x22#c04848\x22,\x22#f07241\x22],[\x22#67917a\x22,\x22#170409\x22,\x22#b8af03\x22,\x22#ccbf82\x22,\x22#e33258\x22],[\x22#aab3ab\x22,\x22#c4cbb7\x22,\x22#ebefc9\x22,\x22#eee0b7\x22,\x22#e8caaf\x22],[\x22#e8d5b7\x22,\x22#0e2430\x22,\x22#fc3a51\x22,\x22#f5b349\x22,\x22#e8d5b9\x22],[\x22#ab526b\x22,\x22#bca297\x22,\x22#c5ceae\x22,\x22#f0e2a4\x22,\x22#f4ebc3\x22],[\x22#607848\x22,\x22#789048\x22,\x22#c0d860\x22,\x22#f0f0d8\x22,\x22#604848\x22],[\x22#b6d8c0\x22,\x22#c8d9bf\x22,\x22#dadabd\x22,\n\x22#ecdbbc\x22,\x22#fedcba\x22],[\x22#a8e6ce\x22,\x22#dcedc2\x22,\x22#ffd3b5\x22,\x22#ffaaa6\x22,\x22#ff8c94\x22],[\x22#3e4147\x22,\x22#fffedf\x22,\x22#dfba69\x22,\x22#5a2e2e\x22,\x22#2a2c31\x22],[\x22#fc354c\x22,\x22#29221f\x22,\x22#13747d\x22,\x22#0abfbc\x22,\x22#fcf7c5\x22],[\x22#cc0c39\x22,\x22#e6781e\x22,\x22#c8cf02\x22,\x22#f8fcc1\x22,\x22#1693a7\x22],[\x22#1c2130\x22,\x22#028f76\x22,\x22#b3e099\x22,\x22#ffeaad\x22,\x22#d14334\x22],[\x22#a7c5bd\x22,\x22#e5ddcb\x22,\x22#eb7b59\x22,\x22#cf4647\x22,\x22#524656\x22],[\x22#dad6ca\x22,\x22#1bb0ce\x22,\x22#4f8699\x22,\x22#6a5e72\x22,\x22#563444\x22],[\x22#5c323e\x22,\x22#a82743\x22,\x22#e15e32\x22,\x22#c0d23e\x22,\x22#e5f04c\x22],[\x22#edebe6\x22,\x22#d6e1c7\x22,\x22#94c7b6\x22,\x22#403b33\x22,\x22#d3643b\x22],[\x22#fdf1cc\x22,\x22#c6d6b8\x22,\n\x22#987f69\x22,\x22#e3ad40\x22,\x22#fcd036\x22],[\x22#230f2b\x22,\x22#f21d41\x22,\x22#ebebbc\x22,\x22#bce3c5\x22,\x22#82b3ae\x22],[\x22#b9d3b0\x22,\x22#81bda4\x22,\x22#b28774\x22,\x22#f88f79\x22,\x22#f6aa93\x22],[\x22#3a111c\x22,\x22#574951\x22,\x22#83988e\x22,\x22#bcdea5\x22,\x22#e6f9bc\x22],[\x22#5e3929\x22,\x22#cd8c52\x22,\x22#b7d1a3\x22,\x22#dee8be\x22,\x22#fcf7d3\x22],[\x22#1c0113\x22,\x22#6b0103\x22,\x22#a30006\x22,\x22#c21a01\x22,\x22#f03c02\x22],[\x22#000000\x22,\x22#9f111b\x22,\x22#b11623\x22,\x22#292c37\x22,\x22#cccccc\x22],[\x22#382f32\x22,\x22#ffeaf2\x22,\x22#fcd9e5\x22,\x22#fbc5d8\x22,\x22#f1396d\x22],[\x22#e3dfba\x22,\x22#c8d6bf\x22,\x22#93ccc6\x22,\x22#6cbdb5\x22,\x22#1a1f1e\x22],[\x22#f6f6f6\x22,\x22#e8e8e8\x22,\x22#333333\x22,\x22#990100\x22,\x22#b90504\x22],[\x22#1b325f\x22,\n\x22#9cc4e4\x22,\x22#e9f2f9\x22,\x22#3a89c9\x22,\x22#f26c4f\x22],[\x22#a1dbb2\x22,\x22#fee5ad\x22,\x22#faca66\x22,\x22#f7a541\x22,\x22#f45d4c\x22],[\x22#c1b398\x22,\x22#605951\x22,\x22#fbeec2\x22,\x22#61a6ab\x22,\x22#accec0\x22],[\x22#5e9fa3\x22,\x22#dcd1b4\x22,\x22#fab87f\x22,\x22#f87e7b\x22,\x22#b05574\x22],[\x22#951f2b\x22,\x22#f5f4d7\x22,\x22#e0dfb1\x22,\x22#a5a36c\x22,\x22#535233\x22],[\x22#8dccad\x22,\x22#988864\x22,\x22#fea6a2\x22,\x22#f9d6ac\x22,\x22#ffe9af\x22],[\x22#2d2d29\x22,\x22#215a6d\x22,\x22#3ca2a2\x22,\x22#92c7a3\x22,\x22#dfece6\x22],[\x22#413d3d\x22,\x22#040004\x22,\x22#c8ff00\x22,\x22#fa023c\x22,\x22#4b000f\x22],[\x22#eff3cd\x22,\x22#b2d5ba\x22,\x22#61ada0\x22,\x22#248f8d\x22,\x22#605063\x22],[\x22#ffefd3\x22,\x22#fffee4\x22,\x22#d0ecea\x22,\x22#9fd6d2\x22,\x22#8b7a5e\x22],\n[\x22#cfffdd\x22,\x22#b4dec1\x22,\x22#5c5863\x22,\x22#a85163\x22,\x22#ff1f4c\x22],[\x22#9dc9ac\x22,\x22#fffec7\x22,\x22#f56218\x22,\x22#ff9d2e\x22,\x22#919167\x22],[\x22#4e395d\x22,\x22#827085\x22,\x22#8ebe94\x22,\x22#ccfc8e\x22,\x22#dc5b3e\x22],[\x22#a8a7a7\x22,\x22#cc527a\x22,\x22#e8175d\x22,\x22#474747\x22,\x22#363636\x22],[\x22#f8edd1\x22,\x22#d88a8a\x22,\x22#474843\x22,\x22#9d9d93\x22,\x22#c5cfc6\x22],[\x22#046d8b\x22,\x22#309292\x22,\x22#2fb8ac\x22,\x22#93a42a\x22,\x22#ecbe13\x22],[\x22#f38a8a\x22,\x22#55443d\x22,\x22#a0cab5\x22,\x22#cde9ca\x22,\x22#f1edd0\x22],[\x22#a70267\x22,\x22#f10c49\x22,\x22#fb6b41\x22,\x22#f6d86b\x22,\x22#339194\x22],[\x22#ff003c\x22,\x22#ff8a00\x22,\x22#fabe28\x22,\x22#88c100\x22,\x22#00c176\x22],[\x22#ffedbf\x22,\x22#f7803c\x22,\x22#f54828\x22,\x22#2e0d23\x22,\n\x22#f8e4c1\x22],[\x22#4e4d4a\x22,\x22#353432\x22,\x22#94ba65\x22,\x22#2790b0\x22,\x22#2b4e72\x22],[\x22#0ca5b0\x22,\x22#4e3f30\x22,\x22#fefeeb\x22,\x22#f8f4e4\x22,\x22#a5b3aa\x22],[\x22#4d3b3b\x22,\x22#de6262\x22,\x22#ffb88c\x22,\x22#ffd0b3\x22,\x22#f5e0d3\x22],[\x22#fffbb7\x22,\x22#a6f6af\x22,\x22#66b6ab\x22,\x22#5b7c8d\x22,\x22#4f2958\x22],[\x22#edf6ee\x22,\x22#d1c089\x22,\x22#b3204d\x22,\x22#412e28\x22,\x22#151101\x22],[\x22#9d7e79\x22,\x22#ccac95\x22,\x22#9a947c\x22,\x22#748b83\x22,\x22#5b756c\x22],[\x22#fcfef5\x22,\x22#e9ffe1\x22,\x22#cdcfb7\x22,\x22#d6e6c3\x22,\x22#fafbe3\x22],[\x22#9cddc8\x22,\x22#bfd8ad\x22,\x22#ddd9ab\x22,\x22#f7af63\x22,\x22#633d2e\x22],[\x22#30261c\x22,\x22#403831\x22,\x22#36544f\x22,\x22#1f5f61\x22,\x22#0b8185\x22],[\x22#aaff00\x22,\x22#ffaa00\x22,\x22#ff00aa\x22,\n\x22#aa00ff\x22,\x22#00aaff\x22],[\x22#d1313d\x22,\x22#e5625c\x22,\x22#f9bf76\x22,\x22#8eb2c5\x22,\x22#615375\x22],[\x22#ffe181\x22,\x22#eee9e5\x22,\x22#fad3b2\x22,\x22#ffba7f\x22,\x22#ff9c97\x22],[\x22#73c8a9\x22,\x22#dee1b6\x22,\x22#e1b866\x22,\x22#bd5532\x22,\x22#373b44\x22],[\x22#805841\x22,\x22#dcf7f3\x22,\x22#fffcdd\x22,\x22#ffd8d8\x22,\x22#f5a2a2\x22]]}"); +SHADOW_ENV.evalLoad("sketches.creative_coding.print_art.js", true , "goog.provide(\x27sketches.creative_coding.print_art\x27);\nvar module$node_modules$nice_color_palettes$100_json\x3dshadow.js.require(\x22module$node_modules$nice_color_palettes$100_json\x22, {});\nsketches.creative_coding.print_art.palettes \x3d cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(module$node_modules$nice_color_palettes$100_json);\nsketches.creative_coding.print_art.pick_random \x3d (function sketches$creative_coding$print_art$pick_random(list){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(list,cljs.core.rand_int((cljs.core.count(list) - (1))));\n});\nsketches.creative_coding.print_art.pick_random_palette \x3d (function sketches$creative_coding$print_art$pick_random_palette(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24733_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (s){\nreturn quil.core.unhex(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,s));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(p1__24733_SHARP_)));\n}),sketches.creative_coding.print_art.pick_random(sketches.creative_coding.print_art.palettes));\n});\nsketches.creative_coding.print_art.setup \x3d (function sketches$creative_coding$print_art$setup(){\nvar grid \x3d (40);\nvar font \x3d \x22Helvetica\x22;\nvar palette \x3d sketches.creative_coding.print_art.pick_random_palette();\nvar points \x3d (function (){var iter__5523__auto__ \x3d (function sketches$creative_coding$print_art$setup_$_iter__24743(s__24744){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24744__$1 \x3d s__24744;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24744__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar x \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__24744__$1,x,xs__6360__auto__,temp__5804__auto__,grid,font,palette){\nreturn (function sketches$creative_coding$print_art$setup_$_iter__24743_$_iter__24745(s__24746){\nreturn (new cljs.core.LazySeq(null,((function (s__24744__$1,x,xs__6360__auto__,temp__5804__auto__,grid,font,palette){\nreturn (function (){\nvar s__24746__$1 \x3d s__24746;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24746__$1);\nif(temp__5804__auto____$1){\nvar s__24746__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24746__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24746__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24748 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24747 \x3d (0);\nwhile(true){\nif((i__24747 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__24747);\ncljs.core.chunk_append(b__24748,(function (){var u \x3d (x / (grid - (1)));\nvar v \x3d (y / (grid - (1)));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(palette,cljs.core.rand_int((3))),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [u,v], null),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(quil.core.abs(quil.core.noise.cljs$core$IFn$_invoke$arity$2(u,v)) * 0.2),new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644),(quil.core.abs(quil.core.noise.cljs$core$IFn$_invoke$arity$2(u,v)) * 0.5)], null);\n})());\n\nvar G__24872 \x3d (i__24747 + (1));\ni__24747 \x3d G__24872;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24748),sketches$creative_coding$print_art$setup_$_iter__24743_$_iter__24745(cljs.core.chunk_rest(s__24746__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24748),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__24746__$2);\nreturn cljs.core.cons((function (){var u \x3d (x / (grid - (1)));\nvar v \x3d (y / (grid - (1)));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(palette,cljs.core.rand_int((3))),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [u,v], null),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(quil.core.abs(quil.core.noise.cljs$core$IFn$_invoke$arity$2(u,v)) * 0.2),new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644),(quil.core.abs(quil.core.noise.cljs$core$IFn$_invoke$arity$2(u,v)) * 0.5)], null);\n})(),sketches$creative_coding$print_art$setup_$_iter__24743_$_iter__24745(cljs.core.rest(s__24746__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__24744__$1,x,xs__6360__auto__,temp__5804__auto__,grid,font,palette))\n,null,null));\n});})(s__24744__$1,x,xs__6360__auto__,temp__5804__auto__,grid,font,palette))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(grid)));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$creative_coding$print_art$setup_$_iter__24743(cljs.core.rest(s__24744__$1)));\n} else {\nvar G__24877 \x3d cljs.core.rest(s__24744__$1);\ns__24744__$1 \x3d G__24877;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(grid));\n})();\nvar seq__24790 \x3d cljs.core.seq(points);\nvar chunk__24791 \x3d null;\nvar count__24792 \x3d (0);\nvar i__24793 \x3d (0);\nwhile(true){\nif((i__24793 \x3c count__24792)){\nvar map__24838 \x3d chunk__24791.cljs$core$IIndexed$_nth$arity$2(null,i__24793);\nvar map__24838__$1 \x3d cljs.core.__destructure_map(map__24838);\nvar vec__24839 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24838__$1,new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912));\nvar u \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24839,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24839,(1),null);\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24838__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24838__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nvar rotation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24838__$1,new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644));\nquil.core.push_matrix();\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,color);\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(quil.core.map_range(u,(0),(1),(0),quil.core.width()),quil.core.map_range(v,(0),(1),(0),quil.core.height()));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(rotation);\n\nquil.core.text_font.cljs$core$IFn$_invoke$arity$2(font,(radius * quil.core.width()));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(\x22\x3d\x22,(0),(0));\n\nquil.core.pop_matrix();\n\n\nvar G__24878 \x3d seq__24790;\nvar G__24879 \x3d chunk__24791;\nvar G__24880 \x3d count__24792;\nvar G__24881 \x3d (i__24793 + (1));\nseq__24790 \x3d G__24878;\nchunk__24791 \x3d G__24879;\ncount__24792 \x3d G__24880;\ni__24793 \x3d G__24881;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24790);\nif(temp__5804__auto__){\nvar seq__24790__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24790__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24790__$1);\nvar G__24882 \x3d cljs.core.chunk_rest(seq__24790__$1);\nvar G__24883 \x3d c__5568__auto__;\nvar G__24884 \x3d cljs.core.count(c__5568__auto__);\nvar G__24885 \x3d (0);\nseq__24790 \x3d G__24882;\nchunk__24791 \x3d G__24883;\ncount__24792 \x3d G__24884;\ni__24793 \x3d G__24885;\ncontinue;\n} else {\nvar map__24842 \x3d cljs.core.first(seq__24790__$1);\nvar map__24842__$1 \x3d cljs.core.__destructure_map(map__24842);\nvar vec__24843 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24842__$1,new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912));\nvar u \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24843,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24843,(1),null);\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24842__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24842__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nvar rotation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24842__$1,new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644));\nquil.core.push_matrix();\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,color);\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(quil.core.map_range(u,(0),(1),(0),quil.core.width()),quil.core.map_range(v,(0),(1),(0),quil.core.height()));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(rotation);\n\nquil.core.text_font.cljs$core$IFn$_invoke$arity$2(font,(radius * quil.core.width()));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(\x22\x3d\x22,(0),(0));\n\nquil.core.pop_matrix();\n\n\nvar G__24886 \x3d cljs.core.next(seq__24790__$1);\nvar G__24887 \x3d null;\nvar G__24888 \x3d (0);\nvar G__24889 \x3d (0);\nseq__24790 \x3d G__24886;\nchunk__24791 \x3d G__24887;\ncount__24792 \x3d G__24888;\ni__24793 \x3d G__24889;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.creative_coding.print_art.run \x3d (function sketches$creative_coding$print_art$run(host){\nsketches.creative_coding.print_art.print_art \x3d (function sketches$creative_coding$print_art$run_$_print_art(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24894__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24894 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24895__i \x3d 0, G__24895__a \x3d new Array(arguments.length - 0);\nwhile (G__24895__i \x3c G__24895__a.length) {G__24895__a[G__24895__i] \x3d arguments[G__24895__i + 0]; ++G__24895__i;}\n args \x3d new cljs.core.IndexedSeq(G__24895__a,0,null);\n} \nreturn G__24894__delegate.call(this,args);};\nG__24894.cljs$lang$maxFixedArity \x3d 0;\nG__24894.cljs$lang$applyTo \x3d (function (arglist__24896){\nvar args \x3d cljs.core.seq(arglist__24896);\nreturn G__24894__delegate(args);\n});\nG__24894.cljs$core$IFn$_invoke$arity$variadic \x3d G__24894__delegate;\nreturn G__24894;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.creative_coding.print_art.setup))?(function() { \nvar G__24897__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.creative_coding.print_art.setup,args);\n};\nvar G__24897 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24898__i \x3d 0, G__24898__a \x3d new Array(arguments.length - 0);\nwhile (G__24898__i \x3c G__24898__a.length) {G__24898__a[G__24898__i] \x3d arguments[G__24898__i + 0]; ++G__24898__i;}\n args \x3d new cljs.core.IndexedSeq(G__24898__a,0,null);\n} \nreturn G__24897__delegate.call(this,args);};\nG__24897.cljs$lang$maxFixedArity \x3d 0;\nG__24897.cljs$lang$applyTo \x3d (function (arglist__24899){\nvar args \x3d cljs.core.seq(arglist__24899);\nreturn G__24897__delegate(args);\n});\nG__24897.cljs$core$IFn$_invoke$arity$variadic \x3d G__24897__delegate;\nreturn G__24897;\n})()\n:sketches.creative_coding.print_art.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.creative_coding.print_art.print_art\x27, sketches.creative_coding.print_art.print_art);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.creative_coding.print_art.print_art,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24900__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24900 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24901__i \x3d 0, G__24901__a \x3d new Array(arguments.length - 0);\nwhile (G__24901__i \x3c G__24901__a.length) {G__24901__a[G__24901__i] \x3d arguments[G__24901__i + 0]; ++G__24901__i;}\n args \x3d new cljs.core.IndexedSeq(G__24901__a,0,null);\n} \nreturn G__24900__delegate.call(this,args);};\nG__24900.cljs$lang$maxFixedArity \x3d 0;\nG__24900.cljs$lang$applyTo \x3d (function (arglist__24902){\nvar args \x3d cljs.core.seq(arglist__24902);\nreturn G__24900__delegate(args);\n});\nG__24900.cljs$core$IFn$_invoke$arity$variadic \x3d G__24900__delegate;\nreturn G__24900;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("module$node_modules$bezier_easing$src$index.js", true , "shadow$provide.module$node_modules$bezier_easing$src$index\x3dfunction(global,require,module,exports){function calcBezier(aT,aA1,aA2){return(((1-3*aA2+3*aA1)*aT+(3*aA2-6*aA1))*aT+3*aA1)*aT}function LinearEasing(x){return x}var float32ArraySupported\x3d\x22function\x22\x3d\x3d\x3dtypeof Float32Array;module.exports\x3dfunction(mX1,mY1,mX2,mY2){if(!(0\x3c\x3dmX1\x26\x261\x3e\x3dmX1\x26\x260\x3c\x3dmX2\x26\x261\x3e\x3dmX2))throw Error(\x22bezier x values must be in [0, 1] range\x22);if(mX1\x3d\x3d\x3dmY1\x26\x26mX2\x3d\x3d\x3dmY2)return LinearEasing;for(var sampleValues\x3dfloat32ArraySupported?new Float32Array(11):\nArray(11),i$jscomp$0\x3d0;11\x3ei$jscomp$0;++i$jscomp$0)sampleValues[i$jscomp$0]\x3dcalcBezier(.1*i$jscomp$0,mX1,mX2);return function(x){if(0\x3d\x3d\x3dx)return 0;if(1\x3d\x3d\x3dx)return 1;for(var intervalStart\x3d0,currentSample\x3d1;10!\x3d\x3dcurrentSample\x26\x26sampleValues[currentSample]\x3c\x3dx;++currentSample)intervalStart+\x3d.1;--currentSample;currentSample\x3dintervalStart+(x-sampleValues[currentSample])/(sampleValues[currentSample+1]-sampleValues[currentSample])*.1;var initialSlope\x3d3*(1-3*mX2+3*mX1)*currentSample*currentSample+2*(3*mX2-6*\nmX1)*currentSample+3*mX1;if(.001\x3c\x3dinitialSlope){for(intervalStart\x3d0;4\x3eintervalStart;++intervalStart){initialSlope\x3d3*(1-3*mX2+3*mX1)*currentSample*currentSample+2*(3*mX2-6*mX1)*currentSample+3*mX1;if(0\x3d\x3d\x3dinitialSlope)break;var currentX\x3dcalcBezier(currentSample,mX1,mX2)-x;currentSample-\x3dcurrentX/initialSlope}x\x3dcurrentSample}else if(0\x3d\x3d\x3dinitialSlope)x\x3dcurrentSample;else{currentSample\x3dintervalStart;intervalStart+\x3d.1;var i\x3d0;do currentX\x3dcurrentSample+(intervalStart-currentSample)/2,initialSlope\x3dcalcBezier(currentX,\nmX1,mX2)-x,0\x3cinitialSlope?intervalStart\x3dcurrentX:currentSample\x3dcurrentX;while(1E-7\x3cMath.abs(initialSlope)\x26\x2610\x3e++i);x\x3dcurrentX}return calcBezier(x,mY1,mY2)}}}"); +SHADOW_ENV.evalLoad("sketches.creative_coding.webgl.js", true , "goog.provide(\x27sketches.creative_coding.webgl\x27);\nvar module$node_modules$nice_color_palettes$100_json\x3dshadow.js.require(\x22module$node_modules$nice_color_palettes$100_json\x22, {});\nvar module$node_modules$bezier_easing$src$index\x3dshadow.js.require(\x22module$node_modules$bezier_easing$src$index\x22, {});\nsketches.creative_coding.webgl.palettes \x3d cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(module$node_modules$nice_color_palettes$100_json);\nsketches.creative_coding.webgl.pick_random \x3d (function sketches$creative_coding$webgl$pick_random(list){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(list,cljs.core.rand_int((cljs.core.count(list) - (1))));\n});\nsketches.creative_coding.webgl.pick_random_palette \x3d (function sketches$creative_coding$webgl$pick_random_palette(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24693_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (s){\nreturn quil.core.unhex(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,s));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(p1__24693_SHARP_)));\n}),sketches.creative_coding.webgl.pick_random(sketches.creative_coding.webgl.palettes));\n});\nsketches.creative_coding.webgl.draw \x3d (function sketches$creative_coding$webgl$draw(p__24703){\nvar map__24710 \x3d p__24703;\nvar map__24710__$1 \x3d cljs.core.__destructure_map(map__24710);\nvar rotation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24710__$1,new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644));\nvar boxes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24710__$1,new cljs.core.Keyword(null,\x22boxes\x22,\x22boxes\x22,-420813822));\nquil.core.clear();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$3((0),(0),(-500));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$4(quil.core.radians((45)),(0),(1),(0));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$4(rotation,(1),(0),(0));\n\nquil.core.ambient_light.cljs$core$IFn$_invoke$arity$3((200),(200),(200));\n\nquil.core.directional_light((255),(255),(255),(0),(1),-0.5);\n\nvar seq__24712 \x3d cljs.core.seq(boxes);\nvar chunk__24713 \x3d null;\nvar count__24714 \x3d (0);\nvar i__24715 \x3d (0);\nwhile(true){\nif((i__24715 \x3c count__24714)){\nvar map__24724 \x3d chunk__24713.cljs$core$IIndexed$_nth$arity$2(null,i__24715);\nvar map__24724__$1 \x3d cljs.core.__destructure_map(map__24724);\nvar scale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24724__$1,new cljs.core.Keyword(null,\x22scale\x22,\x22scale\x22,-230427353));\nvar position \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24724__$1,new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24724__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nquil.core.push_matrix();\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.ambient,color);\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.scale,scale);\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.translate,position);\n\nquil.core.box.cljs$core$IFn$_invoke$arity$3((100),(100),(100));\n\nquil.core.pop_matrix();\n\n\nvar G__24794 \x3d seq__24712;\nvar G__24795 \x3d chunk__24713;\nvar G__24796 \x3d count__24714;\nvar G__24797 \x3d (i__24715 + (1));\nseq__24712 \x3d G__24794;\nchunk__24713 \x3d G__24795;\ncount__24714 \x3d G__24796;\ni__24715 \x3d G__24797;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24712);\nif(temp__5804__auto__){\nvar seq__24712__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24712__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24712__$1);\nvar G__24799 \x3d cljs.core.chunk_rest(seq__24712__$1);\nvar G__24800 \x3d c__5568__auto__;\nvar G__24801 \x3d cljs.core.count(c__5568__auto__);\nvar G__24802 \x3d (0);\nseq__24712 \x3d G__24799;\nchunk__24713 \x3d G__24800;\ncount__24714 \x3d G__24801;\ni__24715 \x3d G__24802;\ncontinue;\n} else {\nvar map__24726 \x3d cljs.core.first(seq__24712__$1);\nvar map__24726__$1 \x3d cljs.core.__destructure_map(map__24726);\nvar scale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24726__$1,new cljs.core.Keyword(null,\x22scale\x22,\x22scale\x22,-230427353));\nvar position \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24726__$1,new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24726__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nquil.core.push_matrix();\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.ambient,color);\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.scale,scale);\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.translate,position);\n\nquil.core.box.cljs$core$IFn$_invoke$arity$3((100),(100),(100));\n\nquil.core.pop_matrix();\n\n\nvar G__24808 \x3d cljs.core.next(seq__24712__$1);\nvar G__24809 \x3d null;\nvar G__24810 \x3d (0);\nvar G__24811 \x3d (0);\nseq__24712 \x3d G__24808;\nchunk__24713 \x3d G__24809;\ncount__24714 \x3d G__24810;\ni__24715 \x3d G__24811;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.creative_coding.webgl.ease_fn \x3d module$node_modules$bezier_easing$src$index(0.67,0.03,0.29,0.99);\nsketches.creative_coding.webgl.update_state \x3d (function sketches$creative_coding$webgl$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644),(function (){\nvar G__24735 \x3d quil.core.sin((new cljs.core.Keyword(null,\x22play-head\x22,\x22play-head\x22,-1176395340).cljs$core$IFn$_invoke$arity$1(state) * quil.core.PI));\nreturn (sketches.creative_coding.webgl.ease_fn.cljs$core$IFn$_invoke$arity$1 ? sketches.creative_coding.webgl.ease_fn.cljs$core$IFn$_invoke$arity$1(G__24735) : sketches.creative_coding.webgl.ease_fn.call(null,G__24735));\n})),new cljs.core.Keyword(null,\x22play-head\x22,\x22play-head\x22,-1176395340),(function (p1__24734_SHARP_){\nreturn cljs.core.mod((p1__24734_SHARP_ + 0.01),(1));\n}));\n});\nsketches.creative_coding.webgl.setup \x3d (function sketches$creative_coding$webgl$setup(){\nquil.core.stroke_weight((0));\n\nvar palette \x3d sketches.creative_coding.webgl.pick_random_palette();\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22boxes\x22,\x22boxes\x22,-420813822),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (i){\nvar color \x3d sketches.creative_coding.webgl.pick_random(palette);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22scale\x22,\x22scale\x22,-230427353),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1)),quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1)),quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1))], null),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.width()),quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.height()),quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.height())], null),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),color], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((100))),new cljs.core.Keyword(null,\x22rotation\x22,\x22rotation\x22,-1728051644),(0),new cljs.core.Keyword(null,\x22play-head\x22,\x22play-head\x22,-1176395340),(0)], null);\n});\nsketches.creative_coding.webgl.run \x3d (function sketches$creative_coding$webgl$run(host){\nsketches.creative_coding.webgl.webgl \x3d (function sketches$creative_coding$webgl$run_$_webgl(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24819__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24819 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24820__i \x3d 0, G__24820__a \x3d new Array(arguments.length - 0);\nwhile (G__24820__i \x3c G__24820__a.length) {G__24820__a[G__24820__i] \x3d arguments[G__24820__i + 0]; ++G__24820__i;}\n args \x3d new cljs.core.IndexedSeq(G__24820__a,0,null);\n} \nreturn G__24819__delegate.call(this,args);};\nG__24819.cljs$lang$maxFixedArity \x3d 0;\nG__24819.cljs$lang$applyTo \x3d (function (arglist__24821){\nvar args \x3d cljs.core.seq(arglist__24821);\nreturn G__24819__delegate(args);\n});\nG__24819.cljs$core$IFn$_invoke$arity$variadic \x3d G__24819__delegate;\nreturn G__24819;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.creative_coding.webgl.update_state))?(function() { \nvar G__24822__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.creative_coding.webgl.update_state,args);\n};\nvar G__24822 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24823__i \x3d 0, G__24823__a \x3d new Array(arguments.length - 0);\nwhile (G__24823__i \x3c G__24823__a.length) {G__24823__a[G__24823__i] \x3d arguments[G__24823__i + 0]; ++G__24823__i;}\n args \x3d new cljs.core.IndexedSeq(G__24823__a,0,null);\n} \nreturn G__24822__delegate.call(this,args);};\nG__24822.cljs$lang$maxFixedArity \x3d 0;\nG__24822.cljs$lang$applyTo \x3d (function (arglist__24824){\nvar args \x3d cljs.core.seq(arglist__24824);\nreturn G__24822__delegate(args);\n});\nG__24822.cljs$core$IFn$_invoke$arity$variadic \x3d G__24822__delegate;\nreturn G__24822;\n})()\n:sketches.creative_coding.webgl.update_state),new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.creative_coding.webgl.setup))?(function() { \nvar G__24825__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.creative_coding.webgl.setup,args);\n};\nvar G__24825 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24826__i \x3d 0, G__24826__a \x3d new Array(arguments.length - 0);\nwhile (G__24826__i \x3c G__24826__a.length) {G__24826__a[G__24826__i] \x3d arguments[G__24826__i + 0]; ++G__24826__i;}\n args \x3d new cljs.core.IndexedSeq(G__24826__a,0,null);\n} \nreturn G__24825__delegate.call(this,args);};\nG__24825.cljs$lang$maxFixedArity \x3d 0;\nG__24825.cljs$lang$applyTo \x3d (function (arglist__24827){\nvar args \x3d cljs.core.seq(arglist__24827);\nreturn G__24825__delegate(args);\n});\nG__24825.cljs$core$IFn$_invoke$arity$variadic \x3d G__24825__delegate;\nreturn G__24825;\n})()\n:sketches.creative_coding.webgl.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.creative_coding.webgl.draw))?(function() { \nvar G__24828__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.creative_coding.webgl.draw,args);\n};\nvar G__24828 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24829__i \x3d 0, G__24829__a \x3d new Array(arguments.length - 0);\nwhile (G__24829__i \x3c G__24829__a.length) {G__24829__a[G__24829__i] \x3d arguments[G__24829__i + 0]; ++G__24829__i;}\n args \x3d new cljs.core.IndexedSeq(G__24829__a,0,null);\n} \nreturn G__24828__delegate.call(this,args);};\nG__24828.cljs$lang$maxFixedArity \x3d 0;\nG__24828.cljs$lang$applyTo \x3d (function (arglist__24830){\nvar args \x3d cljs.core.seq(arglist__24830);\nreturn G__24828__delegate(args);\n});\nG__24828.cljs$core$IFn$_invoke$arity$variadic \x3d G__24828__delegate;\nreturn G__24828;\n})()\n:sketches.creative_coding.webgl.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.creative_coding.webgl.webgl\x27, sketches.creative_coding.webgl.webgl);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.creative_coding.webgl.webgl,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24831__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24831 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24832__i \x3d 0, G__24832__a \x3d new Array(arguments.length - 0);\nwhile (G__24832__i \x3c G__24832__a.length) {G__24832__a[G__24832__i] \x3d arguments[G__24832__i + 0]; ++G__24832__i;}\n args \x3d new cljs.core.IndexedSeq(G__24832__a,0,null);\n} \nreturn G__24831__delegate.call(this,args);};\nG__24831.cljs$lang$maxFixedArity \x3d 0;\nG__24831.cljs$lang$applyTo \x3d (function (arglist__24834){\nvar args \x3d cljs.core.seq(arglist__24834);\nreturn G__24831__delegate(args);\n});\nG__24831.cljs$core$IFn$_invoke$arity$variadic \x3d G__24831__delegate;\nreturn G__24831;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.creative_coding.core.js", true , "goog.provide(\x27sketches.creative_coding.core\x27);\nsketches.creative_coding.core.main \x3d (function sketches$creative_coding$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.section,\x22Creative Coding with Canvas \x26 WebGL\x22,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),\x22Sketches of \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://twitter.com/mattdesl\x22], null),\x22Matt DesLauriers\x27\x22], null),\x22 \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://frontendmasters.com/courses/canvas-webgl/\x22], null),\x22Creative Coding with Canvas \x26 WebGL\x22], null),\x22 implemented in ClojureScript.\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2201\x22,\x22Print Art with Canvas\x22,\x22https://frontendmasters.com/courses/canvas-webgl/\x22,sketches.creative_coding.print_art.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2202\x22,\x22WebGL\x22,\x22https://frontendmasters.com/courses/canvas-webgl/\x22,sketches.creative_coding.webgl.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.circle_packing.js", true , "goog.provide(\x27sketches.generative_artistry.circle_packing\x27);\nsketches.generative_artistry.circle_packing.does_circle_have_a_collision \x3d (function sketches$generative_artistry$circle_packing$does_circle_have_a_collision(circles,p__24691){\nvar map__24692 \x3d p__24691;\nvar map__24692__$1 \x3d cljs.core.__destructure_map(map__24692);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24692__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24692__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24692__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nreturn cljs.core.some((function (other_circle){\nvar a \x3d ((radius / (2)) + (new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258).cljs$core$IFn$_invoke$arity$1(other_circle) / (2)));\nvar x__$1 \x3d (x - new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(other_circle));\nvar y__$1 \x3d (y - new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(other_circle));\nreturn (a \x3e\x3d Math.sqrt(((x__$1 * x__$1) + (y__$1 * y__$1))));\n}),circles);\n});\nsketches.generative_artistry.circle_packing.create_circle \x3d (function sketches$generative_artistry$circle_packing$create_circle(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.random.cljs$core$IFn$_invoke$arity$1(quil.core.width()),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.random.cljs$core$IFn$_invoke$arity$1(quil.core.height()),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(2)], null);\n});\nsketches.generative_artistry.circle_packing.draw_circle \x3d (function sketches$generative_artistry$circle_packing$draw_circle(p__24702){\nvar map__24711 \x3d p__24702;\nvar map__24711__$1 \x3d cljs.core.__destructure_map(map__24711);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24711__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24711__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24711__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nreturn quil.core.ellipse(x,y,radius,radius);\n});\nsketches.generative_artistry.circle_packing.setup \x3d (function sketches$generative_artistry$circle_packing$setup(){\nquil.core.no_fill();\n\nvar total_circles \x3d (500);\nvar max_radius \x3d (100);\nvar circles \x3d (function (){var i \x3d (0);\nvar G__24719 \x3d sketches.generative_artistry.circle_packing.create_circle();\nvar map__24720 \x3d G__24719;\nvar map__24720__$1 \x3d cljs.core.__destructure_map(map__24720);\nvar circle \x3d map__24720__$1;\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24720__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nvar circles \x3d cljs.core.List.EMPTY;\nvar i__$1 \x3d i;\nvar G__24719__$1 \x3d G__24719;\nvar circles__$1 \x3d circles;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar map__24725 \x3d G__24719__$1;\nvar map__24725__$1 \x3d cljs.core.__destructure_map(map__24725);\nvar circle__$1 \x3d map__24725__$1;\nvar radius__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24725__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nvar circles__$2 \x3d circles__$1;\nif((i__$2 \x3e\x3d total_circles)){\nreturn circles__$2;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(radius__$1,max_radius)){\nvar G__24740 \x3d (i__$2 + (1));\nvar G__24741 \x3d sketches.generative_artistry.circle_packing.create_circle();\nvar G__24742 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(circles__$2,circle__$1);\ni__$1 \x3d G__24740;\nG__24719__$1 \x3d G__24741;\ncircles__$1 \x3d G__24742;\ncontinue;\n} else {\nif(cljs.core.truth_(sketches.generative_artistry.circle_packing.does_circle_have_a_collision(circles__$2,cljs.core.update.cljs$core$IFn$_invoke$arity$3(circle__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),cljs.core.inc)))){\nif(cljs.core.not(sketches.generative_artistry.circle_packing.does_circle_have_a_collision(circles__$2,circle__$1))){\nvar G__24749 \x3d (i__$2 + (1));\nvar G__24750 \x3d sketches.generative_artistry.circle_packing.create_circle();\nvar G__24751 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(circles__$2,circle__$1);\ni__$1 \x3d G__24749;\nG__24719__$1 \x3d G__24750;\ncircles__$1 \x3d G__24751;\ncontinue;\n} else {\nvar G__24752 \x3d i__$2;\nvar G__24753 \x3d sketches.generative_artistry.circle_packing.create_circle();\nvar G__24754 \x3d circles__$2;\ni__$1 \x3d G__24752;\nG__24719__$1 \x3d G__24753;\ncircles__$1 \x3d G__24754;\ncontinue;\n}\n} else {\nif((radius__$1 \x3c max_radius)){\nvar G__24755 \x3d i__$2;\nvar G__24756 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(circle__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),cljs.core.inc);\nvar G__24757 \x3d circles__$2;\ni__$1 \x3d G__24755;\nG__24719__$1 \x3d G__24756;\ncircles__$1 \x3d G__24757;\ncontinue;\n} else {\nvar G__24758 \x3d (i__$2 + (1));\nvar G__24759 \x3d sketches.generative_artistry.circle_packing.create_circle();\nvar G__24760 \x3d circles__$2;\ni__$1 \x3d G__24758;\nG__24719__$1 \x3d G__24759;\ncircles__$1 \x3d G__24760;\ncontinue;\n\n}\n}\n}\n}\nbreak;\n}\n})();\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.circle_packing.draw_circle,circles));\n});\nsketches.generative_artistry.circle_packing.run \x3d (function sketches$generative_artistry$circle_packing$run(host){\nsketches.generative_artistry.circle_packing.circle_packing \x3d (function sketches$generative_artistry$circle_packing$run_$_circle_packing(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24761__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24761 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24762__i \x3d 0, G__24762__a \x3d new Array(arguments.length - 0);\nwhile (G__24762__i \x3c G__24762__a.length) {G__24762__a[G__24762__i] \x3d arguments[G__24762__i + 0]; ++G__24762__i;}\n args \x3d new cljs.core.IndexedSeq(G__24762__a,0,null);\n} \nreturn G__24761__delegate.call(this,args);};\nG__24761.cljs$lang$maxFixedArity \x3d 0;\nG__24761.cljs$lang$applyTo \x3d (function (arglist__24763){\nvar args \x3d cljs.core.seq(arglist__24763);\nreturn G__24761__delegate(args);\n});\nG__24761.cljs$core$IFn$_invoke$arity$variadic \x3d G__24761__delegate;\nreturn G__24761;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.circle_packing.setup))?(function() { \nvar G__24764__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.circle_packing.setup,args);\n};\nvar G__24764 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24765__i \x3d 0, G__24765__a \x3d new Array(arguments.length - 0);\nwhile (G__24765__i \x3c G__24765__a.length) {G__24765__a[G__24765__i] \x3d arguments[G__24765__i + 0]; ++G__24765__i;}\n args \x3d new cljs.core.IndexedSeq(G__24765__a,0,null);\n} \nreturn G__24764__delegate.call(this,args);};\nG__24764.cljs$lang$maxFixedArity \x3d 0;\nG__24764.cljs$lang$applyTo \x3d (function (arglist__24768){\nvar args \x3d cljs.core.seq(arglist__24768);\nreturn G__24764__delegate(args);\n});\nG__24764.cljs$core$IFn$_invoke$arity$variadic \x3d G__24764__delegate;\nreturn G__24764;\n})()\n:sketches.generative_artistry.circle_packing.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.circle_packing.circle_packing\x27, sketches.generative_artistry.circle_packing.circle_packing);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.circle_packing.circle_packing,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24775__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24775 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24777__i \x3d 0, G__24777__a \x3d new Array(arguments.length - 0);\nwhile (G__24777__i \x3c G__24777__a.length) {G__24777__a[G__24777__i] \x3d arguments[G__24777__i + 0]; ++G__24777__i;}\n args \x3d new cljs.core.IndexedSeq(G__24777__a,0,null);\n} \nreturn G__24775__delegate.call(this,args);};\nG__24775.cljs$lang$maxFixedArity \x3d 0;\nG__24775.cljs$lang$applyTo \x3d (function (arglist__24779){\nvar args \x3d cljs.core.seq(arglist__24779);\nreturn G__24775__delegate(args);\n});\nG__24775.cljs$core$IFn$_invoke$arity$variadic \x3d G__24775__delegate;\nreturn G__24775;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.cubic_disarray.js", true , "goog.provide(\x27sketches.generative_artistry.cubic_disarray\x27);\nsketches.generative_artistry.cubic_disarray.setup \x3d (function sketches$generative_artistry$cubic_disarray$setup(){\nreturn null;\n});\nsketches.generative_artistry.cubic_disarray.draw \x3d (function sketches$generative_artistry$cubic_disarray$draw(){\nquil.core.no_loop();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.stroke_weight((2));\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nvar step \x3d (30);\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((step / (2)),(step / (2)));\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (xStep){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (yStep){\nquil.core.push_matrix();\n\nvar max_displacement_24728 \x3d (15);\nvar max_rotation_24729 \x3d (20);\nvar rotate_amt_24730 \x3d (((((yStep / quil.core.height()) * (quil.core.PI / (180))) * (((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3c 0.5))?(-1):(1))) * quil.core.random.cljs$core$IFn$_invoke$arity$1((1))) * max_rotation_24729);\nvar translate_amt_24731 \x3d ((((yStep / quil.core.height()) * (((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3c 0.5))?(-1):(1))) * quil.core.random.cljs$core$IFn$_invoke$arity$1((1))) * max_displacement_24728);\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((xStep + translate_amt_24731),(yStep));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(rotate_amt_24730);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),step,step);\n\nreturn quil.core.pop_matrix();\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.height(),step)));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),step)));\n});\nsketches.generative_artistry.cubic_disarray.run \x3d (function sketches$generative_artistry$cubic_disarray$run(host){\nsketches.generative_artistry.cubic_disarray.cubic_dissary \x3d (function sketches$generative_artistry$cubic_disarray$run_$_cubic_dissary(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24737__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24737 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24766__i \x3d 0, G__24766__a \x3d new Array(arguments.length - 0);\nwhile (G__24766__i \x3c G__24766__a.length) {G__24766__a[G__24766__i] \x3d arguments[G__24766__i + 0]; ++G__24766__i;}\n args \x3d new cljs.core.IndexedSeq(G__24766__a,0,null);\n} \nreturn G__24737__delegate.call(this,args);};\nG__24737.cljs$lang$maxFixedArity \x3d 0;\nG__24737.cljs$lang$applyTo \x3d (function (arglist__24769){\nvar args \x3d cljs.core.seq(arglist__24769);\nreturn G__24737__delegate(args);\n});\nG__24737.cljs$core$IFn$_invoke$arity$variadic \x3d G__24737__delegate;\nreturn G__24737;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.cubic_disarray.setup))?(function() { \nvar G__24771__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.cubic_disarray.setup,args);\n};\nvar G__24771 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24773__i \x3d 0, G__24773__a \x3d new Array(arguments.length - 0);\nwhile (G__24773__i \x3c G__24773__a.length) {G__24773__a[G__24773__i] \x3d arguments[G__24773__i + 0]; ++G__24773__i;}\n args \x3d new cljs.core.IndexedSeq(G__24773__a,0,null);\n} \nreturn G__24771__delegate.call(this,args);};\nG__24771.cljs$lang$maxFixedArity \x3d 0;\nG__24771.cljs$lang$applyTo \x3d (function (arglist__24774){\nvar args \x3d cljs.core.seq(arglist__24774);\nreturn G__24771__delegate(args);\n});\nG__24771.cljs$core$IFn$_invoke$arity$variadic \x3d G__24771__delegate;\nreturn G__24771;\n})()\n:sketches.generative_artistry.cubic_disarray.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_artistry.cubic_disarray.draw))?(function() { \nvar G__24776__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.cubic_disarray.draw,args);\n};\nvar G__24776 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24778__i \x3d 0, G__24778__a \x3d new Array(arguments.length - 0);\nwhile (G__24778__i \x3c G__24778__a.length) {G__24778__a[G__24778__i] \x3d arguments[G__24778__i + 0]; ++G__24778__i;}\n args \x3d new cljs.core.IndexedSeq(G__24778__a,0,null);\n} \nreturn G__24776__delegate.call(this,args);};\nG__24776.cljs$lang$maxFixedArity \x3d 0;\nG__24776.cljs$lang$applyTo \x3d (function (arglist__24780){\nvar args \x3d cljs.core.seq(arglist__24780);\nreturn G__24776__delegate(args);\n});\nG__24776.cljs$core$IFn$_invoke$arity$variadic \x3d G__24776__delegate;\nreturn G__24776;\n})()\n:sketches.generative_artistry.cubic_disarray.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.cubic_disarray.cubic_dissary\x27, sketches.generative_artistry.cubic_disarray.cubic_dissary);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.cubic_disarray.cubic_dissary,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24784__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24784 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24785__i \x3d 0, G__24785__a \x3d new Array(arguments.length - 0);\nwhile (G__24785__i \x3c G__24785__a.length) {G__24785__a[G__24785__i] \x3d arguments[G__24785__i + 0]; ++G__24785__i;}\n args \x3d new cljs.core.IndexedSeq(G__24785__a,0,null);\n} \nreturn G__24784__delegate.call(this,args);};\nG__24784.cljs$lang$maxFixedArity \x3d 0;\nG__24784.cljs$lang$applyTo \x3d (function (arglist__24786){\nvar args \x3d cljs.core.seq(arglist__24786);\nreturn G__24784__delegate(args);\n});\nG__24784.cljs$core$IFn$_invoke$arity$variadic \x3d G__24784__delegate;\nreturn G__24784;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.hypnotic_squares.js", true , "goog.provide(\x27sketches.generative_artistry.hypnotic_squares\x27);\nsketches.generative_artistry.hypnotic_squares.setup \x3d (function sketches$generative_artistry$hypnotic_squares$setup(){\nvar final_size \x3d (3);\nvar offset \x3d (2);\nvar tile_step \x3d ((quil.core.width() - (offset * (2))) / (7));\nvar start_size \x3d tile_step;\nsketches.generative_artistry.hypnotic_squares.draw \x3d (function sketches$generative_artistry$hypnotic_squares$setup_$_draw(x,y,width,height,x_movement,y_movement,steps,start_steps){\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(x,y,width,height);\n\nif((steps \x3e\x3d (0))){\nvar new_size \x3d ((start_size * (steps / start_steps)) + final_size);\nvar new_x \x3d (x + ((width - new_size) / (2)));\nvar tilted_x \x3d (new_x - (((x - new_x) / (steps + (2))) * x_movement));\nvar new_y \x3d (y + ((height - new_size) / (2)));\nvar tilted_y \x3d (new_y - (((y - new_y) / (steps + (2))) * y_movement));\nvar G__24694 \x3d tilted_x;\nvar G__24695 \x3d tilted_y;\nvar G__24696 \x3d new_size;\nvar G__24697 \x3d new_size;\nvar G__24698 \x3d x_movement;\nvar G__24699 \x3d y_movement;\nvar G__24700 \x3d (steps - (1));\nvar G__24701 \x3d start_steps;\nreturn (sketches.generative_artistry.hypnotic_squares.draw.cljs$core$IFn$_invoke$arity$8 ? sketches.generative_artistry.hypnotic_squares.draw.cljs$core$IFn$_invoke$arity$8(G__24694,G__24695,G__24696,G__24697,G__24698,G__24699,G__24700,G__24701) : sketches.generative_artistry.hypnotic_squares.draw.call(null,G__24694,G__24695,G__24696,G__24697,G__24698,G__24699,G__24700,G__24701));\n} else {\nreturn null;\n}\n});\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$generative_artistry$hypnotic_squares$setup_$_iter__24704(s__24705){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24705__$1 \x3d s__24705;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24705__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar x \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__24705__$1,x,xs__6360__auto__,temp__5804__auto__,final_size,offset,tile_step,start_size){\nreturn (function sketches$generative_artistry$hypnotic_squares$setup_$_iter__24704_$_iter__24706(s__24707){\nreturn (new cljs.core.LazySeq(null,((function (s__24705__$1,x,xs__6360__auto__,temp__5804__auto__,final_size,offset,tile_step,start_size){\nreturn (function (){\nvar s__24707__$1 \x3d s__24707;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24707__$1);\nif(temp__5804__auto____$1){\nvar s__24707__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24707__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24707__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24709 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24708 \x3d (0);\nwhile(true){\nif((i__24708 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__24708);\ncljs.core.chunk_append(b__24709,(function (){var start_steps \x3d ((2) + Math.ceil(quil.core.random.cljs$core$IFn$_invoke$arity$1((3))));\nreturn sketches.generative_artistry.hypnotic_squares.draw(x,y,start_size,start_size,Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1))),Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1))),start_steps,start_steps);\n})());\n\nvar G__24855 \x3d (i__24708 + (1));\ni__24708 \x3d G__24855;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24709),sketches$generative_artistry$hypnotic_squares$setup_$_iter__24704_$_iter__24706(cljs.core.chunk_rest(s__24707__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24709),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__24707__$2);\nreturn cljs.core.cons((function (){var start_steps \x3d ((2) + Math.ceil(quil.core.random.cljs$core$IFn$_invoke$arity$1((3))));\nreturn sketches.generative_artistry.hypnotic_squares.draw(x,y,start_size,start_size,Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1))),Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((-1),(1))),start_steps,start_steps);\n})(),sketches$generative_artistry$hypnotic_squares$setup_$_iter__24704_$_iter__24706(cljs.core.rest(s__24707__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__24705__$1,x,xs__6360__auto__,temp__5804__auto__,final_size,offset,tile_step,start_size))\n,null,null));\n});})(s__24705__$1,x,xs__6360__auto__,temp__5804__auto__,final_size,offset,tile_step,start_size))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(offset,(quil.core.height() - offset),tile_step)));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$generative_artistry$hypnotic_squares$setup_$_iter__24704(cljs.core.rest(s__24705__$1)));\n} else {\nvar G__24907 \x3d cljs.core.rest(s__24705__$1);\ns__24705__$1 \x3d G__24907;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(offset,(quil.core.width() - offset),tile_step));\n})());\n});\nsketches.generative_artistry.hypnotic_squares.run \x3d (function sketches$generative_artistry$hypnotic_squares$run(host){\nsketches.generative_artistry.hypnotic_squares.hypnotic_squers \x3d (function sketches$generative_artistry$hypnotic_squares$run_$_hypnotic_squers(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24908__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24908 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24909__i \x3d 0, G__24909__a \x3d new Array(arguments.length - 0);\nwhile (G__24909__i \x3c G__24909__a.length) {G__24909__a[G__24909__i] \x3d arguments[G__24909__i + 0]; ++G__24909__i;}\n args \x3d new cljs.core.IndexedSeq(G__24909__a,0,null);\n} \nreturn G__24908__delegate.call(this,args);};\nG__24908.cljs$lang$maxFixedArity \x3d 0;\nG__24908.cljs$lang$applyTo \x3d (function (arglist__24910){\nvar args \x3d cljs.core.seq(arglist__24910);\nreturn G__24908__delegate(args);\n});\nG__24908.cljs$core$IFn$_invoke$arity$variadic \x3d G__24908__delegate;\nreturn G__24908;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.hypnotic_squares.setup))?(function() { \nvar G__24911__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.hypnotic_squares.setup,args);\n};\nvar G__24911 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24912__i \x3d 0, G__24912__a \x3d new Array(arguments.length - 0);\nwhile (G__24912__i \x3c G__24912__a.length) {G__24912__a[G__24912__i] \x3d arguments[G__24912__i + 0]; ++G__24912__i;}\n args \x3d new cljs.core.IndexedSeq(G__24912__a,0,null);\n} \nreturn G__24911__delegate.call(this,args);};\nG__24911.cljs$lang$maxFixedArity \x3d 0;\nG__24911.cljs$lang$applyTo \x3d (function (arglist__24913){\nvar args \x3d cljs.core.seq(arglist__24913);\nreturn G__24911__delegate(args);\n});\nG__24911.cljs$core$IFn$_invoke$arity$variadic \x3d G__24911__delegate;\nreturn G__24911;\n})()\n:sketches.generative_artistry.hypnotic_squares.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.hypnotic_squares.hypnotic_squers\x27, sketches.generative_artistry.hypnotic_squares.hypnotic_squers);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.hypnotic_squares.hypnotic_squers,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24914__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24914 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24915__i \x3d 0, G__24915__a \x3d new Array(arguments.length - 0);\nwhile (G__24915__i \x3c G__24915__a.length) {G__24915__a[G__24915__i] \x3d arguments[G__24915__i + 0]; ++G__24915__i;}\n args \x3d new cljs.core.IndexedSeq(G__24915__a,0,null);\n} \nreturn G__24914__delegate.call(this,args);};\nG__24914.cljs$lang$maxFixedArity \x3d 0;\nG__24914.cljs$lang$applyTo \x3d (function (arglist__24916){\nvar args \x3d cljs.core.seq(arglist__24916);\nreturn G__24914__delegate(args);\n});\nG__24914.cljs$core$IFn$_invoke$arity$variadic \x3d G__24914__delegate;\nreturn G__24914;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.joy_division.js", true , "goog.provide(\x27sketches.generative_artistry.joy_division\x27);\nsketches.generative_artistry.joy_division.setup \x3d (function sketches$generative_artistry$joy_division$setup(host){\nreturn null;\n});\nsketches.generative_artistry.joy_division.draw \x3d (function sketches$generative_artistry$joy_division$draw(){\nquil.core.no_loop();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar step \x3d (20);\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (yStep){\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (xStep){\nvar distance_to_center \x3d quil.core.abs((xStep - (quil.core.width() / (2))));\nvar variance \x3d (function (){var x__5130__auto__ \x3d (((quil.core.width() / (2)) - (50)) - distance_to_center);\nvar y__5131__auto__ \x3d (0);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar r \x3d ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * (variance / (2))) * (-1));\nreturn quil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2(xStep,(r + yStep));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((- step),((step + step) + quil.core.width()),step)));\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.height(),step)));\n});\nsketches.generative_artistry.joy_division.run \x3d (function sketches$generative_artistry$joy_division$run(host){\nsketches.generative_artistry.joy_division.tiledLines \x3d (function sketches$generative_artistry$joy_division$run_$_tiledLines(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24736__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24736 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24738__i \x3d 0, G__24738__a \x3d new Array(arguments.length - 0);\nwhile (G__24738__i \x3c G__24738__a.length) {G__24738__a[G__24738__i] \x3d arguments[G__24738__i + 0]; ++G__24738__i;}\n args \x3d new cljs.core.IndexedSeq(G__24738__a,0,null);\n} \nreturn G__24736__delegate.call(this,args);};\nG__24736.cljs$lang$maxFixedArity \x3d 0;\nG__24736.cljs$lang$applyTo \x3d (function (arglist__24739){\nvar args \x3d cljs.core.seq(arglist__24739);\nreturn G__24736__delegate(args);\n});\nG__24736.cljs$core$IFn$_invoke$arity$variadic \x3d G__24736__delegate;\nreturn G__24736;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.joy_division.setup))?(function() { \nvar G__24767__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.joy_division.setup,args);\n};\nvar G__24767 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24770__i \x3d 0, G__24770__a \x3d new Array(arguments.length - 0);\nwhile (G__24770__i \x3c G__24770__a.length) {G__24770__a[G__24770__i] \x3d arguments[G__24770__i + 0]; ++G__24770__i;}\n args \x3d new cljs.core.IndexedSeq(G__24770__a,0,null);\n} \nreturn G__24767__delegate.call(this,args);};\nG__24767.cljs$lang$maxFixedArity \x3d 0;\nG__24767.cljs$lang$applyTo \x3d (function (arglist__24772){\nvar args \x3d cljs.core.seq(arglist__24772);\nreturn G__24767__delegate(args);\n});\nG__24767.cljs$core$IFn$_invoke$arity$variadic \x3d G__24767__delegate;\nreturn G__24767;\n})()\n:sketches.generative_artistry.joy_division.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_artistry.joy_division.draw))?(function() { \nvar G__24781__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.joy_division.draw,args);\n};\nvar G__24781 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24782__i \x3d 0, G__24782__a \x3d new Array(arguments.length - 0);\nwhile (G__24782__i \x3c G__24782__a.length) {G__24782__a[G__24782__i] \x3d arguments[G__24782__i + 0]; ++G__24782__i;}\n args \x3d new cljs.core.IndexedSeq(G__24782__a,0,null);\n} \nreturn G__24781__delegate.call(this,args);};\nG__24781.cljs$lang$maxFixedArity \x3d 0;\nG__24781.cljs$lang$applyTo \x3d (function (arglist__24783){\nvar args \x3d cljs.core.seq(arglist__24783);\nreturn G__24781__delegate(args);\n});\nG__24781.cljs$core$IFn$_invoke$arity$variadic \x3d G__24781__delegate;\nreturn G__24781;\n})()\n:sketches.generative_artistry.joy_division.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.joy_division.tiledLines\x27, sketches.generative_artistry.joy_division.tiledLines);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.joy_division.tiledLines,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24787__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24787 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24788__i \x3d 0, G__24788__a \x3d new Array(arguments.length - 0);\nwhile (G__24788__i \x3c G__24788__a.length) {G__24788__a[G__24788__i] \x3d arguments[G__24788__i + 0]; ++G__24788__i;}\n args \x3d new cljs.core.IndexedSeq(G__24788__a,0,null);\n} \nreturn G__24787__delegate.call(this,args);};\nG__24787.cljs$lang$maxFixedArity \x3d 0;\nG__24787.cljs$lang$applyTo \x3d (function (arglist__24789){\nvar args \x3d cljs.core.seq(arglist__24789);\nreturn G__24787__delegate(args);\n});\nG__24787.cljs$core$IFn$_invoke$arity$variadic \x3d G__24787__delegate;\nreturn G__24787;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.piet_mondarin.js", true , "goog.provide(\x27sketches.generative_artistry.piet_mondarin\x27);\nsketches.generative_artistry.piet_mondarin.split_on_x \x3d (function sketches$generative_artistry$piet_mondarin$split_on_x(square,split_at){\nvar square_a \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),(new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square) - ((new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square) - split_at) + new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square))),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square)], null);\nvar square_b \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),split_at,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),((new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square) - split_at) + new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square)),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square)], null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [square_a,square_b], null);\n});\nsketches.generative_artistry.piet_mondarin.split_on_y \x3d (function sketches$generative_artistry$piet_mondarin$split_on_y(square,split_at){\nvar square_a \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),(new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square) - ((new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square) - split_at) + new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square)))], null);\nvar square_b \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),split_at,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),((new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square) - split_at) + new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square))], null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [square_a,square_b], null);\n});\nsketches.generative_artistry.piet_mondarin.split_squares_with \x3d (function sketches$generative_artistry$piet_mondarin$split_squares_with(squares,p__24716){\nvar map__24717 \x3d p__24716;\nvar map__24717__$1 \x3d cljs.core.__destructure_map(map__24717);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24717__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24717__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nif((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3e 0.5)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (squares__$1,square){\nif((((x \x3e new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square))) \x26\x26 ((new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square) \x3c (new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(square) + new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477).cljs$core$IFn$_invoke$arity$1(square)))))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(squares__$1,sketches.generative_artistry.piet_mondarin.split_on_x(square,x));\n} else {\nif((((y \x3e new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square))) \x26\x26 ((new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square) \x3c (new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(square) + new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622).cljs$core$IFn$_invoke$arity$1(square)))))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(squares__$1,sketches.generative_artistry.piet_mondarin.split_on_y(square,y));\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(squares__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [square], null));\n\n}\n}\n}),cljs.core.PersistentVector.EMPTY,squares);\n} else {\nreturn squares;\n}\n});\nsketches.generative_artistry.piet_mondarin.draw_square \x3d (function sketches$generative_artistry$piet_mondarin$draw_square(p__24727){\nvar map__24732 \x3d p__24727;\nvar map__24732__$1 \x3d cljs.core.__destructure_map(map__24732);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24732__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24732__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar width \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24732__$1,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477));\nvar height \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24732__$1,new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24732__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(color)?color:\x22#F2F5F1\x22));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4(x,y,width,height);\n});\nsketches.generative_artistry.piet_mondarin.draw \x3d (function sketches$generative_artistry$piet_mondarin$draw(squares){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.piet_mondarin.draw_square,squares));\n});\nsketches.generative_artistry.piet_mondarin.add_colors \x3d (function sketches$generative_artistry$piet_mondarin$add_colors(squares){\nvar i1 \x3d Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(squares)));\nvar i2 \x3d Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(squares)));\nvar i3 \x3d Math.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(squares)));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,squares),i1,(function (square){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(square,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22#D40920\x22);\n})),i2,(function (square){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(square,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22#1356A2\x22);\n})),i3,(function (square){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(square,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22#F7D842\x22);\n}));\n});\nsketches.generative_artistry.piet_mondarin.setup \x3d (function sketches$generative_artistry$piet_mondarin$setup(){\nquil.core.stroke_weight((8));\n\nvar squares \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(0),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(0),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),quil.core.width(),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),quil.core.height()], null)], null);\nvar step \x3d (quil.core.width() / (6));\nreturn sketches.generative_artistry.piet_mondarin.draw(sketches.generative_artistry.piet_mondarin.add_colors(cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (squares__$1,i){\nreturn sketches.generative_artistry.piet_mondarin.split_squares_with(sketches.generative_artistry.piet_mondarin.split_squares_with(squares__$1,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),i], null)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),i], null));\n}),squares,cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(step * (6)),step)))));\n});\nsketches.generative_artistry.piet_mondarin.run \x3d (function sketches$generative_artistry$piet_mondarin$run(host){\nsketches.generative_artistry.piet_mondarin.pient_mondrain \x3d (function sketches$generative_artistry$piet_mondarin$run_$_pient_mondrain(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24798__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24798 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24803__i \x3d 0, G__24803__a \x3d new Array(arguments.length - 0);\nwhile (G__24803__i \x3c G__24803__a.length) {G__24803__a[G__24803__i] \x3d arguments[G__24803__i + 0]; ++G__24803__i;}\n args \x3d new cljs.core.IndexedSeq(G__24803__a,0,null);\n} \nreturn G__24798__delegate.call(this,args);};\nG__24798.cljs$lang$maxFixedArity \x3d 0;\nG__24798.cljs$lang$applyTo \x3d (function (arglist__24804){\nvar args \x3d cljs.core.seq(arglist__24804);\nreturn G__24798__delegate(args);\n});\nG__24798.cljs$core$IFn$_invoke$arity$variadic \x3d G__24798__delegate;\nreturn G__24798;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.piet_mondarin.setup))?(function() { \nvar G__24805__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.piet_mondarin.setup,args);\n};\nvar G__24805 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24806__i \x3d 0, G__24806__a \x3d new Array(arguments.length - 0);\nwhile (G__24806__i \x3c G__24806__a.length) {G__24806__a[G__24806__i] \x3d arguments[G__24806__i + 0]; ++G__24806__i;}\n args \x3d new cljs.core.IndexedSeq(G__24806__a,0,null);\n} \nreturn G__24805__delegate.call(this,args);};\nG__24805.cljs$lang$maxFixedArity \x3d 0;\nG__24805.cljs$lang$applyTo \x3d (function (arglist__24807){\nvar args \x3d cljs.core.seq(arglist__24807);\nreturn G__24805__delegate(args);\n});\nG__24805.cljs$core$IFn$_invoke$arity$variadic \x3d G__24805__delegate;\nreturn G__24805;\n})()\n:sketches.generative_artistry.piet_mondarin.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.piet_mondarin.pient_mondrain\x27, sketches.generative_artistry.piet_mondarin.pient_mondrain);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.piet_mondarin.pient_mondrain,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24812__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24812 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24814__i \x3d 0, G__24814__a \x3d new Array(arguments.length - 0);\nwhile (G__24814__i \x3c G__24814__a.length) {G__24814__a[G__24814__i] \x3d arguments[G__24814__i + 0]; ++G__24814__i;}\n args \x3d new cljs.core.IndexedSeq(G__24814__a,0,null);\n} \nreturn G__24812__delegate.call(this,args);};\nG__24812.cljs$lang$maxFixedArity \x3d 0;\nG__24812.cljs$lang$applyTo \x3d (function (arglist__24815){\nvar args \x3d cljs.core.seq(arglist__24815);\nreturn G__24812__delegate(args);\n});\nG__24812.cljs$core$IFn$_invoke$arity$variadic \x3d G__24812__delegate;\nreturn G__24812;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.tiled_lines.js", true , "goog.provide(\x27sketches.generative_artistry.tiled_lines\x27);\nsketches.generative_artistry.tiled_lines.setup \x3d (function sketches$generative_artistry$tiled_lines$setup(){\nreturn null;\n});\nsketches.generative_artistry.tiled_lines.draw \x3d (function sketches$generative_artistry$tiled_lines$draw(){\nquil.core.no_loop();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar step \x3d (30);\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (xStep){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (yStep){\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(xStep,yStep);\n\nvar is_inverted_24854 \x3d (0.5 \x3c quil.core.random.cljs$core$IFn$_invoke$arity$1((1)));\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.line,((is_inverted_24854)?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0),step,step], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [step,(0),(0),step], null)));\n\nreturn quil.core.pop_matrix();\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.height(),step)));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),step)));\n});\nsketches.generative_artistry.tiled_lines.run \x3d (function sketches$generative_artistry$tiled_lines$run(host){\nsketches.generative_artistry.tiled_lines.tiledLines \x3d (function sketches$generative_artistry$tiled_lines$run_$_tiledLines(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24856__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24856 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24857__i \x3d 0, G__24857__a \x3d new Array(arguments.length - 0);\nwhile (G__24857__i \x3c G__24857__a.length) {G__24857__a[G__24857__i] \x3d arguments[G__24857__i + 0]; ++G__24857__i;}\n args \x3d new cljs.core.IndexedSeq(G__24857__a,0,null);\n} \nreturn G__24856__delegate.call(this,args);};\nG__24856.cljs$lang$maxFixedArity \x3d 0;\nG__24856.cljs$lang$applyTo \x3d (function (arglist__24858){\nvar args \x3d cljs.core.seq(arglist__24858);\nreturn G__24856__delegate(args);\n});\nG__24856.cljs$core$IFn$_invoke$arity$variadic \x3d G__24856__delegate;\nreturn G__24856;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.tiled_lines.setup))?(function() { \nvar G__24859__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.tiled_lines.setup,args);\n};\nvar G__24859 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24860__i \x3d 0, G__24860__a \x3d new Array(arguments.length - 0);\nwhile (G__24860__i \x3c G__24860__a.length) {G__24860__a[G__24860__i] \x3d arguments[G__24860__i + 0]; ++G__24860__i;}\n args \x3d new cljs.core.IndexedSeq(G__24860__a,0,null);\n} \nreturn G__24859__delegate.call(this,args);};\nG__24859.cljs$lang$maxFixedArity \x3d 0;\nG__24859.cljs$lang$applyTo \x3d (function (arglist__24861){\nvar args \x3d cljs.core.seq(arglist__24861);\nreturn G__24859__delegate(args);\n});\nG__24859.cljs$core$IFn$_invoke$arity$variadic \x3d G__24859__delegate;\nreturn G__24859;\n})()\n:sketches.generative_artistry.tiled_lines.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_artistry.tiled_lines.draw))?(function() { \nvar G__24862__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.tiled_lines.draw,args);\n};\nvar G__24862 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24863__i \x3d 0, G__24863__a \x3d new Array(arguments.length - 0);\nwhile (G__24863__i \x3c G__24863__a.length) {G__24863__a[G__24863__i] \x3d arguments[G__24863__i + 0]; ++G__24863__i;}\n args \x3d new cljs.core.IndexedSeq(G__24863__a,0,null);\n} \nreturn G__24862__delegate.call(this,args);};\nG__24862.cljs$lang$maxFixedArity \x3d 0;\nG__24862.cljs$lang$applyTo \x3d (function (arglist__24864){\nvar args \x3d cljs.core.seq(arglist__24864);\nreturn G__24862__delegate(args);\n});\nG__24862.cljs$core$IFn$_invoke$arity$variadic \x3d G__24862__delegate;\nreturn G__24862;\n})()\n:sketches.generative_artistry.tiled_lines.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.tiled_lines.tiledLines\x27, sketches.generative_artistry.tiled_lines.tiledLines);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.tiled_lines.tiledLines,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24865__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24865 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24866__i \x3d 0, G__24866__a \x3d new Array(arguments.length - 0);\nwhile (G__24866__i \x3c G__24866__a.length) {G__24866__a[G__24866__i] \x3d arguments[G__24866__i + 0]; ++G__24866__i;}\n args \x3d new cljs.core.IndexedSeq(G__24866__a,0,null);\n} \nreturn G__24865__delegate.call(this,args);};\nG__24865.cljs$lang$maxFixedArity \x3d 0;\nG__24865.cljs$lang$applyTo \x3d (function (arglist__24867){\nvar args \x3d cljs.core.seq(arglist__24867);\nreturn G__24865__delegate(args);\n});\nG__24865.cljs$core$IFn$_invoke$arity$variadic \x3d G__24865__delegate;\nreturn G__24865;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.triangular_mesh.js", true , "goog.provide(\x27sketches.generative_artistry.triangular_mesh\x27);\nsketches.generative_artistry.triangular_mesh.setup \x3d (function sketches$generative_artistry$triangular_mesh$setup(){\nvar gap \x3d (quil.core.width() / (8));\nvar lines \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$generative_artistry$triangular_mesh$setup_$_iter__24846(s__24847){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24847__$1 \x3d s__24847;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24847__$1);\nif(temp__5804__auto__){\nvar s__24847__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24847__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24847__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24849 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24848 \x3d (0);\nwhile(true){\nif((i__24848 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__24848);\ncljs.core.chunk_append(b__24849,(function (){var iter__5523__auto__ \x3d ((function (i__24848,y,c__5521__auto__,size__5522__auto__,b__24849,s__24847__$2,temp__5804__auto__,gap){\nreturn (function sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24850(s__24851){\nreturn (new cljs.core.LazySeq(null,((function (i__24848,y,c__5521__auto__,size__5522__auto__,b__24849,s__24847__$2,temp__5804__auto__,gap){\nreturn (function (){\nvar s__24851__$1 \x3d s__24851;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24851__$1);\nif(temp__5804__auto____$1){\nvar s__24851__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24851__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__24851__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__24853 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__24852 \x3d (0);\nwhile(true){\nif((i__24852 \x3c size__5522__auto____$1)){\nvar x \x3d cljs.core._nth(c__5521__auto____$1,i__24852);\nvar odd \x3d cljs.core.odd_QMARK_((y / gap));\ncljs.core.chunk_append(b__24853,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),((x + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4))) + ((odd)?(gap / (2)):(0))),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(y + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4)))], null));\n\nvar G__24936 \x3d (i__24852 + (1));\ni__24852 \x3d G__24936;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24853),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24850(cljs.core.chunk_rest(s__24851__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24853),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__24851__$2);\nvar odd \x3d cljs.core.odd_QMARK_((y / gap));\nreturn cljs.core.cons(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),((x + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4))) + ((odd)?(gap / (2)):(0))),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(y + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4)))], null),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24850(cljs.core.rest(s__24851__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__24848,y,c__5521__auto__,size__5522__auto__,b__24849,s__24847__$2,temp__5804__auto__,gap))\n,null,null));\n});})(i__24848,y,c__5521__auto__,size__5522__auto__,b__24849,s__24847__$2,temp__5804__auto__,gap))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(gap,quil.core.width(),gap));\n})());\n\nvar G__24937 \x3d (i__24848 + (1));\ni__24848 \x3d G__24937;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24849),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846(cljs.core.chunk_rest(s__24847__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24849),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__24847__$2);\nreturn cljs.core.cons((function (){var iter__5523__auto__ \x3d ((function (y,s__24847__$2,temp__5804__auto__,gap){\nreturn (function sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24873(s__24874){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24874__$1 \x3d s__24874;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24874__$1);\nif(temp__5804__auto____$1){\nvar s__24874__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24874__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24874__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24876 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24875 \x3d (0);\nwhile(true){\nif((i__24875 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__24875);\nvar odd \x3d cljs.core.odd_QMARK_((y / gap));\ncljs.core.chunk_append(b__24876,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),((x + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4))) + ((odd)?(gap / (2)):(0))),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(y + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4)))], null));\n\nvar G__24939 \x3d (i__24875 + (1));\ni__24875 \x3d G__24939;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24876),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24873(cljs.core.chunk_rest(s__24874__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24876),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__24874__$2);\nvar odd \x3d cljs.core.odd_QMARK_((y / gap));\nreturn cljs.core.cons(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),((x + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4))) + ((odd)?(gap / (2)):(0))),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(y + (gap * ((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) * 0.8) - 0.4)))], null),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846_$_iter__24873(cljs.core.rest(s__24874__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(y,s__24847__$2,temp__5804__auto__,gap))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(gap,quil.core.width(),gap));\n})(),sketches$generative_artistry$triangular_mesh$setup_$_iter__24846(cljs.core.rest(s__24847__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(gap,quil.core.height(),gap));\n})());\nvar dot_line \x3d cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (lineIdx,line){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var dot_line \x3d cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,point){\nif(cljs.core.odd_QMARK_(lineIdx)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [point,cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,lines),(lineIdx + (1)))),idx)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,lines),(lineIdx + (1)))),idx),point], null);\n}\n}),line);\nreturn dot_line;\n})());\n}),cljs.core.butlast(lines));\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (line){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,p1){\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,line),(idx + (1)));\nvar p3 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,line),((idx + (1)) + (1)));\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((cljs.core.rand_int((16)) * ((255) / (16))));\n\nreturn quil.core.triangle(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(p1),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(p1),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(p2),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(p2),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(p3),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(p3));\n}),cljs.core.butlast(cljs.core.butlast(line))));\n}),dot_line));\n});\nsketches.generative_artistry.triangular_mesh.run \x3d (function sketches$generative_artistry$triangular_mesh$run(host){\nsketches.generative_artistry.triangular_mesh.triangular_mesh \x3d (function sketches$generative_artistry$triangular_mesh$run_$_triangular_mesh(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24942__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24942 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24943__i \x3d 0, G__24943__a \x3d new Array(arguments.length - 0);\nwhile (G__24943__i \x3c G__24943__a.length) {G__24943__a[G__24943__i] \x3d arguments[G__24943__i + 0]; ++G__24943__i;}\n args \x3d new cljs.core.IndexedSeq(G__24943__a,0,null);\n} \nreturn G__24942__delegate.call(this,args);};\nG__24942.cljs$lang$maxFixedArity \x3d 0;\nG__24942.cljs$lang$applyTo \x3d (function (arglist__24944){\nvar args \x3d cljs.core.seq(arglist__24944);\nreturn G__24942__delegate(args);\n});\nG__24942.cljs$core$IFn$_invoke$arity$variadic \x3d G__24942__delegate;\nreturn G__24942;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.triangular_mesh.setup))?(function() { \nvar G__24945__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.triangular_mesh.setup,args);\n};\nvar G__24945 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24946__i \x3d 0, G__24946__a \x3d new Array(arguments.length - 0);\nwhile (G__24946__i \x3c G__24946__a.length) {G__24946__a[G__24946__i] \x3d arguments[G__24946__i + 0]; ++G__24946__i;}\n args \x3d new cljs.core.IndexedSeq(G__24946__a,0,null);\n} \nreturn G__24945__delegate.call(this,args);};\nG__24945.cljs$lang$maxFixedArity \x3d 0;\nG__24945.cljs$lang$applyTo \x3d (function (arglist__24947){\nvar args \x3d cljs.core.seq(arglist__24947);\nreturn G__24945__delegate(args);\n});\nG__24945.cljs$core$IFn$_invoke$arity$variadic \x3d G__24945__delegate;\nreturn G__24945;\n})()\n:sketches.generative_artistry.triangular_mesh.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.triangular_mesh.triangular_mesh\x27, sketches.generative_artistry.triangular_mesh.triangular_mesh);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.triangular_mesh.triangular_mesh,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24948__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24948 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24949__i \x3d 0, G__24949__a \x3d new Array(arguments.length - 0);\nwhile (G__24949__i \x3c G__24949__a.length) {G__24949__a[G__24949__i] \x3d arguments[G__24949__i + 0]; ++G__24949__i;}\n args \x3d new cljs.core.IndexedSeq(G__24949__a,0,null);\n} \nreturn G__24948__delegate.call(this,args);};\nG__24948.cljs$lang$maxFixedArity \x3d 0;\nG__24948.cljs$lang$applyTo \x3d (function (arglist__24950){\nvar args \x3d cljs.core.seq(arglist__24950);\nreturn G__24948__delegate(args);\n});\nG__24948.cljs$core$IFn$_invoke$arity$variadic \x3d G__24948__delegate;\nreturn G__24948;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.un_deux_trois.js", true , "goog.provide(\x27sketches.generative_artistry.un_deux_trois\x27);\nsketches.generative_artistry.un_deux_trois.draw_line \x3d (function sketches$generative_artistry$un_deux_trois$draw_line(x,y,width,height,positions){\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((x + (width / (2))),(y + (height / (2))));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.random.cljs$core$IFn$_invoke$arity$1((5)));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((- (width / (2))),(- (height / (2))));\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$generative_artistry$un_deux_trois$draw_line_$_iter__24868(s__24869){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24869__$1 \x3d s__24869;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24869__$1);\nif(temp__5804__auto__){\nvar s__24869__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24869__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24869__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24871 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24870 \x3d (0);\nwhile(true){\nif((i__24870 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__24870);\ncljs.core.chunk_append(b__24871,quil.core.line.cljs$core$IFn$_invoke$arity$4((i * width),(0),(i * width),height));\n\nvar G__24938 \x3d (i__24870 + (1));\ni__24870 \x3d G__24938;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24871),sketches$generative_artistry$un_deux_trois$draw_line_$_iter__24868(cljs.core.chunk_rest(s__24869__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24871),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__24869__$2);\nreturn cljs.core.cons(quil.core.line.cljs$core$IFn$_invoke$arity$4((i * width),(0),(i * width),height),sketches$generative_artistry$un_deux_trois$draw_line_$_iter__24868(cljs.core.rest(s__24869__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(positions);\n})());\n\nreturn quil.core.pop_matrix();\n});\nsketches.generative_artistry.un_deux_trois.setup \x3d (function sketches$generative_artistry$un_deux_trois$setup(){\nvar step \x3d (20);\nvar third_of_height \x3d (quil.core.height() / (3));\nquil.core.stroke_weight((4));\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$generative_artistry$un_deux_trois$setup_$_iter__24890(s__24891){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24891__$1 \x3d s__24891;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24891__$1);\nif(temp__5804__auto__){\nvar s__24891__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24891__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24891__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24893 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24892 \x3d (0);\nwhile(true){\nif((i__24892 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__24892);\ncljs.core.chunk_append(b__24893,cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (i__24892,y,c__5521__auto__,size__5522__auto__,b__24893,s__24891__$2,temp__5804__auto__,step,third_of_height){\nreturn (function sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24903(s__24904){\nreturn (new cljs.core.LazySeq(null,((function (i__24892,y,c__5521__auto__,size__5522__auto__,b__24893,s__24891__$2,temp__5804__auto__,step,third_of_height){\nreturn (function (){\nvar s__24904__$1 \x3d s__24904;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24904__$1);\nif(temp__5804__auto____$1){\nvar s__24904__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24904__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__24904__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__24906 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__24905 \x3d (0);\nwhile(true){\nif((i__24905 \x3c size__5522__auto____$1)){\nvar x \x3d cljs.core._nth(c__5521__auto____$1,i__24905);\ncljs.core.chunk_append(b__24906,(((y \x3c third_of_height))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.5], null)):(((y \x3c (third_of_height * (2))))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.2,0.8], null)):sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,0.5,0.9], null))\n)));\n\nvar G__24940 \x3d (i__24905 + (1));\ni__24905 \x3d G__24940;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24906),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24903(cljs.core.chunk_rest(s__24904__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24906),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__24904__$2);\nreturn cljs.core.cons((((y \x3c third_of_height))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.5], null)):(((y \x3c (third_of_height * (2))))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.2,0.8], null)):sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,0.5,0.9], null))\n)),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24903(cljs.core.rest(s__24904__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__24892,y,c__5521__auto__,size__5522__auto__,b__24893,s__24891__$2,temp__5804__auto__,step,third_of_height))\n,null,null));\n});})(i__24892,y,c__5521__auto__,size__5522__auto__,b__24893,s__24891__$2,temp__5804__auto__,step,third_of_height))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(step,(quil.core.width() - step),step));\n})()));\n\nvar G__24941 \x3d (i__24892 + (1));\ni__24892 \x3d G__24941;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24893),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890(cljs.core.chunk_rest(s__24891__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24893),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__24891__$2);\nreturn cljs.core.cons(cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (y,s__24891__$2,temp__5804__auto__,step,third_of_height){\nreturn (function sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24932(s__24933){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24933__$1 \x3d s__24933;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__24933__$1);\nif(temp__5804__auto____$1){\nvar s__24933__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__24933__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24933__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24935 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24934 \x3d (0);\nwhile(true){\nif((i__24934 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__24934);\ncljs.core.chunk_append(b__24935,(((y \x3c third_of_height))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.5], null)):(((y \x3c (third_of_height * (2))))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.2,0.8], null)):sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,0.5,0.9], null))\n)));\n\nvar G__24951 \x3d (i__24934 + (1));\ni__24934 \x3d G__24951;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24935),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24932(cljs.core.chunk_rest(s__24933__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24935),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__24933__$2);\nreturn cljs.core.cons((((y \x3c third_of_height))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.5], null)):(((y \x3c (third_of_height * (2))))?sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.2,0.8], null)):sketches.generative_artistry.un_deux_trois.draw_line(x,y,step,step,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,0.5,0.9], null))\n)),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890_$_iter__24932(cljs.core.rest(s__24933__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(y,s__24891__$2,temp__5804__auto__,step,third_of_height))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(step,(quil.core.width() - step),step));\n})()),sketches$generative_artistry$un_deux_trois$setup_$_iter__24890(cljs.core.rest(s__24891__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3(step,(quil.core.height() - step),step));\n})());\n});\nsketches.generative_artistry.un_deux_trois.run \x3d (function sketches$generative_artistry$un_deux_trois$run(host){\nsketches.generative_artistry.un_deux_trois.un_deux_trois \x3d (function sketches$generative_artistry$un_deux_trois$run_$_un_deux_trois(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24952__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24952 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24953__i \x3d 0, G__24953__a \x3d new Array(arguments.length - 0);\nwhile (G__24953__i \x3c G__24953__a.length) {G__24953__a[G__24953__i] \x3d arguments[G__24953__i + 0]; ++G__24953__i;}\n args \x3d new cljs.core.IndexedSeq(G__24953__a,0,null);\n} \nreturn G__24952__delegate.call(this,args);};\nG__24952.cljs$lang$maxFixedArity \x3d 0;\nG__24952.cljs$lang$applyTo \x3d (function (arglist__24954){\nvar args \x3d cljs.core.seq(arglist__24954);\nreturn G__24952__delegate(args);\n});\nG__24952.cljs$core$IFn$_invoke$arity$variadic \x3d G__24952__delegate;\nreturn G__24952;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_artistry.un_deux_trois.setup))?(function() { \nvar G__24955__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_artistry.un_deux_trois.setup,args);\n};\nvar G__24955 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24956__i \x3d 0, G__24956__a \x3d new Array(arguments.length - 0);\nwhile (G__24956__i \x3c G__24956__a.length) {G__24956__a[G__24956__i] \x3d arguments[G__24956__i + 0]; ++G__24956__i;}\n args \x3d new cljs.core.IndexedSeq(G__24956__a,0,null);\n} \nreturn G__24955__delegate.call(this,args);};\nG__24955.cljs$lang$maxFixedArity \x3d 0;\nG__24955.cljs$lang$applyTo \x3d (function (arglist__24957){\nvar args \x3d cljs.core.seq(arglist__24957);\nreturn G__24955__delegate(args);\n});\nG__24955.cljs$core$IFn$_invoke$arity$variadic \x3d G__24955__delegate;\nreturn G__24955;\n})()\n:sketches.generative_artistry.un_deux_trois.setup)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_artistry.un_deux_trois.un_deux_trois\x27, sketches.generative_artistry.un_deux_trois.un_deux_trois);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_artistry.un_deux_trois.un_deux_trois,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24958__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24958 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24959__i \x3d 0, G__24959__a \x3d new Array(arguments.length - 0);\nwhile (G__24959__i \x3c G__24959__a.length) {G__24959__a[G__24959__i] \x3d arguments[G__24959__i + 0]; ++G__24959__i;}\n args \x3d new cljs.core.IndexedSeq(G__24959__a,0,null);\n} \nreturn G__24958__delegate.call(this,args);};\nG__24958.cljs$lang$maxFixedArity \x3d 0;\nG__24958.cljs$lang$applyTo \x3d (function (arglist__24960){\nvar args \x3d cljs.core.seq(arglist__24960);\nreturn G__24958__delegate(args);\n});\nG__24958.cljs$core$IFn$_invoke$arity$variadic \x3d G__24958__delegate;\nreturn G__24958;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_artistry.core.js", true , "goog.provide(\x27sketches.generative_artistry.core\x27);\nsketches.generative_artistry.core.main \x3d (function sketches$generative_artistry$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.section,\x22Generative Artistry\x22,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),\x22Tutorials of \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://twitter.com/twholman?\x22], null),\x22Tim Holman\x27s\x22], null),\x22 \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://generativeartistry.com/\x22], null),\x22Generative Artistry\x22], null),\x22 implemented in ClojureScript.\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2201\x22,\x22Tiled Lines\x22,\x22https://generativeartistry.com/tutorials/tiled-lines/\x22,sketches.generative_artistry.tiled_lines.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2202\x22,\x22Joy Division\x22,\x22https://generativeartistry.com/tutorials/joy-division/\x22,sketches.generative_artistry.joy_division.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2203\x22,\x22Cubic Disarray\x22,\x22https://generativeartistry.com/tutorials/cubic-disarray/\x22,sketches.generative_artistry.cubic_disarray.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2204\x22,\x22Triangular Mesh\x22,\x22https://generativeartistry.com/tutorials/triangular-mesh/\x22,sketches.generative_artistry.triangular_mesh.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2205\x22,\x22Un Deux Trois\x22,\x22https://generativeartistry.com/tutorials/un-deux-trois/\x22,sketches.generative_artistry.un_deux_trois.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2206\x22,\x22Circle Packing\x22,\x22https://generativeartistry.com/tutorials/circle-packing/\x22,sketches.generative_artistry.circle_packing.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2207\x22,\x22Hypnotic Squares\x22,\x22https://generativeartistry.com/tutorials/hypnotic-squares/\x22,sketches.generative_artistry.hypnotic_squares.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x2208\x22,\x22Piet Mondrian\x22,\x22https://generativeartistry.com/tutorials/piet-mondrian/\x22,sketches.generative_artistry.piet_mondarin.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_01.P_1_0_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_01.P_1_0_01\x27);\nsketches.generative_desgin.P_01.P_1_0_01.setup \x3d (function sketches$generative_desgin$P_01$P_1_0_01$setup(){\nquil.core.no_cursor();\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),(360),(100),(100));\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn quil.core.no_stroke();\n});\nsketches.generative_desgin.P_01.P_1_0_01.update_state \x3d (function sketches$generative_desgin$P_01$P_1_0_01$update_state(){\nreturn null;\n});\nsketches.generative_desgin.P_01.P_1_0_01.draw \x3d (function sketches$generative_desgin$P_01$P_1_0_01$draw(){\nquil.core.background.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(quil.core.mouse_y(),(0),(300),(0),(360)),(100),(100));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(((360) - quil.core.map_range(quil.core.mouse_y(),(0),(300),(0),(360))),(100),(100));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((150),(150),(quil.core.mouse_x() + (1)),(quil.core.mouse_x() + (1)));\n});\nsketches.generative_desgin.P_01.P_1_0_01.run \x3d (function sketches$generative_desgin$P_01$P_1_0_01$run(host){\nsketches.generative_desgin.P_01.P_1_0_01.p1001 \x3d (function sketches$generative_desgin$P_01$P_1_0_01$run_$_p1001(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24917__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24917 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24918__i \x3d 0, G__24918__a \x3d new Array(arguments.length - 0);\nwhile (G__24918__i \x3c G__24918__a.length) {G__24918__a[G__24918__i] \x3d arguments[G__24918__i + 0]; ++G__24918__i;}\n args \x3d new cljs.core.IndexedSeq(G__24918__a,0,null);\n} \nreturn G__24917__delegate.call(this,args);};\nG__24917.cljs$lang$maxFixedArity \x3d 0;\nG__24917.cljs$lang$applyTo \x3d (function (arglist__24919){\nvar args \x3d cljs.core.seq(arglist__24919);\nreturn G__24917__delegate(args);\n});\nG__24917.cljs$core$IFn$_invoke$arity$variadic \x3d G__24917__delegate;\nreturn G__24917;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_0_01.update_state))?(function() { \nvar G__24920__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_0_01.update_state,args);\n};\nvar G__24920 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24921__i \x3d 0, G__24921__a \x3d new Array(arguments.length - 0);\nwhile (G__24921__i \x3c G__24921__a.length) {G__24921__a[G__24921__i] \x3d arguments[G__24921__i + 0]; ++G__24921__i;}\n args \x3d new cljs.core.IndexedSeq(G__24921__a,0,null);\n} \nreturn G__24920__delegate.call(this,args);};\nG__24920.cljs$lang$maxFixedArity \x3d 0;\nG__24920.cljs$lang$applyTo \x3d (function (arglist__24922){\nvar args \x3d cljs.core.seq(arglist__24922);\nreturn G__24920__delegate(args);\n});\nG__24920.cljs$core$IFn$_invoke$arity$variadic \x3d G__24920__delegate;\nreturn G__24920;\n})()\n:sketches.generative_desgin.P_01.P_1_0_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_0_01.setup))?(function() { \nvar G__24923__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_0_01.setup,args);\n};\nvar G__24923 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24924__i \x3d 0, G__24924__a \x3d new Array(arguments.length - 0);\nwhile (G__24924__i \x3c G__24924__a.length) {G__24924__a[G__24924__i] \x3d arguments[G__24924__i + 0]; ++G__24924__i;}\n args \x3d new cljs.core.IndexedSeq(G__24924__a,0,null);\n} \nreturn G__24923__delegate.call(this,args);};\nG__24923.cljs$lang$maxFixedArity \x3d 0;\nG__24923.cljs$lang$applyTo \x3d (function (arglist__24925){\nvar args \x3d cljs.core.seq(arglist__24925);\nreturn G__24923__delegate(args);\n});\nG__24923.cljs$core$IFn$_invoke$arity$variadic \x3d G__24923__delegate;\nreturn G__24923;\n})()\n:sketches.generative_desgin.P_01.P_1_0_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_0_01.draw))?(function() { \nvar G__24926__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_0_01.draw,args);\n};\nvar G__24926 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24927__i \x3d 0, G__24927__a \x3d new Array(arguments.length - 0);\nwhile (G__24927__i \x3c G__24927__a.length) {G__24927__a[G__24927__i] \x3d arguments[G__24927__i + 0]; ++G__24927__i;}\n args \x3d new cljs.core.IndexedSeq(G__24927__a,0,null);\n} \nreturn G__24926__delegate.call(this,args);};\nG__24926.cljs$lang$maxFixedArity \x3d 0;\nG__24926.cljs$lang$applyTo \x3d (function (arglist__24928){\nvar args \x3d cljs.core.seq(arglist__24928);\nreturn G__24926__delegate(args);\n});\nG__24926.cljs$core$IFn$_invoke$arity$variadic \x3d G__24926__delegate;\nreturn G__24926;\n})()\n:sketches.generative_desgin.P_01.P_1_0_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_01.P_1_0_01.p1001\x27, sketches.generative_desgin.P_01.P_1_0_01.p1001);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_01.P_1_0_01.p1001,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__24929__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__24929 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24930__i \x3d 0, G__24930__a \x3d new Array(arguments.length - 0);\nwhile (G__24930__i \x3c G__24930__a.length) {G__24930__a[G__24930__i] \x3d arguments[G__24930__i + 0]; ++G__24930__i;}\n args \x3d new cljs.core.IndexedSeq(G__24930__a,0,null);\n} \nreturn G__24929__delegate.call(this,args);};\nG__24929.cljs$lang$maxFixedArity \x3d 0;\nG__24929.cljs$lang$applyTo \x3d (function (arglist__24931){\nvar args \x3d cljs.core.seq(arglist__24931);\nreturn G__24929__delegate(args);\n});\nG__24929.cljs$core$IFn$_invoke$arity$variadic \x3d G__24929__delegate;\nreturn G__24929;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_01.P_1_1_1_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_01.P_1_1_1_01\x27);\nsketches.generative_desgin.P_01.P_1_1_1_01.setup \x3d (function sketches$generative_desgin$P_01$P_1_1_1_01$setup(){\nquil.core.no_stroke();\n\nreturn quil.core.color_mode.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),quil.core.width(),quil.core.height(),(100));\n});\nsketches.generative_desgin.P_01.P_1_1_1_01.update_state \x3d (function sketches$generative_desgin$P_01$P_1_1_1_01$update_state(){\nreturn null;\n});\nsketches.generative_desgin.P_01.P_1_1_1_01.draw \x3d (function sketches$generative_desgin$P_01$P_1_1_1_01$draw(){\nvar step_x \x3d (quil.core.mouse_x() + (2));\nvar step_y \x3d (quil.core.mouse_y() + (2));\nvar seq__24963 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.height(),step_y));\nvar chunk__24968 \x3d null;\nvar count__24969 \x3d (0);\nvar i__24970 \x3d (0);\nwhile(true){\nif((i__24970 \x3c count__24969)){\nvar grid_y \x3d chunk__24968.cljs$core$IIndexed$_nth$arity$2(null,i__24970);\nvar seq__24971_25120 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),step_x));\nvar chunk__24972_25121 \x3d null;\nvar count__24973_25122 \x3d (0);\nvar i__24974_25123 \x3d (0);\nwhile(true){\nif((i__24974_25123 \x3c count__24973_25122)){\nvar grid_x_25124 \x3d chunk__24972_25121.cljs$core$IIndexed$_nth$arity$2(null,i__24974_25123);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(grid_x_25124,(quil.core.height() - grid_y),(100));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(grid_x_25124,grid_y,step_x,step_y);\n\n\nvar G__25125 \x3d seq__24971_25120;\nvar G__25126 \x3d chunk__24972_25121;\nvar G__25127 \x3d count__24973_25122;\nvar G__25128 \x3d (i__24974_25123 + (1));\nseq__24971_25120 \x3d G__25125;\nchunk__24972_25121 \x3d G__25126;\ncount__24973_25122 \x3d G__25127;\ni__24974_25123 \x3d G__25128;\ncontinue;\n} else {\nvar temp__5804__auto___25129 \x3d cljs.core.seq(seq__24971_25120);\nif(temp__5804__auto___25129){\nvar seq__24971_25130__$1 \x3d temp__5804__auto___25129;\nif(cljs.core.chunked_seq_QMARK_(seq__24971_25130__$1)){\nvar c__5568__auto___25131 \x3d cljs.core.chunk_first(seq__24971_25130__$1);\nvar G__25132 \x3d cljs.core.chunk_rest(seq__24971_25130__$1);\nvar G__25133 \x3d c__5568__auto___25131;\nvar G__25134 \x3d cljs.core.count(c__5568__auto___25131);\nvar G__25135 \x3d (0);\nseq__24971_25120 \x3d G__25132;\nchunk__24972_25121 \x3d G__25133;\ncount__24973_25122 \x3d G__25134;\ni__24974_25123 \x3d G__25135;\ncontinue;\n} else {\nvar grid_x_25136 \x3d cljs.core.first(seq__24971_25130__$1);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(grid_x_25136,(quil.core.height() - grid_y),(100));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(grid_x_25136,grid_y,step_x,step_y);\n\n\nvar G__25137 \x3d cljs.core.next(seq__24971_25130__$1);\nvar G__25138 \x3d null;\nvar G__25139 \x3d (0);\nvar G__25140 \x3d (0);\nseq__24971_25120 \x3d G__25137;\nchunk__24972_25121 \x3d G__25138;\ncount__24973_25122 \x3d G__25139;\ni__24974_25123 \x3d G__25140;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25141 \x3d seq__24963;\nvar G__25142 \x3d chunk__24968;\nvar G__25143 \x3d count__24969;\nvar G__25144 \x3d (i__24970 + (1));\nseq__24963 \x3d G__25141;\nchunk__24968 \x3d G__25142;\ncount__24969 \x3d G__25143;\ni__24970 \x3d G__25144;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24963);\nif(temp__5804__auto__){\nvar seq__24963__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24963__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24963__$1);\nvar G__25145 \x3d cljs.core.chunk_rest(seq__24963__$1);\nvar G__25146 \x3d c__5568__auto__;\nvar G__25147 \x3d cljs.core.count(c__5568__auto__);\nvar G__25148 \x3d (0);\nseq__24963 \x3d G__25145;\nchunk__24968 \x3d G__25146;\ncount__24969 \x3d G__25147;\ni__24970 \x3d G__25148;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__24963__$1);\nvar seq__24964_25149 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),step_x));\nvar chunk__24965_25150 \x3d null;\nvar count__24966_25151 \x3d (0);\nvar i__24967_25152 \x3d (0);\nwhile(true){\nif((i__24967_25152 \x3c count__24966_25151)){\nvar grid_x_25153 \x3d chunk__24965_25150.cljs$core$IIndexed$_nth$arity$2(null,i__24967_25152);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(grid_x_25153,(quil.core.height() - grid_y),(100));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(grid_x_25153,grid_y,step_x,step_y);\n\n\nvar G__25154 \x3d seq__24964_25149;\nvar G__25155 \x3d chunk__24965_25150;\nvar G__25156 \x3d count__24966_25151;\nvar G__25157 \x3d (i__24967_25152 + (1));\nseq__24964_25149 \x3d G__25154;\nchunk__24965_25150 \x3d G__25155;\ncount__24966_25151 \x3d G__25156;\ni__24967_25152 \x3d G__25157;\ncontinue;\n} else {\nvar temp__5804__auto___25158__$1 \x3d cljs.core.seq(seq__24964_25149);\nif(temp__5804__auto___25158__$1){\nvar seq__24964_25159__$1 \x3d temp__5804__auto___25158__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__24964_25159__$1)){\nvar c__5568__auto___25160 \x3d cljs.core.chunk_first(seq__24964_25159__$1);\nvar G__25161 \x3d cljs.core.chunk_rest(seq__24964_25159__$1);\nvar G__25162 \x3d c__5568__auto___25160;\nvar G__25163 \x3d cljs.core.count(c__5568__auto___25160);\nvar G__25164 \x3d (0);\nseq__24964_25149 \x3d G__25161;\nchunk__24965_25150 \x3d G__25162;\ncount__24966_25151 \x3d G__25163;\ni__24967_25152 \x3d G__25164;\ncontinue;\n} else {\nvar grid_x_25165 \x3d cljs.core.first(seq__24964_25159__$1);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(grid_x_25165,(quil.core.height() - grid_y),(100));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(grid_x_25165,grid_y,step_x,step_y);\n\n\nvar G__25166 \x3d cljs.core.next(seq__24964_25159__$1);\nvar G__25167 \x3d null;\nvar G__25168 \x3d (0);\nvar G__25169 \x3d (0);\nseq__24964_25149 \x3d G__25166;\nchunk__24965_25150 \x3d G__25167;\ncount__24966_25151 \x3d G__25168;\ni__24967_25152 \x3d G__25169;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25170 \x3d cljs.core.next(seq__24963__$1);\nvar G__25171 \x3d null;\nvar G__25172 \x3d (0);\nvar G__25173 \x3d (0);\nseq__24963 \x3d G__25170;\nchunk__24968 \x3d G__25171;\ncount__24969 \x3d G__25172;\ni__24970 \x3d G__25173;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_01.P_1_1_1_01.run \x3d (function sketches$generative_desgin$P_01$P_1_1_1_01$run(host){\nsketches.generative_desgin.P_01.P_1_1_1_01.P_1_1_1_01 \x3d (function sketches$generative_desgin$P_01$P_1_1_1_01$run_$_P_1_1_1_01(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25174__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25174 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25175__i \x3d 0, G__25175__a \x3d new Array(arguments.length - 0);\nwhile (G__25175__i \x3c G__25175__a.length) {G__25175__a[G__25175__i] \x3d arguments[G__25175__i + 0]; ++G__25175__i;}\n args \x3d new cljs.core.IndexedSeq(G__25175__a,0,null);\n} \nreturn G__25174__delegate.call(this,args);};\nG__25174.cljs$lang$maxFixedArity \x3d 0;\nG__25174.cljs$lang$applyTo \x3d (function (arglist__25176){\nvar args \x3d cljs.core.seq(arglist__25176);\nreturn G__25174__delegate(args);\n});\nG__25174.cljs$core$IFn$_invoke$arity$variadic \x3d G__25174__delegate;\nreturn G__25174;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_1_01.update_state))?(function() { \nvar G__25177__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_1_01.update_state,args);\n};\nvar G__25177 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25178__i \x3d 0, G__25178__a \x3d new Array(arguments.length - 0);\nwhile (G__25178__i \x3c G__25178__a.length) {G__25178__a[G__25178__i] \x3d arguments[G__25178__i + 0]; ++G__25178__i;}\n args \x3d new cljs.core.IndexedSeq(G__25178__a,0,null);\n} \nreturn G__25177__delegate.call(this,args);};\nG__25177.cljs$lang$maxFixedArity \x3d 0;\nG__25177.cljs$lang$applyTo \x3d (function (arglist__25179){\nvar args \x3d cljs.core.seq(arglist__25179);\nreturn G__25177__delegate(args);\n});\nG__25177.cljs$core$IFn$_invoke$arity$variadic \x3d G__25177__delegate;\nreturn G__25177;\n})()\n:sketches.generative_desgin.P_01.P_1_1_1_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_1_01.setup))?(function() { \nvar G__25180__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_1_01.setup,args);\n};\nvar G__25180 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25181__i \x3d 0, G__25181__a \x3d new Array(arguments.length - 0);\nwhile (G__25181__i \x3c G__25181__a.length) {G__25181__a[G__25181__i] \x3d arguments[G__25181__i + 0]; ++G__25181__i;}\n args \x3d new cljs.core.IndexedSeq(G__25181__a,0,null);\n} \nreturn G__25180__delegate.call(this,args);};\nG__25180.cljs$lang$maxFixedArity \x3d 0;\nG__25180.cljs$lang$applyTo \x3d (function (arglist__25182){\nvar args \x3d cljs.core.seq(arglist__25182);\nreturn G__25180__delegate(args);\n});\nG__25180.cljs$core$IFn$_invoke$arity$variadic \x3d G__25180__delegate;\nreturn G__25180;\n})()\n:sketches.generative_desgin.P_01.P_1_1_1_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_1_01.draw))?(function() { \nvar G__25183__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_1_01.draw,args);\n};\nvar G__25183 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25184__i \x3d 0, G__25184__a \x3d new Array(arguments.length - 0);\nwhile (G__25184__i \x3c G__25184__a.length) {G__25184__a[G__25184__i] \x3d arguments[G__25184__i + 0]; ++G__25184__i;}\n args \x3d new cljs.core.IndexedSeq(G__25184__a,0,null);\n} \nreturn G__25183__delegate.call(this,args);};\nG__25183.cljs$lang$maxFixedArity \x3d 0;\nG__25183.cljs$lang$applyTo \x3d (function (arglist__25185){\nvar args \x3d cljs.core.seq(arglist__25185);\nreturn G__25183__delegate(args);\n});\nG__25183.cljs$core$IFn$_invoke$arity$variadic \x3d G__25183__delegate;\nreturn G__25183;\n})()\n:sketches.generative_desgin.P_01.P_1_1_1_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_01.P_1_1_1_01.P_1_1_1_01\x27, sketches.generative_desgin.P_01.P_1_1_1_01.P_1_1_1_01);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_01.P_1_1_1_01.P_1_1_1_01,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25186__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25186 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25187__i \x3d 0, G__25187__a \x3d new Array(arguments.length - 0);\nwhile (G__25187__i \x3c G__25187__a.length) {G__25187__a[G__25187__i] \x3d arguments[G__25187__i + 0]; ++G__25187__i;}\n args \x3d new cljs.core.IndexedSeq(G__25187__a,0,null);\n} \nreturn G__25186__delegate.call(this,args);};\nG__25186.cljs$lang$maxFixedArity \x3d 0;\nG__25186.cljs$lang$applyTo \x3d (function (arglist__25188){\nvar args \x3d cljs.core.seq(arglist__25188);\nreturn G__25186__delegate(args);\n});\nG__25186.cljs$core$IFn$_invoke$arity$variadic \x3d G__25186__delegate;\nreturn G__25186;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_01.P_1_1_2_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_01.P_1_1_2_01\x27);\nsketches.generative_desgin.P_01.P_1_1_2_01.setup \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$setup(){\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22segment-count\x22,\x22segment-count\x22,681013183),(360)], null);\n});\nsketches.generative_desgin.P_01.P_1_1_2_01.update_state \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_01.P_1_1_2_01.draw \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$draw(p__24961){\nvar map__24962 \x3d p__24961;\nvar map__24962__$1 \x3d cljs.core.__destructure_map(map__24962);\nvar segment_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24962__$1,new cljs.core.Keyword(null,\x22segment-count\x22,\x22segment-count\x22,681013183));\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),(360),quil.core.width(),quil.core.height());\n\nquil.core.background.cljs$core$IFn$_invoke$arity$3((360),(0),quil.core.height());\n\nvar angle_step \x3d ((360) / segment_count);\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22triangle-fan\x22,\x22triangle-fan\x22,1743150739));\n\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nvar seq__24981_25347 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),((360) + angle_step),angle_step));\nvar chunk__24982_25348 \x3d null;\nvar count__24983_25349 \x3d (0);\nvar i__24984_25350 \x3d (0);\nwhile(true){\nif((i__24984_25350 \x3c count__24983_25349)){\nvar angle_25357 \x3d chunk__24982_25348.cljs$core$IIndexed$_nth$arity$2(null,i__24984_25350);\nvar radius_25363 \x3d (100);\nvar vx_25364 \x3d ((quil.core.width() / (2)) + (quil.core.cos(quil.core.radians(angle_25357)) * radius_25363));\nvar vy_25365 \x3d ((quil.core.height() / (2)) + (quil.core.sin(quil.core.radians(angle_25357)) * radius_25363));\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vx_25364,vy_25365);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(angle_25357,quil.core.mouse_x(),quil.core.mouse_y());\n\n\nvar G__25377 \x3d seq__24981_25347;\nvar G__25378 \x3d chunk__24982_25348;\nvar G__25379 \x3d count__24983_25349;\nvar G__25380 \x3d (i__24984_25350 + (1));\nseq__24981_25347 \x3d G__25377;\nchunk__24982_25348 \x3d G__25378;\ncount__24983_25349 \x3d G__25379;\ni__24984_25350 \x3d G__25380;\ncontinue;\n} else {\nvar temp__5804__auto___25381 \x3d cljs.core.seq(seq__24981_25347);\nif(temp__5804__auto___25381){\nvar seq__24981_25386__$1 \x3d temp__5804__auto___25381;\nif(cljs.core.chunked_seq_QMARK_(seq__24981_25386__$1)){\nvar c__5568__auto___25391 \x3d cljs.core.chunk_first(seq__24981_25386__$1);\nvar G__25392 \x3d cljs.core.chunk_rest(seq__24981_25386__$1);\nvar G__25393 \x3d c__5568__auto___25391;\nvar G__25394 \x3d cljs.core.count(c__5568__auto___25391);\nvar G__25395 \x3d (0);\nseq__24981_25347 \x3d G__25392;\nchunk__24982_25348 \x3d G__25393;\ncount__24983_25349 \x3d G__25394;\ni__24984_25350 \x3d G__25395;\ncontinue;\n} else {\nvar angle_25410 \x3d cljs.core.first(seq__24981_25386__$1);\nvar radius_25412 \x3d (100);\nvar vx_25413 \x3d ((quil.core.width() / (2)) + (quil.core.cos(quil.core.radians(angle_25410)) * radius_25412));\nvar vy_25414 \x3d ((quil.core.height() / (2)) + (quil.core.sin(quil.core.radians(angle_25410)) * radius_25412));\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vx_25413,vy_25414);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(angle_25410,quil.core.mouse_x(),quil.core.mouse_y());\n\n\nvar G__25420 \x3d cljs.core.next(seq__24981_25386__$1);\nvar G__25421 \x3d null;\nvar G__25422 \x3d (0);\nvar G__25423 \x3d (0);\nseq__24981_25347 \x3d G__25420;\nchunk__24982_25348 \x3d G__25421;\ncount__24983_25349 \x3d G__25422;\ni__24984_25350 \x3d G__25423;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n});\nsketches.generative_desgin.P_01.P_1_1_2_01.key_pressed \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$key_pressed(state,p__25005){\nvar map__25016 \x3d p__25005;\nvar map__25016__$1 \x3d cljs.core.__destructure_map(map__25016);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25016__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22segment-count\x22,\x22segment-count\x22,681013183),(function (){var G__25021 \x3d key;\nvar G__25021__$1 \x3d (((G__25021 instanceof cljs.core.Keyword))?G__25021.fqn:null);\nswitch (G__25021__$1) {\ncase \x221\x22:\nreturn (360);\n\nbreak;\ncase \x222\x22:\nreturn (45);\n\nbreak;\ncase \x223\x22:\nreturn (24);\n\nbreak;\ncase \x224\x22:\nreturn (12);\n\nbreak;\ncase \x225\x22:\nreturn (6);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25021__$1)].join(\x27\x27)));\n\n}\n})());\n});\nsketches.generative_desgin.P_01.P_1_1_2_01.run \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$run(host){\nsketches.generative_desgin.P_01.P_1_1_2_01.color_spectrum_in_a_circle \x3d (function sketches$generative_desgin$P_01$P_1_1_2_01$run_$_color_spectrum_in_a_circle(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25467__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25467 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25472__i \x3d 0, G__25472__a \x3d new Array(arguments.length - 0);\nwhile (G__25472__i \x3c G__25472__a.length) {G__25472__a[G__25472__i] \x3d arguments[G__25472__i + 0]; ++G__25472__i;}\n args \x3d new cljs.core.IndexedSeq(G__25472__a,0,null);\n} \nreturn G__25467__delegate.call(this,args);};\nG__25467.cljs$lang$maxFixedArity \x3d 0;\nG__25467.cljs$lang$applyTo \x3d (function (arglist__25477){\nvar args \x3d cljs.core.seq(arglist__25477);\nreturn G__25467__delegate(args);\n});\nG__25467.cljs$core$IFn$_invoke$arity$variadic \x3d G__25467__delegate;\nreturn G__25467;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_2_01.update_state))?(function() { \nvar G__25481__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_2_01.update_state,args);\n};\nvar G__25481 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25486__i \x3d 0, G__25486__a \x3d new Array(arguments.length - 0);\nwhile (G__25486__i \x3c G__25486__a.length) {G__25486__a[G__25486__i] \x3d arguments[G__25486__i + 0]; ++G__25486__i;}\n args \x3d new cljs.core.IndexedSeq(G__25486__a,0,null);\n} \nreturn G__25481__delegate.call(this,args);};\nG__25481.cljs$lang$maxFixedArity \x3d 0;\nG__25481.cljs$lang$applyTo \x3d (function (arglist__25491){\nvar args \x3d cljs.core.seq(arglist__25491);\nreturn G__25481__delegate(args);\n});\nG__25481.cljs$core$IFn$_invoke$arity$variadic \x3d G__25481__delegate;\nreturn G__25481;\n})()\n:sketches.generative_desgin.P_01.P_1_1_2_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_2_01.setup))?(function() { \nvar G__25492__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_2_01.setup,args);\n};\nvar G__25492 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25493__i \x3d 0, G__25493__a \x3d new Array(arguments.length - 0);\nwhile (G__25493__i \x3c G__25493__a.length) {G__25493__a[G__25493__i] \x3d arguments[G__25493__i + 0]; ++G__25493__i;}\n args \x3d new cljs.core.IndexedSeq(G__25493__a,0,null);\n} \nreturn G__25492__delegate.call(this,args);};\nG__25492.cljs$lang$maxFixedArity \x3d 0;\nG__25492.cljs$lang$applyTo \x3d (function (arglist__25494){\nvar args \x3d cljs.core.seq(arglist__25494);\nreturn G__25492__delegate(args);\n});\nG__25492.cljs$core$IFn$_invoke$arity$variadic \x3d G__25492__delegate;\nreturn G__25492;\n})()\n:sketches.generative_desgin.P_01.P_1_1_2_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_2_01.key_pressed))?(function() { \nvar G__25495__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_2_01.key_pressed,args);\n};\nvar G__25495 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25496__i \x3d 0, G__25496__a \x3d new Array(arguments.length - 0);\nwhile (G__25496__i \x3c G__25496__a.length) {G__25496__a[G__25496__i] \x3d arguments[G__25496__i + 0]; ++G__25496__i;}\n args \x3d new cljs.core.IndexedSeq(G__25496__a,0,null);\n} \nreturn G__25495__delegate.call(this,args);};\nG__25495.cljs$lang$maxFixedArity \x3d 0;\nG__25495.cljs$lang$applyTo \x3d (function (arglist__25501){\nvar args \x3d cljs.core.seq(arglist__25501);\nreturn G__25495__delegate(args);\n});\nG__25495.cljs$core$IFn$_invoke$arity$variadic \x3d G__25495__delegate;\nreturn G__25495;\n})()\n:sketches.generative_desgin.P_01.P_1_1_2_01.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_1_2_01.draw))?(function() { \nvar G__25506__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_1_2_01.draw,args);\n};\nvar G__25506 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25507__i \x3d 0, G__25507__a \x3d new Array(arguments.length - 0);\nwhile (G__25507__i \x3c G__25507__a.length) {G__25507__a[G__25507__i] \x3d arguments[G__25507__i + 0]; ++G__25507__i;}\n args \x3d new cljs.core.IndexedSeq(G__25507__a,0,null);\n} \nreturn G__25506__delegate.call(this,args);};\nG__25506.cljs$lang$maxFixedArity \x3d 0;\nG__25506.cljs$lang$applyTo \x3d (function (arglist__25508){\nvar args \x3d cljs.core.seq(arglist__25508);\nreturn G__25506__delegate(args);\n});\nG__25506.cljs$core$IFn$_invoke$arity$variadic \x3d G__25506__delegate;\nreturn G__25506;\n})()\n:sketches.generative_desgin.P_01.P_1_1_2_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_01.P_1_1_2_01.color_spectrum_in_a_circle\x27, sketches.generative_desgin.P_01.P_1_1_2_01.color_spectrum_in_a_circle);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_01.P_1_1_2_01.color_spectrum_in_a_circle,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25513__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25513 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25514__i \x3d 0, G__25514__a \x3d new Array(arguments.length - 0);\nwhile (G__25514__i \x3c G__25514__a.length) {G__25514__a[G__25514__i] \x3d arguments[G__25514__i + 0]; ++G__25514__i;}\n args \x3d new cljs.core.IndexedSeq(G__25514__a,0,null);\n} \nreturn G__25513__delegate.call(this,args);};\nG__25513.cljs$lang$maxFixedArity \x3d 0;\nG__25513.cljs$lang$applyTo \x3d (function (arglist__25515){\nvar args \x3d cljs.core.seq(arglist__25515);\nreturn G__25513__delegate(args);\n});\nG__25513.cljs$core$IFn$_invoke$arity$variadic \x3d G__25513__delegate;\nreturn G__25513;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_01.P_1_2_1_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_01.P_1_2_1_01\x27);\nsketches.generative_desgin.P_01.P_1_2_1_01.shake_colors \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$shake_colors(p__24975){\nvar map__24976 \x3d p__24975;\nvar map__24976__$1 \x3d cljs.core.__destructure_map(map__24976);\nvar state \x3d map__24976__$1;\nvar tile_count_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24976__$1,new cljs.core.Keyword(null,\x22tile-count-y\x22,\x22tile-count-y\x22,654168148));\nvar i \x3d (0);\nvar state__$1 \x3d state;\nwhile(true){\nvar colors_added \x3d cljs.core.assoc_in(cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22colors-left\x22,\x22colors-left\x22,1127902830),i], null),quil.core.color.cljs$core$IFn$_invoke$arity$3(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(60)),quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(100)),(100))),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22colors-right\x22,\x22colors-right\x22,541597712),i], null),quil.core.color.cljs$core$IFn$_invoke$arity$3(quil.core.random.cljs$core$IFn$_invoke$arity$2((160),(190)),(100),quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(100))));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,tile_count_y)){\nreturn colors_added;\n} else {\nvar G__25203 \x3d (i + (1));\nvar G__25204 \x3d colors_added;\ni \x3d G__25203;\nstate__$1 \x3d G__25204;\ncontinue;\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_01.P_1_2_1_01.setup \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$setup(){\nquil.core.no_stroke();\n\nreturn sketches.generative_desgin.P_01.P_1_2_1_01.shake_colors(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22tile-count-x\x22,\x22tile-count-x\x22,-552940308),(2),new cljs.core.Keyword(null,\x22tile-count-y\x22,\x22tile-count-y\x22,654168148),(10),new cljs.core.Keyword(null,\x22colors-left\x22,\x22colors-left\x22,1127902830),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22colors-right\x22,\x22colors-right\x22,541597712),cljs.core.PersistentVector.EMPTY], null));\n});\nsketches.generative_desgin.P_01.P_1_2_1_01.update_state \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$update_state(state){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22tile-count-x\x22,\x22tile-count-x\x22,-552940308),(quil.core.map_range(quil.core.mouse_x(),(0),quil.core.width(),(2),(100)) | (0))),new cljs.core.Keyword(null,\x22tile-count-y\x22,\x22tile-count-y\x22,654168148),(quil.core.map_range(quil.core.mouse_y(),(0),quil.core.height(),(2),(10)) | (0)));\n});\nsketches.generative_desgin.P_01.P_1_2_1_01.draw \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$draw(p__25006){\nvar map__25007 \x3d p__25006;\nvar map__25007__$1 \x3d cljs.core.__destructure_map(map__25007);\nvar tile_count_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22tile-count-x\x22,\x22tile-count-x\x22,-552940308));\nvar tile_count_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22tile-count-y\x22,\x22tile-count-y\x22,654168148));\nvar colors_left \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22colors-left\x22,\x22colors-left\x22,1127902830));\nvar colors_right \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22colors-right\x22,\x22colors-right\x22,541597712));\nvar tile_width \x3d (quil.core.width() / tile_count_x);\nvar tile_height \x3d (quil.core.height() / tile_count_y);\nvar seq__25008 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),tile_count_y));\nvar chunk__25009 \x3d null;\nvar count__25010 \x3d (0);\nvar i__25011 \x3d (0);\nwhile(true){\nif((i__25011 \x3c count__25010)){\nvar grid_y \x3d chunk__25009.cljs$core$IIndexed$_nth$arity$2(null,i__25011);\nvar col1_25205 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(colors_left,grid_y);\nvar col2_25206 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(colors_right,grid_y);\nvar seq__25111_25207 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),tile_count_x));\nvar chunk__25112_25208 \x3d null;\nvar count__25113_25209 \x3d (0);\nvar i__25114_25210 \x3d (0);\nwhile(true){\nif((i__25114_25210 \x3c count__25113_25209)){\nvar grid_x_25211 \x3d chunk__25112_25208.cljs$core$IIndexed$_nth$arity$2(null,i__25114_25210);\nvar amount_25212 \x3d quil.core.map_range(grid_x_25211,(0),(tile_count_x - (1)),(0),(1));\nvar intercol_25213 \x3d quil.core.lerp_color(col1_25205,col2_25206,amount_25212);\nvar pos_x_25214 \x3d (tile_width * grid_x_25211);\nvar pos_y_25215 \x3d (tile_height * grid_y);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(intercol_25213);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25214,pos_y_25215,tile_width,tile_height);\n\n\nvar G__25216 \x3d seq__25111_25207;\nvar G__25217 \x3d chunk__25112_25208;\nvar G__25218 \x3d count__25113_25209;\nvar G__25219 \x3d (i__25114_25210 + (1));\nseq__25111_25207 \x3d G__25216;\nchunk__25112_25208 \x3d G__25217;\ncount__25113_25209 \x3d G__25218;\ni__25114_25210 \x3d G__25219;\ncontinue;\n} else {\nvar temp__5804__auto___25225 \x3d cljs.core.seq(seq__25111_25207);\nif(temp__5804__auto___25225){\nvar seq__25111_25226__$1 \x3d temp__5804__auto___25225;\nif(cljs.core.chunked_seq_QMARK_(seq__25111_25226__$1)){\nvar c__5568__auto___25227 \x3d cljs.core.chunk_first(seq__25111_25226__$1);\nvar G__25228 \x3d cljs.core.chunk_rest(seq__25111_25226__$1);\nvar G__25229 \x3d c__5568__auto___25227;\nvar G__25230 \x3d cljs.core.count(c__5568__auto___25227);\nvar G__25231 \x3d (0);\nseq__25111_25207 \x3d G__25228;\nchunk__25112_25208 \x3d G__25229;\ncount__25113_25209 \x3d G__25230;\ni__25114_25210 \x3d G__25231;\ncontinue;\n} else {\nvar grid_x_25232 \x3d cljs.core.first(seq__25111_25226__$1);\nvar amount_25233 \x3d quil.core.map_range(grid_x_25232,(0),(tile_count_x - (1)),(0),(1));\nvar intercol_25234 \x3d quil.core.lerp_color(col1_25205,col2_25206,amount_25233);\nvar pos_x_25235 \x3d (tile_width * grid_x_25232);\nvar pos_y_25236 \x3d (tile_height * grid_y);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(intercol_25234);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25235,pos_y_25236,tile_width,tile_height);\n\n\nvar G__25239 \x3d cljs.core.next(seq__25111_25226__$1);\nvar G__25240 \x3d null;\nvar G__25241 \x3d (0);\nvar G__25242 \x3d (0);\nseq__25111_25207 \x3d G__25239;\nchunk__25112_25208 \x3d G__25240;\ncount__25113_25209 \x3d G__25241;\ni__25114_25210 \x3d G__25242;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__25243 \x3d seq__25008;\nvar G__25244 \x3d chunk__25009;\nvar G__25245 \x3d count__25010;\nvar G__25246 \x3d (i__25011 + (1));\nseq__25008 \x3d G__25243;\nchunk__25009 \x3d G__25244;\ncount__25010 \x3d G__25245;\ni__25011 \x3d G__25246;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25008);\nif(temp__5804__auto__){\nvar seq__25008__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25008__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25008__$1);\nvar G__25247 \x3d cljs.core.chunk_rest(seq__25008__$1);\nvar G__25248 \x3d c__5568__auto__;\nvar G__25249 \x3d cljs.core.count(c__5568__auto__);\nvar G__25250 \x3d (0);\nseq__25008 \x3d G__25247;\nchunk__25009 \x3d G__25248;\ncount__25010 \x3d G__25249;\ni__25011 \x3d G__25250;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__25008__$1);\nvar col1_25251 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(colors_left,grid_y);\nvar col2_25252 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(colors_right,grid_y);\nvar seq__25189_25253 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),tile_count_x));\nvar chunk__25190_25254 \x3d null;\nvar count__25191_25255 \x3d (0);\nvar i__25192_25256 \x3d (0);\nwhile(true){\nif((i__25192_25256 \x3c count__25191_25255)){\nvar grid_x_25257 \x3d chunk__25190_25254.cljs$core$IIndexed$_nth$arity$2(null,i__25192_25256);\nvar amount_25258 \x3d quil.core.map_range(grid_x_25257,(0),(tile_count_x - (1)),(0),(1));\nvar intercol_25259 \x3d quil.core.lerp_color(col1_25251,col2_25252,amount_25258);\nvar pos_x_25260 \x3d (tile_width * grid_x_25257);\nvar pos_y_25261 \x3d (tile_height * grid_y);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(intercol_25259);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25260,pos_y_25261,tile_width,tile_height);\n\n\nvar G__25262 \x3d seq__25189_25253;\nvar G__25263 \x3d chunk__25190_25254;\nvar G__25264 \x3d count__25191_25255;\nvar G__25265 \x3d (i__25192_25256 + (1));\nseq__25189_25253 \x3d G__25262;\nchunk__25190_25254 \x3d G__25263;\ncount__25191_25255 \x3d G__25264;\ni__25192_25256 \x3d G__25265;\ncontinue;\n} else {\nvar temp__5804__auto___25270__$1 \x3d cljs.core.seq(seq__25189_25253);\nif(temp__5804__auto___25270__$1){\nvar seq__25189_25271__$1 \x3d temp__5804__auto___25270__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25189_25271__$1)){\nvar c__5568__auto___25273 \x3d cljs.core.chunk_first(seq__25189_25271__$1);\nvar G__25274 \x3d cljs.core.chunk_rest(seq__25189_25271__$1);\nvar G__25275 \x3d c__5568__auto___25273;\nvar G__25276 \x3d cljs.core.count(c__5568__auto___25273);\nvar G__25277 \x3d (0);\nseq__25189_25253 \x3d G__25274;\nchunk__25190_25254 \x3d G__25275;\ncount__25191_25255 \x3d G__25276;\ni__25192_25256 \x3d G__25277;\ncontinue;\n} else {\nvar grid_x_25282 \x3d cljs.core.first(seq__25189_25271__$1);\nvar amount_25283 \x3d quil.core.map_range(grid_x_25282,(0),(tile_count_x - (1)),(0),(1));\nvar intercol_25284 \x3d quil.core.lerp_color(col1_25251,col2_25252,amount_25283);\nvar pos_x_25285 \x3d (tile_width * grid_x_25282);\nvar pos_y_25286 \x3d (tile_height * grid_y);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(intercol_25284);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25285,pos_y_25286,tile_width,tile_height);\n\n\nvar G__25287 \x3d cljs.core.next(seq__25189_25271__$1);\nvar G__25288 \x3d null;\nvar G__25289 \x3d (0);\nvar G__25290 \x3d (0);\nseq__25189_25253 \x3d G__25287;\nchunk__25190_25254 \x3d G__25288;\ncount__25191_25255 \x3d G__25289;\ni__25192_25256 \x3d G__25290;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__25295 \x3d cljs.core.next(seq__25008__$1);\nvar G__25296 \x3d null;\nvar G__25297 \x3d (0);\nvar G__25305 \x3d (0);\nseq__25008 \x3d G__25295;\nchunk__25009 \x3d G__25296;\ncount__25010 \x3d G__25297;\ni__25011 \x3d G__25305;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_01.P_1_2_1_01.run \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$run(host){\nsketches.generative_desgin.P_01.P_1_2_1_01.palettes_interpolation \x3d (function sketches$generative_desgin$P_01$P_1_2_1_01$run_$_palettes_interpolation(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25311__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25311 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25312__i \x3d 0, G__25312__a \x3d new Array(arguments.length - 0);\nwhile (G__25312__i \x3c G__25312__a.length) {G__25312__a[G__25312__i] \x3d arguments[G__25312__i + 0]; ++G__25312__i;}\n args \x3d new cljs.core.IndexedSeq(G__25312__a,0,null);\n} \nreturn G__25311__delegate.call(this,args);};\nG__25311.cljs$lang$maxFixedArity \x3d 0;\nG__25311.cljs$lang$applyTo \x3d (function (arglist__25317){\nvar args \x3d cljs.core.seq(arglist__25317);\nreturn G__25311__delegate(args);\n});\nG__25311.cljs$core$IFn$_invoke$arity$variadic \x3d G__25311__delegate;\nreturn G__25311;\n})()\n:host),new cljs.core.Keyword(null,\x22mouse-released\x22,\x22mouse-released\x22,-664480061),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_1_01.shake_colors))?(function() { \nvar G__25322__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_1_01.shake_colors,args);\n};\nvar G__25322 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25323__i \x3d 0, G__25323__a \x3d new Array(arguments.length - 0);\nwhile (G__25323__i \x3c G__25323__a.length) {G__25323__a[G__25323__i] \x3d arguments[G__25323__i + 0]; ++G__25323__i;}\n args \x3d new cljs.core.IndexedSeq(G__25323__a,0,null);\n} \nreturn G__25322__delegate.call(this,args);};\nG__25322.cljs$lang$maxFixedArity \x3d 0;\nG__25322.cljs$lang$applyTo \x3d (function (arglist__25324){\nvar args \x3d cljs.core.seq(arglist__25324);\nreturn G__25322__delegate(args);\n});\nG__25322.cljs$core$IFn$_invoke$arity$variadic \x3d G__25322__delegate;\nreturn G__25322;\n})()\n:sketches.generative_desgin.P_01.P_1_2_1_01.shake_colors),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_1_01.update_state))?(function() { \nvar G__25329__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_1_01.update_state,args);\n};\nvar G__25329 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25334__i \x3d 0, G__25334__a \x3d new Array(arguments.length - 0);\nwhile (G__25334__i \x3c G__25334__a.length) {G__25334__a[G__25334__i] \x3d arguments[G__25334__i + 0]; ++G__25334__i;}\n args \x3d new cljs.core.IndexedSeq(G__25334__a,0,null);\n} \nreturn G__25329__delegate.call(this,args);};\nG__25329.cljs$lang$maxFixedArity \x3d 0;\nG__25329.cljs$lang$applyTo \x3d (function (arglist__25335){\nvar args \x3d cljs.core.seq(arglist__25335);\nreturn G__25329__delegate(args);\n});\nG__25329.cljs$core$IFn$_invoke$arity$variadic \x3d G__25329__delegate;\nreturn G__25329;\n})()\n:sketches.generative_desgin.P_01.P_1_2_1_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_1_01.setup))?(function() { \nvar G__25337__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_1_01.setup,args);\n};\nvar G__25337 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25342__i \x3d 0, G__25342__a \x3d new Array(arguments.length - 0);\nwhile (G__25342__i \x3c G__25342__a.length) {G__25342__a[G__25342__i] \x3d arguments[G__25342__i + 0]; ++G__25342__i;}\n args \x3d new cljs.core.IndexedSeq(G__25342__a,0,null);\n} \nreturn G__25337__delegate.call(this,args);};\nG__25337.cljs$lang$maxFixedArity \x3d 0;\nG__25337.cljs$lang$applyTo \x3d (function (arglist__25343){\nvar args \x3d cljs.core.seq(arglist__25343);\nreturn G__25337__delegate(args);\n});\nG__25337.cljs$core$IFn$_invoke$arity$variadic \x3d G__25337__delegate;\nreturn G__25337;\n})()\n:sketches.generative_desgin.P_01.P_1_2_1_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_1_01.draw))?(function() { \nvar G__25344__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_1_01.draw,args);\n};\nvar G__25344 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25346__i \x3d 0, G__25346__a \x3d new Array(arguments.length - 0);\nwhile (G__25346__i \x3c G__25346__a.length) {G__25346__a[G__25346__i] \x3d arguments[G__25346__i + 0]; ++G__25346__i;}\n args \x3d new cljs.core.IndexedSeq(G__25346__a,0,null);\n} \nreturn G__25344__delegate.call(this,args);};\nG__25344.cljs$lang$maxFixedArity \x3d 0;\nG__25344.cljs$lang$applyTo \x3d (function (arglist__25368){\nvar args \x3d cljs.core.seq(arglist__25368);\nreturn G__25344__delegate(args);\n});\nG__25344.cljs$core$IFn$_invoke$arity$variadic \x3d G__25344__delegate;\nreturn G__25344;\n})()\n:sketches.generative_desgin.P_01.P_1_2_1_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_01.P_1_2_1_01.palettes_interpolation\x27, sketches.generative_desgin.P_01.P_1_2_1_01.palettes_interpolation);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_01.P_1_2_1_01.palettes_interpolation,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25428__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25428 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25429__i \x3d 0, G__25429__a \x3d new Array(arguments.length - 0);\nwhile (G__25429__i \x3c G__25429__a.length) {G__25429__a[G__25429__i] \x3d arguments[G__25429__i + 0]; ++G__25429__i;}\n args \x3d new cljs.core.IndexedSeq(G__25429__a,0,null);\n} \nreturn G__25428__delegate.call(this,args);};\nG__25428.cljs$lang$maxFixedArity \x3d 0;\nG__25428.cljs$lang$applyTo \x3d (function (arglist__25430){\nvar args \x3d cljs.core.seq(arglist__25430);\nreturn G__25428__delegate(args);\n});\nG__25428.cljs$core$IFn$_invoke$arity$variadic \x3d G__25428__delegate;\nreturn G__25428;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_01.P_1_2_3_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_01.P_1_2_3_01\x27);\nsketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x \x3d (50);\nsketches.generative_desgin.P_01.P_1_2_3_01.tile_count_y \x3d (10);\nsketches.generative_desgin.P_01.P_1_2_3_01.color_parts \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$color_parts(h,s,b){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22hueValues\x22,\x22hueValues\x22,459970536),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__24977(s__24978){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24978__$1 \x3d s__24978;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24978__$1);\nif(temp__5804__auto__){\nvar s__24978__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24978__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24978__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24980 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24979 \x3d (0);\nwhile(true){\nif((i__24979 \x3c size__5522__auto__)){\nvar _ \x3d cljs.core._nth(c__5521__auto__,i__24979);\ncljs.core.chunk_append(b__24980,(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null)));\n\nvar G__25532 \x3d (i__24979 + (1));\ni__24979 \x3d G__25532;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24980),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__24977(cljs.core.chunk_rest(s__24978__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24980),null);\n}\n} else {\nvar _ \x3d cljs.core.first(s__24978__$2);\nreturn cljs.core.cons((h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null)),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__24977(cljs.core.rest(s__24978__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x));\n})()),new cljs.core.Keyword(null,\x22saturationValues\x22,\x22saturationValues\x22,1346933771),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25001(s__25002){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25002__$1 \x3d s__25002;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25002__$1);\nif(temp__5804__auto__){\nvar s__25002__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25002__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25002__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25004 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25003 \x3d (0);\nwhile(true){\nif((i__25003 \x3c size__5522__auto__)){\nvar _ \x3d cljs.core._nth(c__5521__auto__,i__25003);\ncljs.core.chunk_append(b__25004,(s.cljs$core$IFn$_invoke$arity$0 ? s.cljs$core$IFn$_invoke$arity$0() : s.call(null)));\n\nvar G__25533 \x3d (i__25003 + (1));\ni__25003 \x3d G__25533;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25004),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25001(cljs.core.chunk_rest(s__25002__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25004),null);\n}\n} else {\nvar _ \x3d cljs.core.first(s__25002__$2);\nreturn cljs.core.cons((s.cljs$core$IFn$_invoke$arity$0 ? s.cljs$core$IFn$_invoke$arity$0() : s.call(null)),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25001(cljs.core.rest(s__25002__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x));\n})()),new cljs.core.Keyword(null,\x22brightnessValues\x22,\x22brightnessValues\x22,-50312349),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25017(s__25018){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25018__$1 \x3d s__25018;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25018__$1);\nif(temp__5804__auto__){\nvar s__25018__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25018__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25018__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25020 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25019 \x3d (0);\nwhile(true){\nif((i__25019 \x3c size__5522__auto__)){\nvar _ \x3d cljs.core._nth(c__5521__auto__,i__25019);\ncljs.core.chunk_append(b__25020,(b.cljs$core$IFn$_invoke$arity$0 ? b.cljs$core$IFn$_invoke$arity$0() : b.call(null)));\n\nvar G__25534 \x3d (i__25019 + (1));\ni__25019 \x3d G__25534;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25020),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25017(cljs.core.chunk_rest(s__25018__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25020),null);\n}\n} else {\nvar _ \x3d cljs.core.first(s__25018__$2);\nreturn cljs.core.cons((b.cljs$core$IFn$_invoke$arity$0 ? b.cljs$core$IFn$_invoke$arity$0() : b.call(null)),sketches$generative_desgin$P_01$P_1_2_3_01$color_parts_$_iter__25017(cljs.core.rest(s__25018__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x));\n})())], null);\n});\nsketches.generative_desgin.P_01.P_1_2_3_01.setup \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$setup(){\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$5(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),(360),(100),(100),(100));\n\nquil.core.no_stroke();\n\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((360));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}));\n});\nsketches.generative_desgin.P_01.P_1_2_3_01.update_state \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_01.P_1_2_3_01.draw \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$draw(p__25078){\nvar map__25081 \x3d p__25078;\nvar map__25081__$1 \x3d cljs.core.__destructure_map(map__25081);\nvar hueValues \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25081__$1,new cljs.core.Keyword(null,\x22hueValues\x22,\x22hueValues\x22,459970536));\nvar saturationValues \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25081__$1,new cljs.core.Keyword(null,\x22saturationValues\x22,\x22saturationValues\x22,1346933771));\nvar brightnessValues \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25081__$1,new cljs.core.Keyword(null,\x22brightnessValues\x22,\x22brightnessValues\x22,-50312349));\nquil.core.background.cljs$core$IFn$_invoke$arity$3((0),(0),(100));\n\nvar mx \x3d quil.core.constrain(quil.core.mouse_x(),(0),quil.core.width());\nvar my \x3d quil.core.constrain(quil.core.mouse_y(),(0),quil.core.height());\nvar current_tile_count_x \x3d (quil.core.map_range(mx,(0),quil.core.width(),(1),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x) | (0));\nvar current_tile_count_y \x3d (quil.core.map_range(my,(0),quil.core.width(),(1),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_y) | (0));\nvar tile_width \x3d (quil.core.width() / current_tile_count_x);\nvar tile_height \x3d (quil.core.height() / current_tile_count_y);\nvar seq__25094 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_y));\nvar chunk__25099 \x3d null;\nvar count__25100 \x3d (0);\nvar i__25101 \x3d (0);\nwhile(true){\nif((i__25101 \x3c count__25100)){\nvar grid_y \x3d chunk__25099.cljs$core$IIndexed$_nth$arity$2(null,i__25101);\nvar seq__25102_25535 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x));\nvar chunk__25103_25536 \x3d null;\nvar count__25104_25537 \x3d (0);\nvar i__25105_25538 \x3d (0);\nwhile(true){\nif((i__25105_25538 \x3c count__25104_25537)){\nvar grid_x_25539 \x3d chunk__25103_25536.cljs$core$IIndexed$_nth$arity$2(null,i__25105_25538);\nvar pos_x_25540 \x3d (tile_width * grid_x_25539);\nvar pos_y_25541 \x3d (tile_height * grid_y);\nvar index_25542 \x3d cljs.core.mod((grid_x_25539 + (sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x * grid_y)),current_tile_count_x);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((hueValues.cljs$core$IFn$_invoke$arity$1 ? hueValues.cljs$core$IFn$_invoke$arity$1(index_25542) : hueValues.call(null,index_25542)),(saturationValues.cljs$core$IFn$_invoke$arity$1 ? saturationValues.cljs$core$IFn$_invoke$arity$1(index_25542) : saturationValues.call(null,index_25542)),(brightnessValues.cljs$core$IFn$_invoke$arity$1 ? brightnessValues.cljs$core$IFn$_invoke$arity$1(index_25542) : brightnessValues.call(null,index_25542)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25540,pos_y_25541,tile_width,tile_height);\n\n\nvar G__25543 \x3d seq__25102_25535;\nvar G__25544 \x3d chunk__25103_25536;\nvar G__25545 \x3d count__25104_25537;\nvar G__25546 \x3d (i__25105_25538 + (1));\nseq__25102_25535 \x3d G__25543;\nchunk__25103_25536 \x3d G__25544;\ncount__25104_25537 \x3d G__25545;\ni__25105_25538 \x3d G__25546;\ncontinue;\n} else {\nvar temp__5804__auto___25547 \x3d cljs.core.seq(seq__25102_25535);\nif(temp__5804__auto___25547){\nvar seq__25102_25548__$1 \x3d temp__5804__auto___25547;\nif(cljs.core.chunked_seq_QMARK_(seq__25102_25548__$1)){\nvar c__5568__auto___25549 \x3d cljs.core.chunk_first(seq__25102_25548__$1);\nvar G__25550 \x3d cljs.core.chunk_rest(seq__25102_25548__$1);\nvar G__25551 \x3d c__5568__auto___25549;\nvar G__25552 \x3d cljs.core.count(c__5568__auto___25549);\nvar G__25553 \x3d (0);\nseq__25102_25535 \x3d G__25550;\nchunk__25103_25536 \x3d G__25551;\ncount__25104_25537 \x3d G__25552;\ni__25105_25538 \x3d G__25553;\ncontinue;\n} else {\nvar grid_x_25554 \x3d cljs.core.first(seq__25102_25548__$1);\nvar pos_x_25555 \x3d (tile_width * grid_x_25554);\nvar pos_y_25556 \x3d (tile_height * grid_y);\nvar index_25557 \x3d cljs.core.mod((grid_x_25554 + (sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x * grid_y)),current_tile_count_x);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((hueValues.cljs$core$IFn$_invoke$arity$1 ? hueValues.cljs$core$IFn$_invoke$arity$1(index_25557) : hueValues.call(null,index_25557)),(saturationValues.cljs$core$IFn$_invoke$arity$1 ? saturationValues.cljs$core$IFn$_invoke$arity$1(index_25557) : saturationValues.call(null,index_25557)),(brightnessValues.cljs$core$IFn$_invoke$arity$1 ? brightnessValues.cljs$core$IFn$_invoke$arity$1(index_25557) : brightnessValues.call(null,index_25557)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25555,pos_y_25556,tile_width,tile_height);\n\n\nvar G__25558 \x3d cljs.core.next(seq__25102_25548__$1);\nvar G__25559 \x3d null;\nvar G__25560 \x3d (0);\nvar G__25561 \x3d (0);\nseq__25102_25535 \x3d G__25558;\nchunk__25103_25536 \x3d G__25559;\ncount__25104_25537 \x3d G__25560;\ni__25105_25538 \x3d G__25561;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25562 \x3d seq__25094;\nvar G__25563 \x3d chunk__25099;\nvar G__25564 \x3d count__25100;\nvar G__25565 \x3d (i__25101 + (1));\nseq__25094 \x3d G__25562;\nchunk__25099 \x3d G__25563;\ncount__25100 \x3d G__25564;\ni__25101 \x3d G__25565;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25094);\nif(temp__5804__auto__){\nvar seq__25094__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25094__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25094__$1);\nvar G__25566 \x3d cljs.core.chunk_rest(seq__25094__$1);\nvar G__25567 \x3d c__5568__auto__;\nvar G__25568 \x3d cljs.core.count(c__5568__auto__);\nvar G__25569 \x3d (0);\nseq__25094 \x3d G__25566;\nchunk__25099 \x3d G__25567;\ncount__25100 \x3d G__25568;\ni__25101 \x3d G__25569;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__25094__$1);\nvar seq__25095_25570 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x));\nvar chunk__25096_25571 \x3d null;\nvar count__25097_25572 \x3d (0);\nvar i__25098_25573 \x3d (0);\nwhile(true){\nif((i__25098_25573 \x3c count__25097_25572)){\nvar grid_x_25574 \x3d chunk__25096_25571.cljs$core$IIndexed$_nth$arity$2(null,i__25098_25573);\nvar pos_x_25575 \x3d (tile_width * grid_x_25574);\nvar pos_y_25576 \x3d (tile_height * grid_y);\nvar index_25577 \x3d cljs.core.mod((grid_x_25574 + (sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x * grid_y)),current_tile_count_x);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((hueValues.cljs$core$IFn$_invoke$arity$1 ? hueValues.cljs$core$IFn$_invoke$arity$1(index_25577) : hueValues.call(null,index_25577)),(saturationValues.cljs$core$IFn$_invoke$arity$1 ? saturationValues.cljs$core$IFn$_invoke$arity$1(index_25577) : saturationValues.call(null,index_25577)),(brightnessValues.cljs$core$IFn$_invoke$arity$1 ? brightnessValues.cljs$core$IFn$_invoke$arity$1(index_25577) : brightnessValues.call(null,index_25577)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25575,pos_y_25576,tile_width,tile_height);\n\n\nvar G__25578 \x3d seq__25095_25570;\nvar G__25579 \x3d chunk__25096_25571;\nvar G__25580 \x3d count__25097_25572;\nvar G__25581 \x3d (i__25098_25573 + (1));\nseq__25095_25570 \x3d G__25578;\nchunk__25096_25571 \x3d G__25579;\ncount__25097_25572 \x3d G__25580;\ni__25098_25573 \x3d G__25581;\ncontinue;\n} else {\nvar temp__5804__auto___25582__$1 \x3d cljs.core.seq(seq__25095_25570);\nif(temp__5804__auto___25582__$1){\nvar seq__25095_25583__$1 \x3d temp__5804__auto___25582__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25095_25583__$1)){\nvar c__5568__auto___25584 \x3d cljs.core.chunk_first(seq__25095_25583__$1);\nvar G__25585 \x3d cljs.core.chunk_rest(seq__25095_25583__$1);\nvar G__25586 \x3d c__5568__auto___25584;\nvar G__25587 \x3d cljs.core.count(c__5568__auto___25584);\nvar G__25588 \x3d (0);\nseq__25095_25570 \x3d G__25585;\nchunk__25096_25571 \x3d G__25586;\ncount__25097_25572 \x3d G__25587;\ni__25098_25573 \x3d G__25588;\ncontinue;\n} else {\nvar grid_x_25589 \x3d cljs.core.first(seq__25095_25583__$1);\nvar pos_x_25590 \x3d (tile_width * grid_x_25589);\nvar pos_y_25591 \x3d (tile_height * grid_y);\nvar index_25592 \x3d cljs.core.mod((grid_x_25589 + (sketches.generative_desgin.P_01.P_1_2_3_01.tile_count_x * grid_y)),current_tile_count_x);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((hueValues.cljs$core$IFn$_invoke$arity$1 ? hueValues.cljs$core$IFn$_invoke$arity$1(index_25592) : hueValues.call(null,index_25592)),(saturationValues.cljs$core$IFn$_invoke$arity$1 ? saturationValues.cljs$core$IFn$_invoke$arity$1(index_25592) : saturationValues.call(null,index_25592)),(brightnessValues.cljs$core$IFn$_invoke$arity$1 ? brightnessValues.cljs$core$IFn$_invoke$arity$1(index_25592) : brightnessValues.call(null,index_25592)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(pos_x_25590,pos_y_25591,tile_width,tile_height);\n\n\nvar G__25593 \x3d cljs.core.next(seq__25095_25583__$1);\nvar G__25594 \x3d null;\nvar G__25595 \x3d (0);\nvar G__25596 \x3d (0);\nseq__25095_25570 \x3d G__25593;\nchunk__25096_25571 \x3d G__25594;\ncount__25097_25572 \x3d G__25595;\ni__25098_25573 \x3d G__25596;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25597 \x3d cljs.core.next(seq__25094__$1);\nvar G__25598 \x3d null;\nvar G__25599 \x3d (0);\nvar G__25600 \x3d (0);\nseq__25094 \x3d G__25597;\nchunk__25099 \x3d G__25598;\ncount__25100 \x3d G__25599;\ni__25101 \x3d G__25600;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_01.P_1_2_3_01.key_pressed \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$key_pressed(state,p__25237){\nvar map__25238 \x3d p__25237;\nvar map__25238__$1 \x3d cljs.core.__destructure_map(map__25238);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25238__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar G__25366 \x3d key;\nvar G__25366__$1 \x3d (((G__25366 instanceof cljs.core.Keyword))?G__25366.fqn:null);\nswitch (G__25366__$1) {\ncase \x221\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((360));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}));\n\nbreak;\ncase \x222\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((360));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}),(function (){\nreturn cljs.core.identity((100));\n}));\n\nbreak;\ncase \x223\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((360));\n}),(function (){\nreturn cljs.core.identity((100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}));\n\nbreak;\ncase \x224\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn cljs.core.identity((0));\n}),(function (){\nreturn cljs.core.identity((0));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}));\n\nbreak;\ncase \x225\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn cljs.core.identity((195));\n}),(function (){\nreturn cljs.core.identity((100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}));\n\nbreak;\ncase \x226\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn cljs.core.identity((195));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((100));\n}),(function (){\nreturn cljs.core.identity((100));\n}));\n\nbreak;\ncase \x227\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$1((180));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((80),(100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((50),(90));\n}));\n\nbreak;\ncase \x228\x22:\nreturn sketches.generative_desgin.P_01.P_1_2_3_01.color_parts((function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((180),(360));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((80),(100));\n}),(function (){\nreturn quil.core.random.cljs$core$IFn$_invoke$arity$2((50),(90));\n}));\n\nbreak;\ndefault:\nreturn state;\n\n}\n});\nsketches.generative_desgin.P_01.P_1_2_3_01.run \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$run(host){\nsketches.generative_desgin.P_01.P_1_2_3_01.color_palettes_rules \x3d (function sketches$generative_desgin$P_01$P_1_2_3_01$run_$_color_palettes_rules(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25602__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25602 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25603__i \x3d 0, G__25603__a \x3d new Array(arguments.length - 0);\nwhile (G__25603__i \x3c G__25603__a.length) {G__25603__a[G__25603__i] \x3d arguments[G__25603__i + 0]; ++G__25603__i;}\n args \x3d new cljs.core.IndexedSeq(G__25603__a,0,null);\n} \nreturn G__25602__delegate.call(this,args);};\nG__25602.cljs$lang$maxFixedArity \x3d 0;\nG__25602.cljs$lang$applyTo \x3d (function (arglist__25604){\nvar args \x3d cljs.core.seq(arglist__25604);\nreturn G__25602__delegate(args);\n});\nG__25602.cljs$core$IFn$_invoke$arity$variadic \x3d G__25602__delegate;\nreturn G__25602;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_3_01.update_state))?(function() { \nvar G__25605__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_3_01.update_state,args);\n};\nvar G__25605 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25606__i \x3d 0, G__25606__a \x3d new Array(arguments.length - 0);\nwhile (G__25606__i \x3c G__25606__a.length) {G__25606__a[G__25606__i] \x3d arguments[G__25606__i + 0]; ++G__25606__i;}\n args \x3d new cljs.core.IndexedSeq(G__25606__a,0,null);\n} \nreturn G__25605__delegate.call(this,args);};\nG__25605.cljs$lang$maxFixedArity \x3d 0;\nG__25605.cljs$lang$applyTo \x3d (function (arglist__25607){\nvar args \x3d cljs.core.seq(arglist__25607);\nreturn G__25605__delegate(args);\n});\nG__25605.cljs$core$IFn$_invoke$arity$variadic \x3d G__25605__delegate;\nreturn G__25605;\n})()\n:sketches.generative_desgin.P_01.P_1_2_3_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_3_01.setup))?(function() { \nvar G__25608__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_3_01.setup,args);\n};\nvar G__25608 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25609__i \x3d 0, G__25609__a \x3d new Array(arguments.length - 0);\nwhile (G__25609__i \x3c G__25609__a.length) {G__25609__a[G__25609__i] \x3d arguments[G__25609__i + 0]; ++G__25609__i;}\n args \x3d new cljs.core.IndexedSeq(G__25609__a,0,null);\n} \nreturn G__25608__delegate.call(this,args);};\nG__25608.cljs$lang$maxFixedArity \x3d 0;\nG__25608.cljs$lang$applyTo \x3d (function (arglist__25610){\nvar args \x3d cljs.core.seq(arglist__25610);\nreturn G__25608__delegate(args);\n});\nG__25608.cljs$core$IFn$_invoke$arity$variadic \x3d G__25608__delegate;\nreturn G__25608;\n})()\n:sketches.generative_desgin.P_01.P_1_2_3_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_3_01.key_pressed))?(function() { \nvar G__25611__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_3_01.key_pressed,args);\n};\nvar G__25611 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25612__i \x3d 0, G__25612__a \x3d new Array(arguments.length - 0);\nwhile (G__25612__i \x3c G__25612__a.length) {G__25612__a[G__25612__i] \x3d arguments[G__25612__i + 0]; ++G__25612__i;}\n args \x3d new cljs.core.IndexedSeq(G__25612__a,0,null);\n} \nreturn G__25611__delegate.call(this,args);};\nG__25611.cljs$lang$maxFixedArity \x3d 0;\nG__25611.cljs$lang$applyTo \x3d (function (arglist__25613){\nvar args \x3d cljs.core.seq(arglist__25613);\nreturn G__25611__delegate(args);\n});\nG__25611.cljs$core$IFn$_invoke$arity$variadic \x3d G__25611__delegate;\nreturn G__25611;\n})()\n:sketches.generative_desgin.P_01.P_1_2_3_01.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_01.P_1_2_3_01.draw))?(function() { \nvar G__25614__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_01.P_1_2_3_01.draw,args);\n};\nvar G__25614 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25615__i \x3d 0, G__25615__a \x3d new Array(arguments.length - 0);\nwhile (G__25615__i \x3c G__25615__a.length) {G__25615__a[G__25615__i] \x3d arguments[G__25615__i + 0]; ++G__25615__i;}\n args \x3d new cljs.core.IndexedSeq(G__25615__a,0,null);\n} \nreturn G__25614__delegate.call(this,args);};\nG__25614.cljs$lang$maxFixedArity \x3d 0;\nG__25614.cljs$lang$applyTo \x3d (function (arglist__25616){\nvar args \x3d cljs.core.seq(arglist__25616);\nreturn G__25614__delegate(args);\n});\nG__25614.cljs$core$IFn$_invoke$arity$variadic \x3d G__25614__delegate;\nreturn G__25614;\n})()\n:sketches.generative_desgin.P_01.P_1_2_3_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_01.P_1_2_3_01.color_palettes_rules\x27, sketches.generative_desgin.P_01.P_1_2_3_01.color_palettes_rules);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_01.P_1_2_3_01.color_palettes_rules,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25617__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25617 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25618__i \x3d 0, G__25618__a \x3d new Array(arguments.length - 0);\nwhile (G__25618__i \x3c G__25618__a.length) {G__25618__a[G__25618__i] \x3d arguments[G__25618__i + 0]; ++G__25618__i;}\n args \x3d new cljs.core.IndexedSeq(G__25618__a,0,null);\n} \nreturn G__25617__delegate.call(this,args);};\nG__25617.cljs$lang$maxFixedArity \x3d 0;\nG__25617.cljs$lang$applyTo \x3d (function (arglist__25619){\nvar args \x3d cljs.core.seq(arglist__25619);\nreturn G__25617__delegate(args);\n});\nG__25617.cljs$core$IFn$_invoke$arity$variadic \x3d G__25617__delegate;\nreturn G__25617;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_0_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_0_01\x27);\nsketches.generative_desgin.P_02.P_2_0_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_0_01$setup(){\nreturn null;\n});\nsketches.generative_desgin.P_02.P_2_0_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_0_01$update_state(){\nreturn null;\n});\nsketches.generative_desgin.P_02.P_2_0_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_0_01$draw(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nvar circle_resolution \x3d quil.core.map_range(quil.core.mouse_y(),(0),quil.core.height(),(2),(80));\nvar radius \x3d ((quil.core.mouse_x() - (quil.core.width() / (2))) + 0.5);\nvar angle \x3d (quil.core.TWO_PI / circle_resolution);\nquil.core.stroke_weight((quil.core.mouse_y() / (20)));\n\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nvar seq__24985_25052 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),circle_resolution));\nvar chunk__24986_25053 \x3d null;\nvar count__24987_25054 \x3d (0);\nvar i__24988_25055 \x3d (0);\nwhile(true){\nif((i__24988_25055 \x3c count__24987_25054)){\nvar i_25056 \x3d chunk__24986_25053.cljs$core$IIndexed$_nth$arity$2(null,i__24988_25055);\nvar x_25057 \x3d (quil.core.cos((angle * i_25056)) * radius);\nvar y_25058 \x3d (quil.core.sin((angle * i_25056)) * radius);\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x_25057,y_25058);\n\n\nvar G__25059 \x3d seq__24985_25052;\nvar G__25060 \x3d chunk__24986_25053;\nvar G__25061 \x3d count__24987_25054;\nvar G__25062 \x3d (i__24988_25055 + (1));\nseq__24985_25052 \x3d G__25059;\nchunk__24986_25053 \x3d G__25060;\ncount__24987_25054 \x3d G__25061;\ni__24988_25055 \x3d G__25062;\ncontinue;\n} else {\nvar temp__5804__auto___25063 \x3d cljs.core.seq(seq__24985_25052);\nif(temp__5804__auto___25063){\nvar seq__24985_25064__$1 \x3d temp__5804__auto___25063;\nif(cljs.core.chunked_seq_QMARK_(seq__24985_25064__$1)){\nvar c__5568__auto___25065 \x3d cljs.core.chunk_first(seq__24985_25064__$1);\nvar G__25066 \x3d cljs.core.chunk_rest(seq__24985_25064__$1);\nvar G__25067 \x3d c__5568__auto___25065;\nvar G__25068 \x3d cljs.core.count(c__5568__auto___25065);\nvar G__25069 \x3d (0);\nseq__24985_25052 \x3d G__25066;\nchunk__24986_25053 \x3d G__25067;\ncount__24987_25054 \x3d G__25068;\ni__24988_25055 \x3d G__25069;\ncontinue;\n} else {\nvar i_25070 \x3d cljs.core.first(seq__24985_25064__$1);\nvar x_25071 \x3d (quil.core.cos((angle * i_25070)) * radius);\nvar y_25072 \x3d (quil.core.sin((angle * i_25070)) * radius);\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x_25071,y_25072);\n\n\nvar G__25073 \x3d cljs.core.next(seq__24985_25064__$1);\nvar G__25074 \x3d null;\nvar G__25075 \x3d (0);\nvar G__25076 \x3d (0);\nseq__24985_25052 \x3d G__25073;\nchunk__24986_25053 \x3d G__25074;\ncount__24987_25054 \x3d G__25075;\ni__24988_25055 \x3d G__25076;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22close\x22,\x22close\x22,1835149582));\n});\nsketches.generative_desgin.P_02.P_2_0_01.run \x3d (function sketches$generative_desgin$P_02$P_2_0_01$run(host){\nsketches.generative_desgin.P_02.P_2_0_01.circle_lines \x3d (function sketches$generative_desgin$P_02$P_2_0_01$run_$_circle_lines(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25077__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25077 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25079__i \x3d 0, G__25079__a \x3d new Array(arguments.length - 0);\nwhile (G__25079__i \x3c G__25079__a.length) {G__25079__a[G__25079__i] \x3d arguments[G__25079__i + 0]; ++G__25079__i;}\n args \x3d new cljs.core.IndexedSeq(G__25079__a,0,null);\n} \nreturn G__25077__delegate.call(this,args);};\nG__25077.cljs$lang$maxFixedArity \x3d 0;\nG__25077.cljs$lang$applyTo \x3d (function (arglist__25080){\nvar args \x3d cljs.core.seq(arglist__25080);\nreturn G__25077__delegate(args);\n});\nG__25077.cljs$core$IFn$_invoke$arity$variadic \x3d G__25077__delegate;\nreturn G__25077;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_0_01.update_state))?(function() { \nvar G__25082__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_0_01.update_state,args);\n};\nvar G__25082 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25083__i \x3d 0, G__25083__a \x3d new Array(arguments.length - 0);\nwhile (G__25083__i \x3c G__25083__a.length) {G__25083__a[G__25083__i] \x3d arguments[G__25083__i + 0]; ++G__25083__i;}\n args \x3d new cljs.core.IndexedSeq(G__25083__a,0,null);\n} \nreturn G__25082__delegate.call(this,args);};\nG__25082.cljs$lang$maxFixedArity \x3d 0;\nG__25082.cljs$lang$applyTo \x3d (function (arglist__25084){\nvar args \x3d cljs.core.seq(arglist__25084);\nreturn G__25082__delegate(args);\n});\nG__25082.cljs$core$IFn$_invoke$arity$variadic \x3d G__25082__delegate;\nreturn G__25082;\n})()\n:sketches.generative_desgin.P_02.P_2_0_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_0_01.setup))?(function() { \nvar G__25085__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_0_01.setup,args);\n};\nvar G__25085 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25086__i \x3d 0, G__25086__a \x3d new Array(arguments.length - 0);\nwhile (G__25086__i \x3c G__25086__a.length) {G__25086__a[G__25086__i] \x3d arguments[G__25086__i + 0]; ++G__25086__i;}\n args \x3d new cljs.core.IndexedSeq(G__25086__a,0,null);\n} \nreturn G__25085__delegate.call(this,args);};\nG__25085.cljs$lang$maxFixedArity \x3d 0;\nG__25085.cljs$lang$applyTo \x3d (function (arglist__25087){\nvar args \x3d cljs.core.seq(arglist__25087);\nreturn G__25085__delegate(args);\n});\nG__25085.cljs$core$IFn$_invoke$arity$variadic \x3d G__25085__delegate;\nreturn G__25085;\n})()\n:sketches.generative_desgin.P_02.P_2_0_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_0_01.draw))?(function() { \nvar G__25088__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_0_01.draw,args);\n};\nvar G__25088 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25089__i \x3d 0, G__25089__a \x3d new Array(arguments.length - 0);\nwhile (G__25089__i \x3c G__25089__a.length) {G__25089__a[G__25089__i] \x3d arguments[G__25089__i + 0]; ++G__25089__i;}\n args \x3d new cljs.core.IndexedSeq(G__25089__a,0,null);\n} \nreturn G__25088__delegate.call(this,args);};\nG__25088.cljs$lang$maxFixedArity \x3d 0;\nG__25088.cljs$lang$applyTo \x3d (function (arglist__25090){\nvar args \x3d cljs.core.seq(arglist__25090);\nreturn G__25088__delegate(args);\n});\nG__25088.cljs$core$IFn$_invoke$arity$variadic \x3d G__25088__delegate;\nreturn G__25088;\n})()\n:sketches.generative_desgin.P_02.P_2_0_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_0_01.circle_lines\x27, sketches.generative_desgin.P_02.P_2_0_01.circle_lines);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_0_01.circle_lines,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25091__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25091 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25092__i \x3d 0, G__25092__a \x3d new Array(arguments.length - 0);\nwhile (G__25092__i \x3c G__25092__a.length) {G__25092__a[G__25092__i] \x3d arguments[G__25092__i + 0]; ++G__25092__i;}\n args \x3d new cljs.core.IndexedSeq(G__25092__a,0,null);\n} \nreturn G__25091__delegate.call(this,args);};\nG__25091.cljs$lang$maxFixedArity \x3d 0;\nG__25091.cljs$lang$applyTo \x3d (function (arglist__25093){\nvar args \x3d cljs.core.seq(arglist__25093);\nreturn G__25091__delegate(args);\n});\nG__25091.cljs$core$IFn$_invoke$arity$variadic \x3d G__25091__delegate;\nreturn G__25091;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_1_1_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_1_1_01\x27);\nsketches.generative_desgin.P_02.P_2_1_1_01.tile_count \x3d (20);\nsketches.generative_desgin.P_02.P_2_1_1_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_1_1_01$setup(){\nreturn null;\n});\nsketches.generative_desgin.P_02.P_2_1_1_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_1_1_01$update_state(){\nreturn null;\n});\nsketches.generative_desgin.P_02.P_2_1_1_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_1_1_01$draw(){\nquil.core.clear();\n\nquil.core.stroke_cap(new cljs.core.Keyword(null,\x22round\x22,\x22round\x22,2009433328));\n\nquil.core.random_seed((0));\n\nvar seq__24989 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_1_01.tile_count));\nvar chunk__24994 \x3d null;\nvar count__24995 \x3d (0);\nvar i__24996 \x3d (0);\nwhile(true){\nif((i__24996 \x3c count__24995)){\nvar grid_y \x3d chunk__24994.cljs$core$IIndexed$_nth$arity$2(null,i__24996);\nvar seq__24997_25399 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_1_01.tile_count));\nvar chunk__24998_25400 \x3d null;\nvar count__24999_25402 \x3d (0);\nvar i__25000_25403 \x3d (0);\nwhile(true){\nif((i__25000_25403 \x3c count__24999_25402)){\nvar grid_x_25406 \x3d chunk__24998_25400.cljs$core$IIndexed$_nth$arity$2(null,i__25000_25403);\nvar pos_x_25407 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_x_25406);\nvar pos_y_25408 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_y);\nvar toggle_25409 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)) | (0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25409,(0))){\nquil.core.stroke_weight((quil.core.mouse_x() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25407,pos_y_25408,(pos_x_25407 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_y_25408 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)));\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25409,(1))){\nquil.core.stroke_weight((quil.core.mouse_y() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25407,(pos_y_25408 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_x_25407 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),pos_y_25408);\n} else {\n}\n\n\nvar G__25431 \x3d seq__24997_25399;\nvar G__25432 \x3d chunk__24998_25400;\nvar G__25433 \x3d count__24999_25402;\nvar G__25434 \x3d (i__25000_25403 + (1));\nseq__24997_25399 \x3d G__25431;\nchunk__24998_25400 \x3d G__25432;\ncount__24999_25402 \x3d G__25433;\ni__25000_25403 \x3d G__25434;\ncontinue;\n} else {\nvar temp__5804__auto___25435 \x3d cljs.core.seq(seq__24997_25399);\nif(temp__5804__auto___25435){\nvar seq__24997_25436__$1 \x3d temp__5804__auto___25435;\nif(cljs.core.chunked_seq_QMARK_(seq__24997_25436__$1)){\nvar c__5568__auto___25437 \x3d cljs.core.chunk_first(seq__24997_25436__$1);\nvar G__25438 \x3d cljs.core.chunk_rest(seq__24997_25436__$1);\nvar G__25439 \x3d c__5568__auto___25437;\nvar G__25440 \x3d cljs.core.count(c__5568__auto___25437);\nvar G__25441 \x3d (0);\nseq__24997_25399 \x3d G__25438;\nchunk__24998_25400 \x3d G__25439;\ncount__24999_25402 \x3d G__25440;\ni__25000_25403 \x3d G__25441;\ncontinue;\n} else {\nvar grid_x_25442 \x3d cljs.core.first(seq__24997_25436__$1);\nvar pos_x_25444 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_x_25442);\nvar pos_y_25445 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_y);\nvar toggle_25446 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)) | (0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25446,(0))){\nquil.core.stroke_weight((quil.core.mouse_x() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25444,pos_y_25445,(pos_x_25444 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_y_25445 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)));\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25446,(1))){\nquil.core.stroke_weight((quil.core.mouse_y() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25444,(pos_y_25445 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_x_25444 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),pos_y_25445);\n} else {\n}\n\n\nvar G__25451 \x3d cljs.core.next(seq__24997_25436__$1);\nvar G__25452 \x3d null;\nvar G__25453 \x3d (0);\nvar G__25454 \x3d (0);\nseq__24997_25399 \x3d G__25451;\nchunk__24998_25400 \x3d G__25452;\ncount__24999_25402 \x3d G__25453;\ni__25000_25403 \x3d G__25454;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25455 \x3d seq__24989;\nvar G__25456 \x3d chunk__24994;\nvar G__25457 \x3d count__24995;\nvar G__25458 \x3d (i__24996 + (1));\nseq__24989 \x3d G__25455;\nchunk__24994 \x3d G__25456;\ncount__24995 \x3d G__25457;\ni__24996 \x3d G__25458;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24989);\nif(temp__5804__auto__){\nvar seq__24989__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24989__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24989__$1);\nvar G__25459 \x3d cljs.core.chunk_rest(seq__24989__$1);\nvar G__25460 \x3d c__5568__auto__;\nvar G__25461 \x3d cljs.core.count(c__5568__auto__);\nvar G__25462 \x3d (0);\nseq__24989 \x3d G__25459;\nchunk__24994 \x3d G__25460;\ncount__24995 \x3d G__25461;\ni__24996 \x3d G__25462;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__24989__$1);\nvar seq__24990_25463 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_1_01.tile_count));\nvar chunk__24991_25464 \x3d null;\nvar count__24992_25465 \x3d (0);\nvar i__24993_25466 \x3d (0);\nwhile(true){\nif((i__24993_25466 \x3c count__24992_25465)){\nvar grid_x_25468 \x3d chunk__24991_25464.cljs$core$IIndexed$_nth$arity$2(null,i__24993_25466);\nvar pos_x_25469 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_x_25468);\nvar pos_y_25470 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_y);\nvar toggle_25471 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)) | (0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25471,(0))){\nquil.core.stroke_weight((quil.core.mouse_x() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25469,pos_y_25470,(pos_x_25469 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_y_25470 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)));\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25471,(1))){\nquil.core.stroke_weight((quil.core.mouse_y() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25469,(pos_y_25470 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_x_25469 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),pos_y_25470);\n} else {\n}\n\n\nvar G__25473 \x3d seq__24990_25463;\nvar G__25474 \x3d chunk__24991_25464;\nvar G__25475 \x3d count__24992_25465;\nvar G__25476 \x3d (i__24993_25466 + (1));\nseq__24990_25463 \x3d G__25473;\nchunk__24991_25464 \x3d G__25474;\ncount__24992_25465 \x3d G__25475;\ni__24993_25466 \x3d G__25476;\ncontinue;\n} else {\nvar temp__5804__auto___25478__$1 \x3d cljs.core.seq(seq__24990_25463);\nif(temp__5804__auto___25478__$1){\nvar seq__24990_25479__$1 \x3d temp__5804__auto___25478__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__24990_25479__$1)){\nvar c__5568__auto___25480 \x3d cljs.core.chunk_first(seq__24990_25479__$1);\nvar G__25482 \x3d cljs.core.chunk_rest(seq__24990_25479__$1);\nvar G__25483 \x3d c__5568__auto___25480;\nvar G__25484 \x3d cljs.core.count(c__5568__auto___25480);\nvar G__25485 \x3d (0);\nseq__24990_25463 \x3d G__25482;\nchunk__24991_25464 \x3d G__25483;\ncount__24992_25465 \x3d G__25484;\ni__24993_25466 \x3d G__25485;\ncontinue;\n} else {\nvar grid_x_25487 \x3d cljs.core.first(seq__24990_25479__$1);\nvar pos_x_25488 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_x_25487);\nvar pos_y_25489 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count) * grid_y);\nvar toggle_25490 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)) | (0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25490,(0))){\nquil.core.stroke_weight((quil.core.mouse_x() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25488,pos_y_25489,(pos_x_25488 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_y_25489 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)));\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(toggle_25490,(1))){\nquil.core.stroke_weight((quil.core.mouse_y() / (20)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(pos_x_25488,(pos_y_25489 + (quil.core.height() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),(pos_x_25488 + (quil.core.width() / sketches.generative_desgin.P_02.P_2_1_1_01.tile_count)),pos_y_25489);\n} else {\n}\n\n\nvar G__25497 \x3d cljs.core.next(seq__24990_25479__$1);\nvar G__25498 \x3d null;\nvar G__25499 \x3d (0);\nvar G__25500 \x3d (0);\nseq__24990_25463 \x3d G__25497;\nchunk__24991_25464 \x3d G__25498;\ncount__24992_25465 \x3d G__25499;\ni__24993_25466 \x3d G__25500;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25502 \x3d cljs.core.next(seq__24989__$1);\nvar G__25503 \x3d null;\nvar G__25504 \x3d (0);\nvar G__25505 \x3d (0);\nseq__24989 \x3d G__25502;\nchunk__24994 \x3d G__25503;\ncount__24995 \x3d G__25504;\ni__24996 \x3d G__25505;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_1_1_01.run \x3d (function sketches$generative_desgin$P_02$P_2_1_1_01$run(host){\nsketches.generative_desgin.P_02.P_2_1_1_01.alignment_in_a_grid \x3d (function sketches$generative_desgin$P_02$P_2_1_1_01$run_$_alignment_in_a_grid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25509__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25509 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25510__i \x3d 0, G__25510__a \x3d new Array(arguments.length - 0);\nwhile (G__25510__i \x3c G__25510__a.length) {G__25510__a[G__25510__i] \x3d arguments[G__25510__i + 0]; ++G__25510__i;}\n args \x3d new cljs.core.IndexedSeq(G__25510__a,0,null);\n} \nreturn G__25509__delegate.call(this,args);};\nG__25509.cljs$lang$maxFixedArity \x3d 0;\nG__25509.cljs$lang$applyTo \x3d (function (arglist__25511){\nvar args \x3d cljs.core.seq(arglist__25511);\nreturn G__25509__delegate(args);\n});\nG__25509.cljs$core$IFn$_invoke$arity$variadic \x3d G__25509__delegate;\nreturn G__25509;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_1_01.update_state))?(function() { \nvar G__25516__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_1_01.update_state,args);\n};\nvar G__25516 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25521__i \x3d 0, G__25521__a \x3d new Array(arguments.length - 0);\nwhile (G__25521__i \x3c G__25521__a.length) {G__25521__a[G__25521__i] \x3d arguments[G__25521__i + 0]; ++G__25521__i;}\n args \x3d new cljs.core.IndexedSeq(G__25521__a,0,null);\n} \nreturn G__25516__delegate.call(this,args);};\nG__25516.cljs$lang$maxFixedArity \x3d 0;\nG__25516.cljs$lang$applyTo \x3d (function (arglist__25522){\nvar args \x3d cljs.core.seq(arglist__25522);\nreturn G__25516__delegate(args);\n});\nG__25516.cljs$core$IFn$_invoke$arity$variadic \x3d G__25516__delegate;\nreturn G__25516;\n})()\n:sketches.generative_desgin.P_02.P_2_1_1_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_1_01.setup))?(function() { \nvar G__25523__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_1_01.setup,args);\n};\nvar G__25523 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25524__i \x3d 0, G__25524__a \x3d new Array(arguments.length - 0);\nwhile (G__25524__i \x3c G__25524__a.length) {G__25524__a[G__25524__i] \x3d arguments[G__25524__i + 0]; ++G__25524__i;}\n args \x3d new cljs.core.IndexedSeq(G__25524__a,0,null);\n} \nreturn G__25523__delegate.call(this,args);};\nG__25523.cljs$lang$maxFixedArity \x3d 0;\nG__25523.cljs$lang$applyTo \x3d (function (arglist__25525){\nvar args \x3d cljs.core.seq(arglist__25525);\nreturn G__25523__delegate(args);\n});\nG__25523.cljs$core$IFn$_invoke$arity$variadic \x3d G__25523__delegate;\nreturn G__25523;\n})()\n:sketches.generative_desgin.P_02.P_2_1_1_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_1_01.draw))?(function() { \nvar G__25526__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_1_01.draw,args);\n};\nvar G__25526 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25527__i \x3d 0, G__25527__a \x3d new Array(arguments.length - 0);\nwhile (G__25527__i \x3c G__25527__a.length) {G__25527__a[G__25527__i] \x3d arguments[G__25527__i + 0]; ++G__25527__i;}\n args \x3d new cljs.core.IndexedSeq(G__25527__a,0,null);\n} \nreturn G__25526__delegate.call(this,args);};\nG__25526.cljs$lang$maxFixedArity \x3d 0;\nG__25526.cljs$lang$applyTo \x3d (function (arglist__25528){\nvar args \x3d cljs.core.seq(arglist__25528);\nreturn G__25526__delegate(args);\n});\nG__25526.cljs$core$IFn$_invoke$arity$variadic \x3d G__25526__delegate;\nreturn G__25526;\n})()\n:sketches.generative_desgin.P_02.P_2_1_1_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_1_1_01.alignment_in_a_grid\x27, sketches.generative_desgin.P_02.P_2_1_1_01.alignment_in_a_grid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_1_1_01.alignment_in_a_grid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25529__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25529 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25530__i \x3d 0, G__25530__a \x3d new Array(arguments.length - 0);\nwhile (G__25530__i \x3c G__25530__a.length) {G__25530__a[G__25530__i] \x3d arguments[G__25530__i + 0]; ++G__25530__i;}\n args \x3d new cljs.core.IndexedSeq(G__25530__a,0,null);\n} \nreturn G__25529__delegate.call(this,args);};\nG__25529.cljs$lang$maxFixedArity \x3d 0;\nG__25529.cljs$lang$applyTo \x3d (function (arglist__25531){\nvar args \x3d cljs.core.seq(arglist__25531);\nreturn G__25529__delegate(args);\n});\nG__25529.cljs$core$IFn$_invoke$arity$variadic \x3d G__25529__delegate;\nreturn G__25529;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_1_2_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_1_2_01\x27);\nsketches.generative_desgin.P_02.P_2_1_2_01.tile_count \x3d (20);\nsketches.generative_desgin.P_02.P_2_1_2_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_1_2_01$setup(){\nreturn quil.core.no_fill();\n});\nsketches.generative_desgin.P_02.P_2_1_2_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_1_2_01$update_state(){\nreturn null;\n});\nsketches.generative_desgin.P_02.P_2_1_2_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_1_2_01$draw(){\nquil.core.random_seed((0));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) / (2)),((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) / (2)));\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$4((0),(0),(0),(130));\n\nquil.core.stroke_weight((quil.core.mouse_y() / (60)));\n\nvar seq__25024 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_2_01.tile_count));\nvar chunk__25041 \x3d null;\nvar count__25042 \x3d (0);\nvar i__25043 \x3d (0);\nwhile(true){\nif((i__25043 \x3c count__25042)){\nvar grid_y \x3d chunk__25041.cljs$core$IIndexed$_nth$arity$2(null,i__25043);\nvar seq__25044_25266 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_2_01.tile_count));\nvar chunk__25045_25267 \x3d null;\nvar count__25046_25268 \x3d (0);\nvar i__25047_25269 \x3d (0);\nwhile(true){\nif((i__25047_25269 \x3c count__25046_25268)){\nvar grid_x_25272 \x3d chunk__25045_25267.cljs$core$IIndexed$_nth$arity$2(null,i__25047_25269);\nvar pos_x_25278 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_x_25272);\nvar pos_y_25279 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_y);\nvar shift_x_25280 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nvar shift_y_25281 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nquil.core.ellipse((pos_x_25278 + shift_x_25280),(pos_y_25279 + shift_y_25281),(quil.core.mouse_y() / (15)),(quil.core.mouse_y() / (15)));\n\n\nvar G__25291 \x3d seq__25044_25266;\nvar G__25292 \x3d chunk__25045_25267;\nvar G__25293 \x3d count__25046_25268;\nvar G__25294 \x3d (i__25047_25269 + (1));\nseq__25044_25266 \x3d G__25291;\nchunk__25045_25267 \x3d G__25292;\ncount__25046_25268 \x3d G__25293;\ni__25047_25269 \x3d G__25294;\ncontinue;\n} else {\nvar temp__5804__auto___25298 \x3d cljs.core.seq(seq__25044_25266);\nif(temp__5804__auto___25298){\nvar seq__25044_25299__$1 \x3d temp__5804__auto___25298;\nif(cljs.core.chunked_seq_QMARK_(seq__25044_25299__$1)){\nvar c__5568__auto___25300 \x3d cljs.core.chunk_first(seq__25044_25299__$1);\nvar G__25301 \x3d cljs.core.chunk_rest(seq__25044_25299__$1);\nvar G__25302 \x3d c__5568__auto___25300;\nvar G__25303 \x3d cljs.core.count(c__5568__auto___25300);\nvar G__25304 \x3d (0);\nseq__25044_25266 \x3d G__25301;\nchunk__25045_25267 \x3d G__25302;\ncount__25046_25268 \x3d G__25303;\ni__25047_25269 \x3d G__25304;\ncontinue;\n} else {\nvar grid_x_25306 \x3d cljs.core.first(seq__25044_25299__$1);\nvar pos_x_25307 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_x_25306);\nvar pos_y_25308 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_y);\nvar shift_x_25309 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nvar shift_y_25310 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nquil.core.ellipse((pos_x_25307 + shift_x_25309),(pos_y_25308 + shift_y_25310),(quil.core.mouse_y() / (15)),(quil.core.mouse_y() / (15)));\n\n\nvar G__25313 \x3d cljs.core.next(seq__25044_25299__$1);\nvar G__25314 \x3d null;\nvar G__25315 \x3d (0);\nvar G__25316 \x3d (0);\nseq__25044_25266 \x3d G__25313;\nchunk__25045_25267 \x3d G__25314;\ncount__25046_25268 \x3d G__25315;\ni__25047_25269 \x3d G__25316;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25318 \x3d seq__25024;\nvar G__25319 \x3d chunk__25041;\nvar G__25320 \x3d count__25042;\nvar G__25321 \x3d (i__25043 + (1));\nseq__25024 \x3d G__25318;\nchunk__25041 \x3d G__25319;\ncount__25042 \x3d G__25320;\ni__25043 \x3d G__25321;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25024);\nif(temp__5804__auto__){\nvar seq__25024__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25024__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25024__$1);\nvar G__25325 \x3d cljs.core.chunk_rest(seq__25024__$1);\nvar G__25326 \x3d c__5568__auto__;\nvar G__25327 \x3d cljs.core.count(c__5568__auto__);\nvar G__25328 \x3d (0);\nseq__25024 \x3d G__25325;\nchunk__25041 \x3d G__25326;\ncount__25042 \x3d G__25327;\ni__25043 \x3d G__25328;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__25024__$1);\nvar seq__25025_25330 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_2_01.tile_count));\nvar chunk__25026_25331 \x3d null;\nvar count__25027_25332 \x3d (0);\nvar i__25028_25333 \x3d (0);\nwhile(true){\nif((i__25028_25333 \x3c count__25027_25332)){\nvar grid_x_25336 \x3d chunk__25026_25331.cljs$core$IIndexed$_nth$arity$2(null,i__25028_25333);\nvar pos_x_25338 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_x_25336);\nvar pos_y_25339 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_y);\nvar shift_x_25340 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nvar shift_y_25341 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nquil.core.ellipse((pos_x_25338 + shift_x_25340),(pos_y_25339 + shift_y_25341),(quil.core.mouse_y() / (15)),(quil.core.mouse_y() / (15)));\n\n\nvar G__25351 \x3d seq__25025_25330;\nvar G__25352 \x3d chunk__25026_25331;\nvar G__25353 \x3d count__25027_25332;\nvar G__25354 \x3d (i__25028_25333 + (1));\nseq__25025_25330 \x3d G__25351;\nchunk__25026_25331 \x3d G__25352;\ncount__25027_25332 \x3d G__25353;\ni__25028_25333 \x3d G__25354;\ncontinue;\n} else {\nvar temp__5804__auto___25355__$1 \x3d cljs.core.seq(seq__25025_25330);\nif(temp__5804__auto___25355__$1){\nvar seq__25025_25356__$1 \x3d temp__5804__auto___25355__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25025_25356__$1)){\nvar c__5568__auto___25358 \x3d cljs.core.chunk_first(seq__25025_25356__$1);\nvar G__25359 \x3d cljs.core.chunk_rest(seq__25025_25356__$1);\nvar G__25360 \x3d c__5568__auto___25358;\nvar G__25361 \x3d cljs.core.count(c__5568__auto___25358);\nvar G__25362 \x3d (0);\nseq__25025_25330 \x3d G__25359;\nchunk__25026_25331 \x3d G__25360;\ncount__25027_25332 \x3d G__25361;\ni__25028_25333 \x3d G__25362;\ncontinue;\n} else {\nvar grid_x_25367 \x3d cljs.core.first(seq__25025_25356__$1);\nvar pos_x_25369 \x3d ((quil.core.width() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_x_25367);\nvar pos_y_25370 \x3d ((quil.core.height() / sketches.generative_desgin.P_02.P_2_1_2_01.tile_count) * grid_y);\nvar shift_x_25371 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nvar shift_y_25372 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((- quil.core.mouse_x()),quil.core.mouse_x()) / (20));\nquil.core.ellipse((pos_x_25369 + shift_x_25371),(pos_y_25370 + shift_y_25372),(quil.core.mouse_y() / (15)),(quil.core.mouse_y() / (15)));\n\n\nvar G__25382 \x3d cljs.core.next(seq__25025_25356__$1);\nvar G__25383 \x3d null;\nvar G__25384 \x3d (0);\nvar G__25385 \x3d (0);\nseq__25025_25330 \x3d G__25382;\nchunk__25026_25331 \x3d G__25383;\ncount__25027_25332 \x3d G__25384;\ni__25028_25333 \x3d G__25385;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__25387 \x3d cljs.core.next(seq__25024__$1);\nvar G__25388 \x3d null;\nvar G__25389 \x3d (0);\nvar G__25390 \x3d (0);\nseq__25024 \x3d G__25387;\nchunk__25041 \x3d G__25388;\ncount__25042 \x3d G__25389;\ni__25043 \x3d G__25390;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_1_2_01.run \x3d (function sketches$generative_desgin$P_02$P_2_1_2_01$run(host){\nsketches.generative_desgin.P_02.P_2_1_2_01.movement_in_grid \x3d (function sketches$generative_desgin$P_02$P_2_1_2_01$run_$_movement_in_grid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25396__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25396 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25397__i \x3d 0, G__25397__a \x3d new Array(arguments.length - 0);\nwhile (G__25397__i \x3c G__25397__a.length) {G__25397__a[G__25397__i] \x3d arguments[G__25397__i + 0]; ++G__25397__i;}\n args \x3d new cljs.core.IndexedSeq(G__25397__a,0,null);\n} \nreturn G__25396__delegate.call(this,args);};\nG__25396.cljs$lang$maxFixedArity \x3d 0;\nG__25396.cljs$lang$applyTo \x3d (function (arglist__25398){\nvar args \x3d cljs.core.seq(arglist__25398);\nreturn G__25396__delegate(args);\n});\nG__25396.cljs$core$IFn$_invoke$arity$variadic \x3d G__25396__delegate;\nreturn G__25396;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_2_01.update_state))?(function() { \nvar G__25401__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_2_01.update_state,args);\n};\nvar G__25401 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25404__i \x3d 0, G__25404__a \x3d new Array(arguments.length - 0);\nwhile (G__25404__i \x3c G__25404__a.length) {G__25404__a[G__25404__i] \x3d arguments[G__25404__i + 0]; ++G__25404__i;}\n args \x3d new cljs.core.IndexedSeq(G__25404__a,0,null);\n} \nreturn G__25401__delegate.call(this,args);};\nG__25401.cljs$lang$maxFixedArity \x3d 0;\nG__25401.cljs$lang$applyTo \x3d (function (arglist__25405){\nvar args \x3d cljs.core.seq(arglist__25405);\nreturn G__25401__delegate(args);\n});\nG__25401.cljs$core$IFn$_invoke$arity$variadic \x3d G__25401__delegate;\nreturn G__25401;\n})()\n:sketches.generative_desgin.P_02.P_2_1_2_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_2_01.setup))?(function() { \nvar G__25411__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_2_01.setup,args);\n};\nvar G__25411 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25415__i \x3d 0, G__25415__a \x3d new Array(arguments.length - 0);\nwhile (G__25415__i \x3c G__25415__a.length) {G__25415__a[G__25415__i] \x3d arguments[G__25415__i + 0]; ++G__25415__i;}\n args \x3d new cljs.core.IndexedSeq(G__25415__a,0,null);\n} \nreturn G__25411__delegate.call(this,args);};\nG__25411.cljs$lang$maxFixedArity \x3d 0;\nG__25411.cljs$lang$applyTo \x3d (function (arglist__25416){\nvar args \x3d cljs.core.seq(arglist__25416);\nreturn G__25411__delegate(args);\n});\nG__25411.cljs$core$IFn$_invoke$arity$variadic \x3d G__25411__delegate;\nreturn G__25411;\n})()\n:sketches.generative_desgin.P_02.P_2_1_2_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_2_01.draw))?(function() { \nvar G__25417__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_2_01.draw,args);\n};\nvar G__25417 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25418__i \x3d 0, G__25418__a \x3d new Array(arguments.length - 0);\nwhile (G__25418__i \x3c G__25418__a.length) {G__25418__a[G__25418__i] \x3d arguments[G__25418__i + 0]; ++G__25418__i;}\n args \x3d new cljs.core.IndexedSeq(G__25418__a,0,null);\n} \nreturn G__25417__delegate.call(this,args);};\nG__25417.cljs$lang$maxFixedArity \x3d 0;\nG__25417.cljs$lang$applyTo \x3d (function (arglist__25419){\nvar args \x3d cljs.core.seq(arglist__25419);\nreturn G__25417__delegate(args);\n});\nG__25417.cljs$core$IFn$_invoke$arity$variadic \x3d G__25417__delegate;\nreturn G__25417;\n})()\n:sketches.generative_desgin.P_02.P_2_1_2_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_1_2_01.movement_in_grid\x27, sketches.generative_desgin.P_02.P_2_1_2_01.movement_in_grid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_1_2_01.movement_in_grid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25424__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25424 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25425__i \x3d 0, G__25425__a \x3d new Array(arguments.length - 0);\nwhile (G__25425__i \x3c G__25425__a.length) {G__25425__a[G__25425__i] \x3d arguments[G__25425__i + 0]; ++G__25425__i;}\n args \x3d new cljs.core.IndexedSeq(G__25425__a,0,null);\n} \nreturn G__25424__delegate.call(this,args);};\nG__25424.cljs$lang$maxFixedArity \x3d 0;\nG__25424.cljs$lang$applyTo \x3d (function (arglist__25426){\nvar args \x3d cljs.core.seq(arglist__25426);\nreturn G__25424__delegate(args);\n});\nG__25424.cljs$core$IFn$_invoke$arity$variadic \x3d G__25424__delegate;\nreturn G__25424;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_1_3_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_1_3_01\x27);\nsketches.generative_desgin.P_02.P_2_1_3_01.tile_count_x \x3d (10);\nsketches.generative_desgin.P_02.P_2_1_3_01.tile_count_y \x3d (10);\nsketches.generative_desgin.P_02.P_2_1_3_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_1_3_01$setup(){\nquil.core.no_fill();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),(128));\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tile-width\x22,\x22tile-width\x22,-1131996343),(quil.core.width() / sketches.generative_desgin.P_02.P_2_1_3_01.tile_count_x),new cljs.core.Keyword(null,\x22tile-height\x22,\x22tile-height\x22,-905667651),(quil.core.height() / sketches.generative_desgin.P_02.P_2_1_3_01.tile_count_y)], null);\n});\nsketches.generative_desgin.P_02.P_2_1_3_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_1_3_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_02.P_2_1_3_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_1_3_01$draw(p__25022){\nvar map__25023 \x3d p__25022;\nvar map__25023__$1 \x3d cljs.core.__destructure_map(map__25023);\nvar tile_width \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25023__$1,new cljs.core.Keyword(null,\x22tile-width\x22,\x22tile-width\x22,-1131996343));\nvar tile_height \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25023__$1,new cljs.core.Keyword(null,\x22tile-height\x22,\x22tile-height\x22,-905667651));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((tile_width / (2)),(tile_height / (2)));\n\nquil.core.random_seed((0));\n\nvar circle_count \x3d ((quil.core.mouse_x() / (30)) + (1));\nvar end_size \x3d quil.core.map_range(quil.core.mouse_x(),(0),Math.max(quil.core.width(),quil.core.mouse_x()),(tile_width / (2)),(0));\nvar end_offset \x3d quil.core.map_range(quil.core.mouse_y(),(0),Math.max(quil.core.height(),quil.core.mouse_y()),(0),((tile_width - end_size) / (2)));\nvar seq__25029 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_3_01.tile_count_y));\nvar chunk__25034 \x3d null;\nvar count__25035 \x3d (0);\nvar i__25036 \x3d (0);\nwhile(true){\nif((i__25036 \x3c count__25035)){\nvar grid_y \x3d chunk__25034.cljs$core$IIndexed$_nth$arity$2(null,i__25036);\nvar seq__25037_25920 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_3_01.tile_count_x));\nvar chunk__25038_25921 \x3d null;\nvar count__25039_25922 \x3d (0);\nvar i__25040_25923 \x3d (0);\nwhile(true){\nif((i__25040_25923 \x3c count__25039_25922)){\nvar grid_x_25924 \x3d chunk__25038_25921.cljs$core$IIndexed$_nth$arity$2(null,i__25040_25923);\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((tile_width * grid_x_25924),(tile_height * grid_y));\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$2((1),(tile_height / tile_width));\n\nvar G__25650_25925 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(4)) | (0));\nswitch (G__25650_25925) {\ncase (0):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.HALF_PI));\n\nbreak;\ncase (1):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((0));\n\nbreak;\ncase (2):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase (3):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25650_25925)].join(\x27\x27)));\n\n}\n\nvar seq__25651_25928 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),circle_count));\nvar chunk__25652_25929 \x3d null;\nvar count__25653_25930 \x3d (0);\nvar i__25654_25931 \x3d (0);\nwhile(true){\nif((i__25654_25931 \x3c count__25653_25930)){\nvar i_25932 \x3d chunk__25652_25929.cljs$core$IIndexed$_nth$arity$2(null,i__25654_25931);\nvar diameter_25933 \x3d quil.core.map_range(i_25932,(0),circle_count,tile_width,end_size);\nvar offset_25934 \x3d quil.core.map_range(i_25932,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_25934,(0),diameter_25933,diameter_25933);\n\n\nvar G__25935 \x3d seq__25651_25928;\nvar G__25936 \x3d chunk__25652_25929;\nvar G__25937 \x3d count__25653_25930;\nvar G__25938 \x3d (i__25654_25931 + (1));\nseq__25651_25928 \x3d G__25935;\nchunk__25652_25929 \x3d G__25936;\ncount__25653_25930 \x3d G__25937;\ni__25654_25931 \x3d G__25938;\ncontinue;\n} else {\nvar temp__5804__auto___25939 \x3d cljs.core.seq(seq__25651_25928);\nif(temp__5804__auto___25939){\nvar seq__25651_25944__$1 \x3d temp__5804__auto___25939;\nif(cljs.core.chunked_seq_QMARK_(seq__25651_25944__$1)){\nvar c__5568__auto___25945 \x3d cljs.core.chunk_first(seq__25651_25944__$1);\nvar G__25946 \x3d cljs.core.chunk_rest(seq__25651_25944__$1);\nvar G__25947 \x3d c__5568__auto___25945;\nvar G__25948 \x3d cljs.core.count(c__5568__auto___25945);\nvar G__25949 \x3d (0);\nseq__25651_25928 \x3d G__25946;\nchunk__25652_25929 \x3d G__25947;\ncount__25653_25930 \x3d G__25948;\ni__25654_25931 \x3d G__25949;\ncontinue;\n} else {\nvar i_25950 \x3d cljs.core.first(seq__25651_25944__$1);\nvar diameter_25951 \x3d quil.core.map_range(i_25950,(0),circle_count,tile_width,end_size);\nvar offset_25952 \x3d quil.core.map_range(i_25950,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_25952,(0),diameter_25951,diameter_25951);\n\n\nvar G__25953 \x3d cljs.core.next(seq__25651_25944__$1);\nvar G__25954 \x3d null;\nvar G__25955 \x3d (0);\nvar G__25956 \x3d (0);\nseq__25651_25928 \x3d G__25953;\nchunk__25652_25929 \x3d G__25954;\ncount__25653_25930 \x3d G__25955;\ni__25654_25931 \x3d G__25956;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.pop_matrix();\n\n\nvar G__25957 \x3d seq__25037_25920;\nvar G__25958 \x3d chunk__25038_25921;\nvar G__25959 \x3d count__25039_25922;\nvar G__25960 \x3d (i__25040_25923 + (1));\nseq__25037_25920 \x3d G__25957;\nchunk__25038_25921 \x3d G__25958;\ncount__25039_25922 \x3d G__25959;\ni__25040_25923 \x3d G__25960;\ncontinue;\n} else {\nvar temp__5804__auto___25961 \x3d cljs.core.seq(seq__25037_25920);\nif(temp__5804__auto___25961){\nvar seq__25037_25962__$1 \x3d temp__5804__auto___25961;\nif(cljs.core.chunked_seq_QMARK_(seq__25037_25962__$1)){\nvar c__5568__auto___25963 \x3d cljs.core.chunk_first(seq__25037_25962__$1);\nvar G__25964 \x3d cljs.core.chunk_rest(seq__25037_25962__$1);\nvar G__25965 \x3d c__5568__auto___25963;\nvar G__25966 \x3d cljs.core.count(c__5568__auto___25963);\nvar G__25967 \x3d (0);\nseq__25037_25920 \x3d G__25964;\nchunk__25038_25921 \x3d G__25965;\ncount__25039_25922 \x3d G__25966;\ni__25040_25923 \x3d G__25967;\ncontinue;\n} else {\nvar grid_x_25968 \x3d cljs.core.first(seq__25037_25962__$1);\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((tile_width * grid_x_25968),(tile_height * grid_y));\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$2((1),(tile_height / tile_width));\n\nvar G__25717_25969 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(4)) | (0));\nswitch (G__25717_25969) {\ncase (0):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.HALF_PI));\n\nbreak;\ncase (1):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((0));\n\nbreak;\ncase (2):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase (3):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25717_25969)].join(\x27\x27)));\n\n}\n\nvar seq__25718_25971 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),circle_count));\nvar chunk__25719_25972 \x3d null;\nvar count__25720_25973 \x3d (0);\nvar i__25721_25974 \x3d (0);\nwhile(true){\nif((i__25721_25974 \x3c count__25720_25973)){\nvar i_25975 \x3d chunk__25719_25972.cljs$core$IIndexed$_nth$arity$2(null,i__25721_25974);\nvar diameter_25976 \x3d quil.core.map_range(i_25975,(0),circle_count,tile_width,end_size);\nvar offset_25977 \x3d quil.core.map_range(i_25975,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_25977,(0),diameter_25976,diameter_25976);\n\n\nvar G__25978 \x3d seq__25718_25971;\nvar G__25979 \x3d chunk__25719_25972;\nvar G__25980 \x3d count__25720_25973;\nvar G__25981 \x3d (i__25721_25974 + (1));\nseq__25718_25971 \x3d G__25978;\nchunk__25719_25972 \x3d G__25979;\ncount__25720_25973 \x3d G__25980;\ni__25721_25974 \x3d G__25981;\ncontinue;\n} else {\nvar temp__5804__auto___25982__$1 \x3d cljs.core.seq(seq__25718_25971);\nif(temp__5804__auto___25982__$1){\nvar seq__25718_25983__$1 \x3d temp__5804__auto___25982__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25718_25983__$1)){\nvar c__5568__auto___25984 \x3d cljs.core.chunk_first(seq__25718_25983__$1);\nvar G__25985 \x3d cljs.core.chunk_rest(seq__25718_25983__$1);\nvar G__25986 \x3d c__5568__auto___25984;\nvar G__25987 \x3d cljs.core.count(c__5568__auto___25984);\nvar G__25988 \x3d (0);\nseq__25718_25971 \x3d G__25985;\nchunk__25719_25972 \x3d G__25986;\ncount__25720_25973 \x3d G__25987;\ni__25721_25974 \x3d G__25988;\ncontinue;\n} else {\nvar i_25989 \x3d cljs.core.first(seq__25718_25983__$1);\nvar diameter_25990 \x3d quil.core.map_range(i_25989,(0),circle_count,tile_width,end_size);\nvar offset_25991 \x3d quil.core.map_range(i_25989,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_25991,(0),diameter_25990,diameter_25990);\n\n\nvar G__25992 \x3d cljs.core.next(seq__25718_25983__$1);\nvar G__25993 \x3d null;\nvar G__25994 \x3d (0);\nvar G__25995 \x3d (0);\nseq__25718_25971 \x3d G__25992;\nchunk__25719_25972 \x3d G__25993;\ncount__25720_25973 \x3d G__25994;\ni__25721_25974 \x3d G__25995;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.pop_matrix();\n\n\nvar G__25996 \x3d cljs.core.next(seq__25037_25962__$1);\nvar G__25997 \x3d null;\nvar G__25998 \x3d (0);\nvar G__25999 \x3d (0);\nseq__25037_25920 \x3d G__25996;\nchunk__25038_25921 \x3d G__25997;\ncount__25039_25922 \x3d G__25998;\ni__25040_25923 \x3d G__25999;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__26000 \x3d seq__25029;\nvar G__26001 \x3d chunk__25034;\nvar G__26002 \x3d count__25035;\nvar G__26003 \x3d (i__25036 + (1));\nseq__25029 \x3d G__26000;\nchunk__25034 \x3d G__26001;\ncount__25035 \x3d G__26002;\ni__25036 \x3d G__26003;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25029);\nif(temp__5804__auto__){\nvar seq__25029__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25029__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25029__$1);\nvar G__26004 \x3d cljs.core.chunk_rest(seq__25029__$1);\nvar G__26005 \x3d c__5568__auto__;\nvar G__26006 \x3d cljs.core.count(c__5568__auto__);\nvar G__26007 \x3d (0);\nseq__25029 \x3d G__26004;\nchunk__25034 \x3d G__26005;\ncount__25035 \x3d G__26006;\ni__25036 \x3d G__26007;\ncontinue;\n} else {\nvar grid_y \x3d cljs.core.first(seq__25029__$1);\nvar seq__25030_26008 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_3_01.tile_count_x));\nvar chunk__25031_26009 \x3d null;\nvar count__25032_26010 \x3d (0);\nvar i__25033_26011 \x3d (0);\nwhile(true){\nif((i__25033_26011 \x3c count__25032_26010)){\nvar grid_x_26012 \x3d chunk__25031_26009.cljs$core$IIndexed$_nth$arity$2(null,i__25033_26011);\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((tile_width * grid_x_26012),(tile_height * grid_y));\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$2((1),(tile_height / tile_width));\n\nvar G__25732_26013 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(4)) | (0));\nswitch (G__25732_26013) {\ncase (0):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.HALF_PI));\n\nbreak;\ncase (1):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((0));\n\nbreak;\ncase (2):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase (3):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25732_26013)].join(\x27\x27)));\n\n}\n\nvar seq__25733_26015 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),circle_count));\nvar chunk__25734_26016 \x3d null;\nvar count__25735_26017 \x3d (0);\nvar i__25736_26018 \x3d (0);\nwhile(true){\nif((i__25736_26018 \x3c count__25735_26017)){\nvar i_26019 \x3d chunk__25734_26016.cljs$core$IIndexed$_nth$arity$2(null,i__25736_26018);\nvar diameter_26020 \x3d quil.core.map_range(i_26019,(0),circle_count,tile_width,end_size);\nvar offset_26021 \x3d quil.core.map_range(i_26019,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_26021,(0),diameter_26020,diameter_26020);\n\n\nvar G__26022 \x3d seq__25733_26015;\nvar G__26023 \x3d chunk__25734_26016;\nvar G__26024 \x3d count__25735_26017;\nvar G__26025 \x3d (i__25736_26018 + (1));\nseq__25733_26015 \x3d G__26022;\nchunk__25734_26016 \x3d G__26023;\ncount__25735_26017 \x3d G__26024;\ni__25736_26018 \x3d G__26025;\ncontinue;\n} else {\nvar temp__5804__auto___26026__$1 \x3d cljs.core.seq(seq__25733_26015);\nif(temp__5804__auto___26026__$1){\nvar seq__25733_26028__$1 \x3d temp__5804__auto___26026__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25733_26028__$1)){\nvar c__5568__auto___26029 \x3d cljs.core.chunk_first(seq__25733_26028__$1);\nvar G__26030 \x3d cljs.core.chunk_rest(seq__25733_26028__$1);\nvar G__26031 \x3d c__5568__auto___26029;\nvar G__26032 \x3d cljs.core.count(c__5568__auto___26029);\nvar G__26033 \x3d (0);\nseq__25733_26015 \x3d G__26030;\nchunk__25734_26016 \x3d G__26031;\ncount__25735_26017 \x3d G__26032;\ni__25736_26018 \x3d G__26033;\ncontinue;\n} else {\nvar i_26034 \x3d cljs.core.first(seq__25733_26028__$1);\nvar diameter_26036 \x3d quil.core.map_range(i_26034,(0),circle_count,tile_width,end_size);\nvar offset_26037 \x3d quil.core.map_range(i_26034,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_26037,(0),diameter_26036,diameter_26036);\n\n\nvar G__26038 \x3d cljs.core.next(seq__25733_26028__$1);\nvar G__26039 \x3d null;\nvar G__26040 \x3d (0);\nvar G__26041 \x3d (0);\nseq__25733_26015 \x3d G__26038;\nchunk__25734_26016 \x3d G__26039;\ncount__25735_26017 \x3d G__26040;\ni__25736_26018 \x3d G__26041;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.pop_matrix();\n\n\nvar G__26042 \x3d seq__25030_26008;\nvar G__26043 \x3d chunk__25031_26009;\nvar G__26044 \x3d count__25032_26010;\nvar G__26045 \x3d (i__25033_26011 + (1));\nseq__25030_26008 \x3d G__26042;\nchunk__25031_26009 \x3d G__26043;\ncount__25032_26010 \x3d G__26044;\ni__25033_26011 \x3d G__26045;\ncontinue;\n} else {\nvar temp__5804__auto___26046__$1 \x3d cljs.core.seq(seq__25030_26008);\nif(temp__5804__auto___26046__$1){\nvar seq__25030_26047__$1 \x3d temp__5804__auto___26046__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25030_26047__$1)){\nvar c__5568__auto___26048 \x3d cljs.core.chunk_first(seq__25030_26047__$1);\nvar G__26049 \x3d cljs.core.chunk_rest(seq__25030_26047__$1);\nvar G__26050 \x3d c__5568__auto___26048;\nvar G__26051 \x3d cljs.core.count(c__5568__auto___26048);\nvar G__26052 \x3d (0);\nseq__25030_26008 \x3d G__26049;\nchunk__25031_26009 \x3d G__26050;\ncount__25032_26010 \x3d G__26051;\ni__25033_26011 \x3d G__26052;\ncontinue;\n} else {\nvar grid_x_26053 \x3d cljs.core.first(seq__25030_26047__$1);\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((tile_width * grid_x_26053),(tile_height * grid_y));\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$2((1),(tile_height / tile_width));\n\nvar G__25737_26054 \x3d (quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(4)) | (0));\nswitch (G__25737_26054) {\ncase (0):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.HALF_PI));\n\nbreak;\ncase (1):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((0));\n\nbreak;\ncase (2):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase (3):\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__25737_26054)].join(\x27\x27)));\n\n}\n\nvar seq__25738_26056 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),circle_count));\nvar chunk__25739_26057 \x3d null;\nvar count__25740_26058 \x3d (0);\nvar i__25741_26059 \x3d (0);\nwhile(true){\nif((i__25741_26059 \x3c count__25740_26058)){\nvar i_26060 \x3d chunk__25739_26057.cljs$core$IIndexed$_nth$arity$2(null,i__25741_26059);\nvar diameter_26061 \x3d quil.core.map_range(i_26060,(0),circle_count,tile_width,end_size);\nvar offset_26062 \x3d quil.core.map_range(i_26060,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_26062,(0),diameter_26061,diameter_26061);\n\n\nvar G__26063 \x3d seq__25738_26056;\nvar G__26064 \x3d chunk__25739_26057;\nvar G__26065 \x3d count__25740_26058;\nvar G__26066 \x3d (i__25741_26059 + (1));\nseq__25738_26056 \x3d G__26063;\nchunk__25739_26057 \x3d G__26064;\ncount__25740_26058 \x3d G__26065;\ni__25741_26059 \x3d G__26066;\ncontinue;\n} else {\nvar temp__5804__auto___26067__$2 \x3d cljs.core.seq(seq__25738_26056);\nif(temp__5804__auto___26067__$2){\nvar seq__25738_26068__$1 \x3d temp__5804__auto___26067__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__25738_26068__$1)){\nvar c__5568__auto___26069 \x3d cljs.core.chunk_first(seq__25738_26068__$1);\nvar G__26070 \x3d cljs.core.chunk_rest(seq__25738_26068__$1);\nvar G__26071 \x3d c__5568__auto___26069;\nvar G__26072 \x3d cljs.core.count(c__5568__auto___26069);\nvar G__26073 \x3d (0);\nseq__25738_26056 \x3d G__26070;\nchunk__25739_26057 \x3d G__26071;\ncount__25740_26058 \x3d G__26072;\ni__25741_26059 \x3d G__26073;\ncontinue;\n} else {\nvar i_26074 \x3d cljs.core.first(seq__25738_26068__$1);\nvar diameter_26075 \x3d quil.core.map_range(i_26074,(0),circle_count,tile_width,end_size);\nvar offset_26076 \x3d quil.core.map_range(i_26074,(0),circle_count,(0),end_offset);\nquil.core.ellipse(offset_26076,(0),diameter_26075,diameter_26075);\n\n\nvar G__26081 \x3d cljs.core.next(seq__25738_26068__$1);\nvar G__26082 \x3d null;\nvar G__26083 \x3d (0);\nvar G__26084 \x3d (0);\nseq__25738_26056 \x3d G__26081;\nchunk__25739_26057 \x3d G__26082;\ncount__25740_26058 \x3d G__26083;\ni__25741_26059 \x3d G__26084;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.pop_matrix();\n\n\nvar G__26085 \x3d cljs.core.next(seq__25030_26047__$1);\nvar G__26086 \x3d null;\nvar G__26087 \x3d (0);\nvar G__26088 \x3d (0);\nseq__25030_26008 \x3d G__26085;\nchunk__25031_26009 \x3d G__26086;\ncount__25032_26010 \x3d G__26087;\ni__25033_26011 \x3d G__26088;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__26089 \x3d cljs.core.next(seq__25029__$1);\nvar G__26090 \x3d null;\nvar G__26091 \x3d (0);\nvar G__26092 \x3d (0);\nseq__25029 \x3d G__26089;\nchunk__25034 \x3d G__26090;\ncount__25035 \x3d G__26091;\ni__25036 \x3d G__26092;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_1_3_01.run \x3d (function sketches$generative_desgin$P_02$P_2_1_3_01$run(host){\nsketches.generative_desgin.P_02.P_2_1_3_01.complex_modules_in_grid \x3d (function sketches$generative_desgin$P_02$P_2_1_3_01$run_$_complex_modules_in_grid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26093__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26093 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26094__i \x3d 0, G__26094__a \x3d new Array(arguments.length - 0);\nwhile (G__26094__i \x3c G__26094__a.length) {G__26094__a[G__26094__i] \x3d arguments[G__26094__i + 0]; ++G__26094__i;}\n args \x3d new cljs.core.IndexedSeq(G__26094__a,0,null);\n} \nreturn G__26093__delegate.call(this,args);};\nG__26093.cljs$lang$maxFixedArity \x3d 0;\nG__26093.cljs$lang$applyTo \x3d (function (arglist__26095){\nvar args \x3d cljs.core.seq(arglist__26095);\nreturn G__26093__delegate(args);\n});\nG__26093.cljs$core$IFn$_invoke$arity$variadic \x3d G__26093__delegate;\nreturn G__26093;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_3_01.update_state))?(function() { \nvar G__26096__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_3_01.update_state,args);\n};\nvar G__26096 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26097__i \x3d 0, G__26097__a \x3d new Array(arguments.length - 0);\nwhile (G__26097__i \x3c G__26097__a.length) {G__26097__a[G__26097__i] \x3d arguments[G__26097__i + 0]; ++G__26097__i;}\n args \x3d new cljs.core.IndexedSeq(G__26097__a,0,null);\n} \nreturn G__26096__delegate.call(this,args);};\nG__26096.cljs$lang$maxFixedArity \x3d 0;\nG__26096.cljs$lang$applyTo \x3d (function (arglist__26098){\nvar args \x3d cljs.core.seq(arglist__26098);\nreturn G__26096__delegate(args);\n});\nG__26096.cljs$core$IFn$_invoke$arity$variadic \x3d G__26096__delegate;\nreturn G__26096;\n})()\n:sketches.generative_desgin.P_02.P_2_1_3_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_3_01.setup))?(function() { \nvar G__26099__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_3_01.setup,args);\n};\nvar G__26099 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26100__i \x3d 0, G__26100__a \x3d new Array(arguments.length - 0);\nwhile (G__26100__i \x3c G__26100__a.length) {G__26100__a[G__26100__i] \x3d arguments[G__26100__i + 0]; ++G__26100__i;}\n args \x3d new cljs.core.IndexedSeq(G__26100__a,0,null);\n} \nreturn G__26099__delegate.call(this,args);};\nG__26099.cljs$lang$maxFixedArity \x3d 0;\nG__26099.cljs$lang$applyTo \x3d (function (arglist__26101){\nvar args \x3d cljs.core.seq(arglist__26101);\nreturn G__26099__delegate(args);\n});\nG__26099.cljs$core$IFn$_invoke$arity$variadic \x3d G__26099__delegate;\nreturn G__26099;\n})()\n:sketches.generative_desgin.P_02.P_2_1_3_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_3_01.draw))?(function() { \nvar G__26102__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_3_01.draw,args);\n};\nvar G__26102 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26103__i \x3d 0, G__26103__a \x3d new Array(arguments.length - 0);\nwhile (G__26103__i \x3c G__26103__a.length) {G__26103__a[G__26103__i] \x3d arguments[G__26103__i + 0]; ++G__26103__i;}\n args \x3d new cljs.core.IndexedSeq(G__26103__a,0,null);\n} \nreturn G__26102__delegate.call(this,args);};\nG__26102.cljs$lang$maxFixedArity \x3d 0;\nG__26102.cljs$lang$applyTo \x3d (function (arglist__26104){\nvar args \x3d cljs.core.seq(arglist__26104);\nreturn G__26102__delegate(args);\n});\nG__26102.cljs$core$IFn$_invoke$arity$variadic \x3d G__26102__delegate;\nreturn G__26102;\n})()\n:sketches.generative_desgin.P_02.P_2_1_3_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_1_3_01.complex_modules_in_grid\x27, sketches.generative_desgin.P_02.P_2_1_3_01.complex_modules_in_grid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_1_3_01.complex_modules_in_grid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26105__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26105 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26107__i \x3d 0, G__26107__a \x3d new Array(arguments.length - 0);\nwhile (G__26107__i \x3c G__26107__a.length) {G__26107__a[G__26107__i] \x3d arguments[G__26107__i + 0]; ++G__26107__i;}\n args \x3d new cljs.core.IndexedSeq(G__26107__a,0,null);\n} \nreturn G__26105__delegate.call(this,args);};\nG__26105.cljs$lang$maxFixedArity \x3d 0;\nG__26105.cljs$lang$applyTo \x3d (function (arglist__26108){\nvar args \x3d cljs.core.seq(arglist__26108);\nreturn G__26105__delegate(args);\n});\nG__26105.cljs$core$IFn$_invoke$arity$variadic \x3d G__26105__delegate;\nreturn G__26105;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_1_4_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_1_4_01\x27);\nsketches.generative_desgin.P_02.P_2_1_4_01.cols \x3d (18);\nsketches.generative_desgin.P_02.P_2_1_4_01.rows \x3d (9);\nsketches.generative_desgin.P_02.P_2_1_4_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$setup(host){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),quil.core.load_image(\x22images/shape.jpg\x22),new cljs.core.Keyword(null,\x22check-boxes\x22,\x22check-boxes\x22,-1634994632),(function (){var host_element \x3d document.getElementById(host);\nvar div \x3d document.createElement(\x22div\x22);\nhost_element.firstElementChild.remove();\n\n(div.id \x3d \x22mirror\x22);\n\nhost_element.appendChild(div);\n\nreturn cljs.core.flatten((function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625(s__25626){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25626__$1 \x3d s__25626;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25626__$1);\nif(temp__5804__auto__){\nvar s__25626__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25626__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25626__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25628 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25627 \x3d (0);\nwhile(true){\nif((i__25627 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__25627);\ncljs.core.chunk_append(b__25628,(function (){var checkboxes \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (i__25627,y,c__5521__auto__,size__5522__auto__,b__25628,s__25626__$2,temp__5804__auto__,host_element,div){\nreturn (function sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25633(s__25634){\nreturn (new cljs.core.LazySeq(null,((function (i__25627,y,c__5521__auto__,size__5522__auto__,b__25628,s__25626__$2,temp__5804__auto__,host_element,div){\nreturn (function (){\nvar s__25634__$1 \x3d s__25634;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__25634__$1);\nif(temp__5804__auto____$1){\nvar s__25634__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__25634__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__25634__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__25636 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__25635 \x3d (0);\nwhile(true){\nif((i__25635 \x3c size__5522__auto____$1)){\nvar x \x3d cljs.core._nth(c__5521__auto____$1,i__25635);\ncljs.core.chunk_append(b__25636,(function (){var check_box \x3d document.createElement(\x22input\x22);\n(check_box.type \x3d \x22checkbox\x22);\n\n(check_box.style.display \x3d \x22inline\x22);\n\ndiv.appendChild(check_box);\n\nreturn check_box;\n})());\n\nvar G__26119 \x3d (i__25635 + (1));\ni__25635 \x3d G__26119;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25636),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25633(cljs.core.chunk_rest(s__25634__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25636),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__25634__$2);\nreturn cljs.core.cons((function (){var check_box \x3d document.createElement(\x22input\x22);\n(check_box.type \x3d \x22checkbox\x22);\n\n(check_box.style.display \x3d \x22inline\x22);\n\ndiv.appendChild(check_box);\n\nreturn check_box;\n})(),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25633(cljs.core.rest(s__25634__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__25627,y,c__5521__auto__,size__5522__auto__,b__25628,s__25626__$2,temp__5804__auto__,host_element,div))\n,null,null));\n});})(i__25627,y,c__5521__auto__,size__5522__auto__,b__25628,s__25626__$2,temp__5804__auto__,host_element,div))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n})());\nvar span_26120 \x3d document.createElement(\x22span\x22);\n(span_26120.innerHTML \x3d \x22\x3cbr/\x3e\x22);\n\ndiv.appendChild(span_26120);\n\nreturn checkboxes;\n})());\n\nvar G__26124 \x3d (i__25627 + (1));\ni__25627 \x3d G__26124;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25628),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625(cljs.core.chunk_rest(s__25626__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25628),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__25626__$2);\nreturn cljs.core.cons((function (){var checkboxes \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (y,s__25626__$2,temp__5804__auto__,host_element,div){\nreturn (function sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25646(s__25647){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25647__$1 \x3d s__25647;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__25647__$1);\nif(temp__5804__auto____$1){\nvar s__25647__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__25647__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25647__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25649 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25648 \x3d (0);\nwhile(true){\nif((i__25648 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__25648);\ncljs.core.chunk_append(b__25649,(function (){var check_box \x3d document.createElement(\x22input\x22);\n(check_box.type \x3d \x22checkbox\x22);\n\n(check_box.style.display \x3d \x22inline\x22);\n\ndiv.appendChild(check_box);\n\nreturn check_box;\n})());\n\nvar G__26132 \x3d (i__25648 + (1));\ni__25648 \x3d G__26132;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25649),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25646(cljs.core.chunk_rest(s__25647__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25649),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__25647__$2);\nreturn cljs.core.cons((function (){var check_box \x3d document.createElement(\x22input\x22);\n(check_box.type \x3d \x22checkbox\x22);\n\n(check_box.style.display \x3d \x22inline\x22);\n\ndiv.appendChild(check_box);\n\nreturn check_box;\n})(),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625_$_iter__25646(cljs.core.rest(s__25647__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(y,s__25626__$2,temp__5804__auto__,host_element,div))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n})());\nvar span_26135 \x3d document.createElement(\x22span\x22);\n(span_26135.innerHTML \x3d \x22\x3cbr/\x3e\x22);\n\ndiv.appendChild(span_26135);\n\nreturn checkboxes;\n})(),sketches$generative_desgin$P_02$P_2_1_4_01$setup_$_iter__25625(cljs.core.rest(s__25626__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_1_4_01.rows));\n})());\n})()], null);\n});\nsketches.generative_desgin.P_02.P_2_1_4_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_02.P_2_1_4_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$draw(p__25660){\nvar map__25661 \x3d p__25660;\nvar map__25661__$1 \x3d cljs.core.__destructure_map(map__25661);\nvar image \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25661__$1,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096));\nvar check_boxes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25661__$1,new cljs.core.Keyword(null,\x22check-boxes\x22,\x22check-boxes\x22,-1634994632));\nif(cljs.core.truth_(quil.core.loaded_QMARK_(image))){\nvar seq__25662 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),image.height));\nvar chunk__25667 \x3d null;\nvar count__25668 \x3d (0);\nvar i__25669 \x3d (0);\nwhile(true){\nif((i__25669 \x3c count__25668)){\nvar y \x3d chunk__25667.cljs$core$IIndexed$_nth$arity$2(null,i__25669);\nvar seq__25670_26136 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),image.width));\nvar chunk__25671_26137 \x3d null;\nvar count__25672_26138 \x3d (0);\nvar i__25673_26139 \x3d (0);\nwhile(true){\nif((i__25673_26139 \x3c count__25672_26138)){\nvar x_26140 \x3d chunk__25671_26137.cljs$core$IIndexed$_nth$arity$2(null,i__25673_26139);\nvar c_26141 \x3d quil.core.color.cljs$core$IFn$_invoke$arity$1(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3(image,x_26140,y));\nvar bright_26142 \x3d (((quil.core.red(c_26141) + quil.core.green(c_26141)) + quil.core.blue(c_26141)) / (3));\nvar threshold_26143 \x3d (100);\nvar check_index_26144 \x3d (x_26140 + (y * sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(check_boxes,check_index_26144).checked \x3d (bright_26142 \x3e threshold_26143));\n\n\nvar G__26145 \x3d seq__25670_26136;\nvar G__26146 \x3d chunk__25671_26137;\nvar G__26147 \x3d count__25672_26138;\nvar G__26148 \x3d (i__25673_26139 + (1));\nseq__25670_26136 \x3d G__26145;\nchunk__25671_26137 \x3d G__26146;\ncount__25672_26138 \x3d G__26147;\ni__25673_26139 \x3d G__26148;\ncontinue;\n} else {\nvar temp__5804__auto___26153 \x3d cljs.core.seq(seq__25670_26136);\nif(temp__5804__auto___26153){\nvar seq__25670_26154__$1 \x3d temp__5804__auto___26153;\nif(cljs.core.chunked_seq_QMARK_(seq__25670_26154__$1)){\nvar c__5568__auto___26155 \x3d cljs.core.chunk_first(seq__25670_26154__$1);\nvar G__26156 \x3d cljs.core.chunk_rest(seq__25670_26154__$1);\nvar G__26157 \x3d c__5568__auto___26155;\nvar G__26158 \x3d cljs.core.count(c__5568__auto___26155);\nvar G__26159 \x3d (0);\nseq__25670_26136 \x3d G__26156;\nchunk__25671_26137 \x3d G__26157;\ncount__25672_26138 \x3d G__26158;\ni__25673_26139 \x3d G__26159;\ncontinue;\n} else {\nvar x_26160 \x3d cljs.core.first(seq__25670_26154__$1);\nvar c_26161 \x3d quil.core.color.cljs$core$IFn$_invoke$arity$1(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3(image,x_26160,y));\nvar bright_26162 \x3d (((quil.core.red(c_26161) + quil.core.green(c_26161)) + quil.core.blue(c_26161)) / (3));\nvar threshold_26163 \x3d (100);\nvar check_index_26164 \x3d (x_26160 + (y * sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(check_boxes,check_index_26164).checked \x3d (bright_26162 \x3e threshold_26163));\n\n\nvar G__26165 \x3d cljs.core.next(seq__25670_26154__$1);\nvar G__26166 \x3d null;\nvar G__26167 \x3d (0);\nvar G__26168 \x3d (0);\nseq__25670_26136 \x3d G__26165;\nchunk__25671_26137 \x3d G__26166;\ncount__25672_26138 \x3d G__26167;\ni__25673_26139 \x3d G__26168;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__26169 \x3d seq__25662;\nvar G__26170 \x3d chunk__25667;\nvar G__26171 \x3d count__25668;\nvar G__26172 \x3d (i__25669 + (1));\nseq__25662 \x3d G__26169;\nchunk__25667 \x3d G__26170;\ncount__25668 \x3d G__26171;\ni__25669 \x3d G__26172;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25662);\nif(temp__5804__auto__){\nvar seq__25662__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25662__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25662__$1);\nvar G__26175 \x3d cljs.core.chunk_rest(seq__25662__$1);\nvar G__26176 \x3d c__5568__auto__;\nvar G__26177 \x3d cljs.core.count(c__5568__auto__);\nvar G__26178 \x3d (0);\nseq__25662 \x3d G__26175;\nchunk__25667 \x3d G__26176;\ncount__25668 \x3d G__26177;\ni__25669 \x3d G__26178;\ncontinue;\n} else {\nvar y \x3d cljs.core.first(seq__25662__$1);\nvar seq__25663_26179 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),image.width));\nvar chunk__25664_26180 \x3d null;\nvar count__25665_26181 \x3d (0);\nvar i__25666_26182 \x3d (0);\nwhile(true){\nif((i__25666_26182 \x3c count__25665_26181)){\nvar x_26183 \x3d chunk__25664_26180.cljs$core$IIndexed$_nth$arity$2(null,i__25666_26182);\nvar c_26184 \x3d quil.core.color.cljs$core$IFn$_invoke$arity$1(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3(image,x_26183,y));\nvar bright_26185 \x3d (((quil.core.red(c_26184) + quil.core.green(c_26184)) + quil.core.blue(c_26184)) / (3));\nvar threshold_26186 \x3d (100);\nvar check_index_26187 \x3d (x_26183 + (y * sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(check_boxes,check_index_26187).checked \x3d (bright_26185 \x3e threshold_26186));\n\n\nvar G__26188 \x3d seq__25663_26179;\nvar G__26189 \x3d chunk__25664_26180;\nvar G__26190 \x3d count__25665_26181;\nvar G__26191 \x3d (i__25666_26182 + (1));\nseq__25663_26179 \x3d G__26188;\nchunk__25664_26180 \x3d G__26189;\ncount__25665_26181 \x3d G__26190;\ni__25666_26182 \x3d G__26191;\ncontinue;\n} else {\nvar temp__5804__auto___26192__$1 \x3d cljs.core.seq(seq__25663_26179);\nif(temp__5804__auto___26192__$1){\nvar seq__25663_26193__$1 \x3d temp__5804__auto___26192__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__25663_26193__$1)){\nvar c__5568__auto___26194 \x3d cljs.core.chunk_first(seq__25663_26193__$1);\nvar G__26195 \x3d cljs.core.chunk_rest(seq__25663_26193__$1);\nvar G__26196 \x3d c__5568__auto___26194;\nvar G__26197 \x3d cljs.core.count(c__5568__auto___26194);\nvar G__26198 \x3d (0);\nseq__25663_26179 \x3d G__26195;\nchunk__25664_26180 \x3d G__26196;\ncount__25665_26181 \x3d G__26197;\ni__25666_26182 \x3d G__26198;\ncontinue;\n} else {\nvar x_26200 \x3d cljs.core.first(seq__25663_26193__$1);\nvar c_26201 \x3d quil.core.color.cljs$core$IFn$_invoke$arity$1(quil.core.get_pixel.cljs$core$IFn$_invoke$arity$3(image,x_26200,y));\nvar bright_26202 \x3d (((quil.core.red(c_26201) + quil.core.green(c_26201)) + quil.core.blue(c_26201)) / (3));\nvar threshold_26204 \x3d (100);\nvar check_index_26205 \x3d (x_26200 + (y * sketches.generative_desgin.P_02.P_2_1_4_01.cols));\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(check_boxes,check_index_26205).checked \x3d (bright_26202 \x3e threshold_26204));\n\n\nvar G__26206 \x3d cljs.core.next(seq__25663_26193__$1);\nvar G__26207 \x3d null;\nvar G__26208 \x3d (0);\nvar G__26209 \x3d (0);\nseq__25663_26179 \x3d G__26206;\nchunk__25664_26180 \x3d G__26207;\ncount__25665_26181 \x3d G__26208;\ni__25666_26182 \x3d G__26209;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__26210 \x3d cljs.core.next(seq__25662__$1);\nvar G__26211 \x3d null;\nvar G__26212 \x3d (0);\nvar G__26213 \x3d (0);\nseq__25662 \x3d G__26210;\nchunk__25667 \x3d G__26211;\ncount__25668 \x3d G__26212;\ni__25669 \x3d G__26213;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nsketches.generative_desgin.P_02.P_2_1_4_01.run \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$run(host){\nsketches.generative_desgin.P_02.P_2_1_4_01.checkboxes_grid \x3d (function sketches$generative_desgin$P_02$P_2_1_4_01$run_$_checkboxes_grid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26214__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26214 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26215__i \x3d 0, G__26215__a \x3d new Array(arguments.length - 0);\nwhile (G__26215__i \x3c G__26215__a.length) {G__26215__a[G__26215__i] \x3d arguments[G__26215__i + 0]; ++G__26215__i;}\n args \x3d new cljs.core.IndexedSeq(G__26215__a,0,null);\n} \nreturn G__26214__delegate.call(this,args);};\nG__26214.cljs$lang$maxFixedArity \x3d 0;\nG__26214.cljs$lang$applyTo \x3d (function (arglist__26216){\nvar args \x3d cljs.core.seq(arglist__26216);\nreturn G__26214__delegate(args);\n});\nG__26214.cljs$core$IFn$_invoke$arity$variadic \x3d G__26214__delegate;\nreturn G__26214;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_4_01.update_state))?(function() { \nvar G__26217__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_4_01.update_state,args);\n};\nvar G__26217 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26218__i \x3d 0, G__26218__a \x3d new Array(arguments.length - 0);\nwhile (G__26218__i \x3c G__26218__a.length) {G__26218__a[G__26218__i] \x3d arguments[G__26218__i + 0]; ++G__26218__i;}\n args \x3d new cljs.core.IndexedSeq(G__26218__a,0,null);\n} \nreturn G__26217__delegate.call(this,args);};\nG__26217.cljs$lang$maxFixedArity \x3d 0;\nG__26217.cljs$lang$applyTo \x3d (function (arglist__26219){\nvar args \x3d cljs.core.seq(arglist__26219);\nreturn G__26217__delegate(args);\n});\nG__26217.cljs$core$IFn$_invoke$arity$variadic \x3d G__26217__delegate;\nreturn G__26217;\n})()\n:sketches.generative_desgin.P_02.P_2_1_4_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),(function (){\nreturn sketches.generative_desgin.P_02.P_2_1_4_01.setup(host);\n}),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_4_01.draw))?(function() { \nvar G__26220__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_4_01.draw,args);\n};\nvar G__26220 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26221__i \x3d 0, G__26221__a \x3d new Array(arguments.length - 0);\nwhile (G__26221__i \x3c G__26221__a.length) {G__26221__a[G__26221__i] \x3d arguments[G__26221__i + 0]; ++G__26221__i;}\n args \x3d new cljs.core.IndexedSeq(G__26221__a,0,null);\n} \nreturn G__26220__delegate.call(this,args);};\nG__26220.cljs$lang$maxFixedArity \x3d 0;\nG__26220.cljs$lang$applyTo \x3d (function (arglist__26222){\nvar args \x3d cljs.core.seq(arglist__26222);\nreturn G__26220__delegate(args);\n});\nG__26220.cljs$core$IFn$_invoke$arity$variadic \x3d G__26220__delegate;\nreturn G__26220;\n})()\n:sketches.generative_desgin.P_02.P_2_1_4_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_1_4_01.checkboxes_grid\x27, sketches.generative_desgin.P_02.P_2_1_4_01.checkboxes_grid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_1_4_01.checkboxes_grid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26223__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26223 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26224__i \x3d 0, G__26224__a \x3d new Array(arguments.length - 0);\nwhile (G__26224__i \x3c G__26224__a.length) {G__26224__a[G__26224__i] \x3d arguments[G__26224__i + 0]; ++G__26224__i;}\n args \x3d new cljs.core.IndexedSeq(G__26224__a,0,null);\n} \nreturn G__26223__delegate.call(this,args);};\nG__26223.cljs$lang$maxFixedArity \x3d 0;\nG__26223.cljs$lang$applyTo \x3d (function (arglist__26225){\nvar args \x3d cljs.core.seq(arglist__26225);\nreturn G__26223__delegate(args);\n});\nG__26223.cljs$core$IFn$_invoke$arity$variadic \x3d G__26223__delegate;\nreturn G__26223;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_1_5_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_1_5_01\x27);\nsketches.generative_desgin.P_02.P_2_1_5_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$setup(){\nquil.core.no_fill();\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22draw-mode\x22,\x22draw-mode\x22,-1830018794),(1)], null);\n});\nsketches.generative_desgin.P_02.P_2_1_5_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_02.P_2_1_5_01.overlay \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$overlay(draw_mode){\nvar w \x3d (quil.core.width() - (100));\nvar h \x3d (quil.core.height() - (100));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(draw_mode,(1))){\nvar seq__25629 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3(((- w) / (2)),(w / (2)),(5)));\nvar chunk__25630 \x3d null;\nvar count__25631 \x3d (0);\nvar i__25632 \x3d (0);\nwhile(true){\nif((i__25632 \x3c count__25631)){\nvar i \x3d chunk__25630.cljs$core$IIndexed$_nth$arity$2(null,i__25632);\nquil.core.line.cljs$core$IFn$_invoke$arity$4(i,((- h) / (2)),i,(h / (2)));\n\n\nvar G__25674 \x3d seq__25629;\nvar G__25675 \x3d chunk__25630;\nvar G__25676 \x3d count__25631;\nvar G__25677 \x3d (i__25632 + (1));\nseq__25629 \x3d G__25674;\nchunk__25630 \x3d G__25675;\ncount__25631 \x3d G__25676;\ni__25632 \x3d G__25677;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25629);\nif(temp__5804__auto__){\nvar seq__25629__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25629__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25629__$1);\nvar G__25678 \x3d cljs.core.chunk_rest(seq__25629__$1);\nvar G__25679 \x3d c__5568__auto__;\nvar G__25680 \x3d cljs.core.count(c__5568__auto__);\nvar G__25681 \x3d (0);\nseq__25629 \x3d G__25678;\nchunk__25630 \x3d G__25679;\ncount__25631 \x3d G__25680;\ni__25632 \x3d G__25681;\ncontinue;\n} else {\nvar i \x3d cljs.core.first(seq__25629__$1);\nquil.core.line.cljs$core$IFn$_invoke$arity$4(i,((- h) / (2)),i,(h / (2)));\n\n\nvar G__25682 \x3d cljs.core.next(seq__25629__$1);\nvar G__25683 \x3d null;\nvar G__25684 \x3d (0);\nvar G__25685 \x3d (0);\nseq__25629 \x3d G__25682;\nchunk__25630 \x3d G__25683;\ncount__25631 \x3d G__25684;\ni__25632 \x3d G__25685;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nvar seq__25638 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),w,(10)));\nvar chunk__25639 \x3d null;\nvar count__25640 \x3d (0);\nvar i__25641 \x3d (0);\nwhile(true){\nif((i__25641 \x3c count__25640)){\nvar i \x3d chunk__25639.cljs$core$IIndexed$_nth$arity$2(null,i__25641);\nquil.core.ellipse((0),(0),i,i);\n\n\nvar G__25686 \x3d seq__25638;\nvar G__25687 \x3d chunk__25639;\nvar G__25688 \x3d count__25640;\nvar G__25689 \x3d (i__25641 + (1));\nseq__25638 \x3d G__25686;\nchunk__25639 \x3d G__25687;\ncount__25640 \x3d G__25688;\ni__25641 \x3d G__25689;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25638);\nif(temp__5804__auto__){\nvar seq__25638__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25638__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25638__$1);\nvar G__25690 \x3d cljs.core.chunk_rest(seq__25638__$1);\nvar G__25691 \x3d c__5568__auto__;\nvar G__25692 \x3d cljs.core.count(c__5568__auto__);\nvar G__25693 \x3d (0);\nseq__25638 \x3d G__25690;\nchunk__25639 \x3d G__25691;\ncount__25640 \x3d G__25692;\ni__25641 \x3d G__25693;\ncontinue;\n} else {\nvar i \x3d cljs.core.first(seq__25638__$1);\nquil.core.ellipse((0),(0),i,i);\n\n\nvar G__25694 \x3d cljs.core.next(seq__25638__$1);\nvar G__25695 \x3d null;\nvar G__25696 \x3d (0);\nvar G__25697 \x3d (0);\nseq__25638 \x3d G__25694;\nchunk__25639 \x3d G__25695;\ncount__25640 \x3d G__25696;\ni__25641 \x3d G__25697;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}\n});\nsketches.generative_desgin.P_02.P_2_1_5_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$draw(p__25655){\nvar map__25656 \x3d p__25655;\nvar map__25656__$1 \x3d cljs.core.__destructure_map(map__25656);\nvar draw_mode \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25656__$1,new cljs.core.Keyword(null,\x22draw-mode\x22,\x22draw-mode\x22,-1830018794));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nquil.core.stroke_weight((3));\n\nsketches.generative_desgin.P_02.P_2_1_5_01.overlay(draw_mode);\n\nvar x \x3d quil.core.map_range(quil.core.mouse_x(),(0),quil.core.width(),(-50),(50));\nvar a \x3d quil.core.map_range(quil.core.mouse_x(),(0),quil.core.width(),-0.5,0.5);\nvar s \x3d quil.core.map_range(quil.core.mouse_y(),(0),quil.core.height(),0.7,(1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(draw_mode,(1))){\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,(0));\n}\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$1(s);\n\nquil.core.stroke_weight((2));\n\nreturn sketches.generative_desgin.P_02.P_2_1_5_01.overlay(draw_mode);\n});\nsketches.generative_desgin.P_02.P_2_1_5_01.key_pressed \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$key_pressed(state,p__25657){\nvar map__25658 \x3d p__25657;\nvar map__25658__$1 \x3d cljs.core.__destructure_map(map__25658);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25658__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar G__25659 \x3d key;\nvar G__25659__$1 \x3d (((G__25659 instanceof cljs.core.Keyword))?G__25659.fqn:null);\nswitch (G__25659__$1) {\ncase \x221\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22draw-mode\x22,\x22draw-mode\x22,-1830018794),(1));\n\nbreak;\ncase \x222\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22draw-mode\x22,\x22draw-mode\x22,-1830018794),(2));\n\nbreak;\ndefault:\nreturn state;\n\n}\n});\nsketches.generative_desgin.P_02.P_2_1_5_01.run \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$run(host){\nsketches.generative_desgin.P_02.P_2_1_5_01.moire_in_a_grid \x3d (function sketches$generative_desgin$P_02$P_2_1_5_01$run_$_moire_in_a_grid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25699__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25699 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25700__i \x3d 0, G__25700__a \x3d new Array(arguments.length - 0);\nwhile (G__25700__i \x3c G__25700__a.length) {G__25700__a[G__25700__i] \x3d arguments[G__25700__i + 0]; ++G__25700__i;}\n args \x3d new cljs.core.IndexedSeq(G__25700__a,0,null);\n} \nreturn G__25699__delegate.call(this,args);};\nG__25699.cljs$lang$maxFixedArity \x3d 0;\nG__25699.cljs$lang$applyTo \x3d (function (arglist__25701){\nvar args \x3d cljs.core.seq(arglist__25701);\nreturn G__25699__delegate(args);\n});\nG__25699.cljs$core$IFn$_invoke$arity$variadic \x3d G__25699__delegate;\nreturn G__25699;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_5_01.update_state))?(function() { \nvar G__25702__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_5_01.update_state,args);\n};\nvar G__25702 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25703__i \x3d 0, G__25703__a \x3d new Array(arguments.length - 0);\nwhile (G__25703__i \x3c G__25703__a.length) {G__25703__a[G__25703__i] \x3d arguments[G__25703__i + 0]; ++G__25703__i;}\n args \x3d new cljs.core.IndexedSeq(G__25703__a,0,null);\n} \nreturn G__25702__delegate.call(this,args);};\nG__25702.cljs$lang$maxFixedArity \x3d 0;\nG__25702.cljs$lang$applyTo \x3d (function (arglist__25704){\nvar args \x3d cljs.core.seq(arglist__25704);\nreturn G__25702__delegate(args);\n});\nG__25702.cljs$core$IFn$_invoke$arity$variadic \x3d G__25702__delegate;\nreturn G__25702;\n})()\n:sketches.generative_desgin.P_02.P_2_1_5_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_5_01.setup))?(function() { \nvar G__25705__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_5_01.setup,args);\n};\nvar G__25705 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25706__i \x3d 0, G__25706__a \x3d new Array(arguments.length - 0);\nwhile (G__25706__i \x3c G__25706__a.length) {G__25706__a[G__25706__i] \x3d arguments[G__25706__i + 0]; ++G__25706__i;}\n args \x3d new cljs.core.IndexedSeq(G__25706__a,0,null);\n} \nreturn G__25705__delegate.call(this,args);};\nG__25705.cljs$lang$maxFixedArity \x3d 0;\nG__25705.cljs$lang$applyTo \x3d (function (arglist__25707){\nvar args \x3d cljs.core.seq(arglist__25707);\nreturn G__25705__delegate(args);\n});\nG__25705.cljs$core$IFn$_invoke$arity$variadic \x3d G__25705__delegate;\nreturn G__25705;\n})()\n:sketches.generative_desgin.P_02.P_2_1_5_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_5_01.key_pressed))?(function() { \nvar G__25708__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_5_01.key_pressed,args);\n};\nvar G__25708 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25709__i \x3d 0, G__25709__a \x3d new Array(arguments.length - 0);\nwhile (G__25709__i \x3c G__25709__a.length) {G__25709__a[G__25709__i] \x3d arguments[G__25709__i + 0]; ++G__25709__i;}\n args \x3d new cljs.core.IndexedSeq(G__25709__a,0,null);\n} \nreturn G__25708__delegate.call(this,args);};\nG__25708.cljs$lang$maxFixedArity \x3d 0;\nG__25708.cljs$lang$applyTo \x3d (function (arglist__25710){\nvar args \x3d cljs.core.seq(arglist__25710);\nreturn G__25708__delegate(args);\n});\nG__25708.cljs$core$IFn$_invoke$arity$variadic \x3d G__25708__delegate;\nreturn G__25708;\n})()\n:sketches.generative_desgin.P_02.P_2_1_5_01.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_1_5_01.draw))?(function() { \nvar G__25711__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_1_5_01.draw,args);\n};\nvar G__25711 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25712__i \x3d 0, G__25712__a \x3d new Array(arguments.length - 0);\nwhile (G__25712__i \x3c G__25712__a.length) {G__25712__a[G__25712__i] \x3d arguments[G__25712__i + 0]; ++G__25712__i;}\n args \x3d new cljs.core.IndexedSeq(G__25712__a,0,null);\n} \nreturn G__25711__delegate.call(this,args);};\nG__25711.cljs$lang$maxFixedArity \x3d 0;\nG__25711.cljs$lang$applyTo \x3d (function (arglist__25713){\nvar args \x3d cljs.core.seq(arglist__25713);\nreturn G__25711__delegate(args);\n});\nG__25711.cljs$core$IFn$_invoke$arity$variadic \x3d G__25711__delegate;\nreturn G__25711;\n})()\n:sketches.generative_desgin.P_02.P_2_1_5_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_1_5_01.moire_in_a_grid\x27, sketches.generative_desgin.P_02.P_2_1_5_01.moire_in_a_grid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_1_5_01.moire_in_a_grid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25714__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25714 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25715__i \x3d 0, G__25715__a \x3d new Array(arguments.length - 0);\nwhile (G__25715__i \x3c G__25715__a.length) {G__25715__a[G__25715__i] \x3d arguments[G__25715__i + 0]; ++G__25715__i;}\n args \x3d new cljs.core.IndexedSeq(G__25715__a,0,null);\n} \nreturn G__25714__delegate.call(this,args);};\nG__25714.cljs$lang$maxFixedArity \x3d 0;\nG__25714.cljs$lang$applyTo \x3d (function (arglist__25716){\nvar args \x3d cljs.core.seq(arglist__25716);\nreturn G__25714__delegate(args);\n});\nG__25714.cljs$core$IFn$_invoke$arity$variadic \x3d G__25714__delegate;\nreturn G__25714;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_2_1_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_2_1_01\x27);\nsketches.generative_desgin.P_02.P_2_2_1_01.north \x3d (0);\nsketches.generative_desgin.P_02.P_2_2_1_01.north_east \x3d (1);\nsketches.generative_desgin.P_02.P_2_2_1_01.east \x3d (2);\nsketches.generative_desgin.P_02.P_2_2_1_01.south_east \x3d (3);\nsketches.generative_desgin.P_02.P_2_2_1_01.south \x3d (4);\nsketches.generative_desgin.P_02.P_2_2_1_01.south_west \x3d (5);\nsketches.generative_desgin.P_02.P_2_2_1_01.west \x3d (6);\nsketches.generative_desgin.P_02.P_2_2_1_01.north_west \x3d (7);\nsketches.generative_desgin.P_02.P_2_2_1_01.step_size \x3d (1);\nsketches.generative_desgin.P_02.P_2_2_1_01.diameter \x3d (1);\nsketches.generative_desgin.P_02.P_2_2_1_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$setup(){\nquil.core.no_stroke();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(40));\n\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),(quil.core.width() / (2)),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),(quil.core.height() / (2))], null)], null);\n});\nsketches.generative_desgin.P_02.P_2_2_1_01.update_pos \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$update_pos(pos){\nvar direction \x3d cljs.core.rand_int((8));\nvar map__25742 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.north))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.north_east))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.east))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.south_east))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.south))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.south_west))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._PLUS_,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.west))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(direction,sketches.generative_desgin.P_02.P_2_2_1_01.north_west))?cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(pos,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),cljs.core._,sketches.generative_desgin.P_02.P_2_2_1_01.step_size):null))))))));\nvar map__25742__$1 \x3d cljs.core.__destructure_map(map__25742);\nvar pos_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25742__$1,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422));\nvar pos_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25742__$1,new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996));\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422),(((pos_x \x3e quil.core.width()))?(0):(((pos_x \x3c (0)))?quil.core.width():pos_x\n)),new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996),(((pos_y \x3e quil.core.height()))?(0):(((pos_y \x3c (0)))?quil.core.height():pos_y\n))], null);\n});\nsketches.generative_desgin.P_02.P_2_2_1_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$update_state(state){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_x(),cljs.core.iterate(sketches.generative_desgin.P_02.P_2_2_1_01.update_pos,cljs.core.last(state)));\n});\nsketches.generative_desgin.P_02.P_2_2_1_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$draw(state){\nvar seq__25743 \x3d cljs.core.seq(state);\nvar chunk__25744 \x3d null;\nvar count__25745 \x3d (0);\nvar i__25746 \x3d (0);\nwhile(true){\nif((i__25746 \x3c count__25745)){\nvar map__25764 \x3d chunk__25744.cljs$core$IIndexed$_nth$arity$2(null,i__25746);\nvar map__25764__$1 \x3d cljs.core.__destructure_map(map__25764);\nvar pos_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25764__$1,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422));\nvar pos_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25764__$1,new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996));\nquil.core.ellipse((pos_x + (sketches.generative_desgin.P_02.P_2_2_1_01.step_size / (2))),(pos_y + (sketches.generative_desgin.P_02.P_2_2_1_01.step_size / (2))),sketches.generative_desgin.P_02.P_2_2_1_01.diameter,sketches.generative_desgin.P_02.P_2_2_1_01.diameter);\n\n\nvar G__25811 \x3d seq__25743;\nvar G__25812 \x3d chunk__25744;\nvar G__25813 \x3d count__25745;\nvar G__25814 \x3d (i__25746 + (1));\nseq__25743 \x3d G__25811;\nchunk__25744 \x3d G__25812;\ncount__25745 \x3d G__25813;\ni__25746 \x3d G__25814;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25743);\nif(temp__5804__auto__){\nvar seq__25743__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25743__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25743__$1);\nvar G__25816 \x3d cljs.core.chunk_rest(seq__25743__$1);\nvar G__25817 \x3d c__5568__auto__;\nvar G__25818 \x3d cljs.core.count(c__5568__auto__);\nvar G__25819 \x3d (0);\nseq__25743 \x3d G__25816;\nchunk__25744 \x3d G__25817;\ncount__25745 \x3d G__25818;\ni__25746 \x3d G__25819;\ncontinue;\n} else {\nvar map__25792 \x3d cljs.core.first(seq__25743__$1);\nvar map__25792__$1 \x3d cljs.core.__destructure_map(map__25792);\nvar pos_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25792__$1,new cljs.core.Keyword(null,\x22pos-x\x22,\x22pos-x\x22,398349422));\nvar pos_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25792__$1,new cljs.core.Keyword(null,\x22pos-y\x22,\x22pos-y\x22,992315996));\nquil.core.ellipse((pos_x + (sketches.generative_desgin.P_02.P_2_2_1_01.step_size / (2))),(pos_y + (sketches.generative_desgin.P_02.P_2_2_1_01.step_size / (2))),sketches.generative_desgin.P_02.P_2_2_1_01.diameter,sketches.generative_desgin.P_02.P_2_2_1_01.diameter);\n\n\nvar G__25820 \x3d cljs.core.next(seq__25743__$1);\nvar G__25821 \x3d null;\nvar G__25822 \x3d (0);\nvar G__25823 \x3d (0);\nseq__25743 \x3d G__25820;\nchunk__25744 \x3d G__25821;\ncount__25745 \x3d G__25822;\ni__25746 \x3d G__25823;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_2_1_01.run \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$run(host){\nsketches.generative_desgin.P_02.P_2_2_1_01.dumb_agents \x3d (function sketches$generative_desgin$P_02$P_2_2_1_01$run_$_dumb_agents(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25853__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25853 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25856__i \x3d 0, G__25856__a \x3d new Array(arguments.length - 0);\nwhile (G__25856__i \x3c G__25856__a.length) {G__25856__a[G__25856__i] \x3d arguments[G__25856__i + 0]; ++G__25856__i;}\n args \x3d new cljs.core.IndexedSeq(G__25856__a,0,null);\n} \nreturn G__25853__delegate.call(this,args);};\nG__25853.cljs$lang$maxFixedArity \x3d 0;\nG__25853.cljs$lang$applyTo \x3d (function (arglist__25857){\nvar args \x3d cljs.core.seq(arglist__25857);\nreturn G__25853__delegate(args);\n});\nG__25853.cljs$core$IFn$_invoke$arity$variadic \x3d G__25853__delegate;\nreturn G__25853;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_1_01.update_state))?(function() { \nvar G__25858__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_1_01.update_state,args);\n};\nvar G__25858 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25859__i \x3d 0, G__25859__a \x3d new Array(arguments.length - 0);\nwhile (G__25859__i \x3c G__25859__a.length) {G__25859__a[G__25859__i] \x3d arguments[G__25859__i + 0]; ++G__25859__i;}\n args \x3d new cljs.core.IndexedSeq(G__25859__a,0,null);\n} \nreturn G__25858__delegate.call(this,args);};\nG__25858.cljs$lang$maxFixedArity \x3d 0;\nG__25858.cljs$lang$applyTo \x3d (function (arglist__25860){\nvar args \x3d cljs.core.seq(arglist__25860);\nreturn G__25858__delegate(args);\n});\nG__25858.cljs$core$IFn$_invoke$arity$variadic \x3d G__25858__delegate;\nreturn G__25858;\n})()\n:sketches.generative_desgin.P_02.P_2_2_1_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_1_01.setup))?(function() { \nvar G__25861__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_1_01.setup,args);\n};\nvar G__25861 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25862__i \x3d 0, G__25862__a \x3d new Array(arguments.length - 0);\nwhile (G__25862__i \x3c G__25862__a.length) {G__25862__a[G__25862__i] \x3d arguments[G__25862__i + 0]; ++G__25862__i;}\n args \x3d new cljs.core.IndexedSeq(G__25862__a,0,null);\n} \nreturn G__25861__delegate.call(this,args);};\nG__25861.cljs$lang$maxFixedArity \x3d 0;\nG__25861.cljs$lang$applyTo \x3d (function (arglist__25863){\nvar args \x3d cljs.core.seq(arglist__25863);\nreturn G__25861__delegate(args);\n});\nG__25861.cljs$core$IFn$_invoke$arity$variadic \x3d G__25861__delegate;\nreturn G__25861;\n})()\n:sketches.generative_desgin.P_02.P_2_2_1_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_1_01.draw))?(function() { \nvar G__25864__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_1_01.draw,args);\n};\nvar G__25864 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25865__i \x3d 0, G__25865__a \x3d new Array(arguments.length - 0);\nwhile (G__25865__i \x3c G__25865__a.length) {G__25865__a[G__25865__i] \x3d arguments[G__25865__i + 0]; ++G__25865__i;}\n args \x3d new cljs.core.IndexedSeq(G__25865__a,0,null);\n} \nreturn G__25864__delegate.call(this,args);};\nG__25864.cljs$lang$maxFixedArity \x3d 0;\nG__25864.cljs$lang$applyTo \x3d (function (arglist__25866){\nvar args \x3d cljs.core.seq(arglist__25866);\nreturn G__25864__delegate(args);\n});\nG__25864.cljs$core$IFn$_invoke$arity$variadic \x3d G__25864__delegate;\nreturn G__25864;\n})()\n:sketches.generative_desgin.P_02.P_2_2_1_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_2_1_01.dumb_agents\x27, sketches.generative_desgin.P_02.P_2_2_1_01.dumb_agents);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_2_1_01.dumb_agents,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25867__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25867 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25868__i \x3d 0, G__25868__a \x3d new Array(arguments.length - 0);\nwhile (G__25868__i \x3c G__25868__a.length) {G__25868__a[G__25868__i] \x3d arguments[G__25868__i + 0]; ++G__25868__i;}\n args \x3d new cljs.core.IndexedSeq(G__25868__a,0,null);\n} \nreturn G__25867__delegate.call(this,args);};\nG__25867.cljs$lang$maxFixedArity \x3d 0;\nG__25867.cljs$lang$applyTo \x3d (function (arglist__25869){\nvar args \x3d cljs.core.seq(arglist__25869);\nreturn G__25867__delegate(args);\n});\nG__25867.cljs$core$IFn$_invoke$arity$variadic \x3d G__25867__delegate;\nreturn G__25867;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_2_3_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_2_3_01\x27);\nsketches.generative_desgin.P_02.P_2_2_3_01.form_resolution \x3d (15);\nsketches.generative_desgin.P_02.P_2_2_3_01.step_size \x3d (2);\nsketches.generative_desgin.P_02.P_2_2_3_01.distortion_factor \x3d (1);\nsketches.generative_desgin.P_02.P_2_2_3_01.init_radius \x3d (15);\nsketches.generative_desgin.P_02.P_2_2_3_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$setup(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nquil.core.stroke_weight(0.75);\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar angle \x3d quil.core.radians(((360) / sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22center-x\x22,\x22center-x\x22,2109659472),(quil.core.width() / (2)),new cljs.core.Keyword(null,\x22center-y\x22,\x22center-y\x22,-233780987),(quil.core.height() / (2)),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25748(s__25749){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25749__$1 \x3d s__25749;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25749__$1);\nif(temp__5804__auto__){\nvar s__25749__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25749__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25749__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25751 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25750 \x3d (0);\nwhile(true){\nif((i__25750 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__25750);\ncljs.core.chunk_append(b__25751,(quil.core.cos((angle * i)) * sketches.generative_desgin.P_02.P_2_2_3_01.init_radius));\n\nvar G__26370 \x3d (i__25750 + (1));\ni__25750 \x3d G__26370;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25751),sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25748(cljs.core.chunk_rest(s__25749__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25751),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__25749__$2);\nreturn cljs.core.cons((quil.core.cos((angle * i)) * sketches.generative_desgin.P_02.P_2_2_3_01.init_radius),sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25748(cljs.core.rest(s__25749__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n})(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25765(s__25766){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25766__$1 \x3d s__25766;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25766__$1);\nif(temp__5804__auto__){\nvar s__25766__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25766__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25766__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25768 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25767 \x3d (0);\nwhile(true){\nif((i__25767 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__25767);\ncljs.core.chunk_append(b__25768,(quil.core.sin((angle * i)) * sketches.generative_desgin.P_02.P_2_2_3_01.init_radius));\n\nvar G__26374 \x3d (i__25767 + (1));\ni__25767 \x3d G__26374;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25768),sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25765(cljs.core.chunk_rest(s__25766__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25768),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__25766__$2);\nreturn cljs.core.cons((quil.core.sin((angle * i)) * sketches.generative_desgin.P_02.P_2_2_3_01.init_radius),sketches$generative_desgin$P_02$P_2_2_3_01$setup_$_iter__25765(cljs.core.rest(s__25766__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n})()], null);\n});\nsketches.generative_desgin.P_02.P_2_2_3_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22center-x\x22,\x22center-x\x22,2109659472),(function (p1__25883_SHARP_){\nreturn (p1__25883_SHARP_ + ((quil.core.mouse_x() - p1__25883_SHARP_) * 0.01));\n})),new cljs.core.Keyword(null,\x22center-y\x22,\x22center-y\x22,-233780987),(function (p1__25917_SHARP_){\nreturn (p1__25917_SHARP_ + ((quil.core.mouse_y() - p1__25917_SHARP_) * 0.01));\n})),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(function (p1__25918_SHARP_){\nvar iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__25940(s__25941){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__25941__$1 \x3d s__25941;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__25941__$1);\nif(temp__5804__auto__){\nvar s__25941__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__25941__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__25941__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__25943 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__25942 \x3d (0);\nwhile(true){\nif((i__25942 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__25942);\ncljs.core.chunk_append(b__25943,(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__25918_SHARP_,i) + quil.core.random.cljs$core$IFn$_invoke$arity$2((- sketches.generative_desgin.P_02.P_2_2_3_01.step_size),sketches.generative_desgin.P_02.P_2_2_3_01.step_size)));\n\nvar G__26386 \x3d (i__25942 + (1));\ni__25942 \x3d G__26386;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25943),sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__25940(cljs.core.chunk_rest(s__25941__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__25943),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__25941__$2);\nreturn cljs.core.cons((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__25918_SHARP_,i) + quil.core.random.cljs$core$IFn$_invoke$arity$2((- sketches.generative_desgin.P_02.P_2_2_3_01.step_size),sketches.generative_desgin.P_02.P_2_2_3_01.step_size)),sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__25940(cljs.core.rest(s__25941__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n})),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(function (p1__25919_SHARP_){\nvar iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__26077(s__26078){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26078__$1 \x3d s__26078;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__26078__$1);\nif(temp__5804__auto__){\nvar s__26078__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__26078__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26078__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26080 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26079 \x3d (0);\nwhile(true){\nif((i__26079 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__26079);\ncljs.core.chunk_append(b__26080,(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__25919_SHARP_,i) + quil.core.random.cljs$core$IFn$_invoke$arity$2((- sketches.generative_desgin.P_02.P_2_2_3_01.step_size),sketches.generative_desgin.P_02.P_2_2_3_01.step_size)));\n\nvar G__26390 \x3d (i__26079 + (1));\ni__26079 \x3d G__26390;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26080),sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__26077(cljs.core.chunk_rest(s__26078__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26080),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__26078__$2);\nreturn cljs.core.cons((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__25919_SHARP_,i) + quil.core.random.cljs$core$IFn$_invoke$arity$2((- sketches.generative_desgin.P_02.P_2_2_3_01.step_size),sketches.generative_desgin.P_02.P_2_2_3_01.step_size)),sketches$generative_desgin$P_02$P_2_2_3_01$update_state_$_iter__26077(cljs.core.rest(s__26078__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n}));\n});\nsketches.generative_desgin.P_02.P_2_2_3_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$draw(p__26111){\nvar map__26112 \x3d p__26111;\nvar map__26112__$1 \x3d cljs.core.__destructure_map(map__26112);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26112__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26112__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar center_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26112__$1,new cljs.core.Keyword(null,\x22center-x\x22,\x22center-x\x22,2109659472));\nvar center_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26112__$1,new cljs.core.Keyword(null,\x22center-y\x22,\x22center-y\x22,-233780987));\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nquil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,(sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution - (1))) + center_x),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,(sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution - (1))) + center_y));\n\nvar seq__26113_26394 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\nvar chunk__26114_26395 \x3d null;\nvar count__26115_26396 \x3d (0);\nvar i__26116_26397 \x3d (0);\nwhile(true){\nif((i__26116_26397 \x3c count__26115_26396)){\nvar i_26398 \x3d chunk__26114_26395.cljs$core$IIndexed$_nth$arity$2(null,i__26116_26397);\nquil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i_26398) + center_x),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,i_26398) + center_y));\n\n\nvar G__26402 \x3d seq__26113_26394;\nvar G__26403 \x3d chunk__26114_26395;\nvar G__26404 \x3d count__26115_26396;\nvar G__26405 \x3d (i__26116_26397 + (1));\nseq__26113_26394 \x3d G__26402;\nchunk__26114_26395 \x3d G__26403;\ncount__26115_26396 \x3d G__26404;\ni__26116_26397 \x3d G__26405;\ncontinue;\n} else {\nvar temp__5804__auto___26406 \x3d cljs.core.seq(seq__26113_26394);\nif(temp__5804__auto___26406){\nvar seq__26113_26407__$1 \x3d temp__5804__auto___26406;\nif(cljs.core.chunked_seq_QMARK_(seq__26113_26407__$1)){\nvar c__5568__auto___26408 \x3d cljs.core.chunk_first(seq__26113_26407__$1);\nvar G__26409 \x3d cljs.core.chunk_rest(seq__26113_26407__$1);\nvar G__26410 \x3d c__5568__auto___26408;\nvar G__26411 \x3d cljs.core.count(c__5568__auto___26408);\nvar G__26412 \x3d (0);\nseq__26113_26394 \x3d G__26409;\nchunk__26114_26395 \x3d G__26410;\ncount__26115_26396 \x3d G__26411;\ni__26116_26397 \x3d G__26412;\ncontinue;\n} else {\nvar i_26416 \x3d cljs.core.first(seq__26113_26407__$1);\nquil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i_26416) + center_x),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,i_26416) + center_y));\n\n\nvar G__26417 \x3d cljs.core.next(seq__26113_26407__$1);\nvar G__26418 \x3d null;\nvar G__26419 \x3d (0);\nvar G__26420 \x3d (0);\nseq__26113_26394 \x3d G__26417;\nchunk__26114_26395 \x3d G__26418;\ncount__26115_26396 \x3d G__26419;\ni__26116_26397 \x3d G__26420;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,(0)) + center_x),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,(0)) + center_y));\n\nquil.core.curve_vertex.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,(1)) + center_x),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,(1)) + center_y));\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n});\nsketches.generative_desgin.P_02.P_2_2_3_01.mouse_pressed \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed(){\nvar angle \x3d quil.core.radians(((360) / sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\nvar radius \x3d (sketches.generative_desgin.P_02.P_2_2_3_01.init_radius * quil.core.random.cljs$core$IFn$_invoke$arity$2(0.5,(1)));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22center-x\x22,\x22center-x\x22,2109659472),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22center-y\x22,\x22center-y\x22,-233780987),quil.core.mouse_y(),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26128(s__26129){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26129__$1 \x3d s__26129;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__26129__$1);\nif(temp__5804__auto__){\nvar s__26129__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__26129__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26129__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26131 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26130 \x3d (0);\nwhile(true){\nif((i__26130 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__26130);\ncljs.core.chunk_append(b__26131,(quil.core.cos((angle * i)) * radius));\n\nvar G__26480 \x3d (i__26130 + (1));\ni__26130 \x3d G__26480;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26131),sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26128(cljs.core.chunk_rest(s__26129__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26131),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__26129__$2);\nreturn cljs.core.cons((quil.core.cos((angle * i)) * radius),sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26128(cljs.core.rest(s__26129__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n})(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(function (){var iter__5523__auto__ \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26149(s__26150){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26150__$1 \x3d s__26150;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__26150__$1);\nif(temp__5804__auto__){\nvar s__26150__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__26150__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26150__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26152 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26151 \x3d (0);\nwhile(true){\nif((i__26151 \x3c size__5522__auto__)){\nvar i \x3d cljs.core._nth(c__5521__auto__,i__26151);\ncljs.core.chunk_append(b__26152,(quil.core.sin((angle * i)) * radius));\n\nvar G__26501 \x3d (i__26151 + (1));\ni__26151 \x3d G__26501;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26152),sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26149(cljs.core.chunk_rest(s__26150__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26152),null);\n}\n} else {\nvar i \x3d cljs.core.first(s__26150__$2);\nreturn cljs.core.cons((quil.core.sin((angle * i)) * radius),sketches$generative_desgin$P_02$P_2_2_3_01$mouse_pressed_$_iter__26149(cljs.core.rest(s__26150__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),sketches.generative_desgin.P_02.P_2_2_3_01.form_resolution));\n})()], null);\n});\nsketches.generative_desgin.P_02.P_2_2_3_01.run \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$run(host){\nsketches.generative_desgin.P_02.P_2_2_3_01.shapes_from_agent \x3d (function sketches$generative_desgin$P_02$P_2_2_3_01$run_$_shapes_from_agent(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26505__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26505 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26507__i \x3d 0, G__26507__a \x3d new Array(arguments.length - 0);\nwhile (G__26507__i \x3c G__26507__a.length) {G__26507__a[G__26507__i] \x3d arguments[G__26507__i + 0]; ++G__26507__i;}\n args \x3d new cljs.core.IndexedSeq(G__26507__a,0,null);\n} \nreturn G__26505__delegate.call(this,args);};\nG__26505.cljs$lang$maxFixedArity \x3d 0;\nG__26505.cljs$lang$applyTo \x3d (function (arglist__26509){\nvar args \x3d cljs.core.seq(arglist__26509);\nreturn G__26505__delegate(args);\n});\nG__26505.cljs$core$IFn$_invoke$arity$variadic \x3d G__26505__delegate;\nreturn G__26505;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_3_01.update_state))?(function() { \nvar G__26511__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_3_01.update_state,args);\n};\nvar G__26511 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26512__i \x3d 0, G__26512__a \x3d new Array(arguments.length - 0);\nwhile (G__26512__i \x3c G__26512__a.length) {G__26512__a[G__26512__i] \x3d arguments[G__26512__i + 0]; ++G__26512__i;}\n args \x3d new cljs.core.IndexedSeq(G__26512__a,0,null);\n} \nreturn G__26511__delegate.call(this,args);};\nG__26511.cljs$lang$maxFixedArity \x3d 0;\nG__26511.cljs$lang$applyTo \x3d (function (arglist__26513){\nvar args \x3d cljs.core.seq(arglist__26513);\nreturn G__26511__delegate(args);\n});\nG__26511.cljs$core$IFn$_invoke$arity$variadic \x3d G__26511__delegate;\nreturn G__26511;\n})()\n:sketches.generative_desgin.P_02.P_2_2_3_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_3_01.setup))?(function() { \nvar G__26514__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_3_01.setup,args);\n};\nvar G__26514 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26515__i \x3d 0, G__26515__a \x3d new Array(arguments.length - 0);\nwhile (G__26515__i \x3c G__26515__a.length) {G__26515__a[G__26515__i] \x3d arguments[G__26515__i + 0]; ++G__26515__i;}\n args \x3d new cljs.core.IndexedSeq(G__26515__a,0,null);\n} \nreturn G__26514__delegate.call(this,args);};\nG__26514.cljs$lang$maxFixedArity \x3d 0;\nG__26514.cljs$lang$applyTo \x3d (function (arglist__26516){\nvar args \x3d cljs.core.seq(arglist__26516);\nreturn G__26514__delegate(args);\n});\nG__26514.cljs$core$IFn$_invoke$arity$variadic \x3d G__26514__delegate;\nreturn G__26514;\n})()\n:sketches.generative_desgin.P_02.P_2_2_3_01.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_3_01.mouse_pressed))?(function() { \nvar G__26517__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_3_01.mouse_pressed,args);\n};\nvar G__26517 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26518__i \x3d 0, G__26518__a \x3d new Array(arguments.length - 0);\nwhile (G__26518__i \x3c G__26518__a.length) {G__26518__a[G__26518__i] \x3d arguments[G__26518__i + 0]; ++G__26518__i;}\n args \x3d new cljs.core.IndexedSeq(G__26518__a,0,null);\n} \nreturn G__26517__delegate.call(this,args);};\nG__26517.cljs$lang$maxFixedArity \x3d 0;\nG__26517.cljs$lang$applyTo \x3d (function (arglist__26519){\nvar args \x3d cljs.core.seq(arglist__26519);\nreturn G__26517__delegate(args);\n});\nG__26517.cljs$core$IFn$_invoke$arity$variadic \x3d G__26517__delegate;\nreturn G__26517;\n})()\n:sketches.generative_desgin.P_02.P_2_2_3_01.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_3_01.draw))?(function() { \nvar G__26520__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_3_01.draw,args);\n};\nvar G__26520 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26521__i \x3d 0, G__26521__a \x3d new Array(arguments.length - 0);\nwhile (G__26521__i \x3c G__26521__a.length) {G__26521__a[G__26521__i] \x3d arguments[G__26521__i + 0]; ++G__26521__i;}\n args \x3d new cljs.core.IndexedSeq(G__26521__a,0,null);\n} \nreturn G__26520__delegate.call(this,args);};\nG__26520.cljs$lang$maxFixedArity \x3d 0;\nG__26520.cljs$lang$applyTo \x3d (function (arglist__26522){\nvar args \x3d cljs.core.seq(arglist__26522);\nreturn G__26520__delegate(args);\n});\nG__26520.cljs$core$IFn$_invoke$arity$variadic \x3d G__26520__delegate;\nreturn G__26520;\n})()\n:sketches.generative_desgin.P_02.P_2_2_3_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_2_3_01.shapes_from_agent\x27, sketches.generative_desgin.P_02.P_2_2_3_01.shapes_from_agent);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_2_3_01.shapes_from_agent,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26523__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26523 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26524__i \x3d 0, G__26524__a \x3d new Array(arguments.length - 0);\nwhile (G__26524__i \x3c G__26524__a.length) {G__26524__a[G__26524__i] \x3d arguments[G__26524__i + 0]; ++G__26524__i;}\n args \x3d new cljs.core.IndexedSeq(G__26524__a,0,null);\n} \nreturn G__26523__delegate.call(this,args);};\nG__26523.cljs$lang$maxFixedArity \x3d 0;\nG__26523.cljs$lang$applyTo \x3d (function (arglist__26525){\nvar args \x3d cljs.core.seq(arglist__26525);\nreturn G__26523__delegate(args);\n});\nG__26523.cljs$core$IFn$_invoke$arity$variadic \x3d G__26523__delegate;\nreturn G__26523;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_2_4_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_2_4_01\x27);\nsketches.generative_desgin.P_02.P_2_2_4_01.max_count \x3d (500);\nsketches.generative_desgin.P_02.P_2_2_4_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_2_4_01$setup(){\nquil.core.stroke_weight(0.5);\n\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22current-count\x22,\x22current-count\x22,-888348338),(1),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2))], null),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.height() / (2))], null),new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(10)], null)], null);\n});\nsketches.generative_desgin.P_02.P_2_2_4_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_2_4_01$update_state(p__25752){\nvar map__25754 \x3d p__25752;\nvar map__25754__$1 \x3d cljs.core.__destructure_map(map__25754);\nvar current_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25754__$1,new cljs.core.Keyword(null,\x22current-count\x22,\x22current-count\x22,-888348338));\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25754__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25754__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar r \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25754__$1,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190));\nif((current_count \x3e\x3d sketches.generative_desgin.P_02.P_2_2_4_01.max_count)){\nquil.core.no_loop();\n} else {\n}\n\nvar new_r \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2((1),(7));\nvar new_x \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2(new_r,(quil.core.width() - new_r));\nvar new_y \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2(new_r,(quil.core.height() - new_r));\nvar vec__25756 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__25759,i){\nvar vec__25760 \x3d p__25759;\nvar closest_dist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25760,(0),null);\nvar j \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25760,(1),null);\nvar new_dist \x3d quil.core.dist.cljs$core$IFn$_invoke$arity$4(new_x,new_y,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,i));\nif((new_dist \x3c closest_dist)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_dist,i], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [closest_dist,j], null);\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [Number.MAX_VALUE,(0)], null),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),current_count));\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25756,(0),null);\nvar closest_i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25756,(1),null);\nvar angle \x3d quil.core.atan2((new_y - cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,closest_i)),(new_x - cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,closest_i)));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.cons((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,closest_i) + (quil.core.cos(angle) * (cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,closest_i) + new_r))),x),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),cljs.core.cons((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,closest_i) + (quil.core.sin(angle) * (cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,closest_i) + new_r))),y),new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),cljs.core.cons(new_r,r),new cljs.core.Keyword(null,\x22current-count\x22,\x22current-count\x22,-888348338),(current_count + (1))], null);\n});\nsketches.generative_desgin.P_02.P_2_2_4_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_2_4_01$draw(p__25770){\nvar map__25771 \x3d p__25770;\nvar map__25771__$1 \x3d cljs.core.__destructure_map(map__25771);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25771__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25771__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar r \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25771__$1,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190));\nvar current_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25771__$1,new cljs.core.Keyword(null,\x22current-count\x22,\x22current-count\x22,-888348338));\nquil.core.clear();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((50));\n\nvar seq__25772 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),current_count));\nvar chunk__25773 \x3d null;\nvar count__25774 \x3d (0);\nvar i__25775 \x3d (0);\nwhile(true){\nif((i__25775 \x3c count__25774)){\nvar i \x3d chunk__25773.cljs$core$IIndexed$_nth$arity$2(null,i__25775);\nquil.core.ellipse(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,i),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,i) * (2)),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,i) * (2)));\n\n\nvar G__25890 \x3d seq__25772;\nvar G__25891 \x3d chunk__25773;\nvar G__25892 \x3d count__25774;\nvar G__25893 \x3d (i__25775 + (1));\nseq__25772 \x3d G__25890;\nchunk__25773 \x3d G__25891;\ncount__25774 \x3d G__25892;\ni__25775 \x3d G__25893;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25772);\nif(temp__5804__auto__){\nvar seq__25772__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25772__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25772__$1);\nvar G__25894 \x3d cljs.core.chunk_rest(seq__25772__$1);\nvar G__25895 \x3d c__5568__auto__;\nvar G__25896 \x3d cljs.core.count(c__5568__auto__);\nvar G__25897 \x3d (0);\nseq__25772 \x3d G__25894;\nchunk__25773 \x3d G__25895;\ncount__25774 \x3d G__25896;\ni__25775 \x3d G__25897;\ncontinue;\n} else {\nvar i \x3d cljs.core.first(seq__25772__$1);\nquil.core.ellipse(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(y,i),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,i) * (2)),(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(r,i) * (2)));\n\n\nvar G__25898 \x3d cljs.core.next(seq__25772__$1);\nvar G__25899 \x3d null;\nvar G__25900 \x3d (0);\nvar G__25901 \x3d (0);\nseq__25772 \x3d G__25898;\nchunk__25773 \x3d G__25899;\ncount__25774 \x3d G__25900;\ni__25775 \x3d G__25901;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_2_4_01.run \x3d (function sketches$generative_desgin$P_02$P_2_2_4_01$run(host){\nsketches.generative_desgin.P_02.P_2_2_4_01.growth_structure_from_agents \x3d (function sketches$generative_desgin$P_02$P_2_2_4_01$run_$_growth_structure_from_agents(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25902__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25902 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25903__i \x3d 0, G__25903__a \x3d new Array(arguments.length - 0);\nwhile (G__25903__i \x3c G__25903__a.length) {G__25903__a[G__25903__i] \x3d arguments[G__25903__i + 0]; ++G__25903__i;}\n args \x3d new cljs.core.IndexedSeq(G__25903__a,0,null);\n} \nreturn G__25902__delegate.call(this,args);};\nG__25902.cljs$lang$maxFixedArity \x3d 0;\nG__25902.cljs$lang$applyTo \x3d (function (arglist__25904){\nvar args \x3d cljs.core.seq(arglist__25904);\nreturn G__25902__delegate(args);\n});\nG__25902.cljs$core$IFn$_invoke$arity$variadic \x3d G__25902__delegate;\nreturn G__25902;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_4_01.update_state))?(function() { \nvar G__25905__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_4_01.update_state,args);\n};\nvar G__25905 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25906__i \x3d 0, G__25906__a \x3d new Array(arguments.length - 0);\nwhile (G__25906__i \x3c G__25906__a.length) {G__25906__a[G__25906__i] \x3d arguments[G__25906__i + 0]; ++G__25906__i;}\n args \x3d new cljs.core.IndexedSeq(G__25906__a,0,null);\n} \nreturn G__25905__delegate.call(this,args);};\nG__25905.cljs$lang$maxFixedArity \x3d 0;\nG__25905.cljs$lang$applyTo \x3d (function (arglist__25907){\nvar args \x3d cljs.core.seq(arglist__25907);\nreturn G__25905__delegate(args);\n});\nG__25905.cljs$core$IFn$_invoke$arity$variadic \x3d G__25905__delegate;\nreturn G__25905;\n})()\n:sketches.generative_desgin.P_02.P_2_2_4_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_4_01.setup))?(function() { \nvar G__25908__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_4_01.setup,args);\n};\nvar G__25908 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25909__i \x3d 0, G__25909__a \x3d new Array(arguments.length - 0);\nwhile (G__25909__i \x3c G__25909__a.length) {G__25909__a[G__25909__i] \x3d arguments[G__25909__i + 0]; ++G__25909__i;}\n args \x3d new cljs.core.IndexedSeq(G__25909__a,0,null);\n} \nreturn G__25908__delegate.call(this,args);};\nG__25908.cljs$lang$maxFixedArity \x3d 0;\nG__25908.cljs$lang$applyTo \x3d (function (arglist__25910){\nvar args \x3d cljs.core.seq(arglist__25910);\nreturn G__25908__delegate(args);\n});\nG__25908.cljs$core$IFn$_invoke$arity$variadic \x3d G__25908__delegate;\nreturn G__25908;\n})()\n:sketches.generative_desgin.P_02.P_2_2_4_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_4_01.draw))?(function() { \nvar G__25911__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_4_01.draw,args);\n};\nvar G__25911 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25912__i \x3d 0, G__25912__a \x3d new Array(arguments.length - 0);\nwhile (G__25912__i \x3c G__25912__a.length) {G__25912__a[G__25912__i] \x3d arguments[G__25912__i + 0]; ++G__25912__i;}\n args \x3d new cljs.core.IndexedSeq(G__25912__a,0,null);\n} \nreturn G__25911__delegate.call(this,args);};\nG__25911.cljs$lang$maxFixedArity \x3d 0;\nG__25911.cljs$lang$applyTo \x3d (function (arglist__25913){\nvar args \x3d cljs.core.seq(arglist__25913);\nreturn G__25911__delegate(args);\n});\nG__25911.cljs$core$IFn$_invoke$arity$variadic \x3d G__25911__delegate;\nreturn G__25911;\n})()\n:sketches.generative_desgin.P_02.P_2_2_4_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_2_4_01.growth_structure_from_agents\x27, sketches.generative_desgin.P_02.P_2_2_4_01.growth_structure_from_agents);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_2_4_01.growth_structure_from_agents,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25914__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25914 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25915__i \x3d 0, G__25915__a \x3d new Array(arguments.length - 0);\nwhile (G__25915__i \x3c G__25915__a.length) {G__25915__a[G__25915__i] \x3d arguments[G__25915__i + 0]; ++G__25915__i;}\n args \x3d new cljs.core.IndexedSeq(G__25915__a,0,null);\n} \nreturn G__25914__delegate.call(this,args);};\nG__25914.cljs$lang$maxFixedArity \x3d 0;\nG__25914.cljs$lang$applyTo \x3d (function (arglist__25916){\nvar args \x3d cljs.core.seq(arglist__25916);\nreturn G__25914__delegate(args);\n});\nG__25914.cljs$core$IFn$_invoke$arity$variadic \x3d G__25914__delegate;\nreturn G__25914;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_2_5_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_2_5_01\x27);\nsketches.generative_desgin.P_02.P_2_2_5_01.min_radius \x3d (3);\nsketches.generative_desgin.P_02.P_2_2_5_01.max_radius \x3d (30);\nsketches.generative_desgin.P_02.P_2_2_5_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_2_5_01$setup(){\nquil.core.no_fill();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22circles\x22,\x22circles\x22,-1947060917),cljs.core.PersistentVector.EMPTY], null);\n});\nsketches.generative_desgin.P_02.P_2_2_5_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_2_5_01$update_state(p__25753){\nvar map__25755 \x3d p__25753;\nvar map__25755__$1 \x3d cljs.core.__destructure_map(map__25755);\nvar state \x3d map__25755__$1;\nvar circles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25755__$1,new cljs.core.Keyword(null,\x22circles\x22,\x22circles\x22,-1947060917));\nvar new_x \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.width());\nvar new_y \x3d quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.height());\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22circles\x22,\x22circles\x22,-1947060917),(function (){var new_r \x3d sketches.generative_desgin.P_02.P_2_2_5_01.max_radius;\nwhile(true){\nif((new_r \x3e sketches.generative_desgin.P_02.P_2_2_5_01.min_radius)){\nvar overlapping_QMARK_ \x3d cljs.core.some(((function (new_r,new_x,new_y,map__25755,map__25755__$1,state,circles){\nreturn (function (p__25780){\nvar vec__25781 \x3d p__25780;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25781,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25781,(1),null);\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25781,(2),null);\nreturn (quil.core.dist.cljs$core$IFn$_invoke$arity$4(new_x,new_y,x,y) \x3c (r + new_r));\n});})(new_r,new_x,new_y,map__25755,map__25755__$1,state,circles))\n,circles);\nif(cljs.core.truth_(overlapping_QMARK_)){\nvar G__25815 \x3d (new_r - (1));\nnew_r \x3d G__25815;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(circles,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_x,new_y,new_r], null));\n}\n} else {\nreturn circles;\n}\nbreak;\n}\n})());\n});\nsketches.generative_desgin.P_02.P_2_2_5_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_2_5_01$draw(p__25793){\nvar map__25794 \x3d p__25793;\nvar map__25794__$1 \x3d cljs.core.__destructure_map(map__25794);\nvar circles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25794__$1,new cljs.core.Keyword(null,\x22circles\x22,\x22circles\x22,-1947060917));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__25795 \x3d cljs.core.seq(circles);\nvar chunk__25796 \x3d null;\nvar count__25797 \x3d (0);\nvar i__25798 \x3d (0);\nwhile(true){\nif((i__25798 \x3c count__25797)){\nvar vec__25805 \x3d chunk__25796.cljs$core$IIndexed$_nth$arity$2(null,i__25798);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25805,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25805,(1),null);\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25805,(2),null);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.stroke_weight(1.5);\n\nquil.core.ellipse(x,y,((2) * r),((2) * r));\n\n\nvar G__25824 \x3d seq__25795;\nvar G__25825 \x3d chunk__25796;\nvar G__25826 \x3d count__25797;\nvar G__25827 \x3d (i__25798 + (1));\nseq__25795 \x3d G__25824;\nchunk__25796 \x3d G__25825;\ncount__25797 \x3d G__25826;\ni__25798 \x3d G__25827;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25795);\nif(temp__5804__auto__){\nvar seq__25795__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25795__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25795__$1);\nvar G__25828 \x3d cljs.core.chunk_rest(seq__25795__$1);\nvar G__25829 \x3d c__5568__auto__;\nvar G__25830 \x3d cljs.core.count(c__5568__auto__);\nvar G__25831 \x3d (0);\nseq__25795 \x3d G__25828;\nchunk__25796 \x3d G__25829;\ncount__25797 \x3d G__25830;\ni__25798 \x3d G__25831;\ncontinue;\n} else {\nvar vec__25808 \x3d cljs.core.first(seq__25795__$1);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25808,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25808,(1),null);\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25808,(2),null);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.stroke_weight(1.5);\n\nquil.core.ellipse(x,y,((2) * r),((2) * r));\n\n\nvar G__25832 \x3d cljs.core.next(seq__25795__$1);\nvar G__25833 \x3d null;\nvar G__25834 \x3d (0);\nvar G__25835 \x3d (0);\nseq__25795 \x3d G__25832;\nchunk__25796 \x3d G__25833;\ncount__25797 \x3d G__25834;\ni__25798 \x3d G__25835;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_2_5_01.run \x3d (function sketches$generative_desgin$P_02$P_2_2_5_01$run(host){\nsketches.generative_desgin.P_02.P_2_2_5_01.structural_density_from_agents \x3d (function sketches$generative_desgin$P_02$P_2_2_5_01$run_$_structural_density_from_agents(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25836__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25836 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25837__i \x3d 0, G__25837__a \x3d new Array(arguments.length - 0);\nwhile (G__25837__i \x3c G__25837__a.length) {G__25837__a[G__25837__i] \x3d arguments[G__25837__i + 0]; ++G__25837__i;}\n args \x3d new cljs.core.IndexedSeq(G__25837__a,0,null);\n} \nreturn G__25836__delegate.call(this,args);};\nG__25836.cljs$lang$maxFixedArity \x3d 0;\nG__25836.cljs$lang$applyTo \x3d (function (arglist__25838){\nvar args \x3d cljs.core.seq(arglist__25838);\nreturn G__25836__delegate(args);\n});\nG__25836.cljs$core$IFn$_invoke$arity$variadic \x3d G__25836__delegate;\nreturn G__25836;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_5_01.update_state))?(function() { \nvar G__25839__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_5_01.update_state,args);\n};\nvar G__25839 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25840__i \x3d 0, G__25840__a \x3d new Array(arguments.length - 0);\nwhile (G__25840__i \x3c G__25840__a.length) {G__25840__a[G__25840__i] \x3d arguments[G__25840__i + 0]; ++G__25840__i;}\n args \x3d new cljs.core.IndexedSeq(G__25840__a,0,null);\n} \nreturn G__25839__delegate.call(this,args);};\nG__25839.cljs$lang$maxFixedArity \x3d 0;\nG__25839.cljs$lang$applyTo \x3d (function (arglist__25841){\nvar args \x3d cljs.core.seq(arglist__25841);\nreturn G__25839__delegate(args);\n});\nG__25839.cljs$core$IFn$_invoke$arity$variadic \x3d G__25839__delegate;\nreturn G__25839;\n})()\n:sketches.generative_desgin.P_02.P_2_2_5_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_5_01.setup))?(function() { \nvar G__25842__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_5_01.setup,args);\n};\nvar G__25842 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25844__i \x3d 0, G__25844__a \x3d new Array(arguments.length - 0);\nwhile (G__25844__i \x3c G__25844__a.length) {G__25844__a[G__25844__i] \x3d arguments[G__25844__i + 0]; ++G__25844__i;}\n args \x3d new cljs.core.IndexedSeq(G__25844__a,0,null);\n} \nreturn G__25842__delegate.call(this,args);};\nG__25842.cljs$lang$maxFixedArity \x3d 0;\nG__25842.cljs$lang$applyTo \x3d (function (arglist__25845){\nvar args \x3d cljs.core.seq(arglist__25845);\nreturn G__25842__delegate(args);\n});\nG__25842.cljs$core$IFn$_invoke$arity$variadic \x3d G__25842__delegate;\nreturn G__25842;\n})()\n:sketches.generative_desgin.P_02.P_2_2_5_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_5_01.draw))?(function() { \nvar G__25846__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_5_01.draw,args);\n};\nvar G__25846 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25850__i \x3d 0, G__25850__a \x3d new Array(arguments.length - 0);\nwhile (G__25850__i \x3c G__25850__a.length) {G__25850__a[G__25850__i] \x3d arguments[G__25850__i + 0]; ++G__25850__i;}\n args \x3d new cljs.core.IndexedSeq(G__25850__a,0,null);\n} \nreturn G__25846__delegate.call(this,args);};\nG__25846.cljs$lang$maxFixedArity \x3d 0;\nG__25846.cljs$lang$applyTo \x3d (function (arglist__25851){\nvar args \x3d cljs.core.seq(arglist__25851);\nreturn G__25846__delegate(args);\n});\nG__25846.cljs$core$IFn$_invoke$arity$variadic \x3d G__25846__delegate;\nreturn G__25846;\n})()\n:sketches.generative_desgin.P_02.P_2_2_5_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_2_5_01.structural_density_from_agents\x27, sketches.generative_desgin.P_02.P_2_2_5_01.structural_density_from_agents);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_2_5_01.structural_density_from_agents,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__25852__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__25852 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25854__i \x3d 0, G__25854__a \x3d new Array(arguments.length - 0);\nwhile (G__25854__i \x3c G__25854__a.length) {G__25854__a[G__25854__i] \x3d arguments[G__25854__i + 0]; ++G__25854__i;}\n args \x3d new cljs.core.IndexedSeq(G__25854__a,0,null);\n} \nreturn G__25852__delegate.call(this,args);};\nG__25852.cljs$lang$maxFixedArity \x3d 0;\nG__25852.cljs$lang$applyTo \x3d (function (arglist__25855){\nvar args \x3d cljs.core.seq(arglist__25855);\nreturn G__25852__delegate(args);\n});\nG__25852.cljs$core$IFn$_invoke$arity$variadic \x3d G__25852__delegate;\nreturn G__25852;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.vector.js", true , "goog.provide(\x27sketches.vector\x27);\nsketches.vector.add \x3d (function sketches$vector$add(var_args){\nvar G__25779 \x3d arguments.length;\nswitch (G__25779) {\ncase 1:\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___25886 \x3d arguments.length;\nvar i__5770__auto___25887 \x3d (0);\nwhile(true){\nif((i__5770__auto___25887 \x3c len__5769__auto___25886)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___25887]));\n\nvar G__25888 \x3d (i__5770__auto___25887 + (1));\ni__5770__auto___25887 \x3d G__25888;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(sketches.vector.add.cljs$core$IFn$_invoke$arity$1 \x3d (function (v){\nreturn v;\n}));\n\n(sketches.vector.add.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__25784,p__25785){\nvar vec__25786 \x3d p__25784;\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25786,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25786,(1),null);\nvar vec__25789 \x3d p__25785;\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25789,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25789,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x1 + x2),(y1 + y2)], null);\n}));\n\n(sketches.vector.add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v1,v2,vs){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sketches.vector.add,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(v1,v2),vs);\n}));\n\n/** @this {Function} */\n(sketches.vector.add.cljs$lang$applyTo \x3d (function (seq25776){\nvar G__25777 \x3d cljs.core.first(seq25776);\nvar seq25776__$1 \x3d cljs.core.next(seq25776);\nvar G__25778 \x3d cljs.core.first(seq25776__$1);\nvar seq25776__$2 \x3d cljs.core.next(seq25776__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__25777,G__25778,seq25776__$2);\n}));\n\n(sketches.vector.add.cljs$lang$maxFixedArity \x3d (2));\n\nsketches.vector.sub \x3d (function sketches$vector$sub(v1,v2){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(cljs.core.first(v1) - cljs.core.first(v2)),(cljs.core.second(v1) - cljs.core.second(v2))],null));\n});\nsketches.vector.mult \x3d (function sketches$vector$mult(v1,n){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(cljs.core.first(v1) * n),(cljs.core.second(v1) * n)],null));\n});\nsketches.vector.div \x3d (function sketches$vector$div(p__25843,n){\nvar vec__25847 \x3d p__25843;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25847,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25847,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,(0))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,0.0)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[x,y],null));\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(x / n),(y / n)],null));\n}\n});\nsketches.vector.mag \x3d (function sketches$vector$mag(p__25870){\nvar vec__25871 \x3d p__25870;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25871,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25871,(1),null);\nreturn Math.sqrt(((x * x) + (y * y)));\n});\nsketches.vector.normalize \x3d (function sketches$vector$normalize(v){\nvar m \x3d sketches.vector.mag(v);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(m,0.0)))){\nreturn sketches.vector.div(v,m);\n} else {\nreturn v;\n}\n});\nsketches.vector.limit \x3d (function sketches$vector$limit(p__25874,top){\nvar vec__25875 \x3d p__25874;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25875,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25875,(1),null);\nif((sketches.vector.mag(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null)) \x3e top)){\nreturn sketches.vector.mult(sketches.vector.normalize(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null)),top);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);\n}\n});\nsketches.vector.rotate \x3d (function sketches$vector$rotate(p__25878,angle){\nvar vec__25879 \x3d p__25878;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25879,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25879,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((Math.cos(angle) * x) - (Math.sin(angle) * y)),((Math.sin(angle) * x) + (Math.cos(angle) * y))], null);\n});\nsketches.vector.from_angle \x3d (function sketches$vector$from_angle(var_args){\nvar G__25884 \x3d arguments.length;\nswitch (G__25884) {\ncase 1:\nreturn sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$1 \x3d (function (angle){\nreturn sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$2(angle,(1));\n}));\n\n(sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$2 \x3d (function (angle,length){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(length * Math.cos(angle)),(length * Math.sin(angle))], null);\n}));\n\n(sketches.vector.from_angle.cljs$lang$maxFixedArity \x3d 2);\n\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_2_6_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_2_6_01\x27);\nsketches.generative_desgin.P_02.P_2_2_6_01.max_angle \x3d (360);\nsketches.generative_desgin.P_02.P_2_2_6_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$setup(){\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$5(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031),(360),(100),(100),(100));\n\nquil.core.no_fill();\n\nquil.core.stroke_weight((1));\n\nvar joints \x3d (5);\nvar speed_relation \x3d (2);\nvar center \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null);\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22show-pendulum\x22,\x22show-pendulum\x22,-1679779996),new cljs.core.Keyword(null,\x22speed-relation\x22,\x22speed-relation\x22,-1779532892),new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),new cljs.core.Keyword(null,\x22show-pendulum-path\x22,\x22show-pendulum-path\x22,1017863519),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663)],[true,speed_relation,(40),(0),center,joints,cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(center))),true,cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))]);\n});\nsketches.generative_desgin.P_02.P_2_2_6_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$update_state(p__25927){\nvar map__26106 \x3d p__25927;\nvar map__26106__$1 \x3d cljs.core.__destructure_map(map__26106);\nvar state \x3d map__26106__$1;\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar speed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22speed\x22,\x22speed\x22,1257663751));\nvar joints \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003));\nvar speed_relation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22speed-relation\x22,\x22speed-relation\x22,-1779532892));\nvar line_length \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072));\nvar center \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\nvar pendulum_paths \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663));\nvar pendulum_centers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26106__$1,new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536));\nvar vec__26121 \x3d (((angle \x3c\x3d (sketches.generative_desgin.P_02.P_2_2_6_01.max_angle + speed)))?(function (){var i \x3d (0);\nvar pos \x3d center;\nvar paths \x3d pendulum_paths;\nvar centers \x3d pendulum_centers;\nwhile(true){\nif((i \x3c joints)){\nvar a \x3d (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod(i,(2)),(0)))?(1):(-1)) * (angle * Math.pow(speed_relation,i)));\nvar next_pos \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(sketches.vector.mult(sketches.vector.from_angle.cljs$core$IFn$_invoke$arity$1(quil.core.radians(a)),(((joints - i) / joints) * line_length)),pos);\nvar G__26659 \x3d (i + (1));\nvar G__26660 \x3d next_pos;\nvar G__26661 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(paths,i,cljs.core.conj,cljs.core.vec(next_pos));\nvar G__26662 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(centers,i,((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,(0)))?center:cljs.core.last(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(paths,(i - (1))))));\ni \x3d G__26659;\npos \x3d G__26660;\npaths \x3d G__26661;\ncenters \x3d G__26662;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [paths,centers], null);\n}\nbreak;\n}\n})():cljs.core.PersistentVector.EMPTY);\nvar pendulum_paths__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26121,(0),null);\nvar pendulum_centers__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26121,(1),null);\nvar speed__$1 \x3d (((8) / Math.pow(1.75,(joints - (1)))) / Math.pow(speed_relation,(speed_relation - (1))));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,speed__$1),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),pendulum_paths__$1),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),pendulum_centers__$1);\n});\nsketches.generative_desgin.P_02.P_2_2_6_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$draw(p__26231){\nvar map__26234 \x3d p__26231;\nvar map__26234__$1 \x3d cljs.core.__destructure_map(map__26234);\nvar joints \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26234__$1,new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003));\nvar pendulum_paths \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26234__$1,new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663));\nvar pendulum_centers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26234__$1,new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536));\nvar show_pendulum_path \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26234__$1,new cljs.core.Keyword(null,\x22show-pendulum-path\x22,\x22show-pendulum-path\x22,1017863519));\nvar show_pendulum \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26234__$1,new cljs.core.Keyword(null,\x22show-pendulum\x22,\x22show-pendulum\x22,-1679779996));\nquil.core.background.cljs$core$IFn$_invoke$arity$3((0),(0),(100));\n\nif(cljs.core.truth_(show_pendulum)){\nvar seq__26247_26667 \x3d cljs.core.seq(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(((function (map__26234,map__26234__$1,joints,pendulum_paths,pendulum_centers,show_pendulum_path,show_pendulum){\nreturn (function (p1__26227_SHARP_,p2__26228_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__26227_SHARP_,p2__26228_SHARP_],null));\n});})(map__26234,map__26234__$1,joints,pendulum_paths,pendulum_centers,show_pendulum_path,show_pendulum))\n,pendulum_paths));\nvar chunk__26248_26668 \x3d null;\nvar count__26249_26669 \x3d (0);\nvar i__26250_26670 \x3d (0);\nwhile(true){\nif((i__26250_26670 \x3c count__26249_26669)){\nvar vec__26305_26675 \x3d chunk__26248_26668.cljs$core$IIndexed$_nth$arity$2(null,i__26250_26670);\nvar i_26676 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26305_26675,(0),null);\nvar pendulum_path_26677 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26305_26675,(1),null);\nvar vec__26308_26682 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pendulum_centers,i_26676);\nvar x1_26683 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26308_26682,(0),null);\nvar y1_26684 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26308_26682,(1),null);\nvar vec__26311_26685 \x3d cljs.core.last(pendulum_path_26677);\nvar x2_26686 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26311_26685,(0),null);\nvar y2_26687 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26311_26685,(1),null);\nquil.core.no_stroke();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(10));\n\nquil.core.ellipse(x2_26686,y2_26687,(4),(4));\n\nquil.core.no_fill();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),(10));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x1_26683,y1_26684,x2_26686,y2_26687);\n\n\nvar G__26688 \x3d seq__26247_26667;\nvar G__26689 \x3d chunk__26248_26668;\nvar G__26690 \x3d count__26249_26669;\nvar G__26691 \x3d (i__26250_26670 + (1));\nseq__26247_26667 \x3d G__26688;\nchunk__26248_26668 \x3d G__26689;\ncount__26249_26669 \x3d G__26690;\ni__26250_26670 \x3d G__26691;\ncontinue;\n} else {\nvar temp__5804__auto___26692 \x3d cljs.core.seq(seq__26247_26667);\nif(temp__5804__auto___26692){\nvar seq__26247_26693__$1 \x3d temp__5804__auto___26692;\nif(cljs.core.chunked_seq_QMARK_(seq__26247_26693__$1)){\nvar c__5568__auto___26694 \x3d cljs.core.chunk_first(seq__26247_26693__$1);\nvar G__26695 \x3d cljs.core.chunk_rest(seq__26247_26693__$1);\nvar G__26696 \x3d c__5568__auto___26694;\nvar G__26697 \x3d cljs.core.count(c__5568__auto___26694);\nvar G__26698 \x3d (0);\nseq__26247_26667 \x3d G__26695;\nchunk__26248_26668 \x3d G__26696;\ncount__26249_26669 \x3d G__26697;\ni__26250_26670 \x3d G__26698;\ncontinue;\n} else {\nvar vec__26326_26699 \x3d cljs.core.first(seq__26247_26693__$1);\nvar i_26700 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26326_26699,(0),null);\nvar pendulum_path_26701 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26326_26699,(1),null);\nvar vec__26333_26702 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pendulum_centers,i_26700);\nvar x1_26703 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26333_26702,(0),null);\nvar y1_26704 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26333_26702,(1),null);\nvar vec__26336_26705 \x3d cljs.core.last(pendulum_path_26701);\nvar x2_26706 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26336_26705,(0),null);\nvar y2_26707 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26336_26705,(1),null);\nquil.core.no_stroke();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(10));\n\nquil.core.ellipse(x2_26706,y2_26707,(4),(4));\n\nquil.core.no_fill();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),(10));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x1_26703,y1_26704,x2_26706,y2_26707);\n\n\nvar G__26708 \x3d cljs.core.next(seq__26247_26693__$1);\nvar G__26709 \x3d null;\nvar G__26710 \x3d (0);\nvar G__26711 \x3d (0);\nseq__26247_26667 \x3d G__26708;\nchunk__26248_26668 \x3d G__26709;\ncount__26249_26669 \x3d G__26710;\ni__26250_26670 \x3d G__26711;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nquil.core.no_fill();\n\nquil.core.no_stroke();\n\nif(cljs.core.truth_(show_pendulum_path)){\nvar seq__26342 \x3d cljs.core.seq(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(((function (map__26234,map__26234__$1,joints,pendulum_paths,pendulum_centers,show_pendulum_path,show_pendulum){\nreturn (function (p1__26229_SHARP_,p2__26230_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__26229_SHARP_,p2__26230_SHARP_],null));\n});})(map__26234,map__26234__$1,joints,pendulum_paths,pendulum_centers,show_pendulum_path,show_pendulum))\n,pendulum_paths));\nvar chunk__26343 \x3d null;\nvar count__26344 \x3d (0);\nvar i__26345 \x3d (0);\nwhile(true){\nif((i__26345 \x3c count__26344)){\nvar vec__26413 \x3d chunk__26343.cljs$core$IIndexed$_nth$arity$2(null,i__26345);\nvar i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26413,(0),null);\nvar pendulum_path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26413,(1),null);\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nvar hue_26716 \x3d quil.core.map_range(i,(0),joints,(120),(360));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$4(hue_26716,(80),(60),(50));\n\nvar seq__26421_26717 \x3d cljs.core.seq(pendulum_path);\nvar chunk__26422_26718 \x3d null;\nvar count__26423_26719 \x3d (0);\nvar i__26424_26720 \x3d (0);\nwhile(true){\nif((i__26424_26720 \x3c count__26423_26719)){\nvar vec__26431_26721 \x3d chunk__26422_26718.cljs$core$IIndexed$_nth$arity$2(null,i__26424_26720);\nvar x_26722 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26431_26721,(0),null);\nvar y_26723 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26431_26721,(1),null);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(x_26722,y_26723);\n\n\nvar G__26724 \x3d seq__26421_26717;\nvar G__26725 \x3d chunk__26422_26718;\nvar G__26726 \x3d count__26423_26719;\nvar G__26727 \x3d (i__26424_26720 + (1));\nseq__26421_26717 \x3d G__26724;\nchunk__26422_26718 \x3d G__26725;\ncount__26423_26719 \x3d G__26726;\ni__26424_26720 \x3d G__26727;\ncontinue;\n} else {\nvar temp__5804__auto___26728 \x3d cljs.core.seq(seq__26421_26717);\nif(temp__5804__auto___26728){\nvar seq__26421_26729__$1 \x3d temp__5804__auto___26728;\nif(cljs.core.chunked_seq_QMARK_(seq__26421_26729__$1)){\nvar c__5568__auto___26730 \x3d cljs.core.chunk_first(seq__26421_26729__$1);\nvar G__26731 \x3d cljs.core.chunk_rest(seq__26421_26729__$1);\nvar G__26732 \x3d c__5568__auto___26730;\nvar G__26733 \x3d cljs.core.count(c__5568__auto___26730);\nvar G__26734 \x3d (0);\nseq__26421_26717 \x3d G__26731;\nchunk__26422_26718 \x3d G__26732;\ncount__26423_26719 \x3d G__26733;\ni__26424_26720 \x3d G__26734;\ncontinue;\n} else {\nvar vec__26434_26735 \x3d cljs.core.first(seq__26421_26729__$1);\nvar x_26736 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26434_26735,(0),null);\nvar y_26737 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26434_26735,(1),null);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(x_26736,y_26737);\n\n\nvar G__26738 \x3d cljs.core.next(seq__26421_26729__$1);\nvar G__26739 \x3d null;\nvar G__26740 \x3d (0);\nvar G__26741 \x3d (0);\nseq__26421_26717 \x3d G__26738;\nchunk__26422_26718 \x3d G__26739;\ncount__26423_26719 \x3d G__26740;\ni__26424_26720 \x3d G__26741;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__26742 \x3d seq__26342;\nvar G__26743 \x3d chunk__26343;\nvar G__26744 \x3d count__26344;\nvar G__26745 \x3d (i__26345 + (1));\nseq__26342 \x3d G__26742;\nchunk__26343 \x3d G__26743;\ncount__26344 \x3d G__26744;\ni__26345 \x3d G__26745;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__26342);\nif(temp__5804__auto__){\nvar seq__26342__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__26342__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__26342__$1);\nvar G__26746 \x3d cljs.core.chunk_rest(seq__26342__$1);\nvar G__26747 \x3d c__5568__auto__;\nvar G__26748 \x3d cljs.core.count(c__5568__auto__);\nvar G__26749 \x3d (0);\nseq__26342 \x3d G__26746;\nchunk__26343 \x3d G__26747;\ncount__26344 \x3d G__26748;\ni__26345 \x3d G__26749;\ncontinue;\n} else {\nvar vec__26437 \x3d cljs.core.first(seq__26342__$1);\nvar i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26437,(0),null);\nvar pendulum_path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26437,(1),null);\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nvar hue_26750 \x3d quil.core.map_range(i,(0),joints,(120),(360));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$4(hue_26750,(80),(60),(50));\n\nvar seq__26440_26751 \x3d cljs.core.seq(pendulum_path);\nvar chunk__26441_26752 \x3d null;\nvar count__26442_26753 \x3d (0);\nvar i__26443_26754 \x3d (0);\nwhile(true){\nif((i__26443_26754 \x3c count__26442_26753)){\nvar vec__26483_26755 \x3d chunk__26441_26752.cljs$core$IIndexed$_nth$arity$2(null,i__26443_26754);\nvar x_26756 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26483_26755,(0),null);\nvar y_26757 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26483_26755,(1),null);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(x_26756,y_26757);\n\n\nvar G__26758 \x3d seq__26440_26751;\nvar G__26759 \x3d chunk__26441_26752;\nvar G__26760 \x3d count__26442_26753;\nvar G__26761 \x3d (i__26443_26754 + (1));\nseq__26440_26751 \x3d G__26758;\nchunk__26441_26752 \x3d G__26759;\ncount__26442_26753 \x3d G__26760;\ni__26443_26754 \x3d G__26761;\ncontinue;\n} else {\nvar temp__5804__auto___26763__$1 \x3d cljs.core.seq(seq__26440_26751);\nif(temp__5804__auto___26763__$1){\nvar seq__26440_26767__$1 \x3d temp__5804__auto___26763__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__26440_26767__$1)){\nvar c__5568__auto___26768 \x3d cljs.core.chunk_first(seq__26440_26767__$1);\nvar G__26769 \x3d cljs.core.chunk_rest(seq__26440_26767__$1);\nvar G__26770 \x3d c__5568__auto___26768;\nvar G__26771 \x3d cljs.core.count(c__5568__auto___26768);\nvar G__26772 \x3d (0);\nseq__26440_26751 \x3d G__26769;\nchunk__26441_26752 \x3d G__26770;\ncount__26442_26753 \x3d G__26771;\ni__26443_26754 \x3d G__26772;\ncontinue;\n} else {\nvar vec__26578_26773 \x3d cljs.core.first(seq__26440_26767__$1);\nvar x_26774 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26578_26773,(0),null);\nvar y_26775 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26578_26773,(1),null);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(x_26774,y_26775);\n\n\nvar G__26776 \x3d cljs.core.next(seq__26440_26767__$1);\nvar G__26777 \x3d null;\nvar G__26778 \x3d (0);\nvar G__26779 \x3d (0);\nseq__26440_26751 \x3d G__26776;\nchunk__26441_26752 \x3d G__26777;\ncount__26442_26753 \x3d G__26778;\ni__26443_26754 \x3d G__26779;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__26780 \x3d cljs.core.next(seq__26342__$1);\nvar G__26781 \x3d null;\nvar G__26782 \x3d (0);\nvar G__26783 \x3d (0);\nseq__26342 \x3d G__26780;\nchunk__26343 \x3d G__26781;\ncount__26344 \x3d G__26782;\ni__26345 \x3d G__26783;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nsketches.generative_desgin.P_02.P_2_2_6_01.key_pressed \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$key_pressed(state,p__26601){\nvar map__26602 \x3d p__26601;\nvar map__26602__$1 \x3d cljs.core.__destructure_map(map__26602);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26602__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar G__26607 \x3d key;\nvar G__26607__$1 \x3d (((G__26607 instanceof cljs.core.Keyword))?G__26607.fqn:null);\nswitch (G__26607__$1) {\ncase \x22ArrowUp\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),cljs.core._PLUS_,(2)),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x22ArrowDown\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),cljs.core._,(2)),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x22ArrowLeft\x22:\nvar joints \x3d Math.max((1),(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state) - (1)));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003),joints),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x22ArrowRight\x22:\nvar joints \x3d Math.min((10),(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state) + (1)));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003),joints),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(joints,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x22+\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22speed-relation\x22,\x22speed-relation\x22,-1779532892),(function (p1__26581_SHARP_){\nreturn Math.min((5),(p1__26581_SHARP_ + 0.5));\n})),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x22-\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22speed-relation\x22,\x22speed-relation\x22,-1779532892),(function (p1__26585_SHARP_){\nreturn Math.max((2),(p1__26585_SHARP_ - 0.5));\n})),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0)),new cljs.core.Keyword(null,\x22pendulum-paths\x22,\x22pendulum-paths\x22,379777663),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY)))),new cljs.core.Keyword(null,\x22pendulum-centers\x22,\x22pendulum-centers\x22,-760678536),cljs.core.vec(cljs.core.take.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22joints\x22,\x22joints\x22,-1993525003).cljs$core$IFn$_invoke$arity$1(state),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368).cljs$core$IFn$_invoke$arity$1(state)))));\n\nbreak;\ncase \x221\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22show-pendulum\x22,\x22show-pendulum\x22,-1679779996),cljs.core.not);\n\nbreak;\ncase \x222\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22show-pendulum-path\x22,\x22show-pendulum-path\x22,1017863519),cljs.core.not);\n\nbreak;\ndefault:\nreturn state;\n\n}\n});\nsketches.generative_desgin.P_02.P_2_2_6_01.run \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$run(host){\nsketches.generative_desgin.P_02.P_2_2_6_01.agents_on_a_pendulum \x3d (function sketches$generative_desgin$P_02$P_2_2_6_01$run_$_agents_on_a_pendulum(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26788__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26788 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26862__i \x3d 0, G__26862__a \x3d new Array(arguments.length - 0);\nwhile (G__26862__i \x3c G__26862__a.length) {G__26862__a[G__26862__i] \x3d arguments[G__26862__i + 0]; ++G__26862__i;}\n args \x3d new cljs.core.IndexedSeq(G__26862__a,0,null);\n} \nreturn G__26788__delegate.call(this,args);};\nG__26788.cljs$lang$maxFixedArity \x3d 0;\nG__26788.cljs$lang$applyTo \x3d (function (arglist__26863){\nvar args \x3d cljs.core.seq(arglist__26863);\nreturn G__26788__delegate(args);\n});\nG__26788.cljs$core$IFn$_invoke$arity$variadic \x3d G__26788__delegate;\nreturn G__26788;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_6_01.update_state))?(function() { \nvar G__26864__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_6_01.update_state,args);\n};\nvar G__26864 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26865__i \x3d 0, G__26865__a \x3d new Array(arguments.length - 0);\nwhile (G__26865__i \x3c G__26865__a.length) {G__26865__a[G__26865__i] \x3d arguments[G__26865__i + 0]; ++G__26865__i;}\n args \x3d new cljs.core.IndexedSeq(G__26865__a,0,null);\n} \nreturn G__26864__delegate.call(this,args);};\nG__26864.cljs$lang$maxFixedArity \x3d 0;\nG__26864.cljs$lang$applyTo \x3d (function (arglist__26866){\nvar args \x3d cljs.core.seq(arglist__26866);\nreturn G__26864__delegate(args);\n});\nG__26864.cljs$core$IFn$_invoke$arity$variadic \x3d G__26864__delegate;\nreturn G__26864;\n})()\n:sketches.generative_desgin.P_02.P_2_2_6_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_6_01.setup))?(function() { \nvar G__26869__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_6_01.setup,args);\n};\nvar G__26869 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26871__i \x3d 0, G__26871__a \x3d new Array(arguments.length - 0);\nwhile (G__26871__i \x3c G__26871__a.length) {G__26871__a[G__26871__i] \x3d arguments[G__26871__i + 0]; ++G__26871__i;}\n args \x3d new cljs.core.IndexedSeq(G__26871__a,0,null);\n} \nreturn G__26869__delegate.call(this,args);};\nG__26869.cljs$lang$maxFixedArity \x3d 0;\nG__26869.cljs$lang$applyTo \x3d (function (arglist__26873){\nvar args \x3d cljs.core.seq(arglist__26873);\nreturn G__26869__delegate(args);\n});\nG__26869.cljs$core$IFn$_invoke$arity$variadic \x3d G__26869__delegate;\nreturn G__26869;\n})()\n:sketches.generative_desgin.P_02.P_2_2_6_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_6_01.key_pressed))?(function() { \nvar G__26876__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_6_01.key_pressed,args);\n};\nvar G__26876 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26880__i \x3d 0, G__26880__a \x3d new Array(arguments.length - 0);\nwhile (G__26880__i \x3c G__26880__a.length) {G__26880__a[G__26880__i] \x3d arguments[G__26880__i + 0]; ++G__26880__i;}\n args \x3d new cljs.core.IndexedSeq(G__26880__a,0,null);\n} \nreturn G__26876__delegate.call(this,args);};\nG__26876.cljs$lang$maxFixedArity \x3d 0;\nG__26876.cljs$lang$applyTo \x3d (function (arglist__26882){\nvar args \x3d cljs.core.seq(arglist__26882);\nreturn G__26876__delegate(args);\n});\nG__26876.cljs$core$IFn$_invoke$arity$variadic \x3d G__26876__delegate;\nreturn G__26876;\n})()\n:sketches.generative_desgin.P_02.P_2_2_6_01.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_2_6_01.draw))?(function() { \nvar G__26883__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_2_6_01.draw,args);\n};\nvar G__26883 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26884__i \x3d 0, G__26884__a \x3d new Array(arguments.length - 0);\nwhile (G__26884__i \x3c G__26884__a.length) {G__26884__a[G__26884__i] \x3d arguments[G__26884__i + 0]; ++G__26884__i;}\n args \x3d new cljs.core.IndexedSeq(G__26884__a,0,null);\n} \nreturn G__26883__delegate.call(this,args);};\nG__26883.cljs$lang$maxFixedArity \x3d 0;\nG__26883.cljs$lang$applyTo \x3d (function (arglist__26885){\nvar args \x3d cljs.core.seq(arglist__26885);\nreturn G__26883__delegate(args);\n});\nG__26883.cljs$core$IFn$_invoke$arity$variadic \x3d G__26883__delegate;\nreturn G__26883;\n})()\n:sketches.generative_desgin.P_02.P_2_2_6_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_2_6_01.agents_on_a_pendulum\x27, sketches.generative_desgin.P_02.P_2_2_6_01.agents_on_a_pendulum);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_2_6_01.agents_on_a_pendulum,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26886__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26886 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26888__i \x3d 0, G__26888__a \x3d new Array(arguments.length - 0);\nwhile (G__26888__i \x3c G__26888__a.length) {G__26888__a[G__26888__i] \x3d arguments[G__26888__i + 0]; ++G__26888__i;}\n args \x3d new cljs.core.IndexedSeq(G__26888__a,0,null);\n} \nreturn G__26886__delegate.call(this,args);};\nG__26886.cljs$lang$maxFixedArity \x3d 0;\nG__26886.cljs$lang$applyTo \x3d (function (arglist__26889){\nvar args \x3d cljs.core.seq(arglist__26889);\nreturn G__26886__delegate(args);\n});\nG__26886.cljs$core$IFn$_invoke$arity$variadic \x3d G__26886__delegate;\nreturn G__26886;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_3_1_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_3_1_01\x27);\nsketches.generative_desgin.P_02.P_2_3_1_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),(0),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0),new cljs.core.Keyword(null,\x22angle-speed\x22,\x22angle-speed\x22,1970274993),(1),new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079),quil.core.color.cljs$core$IFn$_invoke$arity$3((181),(157),(0))], null);\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,new cljs.core.Keyword(null,\x22angle-speed\x22,\x22angle-speed\x22,1970274993).cljs$core$IFn$_invoke$arity$1(state));\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$draw(p__26320){\nvar map__26321 \x3d p__26320;\nvar map__26321__$1 \x3d cljs.core.__destructure_map(map__26321);\nvar c \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26321__$1,new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26321__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar line_length \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26321__$1,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_x(),quil.core.mouse_y());\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.radians(angle));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(c);\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),line_length,(0));\n\nreturn quil.core.pop_matrix();\n} else {\nreturn null;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.mouse_pressed \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$mouse_pressed(state,_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),quil.core.random.cljs$core$IFn$_invoke$arity$2((70),(200)));\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.key_pressed \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$key_pressed(state,p__26346){\nvar map__26347 \x3d p__26346;\nvar map__26347__$1 \x3d cljs.core.__destructure_map(map__26347);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26347__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar G__26348 \x3d key;\nvar G__26348__$1 \x3d (((G__26348 instanceof cljs.core.Keyword))?G__26348.fqn:null);\nswitch (G__26348__$1) {\ncase \x22ArrowUp\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),cljs.core._PLUS_,(5));\n\nbreak;\ncase \x22ArrowDown\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22line-length\x22,\x22line-length\x22,-1363890072),cljs.core._,(5));\n\nbreak;\ncase \x22ArrowLeft\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22angle-speed\x22,\x22angle-speed\x22,1970274993),cljs.core._,0.5);\n\nbreak;\ncase \x22ArrowRight\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22angle-speed\x22,\x22angle-speed\x22,1970274993),cljs.core._PLUS_,0.5);\n\nbreak;\ndefault:\nreturn state;\n\n}\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.key_released \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$key_released(state,p__26362){\nvar map__26363 \x3d p__26362;\nvar map__26363__$1 \x3d cljs.core.__destructure_map(map__26363);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26363__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([key], 0));\n\nvar G__26365 \x3d key;\nvar G__26365__$1 \x3d (((G__26365 instanceof cljs.core.Keyword))?G__26365.fqn:null);\nswitch (G__26365__$1) {\ncase \x22Backspace\x22:\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nreturn state;\n\nbreak;\ncase \x22d\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,(180)),new cljs.core.Keyword(null,\x22angle-speed\x22,\x22angle-speed\x22,1970274993),cljs.core._STAR_,(-1));\n\nbreak;\ncase \x22space\x22:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079),quil.core.color.cljs$core$IFn$_invoke$arity$4(quil.core.random.cljs$core$IFn$_invoke$arity$1((255)),quil.core.random.cljs$core$IFn$_invoke$arity$1((255)),quil.core.random.cljs$core$IFn$_invoke$arity$1((255)),quil.core.random.cljs$core$IFn$_invoke$arity$2((80),(100))));\n\nbreak;\ndefault:\nreturn state;\n\n}\n});\nsketches.generative_desgin.P_02.P_2_3_1_01.run \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$run(host){\nsketches.generative_desgin.P_02.P_2_3_1_01.animated_brushes \x3d (function sketches$generative_desgin$P_02$P_2_3_1_01$run_$_animated_brushes(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.update_state))?(function() { \nvar G__26470__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.update_state,args);\n};\nvar G__26470 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26471__i \x3d 0, G__26471__a \x3d new Array(arguments.length - 0);\nwhile (G__26471__i \x3c G__26471__a.length) {G__26471__a[G__26471__i] \x3d arguments[G__26471__i + 0]; ++G__26471__i;}\n args \x3d new cljs.core.IndexedSeq(G__26471__a,0,null);\n} \nreturn G__26470__delegate.call(this,args);};\nG__26470.cljs$lang$maxFixedArity \x3d 0;\nG__26470.cljs$lang$applyTo \x3d (function (arglist__26472){\nvar args \x3d cljs.core.seq(arglist__26472);\nreturn G__26470__delegate(args);\n});\nG__26470.cljs$core$IFn$_invoke$arity$variadic \x3d G__26470__delegate;\nreturn G__26470;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.setup))?(function() { \nvar G__26473__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.setup,args);\n};\nvar G__26473 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26474__i \x3d 0, G__26474__a \x3d new Array(arguments.length - 0);\nwhile (G__26474__i \x3c G__26474__a.length) {G__26474__a[G__26474__i] \x3d arguments[G__26474__i + 0]; ++G__26474__i;}\n args \x3d new cljs.core.IndexedSeq(G__26474__a,0,null);\n} \nreturn G__26473__delegate.call(this,args);};\nG__26473.cljs$lang$maxFixedArity \x3d 0;\nG__26473.cljs$lang$applyTo \x3d (function (arglist__26475){\nvar args \x3d cljs.core.seq(arglist__26475);\nreturn G__26473__delegate(args);\n});\nG__26473.cljs$core$IFn$_invoke$arity$variadic \x3d G__26473__delegate;\nreturn G__26473;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.mouse_pressed))?(function() { \nvar G__26476__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.mouse_pressed,args);\n};\nvar G__26476 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26481__i \x3d 0, G__26481__a \x3d new Array(arguments.length - 0);\nwhile (G__26481__i \x3c G__26481__a.length) {G__26481__a[G__26481__i] \x3d arguments[G__26481__i + 0]; ++G__26481__i;}\n args \x3d new cljs.core.IndexedSeq(G__26481__a,0,null);\n} \nreturn G__26476__delegate.call(this,args);};\nG__26476.cljs$lang$maxFixedArity \x3d 0;\nG__26476.cljs$lang$applyTo \x3d (function (arglist__26482){\nvar args \x3d cljs.core.seq(arglist__26482);\nreturn G__26476__delegate(args);\n});\nG__26476.cljs$core$IFn$_invoke$arity$variadic \x3d G__26476__delegate;\nreturn G__26476;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26486__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26486 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26487__i \x3d 0, G__26487__a \x3d new Array(arguments.length - 0);\nwhile (G__26487__i \x3c G__26487__a.length) {G__26487__a[G__26487__i] \x3d arguments[G__26487__i + 0]; ++G__26487__i;}\n args \x3d new cljs.core.IndexedSeq(G__26487__a,0,null);\n} \nreturn G__26486__delegate.call(this,args);};\nG__26486.cljs$lang$maxFixedArity \x3d 0;\nG__26486.cljs$lang$applyTo \x3d (function (arglist__26494){\nvar args \x3d cljs.core.seq(arglist__26494);\nreturn G__26486__delegate(args);\n});\nG__26486.cljs$core$IFn$_invoke$arity$variadic \x3d G__26486__delegate;\nreturn G__26486;\n})()\n:host),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.key_pressed))?(function() { \nvar G__26495__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.key_pressed,args);\n};\nvar G__26495 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26496__i \x3d 0, G__26496__a \x3d new Array(arguments.length - 0);\nwhile (G__26496__i \x3c G__26496__a.length) {G__26496__a[G__26496__i] \x3d arguments[G__26496__i + 0]; ++G__26496__i;}\n args \x3d new cljs.core.IndexedSeq(G__26496__a,0,null);\n} \nreturn G__26495__delegate.call(this,args);};\nG__26495.cljs$lang$maxFixedArity \x3d 0;\nG__26495.cljs$lang$applyTo \x3d (function (arglist__26497){\nvar args \x3d cljs.core.seq(arglist__26497);\nreturn G__26495__delegate(args);\n});\nG__26495.cljs$core$IFn$_invoke$arity$variadic \x3d G__26495__delegate;\nreturn G__26495;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.key_pressed),new cljs.core.Keyword(null,\x22key-released\x22,\x22key-released\x22,215919828),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.key_released))?(function() { \nvar G__26498__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.key_released,args);\n};\nvar G__26498 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26499__i \x3d 0, G__26499__a \x3d new Array(arguments.length - 0);\nwhile (G__26499__i \x3c G__26499__a.length) {G__26499__a[G__26499__i] \x3d arguments[G__26499__i + 0]; ++G__26499__i;}\n args \x3d new cljs.core.IndexedSeq(G__26499__a,0,null);\n} \nreturn G__26498__delegate.call(this,args);};\nG__26498.cljs$lang$maxFixedArity \x3d 0;\nG__26498.cljs$lang$applyTo \x3d (function (arglist__26500){\nvar args \x3d cljs.core.seq(arglist__26500);\nreturn G__26498__delegate(args);\n});\nG__26498.cljs$core$IFn$_invoke$arity$variadic \x3d G__26498__delegate;\nreturn G__26498;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.key_released),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_1_01.draw))?(function() { \nvar G__26502__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_1_01.draw,args);\n};\nvar G__26502 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26503__i \x3d 0, G__26503__a \x3d new Array(arguments.length - 0);\nwhile (G__26503__i \x3c G__26503__a.length) {G__26503__a[G__26503__i] \x3d arguments[G__26503__i + 0]; ++G__26503__i;}\n args \x3d new cljs.core.IndexedSeq(G__26503__a,0,null);\n} \nreturn G__26502__delegate.call(this,args);};\nG__26502.cljs$lang$maxFixedArity \x3d 0;\nG__26502.cljs$lang$applyTo \x3d (function (arglist__26504){\nvar args \x3d cljs.core.seq(arglist__26504);\nreturn G__26502__delegate(args);\n});\nG__26502.cljs$core$IFn$_invoke$arity$variadic \x3d G__26502__delegate;\nreturn G__26502;\n})()\n:sketches.generative_desgin.P_02.P_2_3_1_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_3_1_01.animated_brushes\x27, sketches.generative_desgin.P_02.P_2_3_1_01.animated_brushes);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_3_1_01.animated_brushes,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26506__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26506 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26508__i \x3d 0, G__26508__a \x3d new Array(arguments.length - 0);\nwhile (G__26508__i \x3c G__26508__a.length) {G__26508__a[G__26508__i] \x3d arguments[G__26508__i + 0]; ++G__26508__i;}\n args \x3d new cljs.core.IndexedSeq(G__26508__a,0,null);\n} \nreturn G__26506__delegate.call(this,args);};\nG__26506.cljs$lang$maxFixedArity \x3d 0;\nG__26506.cljs$lang$applyTo \x3d (function (arglist__26510){\nvar args \x3d cljs.core.seq(arglist__26510);\nreturn G__26506__delegate(args);\n});\nG__26506.cljs$core$IFn$_invoke$arity$variadic \x3d G__26506__delegate;\nreturn G__26506;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_3_3_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_3_3_01\x27);\nsketches.generative_desgin.P_02.P_2_3_3_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar font \x3d \x22Georgia\x22;\nquil.core.text_font.cljs$core$IFn$_invoke$arity$1(font);\n\nquil.core.text_align.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nvar letters \x3d \x22All the worlds a stage, and all the men and women merely players. They have their exits and their entrances.\x22;\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922),new cljs.core.Keyword(null,\x22font-size-min\x22,\x22font-size-min\x22,731023144),new cljs.core.Keyword(null,\x22angle-distortion\x22,\x22angle-distortion\x22,1646726986),new cljs.core.Keyword(null,\x22new-letter\x22,\x22new-letter\x22,4997099),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.Keyword(null,\x22font\x22,\x22font\x22,-1506159249),new cljs.core.Keyword(null,\x22counter\x22,\x22counter\x22,804008177),new cljs.core.Keyword(null,\x22letters\x22,\x22letters\x22,2098125298),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185)],[quil.core.mouse_y(),5.0,(3),0.0,cljs.core.first(letters),(0),font,(0),letters,quil.core.mouse_x()]);\n});\nsketches.generative_desgin.P_02.P_2_3_3_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$update_state(p__26027){\nvar map__26035 \x3d p__26027;\nvar map__26035__$1 \x3d cljs.core.__destructure_map(map__26035);\nvar state \x3d map__26035__$1;\nvar letters \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22letters\x22,\x22letters\x22,2098125298));\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar step_size \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922));\nvar counter \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22counter\x22,\x22counter\x22,804008177));\nvar font_size_min \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26035__$1,new cljs.core.Keyword(null,\x22font-size-min\x22,\x22font-size-min\x22,731023144));\nvar d \x3d quil.core.dist.cljs$core$IFn$_invoke$arity$4(x,y,quil.core.mouse_x(),quil.core.mouse_y());\nquil.core.text_size((font_size_min + (d / (2))));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937))) \x26\x26 ((d \x3e step_size)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar angle \x3d quil.core.atan2((quil.core.mouse_y() - y),(quil.core.mouse_x() - x));\nvar counter__$1 \x3d (((counter \x3e\x3d (cljs.core.count(letters) - (1))))?(0):(counter + (1)));\nvar new_letter \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(letters,counter__$1);\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new_letter], 0));\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22counter\x22,\x22counter\x22,804008177),counter__$1),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),angle),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(function (x__$1){\nreturn (x__$1 + (quil.core.cos(angle) * step_size));\n})),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),(function (y__$1){\nreturn (y__$1 + (quil.core.sin(angle) * step_size));\n})),new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922),quil.core.text_width(new_letter)),new cljs.core.Keyword(null,\x22new-letter\x22,\x22new-letter\x22,4997099),new_letter);\n} else {\nreturn state;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_3_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$draw(p__26109){\nvar map__26110 \x3d p__26109;\nvar map__26110__$1 \x3d cljs.core.__destructure_map(map__26110);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar font_size_min \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22font-size-min\x22,\x22font-size-min\x22,731023144));\nvar angle_distortion \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22angle-distortion\x22,\x22angle-distortion\x22,1646726986));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar new_letter \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22new-letter\x22,\x22new-letter\x22,4997099));\nvar step_size \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26110__$1,new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar d \x3d quil.core.dist.cljs$core$IFn$_invoke$arity$4(x,y,quil.core.mouse_x(),quil.core.mouse_y());\nquil.core.text_size((font_size_min + (d / (2))));\n\nif((d \x3e step_size)){\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((angle + quil.core.random.cljs$core$IFn$_invoke$arity$1(angle_distortion)));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(new_letter,(0),(0));\n\nreturn quil.core.pop_matrix();\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_3_01.mouse_pressed \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$mouse_pressed(state,p__26117){\nvar map__26118 \x3d p__26117;\nvar map__26118__$1 \x3d cljs.core.__destructure_map(map__26118);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26118__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26118__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),y], 0));\n});\nsketches.generative_desgin.P_02.P_2_3_3_01.run \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$run(host){\nsketches.generative_desgin.P_02.P_2_3_3_01.type_drawing \x3d (function sketches$generative_desgin$P_02$P_2_3_3_01$run_$_type_drawing(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26251__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26251 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26252__i \x3d 0, G__26252__a \x3d new Array(arguments.length - 0);\nwhile (G__26252__i \x3c G__26252__a.length) {G__26252__a[G__26252__i] \x3d arguments[G__26252__i + 0]; ++G__26252__i;}\n args \x3d new cljs.core.IndexedSeq(G__26252__a,0,null);\n} \nreturn G__26251__delegate.call(this,args);};\nG__26251.cljs$lang$maxFixedArity \x3d 0;\nG__26251.cljs$lang$applyTo \x3d (function (arglist__26253){\nvar args \x3d cljs.core.seq(arglist__26253);\nreturn G__26251__delegate(args);\n});\nG__26251.cljs$core$IFn$_invoke$arity$variadic \x3d G__26251__delegate;\nreturn G__26251;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_3_01.update_state))?(function() { \nvar G__26254__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_3_01.update_state,args);\n};\nvar G__26254 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26255__i \x3d 0, G__26255__a \x3d new Array(arguments.length - 0);\nwhile (G__26255__i \x3c G__26255__a.length) {G__26255__a[G__26255__i] \x3d arguments[G__26255__i + 0]; ++G__26255__i;}\n args \x3d new cljs.core.IndexedSeq(G__26255__a,0,null);\n} \nreturn G__26254__delegate.call(this,args);};\nG__26254.cljs$lang$maxFixedArity \x3d 0;\nG__26254.cljs$lang$applyTo \x3d (function (arglist__26256){\nvar args \x3d cljs.core.seq(arglist__26256);\nreturn G__26254__delegate(args);\n});\nG__26254.cljs$core$IFn$_invoke$arity$variadic \x3d G__26254__delegate;\nreturn G__26254;\n})()\n:sketches.generative_desgin.P_02.P_2_3_3_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_3_01.setup))?(function() { \nvar G__26257__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_3_01.setup,args);\n};\nvar G__26257 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26258__i \x3d 0, G__26258__a \x3d new Array(arguments.length - 0);\nwhile (G__26258__i \x3c G__26258__a.length) {G__26258__a[G__26258__i] \x3d arguments[G__26258__i + 0]; ++G__26258__i;}\n args \x3d new cljs.core.IndexedSeq(G__26258__a,0,null);\n} \nreturn G__26257__delegate.call(this,args);};\nG__26257.cljs$lang$maxFixedArity \x3d 0;\nG__26257.cljs$lang$applyTo \x3d (function (arglist__26259){\nvar args \x3d cljs.core.seq(arglist__26259);\nreturn G__26257__delegate(args);\n});\nG__26257.cljs$core$IFn$_invoke$arity$variadic \x3d G__26257__delegate;\nreturn G__26257;\n})()\n:sketches.generative_desgin.P_02.P_2_3_3_01.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_3_01.mouse_pressed))?(function() { \nvar G__26260__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_3_01.mouse_pressed,args);\n};\nvar G__26260 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26261__i \x3d 0, G__26261__a \x3d new Array(arguments.length - 0);\nwhile (G__26261__i \x3c G__26261__a.length) {G__26261__a[G__26261__i] \x3d arguments[G__26261__i + 0]; ++G__26261__i;}\n args \x3d new cljs.core.IndexedSeq(G__26261__a,0,null);\n} \nreturn G__26260__delegate.call(this,args);};\nG__26260.cljs$lang$maxFixedArity \x3d 0;\nG__26260.cljs$lang$applyTo \x3d (function (arglist__26262){\nvar args \x3d cljs.core.seq(arglist__26262);\nreturn G__26260__delegate(args);\n});\nG__26260.cljs$core$IFn$_invoke$arity$variadic \x3d G__26260__delegate;\nreturn G__26260;\n})()\n:sketches.generative_desgin.P_02.P_2_3_3_01.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_3_01.draw))?(function() { \nvar G__26263__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_3_01.draw,args);\n};\nvar G__26263 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26264__i \x3d 0, G__26264__a \x3d new Array(arguments.length - 0);\nwhile (G__26264__i \x3c G__26264__a.length) {G__26264__a[G__26264__i] \x3d arguments[G__26264__i + 0]; ++G__26264__i;}\n args \x3d new cljs.core.IndexedSeq(G__26264__a,0,null);\n} \nreturn G__26263__delegate.call(this,args);};\nG__26263.cljs$lang$maxFixedArity \x3d 0;\nG__26263.cljs$lang$applyTo \x3d (function (arglist__26265){\nvar args \x3d cljs.core.seq(arglist__26265);\nreturn G__26263__delegate(args);\n});\nG__26263.cljs$core$IFn$_invoke$arity$variadic \x3d G__26263__delegate;\nreturn G__26263;\n})()\n:sketches.generative_desgin.P_02.P_2_3_3_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_3_3_01.type_drawing\x27, sketches.generative_desgin.P_02.P_2_3_3_01.type_drawing);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_3_3_01.type_drawing,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26266__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26266 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26267__i \x3d 0, G__26267__a \x3d new Array(arguments.length - 0);\nwhile (G__26267__i \x3c G__26267__a.length) {G__26267__a[G__26267__i] \x3d arguments[G__26267__i + 0]; ++G__26267__i;}\n args \x3d new cljs.core.IndexedSeq(G__26267__a,0,null);\n} \nreturn G__26266__delegate.call(this,args);};\nG__26266.cljs$lang$maxFixedArity \x3d 0;\nG__26266.cljs$lang$applyTo \x3d (function (arglist__26268){\nvar args \x3d cljs.core.seq(arglist__26268);\nreturn G__26266__delegate(args);\n});\nG__26266.cljs$core$IFn$_invoke$arity$variadic \x3d G__26266__delegate;\nreturn G__26266;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_3_4_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_3_4_01\x27);\nsketches.generative_desgin.P_02.P_2_3_4_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),quil.core.mouse_x(),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),quil.core.mouse_y(),new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922),(5),new cljs.core.Keyword(null,\x22module-size\x22,\x22module-size\x22,-196788617),(25),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),(0),new cljs.core.Keyword(null,\x22line-module\x22,\x22line-module\x22,-1734219849),quil.core.load_image(\x22images/dynamic-brush.svg\x22)], null);\n});\nsketches.generative_desgin.P_02.P_2_3_4_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$update_state(p__26125){\nvar map__26126 \x3d p__26125;\nvar map__26126__$1 \x3d cljs.core.__destructure_map(map__26126);\nvar state \x3d map__26126__$1;\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26126__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26126__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar step_size \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26126__$1,new cljs.core.Keyword(null,\x22step-size\x22,\x22step-size\x22,1545609922));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar d \x3d quil.core.dist.cljs$core$IFn$_invoke$arity$4(x,y,quil.core.mouse_x(),quil.core.mouse_y());\nif((d \x3e step_size)){\nvar angle \x3d quil.core.atan2((quil.core.mouse_y() - y),(quil.core.mouse_x() - x));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),d),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),angle),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core._PLUS_,(quil.core.cos(angle) * step_size));\n} else {\nreturn state;\n}\n} else {\nreturn state;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_4_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$draw(p__26133){\nvar map__26134 \x3d p__26133;\nvar map__26134__$1 \x3d cljs.core.__destructure_map(map__26134);\nvar state \x3d map__26134__$1;\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26134__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar line_module \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26134__$1,new cljs.core.Keyword(null,\x22line-module\x22,\x22line-module\x22,-1734219849));\nvar module_size \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26134__$1,new cljs.core.Keyword(null,\x22module-size\x22,\x22module-size\x22,-196788617));\nvar d \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26134__$1,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_x(),quil.core.mouse_y());\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((angle + quil.core.PI));\n\nif(cljs.core.truth_(quil.core.loaded_QMARK_(line_module))){\nquil.core.image.cljs$core$IFn$_invoke$arity$5(line_module,(0),(0),d,module_size);\n} else {\n}\n\nreturn quil.core.pop_matrix();\n} else {\nreturn null;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_4_01.mouse_pressed \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$mouse_pressed(state,p__26173){\nvar map__26174 \x3d p__26173;\nvar map__26174__$1 \x3d cljs.core.__destructure_map(map__26174);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26174__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26174__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),y], 0));\n});\nsketches.generative_desgin.P_02.P_2_3_4_01.run \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$run(host){\nsketches.generative_desgin.P_02.P_2_3_4_01.dynamic_brushes \x3d (function sketches$generative_desgin$P_02$P_2_3_4_01$run_$_dynamic_brushes(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26278__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26278 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26279__i \x3d 0, G__26279__a \x3d new Array(arguments.length - 0);\nwhile (G__26279__i \x3c G__26279__a.length) {G__26279__a[G__26279__i] \x3d arguments[G__26279__i + 0]; ++G__26279__i;}\n args \x3d new cljs.core.IndexedSeq(G__26279__a,0,null);\n} \nreturn G__26278__delegate.call(this,args);};\nG__26278.cljs$lang$maxFixedArity \x3d 0;\nG__26278.cljs$lang$applyTo \x3d (function (arglist__26280){\nvar args \x3d cljs.core.seq(arglist__26280);\nreturn G__26278__delegate(args);\n});\nG__26278.cljs$core$IFn$_invoke$arity$variadic \x3d G__26278__delegate;\nreturn G__26278;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_4_01.update_state))?(function() { \nvar G__26281__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_4_01.update_state,args);\n};\nvar G__26281 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26282__i \x3d 0, G__26282__a \x3d new Array(arguments.length - 0);\nwhile (G__26282__i \x3c G__26282__a.length) {G__26282__a[G__26282__i] \x3d arguments[G__26282__i + 0]; ++G__26282__i;}\n args \x3d new cljs.core.IndexedSeq(G__26282__a,0,null);\n} \nreturn G__26281__delegate.call(this,args);};\nG__26281.cljs$lang$maxFixedArity \x3d 0;\nG__26281.cljs$lang$applyTo \x3d (function (arglist__26283){\nvar args \x3d cljs.core.seq(arglist__26283);\nreturn G__26281__delegate(args);\n});\nG__26281.cljs$core$IFn$_invoke$arity$variadic \x3d G__26281__delegate;\nreturn G__26281;\n})()\n:sketches.generative_desgin.P_02.P_2_3_4_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_4_01.setup))?(function() { \nvar G__26284__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_4_01.setup,args);\n};\nvar G__26284 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26285__i \x3d 0, G__26285__a \x3d new Array(arguments.length - 0);\nwhile (G__26285__i \x3c G__26285__a.length) {G__26285__a[G__26285__i] \x3d arguments[G__26285__i + 0]; ++G__26285__i;}\n args \x3d new cljs.core.IndexedSeq(G__26285__a,0,null);\n} \nreturn G__26284__delegate.call(this,args);};\nG__26284.cljs$lang$maxFixedArity \x3d 0;\nG__26284.cljs$lang$applyTo \x3d (function (arglist__26286){\nvar args \x3d cljs.core.seq(arglist__26286);\nreturn G__26284__delegate(args);\n});\nG__26284.cljs$core$IFn$_invoke$arity$variadic \x3d G__26284__delegate;\nreturn G__26284;\n})()\n:sketches.generative_desgin.P_02.P_2_3_4_01.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_4_01.mouse_pressed))?(function() { \nvar G__26287__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_4_01.mouse_pressed,args);\n};\nvar G__26287 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26291__i \x3d 0, G__26291__a \x3d new Array(arguments.length - 0);\nwhile (G__26291__i \x3c G__26291__a.length) {G__26291__a[G__26291__i] \x3d arguments[G__26291__i + 0]; ++G__26291__i;}\n args \x3d new cljs.core.IndexedSeq(G__26291__a,0,null);\n} \nreturn G__26287__delegate.call(this,args);};\nG__26287.cljs$lang$maxFixedArity \x3d 0;\nG__26287.cljs$lang$applyTo \x3d (function (arglist__26292){\nvar args \x3d cljs.core.seq(arglist__26292);\nreturn G__26287__delegate(args);\n});\nG__26287.cljs$core$IFn$_invoke$arity$variadic \x3d G__26287__delegate;\nreturn G__26287;\n})()\n:sketches.generative_desgin.P_02.P_2_3_4_01.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_4_01.draw))?(function() { \nvar G__26293__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_4_01.draw,args);\n};\nvar G__26293 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26294__i \x3d 0, G__26294__a \x3d new Array(arguments.length - 0);\nwhile (G__26294__i \x3c G__26294__a.length) {G__26294__a[G__26294__i] \x3d arguments[G__26294__i + 0]; ++G__26294__i;}\n args \x3d new cljs.core.IndexedSeq(G__26294__a,0,null);\n} \nreturn G__26293__delegate.call(this,args);};\nG__26293.cljs$lang$maxFixedArity \x3d 0;\nG__26293.cljs$lang$applyTo \x3d (function (arglist__26295){\nvar args \x3d cljs.core.seq(arglist__26295);\nreturn G__26293__delegate(args);\n});\nG__26293.cljs$core$IFn$_invoke$arity$variadic \x3d G__26293__delegate;\nreturn G__26293;\n})()\n:sketches.generative_desgin.P_02.P_2_3_4_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_3_4_01.dynamic_brushes\x27, sketches.generative_desgin.P_02.P_2_3_4_01.dynamic_brushes);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_3_4_01.dynamic_brushes,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26296__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26296 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26297__i \x3d 0, G__26297__a \x3d new Array(arguments.length - 0);\nwhile (G__26297__i \x3c G__26297__a.length) {G__26297__a[G__26297__i] \x3d arguments[G__26297__i + 0]; ++G__26297__i;}\n args \x3d new cljs.core.IndexedSeq(G__26297__a,0,null);\n} \nreturn G__26296__delegate.call(this,args);};\nG__26296.cljs$lang$maxFixedArity \x3d 0;\nG__26296.cljs$lang$applyTo \x3d (function (arglist__26298){\nvar args \x3d cljs.core.seq(arglist__26298);\nreturn G__26296__delegate(args);\n});\nG__26296.cljs$core$IFn$_invoke$arity$variadic \x3d G__26296__delegate;\nreturn G__26296;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_3_6_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_3_6_01\x27);\nsketches.generative_desgin.P_02.P_2_3_6_01.tile_size \x3d (30);\nsketches.generative_desgin.P_02.P_2_3_6_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_3_6_01$setup(){\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.image_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.stroke_weight(0.15);\n\nquil.core.text_size((8));\n\nquil.core.text_align.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nvar grid_resolution_x \x3d (Math.round((quil.core.width() / sketches.generative_desgin.P_02.P_2_3_6_01.tile_size)) + (2));\nvar grid_resolution_y \x3d (Math.round((quil.core.height() / sketches.generative_desgin.P_02.P_2_3_6_01.tile_size)) + (2));\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22grid-resolution-x\x22,\x22grid-resolution-x\x22,1716449040),grid_resolution_x,new cljs.core.Keyword(null,\x22grid-resolution-y\x22,\x22grid-resolution-y\x22,267876590),grid_resolution_y,new cljs.core.Keyword(null,\x22tiles\x22,\x22tiles\x22,178505240),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(grid_resolution_y,cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(grid_resolution_x,(0))))),new cljs.core.Keyword(null,\x22modules\x22,\x22modules\x22,-248193976),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__26127_SHARP_){\nreturn quil.core.load_image([\x22images/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__26127_SHARP_).padStart((2),\x220\x22)),\x22.svg\x22].join(\x27\x27));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((16)))], null);\n});\nsketches.generative_desgin.P_02.P_2_3_6_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_3_6_01$update_state(p__26199){\nvar map__26203 \x3d p__26199;\nvar map__26203__$1 \x3d cljs.core.__destructure_map(map__26203);\nvar state \x3d map__26203__$1;\nvar grid_resolution_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26203__$1,new cljs.core.Keyword(null,\x22grid-resolution-x\x22,\x22grid-resolution-x\x22,1716449040));\nvar grid_resolution_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26203__$1,new cljs.core.Keyword(null,\x22grid-resolution-y\x22,\x22grid-resolution-y\x22,267876590));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar x \x3d (quil.core.floor((quil.core.mouse_x() / sketches.generative_desgin.P_02.P_2_3_6_01.tile_size)) + (1));\nvar grid_x \x3d quil.core.constrain(x,(1),(grid_resolution_x - (2)));\nvar y \x3d (quil.core.floor((quil.core.mouse_y() / sketches.generative_desgin.P_02.P_2_3_6_01.tile_size)) + (1));\nvar grid_y \x3d quil.core.constrain(y,(1),(grid_resolution_y - (2)));\nvar G__26226 \x3d quil.core.mouse_button();\nvar G__26226__$1 \x3d (((G__26226 instanceof cljs.core.Keyword))?G__26226.fqn:null);\nswitch (G__26226__$1) {\ncase \x22left\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(state,new cljs.core.Keyword(null,\x22tiles\x22,\x22tiles\x22,178505240),cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [grid_x,grid_y], null),(1));\n\nbreak;\ncase \x22right\x22:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(state,new cljs.core.Keyword(null,\x22tiles\x22,\x22tiles\x22,178505240),cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [grid_x,grid_y], null),(0));\n\nbreak;\ndefault:\nreturn state;\n\n}\n} else {\nreturn state;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_6_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_3_6_01$draw(p__26232){\nvar map__26233 \x3d p__26232;\nvar map__26233__$1 \x3d cljs.core.__destructure_map(map__26233);\nvar grid_resolution_x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26233__$1,new cljs.core.Keyword(null,\x22grid-resolution-x\x22,\x22grid-resolution-x\x22,1716449040));\nvar grid_resolution_y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26233__$1,new cljs.core.Keyword(null,\x22grid-resolution-y\x22,\x22grid-resolution-y\x22,267876590));\nvar tiles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26233__$1,new cljs.core.Keyword(null,\x22tiles\x22,\x22tiles\x22,178505240));\nvar modules \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26233__$1,new cljs.core.Keyword(null,\x22modules\x22,\x22modules\x22,-248193976));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__26235 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$1(grid_resolution_x));\nvar chunk__26240 \x3d null;\nvar count__26241 \x3d (0);\nvar i__26242 \x3d (0);\nwhile(true){\nif((i__26242 \x3c count__26241)){\nvar grid_x \x3d chunk__26240.cljs$core$IIndexed$_nth$arity$2(null,i__26242);\nvar seq__26243_27065 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$1(grid_resolution_y));\nvar chunk__26244_27066 \x3d null;\nvar count__26245_27068 \x3d (0);\nvar i__26246_27069 \x3d (0);\nwhile(true){\nif((i__26246_27069 \x3c count__26245_27068)){\nvar grid_y_27075 \x3d chunk__26244_27066.cljs$core$IIndexed$_nth$arity$2(null,i__26246_27069);\nvar pos_x_27076 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_x) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nvar pos_y_27077 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_y_27075) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),grid_y_27075),(1))){\nvar north_27081 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27075 - (1))));\nvar west_27082 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x - (1))),grid_y_27075);\nvar south_27083 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27075 + (1)));\nvar east_27084 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x + (1))),grid_y_27075);\nvar binary_result_27085 \x3d [north_27081,cljs.core.str.cljs$core$IFn$_invoke$arity$1(west_27082),cljs.core.str.cljs$core$IFn$_invoke$arity$1(south_27083),cljs.core.str.cljs$core$IFn$_invoke$arity$1(east_27084)].join(\x27\x27);\nvar decimal_result_27086 \x3d window.parseInt(binary_result_27085,(2));\nquil.core.image.cljs$core$IFn$_invoke$arity$5(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(modules,decimal_result_27086),pos_x_27076,pos_y_27077,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size);\n} else {\n}\n\n\nvar G__27093 \x3d seq__26243_27065;\nvar G__27094 \x3d chunk__26244_27066;\nvar G__27095 \x3d count__26245_27068;\nvar G__27096 \x3d (i__26246_27069 + (1));\nseq__26243_27065 \x3d G__27093;\nchunk__26244_27066 \x3d G__27094;\ncount__26245_27068 \x3d G__27095;\ni__26246_27069 \x3d G__27096;\ncontinue;\n} else {\nvar temp__5804__auto___27097 \x3d cljs.core.seq(seq__26243_27065);\nif(temp__5804__auto___27097){\nvar seq__26243_27098__$1 \x3d temp__5804__auto___27097;\nif(cljs.core.chunked_seq_QMARK_(seq__26243_27098__$1)){\nvar c__5568__auto___27099 \x3d cljs.core.chunk_first(seq__26243_27098__$1);\nvar G__27100 \x3d cljs.core.chunk_rest(seq__26243_27098__$1);\nvar G__27101 \x3d c__5568__auto___27099;\nvar G__27102 \x3d cljs.core.count(c__5568__auto___27099);\nvar G__27103 \x3d (0);\nseq__26243_27065 \x3d G__27100;\nchunk__26244_27066 \x3d G__27101;\ncount__26245_27068 \x3d G__27102;\ni__26246_27069 \x3d G__27103;\ncontinue;\n} else {\nvar grid_y_27104 \x3d cljs.core.first(seq__26243_27098__$1);\nvar pos_x_27105 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_x) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nvar pos_y_27106 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_y_27104) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),grid_y_27104),(1))){\nvar north_27107 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27104 - (1))));\nvar west_27108 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x - (1))),grid_y_27104);\nvar south_27109 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27104 + (1)));\nvar east_27110 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x + (1))),grid_y_27104);\nvar binary_result_27111 \x3d [north_27107,cljs.core.str.cljs$core$IFn$_invoke$arity$1(west_27108),cljs.core.str.cljs$core$IFn$_invoke$arity$1(south_27109),cljs.core.str.cljs$core$IFn$_invoke$arity$1(east_27110)].join(\x27\x27);\nvar decimal_result_27112 \x3d window.parseInt(binary_result_27111,(2));\nquil.core.image.cljs$core$IFn$_invoke$arity$5(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(modules,decimal_result_27112),pos_x_27105,pos_y_27106,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size);\n} else {\n}\n\n\nvar G__27116 \x3d cljs.core.next(seq__26243_27098__$1);\nvar G__27117 \x3d null;\nvar G__27118 \x3d (0);\nvar G__27119 \x3d (0);\nseq__26243_27065 \x3d G__27116;\nchunk__26244_27066 \x3d G__27117;\ncount__26245_27068 \x3d G__27118;\ni__26246_27069 \x3d G__27119;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__27120 \x3d seq__26235;\nvar G__27121 \x3d chunk__26240;\nvar G__27122 \x3d count__26241;\nvar G__27123 \x3d (i__26242 + (1));\nseq__26235 \x3d G__27120;\nchunk__26240 \x3d G__27121;\ncount__26241 \x3d G__27122;\ni__26242 \x3d G__27123;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__26235);\nif(temp__5804__auto__){\nvar seq__26235__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__26235__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__26235__$1);\nvar G__27124 \x3d cljs.core.chunk_rest(seq__26235__$1);\nvar G__27125 \x3d c__5568__auto__;\nvar G__27126 \x3d cljs.core.count(c__5568__auto__);\nvar G__27127 \x3d (0);\nseq__26235 \x3d G__27124;\nchunk__26240 \x3d G__27125;\ncount__26241 \x3d G__27126;\ni__26242 \x3d G__27127;\ncontinue;\n} else {\nvar grid_x \x3d cljs.core.first(seq__26235__$1);\nvar seq__26236_27128 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$1(grid_resolution_y));\nvar chunk__26237_27129 \x3d null;\nvar count__26238_27130 \x3d (0);\nvar i__26239_27131 \x3d (0);\nwhile(true){\nif((i__26239_27131 \x3c count__26238_27130)){\nvar grid_y_27133 \x3d chunk__26237_27129.cljs$core$IIndexed$_nth$arity$2(null,i__26239_27131);\nvar pos_x_27134 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_x) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nvar pos_y_27135 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_y_27133) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),grid_y_27133),(1))){\nvar north_27136 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27133 - (1))));\nvar west_27137 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x - (1))),grid_y_27133);\nvar south_27138 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27133 + (1)));\nvar east_27139 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x + (1))),grid_y_27133);\nvar binary_result_27140 \x3d [north_27136,cljs.core.str.cljs$core$IFn$_invoke$arity$1(west_27137),cljs.core.str.cljs$core$IFn$_invoke$arity$1(south_27138),cljs.core.str.cljs$core$IFn$_invoke$arity$1(east_27139)].join(\x27\x27);\nvar decimal_result_27141 \x3d window.parseInt(binary_result_27140,(2));\nquil.core.image.cljs$core$IFn$_invoke$arity$5(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(modules,decimal_result_27141),pos_x_27134,pos_y_27135,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size);\n} else {\n}\n\n\nvar G__27142 \x3d seq__26236_27128;\nvar G__27143 \x3d chunk__26237_27129;\nvar G__27144 \x3d count__26238_27130;\nvar G__27145 \x3d (i__26239_27131 + (1));\nseq__26236_27128 \x3d G__27142;\nchunk__26237_27129 \x3d G__27143;\ncount__26238_27130 \x3d G__27144;\ni__26239_27131 \x3d G__27145;\ncontinue;\n} else {\nvar temp__5804__auto___27149__$1 \x3d cljs.core.seq(seq__26236_27128);\nif(temp__5804__auto___27149__$1){\nvar seq__26236_27150__$1 \x3d temp__5804__auto___27149__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__26236_27150__$1)){\nvar c__5568__auto___27151 \x3d cljs.core.chunk_first(seq__26236_27150__$1);\nvar G__27152 \x3d cljs.core.chunk_rest(seq__26236_27150__$1);\nvar G__27153 \x3d c__5568__auto___27151;\nvar G__27154 \x3d cljs.core.count(c__5568__auto___27151);\nvar G__27155 \x3d (0);\nseq__26236_27128 \x3d G__27152;\nchunk__26237_27129 \x3d G__27153;\ncount__26238_27130 \x3d G__27154;\ni__26239_27131 \x3d G__27155;\ncontinue;\n} else {\nvar grid_y_27156 \x3d cljs.core.first(seq__26236_27150__$1);\nvar pos_x_27157 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_x) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nvar pos_y_27158 \x3d ((sketches.generative_desgin.P_02.P_2_3_6_01.tile_size * grid_y_27156) - (sketches.generative_desgin.P_02.P_2_3_6_01.tile_size / (2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),grid_y_27156),(1))){\nvar north_27159 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27156 - (1))));\nvar west_27160 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x - (1))),grid_y_27156);\nvar south_27161 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,grid_x),(grid_y_27156 + (1)));\nvar east_27162 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(tiles,(grid_x + (1))),grid_y_27156);\nvar binary_result_27163 \x3d [north_27159,cljs.core.str.cljs$core$IFn$_invoke$arity$1(west_27160),cljs.core.str.cljs$core$IFn$_invoke$arity$1(south_27161),cljs.core.str.cljs$core$IFn$_invoke$arity$1(east_27162)].join(\x27\x27);\nvar decimal_result_27164 \x3d window.parseInt(binary_result_27163,(2));\nquil.core.image.cljs$core$IFn$_invoke$arity$5(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(modules,decimal_result_27164),pos_x_27157,pos_y_27158,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size,sketches.generative_desgin.P_02.P_2_3_6_01.tile_size);\n} else {\n}\n\n\nvar G__27165 \x3d cljs.core.next(seq__26236_27150__$1);\nvar G__27166 \x3d null;\nvar G__27167 \x3d (0);\nvar G__27168 \x3d (0);\nseq__26236_27128 \x3d G__27165;\nchunk__26237_27129 \x3d G__27166;\ncount__26238_27130 \x3d G__27167;\ni__26239_27131 \x3d G__27168;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__27169 \x3d cljs.core.next(seq__26235__$1);\nvar G__27170 \x3d null;\nvar G__27171 \x3d (0);\nvar G__27172 \x3d (0);\nseq__26235 \x3d G__27169;\nchunk__26240 \x3d G__27170;\ncount__26241 \x3d G__27171;\ni__26242 \x3d G__27172;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_02.P_2_3_6_01.run \x3d (function sketches$generative_desgin$P_02$P_2_3_6_01$run(host){\nsketches.generative_desgin.P_02.P_2_3_6_01.complex_modules \x3d (function sketches$generative_desgin$P_02$P_2_3_6_01$run_$_complex_modules(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27173__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27173 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27174__i \x3d 0, G__27174__a \x3d new Array(arguments.length - 0);\nwhile (G__27174__i \x3c G__27174__a.length) {G__27174__a[G__27174__i] \x3d arguments[G__27174__i + 0]; ++G__27174__i;}\n args \x3d new cljs.core.IndexedSeq(G__27174__a,0,null);\n} \nreturn G__27173__delegate.call(this,args);};\nG__27173.cljs$lang$maxFixedArity \x3d 0;\nG__27173.cljs$lang$applyTo \x3d (function (arglist__27175){\nvar args \x3d cljs.core.seq(arglist__27175);\nreturn G__27173__delegate(args);\n});\nG__27173.cljs$core$IFn$_invoke$arity$variadic \x3d G__27173__delegate;\nreturn G__27173;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_6_01.update_state))?(function() { \nvar G__27176__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_6_01.update_state,args);\n};\nvar G__27176 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27177__i \x3d 0, G__27177__a \x3d new Array(arguments.length - 0);\nwhile (G__27177__i \x3c G__27177__a.length) {G__27177__a[G__27177__i] \x3d arguments[G__27177__i + 0]; ++G__27177__i;}\n args \x3d new cljs.core.IndexedSeq(G__27177__a,0,null);\n} \nreturn G__27176__delegate.call(this,args);};\nG__27176.cljs$lang$maxFixedArity \x3d 0;\nG__27176.cljs$lang$applyTo \x3d (function (arglist__27178){\nvar args \x3d cljs.core.seq(arglist__27178);\nreturn G__27176__delegate(args);\n});\nG__27176.cljs$core$IFn$_invoke$arity$variadic \x3d G__27176__delegate;\nreturn G__27176;\n})()\n:sketches.generative_desgin.P_02.P_2_3_6_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_6_01.setup))?(function() { \nvar G__27179__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_6_01.setup,args);\n};\nvar G__27179 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27180__i \x3d 0, G__27180__a \x3d new Array(arguments.length - 0);\nwhile (G__27180__i \x3c G__27180__a.length) {G__27180__a[G__27180__i] \x3d arguments[G__27180__i + 0]; ++G__27180__i;}\n args \x3d new cljs.core.IndexedSeq(G__27180__a,0,null);\n} \nreturn G__27179__delegate.call(this,args);};\nG__27179.cljs$lang$maxFixedArity \x3d 0;\nG__27179.cljs$lang$applyTo \x3d (function (arglist__27181){\nvar args \x3d cljs.core.seq(arglist__27181);\nreturn G__27179__delegate(args);\n});\nG__27179.cljs$core$IFn$_invoke$arity$variadic \x3d G__27179__delegate;\nreturn G__27179;\n})()\n:sketches.generative_desgin.P_02.P_2_3_6_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_6_01.draw))?(function() { \nvar G__27182__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_6_01.draw,args);\n};\nvar G__27182 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27183__i \x3d 0, G__27183__a \x3d new Array(arguments.length - 0);\nwhile (G__27183__i \x3c G__27183__a.length) {G__27183__a[G__27183__i] \x3d arguments[G__27183__i + 0]; ++G__27183__i;}\n args \x3d new cljs.core.IndexedSeq(G__27183__a,0,null);\n} \nreturn G__27182__delegate.call(this,args);};\nG__27182.cljs$lang$maxFixedArity \x3d 0;\nG__27182.cljs$lang$applyTo \x3d (function (arglist__27184){\nvar args \x3d cljs.core.seq(arglist__27184);\nreturn G__27182__delegate(args);\n});\nG__27182.cljs$core$IFn$_invoke$arity$variadic \x3d G__27182__delegate;\nreturn G__27182;\n})()\n:sketches.generative_desgin.P_02.P_2_3_6_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_3_6_01.complex_modules\x27, sketches.generative_desgin.P_02.P_2_3_6_01.complex_modules);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_3_6_01.complex_modules,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27185__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27185 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27186__i \x3d 0, G__27186__a \x3d new Array(arguments.length - 0);\nwhile (G__27186__i \x3c G__27186__a.length) {G__27186__a[G__27186__i] \x3d arguments[G__27186__i + 0]; ++G__27186__i;}\n args \x3d new cljs.core.IndexedSeq(G__27186__a,0,null);\n} \nreturn G__27185__delegate.call(this,args);};\nG__27185.cljs$lang$maxFixedArity \x3d 0;\nG__27185.cljs$lang$applyTo \x3d (function (arglist__27187){\nvar args \x3d cljs.core.seq(arglist__27187);\nreturn G__27185__delegate(args);\n});\nG__27185.cljs$core$IFn$_invoke$arity$variadic \x3d G__27185__delegate;\nreturn G__27185;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_02.P_2_3_7_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_02.P_2_3_7_01\x27);\nsketches.generative_desgin.P_02.P_2_3_7_01.setup \x3d (function sketches$generative_desgin$P_02$P_2_3_7_01$setup(){\nquil.core.no_fill();\n\nvar img \x3d quil.core.create_graphics.cljs$core$IFn$_invoke$arity$2(quil.core.width(),quil.core.height());\nimg.pixelDensity((1));\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line-color\x22,\x22line-color\x22,1331573993),quil.core.color.cljs$core$IFn$_invoke$arity$1((0)),new cljs.core.Keyword(null,\x22img\x22,\x22img\x22,1442687358),img,new cljs.core.Keyword(null,\x22pen-count\x22,\x22pen-count\x22,143063544),(1)], null);\n});\nsketches.generative_desgin.P_02.P_2_3_7_01.update_state \x3d (function sketches$generative_desgin$P_02$P_2_3_7_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_02.P_2_3_7_01.draw \x3d (function sketches$generative_desgin$P_02$P_2_3_7_01$draw(p__26315){\nvar map__26316 \x3d p__26315;\nvar map__26316__$1 \x3d cljs.core.__destructure_map(map__26316);\nvar img \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26316__$1,new cljs.core.Keyword(null,\x22img\x22,\x22img\x22,1442687358));\nvar line_color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26316__$1,new cljs.core.Keyword(null,\x22line-color\x22,\x22line-color\x22,1331573993));\nvar pen_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26316__$1,new cljs.core.Keyword(null,\x22pen-count\x22,\x22pen-count\x22,143063544));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar gr__24591__auto___26477 \x3d img;\nvar _STAR_graphics_STAR__orig_val__26324_26478 \x3d quil.core._STAR_graphics_STAR_;\nvar _STAR_graphics_STAR__temp_val__26325_26479 \x3d gr__24591__auto___26477;\n(quil.core._STAR_graphics_STAR_ \x3d _STAR_graphics_STAR__temp_val__26325_26479);\n\ntry{quil.core.begin_draw(gr__24591__auto___26477);\n\nquil.core.stroke_weight((3));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(line_color);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.mouse_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.mouse_button(),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar w_26488 \x3d quil.core.width();\nvar h_26489 \x3d quil.core.height();\nvar x_26490 \x3d quil.core.mouse_x();\nvar y_26491 \x3d quil.core.mouse_y();\nvar px_26492 \x3d (x_26490 - (quil.core.mouse_x() - quil.core.pmouse_x()));\nvar py_26493 \x3d (y_26491 - (quil.core.mouse_y() - quil.core.pmouse_y()));\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x_26490,y_26491,px_26492,py_26493);\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((w_26488 - x_26490),y_26491,(w_26488 - px_26492),py_26493);\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x_26490,(h_26489 - y_26491),px_26492,(h_26489 - py_26493));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((w_26488 - x_26490),(h_26489 - y_26491),(w_26488 - px_26492),(h_26489 - py_26493));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(y_26491,x_26490,py_26493,px_26492);\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(y_26491,(w_26488 - x_26490),py_26493,(w_26488 - px_26492));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((h_26489 - y_26491),x_26490,(h_26489 - py_26493),px_26492);\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((h_26489 - y_26491),(w_26488 - x_26490),(h_26489 - py_26493),(w_26488 - px_26492));\n} else {\n}\n\nquil.core.end_draw(gr__24591__auto___26477);\n}finally {(quil.core._STAR_graphics_STAR_ \x3d _STAR_graphics_STAR__orig_val__26324_26478);\n}\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$3(img,(0),(0));\n});\nsketches.generative_desgin.P_02.P_2_3_7_01.run \x3d (function sketches$generative_desgin$P_02$P_2_3_7_01$run(host){\nsketches.generative_desgin.P_02.P_2_3_7_01.multiple_brushes \x3d (function sketches$generative_desgin$P_02$P_2_3_7_01$run_$_multiple_brushes(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26526__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26526 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26527__i \x3d 0, G__26527__a \x3d new Array(arguments.length - 0);\nwhile (G__26527__i \x3c G__26527__a.length) {G__26527__a[G__26527__i] \x3d arguments[G__26527__i + 0]; ++G__26527__i;}\n args \x3d new cljs.core.IndexedSeq(G__26527__a,0,null);\n} \nreturn G__26526__delegate.call(this,args);};\nG__26526.cljs$lang$maxFixedArity \x3d 0;\nG__26526.cljs$lang$applyTo \x3d (function (arglist__26528){\nvar args \x3d cljs.core.seq(arglist__26528);\nreturn G__26526__delegate(args);\n});\nG__26526.cljs$core$IFn$_invoke$arity$variadic \x3d G__26526__delegate;\nreturn G__26526;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_7_01.update_state))?(function() { \nvar G__26529__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_7_01.update_state,args);\n};\nvar G__26529 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26530__i \x3d 0, G__26530__a \x3d new Array(arguments.length - 0);\nwhile (G__26530__i \x3c G__26530__a.length) {G__26530__a[G__26530__i] \x3d arguments[G__26530__i + 0]; ++G__26530__i;}\n args \x3d new cljs.core.IndexedSeq(G__26530__a,0,null);\n} \nreturn G__26529__delegate.call(this,args);};\nG__26529.cljs$lang$maxFixedArity \x3d 0;\nG__26529.cljs$lang$applyTo \x3d (function (arglist__26531){\nvar args \x3d cljs.core.seq(arglist__26531);\nreturn G__26529__delegate(args);\n});\nG__26529.cljs$core$IFn$_invoke$arity$variadic \x3d G__26529__delegate;\nreturn G__26529;\n})()\n:sketches.generative_desgin.P_02.P_2_3_7_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_7_01.setup))?(function() { \nvar G__26532__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_7_01.setup,args);\n};\nvar G__26532 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26533__i \x3d 0, G__26533__a \x3d new Array(arguments.length - 0);\nwhile (G__26533__i \x3c G__26533__a.length) {G__26533__a[G__26533__i] \x3d arguments[G__26533__i + 0]; ++G__26533__i;}\n args \x3d new cljs.core.IndexedSeq(G__26533__a,0,null);\n} \nreturn G__26532__delegate.call(this,args);};\nG__26532.cljs$lang$maxFixedArity \x3d 0;\nG__26532.cljs$lang$applyTo \x3d (function (arglist__26534){\nvar args \x3d cljs.core.seq(arglist__26534);\nreturn G__26532__delegate(args);\n});\nG__26532.cljs$core$IFn$_invoke$arity$variadic \x3d G__26532__delegate;\nreturn G__26532;\n})()\n:sketches.generative_desgin.P_02.P_2_3_7_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_02.P_2_3_7_01.draw))?(function() { \nvar G__26535__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_02.P_2_3_7_01.draw,args);\n};\nvar G__26535 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26536__i \x3d 0, G__26536__a \x3d new Array(arguments.length - 0);\nwhile (G__26536__i \x3c G__26536__a.length) {G__26536__a[G__26536__i] \x3d arguments[G__26536__i + 0]; ++G__26536__i;}\n args \x3d new cljs.core.IndexedSeq(G__26536__a,0,null);\n} \nreturn G__26535__delegate.call(this,args);};\nG__26535.cljs$lang$maxFixedArity \x3d 0;\nG__26535.cljs$lang$applyTo \x3d (function (arglist__26537){\nvar args \x3d cljs.core.seq(arglist__26537);\nreturn G__26535__delegate(args);\n});\nG__26535.cljs$core$IFn$_invoke$arity$variadic \x3d G__26535__delegate;\nreturn G__26535;\n})()\n:sketches.generative_desgin.P_02.P_2_3_7_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_02.P_2_3_7_01.multiple_brushes\x27, sketches.generative_desgin.P_02.P_2_3_7_01.multiple_brushes);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_02.P_2_3_7_01.multiple_brushes,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26558__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26558 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26559__i \x3d 0, G__26559__a \x3d new Array(arguments.length - 0);\nwhile (G__26559__i \x3c G__26559__a.length) {G__26559__a[G__26559__i] \x3d arguments[G__26559__i + 0]; ++G__26559__i;}\n args \x3d new cljs.core.IndexedSeq(G__26559__a,0,null);\n} \nreturn G__26558__delegate.call(this,args);};\nG__26558.cljs$lang$maxFixedArity \x3d 0;\nG__26558.cljs$lang$applyTo \x3d (function (arglist__26561){\nvar args \x3d cljs.core.seq(arglist__26561);\nreturn G__26558__delegate(args);\n});\nG__26558.cljs$core$IFn$_invoke$arity$variadic \x3d G__26558__delegate;\nreturn G__26558;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_03.P_3_0_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_03.P_3_0_01\x27);\nsketches.generative_desgin.P_03.P_3_0_01.setup \x3d (function sketches$generative_desgin$P_03$P_3_0_01$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.text_font.cljs$core$IFn$_invoke$arity$1(\x22sans-serif\x22);\n\nquil.core.text_align.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22letter\x22,\x22letter\x22,-125811450),\x22A\x22], null);\n});\nsketches.generative_desgin.P_03.P_3_0_01.mouse_moved \x3d (function sketches$generative_desgin$P_03$P_3_0_01$mouse_moved(state,_){\nquil.core.clear();\n\nquil.core.text_size((((quil.core.mouse_x() - (quil.core.width() / (2))) * (5)) + (1)));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22letter\x22,\x22letter\x22,-125811450).cljs$core$IFn$_invoke$arity$1(state),(quil.core.width() / (2)),quil.core.mouse_y());\n\nreturn state;\n});\nsketches.generative_desgin.P_03.P_3_0_01.mouse_dragged \x3d (function sketches$generative_desgin$P_03$P_3_0_01$mouse_dragged(state,_){\nquil.core.text_size((((quil.core.mouse_x() - (quil.core.width() / (2))) * (5)) + (1)));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22letter\x22,\x22letter\x22,-125811450).cljs$core$IFn$_invoke$arity$1(state),(quil.core.width() / (2)),quil.core.mouse_y());\n\nreturn state;\n});\nsketches.generative_desgin.P_03.P_3_0_01.key_typed \x3d (function sketches$generative_desgin$P_03$P_3_0_01$key_typed(state,p__26339){\nvar map__26340 \x3d p__26339;\nvar map__26340__$1 \x3d cljs.core.__destructure_map(map__26340);\nvar raw_key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26340__$1,new cljs.core.Keyword(null,\x22raw-key\x22,\x22raw-key\x22,-162482279));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22letter\x22,\x22letter\x22,-125811450),raw_key);\n});\nsketches.generative_desgin.P_03.P_3_0_01.run \x3d (function sketches$generative_desgin$P_03$P_3_0_01$run(host){\nsketches.generative_desgin.P_03.P_3_0_01.hello_type \x3d (function sketches$generative_desgin$P_03$P_3_0_01$run_$_hello_type(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26451__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26451 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26452__i \x3d 0, G__26452__a \x3d new Array(arguments.length - 0);\nwhile (G__26452__i \x3c G__26452__a.length) {G__26452__a[G__26452__i] \x3d arguments[G__26452__i + 0]; ++G__26452__i;}\n args \x3d new cljs.core.IndexedSeq(G__26452__a,0,null);\n} \nreturn G__26451__delegate.call(this,args);};\nG__26451.cljs$lang$maxFixedArity \x3d 0;\nG__26451.cljs$lang$applyTo \x3d (function (arglist__26453){\nvar args \x3d cljs.core.seq(arglist__26453);\nreturn G__26451__delegate(args);\n});\nG__26451.cljs$core$IFn$_invoke$arity$variadic \x3d G__26451__delegate;\nreturn G__26451;\n})()\n:host),new cljs.core.Keyword(null,\x22key-typed\x22,\x22key-typed\x22,-876037597),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_0_01.key_typed))?(function() { \nvar G__26454__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_0_01.key_typed,args);\n};\nvar G__26454 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26455__i \x3d 0, G__26455__a \x3d new Array(arguments.length - 0);\nwhile (G__26455__i \x3c G__26455__a.length) {G__26455__a[G__26455__i] \x3d arguments[G__26455__i + 0]; ++G__26455__i;}\n args \x3d new cljs.core.IndexedSeq(G__26455__a,0,null);\n} \nreturn G__26454__delegate.call(this,args);};\nG__26454.cljs$lang$maxFixedArity \x3d 0;\nG__26454.cljs$lang$applyTo \x3d (function (arglist__26456){\nvar args \x3d cljs.core.seq(arglist__26456);\nreturn G__26454__delegate(args);\n});\nG__26454.cljs$core$IFn$_invoke$arity$variadic \x3d G__26454__delegate;\nreturn G__26454;\n})()\n:sketches.generative_desgin.P_03.P_3_0_01.key_typed),new cljs.core.Keyword(null,\x22mouse-moved\x22,\x22mouse-moved\x22,-1918152310),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_0_01.mouse_moved))?(function() { \nvar G__26457__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_0_01.mouse_moved,args);\n};\nvar G__26457 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26458__i \x3d 0, G__26458__a \x3d new Array(arguments.length - 0);\nwhile (G__26458__i \x3c G__26458__a.length) {G__26458__a[G__26458__i] \x3d arguments[G__26458__i + 0]; ++G__26458__i;}\n args \x3d new cljs.core.IndexedSeq(G__26458__a,0,null);\n} \nreturn G__26457__delegate.call(this,args);};\nG__26457.cljs$lang$maxFixedArity \x3d 0;\nG__26457.cljs$lang$applyTo \x3d (function (arglist__26459){\nvar args \x3d cljs.core.seq(arglist__26459);\nreturn G__26457__delegate(args);\n});\nG__26457.cljs$core$IFn$_invoke$arity$variadic \x3d G__26457__delegate;\nreturn G__26457;\n})()\n:sketches.generative_desgin.P_03.P_3_0_01.mouse_moved),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_0_01.setup))?(function() { \nvar G__26460__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_0_01.setup,args);\n};\nvar G__26460 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26461__i \x3d 0, G__26461__a \x3d new Array(arguments.length - 0);\nwhile (G__26461__i \x3c G__26461__a.length) {G__26461__a[G__26461__i] \x3d arguments[G__26461__i + 0]; ++G__26461__i;}\n args \x3d new cljs.core.IndexedSeq(G__26461__a,0,null);\n} \nreturn G__26460__delegate.call(this,args);};\nG__26460.cljs$lang$maxFixedArity \x3d 0;\nG__26460.cljs$lang$applyTo \x3d (function (arglist__26462){\nvar args \x3d cljs.core.seq(arglist__26462);\nreturn G__26460__delegate(args);\n});\nG__26460.cljs$core$IFn$_invoke$arity$variadic \x3d G__26460__delegate;\nreturn G__26460;\n})()\n:sketches.generative_desgin.P_03.P_3_0_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22mouse-dragged\x22,\x22mouse-dragged\x22,-1220073441),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_0_01.mouse_dragged))?(function() { \nvar G__26463__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_0_01.mouse_dragged,args);\n};\nvar G__26463 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26465__i \x3d 0, G__26465__a \x3d new Array(arguments.length - 0);\nwhile (G__26465__i \x3c G__26465__a.length) {G__26465__a[G__26465__i] \x3d arguments[G__26465__i + 0]; ++G__26465__i;}\n args \x3d new cljs.core.IndexedSeq(G__26465__a,0,null);\n} \nreturn G__26463__delegate.call(this,args);};\nG__26463.cljs$lang$maxFixedArity \x3d 0;\nG__26463.cljs$lang$applyTo \x3d (function (arglist__26466){\nvar args \x3d cljs.core.seq(arglist__26466);\nreturn G__26463__delegate(args);\n});\nG__26463.cljs$core$IFn$_invoke$arity$variadic \x3d G__26463__delegate;\nreturn G__26463;\n})()\n:sketches.generative_desgin.P_03.P_3_0_01.mouse_dragged)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_03.P_3_0_01.hello_type\x27, sketches.generative_desgin.P_03.P_3_0_01.hello_type);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_03.P_3_0_01.hello_type,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26467__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26467 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26468__i \x3d 0, G__26468__a \x3d new Array(arguments.length - 0);\nwhile (G__26468__i \x3c G__26468__a.length) {G__26468__a[G__26468__i] \x3d arguments[G__26468__i + 0]; ++G__26468__i;}\n args \x3d new cljs.core.IndexedSeq(G__26468__a,0,null);\n} \nreturn G__26467__delegate.call(this,args);};\nG__26467.cljs$lang$maxFixedArity \x3d 0;\nG__26467.cljs$lang$applyTo \x3d (function (arglist__26469){\nvar args \x3d cljs.core.seq(arglist__26469);\nreturn G__26467__delegate(args);\n});\nG__26467.cljs$core$IFn$_invoke$arity$variadic \x3d G__26467__delegate;\nreturn G__26467;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_03.P_3_1_2_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_03.P_3_1_2_01\x27);\nsketches.generative_desgin.P_03.P_3_1_2_01.setup \x3d (function sketches$generative_desgin$P_03$P_3_1_2_01$setup(){\nvar font \x3d quil.core.load_font(\x22fonts/miso-bold.ttf\x22);\nquil.core.text_font.cljs$core$IFn$_invoke$arity$2(font,(25));\n\nquil.core.text_align.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),new cljs.core.Keyword(null,\x22baseline\x22,\x22baseline\x22,1151033280));\n\nquil.core.no_stroke();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22shape-space2\x22,\x22shape-space2\x22,1309436064),new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038),new cljs.core.Keyword(null,\x22shape-exlamationmark\x22,\x22shape-exlamationmark\x22,-101276349),new cljs.core.Keyword(null,\x22center-y\x22,\x22center-y\x22,-233780987),new cljs.core.Keyword(null,\x22shape-period\x22,\x22shape-period\x22,-1689315673),new cljs.core.Keyword(null,\x22offset-y\x22,\x22offset-y\x22,2076844008),new cljs.core.Keyword(null,\x22shape-questionmark\x22,\x22shape-questionmark\x22,910118380),new cljs.core.Keyword(null,\x22shape-space\x22,\x22shape-space\x22,1616518221),new cljs.core.Keyword(null,\x22act-random-seed\x22,\x22act-random-seed\x22,1248292079),new cljs.core.Keyword(null,\x22font\x22,\x22font\x22,-1506159249),new cljs.core.Keyword(null,\x22center-x\x22,\x22center-x\x22,2109659472),new cljs.core.Keyword(null,\x22offset-x\x22,\x22offset-x\x22,1036466230),new cljs.core.Keyword(null,\x22text-typed\x22,\x22text-typed\x22,-2077110474),new cljs.core.Keyword(null,\x22shape-comma\x22,\x22shape-comma\x22,-1195251176),new cljs.core.Keyword(null,\x22shape-return\x22,\x22shape-return\x22,1760030428)],[quil.core.load_image(\x22images/space2.svg\x22),0.75,quil.core.load_image(\x22images/exclamationmark.svg\x22),(quil.core.height() / (2)),quil.core.load_image(\x22images/period.svg\x22),(0),quil.core.load_image(\x22images/questionmark.svg\x22),quil.core.load_image(\x22images/space.svg\x22),(6),font,(quil.core.width() / (2)),(0),[\x22Ich bin der Musikant mit Taschenrechner in der Hand!\\n\\n\x22,\x22Ich addiere\\n\x22,\x22Kontrolliere\\nUnd komponiere\\nUnd wenn ich diese Taste dr\\u00FCck,\\nSpielt er ein kleines Musikst\\u00FCck?\\n\\n\x22,\x22Ich bin der Musikant mit Taschenrechner in der Hand!\\n\\n\x22,\x22Ich addiere\\n\x22,\x22Und subtrahiere, \\n\\n\x22,\x22Kontrolliere\\nUnd komponiere\\nUnd wenn ich diese Taste dr\\u00FCck,\\nSpielt er ein kleines Musikst\\u00FCck?\\n\\n\x22].join(\x27\x27),quil.core.load_image(\x22images/comma.svg\x22),quil.core.load_image(\x22images/return.svg\x22)]);\n});\nsketches.generative_desgin.P_03.P_3_1_2_01.update_state \x3d (function sketches$generative_desgin$P_03$P_3_1_2_01$update_state(p__26314){\nvar map__26318 \x3d p__26314;\nvar map__26318__$1 \x3d cljs.core.__destructure_map(map__26318);\nvar state \x3d map__26318__$1;\nvar act_random_seed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26318__$1,new cljs.core.Keyword(null,\x22act-random-seed\x22,\x22act-random-seed\x22,1248292079));\nquil.core.random_seed(act_random_seed);\n\nreturn state;\n});\nsketches.generative_desgin.P_03.P_3_1_2_01.draw \x3d (function sketches$generative_desgin$P_03$P_3_1_2_01$draw(p__26322){\nvar map__26323 \x3d p__26322;\nvar map__26323__$1 \x3d cljs.core.__destructure_map(map__26323);\nvar shape_return \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-return\x22,\x22shape-return\x22,1760030428));\nvar shape_space2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-space2\x22,\x22shape-space2\x22,1309436064));\nvar zoom \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22zoom\x22,\x22zoom\x22,-1827487038));\nvar shape_exlamationmark \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-exlamationmark\x22,\x22shape-exlamationmark\x22,-101276349));\nvar shape_period \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-period\x22,\x22shape-period\x22,-1689315673));\nvar shape_questionmark \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-questionmark\x22,\x22shape-questionmark\x22,910118380));\nvar shape_space \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-space\x22,\x22shape-space\x22,1616518221));\nvar text_typed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22text-typed\x22,\x22text-typed\x22,-2077110474));\nvar shape_comma \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26323__$1,new cljs.core.Keyword(null,\x22shape-comma\x22,\x22shape-comma\x22,-1195251176));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.scale.cljs$core$IFn$_invoke$arity$1(zoom);\n\nvar seq__26329 \x3d cljs.core.seq(text_typed);\nvar chunk__26330 \x3d null;\nvar count__26331 \x3d (0);\nvar i__26332 \x3d (0);\nwhile(true){\nif((i__26332 \x3c count__26331)){\nvar letter \x3d chunk__26330.cljs$core$IIndexed$_nth$arity$2(null,i__26332);\nvar letter_width_26538 \x3d quil.core.text_width(letter);\nvar G__26369_26539 \x3d letter;\nswitch (G__26369_26539) {\ncase \x22 \x22:\nvar dir_26541 \x3d quil.core.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(dir_26541,(0))){\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_space,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((4),(1));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(dir_26541,(1))){\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_space2,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((14),(-5));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n} else {\n}\n}\n\nbreak;\ncase \x22,\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_comma,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((35),(15));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n\nbreak;\ncase \x22.\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_period,(1),(-55));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((56),(-56));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase \x22!\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_exlamationmark,(1),(-27));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(42.5,-17.5);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.QUARTER_PI));\n\nbreak;\ncase \x22?\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_questionmark,(1),(-27));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(42.5,-17.5);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.QUARTER_PI));\n\nbreak;\ncase \x22\\n\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_return,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((1),(10));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nquil.core.text.cljs$core$IFn$_invoke$arity$3(letter,(0),(0));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$3(letter_width_26538,(0),(0));\n\n}\n\n\nvar G__26542 \x3d seq__26329;\nvar G__26543 \x3d chunk__26330;\nvar G__26544 \x3d count__26331;\nvar G__26545 \x3d (i__26332 + (1));\nseq__26329 \x3d G__26542;\nchunk__26330 \x3d G__26543;\ncount__26331 \x3d G__26544;\ni__26332 \x3d G__26545;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__26329);\nif(temp__5804__auto__){\nvar seq__26329__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__26329__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__26329__$1);\nvar G__26546 \x3d cljs.core.chunk_rest(seq__26329__$1);\nvar G__26547 \x3d c__5568__auto__;\nvar G__26548 \x3d cljs.core.count(c__5568__auto__);\nvar G__26549 \x3d (0);\nseq__26329 \x3d G__26546;\nchunk__26330 \x3d G__26547;\ncount__26331 \x3d G__26548;\ni__26332 \x3d G__26549;\ncontinue;\n} else {\nvar letter \x3d cljs.core.first(seq__26329__$1);\nvar letter_width_26550 \x3d quil.core.text_width(letter);\nvar G__26378_26551 \x3d letter;\nswitch (G__26378_26551) {\ncase \x22 \x22:\nvar dir_26553 \x3d quil.core.floor(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(2)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(dir_26553,(0))){\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_space,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((4),(1));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(dir_26553,(1))){\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_space2,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((14),(-5));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n} else {\n}\n}\n\nbreak;\ncase \x22,\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_comma,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((35),(15));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.QUARTER_PI);\n\nbreak;\ncase \x22.\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_period,(1),(-55));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((56),(-56));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.HALF_PI);\n\nbreak;\ncase \x22!\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_exlamationmark,(1),(-27));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(42.5,-17.5);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.QUARTER_PI));\n\nbreak;\ncase \x22?\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_questionmark,(1),(-27));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(42.5,-17.5);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1((- quil.core.QUARTER_PI));\n\nbreak;\ncase \x22\\n\x22:\nquil.core.image.cljs$core$IFn$_invoke$arity$3(shape_return,(1),(-15));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((1),(10));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.PI);\n\nbreak;\ndefault:\nquil.core.text.cljs$core$IFn$_invoke$arity$3(letter,(0),(0));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$3(letter_width_26550,(0),(0));\n\n}\n\n\nvar G__26554 \x3d cljs.core.next(seq__26329__$1);\nvar G__26555 \x3d null;\nvar G__26556 \x3d (0);\nvar G__26557 \x3d (0);\nseq__26329 \x3d G__26554;\nchunk__26330 \x3d G__26555;\ncount__26331 \x3d G__26556;\ni__26332 \x3d G__26557;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_03.P_3_1_2_01.run \x3d (function sketches$generative_desgin$P_03$P_3_1_2_01$run(host){\nsketches.generative_desgin.P_03.P_3_1_2_01.blueprint \x3d (function sketches$generative_desgin$P_03$P_3_1_2_01$run_$_blueprint(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26560__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26560 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26562__i \x3d 0, G__26562__a \x3d new Array(arguments.length - 0);\nwhile (G__26562__i \x3c G__26562__a.length) {G__26562__a[G__26562__i] \x3d arguments[G__26562__i + 0]; ++G__26562__i;}\n args \x3d new cljs.core.IndexedSeq(G__26562__a,0,null);\n} \nreturn G__26560__delegate.call(this,args);};\nG__26560.cljs$lang$maxFixedArity \x3d 0;\nG__26560.cljs$lang$applyTo \x3d (function (arglist__26563){\nvar args \x3d cljs.core.seq(arglist__26563);\nreturn G__26560__delegate(args);\n});\nG__26560.cljs$core$IFn$_invoke$arity$variadic \x3d G__26560__delegate;\nreturn G__26560;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_2_01.update_state))?(function() { \nvar G__26564__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_2_01.update_state,args);\n};\nvar G__26564 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26565__i \x3d 0, G__26565__a \x3d new Array(arguments.length - 0);\nwhile (G__26565__i \x3c G__26565__a.length) {G__26565__a[G__26565__i] \x3d arguments[G__26565__i + 0]; ++G__26565__i;}\n args \x3d new cljs.core.IndexedSeq(G__26565__a,0,null);\n} \nreturn G__26564__delegate.call(this,args);};\nG__26564.cljs$lang$maxFixedArity \x3d 0;\nG__26564.cljs$lang$applyTo \x3d (function (arglist__26566){\nvar args \x3d cljs.core.seq(arglist__26566);\nreturn G__26564__delegate(args);\n});\nG__26564.cljs$core$IFn$_invoke$arity$variadic \x3d G__26564__delegate;\nreturn G__26564;\n})()\n:sketches.generative_desgin.P_03.P_3_1_2_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_2_01.setup))?(function() { \nvar G__26567__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_2_01.setup,args);\n};\nvar G__26567 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26568__i \x3d 0, G__26568__a \x3d new Array(arguments.length - 0);\nwhile (G__26568__i \x3c G__26568__a.length) {G__26568__a[G__26568__i] \x3d arguments[G__26568__i + 0]; ++G__26568__i;}\n args \x3d new cljs.core.IndexedSeq(G__26568__a,0,null);\n} \nreturn G__26567__delegate.call(this,args);};\nG__26567.cljs$lang$maxFixedArity \x3d 0;\nG__26567.cljs$lang$applyTo \x3d (function (arglist__26569){\nvar args \x3d cljs.core.seq(arglist__26569);\nreturn G__26567__delegate(args);\n});\nG__26567.cljs$core$IFn$_invoke$arity$variadic \x3d G__26567__delegate;\nreturn G__26567;\n})()\n:sketches.generative_desgin.P_03.P_3_1_2_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode,quil.middleware.navigation_2d], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_2_01.draw))?(function() { \nvar G__26570__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_2_01.draw,args);\n};\nvar G__26570 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26571__i \x3d 0, G__26571__a \x3d new Array(arguments.length - 0);\nwhile (G__26571__i \x3c G__26571__a.length) {G__26571__a[G__26571__i] \x3d arguments[G__26571__i + 0]; ++G__26571__i;}\n args \x3d new cljs.core.IndexedSeq(G__26571__a,0,null);\n} \nreturn G__26570__delegate.call(this,args);};\nG__26570.cljs$lang$maxFixedArity \x3d 0;\nG__26570.cljs$lang$applyTo \x3d (function (arglist__26572){\nvar args \x3d cljs.core.seq(arglist__26572);\nreturn G__26570__delegate(args);\n});\nG__26570.cljs$core$IFn$_invoke$arity$variadic \x3d G__26570__delegate;\nreturn G__26570;\n})()\n:sketches.generative_desgin.P_03.P_3_1_2_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_03.P_3_1_2_01.blueprint\x27, sketches.generative_desgin.P_03.P_3_1_2_01.blueprint);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_03.P_3_1_2_01.blueprint,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26573__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26573 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26574__i \x3d 0, G__26574__a \x3d new Array(arguments.length - 0);\nwhile (G__26574__i \x3c G__26574__a.length) {G__26574__a[G__26574__i] \x3d arguments[G__26574__i + 0]; ++G__26574__i;}\n args \x3d new cljs.core.IndexedSeq(G__26574__a,0,null);\n} \nreturn G__26573__delegate.call(this,args);};\nG__26573.cljs$lang$maxFixedArity \x3d 0;\nG__26573.cljs$lang$applyTo \x3d (function (arglist__26575){\nvar args \x3d cljs.core.seq(arglist__26575);\nreturn G__26573__delegate(args);\n});\nG__26573.cljs$core$IFn$_invoke$arity$variadic \x3d G__26573__delegate;\nreturn G__26573;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_03.P_3_1_3_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_03.P_3_1_3_01\x27);\nsketches.generative_desgin.P_03.P_3_1_3_01.text \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(\x22\x22);\nwindow.fetch(\x22data/faust_kurz.txt\x22).then((function (p1__26317_SHARP_){\nreturn p1__26317_SHARP_.text();\n})).then((function (p1__26319_SHARP_){\nreturn cljs.core.reset_BANG_(sketches.generative_desgin.P_03.P_3_1_3_01.text,p1__26319_SHARP_);\n}));\nsketches.generative_desgin.P_03.P_3_1_3_01.alphabet \x3d \x22ABCDEFGHIJKLMNORSTUVWYZ\\u00C4\\u00D6\\u00DC\\u00DF,.;!? \x22;\nsketches.generative_desgin.P_03.P_3_1_3_01.setup \x3d (function sketches$generative_desgin$P_03$P_3_1_3_01$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22counts\x22,\x22counts\x22,234305892),cljs.core.frequencies(cljs.core.deref(sketches.generative_desgin.P_03.P_3_1_3_01.text)),new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),cljs.core.deref(sketches.generative_desgin.P_03.P_3_1_3_01.text)], null);\n});\nsketches.generative_desgin.P_03.P_3_1_3_01.update_state \x3d (function sketches$generative_desgin$P_03$P_3_1_3_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_03.P_3_1_3_01.draw \x3d (function sketches$generative_desgin$P_03$P_3_1_3_01$draw(p__26576){\nvar map__26577 \x3d p__26576;\nvar map__26577__$1 \x3d cljs.core.__destructure_map(map__26577);\nvar text \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26577__$1,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697));\nvar counts \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__26577__$1,new cljs.core.Keyword(null,\x22counts\x22,\x22counts\x22,234305892));\nquil.core.clear();\n\nquil.core.text_size((11));\n\nvar padding_left \x3d (15);\nvar x \x3d padding_left;\nvar idx \x3d (0);\nvar y \x3d (15);\nwhile(true){\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(text,idx);\nvar m \x3d quil.core.constrain(quil.core.map_range(quil.core.mouse_x(),(50),(quil.core.width() - (50)),(0),(1)),(0),(1));\nvar alph_idx \x3d sketches.generative_desgin.P_03.P_3_1_3_01.alphabet.indexOf(clojure.string.upper_case(char$));\nvar inter_y \x3d quil.core.lerp(y,((15) + (alph_idx * (20))),m);\nquil.core.fill.cljs$core$IFn$_invoke$arity$4((87),(35),(129),((counts.cljs$core$IFn$_invoke$arity$1 ? counts.cljs$core$IFn$_invoke$arity$1(char$) : counts.call(null,char$)) * (3)));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(char$,x,inter_y);\n\nif((idx \x3c (cljs.core.count(text) - (1)))){\nvar new_x \x3d (x + quil.core.text_width(char$));\nvar new_line_QMARK_ \x3d (((new_x \x3e (quil.core.width() - (65)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(char$,\x22 \x22)));\nvar G__26582 \x3d ((new_line_QMARK_)?padding_left:new_x);\nvar G__26583 \x3d (idx + (1));\nvar G__26584 \x3d ((new_line_QMARK_)?((20) + y):y);\nx \x3d G__26582;\nidx \x3d G__26583;\ny \x3d G__26584;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nsketches.generative_desgin.P_03.P_3_1_3_01.run \x3d (function sketches$generative_desgin$P_03$P_3_1_3_01$run(host){\nsketches.generative_desgin.P_03.P_3_1_3_01.text_frequencies \x3d (function sketches$generative_desgin$P_03$P_3_1_3_01$run_$_text_frequencies(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26586__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26586 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26587__i \x3d 0, G__26587__a \x3d new Array(arguments.length - 0);\nwhile (G__26587__i \x3c G__26587__a.length) {G__26587__a[G__26587__i] \x3d arguments[G__26587__i + 0]; ++G__26587__i;}\n args \x3d new cljs.core.IndexedSeq(G__26587__a,0,null);\n} \nreturn G__26586__delegate.call(this,args);};\nG__26586.cljs$lang$maxFixedArity \x3d 0;\nG__26586.cljs$lang$applyTo \x3d (function (arglist__26588){\nvar args \x3d cljs.core.seq(arglist__26588);\nreturn G__26586__delegate(args);\n});\nG__26586.cljs$core$IFn$_invoke$arity$variadic \x3d G__26586__delegate;\nreturn G__26586;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_3_01.update_state))?(function() { \nvar G__26589__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_3_01.update_state,args);\n};\nvar G__26589 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26590__i \x3d 0, G__26590__a \x3d new Array(arguments.length - 0);\nwhile (G__26590__i \x3c G__26590__a.length) {G__26590__a[G__26590__i] \x3d arguments[G__26590__i + 0]; ++G__26590__i;}\n args \x3d new cljs.core.IndexedSeq(G__26590__a,0,null);\n} \nreturn G__26589__delegate.call(this,args);};\nG__26589.cljs$lang$maxFixedArity \x3d 0;\nG__26589.cljs$lang$applyTo \x3d (function (arglist__26591){\nvar args \x3d cljs.core.seq(arglist__26591);\nreturn G__26589__delegate(args);\n});\nG__26589.cljs$core$IFn$_invoke$arity$variadic \x3d G__26589__delegate;\nreturn G__26589;\n})()\n:sketches.generative_desgin.P_03.P_3_1_3_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_3_01.setup))?(function() { \nvar G__26592__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_3_01.setup,args);\n};\nvar G__26592 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26593__i \x3d 0, G__26593__a \x3d new Array(arguments.length - 0);\nwhile (G__26593__i \x3c G__26593__a.length) {G__26593__a[G__26593__i] \x3d arguments[G__26593__i + 0]; ++G__26593__i;}\n args \x3d new cljs.core.IndexedSeq(G__26593__a,0,null);\n} \nreturn G__26592__delegate.call(this,args);};\nG__26592.cljs$lang$maxFixedArity \x3d 0;\nG__26592.cljs$lang$applyTo \x3d (function (arglist__26594){\nvar args \x3d cljs.core.seq(arglist__26594);\nreturn G__26592__delegate(args);\n});\nG__26592.cljs$core$IFn$_invoke$arity$variadic \x3d G__26592__delegate;\nreturn G__26592;\n})()\n:sketches.generative_desgin.P_03.P_3_1_3_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_3_01.draw))?(function() { \nvar G__26595__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_3_01.draw,args);\n};\nvar G__26595 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26596__i \x3d 0, G__26596__a \x3d new Array(arguments.length - 0);\nwhile (G__26596__i \x3c G__26596__a.length) {G__26596__a[G__26596__i] \x3d arguments[G__26596__i + 0]; ++G__26596__i;}\n args \x3d new cljs.core.IndexedSeq(G__26596__a,0,null);\n} \nreturn G__26595__delegate.call(this,args);};\nG__26595.cljs$lang$maxFixedArity \x3d 0;\nG__26595.cljs$lang$applyTo \x3d (function (arglist__26597){\nvar args \x3d cljs.core.seq(arglist__26597);\nreturn G__26595__delegate(args);\n});\nG__26595.cljs$core$IFn$_invoke$arity$variadic \x3d G__26595__delegate;\nreturn G__26595;\n})()\n:sketches.generative_desgin.P_03.P_3_1_3_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_03.P_3_1_3_01.text_frequencies\x27, sketches.generative_desgin.P_03.P_3_1_3_01.text_frequencies);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_03.P_3_1_3_01.text_frequencies,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26598__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26598 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26599__i \x3d 0, G__26599__a \x3d new Array(arguments.length - 0);\nwhile (G__26599__i \x3c G__26599__a.length) {G__26599__a[G__26599__i] \x3d arguments[G__26599__i + 0]; ++G__26599__i;}\n args \x3d new cljs.core.IndexedSeq(G__26599__a,0,null);\n} \nreturn G__26598__delegate.call(this,args);};\nG__26598.cljs$lang$maxFixedArity \x3d 0;\nG__26598.cljs$lang$applyTo \x3d (function (arglist__26600){\nvar args \x3d cljs.core.seq(arglist__26600);\nreturn G__26598__delegate(args);\n});\nG__26598.cljs$core$IFn$_invoke$arity$variadic \x3d G__26598__delegate;\nreturn G__26598;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.P_03.P_3_1_4_01.js", true , "goog.provide(\x27sketches.generative_desgin.P_03.P_3_1_4_01\x27);\nsketches.generative_desgin.P_03.P_3_1_4_01.text \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(\x22\x22);\nwindow.fetch(\x22data/pride_and_prejudice.txt\x22).then((function (p1__31696_SHARP_){\nreturn p1__31696_SHARP_.text();\n})).then((function (p1__31697_SHARP_){\nreturn cljs.core.reset_BANG_(sketches.generative_desgin.P_03.P_3_1_4_01.text,p1__31697_SHARP_);\n}));\nsketches.generative_desgin.P_03.P_3_1_4_01.setup \x3d (function sketches$generative_desgin$P_03$P_3_1_4_01$setup(){\nquil.core.text_align.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368),new cljs.core.Keyword(null,\x22baseline\x22,\x22baseline\x22,1151033280));\n\nvar words \x3d cljs.core.re_seq(/\\w+/,cljs.core.deref(sketches.generative_desgin.P_03.P_3_1_4_01.text));\nvar treemap \x3d (new gd.Treemap((1),(1),(297),(297),({\x22sort\x22: true, \x22direction\x22: \x22both\x22})));\nvar seq__31698_31708 \x3d cljs.core.seq(words);\nvar chunk__31699_31709 \x3d null;\nvar count__31700_31710 \x3d (0);\nvar i__31701_31711 \x3d (0);\nwhile(true){\nif((i__31701_31711 \x3c count__31700_31710)){\nvar word_31712 \x3d chunk__31699_31709.cljs$core$IIndexed$_nth$arity$2(null,i__31701_31711);\ntreemap.addData(clojure.string.lower_case(word_31712));\n\n\nvar G__31713 \x3d seq__31698_31708;\nvar G__31714 \x3d chunk__31699_31709;\nvar G__31715 \x3d count__31700_31710;\nvar G__31716 \x3d (i__31701_31711 + (1));\nseq__31698_31708 \x3d G__31713;\nchunk__31699_31709 \x3d G__31714;\ncount__31700_31710 \x3d G__31715;\ni__31701_31711 \x3d G__31716;\ncontinue;\n} else {\nvar temp__5804__auto___31717 \x3d cljs.core.seq(seq__31698_31708);\nif(temp__5804__auto___31717){\nvar seq__31698_31718__$1 \x3d temp__5804__auto___31717;\nif(cljs.core.chunked_seq_QMARK_(seq__31698_31718__$1)){\nvar c__5568__auto___31719 \x3d cljs.core.chunk_first(seq__31698_31718__$1);\nvar G__31720 \x3d cljs.core.chunk_rest(seq__31698_31718__$1);\nvar G__31721 \x3d c__5568__auto___31719;\nvar G__31722 \x3d cljs.core.count(c__5568__auto___31719);\nvar G__31723 \x3d (0);\nseq__31698_31708 \x3d G__31720;\nchunk__31699_31709 \x3d G__31721;\ncount__31700_31710 \x3d G__31722;\ni__31701_31711 \x3d G__31723;\ncontinue;\n} else {\nvar word_31724 \x3d cljs.core.first(seq__31698_31718__$1);\ntreemap.addData(clojure.string.lower_case(word_31724));\n\n\nvar G__31725 \x3d cljs.core.next(seq__31698_31718__$1);\nvar G__31726 \x3d null;\nvar G__31727 \x3d (0);\nvar G__31728 \x3d (0);\nseq__31698_31708 \x3d G__31725;\nchunk__31699_31709 \x3d G__31726;\ncount__31700_31710 \x3d G__31727;\ni__31701_31711 \x3d G__31728;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ntreemap.calculate();\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22treemap\x22,\x22treemap\x22,-1907188397),treemap], null);\n});\nsketches.generative_desgin.P_03.P_3_1_4_01.update_state \x3d (function sketches$generative_desgin$P_03$P_3_1_4_01$update_state(state){\nreturn state;\n});\nsketches.generative_desgin.P_03.P_3_1_4_01.draw \x3d (function sketches$generative_desgin$P_03$P_3_1_4_01$draw(p__31702){\nvar map__31703 \x3d p__31702;\nvar map__31703__$1 \x3d cljs.core.__destructure_map(map__31703);\nvar treemap \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31703__$1,new cljs.core.Keyword(null,\x22treemap\x22,\x22treemap\x22,-1907188397));\nvar seq__31704_31729 \x3d cljs.core.seq(treemap.items);\nvar chunk__31705_31730 \x3d null;\nvar count__31706_31731 \x3d (0);\nvar i__31707_31732 \x3d (0);\nwhile(true){\nif((i__31707_31732 \x3c count__31706_31731)){\nvar item_31733 \x3d chunk__31705_31730.cljs$core$IIndexed$_nth$arity$2(null,i__31707_31732);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(item_31733.x,item_31733.y,item_31733.w,item_31733.h);\n\nvar word_31734 \x3d item_31733.data;\nvar text_width_31735 \x3d quil.core.text_width(word_31734);\nvar max_font_size_31736 \x3d (((100) * (item_31733.w * 0.9)) / text_width_31735);\nvar font_size_31737 \x3d Math.min(max_font_size_31736,(item_31733.h * 0.9));\nquil.core.text_size(font_size_31737);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.no_stroke();\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(word_31734,(item_31733.x + (item_31733.w / (2))),(item_31733.y + (item_31733.h * 0.8)));\n\n\nvar G__31738 \x3d seq__31704_31729;\nvar G__31739 \x3d chunk__31705_31730;\nvar G__31740 \x3d count__31706_31731;\nvar G__31741 \x3d (i__31707_31732 + (1));\nseq__31704_31729 \x3d G__31738;\nchunk__31705_31730 \x3d G__31739;\ncount__31706_31731 \x3d G__31740;\ni__31707_31732 \x3d G__31741;\ncontinue;\n} else {\nvar temp__5804__auto___31742 \x3d cljs.core.seq(seq__31704_31729);\nif(temp__5804__auto___31742){\nvar seq__31704_31743__$1 \x3d temp__5804__auto___31742;\nif(cljs.core.chunked_seq_QMARK_(seq__31704_31743__$1)){\nvar c__5568__auto___31744 \x3d cljs.core.chunk_first(seq__31704_31743__$1);\nvar G__31745 \x3d cljs.core.chunk_rest(seq__31704_31743__$1);\nvar G__31746 \x3d c__5568__auto___31744;\nvar G__31747 \x3d cljs.core.count(c__5568__auto___31744);\nvar G__31748 \x3d (0);\nseq__31704_31729 \x3d G__31745;\nchunk__31705_31730 \x3d G__31746;\ncount__31706_31731 \x3d G__31747;\ni__31707_31732 \x3d G__31748;\ncontinue;\n} else {\nvar item_31749 \x3d cljs.core.first(seq__31704_31743__$1);\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(item_31749.x,item_31749.y,item_31749.w,item_31749.h);\n\nvar word_31750 \x3d item_31749.data;\nvar text_width_31751 \x3d quil.core.text_width(word_31750);\nvar max_font_size_31752 \x3d (((100) * (item_31749.w * 0.9)) / text_width_31751);\nvar font_size_31753 \x3d Math.min(max_font_size_31752,(item_31749.h * 0.9));\nquil.core.text_size(font_size_31753);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.no_stroke();\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3(word_31750,(item_31749.x + (item_31749.w / (2))),(item_31749.y + (item_31749.h * 0.8)));\n\n\nvar G__31754 \x3d cljs.core.next(seq__31704_31743__$1);\nvar G__31755 \x3d null;\nvar G__31756 \x3d (0);\nvar G__31757 \x3d (0);\nseq__31704_31729 \x3d G__31754;\nchunk__31705_31730 \x3d G__31755;\ncount__31706_31731 \x3d G__31756;\ni__31707_31732 \x3d G__31757;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn quil.core.no_loop();\n});\nsketches.generative_desgin.P_03.P_3_1_4_01.run \x3d (function sketches$generative_desgin$P_03$P_3_1_4_01$run(host){\nsketches.generative_desgin.P_03.P_3_1_4_01.text_treemap \x3d (function sketches$generative_desgin$P_03$P_3_1_4_01$run_$_text_treemap(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31758__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31758 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31759__i \x3d 0, G__31759__a \x3d new Array(arguments.length - 0);\nwhile (G__31759__i \x3c G__31759__a.length) {G__31759__a[G__31759__i] \x3d arguments[G__31759__i + 0]; ++G__31759__i;}\n args \x3d new cljs.core.IndexedSeq(G__31759__a,0,null);\n} \nreturn G__31758__delegate.call(this,args);};\nG__31758.cljs$lang$maxFixedArity \x3d 0;\nG__31758.cljs$lang$applyTo \x3d (function (arglist__31760){\nvar args \x3d cljs.core.seq(arglist__31760);\nreturn G__31758__delegate(args);\n});\nG__31758.cljs$core$IFn$_invoke$arity$variadic \x3d G__31758__delegate;\nreturn G__31758;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_4_01.update_state))?(function() { \nvar G__31761__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_4_01.update_state,args);\n};\nvar G__31761 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31762__i \x3d 0, G__31762__a \x3d new Array(arguments.length - 0);\nwhile (G__31762__i \x3c G__31762__a.length) {G__31762__a[G__31762__i] \x3d arguments[G__31762__i + 0]; ++G__31762__i;}\n args \x3d new cljs.core.IndexedSeq(G__31762__a,0,null);\n} \nreturn G__31761__delegate.call(this,args);};\nG__31761.cljs$lang$maxFixedArity \x3d 0;\nG__31761.cljs$lang$applyTo \x3d (function (arglist__31763){\nvar args \x3d cljs.core.seq(arglist__31763);\nreturn G__31761__delegate(args);\n});\nG__31761.cljs$core$IFn$_invoke$arity$variadic \x3d G__31761__delegate;\nreturn G__31761;\n})()\n:sketches.generative_desgin.P_03.P_3_1_4_01.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_4_01.setup))?(function() { \nvar G__31764__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_4_01.setup,args);\n};\nvar G__31764 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31765__i \x3d 0, G__31765__a \x3d new Array(arguments.length - 0);\nwhile (G__31765__i \x3c G__31765__a.length) {G__31765__a[G__31765__i] \x3d arguments[G__31765__i + 0]; ++G__31765__i;}\n args \x3d new cljs.core.IndexedSeq(G__31765__a,0,null);\n} \nreturn G__31764__delegate.call(this,args);};\nG__31764.cljs$lang$maxFixedArity \x3d 0;\nG__31764.cljs$lang$applyTo \x3d (function (arglist__31766){\nvar args \x3d cljs.core.seq(arglist__31766);\nreturn G__31764__delegate(args);\n});\nG__31764.cljs$core$IFn$_invoke$arity$variadic \x3d G__31764__delegate;\nreturn G__31764;\n})()\n:sketches.generative_desgin.P_03.P_3_1_4_01.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.generative_desgin.P_03.P_3_1_4_01.draw))?(function() { \nvar G__31767__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.generative_desgin.P_03.P_3_1_4_01.draw,args);\n};\nvar G__31767 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31768__i \x3d 0, G__31768__a \x3d new Array(arguments.length - 0);\nwhile (G__31768__i \x3c G__31768__a.length) {G__31768__a[G__31768__i] \x3d arguments[G__31768__i + 0]; ++G__31768__i;}\n args \x3d new cljs.core.IndexedSeq(G__31768__a,0,null);\n} \nreturn G__31767__delegate.call(this,args);};\nG__31767.cljs$lang$maxFixedArity \x3d 0;\nG__31767.cljs$lang$applyTo \x3d (function (arglist__31769){\nvar args \x3d cljs.core.seq(arglist__31769);\nreturn G__31767__delegate(args);\n});\nG__31767.cljs$core$IFn$_invoke$arity$variadic \x3d G__31767__delegate;\nreturn G__31767;\n})()\n:sketches.generative_desgin.P_03.P_3_1_4_01.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.generative_desgin.P_03.P_3_1_4_01.text_treemap\x27, sketches.generative_desgin.P_03.P_3_1_4_01.text_treemap);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.generative_desgin.P_03.P_3_1_4_01.text_treemap,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31770__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31770 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31771__i \x3d 0, G__31771__a \x3d new Array(arguments.length - 0);\nwhile (G__31771__i \x3c G__31771__a.length) {G__31771__a[G__31771__i] \x3d arguments[G__31771__i + 0]; ++G__31771__i;}\n args \x3d new cljs.core.IndexedSeq(G__31771__a,0,null);\n} \nreturn G__31770__delegate.call(this,args);};\nG__31770.cljs$lang$maxFixedArity \x3d 0;\nG__31770.cljs$lang$applyTo \x3d (function (arglist__31772){\nvar args \x3d cljs.core.seq(arglist__31772);\nreturn G__31770__delegate(args);\n});\nG__31770.cljs$core$IFn$_invoke$arity$variadic \x3d G__31770__delegate;\nreturn G__31770;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.generative_desgin.core.js", true , "goog.provide(\x27sketches.generative_desgin.core\x27);\nsketches.generative_desgin.core.main \x3d (function sketches$generative_desgin$core$main(){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.section,\x22Generative Design\x22,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),\x22Exercises of \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22http://www.generative-gestaltung.de/2/\x22], null),\x22Generative Design\x22], null),\x22 \x22,\x22 implemented in ClojureScript.\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Color\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Hello, color\x22,\x22P_1_0_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_1_0_01\x22,sketches.generative_desgin.P_01.P_1_0_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Color spectrum in grid\x22,\x22P-1-1-1-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_1_1_1_01\x22,sketches.generative_desgin.P_01.P_1_1_1_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Color spectrum in a circle\x22,\x22P-1-1-2-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_1_1_2_01\x22,sketches.generative_desgin.P_01.P_1_1_2_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Color palettes interpolation\x22,\x22P-1-2-1-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_1_2_1_01\x22,sketches.generative_desgin.P_01.P_1_2_1_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Color palettes from rules\x22,\x22P-1-2-3-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_1_2_3_01\x22,sketches.generative_desgin.P_01.P_1_2_3_01.run], null)], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Shape\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 17, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Hello, Shape\x22,\x22P_2_0_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_0_01\x22,sketches.generative_desgin.P_02.P_2_0_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Alignment in a grid\x22,\x22P_2_1_1_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_1_1_01\x22,sketches.generative_desgin.P_02.P_2_1_1_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Movement in a grid\x22,\x22P_2_1_2_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_1_2_01\x22,sketches.generative_desgin.P_02.P_2_1_2_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Complex modules in a grid\x22,\x22P_2_1_3_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_1_3_01\x22,sketches.generative_desgin.P_02.P_2_1_3_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Checkboxes in a grid\x22,\x22P_2_1_4_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_1_4_01\x22,sketches.generative_desgin.P_02.P_2_1_4_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22From grid to moir\\u00E9\x22,\x22P_2_1_5_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_1_5_01\x22,sketches.generative_desgin.P_02.P_2_1_5_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Dumb agents\x22,\x22P-2-2-1-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_2_1_01\x22,sketches.generative_desgin.P_02.P_2_2_1_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Shape from agents\x22,\x22P-2-2-3-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_2_3_01\x22,sketches.generative_desgin.P_02.P_2_2_3_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Growth structure from agents\x22,\x22P-2-2-4-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_2_4_01\x22,sketches.generative_desgin.P_02.P_2_2_4_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Structural density from agents\x22,\x22P-2-2-5-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_2_5_01\x22,sketches.generative_desgin.P_02.P_2_2_5_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Agents on a pendulum\x22,\x22P-2-2-6-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_2_6_01\x22,sketches.generative_desgin.P_02.P_2_2_6_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Drawing with brushes\x22,\x22P-2-3-1-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_3_1_01\x22,sketches.generative_desgin.P_02.P_2_3_1_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Drawing with type\x22,\x22P-2-3-3-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_3_3_01\x22,sketches.generative_desgin.P_02.P_2_3_3_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Drawing with dynamic brush\x22,\x22P-2-3-4-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_3_4_01\x22,sketches.generative_desgin.P_02.P_2_3_4_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Drawing with complex modules\x22,\x22P-2-3-6-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_3_6_01\x22,sketches.generative_desgin.P_02.P_2_3_6_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Drawing with multiple brushes\x22,\x22P-2-3-7-01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_2_3_7_01\x22,sketches.generative_desgin.P_02.P_2_3_7_01.run], null)], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Type\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Hello, Type\x22,\x22P_3_0_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_3_0_01\x22,sketches.generative_desgin.P_03.P_3_0_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Text as blueprint\x22,\x22P_3_1_2_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_3_1_2_01\x22,sketches.generative_desgin.P_03.P_3_1_2_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Text frequencies\x22,\x22P_3_1_3_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_3_1_3_01\x22,sketches.generative_desgin.P_03.P_3_1_3_01.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Text treemap\x22,\x22P_3_1_4_01\x22,\x22http://www.generative-gestaltung.de/2/sketches/?01_P/P_3_1_4_01\x22,sketches.generative_desgin.P_03.P_3_1_4_01.run], null)], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.noise_animate.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.noise_animate\x27);\nsketches.nature_of_code.introduction.noise_animate.setup \x3d (function sketches$nature_of_code$introduction$noise_animate$setup(){\nquil.core.frame_rate((3));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.noise_animate.zoff \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nsketches.nature_of_code.introduction.noise_animate.draw \x3d (function sketches$nature_of_code$introduction$noise_animate$draw(host){\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar xoff_26895 \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26615_26896 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.width()));\nvar chunk__26616_26897 \x3d null;\nvar count__26617_26898 \x3d (0);\nvar i__26618_26899 \x3d (0);\nwhile(true){\nif((i__26618_26899 \x3c count__26617_26898)){\nvar x_26900 \x3d chunk__26616_26897.cljs$core$IIndexed$_nth$arity$2(null,i__26618_26899);\nvar yoff_26901 \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26663_26902 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.height()));\nvar chunk__26664_26903 \x3d null;\nvar count__26665_26904 \x3d (0);\nvar i__26666_26905 \x3d (0);\nwhile(true){\nif((i__26666_26905 \x3c count__26665_26904)){\nvar y_26906 \x3d chunk__26664_26903.cljs$core$IIndexed$_nth$arity$2(null,i__26666_26905);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(xoff_26895),cljs.core.deref(yoff_26901),cljs.core.deref(sketches.nature_of_code.introduction.noise_animate.zoff)),(0),(1),(0),(255)));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x_26900,y_26906);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26901,((function (seq__26663_26902,chunk__26664_26903,count__26665_26904,i__26666_26905,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26906,yoff_26901,x_26900,xoff_26895){\nreturn (function (p1__26612_SHARP_){\nreturn (0.05 + p1__26612_SHARP_);\n});})(seq__26663_26902,chunk__26664_26903,count__26665_26904,i__26666_26905,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26906,yoff_26901,x_26900,xoff_26895))\n);\n\n\nvar G__26907 \x3d seq__26663_26902;\nvar G__26908 \x3d chunk__26664_26903;\nvar G__26909 \x3d count__26665_26904;\nvar G__26910 \x3d (i__26666_26905 + (1));\nseq__26663_26902 \x3d G__26907;\nchunk__26664_26903 \x3d G__26908;\ncount__26665_26904 \x3d G__26909;\ni__26666_26905 \x3d G__26910;\ncontinue;\n} else {\nvar temp__5804__auto___26911 \x3d cljs.core.seq(seq__26663_26902);\nif(temp__5804__auto___26911){\nvar seq__26663_26912__$1 \x3d temp__5804__auto___26911;\nif(cljs.core.chunked_seq_QMARK_(seq__26663_26912__$1)){\nvar c__5568__auto___26913 \x3d cljs.core.chunk_first(seq__26663_26912__$1);\nvar G__26914 \x3d cljs.core.chunk_rest(seq__26663_26912__$1);\nvar G__26915 \x3d c__5568__auto___26913;\nvar G__26916 \x3d cljs.core.count(c__5568__auto___26913);\nvar G__26917 \x3d (0);\nseq__26663_26902 \x3d G__26914;\nchunk__26664_26903 \x3d G__26915;\ncount__26665_26904 \x3d G__26916;\ni__26666_26905 \x3d G__26917;\ncontinue;\n} else {\nvar y_26918 \x3d cljs.core.first(seq__26663_26912__$1);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(xoff_26895),cljs.core.deref(yoff_26901),cljs.core.deref(sketches.nature_of_code.introduction.noise_animate.zoff)),(0),(1),(0),(255)));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x_26900,y_26918);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26901,((function (seq__26663_26902,chunk__26664_26903,count__26665_26904,i__26666_26905,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26918,seq__26663_26912__$1,temp__5804__auto___26911,yoff_26901,x_26900,xoff_26895){\nreturn (function (p1__26612_SHARP_){\nreturn (0.05 + p1__26612_SHARP_);\n});})(seq__26663_26902,chunk__26664_26903,count__26665_26904,i__26666_26905,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26918,seq__26663_26912__$1,temp__5804__auto___26911,yoff_26901,x_26900,xoff_26895))\n);\n\n\nvar G__26919 \x3d cljs.core.next(seq__26663_26912__$1);\nvar G__26920 \x3d null;\nvar G__26921 \x3d (0);\nvar G__26922 \x3d (0);\nseq__26663_26902 \x3d G__26919;\nchunk__26664_26903 \x3d G__26920;\ncount__26665_26904 \x3d G__26921;\ni__26666_26905 \x3d G__26922;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(xoff_26895,((function (seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,yoff_26901,x_26900,xoff_26895){\nreturn (function (p1__26613_SHARP_){\nreturn (0.05 + p1__26613_SHARP_);\n});})(seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,yoff_26901,x_26900,xoff_26895))\n);\n\n\nvar G__26923 \x3d seq__26615_26896;\nvar G__26924 \x3d chunk__26616_26897;\nvar G__26925 \x3d count__26617_26898;\nvar G__26926 \x3d (i__26618_26899 + (1));\nseq__26615_26896 \x3d G__26923;\nchunk__26616_26897 \x3d G__26924;\ncount__26617_26898 \x3d G__26925;\ni__26618_26899 \x3d G__26926;\ncontinue;\n} else {\nvar temp__5804__auto___26927 \x3d cljs.core.seq(seq__26615_26896);\nif(temp__5804__auto___26927){\nvar seq__26615_26928__$1 \x3d temp__5804__auto___26927;\nif(cljs.core.chunked_seq_QMARK_(seq__26615_26928__$1)){\nvar c__5568__auto___26929 \x3d cljs.core.chunk_first(seq__26615_26928__$1);\nvar G__26930 \x3d cljs.core.chunk_rest(seq__26615_26928__$1);\nvar G__26931 \x3d c__5568__auto___26929;\nvar G__26932 \x3d cljs.core.count(c__5568__auto___26929);\nvar G__26933 \x3d (0);\nseq__26615_26896 \x3d G__26930;\nchunk__26616_26897 \x3d G__26931;\ncount__26617_26898 \x3d G__26932;\ni__26618_26899 \x3d G__26933;\ncontinue;\n} else {\nvar x_26934 \x3d cljs.core.first(seq__26615_26928__$1);\nvar yoff_26935 \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26762_26936 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.height()));\nvar chunk__26764_26937 \x3d null;\nvar count__26765_26938 \x3d (0);\nvar i__26766_26939 \x3d (0);\nwhile(true){\nif((i__26766_26939 \x3c count__26765_26938)){\nvar y_26940 \x3d chunk__26764_26937.cljs$core$IIndexed$_nth$arity$2(null,i__26766_26939);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(xoff_26895),cljs.core.deref(yoff_26935),cljs.core.deref(sketches.nature_of_code.introduction.noise_animate.zoff)),(0),(1),(0),(255)));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x_26934,y_26940);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26935,((function (seq__26762_26936,chunk__26764_26937,count__26765_26938,i__26766_26939,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26940,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895){\nreturn (function (p1__26612_SHARP_){\nreturn (0.05 + p1__26612_SHARP_);\n});})(seq__26762_26936,chunk__26764_26937,count__26765_26938,i__26766_26939,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26940,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895))\n);\n\n\nvar G__26941 \x3d seq__26762_26936;\nvar G__26942 \x3d chunk__26764_26937;\nvar G__26943 \x3d count__26765_26938;\nvar G__26944 \x3d (i__26766_26939 + (1));\nseq__26762_26936 \x3d G__26941;\nchunk__26764_26937 \x3d G__26942;\ncount__26765_26938 \x3d G__26943;\ni__26766_26939 \x3d G__26944;\ncontinue;\n} else {\nvar temp__5804__auto___26945__$1 \x3d cljs.core.seq(seq__26762_26936);\nif(temp__5804__auto___26945__$1){\nvar seq__26762_26946__$1 \x3d temp__5804__auto___26945__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__26762_26946__$1)){\nvar c__5568__auto___26947 \x3d cljs.core.chunk_first(seq__26762_26946__$1);\nvar G__26948 \x3d cljs.core.chunk_rest(seq__26762_26946__$1);\nvar G__26949 \x3d c__5568__auto___26947;\nvar G__26950 \x3d cljs.core.count(c__5568__auto___26947);\nvar G__26951 \x3d (0);\nseq__26762_26936 \x3d G__26948;\nchunk__26764_26937 \x3d G__26949;\ncount__26765_26938 \x3d G__26950;\ni__26766_26939 \x3d G__26951;\ncontinue;\n} else {\nvar y_26952 \x3d cljs.core.first(seq__26762_26946__$1);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(xoff_26895),cljs.core.deref(yoff_26935),cljs.core.deref(sketches.nature_of_code.introduction.noise_animate.zoff)),(0),(1),(0),(255)));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x_26934,y_26952);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26935,((function (seq__26762_26936,chunk__26764_26937,count__26765_26938,i__26766_26939,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26952,seq__26762_26946__$1,temp__5804__auto___26945__$1,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895){\nreturn (function (p1__26612_SHARP_){\nreturn (0.05 + p1__26612_SHARP_);\n});})(seq__26762_26936,chunk__26764_26937,count__26765_26938,i__26766_26939,seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,y_26952,seq__26762_26946__$1,temp__5804__auto___26945__$1,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895))\n);\n\n\nvar G__26953 \x3d cljs.core.next(seq__26762_26946__$1);\nvar G__26954 \x3d null;\nvar G__26955 \x3d (0);\nvar G__26956 \x3d (0);\nseq__26762_26936 \x3d G__26953;\nchunk__26764_26937 \x3d G__26954;\ncount__26765_26938 \x3d G__26955;\ni__26766_26939 \x3d G__26956;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(xoff_26895,((function (seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895){\nreturn (function (p1__26613_SHARP_){\nreturn (0.05 + p1__26613_SHARP_);\n});})(seq__26615_26896,chunk__26616_26897,count__26617_26898,i__26618_26899,yoff_26935,x_26934,seq__26615_26928__$1,temp__5804__auto___26927,xoff_26895))\n);\n\n\nvar G__26957 \x3d cljs.core.next(seq__26615_26928__$1);\nvar G__26958 \x3d null;\nvar G__26959 \x3d (0);\nvar G__26960 \x3d (0);\nseq__26615_26896 \x3d G__26957;\nchunk__26616_26897 \x3d G__26958;\ncount__26617_26898 \x3d G__26959;\ni__26618_26899 \x3d G__26960;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_animate.zoff,(function (p1__26614_SHARP_){\nreturn (0.05 + p1__26614_SHARP_);\n}));\n});\nsketches.nature_of_code.introduction.noise_animate.run \x3d (function sketches$nature_of_code$introduction$noise_animate$run(host){\nsketches.nature_of_code.introduction.noise_animate.noise \x3d (function sketches$nature_of_code$introduction$noise_animate$run_$_noise(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26961__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26961 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26962__i \x3d 0, G__26962__a \x3d new Array(arguments.length - 0);\nwhile (G__26962__i \x3c G__26962__a.length) {G__26962__a[G__26962__i] \x3d arguments[G__26962__i + 0]; ++G__26962__i;}\n args \x3d new cljs.core.IndexedSeq(G__26962__a,0,null);\n} \nreturn G__26961__delegate.call(this,args);};\nG__26961.cljs$lang$maxFixedArity \x3d 0;\nG__26961.cljs$lang$applyTo \x3d (function (arglist__26963){\nvar args \x3d cljs.core.seq(arglist__26963);\nreturn G__26961__delegate(args);\n});\nG__26961.cljs$core$IFn$_invoke$arity$variadic \x3d G__26961__delegate;\nreturn G__26961;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.noise_animate.setup))?(function() { \nvar G__26964__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_animate.setup,args);\n};\nvar G__26964 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26965__i \x3d 0, G__26965__a \x3d new Array(arguments.length - 0);\nwhile (G__26965__i \x3c G__26965__a.length) {G__26965__a[G__26965__i] \x3d arguments[G__26965__i + 0]; ++G__26965__i;}\n args \x3d new cljs.core.IndexedSeq(G__26965__a,0,null);\n} \nreturn G__26964__delegate.call(this,args);};\nG__26964.cljs$lang$maxFixedArity \x3d 0;\nG__26964.cljs$lang$applyTo \x3d (function (arglist__26966){\nvar args \x3d cljs.core.seq(arglist__26966);\nreturn G__26964__delegate(args);\n});\nG__26964.cljs$core$IFn$_invoke$arity$variadic \x3d G__26964__delegate;\nreturn G__26964;\n})()\n:sketches.nature_of_code.introduction.noise_animate.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.noise_animate.draw))?(function() { \nvar G__26967__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_animate.draw,args);\n};\nvar G__26967 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26968__i \x3d 0, G__26968__a \x3d new Array(arguments.length - 0);\nwhile (G__26968__i \x3c G__26968__a.length) {G__26968__a[G__26968__i] \x3d arguments[G__26968__i + 0]; ++G__26968__i;}\n args \x3d new cljs.core.IndexedSeq(G__26968__a,0,null);\n} \nreturn G__26967__delegate.call(this,args);};\nG__26967.cljs$lang$maxFixedArity \x3d 0;\nG__26967.cljs$lang$applyTo \x3d (function (arglist__26969){\nvar args \x3d cljs.core.seq(arglist__26969);\nreturn G__26967__delegate(args);\n});\nG__26967.cljs$core$IFn$_invoke$arity$variadic \x3d G__26967__delegate;\nreturn G__26967;\n})()\n:sketches.nature_of_code.introduction.noise_animate.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.noise_animate.noise\x27, sketches.nature_of_code.introduction.noise_animate.noise);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.noise_animate.noise,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26970__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26970 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26971__i \x3d 0, G__26971__a \x3d new Array(arguments.length - 0);\nwhile (G__26971__i \x3c G__26971__a.length) {G__26971__a[G__26971__i] \x3d arguments[G__26971__i + 0]; ++G__26971__i;}\n args \x3d new cljs.core.IndexedSeq(G__26971__a,0,null);\n} \nreturn G__26970__delegate.call(this,args);};\nG__26970.cljs$lang$maxFixedArity \x3d 0;\nG__26970.cljs$lang$applyTo \x3d (function (arglist__26972){\nvar args \x3d cljs.core.seq(arglist__26972);\nreturn G__26970__delegate(args);\n});\nG__26970.cljs$core$IFn$_invoke$arity$variadic \x3d G__26970__delegate;\nreturn G__26970;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.noise_detail.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.noise_detail\x27);\nsketches.nature_of_code.introduction.noise_detail.setup \x3d (function sketches$nature_of_code$introduction$noise_detail$setup(){\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nquil.core.noise_detail.cljs$core$IFn$_invoke$arity$2((4),0.35);\n\nvar xoff \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26608 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.width()));\nvar chunk__26609 \x3d null;\nvar count__26610 \x3d (0);\nvar i__26611 \x3d (0);\nwhile(true){\nif((i__26611 \x3c count__26610)){\nvar x \x3d chunk__26609.cljs$core$IIndexed$_nth$arity$2(null,i__26611);\nvar yoff_26793 \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26671_26794 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.height()));\nvar chunk__26672_26795 \x3d null;\nvar count__26673_26796 \x3d (0);\nvar i__26674_26797 \x3d (0);\nwhile(true){\nif((i__26674_26797 \x3c count__26673_26796)){\nvar y_26798 \x3d chunk__26672_26795.cljs$core$IIndexed$_nth$arity$2(null,i__26674_26797);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff_26793)),(0),(1),(0),(255)),(255),(127));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x,y_26798);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26793,((function (seq__26671_26794,chunk__26672_26795,count__26673_26796,i__26674_26797,seq__26608,chunk__26609,count__26610,i__26611,y_26798,yoff_26793,x,xoff){\nreturn (function (p1__26605_SHARP_){\nreturn (0.03 + p1__26605_SHARP_);\n});})(seq__26671_26794,chunk__26672_26795,count__26673_26796,i__26674_26797,seq__26608,chunk__26609,count__26610,i__26611,y_26798,yoff_26793,x,xoff))\n);\n\n\nvar G__26799 \x3d seq__26671_26794;\nvar G__26800 \x3d chunk__26672_26795;\nvar G__26801 \x3d count__26673_26796;\nvar G__26802 \x3d (i__26674_26797 + (1));\nseq__26671_26794 \x3d G__26799;\nchunk__26672_26795 \x3d G__26800;\ncount__26673_26796 \x3d G__26801;\ni__26674_26797 \x3d G__26802;\ncontinue;\n} else {\nvar temp__5804__auto___26803 \x3d cljs.core.seq(seq__26671_26794);\nif(temp__5804__auto___26803){\nvar seq__26671_26804__$1 \x3d temp__5804__auto___26803;\nif(cljs.core.chunked_seq_QMARK_(seq__26671_26804__$1)){\nvar c__5568__auto___26805 \x3d cljs.core.chunk_first(seq__26671_26804__$1);\nvar G__26806 \x3d cljs.core.chunk_rest(seq__26671_26804__$1);\nvar G__26807 \x3d c__5568__auto___26805;\nvar G__26808 \x3d cljs.core.count(c__5568__auto___26805);\nvar G__26809 \x3d (0);\nseq__26671_26794 \x3d G__26806;\nchunk__26672_26795 \x3d G__26807;\ncount__26673_26796 \x3d G__26808;\ni__26674_26797 \x3d G__26809;\ncontinue;\n} else {\nvar y_26810 \x3d cljs.core.first(seq__26671_26804__$1);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff_26793)),(0),(1),(0),(255)),(255),(127));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x,y_26810);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26793,((function (seq__26671_26794,chunk__26672_26795,count__26673_26796,i__26674_26797,seq__26608,chunk__26609,count__26610,i__26611,y_26810,seq__26671_26804__$1,temp__5804__auto___26803,yoff_26793,x,xoff){\nreturn (function (p1__26605_SHARP_){\nreturn (0.03 + p1__26605_SHARP_);\n});})(seq__26671_26794,chunk__26672_26795,count__26673_26796,i__26674_26797,seq__26608,chunk__26609,count__26610,i__26611,y_26810,seq__26671_26804__$1,temp__5804__auto___26803,yoff_26793,x,xoff))\n);\n\n\nvar G__26811 \x3d cljs.core.next(seq__26671_26804__$1);\nvar G__26812 \x3d null;\nvar G__26813 \x3d (0);\nvar G__26814 \x3d (0);\nseq__26671_26794 \x3d G__26811;\nchunk__26672_26795 \x3d G__26812;\ncount__26673_26796 \x3d G__26813;\ni__26674_26797 \x3d G__26814;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(xoff,((function (seq__26608,chunk__26609,count__26610,i__26611,yoff_26793,x,xoff){\nreturn (function (p1__26606_SHARP_){\nreturn (0.03 + p1__26606_SHARP_);\n});})(seq__26608,chunk__26609,count__26610,i__26611,yoff_26793,x,xoff))\n);\n\n\nvar G__26815 \x3d seq__26608;\nvar G__26816 \x3d chunk__26609;\nvar G__26817 \x3d count__26610;\nvar G__26818 \x3d (i__26611 + (1));\nseq__26608 \x3d G__26815;\nchunk__26609 \x3d G__26816;\ncount__26610 \x3d G__26817;\ni__26611 \x3d G__26818;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__26608);\nif(temp__5804__auto__){\nvar seq__26608__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__26608__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__26608__$1);\nvar G__26819 \x3d cljs.core.chunk_rest(seq__26608__$1);\nvar G__26820 \x3d c__5568__auto__;\nvar G__26821 \x3d cljs.core.count(c__5568__auto__);\nvar G__26822 \x3d (0);\nseq__26608 \x3d G__26819;\nchunk__26609 \x3d G__26820;\ncount__26610 \x3d G__26821;\ni__26611 \x3d G__26822;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__26608__$1);\nvar yoff_26824 \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar seq__26712_26825 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),quil.core.height()));\nvar chunk__26713_26826 \x3d null;\nvar count__26714_26827 \x3d (0);\nvar i__26715_26828 \x3d (0);\nwhile(true){\nif((i__26715_26828 \x3c count__26714_26827)){\nvar y_26830 \x3d chunk__26713_26826.cljs$core$IIndexed$_nth$arity$2(null,i__26715_26828);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff_26824)),(0),(1),(0),(255)),(255),(127));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x,y_26830);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26824,((function (seq__26712_26825,chunk__26713_26826,count__26714_26827,i__26715_26828,seq__26608,chunk__26609,count__26610,i__26611,y_26830,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff){\nreturn (function (p1__26605_SHARP_){\nreturn (0.03 + p1__26605_SHARP_);\n});})(seq__26712_26825,chunk__26713_26826,count__26714_26827,i__26715_26828,seq__26608,chunk__26609,count__26610,i__26611,y_26830,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff))\n);\n\n\nvar G__26832 \x3d seq__26712_26825;\nvar G__26833 \x3d chunk__26713_26826;\nvar G__26834 \x3d count__26714_26827;\nvar G__26835 \x3d (i__26715_26828 + (1));\nseq__26712_26825 \x3d G__26832;\nchunk__26713_26826 \x3d G__26833;\ncount__26714_26827 \x3d G__26834;\ni__26715_26828 \x3d G__26835;\ncontinue;\n} else {\nvar temp__5804__auto___26836__$1 \x3d cljs.core.seq(seq__26712_26825);\nif(temp__5804__auto___26836__$1){\nvar seq__26712_26837__$1 \x3d temp__5804__auto___26836__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__26712_26837__$1)){\nvar c__5568__auto___26838 \x3d cljs.core.chunk_first(seq__26712_26837__$1);\nvar G__26839 \x3d cljs.core.chunk_rest(seq__26712_26837__$1);\nvar G__26840 \x3d c__5568__auto___26838;\nvar G__26841 \x3d cljs.core.count(c__5568__auto___26838);\nvar G__26842 \x3d (0);\nseq__26712_26825 \x3d G__26839;\nchunk__26713_26826 \x3d G__26840;\ncount__26714_26827 \x3d G__26841;\ni__26715_26828 \x3d G__26842;\ncontinue;\n} else {\nvar y_26843 \x3d cljs.core.first(seq__26712_26837__$1);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff_26824)),(0),(1),(0),(255)),(255),(127));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2(x,y_26843);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(yoff_26824,((function (seq__26712_26825,chunk__26713_26826,count__26714_26827,i__26715_26828,seq__26608,chunk__26609,count__26610,i__26611,y_26843,seq__26712_26837__$1,temp__5804__auto___26836__$1,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff){\nreturn (function (p1__26605_SHARP_){\nreturn (0.03 + p1__26605_SHARP_);\n});})(seq__26712_26825,chunk__26713_26826,count__26714_26827,i__26715_26828,seq__26608,chunk__26609,count__26610,i__26611,y_26843,seq__26712_26837__$1,temp__5804__auto___26836__$1,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff))\n);\n\n\nvar G__26847 \x3d cljs.core.next(seq__26712_26837__$1);\nvar G__26848 \x3d null;\nvar G__26849 \x3d (0);\nvar G__26850 \x3d (0);\nseq__26712_26825 \x3d G__26847;\nchunk__26713_26826 \x3d G__26848;\ncount__26714_26827 \x3d G__26849;\ni__26715_26828 \x3d G__26850;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(xoff,((function (seq__26608,chunk__26609,count__26610,i__26611,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff){\nreturn (function (p1__26606_SHARP_){\nreturn (0.03 + p1__26606_SHARP_);\n});})(seq__26608,chunk__26609,count__26610,i__26611,yoff_26824,x,seq__26608__$1,temp__5804__auto__,xoff))\n);\n\n\nvar G__26851 \x3d cljs.core.next(seq__26608__$1);\nvar G__26852 \x3d null;\nvar G__26853 \x3d (0);\nvar G__26854 \x3d (0);\nseq__26608 \x3d G__26851;\nchunk__26609 \x3d G__26852;\ncount__26610 \x3d G__26853;\ni__26611 \x3d G__26854;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.introduction.noise_detail.draw \x3d (function sketches$nature_of_code$introduction$noise_detail$draw(){\nreturn null;\n});\nsketches.nature_of_code.introduction.noise_detail.run \x3d (function sketches$nature_of_code$introduction$noise_detail$run(host){\nsketches.nature_of_code.introduction.noise_detail.noise_detail \x3d (function sketches$nature_of_code$introduction$noise_detail$run_$_noise_detail(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26855__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26855 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26858__i \x3d 0, G__26858__a \x3d new Array(arguments.length - 0);\nwhile (G__26858__i \x3c G__26858__a.length) {G__26858__a[G__26858__i] \x3d arguments[G__26858__i + 0]; ++G__26858__i;}\n args \x3d new cljs.core.IndexedSeq(G__26858__a,0,null);\n} \nreturn G__26855__delegate.call(this,args);};\nG__26855.cljs$lang$maxFixedArity \x3d 0;\nG__26855.cljs$lang$applyTo \x3d (function (arglist__26859){\nvar args \x3d cljs.core.seq(arglist__26859);\nreturn G__26855__delegate(args);\n});\nG__26855.cljs$core$IFn$_invoke$arity$variadic \x3d G__26855__delegate;\nreturn G__26855;\n})()\n:host),sketches.nature_of_code.introduction.noise_detail.draw,((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26860__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26860 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26867__i \x3d 0, G__26867__a \x3d new Array(arguments.length - 0);\nwhile (G__26867__i \x3c G__26867__a.length) {G__26867__a[G__26867__i] \x3d arguments[G__26867__i + 0]; ++G__26867__i;}\n args \x3d new cljs.core.IndexedSeq(G__26867__a,0,null);\n} \nreturn G__26860__delegate.call(this,args);};\nG__26860.cljs$lang$maxFixedArity \x3d 0;\nG__26860.cljs$lang$applyTo \x3d (function (arglist__26868){\nvar args \x3d cljs.core.seq(arglist__26868);\nreturn G__26860__delegate(args);\n});\nG__26860.cljs$core$IFn$_invoke$arity$variadic \x3d G__26860__delegate;\nreturn G__26860;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.noise_detail.setup))?(function() { \nvar G__26874__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_detail.setup,args);\n};\nvar G__26874 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26877__i \x3d 0, G__26877__a \x3d new Array(arguments.length - 0);\nwhile (G__26877__i \x3c G__26877__a.length) {G__26877__a[G__26877__i] \x3d arguments[G__26877__i + 0]; ++G__26877__i;}\n args \x3d new cljs.core.IndexedSeq(G__26877__a,0,null);\n} \nreturn G__26874__delegate.call(this,args);};\nG__26874.cljs$lang$maxFixedArity \x3d 0;\nG__26874.cljs$lang$applyTo \x3d (function (arglist__26878){\nvar args \x3d cljs.core.seq(arglist__26878);\nreturn G__26874__delegate(args);\n});\nG__26874.cljs$core$IFn$_invoke$arity$variadic \x3d G__26874__delegate;\nreturn G__26874;\n})()\n:sketches.nature_of_code.introduction.noise_detail.setup),host,new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.noise_detail.noise_detail\x27, sketches.nature_of_code.introduction.noise_detail.noise_detail);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.noise_detail.noise_detail,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26892__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26892 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26893__i \x3d 0, G__26893__a \x3d new Array(arguments.length - 0);\nwhile (G__26893__i \x3c G__26893__a.length) {G__26893__a[G__26893__i] \x3d arguments[G__26893__i + 0]; ++G__26893__i;}\n args \x3d new cljs.core.IndexedSeq(G__26893__a,0,null);\n} \nreturn G__26892__delegate.call(this,args);};\nG__26892.cljs$lang$maxFixedArity \x3d 0;\nG__26892.cljs$lang$applyTo \x3d (function (arglist__26894){\nvar args \x3d cljs.core.seq(arglist__26894);\nreturn G__26892__delegate(args);\n});\nG__26892.cljs$core$IFn$_invoke$arity$variadic \x3d G__26892__delegate;\nreturn G__26892;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.noise_terrain.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.noise_terrain\x27);\nsketches.nature_of_code.introduction.noise_terrain.setup \x3d (function sketches$nature_of_code$introduction$noise_terrain$setup(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((127));\n\nquil.core.no_fill();\n\nquil.core.rotate_x((quil.core.PI / (3)));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(((- quil.core.width()) / (2)),((- quil.core.height()) / (2)));\n\nvar scale \x3d (10);\nvar yoff \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar xoff \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0.0);\nvar cols \x3d (quil.core.width() / scale);\nvar rows \x3d (quil.core.height() / scale);\nvar terrain \x3d (function (){var col \x3d cljs.core.List.EMPTY;\nvar iter__5523__auto__ \x3d (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627(s__26628){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26628__$1 \x3d s__26628;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__26628__$1);\nif(temp__5804__auto__){\nvar s__26628__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__26628__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26628__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26630 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26629 \x3d (0);\nwhile(true){\nif((i__26629 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__26629);\ncljs.core.chunk_append(b__26630,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(yoff,cljs.core._PLUS_,0.1);\n\nvar row \x3d cljs.core.List.EMPTY;\nvar iter__5523__auto__ \x3d ((function (i__26629,row,y,c__5521__auto__,size__5522__auto__,b__26630,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows){\nreturn (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26631(s__26632){\nreturn (new cljs.core.LazySeq(null,((function (i__26629,row,y,c__5521__auto__,size__5522__auto__,b__26630,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows){\nreturn (function (){\nvar s__26632__$1 \x3d s__26632;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__26632__$1);\nif(temp__5804__auto____$1){\nvar s__26632__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__26632__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__26632__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__26634 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__26633 \x3d (0);\nwhile(true){\nif((i__26633 \x3c size__5522__auto____$1)){\nvar x \x3d cljs.core._nth(c__5521__auto____$1,i__26633);\ncljs.core.chunk_append(b__26634,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(xoff,cljs.core._PLUS_,0.1);\n\nreturn quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff)),(0),(1),(-50),(50));\n})()\n);\n\nvar G__26785 \x3d (i__26633 + (1));\ni__26633 \x3d G__26785;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26634),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26631(cljs.core.chunk_rest(s__26632__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26634),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__26632__$2);\nreturn cljs.core.cons((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(xoff,cljs.core._PLUS_,0.1);\n\nreturn quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff)),(0),(1),(-50),(50));\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26631(cljs.core.rest(s__26632__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__26629,row,y,c__5521__auto__,size__5522__auto__,b__26630,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows))\n,null,null));\n});})(i__26629,row,y,c__5521__auto__,size__5522__auto__,b__26630,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(30)));\n})()\n);\n\nvar G__26786 \x3d (i__26629 + (1));\ni__26629 \x3d G__26786;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26630),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627(cljs.core.chunk_rest(s__26628__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26630),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__26628__$2);\nreturn cljs.core.cons((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(yoff,cljs.core._PLUS_,0.1);\n\nvar row \x3d cljs.core.List.EMPTY;\nvar iter__5523__auto__ \x3d ((function (row,y,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows){\nreturn (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26635(s__26636){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26636__$1 \x3d s__26636;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__26636__$1);\nif(temp__5804__auto____$1){\nvar s__26636__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__26636__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26636__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26638 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26637 \x3d (0);\nwhile(true){\nif((i__26637 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__26637);\ncljs.core.chunk_append(b__26638,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(xoff,cljs.core._PLUS_,0.1);\n\nreturn quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff)),(0),(1),(-50),(50));\n})()\n);\n\nvar G__26787 \x3d (i__26637 + (1));\ni__26637 \x3d G__26787;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26638),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26635(cljs.core.chunk_rest(s__26636__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26638),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__26636__$2);\nreturn cljs.core.cons((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(xoff,cljs.core._PLUS_,0.1);\n\nreturn quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(xoff),cljs.core.deref(yoff)),(0),(1),(-50),(50));\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627_$_iter__26635(cljs.core.rest(s__26636__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(row,y,s__26628__$2,temp__5804__auto__,col,scale,yoff,xoff,cols,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(30)));\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26627(cljs.core.rest(s__26628__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(30)));\n})();\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639(s__26640){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26640__$1 \x3d s__26640;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__26640__$1);\nif(temp__5804__auto__){\nvar s__26640__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__26640__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26640__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26642 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26641 \x3d (0);\nwhile(true){\nif((i__26641 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__26641);\ncljs.core.chunk_append(b__26642,(function (){\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22triangle-strip\x22,\x22triangle-strip\x22,221845500));\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (i__26641,y,c__5521__auto__,size__5522__auto__,b__26642,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain){\nreturn (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26643(s__26644){\nreturn (new cljs.core.LazySeq(null,((function (i__26641,y,c__5521__auto__,size__5522__auto__,b__26642,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain){\nreturn (function (){\nvar s__26644__$1 \x3d s__26644;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__26644__$1);\nif(temp__5804__auto____$1){\nvar s__26644__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__26644__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__26644__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__26646 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__26645 \x3d (0);\nwhile(true){\nif((i__26645 \x3c size__5522__auto____$1)){\nvar x \x3d cljs.core._nth(c__5521__auto____$1,i__26645);\ncljs.core.chunk_append(b__26646,(function (){\nquil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),(y * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,y),x));\n\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),((y + (1)) * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,(y + (1))),x));\n})()\n);\n\nvar G__26789 \x3d (i__26645 + (1));\ni__26645 \x3d G__26789;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26646),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26643(cljs.core.chunk_rest(s__26644__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26646),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__26644__$2);\nreturn cljs.core.cons((function (){\nquil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),(y * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,y),x));\n\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),((y + (1)) * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,(y + (1))),x));\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26643(cljs.core.rest(s__26644__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__26641,y,c__5521__auto__,size__5522__auto__,b__26642,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain))\n,null,null));\n});})(i__26641,y,c__5521__auto__,size__5522__auto__,b__26642,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cols));\n})());\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n})()\n);\n\nvar G__26790 \x3d (i__26641 + (1));\ni__26641 \x3d G__26790;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26642),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639(cljs.core.chunk_rest(s__26640__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26642),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__26640__$2);\nreturn cljs.core.cons((function (){\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22triangle-strip\x22,\x22triangle-strip\x22,221845500));\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d ((function (y,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain){\nreturn (function sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26647(s__26648){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__26648__$1 \x3d s__26648;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__26648__$1);\nif(temp__5804__auto____$1){\nvar s__26648__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__26648__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__26648__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__26650 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__26649 \x3d (0);\nwhile(true){\nif((i__26649 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__26649);\ncljs.core.chunk_append(b__26650,(function (){\nquil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),(y * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,y),x));\n\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),((y + (1)) * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,(y + (1))),x));\n})()\n);\n\nvar G__26791 \x3d (i__26649 + (1));\ni__26649 \x3d G__26791;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26650),sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26647(cljs.core.chunk_rest(s__26648__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__26650),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__26648__$2);\nreturn cljs.core.cons((function (){\nquil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),(y * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,y),x));\n\nreturn quil.core.vertex.cljs$core$IFn$_invoke$arity$3((x * scale),((y + (1)) * scale),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(terrain,(y + (1))),x));\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639_$_iter__26647(cljs.core.rest(s__26648__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(y,s__26640__$2,temp__5804__auto__,scale,yoff,xoff,cols,rows,terrain))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cols));\n})());\n\nreturn quil.core.end_shape.cljs$core$IFn$_invoke$arity$0();\n})()\n,sketches$nature_of_code$introduction$noise_terrain$setup_$_iter__26639(cljs.core.rest(s__26640__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(rows - (1))));\n})());\n});\nsketches.nature_of_code.introduction.noise_terrain.draw \x3d (function sketches$nature_of_code$introduction$noise_terrain$draw(){\nreturn null;\n});\nsketches.nature_of_code.introduction.noise_terrain.run \x3d (function sketches$nature_of_code$introduction$noise_terrain$run(host){\nsketches.nature_of_code.introduction.noise_terrain.noise_terrain \x3d (function sketches$nature_of_code$introduction$noise_terrain$run_$_noise_terrain(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26792__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26792 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26856__i \x3d 0, G__26856__a \x3d new Array(arguments.length - 0);\nwhile (G__26856__i \x3c G__26856__a.length) {G__26856__a[G__26856__i] \x3d arguments[G__26856__i + 0]; ++G__26856__i;}\n args \x3d new cljs.core.IndexedSeq(G__26856__a,0,null);\n} \nreturn G__26792__delegate.call(this,args);};\nG__26792.cljs$lang$maxFixedArity \x3d 0;\nG__26792.cljs$lang$applyTo \x3d (function (arglist__26857){\nvar args \x3d cljs.core.seq(arglist__26857);\nreturn G__26792__delegate(args);\n});\nG__26792.cljs$core$IFn$_invoke$arity$variadic \x3d G__26792__delegate;\nreturn G__26792;\n})()\n:host),new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.noise_terrain.setup))?(function() { \nvar G__26861__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_terrain.setup,args);\n};\nvar G__26861 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26870__i \x3d 0, G__26870__a \x3d new Array(arguments.length - 0);\nwhile (G__26870__i \x3c G__26870__a.length) {G__26870__a[G__26870__i] \x3d arguments[G__26870__i + 0]; ++G__26870__i;}\n args \x3d new cljs.core.IndexedSeq(G__26870__a,0,null);\n} \nreturn G__26861__delegate.call(this,args);};\nG__26861.cljs$lang$maxFixedArity \x3d 0;\nG__26861.cljs$lang$applyTo \x3d (function (arglist__26872){\nvar args \x3d cljs.core.seq(arglist__26872);\nreturn G__26861__delegate(args);\n});\nG__26861.cljs$core$IFn$_invoke$arity$variadic \x3d G__26861__delegate;\nreturn G__26861;\n})()\n:sketches.nature_of_code.introduction.noise_terrain.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.noise_terrain.draw))?(function() { \nvar G__26875__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.noise_terrain.draw,args);\n};\nvar G__26875 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26879__i \x3d 0, G__26879__a \x3d new Array(arguments.length - 0);\nwhile (G__26879__i \x3c G__26879__a.length) {G__26879__a[G__26879__i] \x3d arguments[G__26879__i + 0]; ++G__26879__i;}\n args \x3d new cljs.core.IndexedSeq(G__26879__a,0,null);\n} \nreturn G__26875__delegate.call(this,args);};\nG__26875.cljs$lang$maxFixedArity \x3d 0;\nG__26875.cljs$lang$applyTo \x3d (function (arglist__26881){\nvar args \x3d cljs.core.seq(arglist__26881);\nreturn G__26875__delegate(args);\n});\nG__26875.cljs$core$IFn$_invoke$arity$variadic \x3d G__26875__delegate;\nreturn G__26875;\n})()\n:sketches.nature_of_code.introduction.noise_terrain.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.noise_terrain.noise_terrain\x27, sketches.nature_of_code.introduction.noise_terrain.noise_terrain);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.noise_terrain.noise_terrain,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26887__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26887 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26890__i \x3d 0, G__26890__a \x3d new Array(arguments.length - 0);\nwhile (G__26890__i \x3c G__26890__a.length) {G__26890__a[G__26890__i] \x3d arguments[G__26890__i + 0]; ++G__26890__i;}\n args \x3d new cljs.core.IndexedSeq(G__26890__a,0,null);\n} \nreturn G__26887__delegate.call(this,args);};\nG__26887.cljs$lang$maxFixedArity \x3d 0;\nG__26887.cljs$lang$applyTo \x3d (function (arglist__26891){\nvar args \x3d cljs.core.seq(arglist__26891);\nreturn G__26887__delegate(args);\n});\nG__26887.cljs$core$IFn$_invoke$arity$variadic \x3d G__26887__delegate;\nreturn G__26887;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.paint_splatter.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.paint_splatter\x27);\nsketches.nature_of_code.introduction.paint_splatter.draw \x3d (function sketches$nature_of_code$introduction$paint_splatter$draw(){\nvar sd \x3d (100);\nvar mean \x3d (quil.core.width() / (2));\nvar x \x3d ((quil.core.random_gaussian() * sd) + mean);\nvar y \x3d ((quil.core.random_gaussian() * sd) + mean);\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(((quil.core.random_gaussian() * (50)) + (128)),((quil.core.random_gaussian() * (50)) + (128)),((quil.core.random_gaussian() * (50)) + (255)));\n\nreturn quil.core.ellipse(x,y,(10),(10));\n});\nsketches.nature_of_code.introduction.paint_splatter.run \x3d (function sketches$nature_of_code$introduction$paint_splatter$run(host){\nsketches.nature_of_code.introduction.paint_splatter.paint_splatter \x3d (function sketches$nature_of_code$introduction$paint_splatter$run_$_paint_splatter(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__26988__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__26988 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__26991__i \x3d 0, G__26991__a \x3d new Array(arguments.length - 0);\nwhile (G__26991__i \x3c G__26991__a.length) {G__26991__a[G__26991__i] \x3d arguments[G__26991__i + 0]; ++G__26991__i;}\n args \x3d new cljs.core.IndexedSeq(G__26991__a,0,null);\n} \nreturn G__26988__delegate.call(this,args);};\nG__26988.cljs$lang$maxFixedArity \x3d 0;\nG__26988.cljs$lang$applyTo \x3d (function (arglist__26996){\nvar args \x3d cljs.core.seq(arglist__26996);\nreturn G__26988__delegate(args);\n});\nG__26988.cljs$core$IFn$_invoke$arity$variadic \x3d G__26988__delegate;\nreturn G__26988;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.paint_splatter.draw))?(function() { \nvar G__26998__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.paint_splatter.draw,args);\n};\nvar G__26998 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27003__i \x3d 0, G__27003__a \x3d new Array(arguments.length - 0);\nwhile (G__27003__i \x3c G__27003__a.length) {G__27003__a[G__27003__i] \x3d arguments[G__27003__i + 0]; ++G__27003__i;}\n args \x3d new cljs.core.IndexedSeq(G__27003__a,0,null);\n} \nreturn G__26998__delegate.call(this,args);};\nG__26998.cljs$lang$maxFixedArity \x3d 0;\nG__26998.cljs$lang$applyTo \x3d (function (arglist__27004){\nvar args \x3d cljs.core.seq(arglist__27004);\nreturn G__26998__delegate(args);\n});\nG__26998.cljs$core$IFn$_invoke$arity$variadic \x3d G__26998__delegate;\nreturn G__26998;\n})()\n:sketches.nature_of_code.introduction.paint_splatter.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.paint_splatter.paint_splatter\x27, sketches.nature_of_code.introduction.paint_splatter.paint_splatter);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.paint_splatter.paint_splatter,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27008__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27008 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27009__i \x3d 0, G__27009__a \x3d new Array(arguments.length - 0);\nwhile (G__27009__i \x3c G__27009__a.length) {G__27009__a[G__27009__i] \x3d arguments[G__27009__i + 0]; ++G__27009__i;}\n args \x3d new cljs.core.IndexedSeq(G__27009__a,0,null);\n} \nreturn G__27008__delegate.call(this,args);};\nG__27008.cljs$lang$maxFixedArity \x3d 0;\nG__27008.cljs$lang$applyTo \x3d (function (arglist__27010){\nvar args \x3d cljs.core.seq(arglist__27010);\nreturn G__27008__delegate(args);\n});\nG__27008.cljs$core$IFn$_invoke$arity$variadic \x3d G__27008__delegate;\nreturn G__27008;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.random_walk.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.random_walk\x27);\nsketches.nature_of_code.introduction.random_walk.setup \x3d (function sketches$nature_of_code$introduction$random_walk$setup(){\nsketches.nature_of_code.introduction.random_walk.location \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.random_walk.draw \x3d (function sketches$nature_of_code$introduction$random_walk$draw(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar choice \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1((1));\nvar velocity \x3d (((choice \x3c 0.33))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1)], null):(((choice \x3c 0.66))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),(0)], null):(((choice \x3c 0.84))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(0)], null):(((choice \x3c 1.0))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(-1)], null):null))));\nvar vec__27146 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk.location,(function (p1__27132_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__27132_SHARP_,velocity);\n}));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27146,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27146,(1),null);\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2(x,y);\n});\nsketches.nature_of_code.introduction.random_walk.run \x3d (function sketches$nature_of_code$introduction$random_walk$run(host){\nsketches.nature_of_code.introduction.random_walk.random_walk \x3d (function sketches$nature_of_code$introduction$random_walk$run_$_random_walk(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27296__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27296 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27301__i \x3d 0, G__27301__a \x3d new Array(arguments.length - 0);\nwhile (G__27301__i \x3c G__27301__a.length) {G__27301__a[G__27301__i] \x3d arguments[G__27301__i + 0]; ++G__27301__i;}\n args \x3d new cljs.core.IndexedSeq(G__27301__a,0,null);\n} \nreturn G__27296__delegate.call(this,args);};\nG__27296.cljs$lang$maxFixedArity \x3d 0;\nG__27296.cljs$lang$applyTo \x3d (function (arglist__27304){\nvar args \x3d cljs.core.seq(arglist__27304);\nreturn G__27296__delegate(args);\n});\nG__27296.cljs$core$IFn$_invoke$arity$variadic \x3d G__27296__delegate;\nreturn G__27296;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk.setup))?(function() { \nvar G__27306__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk.setup,args);\n};\nvar G__27306 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27309__i \x3d 0, G__27309__a \x3d new Array(arguments.length - 0);\nwhile (G__27309__i \x3c G__27309__a.length) {G__27309__a[G__27309__i] \x3d arguments[G__27309__i + 0]; ++G__27309__i;}\n args \x3d new cljs.core.IndexedSeq(G__27309__a,0,null);\n} \nreturn G__27306__delegate.call(this,args);};\nG__27306.cljs$lang$maxFixedArity \x3d 0;\nG__27306.cljs$lang$applyTo \x3d (function (arglist__27310){\nvar args \x3d cljs.core.seq(arglist__27310);\nreturn G__27306__delegate(args);\n});\nG__27306.cljs$core$IFn$_invoke$arity$variadic \x3d G__27306__delegate;\nreturn G__27306;\n})()\n:sketches.nature_of_code.introduction.random_walk.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk.draw))?(function() { \nvar G__27312__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk.draw,args);\n};\nvar G__27312 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27314__i \x3d 0, G__27314__a \x3d new Array(arguments.length - 0);\nwhile (G__27314__i \x3c G__27314__a.length) {G__27314__a[G__27314__i] \x3d arguments[G__27314__i + 0]; ++G__27314__i;}\n args \x3d new cljs.core.IndexedSeq(G__27314__a,0,null);\n} \nreturn G__27312__delegate.call(this,args);};\nG__27312.cljs$lang$maxFixedArity \x3d 0;\nG__27312.cljs$lang$applyTo \x3d (function (arglist__27316){\nvar args \x3d cljs.core.seq(arglist__27316);\nreturn G__27312__delegate(args);\n});\nG__27312.cljs$core$IFn$_invoke$arity$variadic \x3d G__27312__delegate;\nreturn G__27312;\n})()\n:sketches.nature_of_code.introduction.random_walk.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.random_walk.random_walk\x27, sketches.nature_of_code.introduction.random_walk.random_walk);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.random_walk.random_walk,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27318__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27318 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27320__i \x3d 0, G__27320__a \x3d new Array(arguments.length - 0);\nwhile (G__27320__i \x3c G__27320__a.length) {G__27320__a[G__27320__i] \x3d arguments[G__27320__i + 0]; ++G__27320__i;}\n args \x3d new cljs.core.IndexedSeq(G__27320__a,0,null);\n} \nreturn G__27318__delegate.call(this,args);};\nG__27318.cljs$lang$maxFixedArity \x3d 0;\nG__27318.cljs$lang$applyTo \x3d (function (arglist__27322){\nvar args \x3d cljs.core.seq(arglist__27322);\nreturn G__27318__delegate(args);\n});\nG__27318.cljs$core$IFn$_invoke$arity$variadic \x3d G__27318__delegate;\nreturn G__27318;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.random_walk_custom_step.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.random_walk_custom_step\x27);\nsketches.nature_of_code.introduction.random_walk_custom_step.setup \x3d (function sketches$nature_of_code$introduction$random_walk_custom_step$setup(){\nsketches.nature_of_code.introduction.random_walk_custom_step.location \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.random_walk_custom_step.custom_prop \x3d (function sketches$nature_of_code$introduction$random_walk_custom_step$custom_prop(){\nwhile(true){\nvar r1 \x3d cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\nvar r2 \x3d cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\nif((r1 \x3c (r2 * r2))){\nreturn r2;\n} else {\ncontinue;\n}\nbreak;\n}\n});\nsketches.nature_of_code.introduction.random_walk_custom_step.draw \x3d (function sketches$nature_of_code$introduction$random_walk_custom_step$draw(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar choice \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1((1));\nvar step_size \x3d sketches.nature_of_code.introduction.random_walk_custom_step.custom_prop();\nvar velocity \x3d (((choice \x3c 0.25))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),step_size], null):(((choice \x3c 0.5))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [step_size,(0)], null):(((choice \x3c 0.75))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(- step_size),(0)], null):(((choice \x3c 1.0))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(- step_size)], null):null))));\nvar vec__27032 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_custom_step.location,(function (p1__26973_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__26973_SHARP_,velocity);\n}));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27032,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27032,(1),null);\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2(x,y);\n});\nsketches.nature_of_code.introduction.random_walk_custom_step.run \x3d (function sketches$nature_of_code$introduction$random_walk_custom_step$run(host){\nsketches.nature_of_code.introduction.random_walk_custom_step.random_walk_custom_step \x3d (function sketches$nature_of_code$introduction$random_walk_custom_step$run_$_random_walk_custom_step(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27070__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27070 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27072__i \x3d 0, G__27072__a \x3d new Array(arguments.length - 0);\nwhile (G__27072__i \x3c G__27072__a.length) {G__27072__a[G__27072__i] \x3d arguments[G__27072__i + 0]; ++G__27072__i;}\n args \x3d new cljs.core.IndexedSeq(G__27072__a,0,null);\n} \nreturn G__27070__delegate.call(this,args);};\nG__27070.cljs$lang$maxFixedArity \x3d 0;\nG__27070.cljs$lang$applyTo \x3d (function (arglist__27074){\nvar args \x3d cljs.core.seq(arglist__27074);\nreturn G__27070__delegate(args);\n});\nG__27070.cljs$core$IFn$_invoke$arity$variadic \x3d G__27070__delegate;\nreturn G__27070;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_custom_step.setup))?(function() { \nvar G__27078__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_custom_step.setup,args);\n};\nvar G__27078 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27079__i \x3d 0, G__27079__a \x3d new Array(arguments.length - 0);\nwhile (G__27079__i \x3c G__27079__a.length) {G__27079__a[G__27079__i] \x3d arguments[G__27079__i + 0]; ++G__27079__i;}\n args \x3d new cljs.core.IndexedSeq(G__27079__a,0,null);\n} \nreturn G__27078__delegate.call(this,args);};\nG__27078.cljs$lang$maxFixedArity \x3d 0;\nG__27078.cljs$lang$applyTo \x3d (function (arglist__27080){\nvar args \x3d cljs.core.seq(arglist__27080);\nreturn G__27078__delegate(args);\n});\nG__27078.cljs$core$IFn$_invoke$arity$variadic \x3d G__27078__delegate;\nreturn G__27078;\n})()\n:sketches.nature_of_code.introduction.random_walk_custom_step.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_custom_step.draw))?(function() { \nvar G__27088__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_custom_step.draw,args);\n};\nvar G__27088 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27091__i \x3d 0, G__27091__a \x3d new Array(arguments.length - 0);\nwhile (G__27091__i \x3c G__27091__a.length) {G__27091__a[G__27091__i] \x3d arguments[G__27091__i + 0]; ++G__27091__i;}\n args \x3d new cljs.core.IndexedSeq(G__27091__a,0,null);\n} \nreturn G__27088__delegate.call(this,args);};\nG__27088.cljs$lang$maxFixedArity \x3d 0;\nG__27088.cljs$lang$applyTo \x3d (function (arglist__27092){\nvar args \x3d cljs.core.seq(arglist__27092);\nreturn G__27088__delegate(args);\n});\nG__27088.cljs$core$IFn$_invoke$arity$variadic \x3d G__27088__delegate;\nreturn G__27088;\n})()\n:sketches.nature_of_code.introduction.random_walk_custom_step.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.random_walk_custom_step.random_walk_custom_step\x27, sketches.nature_of_code.introduction.random_walk_custom_step.random_walk_custom_step);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.random_walk_custom_step.random_walk_custom_step,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27113__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27113 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27114__i \x3d 0, G__27114__a \x3d new Array(arguments.length - 0);\nwhile (G__27114__i \x3c G__27114__a.length) {G__27114__a[G__27114__i] \x3d arguments[G__27114__i + 0]; ++G__27114__i;}\n args \x3d new cljs.core.IndexedSeq(G__27114__a,0,null);\n} \nreturn G__27113__delegate.call(this,args);};\nG__27113.cljs$lang$maxFixedArity \x3d 0;\nG__27113.cljs$lang$applyTo \x3d (function (arglist__27115){\nvar args \x3d cljs.core.seq(arglist__27115);\nreturn G__27113__delegate(args);\n});\nG__27113.cljs$core$IFn$_invoke$arity$variadic \x3d G__27113__delegate;\nreturn G__27113;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.random_walk_dynamic.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.random_walk_dynamic\x27);\nsketches.nature_of_code.introduction.random_walk_dynamic.setup \x3d (function sketches$nature_of_code$introduction$random_walk_dynamic$setup(){\nsketches.nature_of_code.introduction.random_walk_dynamic.location \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.random_walk_dynamic.draw \x3d (function sketches$nature_of_code$introduction$random_walk_dynamic$draw(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar choice \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1((1));\nvar vec__26979 \x3d cljs.core.deref(sketches.nature_of_code.introduction.random_walk_dynamic.location);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26979,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__26979,(1),null);\nvar velocity \x3d (((choice \x3c 0.5))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.mouse_x()))?(-1):(1)),(((y \x3e quil.core.mouse_y()))?(-1):(1))], null):(((choice \x3c 0.625))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1)], null):(((choice \x3c 0.75))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),(0)], null):(((choice \x3c 0.875))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(0)], null):(((choice \x3c 1.0))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(-1)], null):null)))));\nvar vec__27005 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_dynamic.location,(function (p1__26974_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__26974_SHARP_,velocity);\n}));\nvar x__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27005,(0),null);\nvar y__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27005,(1),null);\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2(x__$1,y__$1);\n});\nsketches.nature_of_code.introduction.random_walk_dynamic.run \x3d (function sketches$nature_of_code$introduction$random_walk_dynamic$run(host){\nsketches.nature_of_code.introduction.random_walk_dynamic.random_walk_dynamic \x3d (function sketches$nature_of_code$introduction$random_walk_dynamic$run_$_random_walk_dynamic(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27059__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27059 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27060__i \x3d 0, G__27060__a \x3d new Array(arguments.length - 0);\nwhile (G__27060__i \x3c G__27060__a.length) {G__27060__a[G__27060__i] \x3d arguments[G__27060__i + 0]; ++G__27060__i;}\n args \x3d new cljs.core.IndexedSeq(G__27060__a,0,null);\n} \nreturn G__27059__delegate.call(this,args);};\nG__27059.cljs$lang$maxFixedArity \x3d 0;\nG__27059.cljs$lang$applyTo \x3d (function (arglist__27061){\nvar args \x3d cljs.core.seq(arglist__27061);\nreturn G__27059__delegate(args);\n});\nG__27059.cljs$core$IFn$_invoke$arity$variadic \x3d G__27059__delegate;\nreturn G__27059;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_dynamic.setup))?(function() { \nvar G__27062__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_dynamic.setup,args);\n};\nvar G__27062 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27063__i \x3d 0, G__27063__a \x3d new Array(arguments.length - 0);\nwhile (G__27063__i \x3c G__27063__a.length) {G__27063__a[G__27063__i] \x3d arguments[G__27063__i + 0]; ++G__27063__i;}\n args \x3d new cljs.core.IndexedSeq(G__27063__a,0,null);\n} \nreturn G__27062__delegate.call(this,args);};\nG__27062.cljs$lang$maxFixedArity \x3d 0;\nG__27062.cljs$lang$applyTo \x3d (function (arglist__27064){\nvar args \x3d cljs.core.seq(arglist__27064);\nreturn G__27062__delegate(args);\n});\nG__27062.cljs$core$IFn$_invoke$arity$variadic \x3d G__27062__delegate;\nreturn G__27062;\n})()\n:sketches.nature_of_code.introduction.random_walk_dynamic.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_dynamic.draw))?(function() { \nvar G__27067__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_dynamic.draw,args);\n};\nvar G__27067 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27071__i \x3d 0, G__27071__a \x3d new Array(arguments.length - 0);\nwhile (G__27071__i \x3c G__27071__a.length) {G__27071__a[G__27071__i] \x3d arguments[G__27071__i + 0]; ++G__27071__i;}\n args \x3d new cljs.core.IndexedSeq(G__27071__a,0,null);\n} \nreturn G__27067__delegate.call(this,args);};\nG__27067.cljs$lang$maxFixedArity \x3d 0;\nG__27067.cljs$lang$applyTo \x3d (function (arglist__27073){\nvar args \x3d cljs.core.seq(arglist__27073);\nreturn G__27067__delegate(args);\n});\nG__27067.cljs$core$IFn$_invoke$arity$variadic \x3d G__27067__delegate;\nreturn G__27067;\n})()\n:sketches.nature_of_code.introduction.random_walk_dynamic.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.random_walk_dynamic.random_walk_dynamic\x27, sketches.nature_of_code.introduction.random_walk_dynamic.random_walk_dynamic);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.random_walk_dynamic.random_walk_dynamic,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27087__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27087 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27089__i \x3d 0, G__27089__a \x3d new Array(arguments.length - 0);\nwhile (G__27089__i \x3c G__27089__a.length) {G__27089__a[G__27089__i] \x3d arguments[G__27089__i + 0]; ++G__27089__i;}\n args \x3d new cljs.core.IndexedSeq(G__27089__a,0,null);\n} \nreturn G__27087__delegate.call(this,args);};\nG__27087.cljs$lang$maxFixedArity \x3d 0;\nG__27087.cljs$lang$applyTo \x3d (function (arglist__27090){\nvar args \x3d cljs.core.seq(arglist__27090);\nreturn G__27087__delegate(args);\n});\nG__27087.cljs$core$IFn$_invoke$arity$variadic \x3d G__27087__delegate;\nreturn G__27087;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.random_walk_gaussian.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.random_walk_gaussian\x27);\nsketches.nature_of_code.introduction.random_walk_gaussian.setup \x3d (function sketches$nature_of_code$introduction$random_walk_gaussian$setup(){\nsketches.nature_of_code.introduction.random_walk_gaussian.walker \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(150),(150)], null));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.random_walk_gaussian.draw \x3d (function sketches$nature_of_code$introduction$random_walk_gaussian$draw(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.point.cljs$core$IFn$_invoke$arity$2((150),(150));\n\nvar choice \x3d cljs.core.rand_int((4));\nvar step \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * (5)),(0)], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(quil.core.random_gaussian() * (5))], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(2)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(- (quil.core.random_gaussian() * (5))),(0)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(- (quil.core.random_gaussian() * (5)))], null)\n)));\nvar vec__27190 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_gaussian.walker,(function (walker){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(walker,step);\n}));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27190,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27190,(1),null);\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2(x,y);\n});\nsketches.nature_of_code.introduction.random_walk_gaussian.run \x3d (function sketches$nature_of_code$introduction$random_walk_gaussian$run(host){\nsketches.nature_of_code.introduction.random_walk_gaussian.random_walk_gaussian \x3d (function sketches$nature_of_code$introduction$random_walk_gaussian$run_$_random_walk_gaussian(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27297__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27297 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27302__i \x3d 0, G__27302__a \x3d new Array(arguments.length - 0);\nwhile (G__27302__i \x3c G__27302__a.length) {G__27302__a[G__27302__i] \x3d arguments[G__27302__i + 0]; ++G__27302__i;}\n args \x3d new cljs.core.IndexedSeq(G__27302__a,0,null);\n} \nreturn G__27297__delegate.call(this,args);};\nG__27297.cljs$lang$maxFixedArity \x3d 0;\nG__27297.cljs$lang$applyTo \x3d (function (arglist__27303){\nvar args \x3d cljs.core.seq(arglist__27303);\nreturn G__27297__delegate(args);\n});\nG__27297.cljs$core$IFn$_invoke$arity$variadic \x3d G__27297__delegate;\nreturn G__27297;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_gaussian.setup))?(function() { \nvar G__27305__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_gaussian.setup,args);\n};\nvar G__27305 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27307__i \x3d 0, G__27307__a \x3d new Array(arguments.length - 0);\nwhile (G__27307__i \x3c G__27307__a.length) {G__27307__a[G__27307__i] \x3d arguments[G__27307__i + 0]; ++G__27307__i;}\n args \x3d new cljs.core.IndexedSeq(G__27307__a,0,null);\n} \nreturn G__27305__delegate.call(this,args);};\nG__27305.cljs$lang$maxFixedArity \x3d 0;\nG__27305.cljs$lang$applyTo \x3d (function (arglist__27308){\nvar args \x3d cljs.core.seq(arglist__27308);\nreturn G__27305__delegate(args);\n});\nG__27305.cljs$core$IFn$_invoke$arity$variadic \x3d G__27305__delegate;\nreturn G__27305;\n})()\n:sketches.nature_of_code.introduction.random_walk_gaussian.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_gaussian.draw))?(function() { \nvar G__27311__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_gaussian.draw,args);\n};\nvar G__27311 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27313__i \x3d 0, G__27313__a \x3d new Array(arguments.length - 0);\nwhile (G__27313__i \x3c G__27313__a.length) {G__27313__a[G__27313__i] \x3d arguments[G__27313__i + 0]; ++G__27313__i;}\n args \x3d new cljs.core.IndexedSeq(G__27313__a,0,null);\n} \nreturn G__27311__delegate.call(this,args);};\nG__27311.cljs$lang$maxFixedArity \x3d 0;\nG__27311.cljs$lang$applyTo \x3d (function (arglist__27315){\nvar args \x3d cljs.core.seq(arglist__27315);\nreturn G__27311__delegate(args);\n});\nG__27311.cljs$core$IFn$_invoke$arity$variadic \x3d G__27311__delegate;\nreturn G__27311;\n})()\n:sketches.nature_of_code.introduction.random_walk_gaussian.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.random_walk_gaussian.random_walk_gaussian\x27, sketches.nature_of_code.introduction.random_walk_gaussian.random_walk_gaussian);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.random_walk_gaussian.random_walk_gaussian,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27317__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27317 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27319__i \x3d 0, G__27319__a \x3d new Array(arguments.length - 0);\nwhile (G__27319__i \x3c G__27319__a.length) {G__27319__a[G__27319__i] \x3d arguments[G__27319__i + 0]; ++G__27319__i;}\n args \x3d new cljs.core.IndexedSeq(G__27319__a,0,null);\n} \nreturn G__27317__delegate.call(this,args);};\nG__27317.cljs$lang$maxFixedArity \x3d 0;\nG__27317.cljs$lang$applyTo \x3d (function (arglist__27321){\nvar args \x3d cljs.core.seq(arglist__27321);\nreturn G__27317__delegate(args);\n});\nG__27317.cljs$core$IFn$_invoke$arity$variadic \x3d G__27317__delegate;\nreturn G__27317;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.random_walk_noise.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.random_walk_noise\x27);\nsketches.nature_of_code.introduction.random_walk_noise.setup \x3d (function sketches$nature_of_code$introduction$random_walk_noise$setup(){\nsketches.nature_of_code.introduction.random_walk_noise.walker \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n\nsketches.nature_of_code.introduction.random_walk_noise.tx \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.introduction.random_walk_noise.draw \x3d (function sketches$nature_of_code$introduction$random_walk_noise$draw(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nvar tx \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_noise.tx,(function (p1__27188_SHARP_){\nreturn (0.01 + p1__27188_SHARP_);\n}));\nvar choice \x3d cljs.core.rand_int((4));\nvar step \x3d quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$1(tx),(0),(1),(0),(10));\nvar new_position \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),step], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [step,(0)], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(choice,(2)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(- step),(0)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(- step)], null)\n)));\nvar vec__27193 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_noise.walker,(function (p1__27189_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__27189_SHARP_,new_position);\n}));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27193,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27193,(1),null);\nreturn quil.core.point.cljs$core$IFn$_invoke$arity$2(x,y);\n});\nsketches.nature_of_code.introduction.random_walk_noise.run \x3d (function sketches$nature_of_code$introduction$random_walk_noise$run(host){\nsketches.nature_of_code.introduction.random_walk_noise.random_walk_noise \x3d (function sketches$nature_of_code$introduction$random_walk_noise$run_$_random_walk_noise(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27329__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27329 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27334__i \x3d 0, G__27334__a \x3d new Array(arguments.length - 0);\nwhile (G__27334__i \x3c G__27334__a.length) {G__27334__a[G__27334__i] \x3d arguments[G__27334__i + 0]; ++G__27334__i;}\n args \x3d new cljs.core.IndexedSeq(G__27334__a,0,null);\n} \nreturn G__27329__delegate.call(this,args);};\nG__27329.cljs$lang$maxFixedArity \x3d 0;\nG__27329.cljs$lang$applyTo \x3d (function (arglist__27335){\nvar args \x3d cljs.core.seq(arglist__27335);\nreturn G__27329__delegate(args);\n});\nG__27329.cljs$core$IFn$_invoke$arity$variadic \x3d G__27329__delegate;\nreturn G__27329;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_noise.setup))?(function() { \nvar G__27336__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_noise.setup,args);\n};\nvar G__27336 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27337__i \x3d 0, G__27337__a \x3d new Array(arguments.length - 0);\nwhile (G__27337__i \x3c G__27337__a.length) {G__27337__a[G__27337__i] \x3d arguments[G__27337__i + 0]; ++G__27337__i;}\n args \x3d new cljs.core.IndexedSeq(G__27337__a,0,null);\n} \nreturn G__27336__delegate.call(this,args);};\nG__27336.cljs$lang$maxFixedArity \x3d 0;\nG__27336.cljs$lang$applyTo \x3d (function (arglist__27338){\nvar args \x3d cljs.core.seq(arglist__27338);\nreturn G__27336__delegate(args);\n});\nG__27336.cljs$core$IFn$_invoke$arity$variadic \x3d G__27336__delegate;\nreturn G__27336;\n})()\n:sketches.nature_of_code.introduction.random_walk_noise.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.introduction.random_walk_noise.draw))?(function() { \nvar G__27339__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.introduction.random_walk_noise.draw,args);\n};\nvar G__27339 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27340__i \x3d 0, G__27340__a \x3d new Array(arguments.length - 0);\nwhile (G__27340__i \x3c G__27340__a.length) {G__27340__a[G__27340__i] \x3d arguments[G__27340__i + 0]; ++G__27340__i;}\n args \x3d new cljs.core.IndexedSeq(G__27340__a,0,null);\n} \nreturn G__27339__delegate.call(this,args);};\nG__27339.cljs$lang$maxFixedArity \x3d 0;\nG__27339.cljs$lang$applyTo \x3d (function (arglist__27343){\nvar args \x3d cljs.core.seq(arglist__27343);\nreturn G__27339__delegate(args);\n});\nG__27339.cljs$core$IFn$_invoke$arity$variadic \x3d G__27339__delegate;\nreturn G__27339;\n})()\n:sketches.nature_of_code.introduction.random_walk_noise.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.introduction.random_walk_noise.random_walk_noise\x27, sketches.nature_of_code.introduction.random_walk_noise.random_walk_noise);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.introduction.random_walk_noise.random_walk_noise,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27348__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27348 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27349__i \x3d 0, G__27349__a \x3d new Array(arguments.length - 0);\nwhile (G__27349__i \x3c G__27349__a.length) {G__27349__a[G__27349__i] \x3d arguments[G__27349__i + 0]; ++G__27349__i;}\n args \x3d new cljs.core.IndexedSeq(G__27349__a,0,null);\n} \nreturn G__27348__delegate.call(this,args);};\nG__27348.cljs$lang$maxFixedArity \x3d 0;\nG__27348.cljs$lang$applyTo \x3d (function (arglist__27350){\nvar args \x3d cljs.core.seq(arglist__27350);\nreturn G__27348__delegate(args);\n});\nG__27348.cljs$core$IFn$_invoke$arity$variadic \x3d G__27348__delegate;\nreturn G__27348;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.introduction.core.js", true , "goog.provide(\x27sketches.nature_of_code.introduction.core\x27);\nsketches.nature_of_code.introduction.core.main \x3d (function sketches$nature_of_code$introduction$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Introduction\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random Walk\x22,\x22Exercise I.1\x22,\x22https://natureofcode.com/book/introduction/#exercise-i1\x22,sketches.nature_of_code.introduction.random_walk.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random Walk II\x22,\x22Exercise I.3\x22,\x22https://natureofcode.com/book/introduction/#exercise-i3\x22,sketches.nature_of_code.introduction.random_walk_dynamic.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Paint Splatter\x22,\x22Exercise I.4\x22,\x22https://natureofcode.com/book/introduction/#exercise-i4\x22,sketches.nature_of_code.introduction.paint_splatter.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random Walk III\x22,\x22Exercise I.5\x22,\x22https://natureofcode.com/book/introduction/#exercise-i5\x22,sketches.nature_of_code.introduction.random_walk_gaussian.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random Walk IV\x22,\x22Exercise I.6\x22,\x22https://natureofcode.com/book/introduction/#exercise-i6\x22,sketches.nature_of_code.introduction.random_walk_custom_step.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random Walk V\x22,\x22Exercise I.7\x22,\x22https://natureofcode.com/book/introduction/#exercise-i7\x22,sketches.nature_of_code.introduction.random_walk_noise.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Noise Detail\x22,\x22Exercise I.8\x22,\x22https://natureofcode.com/book/introduction/#exercise-i8\x22,sketches.nature_of_code.introduction.noise_detail.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Noise Animate\x22,\x22Exercise I.9\x22,\x22https://natureofcode.com/book/introduction/#exercise-i9\x22,sketches.nature_of_code.introduction.noise_animate.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Noise Terrain\x22,\x22Exercise I.10\x22,\x22https://natureofcode.com/book/introduction/#exercise-i10\x22,sketches.nature_of_code.introduction.noise_terrain.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.angular_oscilliate.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.angular_oscilliate\x27);\nsketches.nature_of_code.oscillation.angular_oscilliate.setup \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$setup(){\nreturn (new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-30),(-30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-50),(-50)], null)], null),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(30),(30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(50),(-50)], null)], null),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(-30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-100),(0)], null)], null),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(100),(0)], null)], null),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-30),(-30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-50),(50)], null)], null),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.03], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(30),(30)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(50),(50)], null)], null),null,(1),null)),(2),null)),(3),null)),(4),null)),(5),null)),(6),null));\n});\nsketches.nature_of_code.oscillation.angular_oscilliate.draw \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$draw(state){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27206 \x3d cljs.core.seq(state);\nvar chunk__27207 \x3d null;\nvar count__27208 \x3d (0);\nvar i__27209 \x3d (0);\nwhile(true){\nif((i__27209 \x3c count__27208)){\nvar map__27253 \x3d chunk__27207.cljs$core$IIndexed$_nth$arity$2(null,i__27209);\nvar map__27253__$1 \x3d cljs.core.__destructure_map(map__27253);\nvar vec__27254 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27253__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27254,(0),null);\nvar a2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27254,(1),null);\nvar vec__27257 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27253__$1,new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203));\nvar am1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27257,(0),null);\nvar am2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27257,(1),null);\nvar vec__27260 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27253__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar l1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27260,(0),null);\nvar l2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27260,(1),null);\nvar x_27323 \x3d (l1 + (am1 * quil.core.cos(a1)));\nvar y_27324 \x3d (l2 + (am2 * quil.core.cos(a2)));\nquil.core.push_matrix();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x_27323,y_27324);\n\nquil.core.ellipse(x_27323,y_27324,(20),(20));\n\nquil.core.pop_matrix();\n\n\nvar G__27325 \x3d seq__27206;\nvar G__27326 \x3d chunk__27207;\nvar G__27327 \x3d count__27208;\nvar G__27328 \x3d (i__27209 + (1));\nseq__27206 \x3d G__27325;\nchunk__27207 \x3d G__27326;\ncount__27208 \x3d G__27327;\ni__27209 \x3d G__27328;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27206);\nif(temp__5804__auto__){\nvar seq__27206__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27206__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27206__$1);\nvar G__27330 \x3d cljs.core.chunk_rest(seq__27206__$1);\nvar G__27331 \x3d c__5568__auto__;\nvar G__27332 \x3d cljs.core.count(c__5568__auto__);\nvar G__27333 \x3d (0);\nseq__27206 \x3d G__27330;\nchunk__27207 \x3d G__27331;\ncount__27208 \x3d G__27332;\ni__27209 \x3d G__27333;\ncontinue;\n} else {\nvar map__27267 \x3d cljs.core.first(seq__27206__$1);\nvar map__27267__$1 \x3d cljs.core.__destructure_map(map__27267);\nvar vec__27268 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27267__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27268,(0),null);\nvar a2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27268,(1),null);\nvar vec__27271 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27267__$1,new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203));\nvar am1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27271,(0),null);\nvar am2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27271,(1),null);\nvar vec__27274 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27267__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar l1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27274,(0),null);\nvar l2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27274,(1),null);\nvar x_27341 \x3d (l1 + (am1 * quil.core.cos(a1)));\nvar y_27342 \x3d (l2 + (am2 * quil.core.cos(a2)));\nquil.core.push_matrix();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x_27341,y_27342);\n\nquil.core.ellipse(x_27341,y_27342,(20),(20));\n\nquil.core.pop_matrix();\n\n\nvar G__27344 \x3d cljs.core.next(seq__27206__$1);\nvar G__27345 \x3d null;\nvar G__27346 \x3d (0);\nvar G__27347 \x3d (0);\nseq__27206 \x3d G__27344;\nchunk__27207 \x3d G__27345;\ncount__27208 \x3d G__27346;\ni__27209 \x3d G__27347;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.angular_oscilliate.update_oscilliator \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$update_oscilliator(p__27277){\nvar map__27278 \x3d p__27277;\nvar map__27278__$1 \x3d cljs.core.__destructure_map(map__27278);\nvar o \x3d map__27278__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27278__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27278__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(o,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),sketches.vector.add,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [2.0E-5,2.0E-5], null))),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),sketches.vector.add,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity)),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null));\n});\nsketches.nature_of_code.oscillation.angular_oscilliate.update_state \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$update_state(state){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.angular_oscilliate.update_oscilliator,state);\n});\nsketches.nature_of_code.oscillation.angular_oscilliate.run \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$run(host){\nsketches.nature_of_code.oscillation.angular_oscilliate.angular_oscilliate \x3d (function sketches$nature_of_code$oscillation$angular_oscilliate$run_$_angular_oscilliate(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27351__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27351 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27352__i \x3d 0, G__27352__a \x3d new Array(arguments.length - 0);\nwhile (G__27352__i \x3c G__27352__a.length) {G__27352__a[G__27352__i] \x3d arguments[G__27352__i + 0]; ++G__27352__i;}\n args \x3d new cljs.core.IndexedSeq(G__27352__a,0,null);\n} \nreturn G__27351__delegate.call(this,args);};\nG__27351.cljs$lang$maxFixedArity \x3d 0;\nG__27351.cljs$lang$applyTo \x3d (function (arglist__27353){\nvar args \x3d cljs.core.seq(arglist__27353);\nreturn G__27351__delegate(args);\n});\nG__27351.cljs$core$IFn$_invoke$arity$variadic \x3d G__27351__delegate;\nreturn G__27351;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.angular_oscilliate.update_state))?(function() { \nvar G__27354__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.angular_oscilliate.update_state,args);\n};\nvar G__27354 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27355__i \x3d 0, G__27355__a \x3d new Array(arguments.length - 0);\nwhile (G__27355__i \x3c G__27355__a.length) {G__27355__a[G__27355__i] \x3d arguments[G__27355__i + 0]; ++G__27355__i;}\n args \x3d new cljs.core.IndexedSeq(G__27355__a,0,null);\n} \nreturn G__27354__delegate.call(this,args);};\nG__27354.cljs$lang$maxFixedArity \x3d 0;\nG__27354.cljs$lang$applyTo \x3d (function (arglist__27356){\nvar args \x3d cljs.core.seq(arglist__27356);\nreturn G__27354__delegate(args);\n});\nG__27354.cljs$core$IFn$_invoke$arity$variadic \x3d G__27354__delegate;\nreturn G__27354;\n})()\n:sketches.nature_of_code.oscillation.angular_oscilliate.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.angular_oscilliate.setup))?(function() { \nvar G__27357__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.angular_oscilliate.setup,args);\n};\nvar G__27357 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27358__i \x3d 0, G__27358__a \x3d new Array(arguments.length - 0);\nwhile (G__27358__i \x3c G__27358__a.length) {G__27358__a[G__27358__i] \x3d arguments[G__27358__i + 0]; ++G__27358__i;}\n args \x3d new cljs.core.IndexedSeq(G__27358__a,0,null);\n} \nreturn G__27357__delegate.call(this,args);};\nG__27357.cljs$lang$maxFixedArity \x3d 0;\nG__27357.cljs$lang$applyTo \x3d (function (arglist__27359){\nvar args \x3d cljs.core.seq(arglist__27359);\nreturn G__27357__delegate(args);\n});\nG__27357.cljs$core$IFn$_invoke$arity$variadic \x3d G__27357__delegate;\nreturn G__27357;\n})()\n:sketches.nature_of_code.oscillation.angular_oscilliate.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.angular_oscilliate.draw))?(function() { \nvar G__27360__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.angular_oscilliate.draw,args);\n};\nvar G__27360 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27361__i \x3d 0, G__27361__a \x3d new Array(arguments.length - 0);\nwhile (G__27361__i \x3c G__27361__a.length) {G__27361__a[G__27361__i] \x3d arguments[G__27361__i + 0]; ++G__27361__i;}\n args \x3d new cljs.core.IndexedSeq(G__27361__a,0,null);\n} \nreturn G__27360__delegate.call(this,args);};\nG__27360.cljs$lang$maxFixedArity \x3d 0;\nG__27360.cljs$lang$applyTo \x3d (function (arglist__27362){\nvar args \x3d cljs.core.seq(arglist__27362);\nreturn G__27360__delegate(args);\n});\nG__27360.cljs$core$IFn$_invoke$arity$variadic \x3d G__27360__delegate;\nreturn G__27360;\n})()\n:sketches.nature_of_code.oscillation.angular_oscilliate.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.angular_oscilliate.angular_oscilliate\x27, sketches.nature_of_code.oscillation.angular_oscilliate.angular_oscilliate);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.angular_oscilliate.angular_oscilliate,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27363__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27363 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27364__i \x3d 0, G__27364__a \x3d new Array(arguments.length - 0);\nwhile (G__27364__i \x3c G__27364__a.length) {G__27364__a[G__27364__i] \x3d arguments[G__27364__i + 0]; ++G__27364__i;}\n args \x3d new cljs.core.IndexedSeq(G__27364__a,0,null);\n} \nreturn G__27363__delegate.call(this,args);};\nG__27363.cljs$lang$maxFixedArity \x3d 0;\nG__27363.cljs$lang$applyTo \x3d (function (arglist__27365){\nvar args \x3d cljs.core.seq(arglist__27365);\nreturn G__27363__delegate(args);\n});\nG__27363.cljs$core$IFn$_invoke$arity$variadic \x3d G__27363__delegate;\nreturn G__27363;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.mover.js", true , "goog.provide(\x27sketches.mover\x27);\nsketches.mover.apply_force \x3d (function sketches$mover$apply_force(p__27197,force){\nvar map__27198 \x3d p__27197;\nvar map__27198__$1 \x3d cljs.core.__destructure_map(map__27198);\nvar mover \x3d map__27198__$1;\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27198__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),(function (p1__27196_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__27196_SHARP_,sketches.vector.div(force,mass));\n}));\n});\nsketches.mover.update_mover \x3d (function sketches$mover$update_mover(p__27199,acceleration){\nvar map__27200 \x3d p__27199;\nvar map__27200__$1 \x3d cljs.core.__destructure_map(map__27200);\nvar mover \x3d map__27200__$1;\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27200__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27200__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(location__$1,velocity__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22accleration\x22,\x22accleration\x22,-130494583),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null));\n});\nsketches.mover.keep_inside \x3d (function sketches$mover$keep_inside(mover){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),(function (p__27201){\nvar vec__27202 \x3d p__27201;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27202,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27202,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?quil.core.width():(((x \x3c (0)))?(0):x\n)),(((y \x3e quil.core.height()))?quil.core.height():(((y \x3c (0)))?(0):y\n))], null);\n}));\n});\nsketches.mover.bounce_inside \x3d (function sketches$mover$bounce_inside(p__27205){\nvar map__27210 \x3d p__27205;\nvar map__27210__$1 \x3d cljs.core.__destructure_map(map__27210);\nvar mover \x3d map__27210__$1;\nvar vec__27211 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27210__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27211,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27211,(1),null);\nvar vec__27214 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27210__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar vx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27214,(0),null);\nvar vy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27214,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?((-1) * vx):(((x \x3c (0)))?((-1) * vx):vx\n)),(((y \x3e quil.core.height()))?((-1) * vy):(((y \x3c (0)))?((-1) * vy):vy\n))], null));\n});\nsketches.mover.check_edges \x3d (function sketches$mover$check_edges(mover){\nvar map__27227 \x3d mover;\nvar map__27227__$1 \x3d cljs.core.__destructure_map(map__27227);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27227__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vec__27228 \x3d location__$1;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27228,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27228,(1),null);\nvar mover__$1 \x3d (((x \x3e quil.core.width()))?cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.width(),y], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),(function (p__27231){\nvar vec__27232 \x3d p__27231;\nvar x__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27232,(0),null);\nvar y__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27232,(1),null);\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[((-1) * x__$1),y__$1],null));\n})):(((x \x3c (0)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),(function (p__27235){\nvar vec__27236 \x3d p__27235;\nvar x__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27236,(0),null);\nvar y__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27236,(1),null);\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[((-1) * x__$1),y__$1],null));\n})),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),y], null)):mover));\nif((y \x3e quil.core.height())){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(mover__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),(function (p__27249){\nvar vec__27250 \x3d p__27249;\nvar x__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27250,(0),null);\nvar y__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27250,(1),null);\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[x__$1,((-1) * y__$1)],null));\n})),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,quil.core.height()], null));\n} else {\nreturn mover__$1;\n}\n});\nsketches.mover.move_through \x3d (function sketches$mover$move_through(mover){\nvar map__27263 \x3d mover;\nvar map__27263__$1 \x3d cljs.core.__destructure_map(map__27263);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27263__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vec__27264 \x3d location__$1;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27264,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27264,(1),null);\nif((x \x3e quil.core.width())){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),y], null));\n} else {\nif((x \x3c (0))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.width(),y], null));\n} else {\nif((y \x3e quil.core.height())){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,(0)], null));\n} else {\nif((y \x3c (0))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,quil.core.height()], null));\n} else {\nreturn mover;\n\n}\n}\n}\n}\n});\nsketches.mover.create_mover \x3d (function sketches$mover$create_mover(mass,location){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),mass,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.0,0.0], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.0,0.0], null),new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642),0.0,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),0.0,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),0.0], null);\n});\nsketches.mover.compute_position \x3d (function sketches$mover$compute_position(p__27279){\nvar map__27280 \x3d p__27279;\nvar map__27280__$1 \x3d cljs.core.__destructure_map(map__27280);\nvar mover \x3d map__27280__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a_velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642));\nvar a_acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27280__$1,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296));\nvar new_velocity \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar new_location \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(new_velocity,location__$1);\nvar new_a_velocity \x3d (a_acceleration + a_velocity);\nvar new_angle \x3d (new_a_velocity + angle);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new_velocity),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new_location),new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642),new_a_velocity),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new_angle),new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),(0)),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null));\n});\nsketches.mover.pol_to_cart \x3d (function sketches$mover$pol_to_cart(p__27281){\nvar vec__27282 \x3d p__27281;\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27282,(0),null);\nvar phi \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27282,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(r * quil.core.cos(phi)),(r * quil.core.sin(phi))], null);\n});\nsketches.mover.draw_stats \x3d (function sketches$mover$draw_stats(p__27285){\nvar map__27286 \x3d p__27285;\nvar map__27286__$1 \x3d cljs.core.__destructure_map(map__27286);\nvar vec__27287 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27287,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27287,(1),null);\nvar vec__27290 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar vx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27290,(0),null);\nvar vy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27290,(1),null);\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a_velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642));\nvar a_acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27286__$1,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22corner\x22,\x22corner\x22,1296717125));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() * 0.5),(quil.core.height() * 0.01)], null));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(quil.core.width() * 0.4),(105));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((255),(255),(255));\n\nvar tr__24577__auto___27366 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(10),(20)], null);\nquil.core.push_matrix();\n\ntry{quil.core.translate.cljs$core$IFn$_invoke$arity$1(tr__24577__auto___27366);\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3([\x22Location \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.round(x),quil.core.round(y)], null))].join(\x27\x27),(0),(0));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3([\x22Velocity \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.round(vx),quil.core.round(vy)], null))].join(\x27\x27),(0),(15));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3([\x22Polar \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var vec__27298 \x3d sketches.mover.pol_to_cart(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [vx,vy], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27298,(0),null);\nvar phi \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27298,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.round(r),quil.core.round(phi)], null);\n})())].join(\x27\x27),(0),(30));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3([\x22Angle \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(quil.core.degrees(quil.core.atan2(vy,vx)))].join(\x27\x27),(0),(45));\n\nquil.core.text.cljs$core$IFn$_invoke$arity$3([\x22A-Velocity \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a_velocity)].join(\x27\x27),(0),(60));\n}finally {quil.core.pop_matrix();\n}\nreturn quil.core.pop_matrix();\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.asteroids.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.asteroids\x27);\nsketches.nature_of_code.oscillation.asteroids.setup \x3d (function sketches$nature_of_code$oscillation$asteroids$setup(){\nreturn sketches.mover.create_mover((50),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n});\nsketches.nature_of_code.oscillation.asteroids.draw \x3d (function sketches$nature_of_code$oscillation$asteroids$draw(spaceship){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((126));\n\nquil.core.stroke_weight((2));\n\nvar map__27367 \x3d spaceship;\nvar map__27367__$1 \x3d cljs.core.__destructure_map(map__27367);\nvar vec__27368 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27367__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27368,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27368,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27367__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27367__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.triangle((mass / (2)),(0),(- (mass / (2))),(- (mass / (2))),(- (mass / (2))),(mass / (2)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(((- (mass / (2))) - (5)),(5),(5),(5));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(((- (mass / (2))) - (5)),(-5),(5),(5));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.oscillation.asteroids.update_state \x3d (function sketches$nature_of_code$oscillation$asteroids$update_state(p__27371){\nvar map__27372 \x3d p__27371;\nvar map__27372__$1 \x3d cljs.core.__destructure_map(map__27372);\nvar spaceship \x3d map__27372__$1;\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27372__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nreturn sketches.mover.compute_position(sketches.mover.move_through(sketches.mover.apply_force(spaceship,sketches.vector.mult(velocity,-0.2))));\n});\nsketches.nature_of_code.oscillation.asteroids.key_pressed \x3d (function sketches$nature_of_code$oscillation$asteroids$key_pressed(p__27373,p__27374){\nvar map__27375 \x3d p__27373;\nvar map__27375__$1 \x3d cljs.core.__destructure_map(map__27375);\nvar spaceship \x3d map__27375__$1;\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27375__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar map__27376 \x3d p__27374;\nvar map__27376__$1 \x3d cljs.core.__destructure_map(map__27376);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27376__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22a\x22,\x22a\x22,-2123407586))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(spaceship,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,0.2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(spaceship,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._,0.2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spaceship,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.cos(angle),quil.core.sin(angle)], null));\n} else {\nreturn spaceship;\n\n}\n}\n}\n});\nsketches.nature_of_code.oscillation.asteroids.run \x3d (function sketches$nature_of_code$oscillation$asteroids$run(host){\nsketches.nature_of_code.oscillation.asteroids.asteroids \x3d (function sketches$nature_of_code$oscillation$asteroids$run_$_asteroids(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27377__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27377 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27378__i \x3d 0, G__27378__a \x3d new Array(arguments.length - 0);\nwhile (G__27378__i \x3c G__27378__a.length) {G__27378__a[G__27378__i] \x3d arguments[G__27378__i + 0]; ++G__27378__i;}\n args \x3d new cljs.core.IndexedSeq(G__27378__a,0,null);\n} \nreturn G__27377__delegate.call(this,args);};\nG__27377.cljs$lang$maxFixedArity \x3d 0;\nG__27377.cljs$lang$applyTo \x3d (function (arglist__27379){\nvar args \x3d cljs.core.seq(arglist__27379);\nreturn G__27377__delegate(args);\n});\nG__27377.cljs$core$IFn$_invoke$arity$variadic \x3d G__27377__delegate;\nreturn G__27377;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.asteroids.update_state))?(function() { \nvar G__27380__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.asteroids.update_state,args);\n};\nvar G__27380 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27381__i \x3d 0, G__27381__a \x3d new Array(arguments.length - 0);\nwhile (G__27381__i \x3c G__27381__a.length) {G__27381__a[G__27381__i] \x3d arguments[G__27381__i + 0]; ++G__27381__i;}\n args \x3d new cljs.core.IndexedSeq(G__27381__a,0,null);\n} \nreturn G__27380__delegate.call(this,args);};\nG__27380.cljs$lang$maxFixedArity \x3d 0;\nG__27380.cljs$lang$applyTo \x3d (function (arglist__27382){\nvar args \x3d cljs.core.seq(arglist__27382);\nreturn G__27380__delegate(args);\n});\nG__27380.cljs$core$IFn$_invoke$arity$variadic \x3d G__27380__delegate;\nreturn G__27380;\n})()\n:sketches.nature_of_code.oscillation.asteroids.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.asteroids.setup))?(function() { \nvar G__27383__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.asteroids.setup,args);\n};\nvar G__27383 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27384__i \x3d 0, G__27384__a \x3d new Array(arguments.length - 0);\nwhile (G__27384__i \x3c G__27384__a.length) {G__27384__a[G__27384__i] \x3d arguments[G__27384__i + 0]; ++G__27384__i;}\n args \x3d new cljs.core.IndexedSeq(G__27384__a,0,null);\n} \nreturn G__27383__delegate.call(this,args);};\nG__27383.cljs$lang$maxFixedArity \x3d 0;\nG__27383.cljs$lang$applyTo \x3d (function (arglist__27385){\nvar args \x3d cljs.core.seq(arglist__27385);\nreturn G__27383__delegate(args);\n});\nG__27383.cljs$core$IFn$_invoke$arity$variadic \x3d G__27383__delegate;\nreturn G__27383;\n})()\n:sketches.nature_of_code.oscillation.asteroids.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.asteroids.key_pressed))?(function() { \nvar G__27386__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.asteroids.key_pressed,args);\n};\nvar G__27386 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27387__i \x3d 0, G__27387__a \x3d new Array(arguments.length - 0);\nwhile (G__27387__i \x3c G__27387__a.length) {G__27387__a[G__27387__i] \x3d arguments[G__27387__i + 0]; ++G__27387__i;}\n args \x3d new cljs.core.IndexedSeq(G__27387__a,0,null);\n} \nreturn G__27386__delegate.call(this,args);};\nG__27386.cljs$lang$maxFixedArity \x3d 0;\nG__27386.cljs$lang$applyTo \x3d (function (arglist__27388){\nvar args \x3d cljs.core.seq(arglist__27388);\nreturn G__27386__delegate(args);\n});\nG__27386.cljs$core$IFn$_invoke$arity$variadic \x3d G__27386__delegate;\nreturn G__27386;\n})()\n:sketches.nature_of_code.oscillation.asteroids.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.asteroids.draw))?(function() { \nvar G__27389__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.asteroids.draw,args);\n};\nvar G__27389 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27390__i \x3d 0, G__27390__a \x3d new Array(arguments.length - 0);\nwhile (G__27390__i \x3c G__27390__a.length) {G__27390__a[G__27390__i] \x3d arguments[G__27390__i + 0]; ++G__27390__i;}\n args \x3d new cljs.core.IndexedSeq(G__27390__a,0,null);\n} \nreturn G__27389__delegate.call(this,args);};\nG__27389.cljs$lang$maxFixedArity \x3d 0;\nG__27389.cljs$lang$applyTo \x3d (function (arglist__27391){\nvar args \x3d cljs.core.seq(arglist__27391);\nreturn G__27389__delegate(args);\n});\nG__27389.cljs$core$IFn$_invoke$arity$variadic \x3d G__27389__delegate;\nreturn G__27389;\n})()\n:sketches.nature_of_code.oscillation.asteroids.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.asteroids.asteroids\x27, sketches.nature_of_code.oscillation.asteroids.asteroids);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.asteroids.asteroids,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27392__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27392 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27393__i \x3d 0, G__27393__a \x3d new Array(arguments.length - 0);\nwhile (G__27393__i \x3c G__27393__a.length) {G__27393__a[G__27393__i] \x3d arguments[G__27393__i + 0]; ++G__27393__i;}\n args \x3d new cljs.core.IndexedSeq(G__27393__a,0,null);\n} \nreturn G__27392__delegate.call(this,args);};\nG__27392.cljs$lang$maxFixedArity \x3d 0;\nG__27392.cljs$lang$applyTo \x3d (function (arglist__27394){\nvar args \x3d cljs.core.seq(arglist__27394);\nreturn G__27392__delegate(args);\n});\nG__27392.cljs$core$IFn$_invoke$arity$variadic \x3d G__27392__delegate;\nreturn G__27392;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.bob.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.bob\x27);\nsketches.nature_of_code.oscillation.bob.draw \x3d (function sketches$nature_of_code$oscillation$bob$draw(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar amplitude \x3d 110.0;\nvar period \x3d 80.0;\nvar x \x3d (amplitude * quil.core.cos(((quil.core.TWO_PI * quil.core.frame_count()) / period)));\nvar y \x3d ((60) * quil.core.abs(quil.core.sin(((quil.core.TWO_PI * quil.core.frame_count()) / period))));\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(0));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x,(y + (quil.core.height() / (2))));\n\nquil.core.ellipse(x,(y + (quil.core.height() / (2))),(80),(80));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.oscillation.bob.run \x3d (function sketches$nature_of_code$oscillation$bob$run(host){\nsketches.nature_of_code.oscillation.bob.bob \x3d (function sketches$nature_of_code$oscillation$bob$run_$_bob(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27488__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27488 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27489__i \x3d 0, G__27489__a \x3d new Array(arguments.length - 0);\nwhile (G__27489__i \x3c G__27489__a.length) {G__27489__a[G__27489__i] \x3d arguments[G__27489__i + 0]; ++G__27489__i;}\n args \x3d new cljs.core.IndexedSeq(G__27489__a,0,null);\n} \nreturn G__27488__delegate.call(this,args);};\nG__27488.cljs$lang$maxFixedArity \x3d 0;\nG__27488.cljs$lang$applyTo \x3d (function (arglist__27490){\nvar args \x3d cljs.core.seq(arglist__27490);\nreturn G__27488__delegate(args);\n});\nG__27488.cljs$core$IFn$_invoke$arity$variadic \x3d G__27488__delegate;\nreturn G__27488;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.bob.draw))?(function() { \nvar G__27491__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.bob.draw,args);\n};\nvar G__27491 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27492__i \x3d 0, G__27492__a \x3d new Array(arguments.length - 0);\nwhile (G__27492__i \x3c G__27492__a.length) {G__27492__a[G__27492__i] \x3d arguments[G__27492__i + 0]; ++G__27492__i;}\n args \x3d new cljs.core.IndexedSeq(G__27492__a,0,null);\n} \nreturn G__27491__delegate.call(this,args);};\nG__27491.cljs$lang$maxFixedArity \x3d 0;\nG__27491.cljs$lang$applyTo \x3d (function (arglist__27493){\nvar args \x3d cljs.core.seq(arglist__27493);\nreturn G__27491__delegate(args);\n});\nG__27491.cljs$core$IFn$_invoke$arity$variadic \x3d G__27491__delegate;\nreturn G__27491;\n})()\n:sketches.nature_of_code.oscillation.bob.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.bob.bob\x27, sketches.nature_of_code.oscillation.bob.bob);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.bob.bob,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27494__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27494 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27495__i \x3d 0, G__27495__a \x3d new Array(arguments.length - 0);\nwhile (G__27495__i \x3c G__27495__a.length) {G__27495__a[G__27495__i] \x3d arguments[G__27495__i + 0]; ++G__27495__i;}\n args \x3d new cljs.core.IndexedSeq(G__27495__a,0,null);\n} \nreturn G__27494__delegate.call(this,args);};\nG__27494.cljs$lang$maxFixedArity \x3d 0;\nG__27494.cljs$lang$applyTo \x3d (function (arglist__27496){\nvar args \x3d cljs.core.seq(arglist__27496);\nreturn G__27494__delegate(args);\n});\nG__27494.cljs$core$IFn$_invoke$arity$variadic \x3d G__27494__delegate;\nreturn G__27494;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.cannon.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.cannon\x27);\nsketches.nature_of_code.oscillation.cannon.setup \x3d (function sketches$nature_of_code$oscillation$cannon$setup(){\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() * 0.1),(quil.core.height() * 0.8)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),0.2,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(0),new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),(20)], null);\n});\nsketches.nature_of_code.oscillation.cannon.compute_position \x3d (function sketches$nature_of_code$oscillation$cannon$compute_position(mover){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),(function (p1__27395_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421).cljs$core$IFn$_invoke$arity$1(mover),p1__27395_SHARP_);\n})),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),(function (p1__27396_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__27396_SHARP_,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421).cljs$core$IFn$_invoke$arity$1(mover),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355).cljs$core$IFn$_invoke$arity$1(mover)));\n})),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),(function (p1__27397_SHARP_){\nreturn (new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599).cljs$core$IFn$_invoke$arity$1(mover) + p1__27397_SHARP_);\n})),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(function (p1__27398_SHARP_){\nreturn ((new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599).cljs$core$IFn$_invoke$arity$1(mover) + new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641).cljs$core$IFn$_invoke$arity$1(mover)) + p1__27398_SHARP_);\n})),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0)),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null));\n});\nsketches.nature_of_code.oscillation.cannon.shoot \x3d (function sketches$nature_of_code$oscillation$cannon$shoot(p__27399){\nvar map__27400 \x3d p__27399;\nvar map__27400__$1 \x3d cljs.core.__destructure_map(map__27400);\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27400__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(sketches.vector.mag(velocity),0.0)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(100),(-100)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null);\n}\n});\nsketches.nature_of_code.oscillation.cannon.update_cannonball \x3d (function sketches$nature_of_code$oscillation$cannon$update_cannonball(cannonball){\nreturn sketches.nature_of_code.oscillation.cannon.compute_position(sketches.mover.apply_force(cannonball,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.0,(3)], null),sketches.nature_of_code.oscillation.cannon.shoot(cannonball))));\n});\nsketches.nature_of_code.oscillation.cannon.update_state \x3d (function sketches$nature_of_code$oscillation$cannon$update_state(cannonball){\nreturn sketches.nature_of_code.oscillation.cannon.update_cannonball(cannonball);\n});\nsketches.nature_of_code.oscillation.cannon.draw_cannon \x3d (function sketches$nature_of_code$oscillation$cannon$draw_cannon(){\nvar tr__24577__auto__ \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() * 0.1),(quil.core.height() * 0.8)], null);\nquil.core.push_matrix();\n\ntry{quil.core.translate.cljs$core$IFn$_invoke$arity$1(tr__24577__auto__);\n\nvar fill__24561__auto__ \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0),(0)], null);\nvar previous_fill__24562__auto__ \x3d quil.core.current_fill();\nif(cljs.core.sequential_QMARK_(fill__24561__auto__)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,fill__24561__auto__);\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(fill__24561__auto__);\n\n}\n\nvar return_val__24563__auto__ \x3d (function (){\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(15),(30),(20));\n\nvar tr__24583__auto__ \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.radians((225))], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto__);\n\nquil.core.ellipse((0),(0),(20),(20));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(10),(20),(20));\n}finally {quil.core.pop_matrix();\n}})()\n;\nif((previous_fill__24562__auto__ \x3d\x3d null)){\nquil.core.no_fill();\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(previous_fill__24562__auto__);\n}\n\nreturn return_val__24563__auto__;\n}finally {quil.core.pop_matrix();\n}});\nsketches.nature_of_code.oscillation.cannon.draw_cannonball \x3d (function sketches$nature_of_code$oscillation$cannon$draw_cannonball(p__27754){\nvar map__27755 \x3d p__27754;\nvar map__27755__$1 \x3d cljs.core.__destructure_map(map__27755);\nvar vec__27756 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27755__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27756,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27756,(1),null);\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27755__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nvar tr__24577__auto__ \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);\nquil.core.push_matrix();\n\ntry{quil.core.translate.cljs$core$IFn$_invoke$arity$1(tr__24577__auto__);\n\nvar fill__24561__auto__ \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(255),(0),(0)], null);\nvar previous_fill__24562__auto__ \x3d quil.core.current_fill();\nif(cljs.core.sequential_QMARK_(fill__24561__auto__)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,fill__24561__auto__);\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(fill__24561__auto__);\n\n}\n\nvar return_val__24563__auto__ \x3d (function (){var tr__24583__auto__ \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto__);\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(15),(15));\n}finally {quil.core.pop_matrix();\n}})();\nif((previous_fill__24562__auto__ \x3d\x3d null)){\nquil.core.no_fill();\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(previous_fill__24562__auto__);\n}\n\nreturn return_val__24563__auto__;\n}finally {quil.core.pop_matrix();\n}});\nsketches.nature_of_code.oscillation.cannon.draw \x3d (function sketches$nature_of_code$oscillation$cannon$draw(cannonball){\nquil.core.background.cljs$core$IFn$_invoke$arity$3((255),(255),(255));\n\nsketches.nature_of_code.oscillation.cannon.draw_cannonball(cannonball);\n\nreturn sketches.nature_of_code.oscillation.cannon.draw_cannon();\n});\nsketches.nature_of_code.oscillation.cannon.run \x3d (function sketches$nature_of_code$oscillation$cannon$run(host){\nsketches.nature_of_code.oscillation.cannon.cannon \x3d (function sketches$nature_of_code$oscillation$cannon$run_$_cannon(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27765__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27765 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27766__i \x3d 0, G__27766__a \x3d new Array(arguments.length - 0);\nwhile (G__27766__i \x3c G__27766__a.length) {G__27766__a[G__27766__i] \x3d arguments[G__27766__i + 0]; ++G__27766__i;}\n args \x3d new cljs.core.IndexedSeq(G__27766__a,0,null);\n} \nreturn G__27765__delegate.call(this,args);};\nG__27765.cljs$lang$maxFixedArity \x3d 0;\nG__27765.cljs$lang$applyTo \x3d (function (arglist__27771){\nvar args \x3d cljs.core.seq(arglist__27771);\nreturn G__27765__delegate(args);\n});\nG__27765.cljs$core$IFn$_invoke$arity$variadic \x3d G__27765__delegate;\nreturn G__27765;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.cannon.update_state))?(function() { \nvar G__27772__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.cannon.update_state,args);\n};\nvar G__27772 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27773__i \x3d 0, G__27773__a \x3d new Array(arguments.length - 0);\nwhile (G__27773__i \x3c G__27773__a.length) {G__27773__a[G__27773__i] \x3d arguments[G__27773__i + 0]; ++G__27773__i;}\n args \x3d new cljs.core.IndexedSeq(G__27773__a,0,null);\n} \nreturn G__27772__delegate.call(this,args);};\nG__27772.cljs$lang$maxFixedArity \x3d 0;\nG__27772.cljs$lang$applyTo \x3d (function (arglist__27774){\nvar args \x3d cljs.core.seq(arglist__27774);\nreturn G__27772__delegate(args);\n});\nG__27772.cljs$core$IFn$_invoke$arity$variadic \x3d G__27772__delegate;\nreturn G__27772;\n})()\n:sketches.nature_of_code.oscillation.cannon.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.cannon.setup))?(function() { \nvar G__27775__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.cannon.setup,args);\n};\nvar G__27775 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27776__i \x3d 0, G__27776__a \x3d new Array(arguments.length - 0);\nwhile (G__27776__i \x3c G__27776__a.length) {G__27776__a[G__27776__i] \x3d arguments[G__27776__i + 0]; ++G__27776__i;}\n args \x3d new cljs.core.IndexedSeq(G__27776__a,0,null);\n} \nreturn G__27775__delegate.call(this,args);};\nG__27775.cljs$lang$maxFixedArity \x3d 0;\nG__27775.cljs$lang$applyTo \x3d (function (arglist__27777){\nvar args \x3d cljs.core.seq(arglist__27777);\nreturn G__27775__delegate(args);\n});\nG__27775.cljs$core$IFn$_invoke$arity$variadic \x3d G__27775__delegate;\nreturn G__27775;\n})()\n:sketches.nature_of_code.oscillation.cannon.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.cannon.draw))?(function() { \nvar G__27778__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.cannon.draw,args);\n};\nvar G__27778 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27779__i \x3d 0, G__27779__a \x3d new Array(arguments.length - 0);\nwhile (G__27779__i \x3c G__27779__a.length) {G__27779__a[G__27779__i] \x3d arguments[G__27779__i + 0]; ++G__27779__i;}\n args \x3d new cljs.core.IndexedSeq(G__27779__a,0,null);\n} \nreturn G__27778__delegate.call(this,args);};\nG__27778.cljs$lang$maxFixedArity \x3d 0;\nG__27778.cljs$lang$applyTo \x3d (function (arglist__27780){\nvar args \x3d cljs.core.seq(arglist__27780);\nreturn G__27778__delegate(args);\n});\nG__27778.cljs$core$IFn$_invoke$arity$variadic \x3d G__27778__delegate;\nreturn G__27778;\n})()\n:sketches.nature_of_code.oscillation.cannon.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.cannon.cannon\x27, sketches.nature_of_code.oscillation.cannon.cannon);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.cannon.cannon,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27781__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27781 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27782__i \x3d 0, G__27782__a \x3d new Array(arguments.length - 0);\nwhile (G__27782__i \x3c G__27782__a.length) {G__27782__a[G__27782__i] \x3d arguments[G__27782__i + 0]; ++G__27782__i;}\n args \x3d new cljs.core.IndexedSeq(G__27782__a,0,null);\n} \nreturn G__27781__delegate.call(this,args);};\nG__27781.cljs$lang$maxFixedArity \x3d 0;\nG__27781.cljs$lang$applyTo \x3d (function (arglist__27783){\nvar args \x3d cljs.core.seq(arglist__27783);\nreturn G__27781__delegate(args);\n});\nG__27781.cljs$core$IFn$_invoke$arity$variadic \x3d G__27781__delegate;\nreturn G__27781;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.combined_wave.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.combined_wave\x27);\nsketches.nature_of_code.oscillation.combined_wave.setup \x3d (function sketches$nature_of_code$oscillation$combined_wave$setup(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27403_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(p1__27403_SHARP_ * (24)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),(200),new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082),0.01,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(p1__27403_SHARP_ * 0.1)], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),(50),new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082),0.03,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(p1__27403_SHARP_ * 0.3)], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),(150),new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082),0.06,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(p1__27403_SHARP_ * 0.5)], null)], null)],null));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((quil.core.width() / (24))));\n});\nsketches.nature_of_code.oscillation.combined_wave.update_state \x3d (function sketches$nature_of_code$oscillation$combined_wave$update_state(state){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__27434){\nvar vec__27437 \x3d p__27434;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27437,(0),null);\nvar ys \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27437,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__27443){\nvar map__27444 \x3d p__27443;\nvar map__27444__$1 \x3d cljs.core.__destructure_map(map__27444);\nvar y \x3d map__27444__$1;\nvar angle_vel \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27444__$1,new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(y,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,angle_vel);\n}),ys)], null);\n}),state);\n});\nsketches.nature_of_code.oscillation.combined_wave.combine_waves \x3d (function sketches$nature_of_code$oscillation$combined_wave$combine_waves(waves){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (total_y,p__27458){\nvar map__27459 \x3d p__27458;\nvar map__27459__$1 \x3d cljs.core.__destructure_map(map__27459);\nvar angle_vel \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27459__$1,new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082));\nvar amplitude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27459__$1,new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27459__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nreturn (total_y + quil.core.map_range(quil.core.sin(angle),(-1),(1),(0),amplitude));\n}),(0),waves);\n});\nsketches.nature_of_code.oscillation.combined_wave.draw_wave_element \x3d (function sketches$nature_of_code$oscillation$combined_wave$draw_wave_element(p__27476){\nvar vec__27477 \x3d p__27476;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27477,(0),null);\nvar waves \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27477,(1),null);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nreturn quil.core.ellipse(x,sketches.nature_of_code.oscillation.combined_wave.combine_waves(waves),(48),(48));\n});\nsketches.nature_of_code.oscillation.combined_wave.draw \x3d (function sketches$nature_of_code$oscillation$combined_wave$draw(state){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27537 \x3d cljs.core.seq(state);\nvar chunk__27538 \x3d null;\nvar count__27539 \x3d (0);\nvar i__27540 \x3d (0);\nwhile(true){\nif((i__27540 \x3c count__27539)){\nvar wave_element \x3d chunk__27538.cljs$core$IIndexed$_nth$arity$2(null,i__27540);\nsketches.nature_of_code.oscillation.combined_wave.draw_wave_element(wave_element);\n\n\nvar G__27581 \x3d seq__27537;\nvar G__27582 \x3d chunk__27538;\nvar G__27583 \x3d count__27539;\nvar G__27584 \x3d (i__27540 + (1));\nseq__27537 \x3d G__27581;\nchunk__27538 \x3d G__27582;\ncount__27539 \x3d G__27583;\ni__27540 \x3d G__27584;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27537);\nif(temp__5804__auto__){\nvar seq__27537__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27537__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27537__$1);\nvar G__27601 \x3d cljs.core.chunk_rest(seq__27537__$1);\nvar G__27602 \x3d c__5568__auto__;\nvar G__27603 \x3d cljs.core.count(c__5568__auto__);\nvar G__27604 \x3d (0);\nseq__27537 \x3d G__27601;\nchunk__27538 \x3d G__27602;\ncount__27539 \x3d G__27603;\ni__27540 \x3d G__27604;\ncontinue;\n} else {\nvar wave_element \x3d cljs.core.first(seq__27537__$1);\nsketches.nature_of_code.oscillation.combined_wave.draw_wave_element(wave_element);\n\n\nvar G__27621 \x3d cljs.core.next(seq__27537__$1);\nvar G__27622 \x3d null;\nvar G__27623 \x3d (0);\nvar G__27624 \x3d (0);\nseq__27537 \x3d G__27621;\nchunk__27538 \x3d G__27622;\ncount__27539 \x3d G__27623;\ni__27540 \x3d G__27624;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.combined_wave.run \x3d (function sketches$nature_of_code$oscillation$combined_wave$run(host){\nsketches.nature_of_code.oscillation.combined_wave.combined_wave \x3d (function sketches$nature_of_code$oscillation$combined_wave$run_$_combined_wave(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27690__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27690 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27692__i \x3d 0, G__27692__a \x3d new Array(arguments.length - 0);\nwhile (G__27692__i \x3c G__27692__a.length) {G__27692__a[G__27692__i] \x3d arguments[G__27692__i + 0]; ++G__27692__i;}\n args \x3d new cljs.core.IndexedSeq(G__27692__a,0,null);\n} \nreturn G__27690__delegate.call(this,args);};\nG__27690.cljs$lang$maxFixedArity \x3d 0;\nG__27690.cljs$lang$applyTo \x3d (function (arglist__27693){\nvar args \x3d cljs.core.seq(arglist__27693);\nreturn G__27690__delegate(args);\n});\nG__27690.cljs$core$IFn$_invoke$arity$variadic \x3d G__27690__delegate;\nreturn G__27690;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.combined_wave.update_state))?(function() { \nvar G__27695__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.combined_wave.update_state,args);\n};\nvar G__27695 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27696__i \x3d 0, G__27696__a \x3d new Array(arguments.length - 0);\nwhile (G__27696__i \x3c G__27696__a.length) {G__27696__a[G__27696__i] \x3d arguments[G__27696__i + 0]; ++G__27696__i;}\n args \x3d new cljs.core.IndexedSeq(G__27696__a,0,null);\n} \nreturn G__27695__delegate.call(this,args);};\nG__27695.cljs$lang$maxFixedArity \x3d 0;\nG__27695.cljs$lang$applyTo \x3d (function (arglist__27697){\nvar args \x3d cljs.core.seq(arglist__27697);\nreturn G__27695__delegate(args);\n});\nG__27695.cljs$core$IFn$_invoke$arity$variadic \x3d G__27695__delegate;\nreturn G__27695;\n})()\n:sketches.nature_of_code.oscillation.combined_wave.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.combined_wave.setup))?(function() { \nvar G__27698__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.combined_wave.setup,args);\n};\nvar G__27698 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27699__i \x3d 0, G__27699__a \x3d new Array(arguments.length - 0);\nwhile (G__27699__i \x3c G__27699__a.length) {G__27699__a[G__27699__i] \x3d arguments[G__27699__i + 0]; ++G__27699__i;}\n args \x3d new cljs.core.IndexedSeq(G__27699__a,0,null);\n} \nreturn G__27698__delegate.call(this,args);};\nG__27698.cljs$lang$maxFixedArity \x3d 0;\nG__27698.cljs$lang$applyTo \x3d (function (arglist__27700){\nvar args \x3d cljs.core.seq(arglist__27700);\nreturn G__27698__delegate(args);\n});\nG__27698.cljs$core$IFn$_invoke$arity$variadic \x3d G__27698__delegate;\nreturn G__27698;\n})()\n:sketches.nature_of_code.oscillation.combined_wave.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.combined_wave.draw))?(function() { \nvar G__27701__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.combined_wave.draw,args);\n};\nvar G__27701 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27702__i \x3d 0, G__27702__a \x3d new Array(arguments.length - 0);\nwhile (G__27702__i \x3c G__27702__a.length) {G__27702__a[G__27702__i] \x3d arguments[G__27702__i + 0]; ++G__27702__i;}\n args \x3d new cljs.core.IndexedSeq(G__27702__a,0,null);\n} \nreturn G__27701__delegate.call(this,args);};\nG__27701.cljs$lang$maxFixedArity \x3d 0;\nG__27701.cljs$lang$applyTo \x3d (function (arglist__27703){\nvar args \x3d cljs.core.seq(arglist__27703);\nreturn G__27701__delegate(args);\n});\nG__27701.cljs$core$IFn$_invoke$arity$variadic \x3d G__27701__delegate;\nreturn G__27701;\n})()\n:sketches.nature_of_code.oscillation.combined_wave.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.combined_wave.combined_wave\x27, sketches.nature_of_code.oscillation.combined_wave.combined_wave);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.combined_wave.combined_wave,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27704__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27704 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27706__i \x3d 0, G__27706__a \x3d new Array(arguments.length - 0);\nwhile (G__27706__i \x3c G__27706__a.length) {G__27706__a[G__27706__i] \x3d arguments[G__27706__i + 0]; ++G__27706__i;}\n args \x3d new cljs.core.IndexedSeq(G__27706__a,0,null);\n} \nreturn G__27704__delegate.call(this,args);};\nG__27704.cljs$lang$maxFixedArity \x3d 0;\nG__27704.cljs$lang$applyTo \x3d (function (arglist__27707){\nvar args \x3d cljs.core.seq(arglist__27707);\nreturn G__27704__delegate(args);\n});\nG__27704.cljs$core$IFn$_invoke$arity$variadic \x3d G__27704__delegate;\nreturn G__27704;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.custom_waves.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.custom_waves\x27);\nsketches.nature_of_code.oscillation.custom_waves.setup \x3d (function sketches$nature_of_code$oscillation$custom_waves$setup(){\nreturn (new cljs.core.List(null,(function (){var element_counts \x3d (quil.core.width() / (24));\nvar angle_vel \x3d 0.02;\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),(200),new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082),angle_vel,new cljs.core.Keyword(null,\x22elements\x22,\x22elements\x22,657646735),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27401_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(p1__27401_SHARP_ * (24)),(p1__27401_SHARP_ * angle_vel)],null));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(element_counts)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0.1 * quil.core.height())], null)], null);\n})(),(new cljs.core.List(null,(function (){var element_counts \x3d (quil.core.width() / (48));\nvar angle_vel \x3d 0.3;\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),(50),new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082),angle_vel,new cljs.core.Keyword(null,\x22elements\x22,\x22elements\x22,657646735),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27402_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(p1__27402_SHARP_ * (24)),(p1__27402_SHARP_ * angle_vel)],null));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(element_counts)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0.8 * quil.core.height())], null)], null);\n})(),null,(1),null)),(2),null));\n});\nsketches.nature_of_code.oscillation.custom_waves.update_element \x3d (function sketches$nature_of_code$oscillation$custom_waves$update_element(angle_vel,p__27426){\nvar vec__27427 \x3d p__27426;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27427,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27427,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.mod(((1) + x),quil.core.width()),(angle_vel + y)], null);\n});\nsketches.nature_of_code.oscillation.custom_waves.update_wave \x3d (function sketches$nature_of_code$oscillation$custom_waves$update_wave(p__27441){\nvar map__27442 \x3d p__27441;\nvar map__27442__$1 \x3d cljs.core.__destructure_map(map__27442);\nvar wave \x3d map__27442__$1;\nvar angle_vel \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27442__$1,new cljs.core.Keyword(null,\x22angle-vel\x22,\x22angle-vel\x22,-836329082));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(wave,new cljs.core.Keyword(null,\x22elements\x22,\x22elements\x22,657646735),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.map,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.custom_waves.update_element,angle_vel)));\n});\nsketches.nature_of_code.oscillation.custom_waves.update_state \x3d (function sketches$nature_of_code$oscillation$custom_waves$update_state(waves){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.custom_waves.update_wave,waves);\n});\nsketches.nature_of_code.oscillation.custom_waves.draw_wave \x3d (function sketches$nature_of_code$oscillation$custom_waves$draw_wave(p__27449){\nvar map__27450 \x3d p__27449;\nvar map__27450__$1 \x3d cljs.core.__destructure_map(map__27450);\nvar vec__27451 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27450__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar l1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27451,(0),null);\nvar l2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27451,(1),null);\nvar angleVel \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27450__$1,new cljs.core.Keyword(null,\x22angleVel\x22,\x22angleVel\x22,-644484640));\nvar elements \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27450__$1,new cljs.core.Keyword(null,\x22elements\x22,\x22elements\x22,657646735));\nvar amplitude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27450__$1,new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203));\nvar seq__27454 \x3d cljs.core.seq(elements);\nvar chunk__27455 \x3d null;\nvar count__27456 \x3d (0);\nvar i__27457 \x3d (0);\nwhile(true){\nif((i__27457 \x3c count__27456)){\nvar vec__27506 \x3d chunk__27455.cljs$core$IIndexed$_nth$arity$2(null,i__27457);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27506,(0),null);\nvar angle \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27506,(1),null);\nvar y_27543 \x3d quil.core.map_range(quil.core.sin(angle),(-1),(1),(0),amplitude);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nquil.core.ellipse((l1 + x),(l2 + y_27543),(48),(48));\n\n\nvar G__27544 \x3d seq__27454;\nvar G__27545 \x3d chunk__27455;\nvar G__27546 \x3d count__27456;\nvar G__27547 \x3d (i__27457 + (1));\nseq__27454 \x3d G__27544;\nchunk__27455 \x3d G__27545;\ncount__27456 \x3d G__27546;\ni__27457 \x3d G__27547;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27454);\nif(temp__5804__auto__){\nvar seq__27454__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27454__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27454__$1);\nvar G__27548 \x3d cljs.core.chunk_rest(seq__27454__$1);\nvar G__27549 \x3d c__5568__auto__;\nvar G__27550 \x3d cljs.core.count(c__5568__auto__);\nvar G__27551 \x3d (0);\nseq__27454 \x3d G__27548;\nchunk__27455 \x3d G__27549;\ncount__27456 \x3d G__27550;\ni__27457 \x3d G__27551;\ncontinue;\n} else {\nvar vec__27520 \x3d cljs.core.first(seq__27454__$1);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27520,(0),null);\nvar angle \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27520,(1),null);\nvar y_27564 \x3d quil.core.map_range(quil.core.sin(angle),(-1),(1),(0),amplitude);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nquil.core.ellipse((l1 + x),(l2 + y_27564),(48),(48));\n\n\nvar G__27565 \x3d cljs.core.next(seq__27454__$1);\nvar G__27566 \x3d null;\nvar G__27567 \x3d (0);\nvar G__27568 \x3d (0);\nseq__27454 \x3d G__27565;\nchunk__27455 \x3d G__27566;\ncount__27456 \x3d G__27567;\ni__27457 \x3d G__27568;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.custom_waves.draw \x3d (function sketches$nature_of_code$oscillation$custom_waves$draw(waves){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27526 \x3d cljs.core.seq(waves);\nvar chunk__27534 \x3d null;\nvar count__27535 \x3d (0);\nvar i__27536 \x3d (0);\nwhile(true){\nif((i__27536 \x3c count__27535)){\nvar wave \x3d chunk__27534.cljs$core$IIndexed$_nth$arity$2(null,i__27536);\nsketches.nature_of_code.oscillation.custom_waves.draw_wave(wave);\n\n\nvar G__27569 \x3d seq__27526;\nvar G__27570 \x3d chunk__27534;\nvar G__27571 \x3d count__27535;\nvar G__27572 \x3d (i__27536 + (1));\nseq__27526 \x3d G__27569;\nchunk__27534 \x3d G__27570;\ncount__27535 \x3d G__27571;\ni__27536 \x3d G__27572;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27526);\nif(temp__5804__auto__){\nvar seq__27526__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27526__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27526__$1);\nvar G__27585 \x3d cljs.core.chunk_rest(seq__27526__$1);\nvar G__27586 \x3d c__5568__auto__;\nvar G__27587 \x3d cljs.core.count(c__5568__auto__);\nvar G__27588 \x3d (0);\nseq__27526 \x3d G__27585;\nchunk__27534 \x3d G__27586;\ncount__27535 \x3d G__27587;\ni__27536 \x3d G__27588;\ncontinue;\n} else {\nvar wave \x3d cljs.core.first(seq__27526__$1);\nsketches.nature_of_code.oscillation.custom_waves.draw_wave(wave);\n\n\nvar G__27597 \x3d cljs.core.next(seq__27526__$1);\nvar G__27598 \x3d null;\nvar G__27599 \x3d (0);\nvar G__27600 \x3d (0);\nseq__27526 \x3d G__27597;\nchunk__27534 \x3d G__27598;\ncount__27535 \x3d G__27599;\ni__27536 \x3d G__27600;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.custom_waves.run \x3d (function sketches$nature_of_code$oscillation$custom_waves$run(host){\nsketches.nature_of_code.oscillation.custom_waves.custom_waves \x3d (function sketches$nature_of_code$oscillation$custom_waves$run_$_custom_waves(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27685__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27685 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27687__i \x3d 0, G__27687__a \x3d new Array(arguments.length - 0);\nwhile (G__27687__i \x3c G__27687__a.length) {G__27687__a[G__27687__i] \x3d arguments[G__27687__i + 0]; ++G__27687__i;}\n args \x3d new cljs.core.IndexedSeq(G__27687__a,0,null);\n} \nreturn G__27685__delegate.call(this,args);};\nG__27685.cljs$lang$maxFixedArity \x3d 0;\nG__27685.cljs$lang$applyTo \x3d (function (arglist__27688){\nvar args \x3d cljs.core.seq(arglist__27688);\nreturn G__27685__delegate(args);\n});\nG__27685.cljs$core$IFn$_invoke$arity$variadic \x3d G__27685__delegate;\nreturn G__27685;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.custom_waves.update_state))?(function() { \nvar G__27694__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.custom_waves.update_state,args);\n};\nvar G__27694 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27705__i \x3d 0, G__27705__a \x3d new Array(arguments.length - 0);\nwhile (G__27705__i \x3c G__27705__a.length) {G__27705__a[G__27705__i] \x3d arguments[G__27705__i + 0]; ++G__27705__i;}\n args \x3d new cljs.core.IndexedSeq(G__27705__a,0,null);\n} \nreturn G__27694__delegate.call(this,args);};\nG__27694.cljs$lang$maxFixedArity \x3d 0;\nG__27694.cljs$lang$applyTo \x3d (function (arglist__27712){\nvar args \x3d cljs.core.seq(arglist__27712);\nreturn G__27694__delegate(args);\n});\nG__27694.cljs$core$IFn$_invoke$arity$variadic \x3d G__27694__delegate;\nreturn G__27694;\n})()\n:sketches.nature_of_code.oscillation.custom_waves.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.custom_waves.setup))?(function() { \nvar G__27730__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.custom_waves.setup,args);\n};\nvar G__27730 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27731__i \x3d 0, G__27731__a \x3d new Array(arguments.length - 0);\nwhile (G__27731__i \x3c G__27731__a.length) {G__27731__a[G__27731__i] \x3d arguments[G__27731__i + 0]; ++G__27731__i;}\n args \x3d new cljs.core.IndexedSeq(G__27731__a,0,null);\n} \nreturn G__27730__delegate.call(this,args);};\nG__27730.cljs$lang$maxFixedArity \x3d 0;\nG__27730.cljs$lang$applyTo \x3d (function (arglist__27732){\nvar args \x3d cljs.core.seq(arglist__27732);\nreturn G__27730__delegate(args);\n});\nG__27730.cljs$core$IFn$_invoke$arity$variadic \x3d G__27730__delegate;\nreturn G__27730;\n})()\n:sketches.nature_of_code.oscillation.custom_waves.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.custom_waves.draw))?(function() { \nvar G__27733__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.custom_waves.draw,args);\n};\nvar G__27733 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27734__i \x3d 0, G__27734__a \x3d new Array(arguments.length - 0);\nwhile (G__27734__i \x3c G__27734__a.length) {G__27734__a[G__27734__i] \x3d arguments[G__27734__i + 0]; ++G__27734__i;}\n args \x3d new cljs.core.IndexedSeq(G__27734__a,0,null);\n} \nreturn G__27733__delegate.call(this,args);};\nG__27733.cljs$lang$maxFixedArity \x3d 0;\nG__27733.cljs$lang$applyTo \x3d (function (arglist__27735){\nvar args \x3d cljs.core.seq(arglist__27735);\nreturn G__27733__delegate(args);\n});\nG__27733.cljs$core$IFn$_invoke$arity$variadic \x3d G__27733__delegate;\nreturn G__27733;\n})()\n:sketches.nature_of_code.oscillation.custom_waves.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.custom_waves.custom_waves\x27, sketches.nature_of_code.oscillation.custom_waves.custom_waves);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.custom_waves.custom_waves,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27742__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27742 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27743__i \x3d 0, G__27743__a \x3d new Array(arguments.length - 0);\nwhile (G__27743__i \x3c G__27743__a.length) {G__27743__a[G__27743__i] \x3d arguments[G__27743__i + 0]; ++G__27743__i;}\n args \x3d new cljs.core.IndexedSeq(G__27743__a,0,null);\n} \nreturn G__27742__delegate.call(this,args);};\nG__27742.cljs$lang$maxFixedArity \x3d 0;\nG__27742.cljs$lang$applyTo \x3d (function (arglist__27745){\nvar args \x3d cljs.core.seq(arglist__27745);\nreturn G__27742__delegate(args);\n});\nG__27742.cljs$core$IFn$_invoke$arity$variadic \x3d G__27742__delegate;\nreturn G__27742;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.insect.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.insect\x27);\nsketches.nature_of_code.oscillation.insect.setup \x3d (function sketches$nature_of_code$oscillation$insect$setup(){\nreturn cljs.core.list(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-25),(-25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-30),(-30)], null)], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(25),(25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(30),(-30)], null)], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(-25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-80),(0)], null)], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(80),(0)], null)], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-25),(-25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-30),(30)], null)], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.08], null),new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(25),(25)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(30),(30)], null)], null));\n});\nsketches.nature_of_code.oscillation.insect.draw_foot \x3d (function sketches$nature_of_code$oscillation$insect$draw_foot(p__27407){\nvar map__27408 \x3d p__27407;\nvar map__27408__$1 \x3d cljs.core.__destructure_map(map__27408);\nvar vec__27409 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27408__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27409,(0),null);\nvar a2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27409,(1),null);\nvar vec__27412 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27408__$1,new cljs.core.Keyword(null,\x22amplitude\x22,\x22amplitude\x22,-1387734203));\nvar am1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27412,(0),null);\nvar am2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27412,(1),null);\nvar vec__27415 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27408__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar l1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27415,(0),null);\nvar l2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27415,(1),null);\nvar x \x3d (l1 + (am1 * quil.core.cos(a1)));\nvar y \x3d (l2 + (am2 * quil.core.cos(a2)));\nquil.core.push_matrix();\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nquil.core.stroke_weight((4));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x,y);\n\nquil.core.ellipse(x,y,(20),(20));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.oscillation.insect.draw \x3d (function sketches$nature_of_code$oscillation$insect$draw(state){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27445_27708 \x3d cljs.core.seq(state);\nvar chunk__27446_27709 \x3d null;\nvar count__27447_27710 \x3d (0);\nvar i__27448_27711 \x3d (0);\nwhile(true){\nif((i__27448_27711 \x3c count__27447_27710)){\nvar foot_27713 \x3d chunk__27446_27709.cljs$core$IIndexed$_nth$arity$2(null,i__27448_27711);\nsketches.nature_of_code.oscillation.insect.draw_foot(foot_27713);\n\n\nvar G__27714 \x3d seq__27445_27708;\nvar G__27715 \x3d chunk__27446_27709;\nvar G__27716 \x3d count__27447_27710;\nvar G__27717 \x3d (i__27448_27711 + (1));\nseq__27445_27708 \x3d G__27714;\nchunk__27446_27709 \x3d G__27715;\ncount__27447_27710 \x3d G__27716;\ni__27448_27711 \x3d G__27717;\ncontinue;\n} else {\nvar temp__5804__auto___27718 \x3d cljs.core.seq(seq__27445_27708);\nif(temp__5804__auto___27718){\nvar seq__27445_27719__$1 \x3d temp__5804__auto___27718;\nif(cljs.core.chunked_seq_QMARK_(seq__27445_27719__$1)){\nvar c__5568__auto___27720 \x3d cljs.core.chunk_first(seq__27445_27719__$1);\nvar G__27721 \x3d cljs.core.chunk_rest(seq__27445_27719__$1);\nvar G__27722 \x3d c__5568__auto___27720;\nvar G__27723 \x3d cljs.core.count(c__5568__auto___27720);\nvar G__27724 \x3d (0);\nseq__27445_27708 \x3d G__27721;\nchunk__27446_27709 \x3d G__27722;\ncount__27447_27710 \x3d G__27723;\ni__27448_27711 \x3d G__27724;\ncontinue;\n} else {\nvar foot_27725 \x3d cljs.core.first(seq__27445_27719__$1);\nsketches.nature_of_code.oscillation.insect.draw_foot(foot_27725);\n\n\nvar G__27726 \x3d cljs.core.next(seq__27445_27719__$1);\nvar G__27727 \x3d null;\nvar G__27728 \x3d (0);\nvar G__27729 \x3d (0);\nseq__27445_27708 \x3d G__27726;\nchunk__27446_27709 \x3d G__27727;\ncount__27447_27710 \x3d G__27728;\ni__27448_27711 \x3d G__27729;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((175));\n\nquil.core.ellipse((quil.core.width() / (2)),(quil.core.height() / (2)),(80),(120));\n\nquil.core.ellipse((quil.core.width() / (2)),((quil.core.height() / (2)) - (60)),(50),(50));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.ellipse(((quil.core.width() / (2)) - (10)),((quil.core.height() / (2)) - (70)),(10),(10));\n\nreturn quil.core.ellipse(((quil.core.width() / (2)) + (10)),((quil.core.height() / (2)) - (70)),(10),(10));\n});\nsketches.nature_of_code.oscillation.insect.update_foot \x3d (function sketches$nature_of_code$oscillation$insect$update_foot(p__27541){\nvar map__27542 \x3d p__27541;\nvar map__27542__$1 \x3d cljs.core.__destructure_map(map__27542);\nvar foot \x3d map__27542__$1;\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27542__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(foot,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),sketches.vector.add,velocity);\n});\nsketches.nature_of_code.oscillation.insect.update_state \x3d (function sketches$nature_of_code$oscillation$insect$update_state(state){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.insect.update_foot,state);\n});\nsketches.nature_of_code.oscillation.insect.run \x3d (function sketches$nature_of_code$oscillation$insect$run(host){\nsketches.nature_of_code.oscillation.insect.insect \x3d (function sketches$nature_of_code$oscillation$insect$run_$_insect(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27736__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27736 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27737__i \x3d 0, G__27737__a \x3d new Array(arguments.length - 0);\nwhile (G__27737__i \x3c G__27737__a.length) {G__27737__a[G__27737__i] \x3d arguments[G__27737__i + 0]; ++G__27737__i;}\n args \x3d new cljs.core.IndexedSeq(G__27737__a,0,null);\n} \nreturn G__27736__delegate.call(this,args);};\nG__27736.cljs$lang$maxFixedArity \x3d 0;\nG__27736.cljs$lang$applyTo \x3d (function (arglist__27738){\nvar args \x3d cljs.core.seq(arglist__27738);\nreturn G__27736__delegate(args);\n});\nG__27736.cljs$core$IFn$_invoke$arity$variadic \x3d G__27736__delegate;\nreturn G__27736;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.insect.update_state))?(function() { \nvar G__27739__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.insect.update_state,args);\n};\nvar G__27739 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27740__i \x3d 0, G__27740__a \x3d new Array(arguments.length - 0);\nwhile (G__27740__i \x3c G__27740__a.length) {G__27740__a[G__27740__i] \x3d arguments[G__27740__i + 0]; ++G__27740__i;}\n args \x3d new cljs.core.IndexedSeq(G__27740__a,0,null);\n} \nreturn G__27739__delegate.call(this,args);};\nG__27739.cljs$lang$maxFixedArity \x3d 0;\nG__27739.cljs$lang$applyTo \x3d (function (arglist__27741){\nvar args \x3d cljs.core.seq(arglist__27741);\nreturn G__27739__delegate(args);\n});\nG__27739.cljs$core$IFn$_invoke$arity$variadic \x3d G__27739__delegate;\nreturn G__27739;\n})()\n:sketches.nature_of_code.oscillation.insect.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.insect.setup))?(function() { \nvar G__27744__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.insect.setup,args);\n};\nvar G__27744 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27746__i \x3d 0, G__27746__a \x3d new Array(arguments.length - 0);\nwhile (G__27746__i \x3c G__27746__a.length) {G__27746__a[G__27746__i] \x3d arguments[G__27746__i + 0]; ++G__27746__i;}\n args \x3d new cljs.core.IndexedSeq(G__27746__a,0,null);\n} \nreturn G__27744__delegate.call(this,args);};\nG__27744.cljs$lang$maxFixedArity \x3d 0;\nG__27744.cljs$lang$applyTo \x3d (function (arglist__27747){\nvar args \x3d cljs.core.seq(arglist__27747);\nreturn G__27744__delegate(args);\n});\nG__27744.cljs$core$IFn$_invoke$arity$variadic \x3d G__27744__delegate;\nreturn G__27744;\n})()\n:sketches.nature_of_code.oscillation.insect.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.insect.draw))?(function() { \nvar G__27748__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.insect.draw,args);\n};\nvar G__27748 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27749__i \x3d 0, G__27749__a \x3d new Array(arguments.length - 0);\nwhile (G__27749__i \x3c G__27749__a.length) {G__27749__a[G__27749__i] \x3d arguments[G__27749__i + 0]; ++G__27749__i;}\n args \x3d new cljs.core.IndexedSeq(G__27749__a,0,null);\n} \nreturn G__27748__delegate.call(this,args);};\nG__27748.cljs$lang$maxFixedArity \x3d 0;\nG__27748.cljs$lang$applyTo \x3d (function (arglist__27750){\nvar args \x3d cljs.core.seq(arglist__27750);\nreturn G__27748__delegate(args);\n});\nG__27748.cljs$core$IFn$_invoke$arity$variadic \x3d G__27748__delegate;\nreturn G__27748;\n})()\n:sketches.nature_of_code.oscillation.insect.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.insect.insect\x27, sketches.nature_of_code.oscillation.insect.insect);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.insect.insect,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27751__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27751 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27752__i \x3d 0, G__27752__a \x3d new Array(arguments.length - 0);\nwhile (G__27752__i \x3c G__27752__a.length) {G__27752__a[G__27752__i] \x3d arguments[G__27752__i + 0]; ++G__27752__i;}\n args \x3d new cljs.core.IndexedSeq(G__27752__a,0,null);\n} \nreturn G__27751__delegate.call(this,args);};\nG__27751.cljs$lang$maxFixedArity \x3d 0;\nG__27751.cljs$lang$applyTo \x3d (function (arglist__27753){\nvar args \x3d cljs.core.seq(arglist__27753);\nreturn G__27751__delegate(args);\n});\nG__27751.cljs$core$IFn$_invoke$arity$variadic \x3d G__27751__delegate;\nreturn G__27751;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.multi_pendulum.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.multi_pendulum\x27);\nsketches.nature_of_code.oscillation.multi_pendulum.create_pendulum \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$create_pendulum(origin,r){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),origin,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),r,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(quil.core.PI / 4.0),new cljs.core.Keyword(null,\x22damping\x22,\x22damping\x22,1054389681),0.995,new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642),0.0,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),0.0], null);\n});\nsketches.nature_of_code.oscillation.multi_pendulum.update_pendulum \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$update_pendulum(p__27404){\nvar map__27406 \x3d p__27404;\nvar map__27406__$1 \x3d cljs.core.__destructure_map(map__27406);\nvar pendulum \x3d map__27406__$1;\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27406__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar a_velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27406__$1,new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642));\nvar r \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27406__$1,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190));\nvar damping \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27406__$1,new cljs.core.Keyword(null,\x22damping\x22,\x22damping\x22,1054389681));\nvar origin \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27406__$1,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088));\nvar gravity \x3d 0.4;\nvar a_acceleration \x3d (((- gravity) / r) * quil.core.sin(angle));\nvar a_velocity__$1 \x3d (a_velocity + a_acceleration);\nvar angle__$1 \x3d (angle + a_velocity__$1);\nvar location__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2((new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(r * quil.core.sin(angle__$1)),(r * quil.core.cos(angle__$1))],null)),origin);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(pendulum,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),a_acceleration),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),angle__$1),new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),origin),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$1),new cljs.core.Keyword(null,\x22a-velocity\x22,\x22a-velocity\x22,1425983642),(a_velocity__$1 * damping));\n});\nsketches.nature_of_code.oscillation.multi_pendulum.draw_pendulum \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$draw_pendulum(p__27418){\nvar map__27419 \x3d p__27418;\nvar map__27419__$1 \x3d cljs.core.__destructure_map(map__27419);\nvar vec__27420 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27419__$1,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088));\nvar ox \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27420,(0),null);\nvar oy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27420,(1),null);\nvar vec__27423 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27419__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27423,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27423,(1),null);\nvar r \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27419__$1,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27419__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(ox,oy,x,y);\n\nreturn quil.core.ellipse(x,y,(16),(16));\n});\nsketches.nature_of_code.oscillation.multi_pendulum.setup \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$setup(){\nreturn (new cljs.core.List(null,sketches.nature_of_code.oscillation.multi_pendulum.create_pendulum(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(0)], null),100.0),(new cljs.core.List(null,sketches.nature_of_code.oscillation.multi_pendulum.create_pendulum(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(100)], null),100.0),(new cljs.core.List(null,sketches.nature_of_code.oscillation.multi_pendulum.create_pendulum(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(200)], null),100.0),null,(1),null)),(2),null)),(3),null));\n});\nsketches.nature_of_code.oscillation.multi_pendulum.update_state \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$update_state(pendulums){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,pendulum){\nreturn sketches.nature_of_code.oscillation.multi_pendulum.update_pendulum(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,(0)))?pendulum:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(pendulum,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pendulums,(idx - (1)))))));\n}),pendulums);\n});\nsketches.nature_of_code.oscillation.multi_pendulum.draw \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$draw(pendulums){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27480 \x3d cljs.core.seq(pendulums);\nvar chunk__27481 \x3d null;\nvar count__27482 \x3d (0);\nvar i__27483 \x3d (0);\nwhile(true){\nif((i__27483 \x3c count__27482)){\nvar pendulum \x3d chunk__27481.cljs$core$IIndexed$_nth$arity$2(null,i__27483);\nsketches.nature_of_code.oscillation.multi_pendulum.draw_pendulum(pendulum);\n\n\nvar G__27577 \x3d seq__27480;\nvar G__27578 \x3d chunk__27481;\nvar G__27579 \x3d count__27482;\nvar G__27580 \x3d (i__27483 + (1));\nseq__27480 \x3d G__27577;\nchunk__27481 \x3d G__27578;\ncount__27482 \x3d G__27579;\ni__27483 \x3d G__27580;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27480);\nif(temp__5804__auto__){\nvar seq__27480__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27480__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27480__$1);\nvar G__27593 \x3d cljs.core.chunk_rest(seq__27480__$1);\nvar G__27594 \x3d c__5568__auto__;\nvar G__27595 \x3d cljs.core.count(c__5568__auto__);\nvar G__27596 \x3d (0);\nseq__27480 \x3d G__27593;\nchunk__27481 \x3d G__27594;\ncount__27482 \x3d G__27595;\ni__27483 \x3d G__27596;\ncontinue;\n} else {\nvar pendulum \x3d cljs.core.first(seq__27480__$1);\nsketches.nature_of_code.oscillation.multi_pendulum.draw_pendulum(pendulum);\n\n\nvar G__27605 \x3d cljs.core.next(seq__27480__$1);\nvar G__27606 \x3d null;\nvar G__27607 \x3d (0);\nvar G__27608 \x3d (0);\nseq__27480 \x3d G__27605;\nchunk__27481 \x3d G__27606;\ncount__27482 \x3d G__27607;\ni__27483 \x3d G__27608;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.multi_pendulum.run \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$run(host){\nsketches.nature_of_code.oscillation.multi_pendulum.multi_pendulum \x3d (function sketches$nature_of_code$oscillation$multi_pendulum$run_$_multi_pendulum(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27634__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27634 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27635__i \x3d 0, G__27635__a \x3d new Array(arguments.length - 0);\nwhile (G__27635__i \x3c G__27635__a.length) {G__27635__a[G__27635__i] \x3d arguments[G__27635__i + 0]; ++G__27635__i;}\n args \x3d new cljs.core.IndexedSeq(G__27635__a,0,null);\n} \nreturn G__27634__delegate.call(this,args);};\nG__27634.cljs$lang$maxFixedArity \x3d 0;\nG__27634.cljs$lang$applyTo \x3d (function (arglist__27637){\nvar args \x3d cljs.core.seq(arglist__27637);\nreturn G__27634__delegate(args);\n});\nG__27634.cljs$core$IFn$_invoke$arity$variadic \x3d G__27634__delegate;\nreturn G__27634;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_pendulum.update_state))?(function() { \nvar G__27639__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_pendulum.update_state,args);\n};\nvar G__27639 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27643__i \x3d 0, G__27643__a \x3d new Array(arguments.length - 0);\nwhile (G__27643__i \x3c G__27643__a.length) {G__27643__a[G__27643__i] \x3d arguments[G__27643__i + 0]; ++G__27643__i;}\n args \x3d new cljs.core.IndexedSeq(G__27643__a,0,null);\n} \nreturn G__27639__delegate.call(this,args);};\nG__27639.cljs$lang$maxFixedArity \x3d 0;\nG__27639.cljs$lang$applyTo \x3d (function (arglist__27648){\nvar args \x3d cljs.core.seq(arglist__27648);\nreturn G__27639__delegate(args);\n});\nG__27639.cljs$core$IFn$_invoke$arity$variadic \x3d G__27639__delegate;\nreturn G__27639;\n})()\n:sketches.nature_of_code.oscillation.multi_pendulum.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_pendulum.setup))?(function() { \nvar G__27649__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_pendulum.setup,args);\n};\nvar G__27649 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27650__i \x3d 0, G__27650__a \x3d new Array(arguments.length - 0);\nwhile (G__27650__i \x3c G__27650__a.length) {G__27650__a[G__27650__i] \x3d arguments[G__27650__i + 0]; ++G__27650__i;}\n args \x3d new cljs.core.IndexedSeq(G__27650__a,0,null);\n} \nreturn G__27649__delegate.call(this,args);};\nG__27649.cljs$lang$maxFixedArity \x3d 0;\nG__27649.cljs$lang$applyTo \x3d (function (arglist__27651){\nvar args \x3d cljs.core.seq(arglist__27651);\nreturn G__27649__delegate(args);\n});\nG__27649.cljs$core$IFn$_invoke$arity$variadic \x3d G__27649__delegate;\nreturn G__27649;\n})()\n:sketches.nature_of_code.oscillation.multi_pendulum.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_pendulum.draw))?(function() { \nvar G__27655__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_pendulum.draw,args);\n};\nvar G__27655 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27658__i \x3d 0, G__27658__a \x3d new Array(arguments.length - 0);\nwhile (G__27658__i \x3c G__27658__a.length) {G__27658__a[G__27658__i] \x3d arguments[G__27658__i + 0]; ++G__27658__i;}\n args \x3d new cljs.core.IndexedSeq(G__27658__a,0,null);\n} \nreturn G__27655__delegate.call(this,args);};\nG__27655.cljs$lang$maxFixedArity \x3d 0;\nG__27655.cljs$lang$applyTo \x3d (function (arglist__27660){\nvar args \x3d cljs.core.seq(arglist__27660);\nreturn G__27655__delegate(args);\n});\nG__27655.cljs$core$IFn$_invoke$arity$variadic \x3d G__27655__delegate;\nreturn G__27655;\n})()\n:sketches.nature_of_code.oscillation.multi_pendulum.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.multi_pendulum.multi_pendulum\x27, sketches.nature_of_code.oscillation.multi_pendulum.multi_pendulum);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.multi_pendulum.multi_pendulum,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27670__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27670 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27672__i \x3d 0, G__27672__a \x3d new Array(arguments.length - 0);\nwhile (G__27672__i \x3c G__27672__a.length) {G__27672__a[G__27672__i] \x3d arguments[G__27672__i + 0]; ++G__27672__i;}\n args \x3d new cljs.core.IndexedSeq(G__27672__a,0,null);\n} \nreturn G__27670__delegate.call(this,args);};\nG__27670.cljs$lang$maxFixedArity \x3d 0;\nG__27670.cljs$lang$applyTo \x3d (function (arglist__27673){\nvar args \x3d cljs.core.seq(arglist__27673);\nreturn G__27670__delegate(args);\n});\nG__27670.cljs$core$IFn$_invoke$arity$variadic \x3d G__27670__delegate;\nreturn G__27670;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.multi_springs.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.multi_springs\x27);\nsketches.nature_of_code.oscillation.multi_springs.create_spring \x3d (function sketches$nature_of_code$oscillation$multi_springs$create_spring(x,y,l){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null),new cljs.core.Keyword(null,\x22len\x22,\x22len\x22,1423657078),l], null);\n});\nsketches.nature_of_code.oscillation.multi_springs.connect \x3d (function sketches$nature_of_code$oscillation$multi_springs$connect(bob,spring){\nvar k \x3d 0.1;\nvar force \x3d sketches.vector.sub(new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(bob),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(spring));\nvar d \x3d sketches.vector.mag(force);\nvar stretch \x3d (d - new cljs.core.Keyword(null,\x22len\x22,\x22len\x22,1423657078).cljs$core$IFn$_invoke$arity$1(spring));\nreturn sketches.mover.apply_force(bob,sketches.vector.mult(sketches.vector.normalize(force),(((-1) * k) * stretch)));\n});\nsketches.nature_of_code.oscillation.multi_springs.setup \x3d (function sketches$nature_of_code$oscillation$multi_springs$setup(){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305),sketches.nature_of_code.oscillation.multi_springs.create_spring((quil.core.width() / (2)),(0),(100)),new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751),sketches.mover.create_mover((50),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((quil.core.width() / (2)) - (50)),(50)], null))], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305),sketches.nature_of_code.oscillation.multi_springs.create_spring(((quil.core.width() / (2)) - (100)),(0),(100)),new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751),sketches.mover.create_mover((50),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((quil.core.width() / (2)) - (150)),(50)], null))], null)], null);\n});\nsketches.nature_of_code.oscillation.multi_springs.update_state \x3d (function sketches$nature_of_code$oscillation$multi_springs$update_state(state){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (springs,p__27436){\nvar map__27440 \x3d p__27436;\nvar map__27440__$1 \x3d cljs.core.__destructure_map(map__27440);\nvar spring \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27440__$1,new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305));\nvar bob \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27440__$1,new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(springs,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751),sketches.mover.compute_position(sketches.nature_of_code.oscillation.multi_springs.connect(sketches.mover.apply_force(bob,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1)], null)),spring)),new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305),(function (){var temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751).cljs$core$IFn$_invoke$arity$1(cljs.core.last(springs)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar last_bob_location \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spring,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),last_bob_location);\n} else {\nreturn spring;\n}\n})()], null));\n}),cljs.core.PersistentVector.EMPTY,state);\n});\nsketches.nature_of_code.oscillation.multi_springs.draw \x3d (function sketches$nature_of_code$oscillation$multi_springs$draw(state){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nvar seq__27460 \x3d cljs.core.seq(state);\nvar chunk__27461 \x3d null;\nvar count__27463 \x3d (0);\nvar i__27464 \x3d (0);\nwhile(true){\nif((i__27464 \x3c count__27463)){\nvar map__27510 \x3d chunk__27461.cljs$core$IIndexed$_nth$arity$2(null,i__27464);\nvar map__27510__$1 \x3d cljs.core.__destructure_map(map__27510);\nvar spring \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27510__$1,new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305));\nvar bob \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27510__$1,new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751));\nvar map__27511_27552 \x3d spring;\nvar map__27511_27553__$1 \x3d cljs.core.__destructure_map(map__27511_27552);\nvar vec__27512_27554 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27511_27553__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar a1_27555 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27512_27554,(0),null);\nvar a2_27556 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27512_27554,(1),null);\nvar len_27557 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27511_27553__$1,new cljs.core.Keyword(null,\x22len\x22,\x22len\x22,1423657078));\nvar map__27515_27558 \x3d bob;\nvar map__27515_27559__$1 \x3d cljs.core.__destructure_map(map__27515_27558);\nvar vec__27516_27560 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27515_27559__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x_27561 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27516_27560,(0),null);\nvar y_27562 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27516_27560,(1),null);\nvar mass_27563 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27515_27559__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x_27561,y_27562,a1_27555,a2_27556);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(a1_27555,a2_27556,(10),(10));\n\nquil.core.ellipse(x_27561,y_27562,mass_27563,mass_27563);\n\n\nvar G__27573 \x3d seq__27460;\nvar G__27574 \x3d chunk__27461;\nvar G__27575 \x3d count__27463;\nvar G__27576 \x3d (i__27464 + (1));\nseq__27460 \x3d G__27573;\nchunk__27461 \x3d G__27574;\ncount__27463 \x3d G__27575;\ni__27464 \x3d G__27576;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27460);\nif(temp__5804__auto__){\nvar seq__27460__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27460__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27460__$1);\nvar G__27589 \x3d cljs.core.chunk_rest(seq__27460__$1);\nvar G__27590 \x3d c__5568__auto__;\nvar G__27591 \x3d cljs.core.count(c__5568__auto__);\nvar G__27592 \x3d (0);\nseq__27460 \x3d G__27589;\nchunk__27461 \x3d G__27590;\ncount__27463 \x3d G__27591;\ni__27464 \x3d G__27592;\ncontinue;\n} else {\nvar map__27524 \x3d cljs.core.first(seq__27460__$1);\nvar map__27524__$1 \x3d cljs.core.__destructure_map(map__27524);\nvar spring \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27524__$1,new cljs.core.Keyword(null,\x22spring\x22,\x22spring\x22,787848305));\nvar bob \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27524__$1,new cljs.core.Keyword(null,\x22bob\x22,\x22bob\x22,-1352926751));\nvar map__27525_27609 \x3d spring;\nvar map__27525_27610__$1 \x3d cljs.core.__destructure_map(map__27525_27609);\nvar vec__27527_27611 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27525_27610__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar a1_27612 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27527_27611,(0),null);\nvar a2_27613 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27527_27611,(1),null);\nvar len_27614 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27525_27610__$1,new cljs.core.Keyword(null,\x22len\x22,\x22len\x22,1423657078));\nvar map__27530_27615 \x3d bob;\nvar map__27530_27616__$1 \x3d cljs.core.__destructure_map(map__27530_27615);\nvar vec__27531_27617 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27530_27616__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x_27618 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27531_27617,(0),null);\nvar y_27619 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27531_27617,(1),null);\nvar mass_27620 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27530_27616__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x_27618,y_27619,a1_27612,a2_27613);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(a1_27612,a2_27613,(10),(10));\n\nquil.core.ellipse(x_27618,y_27619,mass_27620,mass_27620);\n\n\nvar G__27644 \x3d cljs.core.next(seq__27460__$1);\nvar G__27645 \x3d null;\nvar G__27646 \x3d (0);\nvar G__27647 \x3d (0);\nseq__27460 \x3d G__27644;\nchunk__27461 \x3d G__27645;\ncount__27463 \x3d G__27646;\ni__27464 \x3d G__27647;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.multi_springs.run \x3d (function sketches$nature_of_code$oscillation$multi_springs$run(host){\nsketches.nature_of_code.oscillation.multi_springs.multi_springs \x3d (function sketches$nature_of_code$oscillation$multi_springs$run_$_multi_springs(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27652__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27652 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27653__i \x3d 0, G__27653__a \x3d new Array(arguments.length - 0);\nwhile (G__27653__i \x3c G__27653__a.length) {G__27653__a[G__27653__i] \x3d arguments[G__27653__i + 0]; ++G__27653__i;}\n args \x3d new cljs.core.IndexedSeq(G__27653__a,0,null);\n} \nreturn G__27652__delegate.call(this,args);};\nG__27652.cljs$lang$maxFixedArity \x3d 0;\nG__27652.cljs$lang$applyTo \x3d (function (arglist__27656){\nvar args \x3d cljs.core.seq(arglist__27656);\nreturn G__27652__delegate(args);\n});\nG__27652.cljs$core$IFn$_invoke$arity$variadic \x3d G__27652__delegate;\nreturn G__27652;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_springs.update_state))?(function() { \nvar G__27659__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_springs.update_state,args);\n};\nvar G__27659 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27662__i \x3d 0, G__27662__a \x3d new Array(arguments.length - 0);\nwhile (G__27662__i \x3c G__27662__a.length) {G__27662__a[G__27662__i] \x3d arguments[G__27662__i + 0]; ++G__27662__i;}\n args \x3d new cljs.core.IndexedSeq(G__27662__a,0,null);\n} \nreturn G__27659__delegate.call(this,args);};\nG__27659.cljs$lang$maxFixedArity \x3d 0;\nG__27659.cljs$lang$applyTo \x3d (function (arglist__27663){\nvar args \x3d cljs.core.seq(arglist__27663);\nreturn G__27659__delegate(args);\n});\nG__27659.cljs$core$IFn$_invoke$arity$variadic \x3d G__27659__delegate;\nreturn G__27659;\n})()\n:sketches.nature_of_code.oscillation.multi_springs.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_springs.setup))?(function() { \nvar G__27666__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_springs.setup,args);\n};\nvar G__27666 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27668__i \x3d 0, G__27668__a \x3d new Array(arguments.length - 0);\nwhile (G__27668__i \x3c G__27668__a.length) {G__27668__a[G__27668__i] \x3d arguments[G__27668__i + 0]; ++G__27668__i;}\n args \x3d new cljs.core.IndexedSeq(G__27668__a,0,null);\n} \nreturn G__27666__delegate.call(this,args);};\nG__27666.cljs$lang$maxFixedArity \x3d 0;\nG__27666.cljs$lang$applyTo \x3d (function (arglist__27669){\nvar args \x3d cljs.core.seq(arglist__27669);\nreturn G__27666__delegate(args);\n});\nG__27666.cljs$core$IFn$_invoke$arity$variadic \x3d G__27666__delegate;\nreturn G__27666;\n})()\n:sketches.nature_of_code.oscillation.multi_springs.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.multi_springs.draw))?(function() { \nvar G__27675__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.multi_springs.draw,args);\n};\nvar G__27675 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27677__i \x3d 0, G__27677__a \x3d new Array(arguments.length - 0);\nwhile (G__27677__i \x3c G__27677__a.length) {G__27677__a[G__27677__i] \x3d arguments[G__27677__i + 0]; ++G__27677__i;}\n args \x3d new cljs.core.IndexedSeq(G__27677__a,0,null);\n} \nreturn G__27675__delegate.call(this,args);};\nG__27675.cljs$lang$maxFixedArity \x3d 0;\nG__27675.cljs$lang$applyTo \x3d (function (arglist__27678){\nvar args \x3d cljs.core.seq(arglist__27678);\nreturn G__27675__delegate(args);\n});\nG__27675.cljs$core$IFn$_invoke$arity$variadic \x3d G__27675__delegate;\nreturn G__27675;\n})()\n:sketches.nature_of_code.oscillation.multi_springs.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.multi_springs.multi_springs\x27, sketches.nature_of_code.oscillation.multi_springs.multi_springs);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.multi_springs.multi_springs,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27686__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27686 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27689__i \x3d 0, G__27689__a \x3d new Array(arguments.length - 0);\nwhile (G__27689__i \x3c G__27689__a.length) {G__27689__a[G__27689__i] \x3d arguments[G__27689__i + 0]; ++G__27689__i;}\n args \x3d new cljs.core.IndexedSeq(G__27689__a,0,null);\n} \nreturn G__27686__delegate.call(this,args);};\nG__27686.cljs$lang$maxFixedArity \x3d 0;\nG__27686.cljs$lang$applyTo \x3d (function (arglist__27691){\nvar args \x3d cljs.core.seq(arglist__27691);\nreturn G__27686__delegate(args);\n});\nG__27686.cljs$core$IFn$_invoke$arity$variadic \x3d G__27686__delegate;\nreturn G__27686;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.perlin_wave.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.perlin_wave\x27);\nsketches.nature_of_code.oscillation.perlin_wave.setup \x3d (function sketches$nature_of_code$oscillation$perlin_wave$setup(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27405_SHARP_){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185)],[(p1__27405_SHARP_ * 0.1),(p1__27405_SHARP_ * (24))]);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((quil.core.width() / (24))));\n});\nsketches.nature_of_code.oscillation.perlin_wave.draw \x3d (function sketches$nature_of_code$oscillation$perlin_wave$draw(angles){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__27430 \x3d cljs.core.seq(angles);\nvar chunk__27431 \x3d null;\nvar count__27432 \x3d (0);\nvar i__27433 \x3d (0);\nwhile(true){\nif((i__27433 \x3c count__27432)){\nvar map__27509 \x3d chunk__27431.cljs$core$IIndexed$_nth$arity$2(null,i__27433);\nvar map__27509__$1 \x3d cljs.core.__destructure_map(map__27509);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27509__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27509__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar y_27625 \x3d quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$1(angle),(0),(1),(0),quil.core.height());\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nquil.core.ellipse(x,y_27625,(48),(48));\n\n\nvar G__27626 \x3d seq__27430;\nvar G__27627 \x3d chunk__27431;\nvar G__27628 \x3d count__27432;\nvar G__27629 \x3d (i__27433 + (1));\nseq__27430 \x3d G__27626;\nchunk__27431 \x3d G__27627;\ncount__27432 \x3d G__27628;\ni__27433 \x3d G__27629;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27430);\nif(temp__5804__auto__){\nvar seq__27430__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27430__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27430__$1);\nvar G__27630 \x3d cljs.core.chunk_rest(seq__27430__$1);\nvar G__27631 \x3d c__5568__auto__;\nvar G__27632 \x3d cljs.core.count(c__5568__auto__);\nvar G__27633 \x3d (0);\nseq__27430 \x3d G__27630;\nchunk__27431 \x3d G__27631;\ncount__27432 \x3d G__27632;\ni__27433 \x3d G__27633;\ncontinue;\n} else {\nvar map__27519 \x3d cljs.core.first(seq__27430__$1);\nvar map__27519__$1 \x3d cljs.core.__destructure_map(map__27519);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27519__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27519__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar y_27636 \x3d quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$1(angle),(0),(1),(0),quil.core.height());\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),(50));\n\nquil.core.ellipse(x,y_27636,(48),(48));\n\n\nvar G__27638 \x3d cljs.core.next(seq__27430__$1);\nvar G__27640 \x3d null;\nvar G__27641 \x3d (0);\nvar G__27642 \x3d (0);\nseq__27430 \x3d G__27638;\nchunk__27431 \x3d G__27640;\ncount__27432 \x3d G__27641;\ni__27433 \x3d G__27642;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.oscillation.perlin_wave.update_state \x3d (function sketches$nature_of_code$oscillation$perlin_wave$update_state(state){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27523_SHARP_){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(p1__27523_SHARP_,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),cljs.core._PLUS_,0.02);\n}),state);\n});\nsketches.nature_of_code.oscillation.perlin_wave.run \x3d (function sketches$nature_of_code$oscillation$perlin_wave$run(host){\nsketches.nature_of_code.oscillation.perlin_wave.perlin_wave \x3d (function sketches$nature_of_code$oscillation$perlin_wave$run_$_perlin_wave(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27654__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27654 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27657__i \x3d 0, G__27657__a \x3d new Array(arguments.length - 0);\nwhile (G__27657__i \x3c G__27657__a.length) {G__27657__a[G__27657__i] \x3d arguments[G__27657__i + 0]; ++G__27657__i;}\n args \x3d new cljs.core.IndexedSeq(G__27657__a,0,null);\n} \nreturn G__27654__delegate.call(this,args);};\nG__27654.cljs$lang$maxFixedArity \x3d 0;\nG__27654.cljs$lang$applyTo \x3d (function (arglist__27661){\nvar args \x3d cljs.core.seq(arglist__27661);\nreturn G__27654__delegate(args);\n});\nG__27654.cljs$core$IFn$_invoke$arity$variadic \x3d G__27654__delegate;\nreturn G__27654;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.perlin_wave.update_state))?(function() { \nvar G__27664__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.perlin_wave.update_state,args);\n};\nvar G__27664 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27665__i \x3d 0, G__27665__a \x3d new Array(arguments.length - 0);\nwhile (G__27665__i \x3c G__27665__a.length) {G__27665__a[G__27665__i] \x3d arguments[G__27665__i + 0]; ++G__27665__i;}\n args \x3d new cljs.core.IndexedSeq(G__27665__a,0,null);\n} \nreturn G__27664__delegate.call(this,args);};\nG__27664.cljs$lang$maxFixedArity \x3d 0;\nG__27664.cljs$lang$applyTo \x3d (function (arglist__27667){\nvar args \x3d cljs.core.seq(arglist__27667);\nreturn G__27664__delegate(args);\n});\nG__27664.cljs$core$IFn$_invoke$arity$variadic \x3d G__27664__delegate;\nreturn G__27664;\n})()\n:sketches.nature_of_code.oscillation.perlin_wave.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.perlin_wave.setup))?(function() { \nvar G__27671__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.perlin_wave.setup,args);\n};\nvar G__27671 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27674__i \x3d 0, G__27674__a \x3d new Array(arguments.length - 0);\nwhile (G__27674__i \x3c G__27674__a.length) {G__27674__a[G__27674__i] \x3d arguments[G__27674__i + 0]; ++G__27674__i;}\n args \x3d new cljs.core.IndexedSeq(G__27674__a,0,null);\n} \nreturn G__27671__delegate.call(this,args);};\nG__27671.cljs$lang$maxFixedArity \x3d 0;\nG__27671.cljs$lang$applyTo \x3d (function (arglist__27676){\nvar args \x3d cljs.core.seq(arglist__27676);\nreturn G__27671__delegate(args);\n});\nG__27671.cljs$core$IFn$_invoke$arity$variadic \x3d G__27671__delegate;\nreturn G__27671;\n})()\n:sketches.nature_of_code.oscillation.perlin_wave.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.perlin_wave.draw))?(function() { \nvar G__27679__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.perlin_wave.draw,args);\n};\nvar G__27679 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27680__i \x3d 0, G__27680__a \x3d new Array(arguments.length - 0);\nwhile (G__27680__i \x3c G__27680__a.length) {G__27680__a[G__27680__i] \x3d arguments[G__27680__i + 0]; ++G__27680__i;}\n args \x3d new cljs.core.IndexedSeq(G__27680__a,0,null);\n} \nreturn G__27679__delegate.call(this,args);};\nG__27679.cljs$lang$maxFixedArity \x3d 0;\nG__27679.cljs$lang$applyTo \x3d (function (arglist__27681){\nvar args \x3d cljs.core.seq(arglist__27681);\nreturn G__27679__delegate(args);\n});\nG__27679.cljs$core$IFn$_invoke$arity$variadic \x3d G__27679__delegate;\nreturn G__27679;\n})()\n:sketches.nature_of_code.oscillation.perlin_wave.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.perlin_wave.perlin_wave\x27, sketches.nature_of_code.oscillation.perlin_wave.perlin_wave);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.perlin_wave.perlin_wave,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27682__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27682 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27683__i \x3d 0, G__27683__a \x3d new Array(arguments.length - 0);\nwhile (G__27683__i \x3c G__27683__a.length) {G__27683__a[G__27683__i] \x3d arguments[G__27683__i + 0]; ++G__27683__i;}\n args \x3d new cljs.core.IndexedSeq(G__27683__a,0,null);\n} \nreturn G__27682__delegate.call(this,args);};\nG__27682.cljs$lang$maxFixedArity \x3d 0;\nG__27682.cljs$lang$applyTo \x3d (function (arglist__27684){\nvar args \x3d cljs.core.seq(arglist__27684);\nreturn G__27682__delegate(args);\n});\nG__27682.cljs$core$IFn$_invoke$arity$variadic \x3d G__27682__delegate;\nreturn G__27682;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.rotate_baton.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.rotate_baton\x27);\nsketches.nature_of_code.oscillation.rotate_baton.setup \x3d (function sketches$nature_of_code$oscillation$rotate_baton$setup(){\nreturn (0);\n});\nsketches.nature_of_code.oscillation.rotate_baton.update_state \x3d (function sketches$nature_of_code$oscillation$rotate_baton$update_state(rotation){\nreturn ((1) + rotation);\n});\nsketches.nature_of_code.oscillation.rotate_baton.draw \x3d (function sketches$nature_of_code$oscillation$rotate_baton$draw(rotation){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((quil.core.width() / (2)),(quil.core.height() / (2)));\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(quil.core.radians(rotation));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(-100),(0),(100));\n\nquil.core.ellipse((0),(-100),(20),(20));\n\nreturn quil.core.ellipse((0),(100),(20),(20));\n});\nsketches.nature_of_code.oscillation.rotate_baton.run \x3d (function sketches$nature_of_code$oscillation$rotate_baton$run(host){\nsketches.nature_of_code.oscillation.rotate_baton.rotate_baton \x3d (function sketches$nature_of_code$oscillation$rotate_baton$run_$_rotate_baton(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27788__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27788 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27789__i \x3d 0, G__27789__a \x3d new Array(arguments.length - 0);\nwhile (G__27789__i \x3c G__27789__a.length) {G__27789__a[G__27789__i] \x3d arguments[G__27789__i + 0]; ++G__27789__i;}\n args \x3d new cljs.core.IndexedSeq(G__27789__a,0,null);\n} \nreturn G__27788__delegate.call(this,args);};\nG__27788.cljs$lang$maxFixedArity \x3d 0;\nG__27788.cljs$lang$applyTo \x3d (function (arglist__27790){\nvar args \x3d cljs.core.seq(arglist__27790);\nreturn G__27788__delegate(args);\n});\nG__27788.cljs$core$IFn$_invoke$arity$variadic \x3d G__27788__delegate;\nreturn G__27788;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.rotate_baton.update_state))?(function() { \nvar G__27791__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.rotate_baton.update_state,args);\n};\nvar G__27791 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27792__i \x3d 0, G__27792__a \x3d new Array(arguments.length - 0);\nwhile (G__27792__i \x3c G__27792__a.length) {G__27792__a[G__27792__i] \x3d arguments[G__27792__i + 0]; ++G__27792__i;}\n args \x3d new cljs.core.IndexedSeq(G__27792__a,0,null);\n} \nreturn G__27791__delegate.call(this,args);};\nG__27791.cljs$lang$maxFixedArity \x3d 0;\nG__27791.cljs$lang$applyTo \x3d (function (arglist__27793){\nvar args \x3d cljs.core.seq(arglist__27793);\nreturn G__27791__delegate(args);\n});\nG__27791.cljs$core$IFn$_invoke$arity$variadic \x3d G__27791__delegate;\nreturn G__27791;\n})()\n:sketches.nature_of_code.oscillation.rotate_baton.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.rotate_baton.setup))?(function() { \nvar G__27794__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.rotate_baton.setup,args);\n};\nvar G__27794 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27795__i \x3d 0, G__27795__a \x3d new Array(arguments.length - 0);\nwhile (G__27795__i \x3c G__27795__a.length) {G__27795__a[G__27795__i] \x3d arguments[G__27795__i + 0]; ++G__27795__i;}\n args \x3d new cljs.core.IndexedSeq(G__27795__a,0,null);\n} \nreturn G__27794__delegate.call(this,args);};\nG__27794.cljs$lang$maxFixedArity \x3d 0;\nG__27794.cljs$lang$applyTo \x3d (function (arglist__27796){\nvar args \x3d cljs.core.seq(arglist__27796);\nreturn G__27794__delegate(args);\n});\nG__27794.cljs$core$IFn$_invoke$arity$variadic \x3d G__27794__delegate;\nreturn G__27794;\n})()\n:sketches.nature_of_code.oscillation.rotate_baton.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.rotate_baton.draw))?(function() { \nvar G__27797__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.rotate_baton.draw,args);\n};\nvar G__27797 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27798__i \x3d 0, G__27798__a \x3d new Array(arguments.length - 0);\nwhile (G__27798__i \x3c G__27798__a.length) {G__27798__a[G__27798__i] \x3d arguments[G__27798__i + 0]; ++G__27798__i;}\n args \x3d new cljs.core.IndexedSeq(G__27798__a,0,null);\n} \nreturn G__27797__delegate.call(this,args);};\nG__27797.cljs$lang$maxFixedArity \x3d 0;\nG__27797.cljs$lang$applyTo \x3d (function (arglist__27799){\nvar args \x3d cljs.core.seq(arglist__27799);\nreturn G__27797__delegate(args);\n});\nG__27797.cljs$core$IFn$_invoke$arity$variadic \x3d G__27797__delegate;\nreturn G__27797;\n})()\n:sketches.nature_of_code.oscillation.rotate_baton.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.rotate_baton.rotate_baton\x27, sketches.nature_of_code.oscillation.rotate_baton.rotate_baton);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.rotate_baton.rotate_baton,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27802__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27802 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27803__i \x3d 0, G__27803__a \x3d new Array(arguments.length - 0);\nwhile (G__27803__i \x3c G__27803__a.length) {G__27803__a[G__27803__i] \x3d arguments[G__27803__i + 0]; ++G__27803__i;}\n args \x3d new cljs.core.IndexedSeq(G__27803__a,0,null);\n} \nreturn G__27802__delegate.call(this,args);};\nG__27802.cljs$lang$maxFixedArity \x3d 0;\nG__27802.cljs$lang$applyTo \x3d (function (arglist__27804){\nvar args \x3d cljs.core.seq(arglist__27804);\nreturn G__27802__delegate(args);\n});\nG__27802.cljs$core$IFn$_invoke$arity$variadic \x3d G__27802__delegate;\nreturn G__27802;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.spiral.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.spiral\x27);\nsketches.nature_of_code.oscillation.spiral.setup \x3d (function sketches$nature_of_code$oscillation$spiral$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),(0),new cljs.core.Keyword(null,\x22theta\x22,\x22theta\x22,-427510258),(0)], null);\n});\nsketches.nature_of_code.oscillation.spiral.draw \x3d (function sketches$nature_of_code$oscillation$spiral$draw(p__27759){\nvar map__27760 \x3d p__27759;\nvar map__27760__$1 \x3d cljs.core.__destructure_map(map__27760);\nvar radius \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27760__$1,new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258));\nvar theta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27760__$1,new cljs.core.Keyword(null,\x22theta\x22,\x22theta\x22,-427510258));\nquil.core.no_stroke();\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nvar x \x3d (radius * quil.core.cos(theta));\nvar y \x3d (radius * quil.core.sin(theta));\nreturn quil.core.ellipse((x + (quil.core.width() / (2))),(y + (quil.core.height() / (2))),(16),(16));\n});\nsketches.nature_of_code.oscillation.spiral.update_state \x3d (function sketches$nature_of_code$oscillation$spiral$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22theta\x22,\x22theta\x22,-427510258),cljs.core._PLUS_,0.05),new cljs.core.Keyword(null,\x22radius\x22,\x22radius\x22,-2073122258),cljs.core._PLUS_,0.2);\n});\nsketches.nature_of_code.oscillation.spiral.run \x3d (function sketches$nature_of_code$oscillation$spiral$run(host){\nsketches.nature_of_code.oscillation.spiral.spiral \x3d (function sketches$nature_of_code$oscillation$spiral$run_$_spiral(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27810__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27810 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27811__i \x3d 0, G__27811__a \x3d new Array(arguments.length - 0);\nwhile (G__27811__i \x3c G__27811__a.length) {G__27811__a[G__27811__i] \x3d arguments[G__27811__i + 0]; ++G__27811__i;}\n args \x3d new cljs.core.IndexedSeq(G__27811__a,0,null);\n} \nreturn G__27810__delegate.call(this,args);};\nG__27810.cljs$lang$maxFixedArity \x3d 0;\nG__27810.cljs$lang$applyTo \x3d (function (arglist__27812){\nvar args \x3d cljs.core.seq(arglist__27812);\nreturn G__27810__delegate(args);\n});\nG__27810.cljs$core$IFn$_invoke$arity$variadic \x3d G__27810__delegate;\nreturn G__27810;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.spiral.update_state))?(function() { \nvar G__27814__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.spiral.update_state,args);\n};\nvar G__27814 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27815__i \x3d 0, G__27815__a \x3d new Array(arguments.length - 0);\nwhile (G__27815__i \x3c G__27815__a.length) {G__27815__a[G__27815__i] \x3d arguments[G__27815__i + 0]; ++G__27815__i;}\n args \x3d new cljs.core.IndexedSeq(G__27815__a,0,null);\n} \nreturn G__27814__delegate.call(this,args);};\nG__27814.cljs$lang$maxFixedArity \x3d 0;\nG__27814.cljs$lang$applyTo \x3d (function (arglist__27816){\nvar args \x3d cljs.core.seq(arglist__27816);\nreturn G__27814__delegate(args);\n});\nG__27814.cljs$core$IFn$_invoke$arity$variadic \x3d G__27814__delegate;\nreturn G__27814;\n})()\n:sketches.nature_of_code.oscillation.spiral.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.spiral.setup))?(function() { \nvar G__27817__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.spiral.setup,args);\n};\nvar G__27817 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27818__i \x3d 0, G__27818__a \x3d new Array(arguments.length - 0);\nwhile (G__27818__i \x3c G__27818__a.length) {G__27818__a[G__27818__i] \x3d arguments[G__27818__i + 0]; ++G__27818__i;}\n args \x3d new cljs.core.IndexedSeq(G__27818__a,0,null);\n} \nreturn G__27817__delegate.call(this,args);};\nG__27817.cljs$lang$maxFixedArity \x3d 0;\nG__27817.cljs$lang$applyTo \x3d (function (arglist__27819){\nvar args \x3d cljs.core.seq(arglist__27819);\nreturn G__27817__delegate(args);\n});\nG__27817.cljs$core$IFn$_invoke$arity$variadic \x3d G__27817__delegate;\nreturn G__27817;\n})()\n:sketches.nature_of_code.oscillation.spiral.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.spiral.draw))?(function() { \nvar G__27820__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.spiral.draw,args);\n};\nvar G__27820 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27821__i \x3d 0, G__27821__a \x3d new Array(arguments.length - 0);\nwhile (G__27821__i \x3c G__27821__a.length) {G__27821__a[G__27821__i] \x3d arguments[G__27821__i + 0]; ++G__27821__i;}\n args \x3d new cljs.core.IndexedSeq(G__27821__a,0,null);\n} \nreturn G__27820__delegate.call(this,args);};\nG__27820.cljs$lang$maxFixedArity \x3d 0;\nG__27820.cljs$lang$applyTo \x3d (function (arglist__27822){\nvar args \x3d cljs.core.seq(arglist__27822);\nreturn G__27820__delegate(args);\n});\nG__27820.cljs$core$IFn$_invoke$arity$variadic \x3d G__27820__delegate;\nreturn G__27820;\n})()\n:sketches.nature_of_code.oscillation.spiral.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.spiral.spiral\x27, sketches.nature_of_code.oscillation.spiral.spiral);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.spiral.spiral,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27823__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27823 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27824__i \x3d 0, G__27824__a \x3d new Array(arguments.length - 0);\nwhile (G__27824__i \x3c G__27824__a.length) {G__27824__a[G__27824__i] \x3d arguments[G__27824__i + 0]; ++G__27824__i;}\n args \x3d new cljs.core.IndexedSeq(G__27824__a,0,null);\n} \nreturn G__27823__delegate.call(this,args);};\nG__27823.cljs$lang$maxFixedArity \x3d 0;\nG__27823.cljs$lang$applyTo \x3d (function (arglist__27825){\nvar args \x3d cljs.core.seq(arglist__27825);\nreturn G__27823__delegate(args);\n});\nG__27823.cljs$core$IFn$_invoke$arity$variadic \x3d G__27823__delegate;\nreturn G__27823;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.vehicle.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.vehicle\x27);\nsketches.nature_of_code.oscillation.vehicle.setup \x3d (function sketches$nature_of_code$oscillation$vehicle$setup(){\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn sketches.mover.create_mover((100),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(100),(100)], null));\n});\nsketches.nature_of_code.oscillation.vehicle.cart_to_pol \x3d (function sketches$nature_of_code$oscillation$vehicle$cart_to_pol(p__27761){\nvar vec__27762 \x3d p__27761;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27762,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27762,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [Math.sqrt(((x * x) + (y * y))),quil.core.atan2(y,x)], null);\n});\nsketches.nature_of_code.oscillation.vehicle.pol_to_cart \x3d (function sketches$nature_of_code$oscillation$vehicle$pol_to_cart(p__27828){\nvar vec__27829 \x3d p__27828;\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27829,(0),null);\nvar phi \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27829,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(r * quil.core.cos(phi)),(r * quil.core.sin(phi))], null);\n});\nsketches.nature_of_code.oscillation.vehicle.steer \x3d (function sketches$nature_of_code$oscillation$vehicle$steer(p__27836,key){\nvar map__27843 \x3d p__27836;\nvar map__27843__$1 \x3d cljs.core.__destructure_map(map__27843);\nvar mover \x3d map__27843__$1;\nvar vec__27844 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27843__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27844,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27844,(1),null);\nvar vec__27847 \x3d sketches.nature_of_code.oscillation.vehicle.cart_to_pol(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27847,(0),null);\nvar phi \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27847,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22ArrowLeft\x22,\x22ArrowLeft\x22,-974160950))){\nreturn sketches.nature_of_code.oscillation.vehicle.pol_to_cart(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [r,(phi + (10))], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22ArrowRight\x22,\x22ArrowRight\x22,1621754469))){\nreturn sketches.nature_of_code.oscillation.vehicle.pol_to_cart(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [r,(phi - (10))], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22ArrowUp\x22,\x22ArrowUp\x22,-538953684))){\nreturn sketches.nature_of_code.oscillation.vehicle.pol_to_cart(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(r + (5)),phi], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22ArrowDown\x22,\x22ArrowDown\x22,-251004205))){\nreturn sketches.nature_of_code.oscillation.vehicle.pol_to_cart(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(r - (5)),phi], null));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);\n\n}\n}\n}\n}\n});\nsketches.nature_of_code.oscillation.vehicle.draw \x3d (function sketches$nature_of_code$oscillation$vehicle$draw(car){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((123));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nvar map__27869 \x3d car;\nvar map__27869__$1 \x3d cljs.core.__destructure_map(map__27869);\nvar vec__27870 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27869__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27870,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27870,(1),null);\nvar vec__27873 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27869__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar vx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27873,(0),null);\nvar vy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27873,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27869__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar angle \x3d quil.core.atan2(vy,vx);\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),mass,(0.5 * mass));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.oscillation.vehicle.update_state \x3d (function sketches$nature_of_code$oscillation$vehicle$update_state(car){\nreturn sketches.mover.compute_position(sketches.mover.move_through(car));\n});\nsketches.nature_of_code.oscillation.vehicle.key_pressed \x3d (function sketches$nature_of_code$oscillation$vehicle$key_pressed(car,p__27888){\nvar map__27889 \x3d p__27888;\nvar map__27889__$1 \x3d cljs.core.__destructure_map(map__27889);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27889__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nreturn sketches.mover.apply_force(car,sketches.nature_of_code.oscillation.vehicle.steer(car,key));\n});\nsketches.nature_of_code.oscillation.vehicle.run \x3d (function sketches$nature_of_code$oscillation$vehicle$run(host){\nsketches.nature_of_code.oscillation.vehicle.vehicle \x3d (function sketches$nature_of_code$oscillation$vehicle$run_$_vehicle(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27951__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27951 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27952__i \x3d 0, G__27952__a \x3d new Array(arguments.length - 0);\nwhile (G__27952__i \x3c G__27952__a.length) {G__27952__a[G__27952__i] \x3d arguments[G__27952__i + 0]; ++G__27952__i;}\n args \x3d new cljs.core.IndexedSeq(G__27952__a,0,null);\n} \nreturn G__27951__delegate.call(this,args);};\nG__27951.cljs$lang$maxFixedArity \x3d 0;\nG__27951.cljs$lang$applyTo \x3d (function (arglist__27953){\nvar args \x3d cljs.core.seq(arglist__27953);\nreturn G__27951__delegate(args);\n});\nG__27951.cljs$core$IFn$_invoke$arity$variadic \x3d G__27951__delegate;\nreturn G__27951;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.vehicle.update_state))?(function() { \nvar G__27954__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.vehicle.update_state,args);\n};\nvar G__27954 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27955__i \x3d 0, G__27955__a \x3d new Array(arguments.length - 0);\nwhile (G__27955__i \x3c G__27955__a.length) {G__27955__a[G__27955__i] \x3d arguments[G__27955__i + 0]; ++G__27955__i;}\n args \x3d new cljs.core.IndexedSeq(G__27955__a,0,null);\n} \nreturn G__27954__delegate.call(this,args);};\nG__27954.cljs$lang$maxFixedArity \x3d 0;\nG__27954.cljs$lang$applyTo \x3d (function (arglist__27956){\nvar args \x3d cljs.core.seq(arglist__27956);\nreturn G__27954__delegate(args);\n});\nG__27954.cljs$core$IFn$_invoke$arity$variadic \x3d G__27954__delegate;\nreturn G__27954;\n})()\n:sketches.nature_of_code.oscillation.vehicle.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.vehicle.setup))?(function() { \nvar G__27957__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.vehicle.setup,args);\n};\nvar G__27957 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27958__i \x3d 0, G__27958__a \x3d new Array(arguments.length - 0);\nwhile (G__27958__i \x3c G__27958__a.length) {G__27958__a[G__27958__i] \x3d arguments[G__27958__i + 0]; ++G__27958__i;}\n args \x3d new cljs.core.IndexedSeq(G__27958__a,0,null);\n} \nreturn G__27957__delegate.call(this,args);};\nG__27957.cljs$lang$maxFixedArity \x3d 0;\nG__27957.cljs$lang$applyTo \x3d (function (arglist__27959){\nvar args \x3d cljs.core.seq(arglist__27959);\nreturn G__27957__delegate(args);\n});\nG__27957.cljs$core$IFn$_invoke$arity$variadic \x3d G__27957__delegate;\nreturn G__27957;\n})()\n:sketches.nature_of_code.oscillation.vehicle.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.vehicle.key_pressed))?(function() { \nvar G__27960__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.vehicle.key_pressed,args);\n};\nvar G__27960 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27961__i \x3d 0, G__27961__a \x3d new Array(arguments.length - 0);\nwhile (G__27961__i \x3c G__27961__a.length) {G__27961__a[G__27961__i] \x3d arguments[G__27961__i + 0]; ++G__27961__i;}\n args \x3d new cljs.core.IndexedSeq(G__27961__a,0,null);\n} \nreturn G__27960__delegate.call(this,args);};\nG__27960.cljs$lang$maxFixedArity \x3d 0;\nG__27960.cljs$lang$applyTo \x3d (function (arglist__27962){\nvar args \x3d cljs.core.seq(arglist__27962);\nreturn G__27960__delegate(args);\n});\nG__27960.cljs$core$IFn$_invoke$arity$variadic \x3d G__27960__delegate;\nreturn G__27960;\n})()\n:sketches.nature_of_code.oscillation.vehicle.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.oscillation.vehicle.draw))?(function() { \nvar G__27963__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.oscillation.vehicle.draw,args);\n};\nvar G__27963 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27964__i \x3d 0, G__27964__a \x3d new Array(arguments.length - 0);\nwhile (G__27964__i \x3c G__27964__a.length) {G__27964__a[G__27964__i] \x3d arguments[G__27964__i + 0]; ++G__27964__i;}\n args \x3d new cljs.core.IndexedSeq(G__27964__a,0,null);\n} \nreturn G__27963__delegate.call(this,args);};\nG__27963.cljs$lang$maxFixedArity \x3d 0;\nG__27963.cljs$lang$applyTo \x3d (function (arglist__27965){\nvar args \x3d cljs.core.seq(arglist__27965);\nreturn G__27963__delegate(args);\n});\nG__27963.cljs$core$IFn$_invoke$arity$variadic \x3d G__27963__delegate;\nreturn G__27963;\n})()\n:sketches.nature_of_code.oscillation.vehicle.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.oscillation.vehicle.vehicle\x27, sketches.nature_of_code.oscillation.vehicle.vehicle);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.oscillation.vehicle.vehicle,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27966__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27966 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27967__i \x3d 0, G__27967__a \x3d new Array(arguments.length - 0);\nwhile (G__27967__i \x3c G__27967__a.length) {G__27967__a[G__27967__i] \x3d arguments[G__27967__i + 0]; ++G__27967__i;}\n args \x3d new cljs.core.IndexedSeq(G__27967__a,0,null);\n} \nreturn G__27966__delegate.call(this,args);};\nG__27966.cljs$lang$maxFixedArity \x3d 0;\nG__27966.cljs$lang$applyTo \x3d (function (arglist__27968){\nvar args \x3d cljs.core.seq(arglist__27968);\nreturn G__27966__delegate(args);\n});\nG__27966.cljs$core$IFn$_invoke$arity$variadic \x3d G__27966__delegate;\nreturn G__27966;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.oscillation.core.js", true , "goog.provide(\x27sketches.nature_of_code.oscillation.core\x27);\nsketches.nature_of_code.oscillation.core.main \x3d (function sketches$nature_of_code$oscillation$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Oscillation\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Rotate baton\x22,\x22Exercise 3.1\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise1\x22,sketches.nature_of_code.oscillation.rotate_baton.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Cannon\x22,\x22Exercise 3.2\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise2\x22,sketches.nature_of_code.oscillation.cannon.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Vehicle\x22,\x22Exercise 3.3\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise3\x22,sketches.nature_of_code.oscillation.vehicle.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Spiral\x22,\x22Exercise 3.4\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise4\x22,sketches.nature_of_code.oscillation.spiral.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Asteroids\x22,\x22Exercise 3.5\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise5\x22,sketches.nature_of_code.oscillation.asteroids.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Bob\x22,\x22Exercise 3.6\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise6\x22,sketches.nature_of_code.oscillation.bob.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Insect\x22,\x22Exercise 3.7\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise7\x22,sketches.nature_of_code.oscillation.insect.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Angular Oscilliate\x22,\x22Exercise 3.8\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise8\x22,sketches.nature_of_code.oscillation.angular_oscilliate.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Perlin Wave\x22,\x22Exercise 3.9\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise9\x22,sketches.nature_of_code.oscillation.perlin_wave.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Custom Waves\x22,\x22Exercise 3.10\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise10\x22,sketches.nature_of_code.oscillation.custom_waves.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Combined Wave\x22,\x22Exercise 3.11\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise11\x22,sketches.nature_of_code.oscillation.combined_wave.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Multi Pendulum\x22,\x22Exercise 3.12\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise12\x22,sketches.nature_of_code.oscillation.multi_pendulum.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Multi Springs\x22,\x22Exercise 3.16\x22,\x22https://natureofcode.com/book/chapter-3-oscillation#chapter03_exercise16\x22,sketches.nature_of_code.oscillation.multi_springs.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.cellular_automata.game_of_life.js", true , "goog.provide(\x27sketches.nature_of_code.cellular_automata.game_of_life\x27);\nsketches.nature_of_code.cellular_automata.game_of_life.setup_board \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$setup_board(){\nvar w \x3d (5);\nvar columns \x3d (quil.core.width() / w);\nvar rows \x3d (quil.core.height() / w);\nvar iter__5523__auto__ \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767(s__27768){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27768__$1 \x3d s__27768;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27768__$1);\nif(temp__5804__auto__){\nvar s__27768__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__27768__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27768__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27770 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27769 \x3d (0);\nwhile(true){\nif((i__27769 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__27769);\ncljs.core.chunk_append(b__27770,(function (){var iter__5523__auto__ \x3d ((function (i__27769,x,c__5521__auto__,size__5522__auto__,b__27770,s__27768__$2,temp__5804__auto__,w,columns,rows){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27784(s__27785){\nreturn (new cljs.core.LazySeq(null,((function (i__27769,x,c__5521__auto__,size__5522__auto__,b__27770,s__27768__$2,temp__5804__auto__,w,columns,rows){\nreturn (function (){\nvar s__27785__$1 \x3d s__27785;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27785__$1);\nif(temp__5804__auto____$1){\nvar s__27785__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27785__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__27785__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__27787 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__27786 \x3d (0);\nwhile(true){\nif((i__27786 \x3c size__5522__auto____$1)){\nvar y \x3d cljs.core._nth(c__5521__auto____$1,i__27786);\ncljs.core.chunk_append(b__27787,cljs.core.rand_int((2)));\n\nvar G__28222 \x3d (i__27786 + (1));\ni__27786 \x3d G__28222;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27787),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27784(cljs.core.chunk_rest(s__27785__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27787),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__27785__$2);\nreturn cljs.core.cons(cljs.core.rand_int((2)),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27784(cljs.core.rest(s__27785__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__27769,x,c__5521__auto__,size__5522__auto__,b__27770,s__27768__$2,temp__5804__auto__,w,columns,rows))\n,null,null));\n});})(i__27769,x,c__5521__auto__,size__5522__auto__,b__27770,s__27768__$2,temp__5804__auto__,w,columns,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),rows));\n})());\n\nvar G__28223 \x3d (i__27769 + (1));\ni__27769 \x3d G__28223;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27770),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767(cljs.core.chunk_rest(s__27768__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27770),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__27768__$2);\nreturn cljs.core.cons((function (){var iter__5523__auto__ \x3d ((function (x,s__27768__$2,temp__5804__auto__,w,columns,rows){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27805(s__27806){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27806__$1 \x3d s__27806;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27806__$1);\nif(temp__5804__auto____$1){\nvar s__27806__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27806__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27806__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27808 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27807 \x3d (0);\nwhile(true){\nif((i__27807 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__27807);\ncljs.core.chunk_append(b__27808,cljs.core.rand_int((2)));\n\nvar G__28224 \x3d (i__27807 + (1));\ni__27807 \x3d G__28224;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27808),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27805(cljs.core.chunk_rest(s__27806__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27808),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__27806__$2);\nreturn cljs.core.cons(cljs.core.rand_int((2)),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767_$_iter__27805(cljs.core.rest(s__27806__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(x,s__27768__$2,temp__5804__auto__,w,columns,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),rows));\n})(),sketches$nature_of_code$cellular_automata$game_of_life$setup_board_$_iter__27767(cljs.core.rest(s__27768__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),columns));\n});\nsketches.nature_of_code.cellular_automata.game_of_life.setup \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$setup(){\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633),sketches.nature_of_code.cellular_automata.game_of_life.setup_board()], null);\n});\nsketches.nature_of_code.cellular_automata.game_of_life.board \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$board(){\nvar w \x3d (5);\nvar columns \x3d ((50) / w);\nvar rows \x3d ((50) / w);\nvar iter__5523__auto__ \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832(s__27833){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27833__$1 \x3d s__27833;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27833__$1);\nif(temp__5804__auto__){\nvar s__27833__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__27833__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27833__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27835 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27834 \x3d (0);\nwhile(true){\nif((i__27834 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__27834);\ncljs.core.chunk_append(b__27835,(function (){var iter__5523__auto__ \x3d ((function (i__27834,x,c__5521__auto__,size__5522__auto__,b__27835,s__27833__$2,temp__5804__auto__,w,columns,rows){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27850(s__27851){\nreturn (new cljs.core.LazySeq(null,((function (i__27834,x,c__5521__auto__,size__5522__auto__,b__27835,s__27833__$2,temp__5804__auto__,w,columns,rows){\nreturn (function (){\nvar s__27851__$1 \x3d s__27851;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27851__$1);\nif(temp__5804__auto____$1){\nvar s__27851__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27851__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__27851__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__27853 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__27852 \x3d (0);\nwhile(true){\nif((i__27852 \x3c size__5522__auto____$1)){\nvar y \x3d cljs.core._nth(c__5521__auto____$1,i__27852);\ncljs.core.chunk_append(b__27853,cljs.core.rand_int((2)));\n\nvar G__28225 \x3d (i__27852 + (1));\ni__27852 \x3d G__28225;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27853),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27850(cljs.core.chunk_rest(s__27851__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27853),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__27851__$2);\nreturn cljs.core.cons(cljs.core.rand_int((2)),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27850(cljs.core.rest(s__27851__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__27834,x,c__5521__auto__,size__5522__auto__,b__27835,s__27833__$2,temp__5804__auto__,w,columns,rows))\n,null,null));\n});})(i__27834,x,c__5521__auto__,size__5522__auto__,b__27835,s__27833__$2,temp__5804__auto__,w,columns,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),rows));\n})());\n\nvar G__28226 \x3d (i__27834 + (1));\ni__27834 \x3d G__28226;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27835),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832(cljs.core.chunk_rest(s__27833__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27835),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__27833__$2);\nreturn cljs.core.cons((function (){var iter__5523__auto__ \x3d ((function (x,s__27833__$2,temp__5804__auto__,w,columns,rows){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27881(s__27882){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27882__$1 \x3d s__27882;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27882__$1);\nif(temp__5804__auto____$1){\nvar s__27882__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27882__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27882__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27884 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27883 \x3d (0);\nwhile(true){\nif((i__27883 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__27883);\ncljs.core.chunk_append(b__27884,cljs.core.rand_int((2)));\n\nvar G__28227 \x3d (i__27883 + (1));\ni__27883 \x3d G__28227;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27884),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27881(cljs.core.chunk_rest(s__27882__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27884),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__27882__$2);\nreturn cljs.core.cons(cljs.core.rand_int((2)),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832_$_iter__27881(cljs.core.rest(s__27882__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(x,s__27833__$2,temp__5804__auto__,w,columns,rows))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),rows));\n})(),sketches$nature_of_code$cellular_automata$game_of_life$board_$_iter__27832(cljs.core.rest(s__27833__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),columns));\n});\nsketches.nature_of_code.cellular_automata.game_of_life.update_state \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$update_state(p__27902){\nvar map__27907 \x3d p__27902;\nvar map__27907__$1 \x3d cljs.core.__destructure_map(map__27907);\nvar state \x3d map__27907__$1;\nvar board \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27907__$1,new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633),(function (){var iter__5523__auto__ \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910(s__27911){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27911__$1 \x3d s__27911;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27911__$1);\nif(temp__5804__auto__){\nvar s__27911__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__27911__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27911__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27913 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27912 \x3d (0);\nwhile(true){\nif((i__27912 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__27912);\ncljs.core.chunk_append(b__27913,(function (){var iter__5523__auto__ \x3d ((function (i__27912,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926(s__27927){\nreturn (new cljs.core.LazySeq(null,((function (i__27912,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__27927__$1 \x3d s__27927;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27927__$1);\nif(temp__5804__auto____$1){\nvar s__27927__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27927__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__27927__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__27929 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__27928 \x3d (0);\nwhile(true){\nif((i__27928 \x3c size__5522__auto____$1)){\nvar y \x3d cljs.core._nth(c__5521__auto____$1,i__27928);\ncljs.core.chunk_append(b__27929,(function (){var neighbour_count \x3d (cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,(function (){var iter__5523__auto__ \x3d ((function (i__27928,i__27912,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27941(s__27942){\nreturn (new cljs.core.LazySeq(null,((function (i__27928,i__27912,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__27942__$1 \x3d s__27942;\nwhile(true){\nvar temp__5804__auto____$2 \x3d cljs.core.seq(s__27942__$1);\nif(temp__5804__auto____$2){\nvar xs__6360__auto__ \x3d temp__5804__auto____$2;\nvar i \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__27942__$1,i__27928,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27941_$_iter__27943(s__27944){\nreturn (new cljs.core.LazySeq(null,((function (s__27942__$1,i__27928,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__27944__$1 \x3d s__27944;\nwhile(true){\nvar temp__5804__auto____$3 \x3d cljs.core.seq(s__27944__$1);\nif(temp__5804__auto____$3){\nvar s__27944__$2 \x3d temp__5804__auto____$3;\nif(cljs.core.chunked_seq_QMARK_(s__27944__$2)){\nvar c__5521__auto____$2 \x3d cljs.core.chunk_first(s__27944__$2);\nvar size__5522__auto____$2 \x3d cljs.core.count(c__5521__auto____$2);\nvar b__27946 \x3d cljs.core.chunk_buffer(size__5522__auto____$2);\nif((function (){var i__27945 \x3d (0);\nwhile(true){\nif((i__27945 \x3c size__5522__auto____$2)){\nvar j \x3d cljs.core._nth(c__5521__auto____$2,i__27945);\ncljs.core.chunk_append(b__27946,cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)));\n\nvar G__28348 \x3d (i__27945 + (1));\ni__27945 \x3d G__28348;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27946),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27941_$_iter__27943(cljs.core.chunk_rest(s__27944__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27946),null);\n}\n} else {\nvar j \x3d cljs.core.first(s__27944__$2);\nreturn cljs.core.cons(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27941_$_iter__27943(cljs.core.rest(s__27944__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__27942__$1,i__27928,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(s__27942__$1,i__27928,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27941(cljs.core.rest(s__27942__$1)));\n} else {\nvar G__28349 \x3d cljs.core.rest(s__27942__$1);\ns__27942__$1 \x3d G__28349;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__27928,i__27912,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(i__27928,i__27912,y,c__5521__auto____$1,size__5522__auto____$1,b__27929,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2)));\n})()) - (1));\nvar current \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x),y);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3c (2))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3e (3))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(neighbour_count,(3))))){\nreturn (1);\n} else {\nreturn current;\n\n}\n}\n}\n})());\n\nvar G__28350 \x3d (i__27928 + (1));\ni__27928 \x3d G__28350;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27929),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926(cljs.core.chunk_rest(s__27927__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27929),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__27927__$2);\nreturn cljs.core.cons((function (){var neighbour_count \x3d (cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,(function (){var iter__5523__auto__ \x3d ((function (i__27912,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27985(s__27986){\nreturn (new cljs.core.LazySeq(null,((function (i__27912,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__27986__$1 \x3d s__27986;\nwhile(true){\nvar temp__5804__auto____$2 \x3d cljs.core.seq(s__27986__$1);\nif(temp__5804__auto____$2){\nvar xs__6360__auto__ \x3d temp__5804__auto____$2;\nvar i \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__27986__$1,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27985_$_iter__27987(s__27988){\nreturn (new cljs.core.LazySeq(null,((function (s__27986__$1,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__27988__$1 \x3d s__27988;\nwhile(true){\nvar temp__5804__auto____$3 \x3d cljs.core.seq(s__27988__$1);\nif(temp__5804__auto____$3){\nvar s__27988__$2 \x3d temp__5804__auto____$3;\nif(cljs.core.chunked_seq_QMARK_(s__27988__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__27988__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__27990 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__27989 \x3d (0);\nwhile(true){\nif((i__27989 \x3c size__5522__auto____$1)){\nvar j \x3d cljs.core._nth(c__5521__auto____$1,i__27989);\ncljs.core.chunk_append(b__27990,cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)));\n\nvar G__28351 \x3d (i__27989 + (1));\ni__27989 \x3d G__28351;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27990),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27985_$_iter__27987(cljs.core.chunk_rest(s__27988__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27990),null);\n}\n} else {\nvar j \x3d cljs.core.first(s__27988__$2);\nreturn cljs.core.cons(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27985_$_iter__27987(cljs.core.rest(s__27988__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__27986__$1,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(s__27986__$1,i__27912,i,xs__6360__auto__,temp__5804__auto____$2,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926_$_iter__27985(cljs.core.rest(s__27986__$1)));\n} else {\nvar G__28352 \x3d cljs.core.rest(s__27986__$1);\ns__27986__$1 \x3d G__28352;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__27912,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(i__27912,y,s__27927__$2,temp__5804__auto____$1,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2)));\n})()) - (1));\nvar current \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x),y);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3c (2))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3e (3))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(neighbour_count,(3))))){\nreturn (1);\n} else {\nreturn current;\n\n}\n}\n}\n})(),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__27926(cljs.core.rest(s__27927__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__27912,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(i__27912,x,c__5521__auto__,size__5522__auto__,b__27913,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x))));\n})());\n\nvar G__28353 \x3d (i__27912 + (1));\ni__27912 \x3d G__28353;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27913),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910(cljs.core.chunk_rest(s__27911__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27913),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__27911__$2);\nreturn cljs.core.cons((function (){var iter__5523__auto__ \x3d ((function (x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005(s__28006){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__28006__$1 \x3d s__28006;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__28006__$1);\nif(temp__5804__auto____$1){\nvar s__28006__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__28006__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__28006__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__28008 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__28007 \x3d (0);\nwhile(true){\nif((i__28007 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__28007);\ncljs.core.chunk_append(b__28008,(function (){var neighbour_count \x3d (cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,(function (){var iter__5523__auto__ \x3d ((function (i__28007,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28009(s__28010){\nreturn (new cljs.core.LazySeq(null,((function (i__28007,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__28010__$1 \x3d s__28010;\nwhile(true){\nvar temp__5804__auto____$2 \x3d cljs.core.seq(s__28010__$1);\nif(temp__5804__auto____$2){\nvar xs__6360__auto__ \x3d temp__5804__auto____$2;\nvar i \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__28010__$1,i__28007,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28009_$_iter__28011(s__28012){\nreturn (new cljs.core.LazySeq(null,((function (s__28010__$1,i__28007,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__28012__$1 \x3d s__28012;\nwhile(true){\nvar temp__5804__auto____$3 \x3d cljs.core.seq(s__28012__$1);\nif(temp__5804__auto____$3){\nvar s__28012__$2 \x3d temp__5804__auto____$3;\nif(cljs.core.chunked_seq_QMARK_(s__28012__$2)){\nvar c__5521__auto____$1 \x3d cljs.core.chunk_first(s__28012__$2);\nvar size__5522__auto____$1 \x3d cljs.core.count(c__5521__auto____$1);\nvar b__28014 \x3d cljs.core.chunk_buffer(size__5522__auto____$1);\nif((function (){var i__28013 \x3d (0);\nwhile(true){\nif((i__28013 \x3c size__5522__auto____$1)){\nvar j \x3d cljs.core._nth(c__5521__auto____$1,i__28013);\ncljs.core.chunk_append(b__28014,cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)));\n\nvar G__28354 \x3d (i__28013 + (1));\ni__28013 \x3d G__28354;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28014),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28009_$_iter__28011(cljs.core.chunk_rest(s__28012__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28014),null);\n}\n} else {\nvar j \x3d cljs.core.first(s__28012__$2);\nreturn cljs.core.cons(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28009_$_iter__28011(cljs.core.rest(s__28012__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__28010__$1,i__28007,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(s__28010__$1,i__28007,i,xs__6360__auto__,temp__5804__auto____$2,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28009(cljs.core.rest(s__28010__$1)));\n} else {\nvar G__28355 \x3d cljs.core.rest(s__28010__$1);\ns__28010__$1 \x3d G__28355;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(i__28007,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(i__28007,y,c__5521__auto__,size__5522__auto__,b__28008,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2)));\n})()) - (1));\nvar current \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x),y);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3c (2))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3e (3))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(neighbour_count,(3))))){\nreturn (1);\n} else {\nreturn current;\n\n}\n}\n}\n})());\n\nvar G__28356 \x3d (i__28007 + (1));\ni__28007 \x3d G__28356;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28008),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005(cljs.core.chunk_rest(s__28006__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28008),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__28006__$2);\nreturn cljs.core.cons((function (){var neighbour_count \x3d (cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,(function (){var iter__5523__auto__ \x3d ((function (y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28015(s__28016){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__28016__$1 \x3d s__28016;\nwhile(true){\nvar temp__5804__auto____$2 \x3d cljs.core.seq(s__28016__$1);\nif(temp__5804__auto____$2){\nvar xs__6360__auto__ \x3d temp__5804__auto____$2;\nvar i \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__28016__$1,i,xs__6360__auto__,temp__5804__auto____$2,y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28015_$_iter__28017(s__28018){\nreturn (new cljs.core.LazySeq(null,((function (s__28016__$1,i,xs__6360__auto__,temp__5804__auto____$2,y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board){\nreturn (function (){\nvar s__28018__$1 \x3d s__28018;\nwhile(true){\nvar temp__5804__auto____$3 \x3d cljs.core.seq(s__28018__$1);\nif(temp__5804__auto____$3){\nvar s__28018__$2 \x3d temp__5804__auto____$3;\nif(cljs.core.chunked_seq_QMARK_(s__28018__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__28018__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__28020 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__28019 \x3d (0);\nwhile(true){\nif((i__28019 \x3c size__5522__auto__)){\nvar j \x3d cljs.core._nth(c__5521__auto__,i__28019);\ncljs.core.chunk_append(b__28020,cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)));\n\nvar G__28357 \x3d (i__28019 + (1));\ni__28019 \x3d G__28357;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28020),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28015_$_iter__28017(cljs.core.chunk_rest(s__28018__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__28020),null);\n}\n} else {\nvar j \x3d cljs.core.first(s__28018__$2);\nreturn cljs.core.cons(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(board,(x + i),cljs.core.List.EMPTY),(y + j),(0)),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28015_$_iter__28017(cljs.core.rest(s__28018__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__28016__$1,i,xs__6360__auto__,temp__5804__auto____$2,y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n,null,null));\n});})(s__28016__$1,i,xs__6360__auto__,temp__5804__auto____$2,y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005_$_iter__28015(cljs.core.rest(s__28016__$1)));\n} else {\nvar G__28358 \x3d cljs.core.rest(s__28016__$1);\ns__28016__$1 \x3d G__28358;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(y,s__28006__$2,temp__5804__auto____$1,x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((-1),(2)));\n})()) - (1));\nvar current \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x),y);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3c (2))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(1))) \x26\x26 ((neighbour_count \x3e (3))))){\nreturn (0);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(current,(0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(neighbour_count,(3))))){\nreturn (1);\n} else {\nreturn current;\n\n}\n}\n}\n})(),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910_$_iter__28005(cljs.core.rest(s__28006__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});})(x,s__27911__$2,temp__5804__auto__,map__27907,map__27907__$1,state,board))\n;\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(board,x))));\n})(),sketches$nature_of_code$cellular_automata$game_of_life$update_state_$_iter__27910(cljs.core.rest(s__27911__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(board)));\n})());\n});\nsketches.nature_of_code.cellular_automata.game_of_life.update_board \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$update_board(x,y,board){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.sequence,cljs.core.assoc_in(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28021_SHARP_){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,p1__28021_SHARP_);\n}),board)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null),(1)));\n});\nsketches.nature_of_code.cellular_automata.game_of_life.draw \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$draw(p__28022){\nvar map__28023 \x3d p__28022;\nvar map__28023__$1 \x3d cljs.core.__destructure_map(map__28023);\nvar board \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28023__$1,new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633));\nvar updated_board \x3d (cljs.core.truth_(quil.core.mouse_pressed_QMARK_())?sketches.nature_of_code.cellular_automata.game_of_life.update_board(quil.core.floor((quil.core.mouse_x() / (5))),quil.core.floor((quil.core.mouse_y() / (5))),board):board);\nvar seq__28030 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(updated_board)));\nvar chunk__28035 \x3d null;\nvar count__28036 \x3d (0);\nvar i__28037 \x3d (0);\nwhile(true){\nif((i__28037 \x3c count__28036)){\nvar x \x3d chunk__28035.cljs$core$IIndexed$_nth$arity$2(null,i__28037);\nvar seq__28038_28374 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x))));\nvar chunk__28039_28375 \x3d null;\nvar count__28040_28376 \x3d (0);\nvar i__28041_28377 \x3d (0);\nwhile(true){\nif((i__28041_28377 \x3c count__28040_28376)){\nvar y_28380 \x3d chunk__28039_28375.cljs$core$IIndexed$_nth$arity$2(null,i__28041_28377);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x),y_28380),(1))){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n}\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((x * (5)),(y_28380 * (5)),(5),(5));\n\n\nvar G__28385 \x3d seq__28038_28374;\nvar G__28386 \x3d chunk__28039_28375;\nvar G__28387 \x3d count__28040_28376;\nvar G__28388 \x3d (i__28041_28377 + (1));\nseq__28038_28374 \x3d G__28385;\nchunk__28039_28375 \x3d G__28386;\ncount__28040_28376 \x3d G__28387;\ni__28041_28377 \x3d G__28388;\ncontinue;\n} else {\nvar temp__5804__auto___28389 \x3d cljs.core.seq(seq__28038_28374);\nif(temp__5804__auto___28389){\nvar seq__28038_28390__$1 \x3d temp__5804__auto___28389;\nif(cljs.core.chunked_seq_QMARK_(seq__28038_28390__$1)){\nvar c__5568__auto___28391 \x3d cljs.core.chunk_first(seq__28038_28390__$1);\nvar G__28392 \x3d cljs.core.chunk_rest(seq__28038_28390__$1);\nvar G__28393 \x3d c__5568__auto___28391;\nvar G__28394 \x3d cljs.core.count(c__5568__auto___28391);\nvar G__28395 \x3d (0);\nseq__28038_28374 \x3d G__28392;\nchunk__28039_28375 \x3d G__28393;\ncount__28040_28376 \x3d G__28394;\ni__28041_28377 \x3d G__28395;\ncontinue;\n} else {\nvar y_28396 \x3d cljs.core.first(seq__28038_28390__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x),y_28396),(1))){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n}\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((x * (5)),(y_28396 * (5)),(5),(5));\n\n\nvar G__28397 \x3d cljs.core.next(seq__28038_28390__$1);\nvar G__28398 \x3d null;\nvar G__28399 \x3d (0);\nvar G__28400 \x3d (0);\nseq__28038_28374 \x3d G__28397;\nchunk__28039_28375 \x3d G__28398;\ncount__28040_28376 \x3d G__28399;\ni__28041_28377 \x3d G__28400;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__28401 \x3d seq__28030;\nvar G__28402 \x3d chunk__28035;\nvar G__28403 \x3d count__28036;\nvar G__28404 \x3d (i__28037 + (1));\nseq__28030 \x3d G__28401;\nchunk__28035 \x3d G__28402;\ncount__28036 \x3d G__28403;\ni__28037 \x3d G__28404;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28030);\nif(temp__5804__auto__){\nvar seq__28030__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28030__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28030__$1);\nvar G__28405 \x3d cljs.core.chunk_rest(seq__28030__$1);\nvar G__28406 \x3d c__5568__auto__;\nvar G__28407 \x3d cljs.core.count(c__5568__auto__);\nvar G__28408 \x3d (0);\nseq__28030 \x3d G__28405;\nchunk__28035 \x3d G__28406;\ncount__28036 \x3d G__28407;\ni__28037 \x3d G__28408;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__28030__$1);\nvar seq__28031_28409 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x))));\nvar chunk__28032_28410 \x3d null;\nvar count__28033_28411 \x3d (0);\nvar i__28034_28412 \x3d (0);\nwhile(true){\nif((i__28034_28412 \x3c count__28033_28411)){\nvar y_28413 \x3d chunk__28032_28410.cljs$core$IIndexed$_nth$arity$2(null,i__28034_28412);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x),y_28413),(1))){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n}\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((x * (5)),(y_28413 * (5)),(5),(5));\n\n\nvar G__28414 \x3d seq__28031_28409;\nvar G__28415 \x3d chunk__28032_28410;\nvar G__28416 \x3d count__28033_28411;\nvar G__28417 \x3d (i__28034_28412 + (1));\nseq__28031_28409 \x3d G__28414;\nchunk__28032_28410 \x3d G__28415;\ncount__28033_28411 \x3d G__28416;\ni__28034_28412 \x3d G__28417;\ncontinue;\n} else {\nvar temp__5804__auto___28418__$1 \x3d cljs.core.seq(seq__28031_28409);\nif(temp__5804__auto___28418__$1){\nvar seq__28031_28419__$1 \x3d temp__5804__auto___28418__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__28031_28419__$1)){\nvar c__5568__auto___28420 \x3d cljs.core.chunk_first(seq__28031_28419__$1);\nvar G__28421 \x3d cljs.core.chunk_rest(seq__28031_28419__$1);\nvar G__28422 \x3d c__5568__auto___28420;\nvar G__28423 \x3d cljs.core.count(c__5568__auto___28420);\nvar G__28424 \x3d (0);\nseq__28031_28409 \x3d G__28421;\nchunk__28032_28410 \x3d G__28422;\ncount__28033_28411 \x3d G__28423;\ni__28034_28412 \x3d G__28424;\ncontinue;\n} else {\nvar y_28425 \x3d cljs.core.first(seq__28031_28419__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(updated_board,x),y_28425),(1))){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n}\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((x * (5)),(y_28425 * (5)),(5),(5));\n\n\nvar G__28426 \x3d cljs.core.next(seq__28031_28419__$1);\nvar G__28427 \x3d null;\nvar G__28428 \x3d (0);\nvar G__28429 \x3d (0);\nseq__28031_28409 \x3d G__28426;\nchunk__28032_28410 \x3d G__28427;\ncount__28033_28411 \x3d G__28428;\ni__28034_28412 \x3d G__28429;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__28430 \x3d cljs.core.next(seq__28030__$1);\nvar G__28431 \x3d null;\nvar G__28432 \x3d (0);\nvar G__28433 \x3d (0);\nseq__28030 \x3d G__28430;\nchunk__28035 \x3d G__28431;\ncount__28036 \x3d G__28432;\ni__28037 \x3d G__28433;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.cellular_automata.game_of_life.mouse_clicked \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$mouse_clicked(p__28148,p__28149){\nvar map__28151 \x3d p__28148;\nvar map__28151__$1 \x3d cljs.core.__destructure_map(map__28151);\nvar state \x3d map__28151__$1;\nvar board \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28151__$1,new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633));\nvar map__28158 \x3d p__28149;\nvar map__28158__$1 \x3d cljs.core.__destructure_map(map__28158);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28158__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28158__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22board\x22,\x22board\x22,-1907017633),(function (board__$1){\nreturn sketches.nature_of_code.cellular_automata.game_of_life.update_board(quil.core.floor((x / (5))),quil.core.floor((y / (5))),board__$1);\n}));\n});\nsketches.nature_of_code.cellular_automata.game_of_life.run \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$run(host){\nsketches.nature_of_code.cellular_automata.game_of_life.game_of_life \x3d (function sketches$nature_of_code$cellular_automata$game_of_life$run_$_game_of_life(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28449__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28449 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28450__i \x3d 0, G__28450__a \x3d new Array(arguments.length - 0);\nwhile (G__28450__i \x3c G__28450__a.length) {G__28450__a[G__28450__i] \x3d arguments[G__28450__i + 0]; ++G__28450__i;}\n args \x3d new cljs.core.IndexedSeq(G__28450__a,0,null);\n} \nreturn G__28449__delegate.call(this,args);};\nG__28449.cljs$lang$maxFixedArity \x3d 0;\nG__28449.cljs$lang$applyTo \x3d (function (arglist__28451){\nvar args \x3d cljs.core.seq(arglist__28451);\nreturn G__28449__delegate(args);\n});\nG__28449.cljs$core$IFn$_invoke$arity$variadic \x3d G__28449__delegate;\nreturn G__28449;\n})()\n:host),new cljs.core.Keyword(null,\x22mouse-clicked\x22,\x22mouse-clicked\x22,-199339421),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.game_of_life.mouse_clicked))?(function() { \nvar G__28452__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.game_of_life.mouse_clicked,args);\n};\nvar G__28452 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28453__i \x3d 0, G__28453__a \x3d new Array(arguments.length - 0);\nwhile (G__28453__i \x3c G__28453__a.length) {G__28453__a[G__28453__i] \x3d arguments[G__28453__i + 0]; ++G__28453__i;}\n args \x3d new cljs.core.IndexedSeq(G__28453__a,0,null);\n} \nreturn G__28452__delegate.call(this,args);};\nG__28452.cljs$lang$maxFixedArity \x3d 0;\nG__28452.cljs$lang$applyTo \x3d (function (arglist__28454){\nvar args \x3d cljs.core.seq(arglist__28454);\nreturn G__28452__delegate(args);\n});\nG__28452.cljs$core$IFn$_invoke$arity$variadic \x3d G__28452__delegate;\nreturn G__28452;\n})()\n:sketches.nature_of_code.cellular_automata.game_of_life.mouse_clicked),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.game_of_life.update_state))?(function() { \nvar G__28459__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.game_of_life.update_state,args);\n};\nvar G__28459 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28460__i \x3d 0, G__28460__a \x3d new Array(arguments.length - 0);\nwhile (G__28460__i \x3c G__28460__a.length) {G__28460__a[G__28460__i] \x3d arguments[G__28460__i + 0]; ++G__28460__i;}\n args \x3d new cljs.core.IndexedSeq(G__28460__a,0,null);\n} \nreturn G__28459__delegate.call(this,args);};\nG__28459.cljs$lang$maxFixedArity \x3d 0;\nG__28459.cljs$lang$applyTo \x3d (function (arglist__28461){\nvar args \x3d cljs.core.seq(arglist__28461);\nreturn G__28459__delegate(args);\n});\nG__28459.cljs$core$IFn$_invoke$arity$variadic \x3d G__28459__delegate;\nreturn G__28459;\n})()\n:sketches.nature_of_code.cellular_automata.game_of_life.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.game_of_life.setup))?(function() { \nvar G__28468__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.game_of_life.setup,args);\n};\nvar G__28468 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28502__i \x3d 0, G__28502__a \x3d new Array(arguments.length - 0);\nwhile (G__28502__i \x3c G__28502__a.length) {G__28502__a[G__28502__i] \x3d arguments[G__28502__i + 0]; ++G__28502__i;}\n args \x3d new cljs.core.IndexedSeq(G__28502__a,0,null);\n} \nreturn G__28468__delegate.call(this,args);};\nG__28468.cljs$lang$maxFixedArity \x3d 0;\nG__28468.cljs$lang$applyTo \x3d (function (arglist__28503){\nvar args \x3d cljs.core.seq(arglist__28503);\nreturn G__28468__delegate(args);\n});\nG__28468.cljs$core$IFn$_invoke$arity$variadic \x3d G__28468__delegate;\nreturn G__28468;\n})()\n:sketches.nature_of_code.cellular_automata.game_of_life.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.game_of_life.draw))?(function() { \nvar G__28505__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.game_of_life.draw,args);\n};\nvar G__28505 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28508__i \x3d 0, G__28508__a \x3d new Array(arguments.length - 0);\nwhile (G__28508__i \x3c G__28508__a.length) {G__28508__a[G__28508__i] \x3d arguments[G__28508__i + 0]; ++G__28508__i;}\n args \x3d new cljs.core.IndexedSeq(G__28508__a,0,null);\n} \nreturn G__28505__delegate.call(this,args);};\nG__28505.cljs$lang$maxFixedArity \x3d 0;\nG__28505.cljs$lang$applyTo \x3d (function (arglist__28509){\nvar args \x3d cljs.core.seq(arglist__28509);\nreturn G__28505__delegate(args);\n});\nG__28505.cljs$core$IFn$_invoke$arity$variadic \x3d G__28505__delegate;\nreturn G__28505;\n})()\n:sketches.nature_of_code.cellular_automata.game_of_life.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.cellular_automata.game_of_life.game_of_life\x27, sketches.nature_of_code.cellular_automata.game_of_life.game_of_life);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.cellular_automata.game_of_life.game_of_life,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28519__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28519 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28520__i \x3d 0, G__28520__a \x3d new Array(arguments.length - 0);\nwhile (G__28520__i \x3c G__28520__a.length) {G__28520__a[G__28520__i] \x3d arguments[G__28520__i + 0]; ++G__28520__i;}\n args \x3d new cljs.core.IndexedSeq(G__28520__a,0,null);\n} \nreturn G__28519__delegate.call(this,args);};\nG__28519.cljs$lang$maxFixedArity \x3d 0;\nG__28519.cljs$lang$applyTo \x3d (function (arglist__28521){\nvar args \x3d cljs.core.seq(arglist__28521);\nreturn G__28519__delegate(args);\n});\nG__28519.cljs$core$IFn$_invoke$arity$variadic \x3d G__28519__delegate;\nreturn G__28519;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.cellular_automata.random_cellular_automaton.js", true , "goog.provide(\x27sketches.nature_of_code.cellular_automata.random_cellular_automaton\x27);\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.setup_cells \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$setup_cells(){\nvar w \x3d (5);\nvar cell_count \x3d (quil.core.width() / w);\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,x){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,quil.core.ceil((cell_count / (2))))){\nreturn (1);\n} else {\nreturn (0);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cell_count));\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.setup \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cells\x22,\x22cells\x22,-985166822),sketches.nature_of_code.cellular_automata.random_cellular_automaton.setup_cells(),new cljs.core.Keyword(null,\x22ruleset\x22,\x22ruleset\x22,-2145273412),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1),(0),(1),(1),(0),(1),(0)], null),new cljs.core.Keyword(null,\x22generation\x22,\x22generation\x22,-2132542044),(0)], null);\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.rules \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$rules(ruleset,a,b,c){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(ruleset,quil.core.unbinary([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27)));\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.reset_state \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$reset_state(state){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22generation\x22,\x22generation\x22,-2132542044),(0)),new cljs.core.Keyword(null,\x22cells\x22,\x22cells\x22,-985166822),sketches.nature_of_code.cellular_automata.random_cellular_automaton.setup_cells()),new cljs.core.Keyword(null,\x22ruleset\x22,\x22ruleset\x22,-2145273412),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn quil.core.round(quil.core.random.cljs$core$IFn$_invoke$arity$1((1)));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((8)))));\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.update_automata \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$update_automata(p__27800){\nvar map__27801 \x3d p__27800;\nvar map__27801__$1 \x3d cljs.core.__destructure_map(map__27801);\nvar state \x3d map__27801__$1;\nvar cells \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27801__$1,new cljs.core.Keyword(null,\x22cells\x22,\x22cells\x22,-985166822));\nvar ruleset \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27801__$1,new cljs.core.Keyword(null,\x22ruleset\x22,\x22ruleset\x22,-2145273412));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22cells\x22,\x22cells\x22,-985166822),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,x){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,(0))){\nreturn (0);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,(cljs.core.count(cells) - (1)))){\nreturn (0);\n} else {\nreturn sketches.nature_of_code.cellular_automata.random_cellular_automaton.rules(ruleset,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cells,(idx - (1))),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cells,idx),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cells,(idx + (1))));\n\n}\n}\n}),cells)),new cljs.core.Keyword(null,\x22generation\x22,\x22generation\x22,-2132542044),cljs.core.inc);\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.update_state \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$update_state(p__27809){\nvar map__27813 \x3d p__27809;\nvar map__27813__$1 \x3d cljs.core.__destructure_map(map__27813);\nvar state \x3d map__27813__$1;\nvar generation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27813__$1,new cljs.core.Keyword(null,\x22generation\x22,\x22generation\x22,-2132542044));\nif((generation \x3e (quil.core.height() / (5)))){\nreturn sketches.nature_of_code.cellular_automata.random_cellular_automaton.reset_state(state);\n} else {\nreturn sketches.nature_of_code.cellular_automata.random_cellular_automaton.update_automata(state);\n}\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.draw \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$draw(p__27826){\nvar map__27827 \x3d p__27826;\nvar map__27827__$1 \x3d cljs.core.__destructure_map(map__27827);\nvar cells \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27827__$1,new cljs.core.Keyword(null,\x22cells\x22,\x22cells\x22,-985166822));\nvar generation \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27827__$1,new cljs.core.Keyword(null,\x22generation\x22,\x22generation\x22,-2132542044));\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (idx,cell){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cell,(1))){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((255));\n}\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((idx * (5)),((5) * generation),(5),(5));\n}),cells));\n});\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.run \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$run(host){\nsketches.nature_of_code.cellular_automata.random_cellular_automaton.random_ca \x3d (function sketches$nature_of_code$cellular_automata$random_cellular_automaton$run_$_random_ca(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27900__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27900 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27901__i \x3d 0, G__27901__a \x3d new Array(arguments.length - 0);\nwhile (G__27901__i \x3c G__27901__a.length) {G__27901__a[G__27901__i] \x3d arguments[G__27901__i + 0]; ++G__27901__i;}\n args \x3d new cljs.core.IndexedSeq(G__27901__a,0,null);\n} \nreturn G__27900__delegate.call(this,args);};\nG__27900.cljs$lang$maxFixedArity \x3d 0;\nG__27900.cljs$lang$applyTo \x3d (function (arglist__27908){\nvar args \x3d cljs.core.seq(arglist__27908);\nreturn G__27900__delegate(args);\n});\nG__27900.cljs$core$IFn$_invoke$arity$variadic \x3d G__27900__delegate;\nreturn G__27900;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.random_cellular_automaton.update_state))?(function() { \nvar G__27914__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.random_cellular_automaton.update_state,args);\n};\nvar G__27914 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27915__i \x3d 0, G__27915__a \x3d new Array(arguments.length - 0);\nwhile (G__27915__i \x3c G__27915__a.length) {G__27915__a[G__27915__i] \x3d arguments[G__27915__i + 0]; ++G__27915__i;}\n args \x3d new cljs.core.IndexedSeq(G__27915__a,0,null);\n} \nreturn G__27914__delegate.call(this,args);};\nG__27914.cljs$lang$maxFixedArity \x3d 0;\nG__27914.cljs$lang$applyTo \x3d (function (arglist__27916){\nvar args \x3d cljs.core.seq(arglist__27916);\nreturn G__27914__delegate(args);\n});\nG__27914.cljs$core$IFn$_invoke$arity$variadic \x3d G__27914__delegate;\nreturn G__27914;\n})()\n:sketches.nature_of_code.cellular_automata.random_cellular_automaton.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.random_cellular_automaton.setup))?(function() { \nvar G__27920__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.random_cellular_automaton.setup,args);\n};\nvar G__27920 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27921__i \x3d 0, G__27921__a \x3d new Array(arguments.length - 0);\nwhile (G__27921__i \x3c G__27921__a.length) {G__27921__a[G__27921__i] \x3d arguments[G__27921__i + 0]; ++G__27921__i;}\n args \x3d new cljs.core.IndexedSeq(G__27921__a,0,null);\n} \nreturn G__27920__delegate.call(this,args);};\nG__27920.cljs$lang$maxFixedArity \x3d 0;\nG__27920.cljs$lang$applyTo \x3d (function (arglist__27922){\nvar args \x3d cljs.core.seq(arglist__27922);\nreturn G__27920__delegate(args);\n});\nG__27920.cljs$core$IFn$_invoke$arity$variadic \x3d G__27920__delegate;\nreturn G__27920;\n})()\n:sketches.nature_of_code.cellular_automata.random_cellular_automaton.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.cellular_automata.random_cellular_automaton.draw))?(function() { \nvar G__27923__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.cellular_automata.random_cellular_automaton.draw,args);\n};\nvar G__27923 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27924__i \x3d 0, G__27924__a \x3d new Array(arguments.length - 0);\nwhile (G__27924__i \x3c G__27924__a.length) {G__27924__a[G__27924__i] \x3d arguments[G__27924__i + 0]; ++G__27924__i;}\n args \x3d new cljs.core.IndexedSeq(G__27924__a,0,null);\n} \nreturn G__27923__delegate.call(this,args);};\nG__27923.cljs$lang$maxFixedArity \x3d 0;\nG__27923.cljs$lang$applyTo \x3d (function (arglist__27925){\nvar args \x3d cljs.core.seq(arglist__27925);\nreturn G__27923__delegate(args);\n});\nG__27923.cljs$core$IFn$_invoke$arity$variadic \x3d G__27923__delegate;\nreturn G__27923;\n})()\n:sketches.nature_of_code.cellular_automata.random_cellular_automaton.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.cellular_automata.random_cellular_automaton.random_ca\x27, sketches.nature_of_code.cellular_automata.random_cellular_automaton.random_ca);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.cellular_automata.random_cellular_automaton.random_ca,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27934__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27934 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27935__i \x3d 0, G__27935__a \x3d new Array(arguments.length - 0);\nwhile (G__27935__i \x3c G__27935__a.length) {G__27935__a[G__27935__i] \x3d arguments[G__27935__i + 0]; ++G__27935__i;}\n args \x3d new cljs.core.IndexedSeq(G__27935__a,0,null);\n} \nreturn G__27934__delegate.call(this,args);};\nG__27934.cljs$lang$maxFixedArity \x3d 0;\nG__27934.cljs$lang$applyTo \x3d (function (arglist__27936){\nvar args \x3d cljs.core.seq(arglist__27936);\nreturn G__27934__delegate(args);\n});\nG__27934.cljs$core$IFn$_invoke$arity$variadic \x3d G__27934__delegate;\nreturn G__27934;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.cellular_automata.core.js", true , "goog.provide(\x27sketches.nature_of_code.cellular_automata.core\x27);\nsketches.nature_of_code.cellular_automata.core.main \x3d (function sketches$nature_of_code$cellular_automata$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Cellular Automata\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Random CA\x22,\x22Exercise 7.1\x22,\x22https://natureofcode.com/book/chapter-7-cellular-automata/#chapter07_exercise1\x22,sketches.nature_of_code.cellular_automata.random_cellular_automaton.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Game of Life\x22,\x22Exercise 7.6\x22,\x22https://natureofcode.com/book/chapter-7-cellular-automata/#chapter07_exercise6\x22,sketches.nature_of_code.cellular_automata.game_of_life.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.balloon.js", true , "goog.provide(\x27sketches.nature_of_code.forces.balloon\x27);\nsketches.nature_of_code.forces.balloon.setup \x3d (function sketches$nature_of_code$forces$balloon$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395),0.001], null);\n});\nsketches.nature_of_code.forces.balloon.keep_inside \x3d (function sketches$nature_of_code$forces$balloon$keep_inside(p__27837){\nvar vec__27839 \x3d p__27837;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27839,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27839,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?quil.core.width():(((x \x3c (0)))?(0):x)),(((y \x3e quil.core.height()))?quil.core.height():(((y \x3c (0)))?(0):y))], null);\n});\nsketches.nature_of_code.forces.balloon.is_stopped \x3d (function sketches$nature_of_code$forces$balloon$is_stopped(p__27856){\nvar map__27859 \x3d p__27856;\nvar map__27859__$1 \x3d cljs.core.__destructure_map(map__27859);\nvar vec__27860 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27859__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27860,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27860,(1),null);\nvar vec__27863 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27859__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar ___$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27863,(0),null);\nvar vy \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27863,(1),null);\nreturn (((vy \x3c\x3d 0.02)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,(0))));\n});\nsketches.nature_of_code.forces.balloon.update_state \x3d (function sketches$nature_of_code$forces$balloon$update_state(state){\nvar map__27887 \x3d state;\nvar map__27887__$1 \x3d cljs.core.__destructure_map(map__27887);\nvar xoff \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27887__$1,new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27887__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27887__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27887__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.05], null);\nvar acceleration__$1 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$1(xoff),(0),(1),-0.05,0.05),(0)], null);\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(gravity,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration__$1));\nvar location__$2 \x3d sketches.nature_of_code.forces.balloon.keep_inside(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),(((cljs.core.second(location__$2) \x3c\x3d (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(- (cljs.core.second(velocity__$1) / (2)))], null):((sketches.nature_of_code.forces.balloon.is_stopped(state))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null):velocity__$1\n)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),((sketches.nature_of_code.forces.balloon.is_stopped(state))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null):location__$2),new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395),(xoff + 0.001)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),sketches.nature_of_code.forces.balloon.keep_inside);\n});\nsketches.nature_of_code.forces.balloon.draw \x3d (function sketches$nature_of_code$forces$balloon$draw(p__27890){\nvar map__27892 \x3d p__27890;\nvar map__27892__$1 \x3d cljs.core.__destructure_map(map__27892);\nvar vec__27893 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27892__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27893,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27893,(1),null);\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((255),(0),(0));\n\nquil.core.line.cljs$core$IFn$_invoke$arity$4(x,(y + (32)),x,(y + (100)));\n\nreturn quil.core.ellipse(x,y,(45),(64));\n});\nsketches.nature_of_code.forces.balloon.run \x3d (function sketches$nature_of_code$forces$balloon$run(host){\nsketches.nature_of_code.forces.balloon.balloon \x3d (function sketches$nature_of_code$forces$balloon$run_$_balloon(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27972__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27972 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27974__i \x3d 0, G__27974__a \x3d new Array(arguments.length - 0);\nwhile (G__27974__i \x3c G__27974__a.length) {G__27974__a[G__27974__i] \x3d arguments[G__27974__i + 0]; ++G__27974__i;}\n args \x3d new cljs.core.IndexedSeq(G__27974__a,0,null);\n} \nreturn G__27972__delegate.call(this,args);};\nG__27972.cljs$lang$maxFixedArity \x3d 0;\nG__27972.cljs$lang$applyTo \x3d (function (arglist__27975){\nvar args \x3d cljs.core.seq(arglist__27975);\nreturn G__27972__delegate(args);\n});\nG__27972.cljs$core$IFn$_invoke$arity$variadic \x3d G__27972__delegate;\nreturn G__27972;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.balloon.update_state))?(function() { \nvar G__27978__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.balloon.update_state,args);\n};\nvar G__27978 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27979__i \x3d 0, G__27979__a \x3d new Array(arguments.length - 0);\nwhile (G__27979__i \x3c G__27979__a.length) {G__27979__a[G__27979__i] \x3d arguments[G__27979__i + 0]; ++G__27979__i;}\n args \x3d new cljs.core.IndexedSeq(G__27979__a,0,null);\n} \nreturn G__27978__delegate.call(this,args);};\nG__27978.cljs$lang$maxFixedArity \x3d 0;\nG__27978.cljs$lang$applyTo \x3d (function (arglist__27981){\nvar args \x3d cljs.core.seq(arglist__27981);\nreturn G__27978__delegate(args);\n});\nG__27978.cljs$core$IFn$_invoke$arity$variadic \x3d G__27978__delegate;\nreturn G__27978;\n})()\n:sketches.nature_of_code.forces.balloon.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.balloon.setup))?(function() { \nvar G__27984__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.balloon.setup,args);\n};\nvar G__27984 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27993__i \x3d 0, G__27993__a \x3d new Array(arguments.length - 0);\nwhile (G__27993__i \x3c G__27993__a.length) {G__27993__a[G__27993__i] \x3d arguments[G__27993__i + 0]; ++G__27993__i;}\n args \x3d new cljs.core.IndexedSeq(G__27993__a,0,null);\n} \nreturn G__27984__delegate.call(this,args);};\nG__27984.cljs$lang$maxFixedArity \x3d 0;\nG__27984.cljs$lang$applyTo \x3d (function (arglist__27994){\nvar args \x3d cljs.core.seq(arglist__27994);\nreturn G__27984__delegate(args);\n});\nG__27984.cljs$core$IFn$_invoke$arity$variadic \x3d G__27984__delegate;\nreturn G__27984;\n})()\n:sketches.nature_of_code.forces.balloon.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.balloon.draw))?(function() { \nvar G__27996__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.balloon.draw,args);\n};\nvar G__27996 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27997__i \x3d 0, G__27997__a \x3d new Array(arguments.length - 0);\nwhile (G__27997__i \x3c G__27997__a.length) {G__27997__a[G__27997__i] \x3d arguments[G__27997__i + 0]; ++G__27997__i;}\n args \x3d new cljs.core.IndexedSeq(G__27997__a,0,null);\n} \nreturn G__27996__delegate.call(this,args);};\nG__27996.cljs$lang$maxFixedArity \x3d 0;\nG__27996.cljs$lang$applyTo \x3d (function (arglist__27999){\nvar args \x3d cljs.core.seq(arglist__27999);\nreturn G__27996__delegate(args);\n});\nG__27996.cljs$core$IFn$_invoke$arity$variadic \x3d G__27996__delegate;\nreturn G__27996;\n})()\n:sketches.nature_of_code.forces.balloon.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.balloon.balloon\x27, sketches.nature_of_code.forces.balloon.balloon);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.balloon.balloon,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28000__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28000 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28001__i \x3d 0, G__28001__a \x3d new Array(arguments.length - 0);\nwhile (G__28001__i \x3c G__28001__a.length) {G__28001__a[G__28001__i] \x3d arguments[G__28001__i + 0]; ++G__28001__i;}\n args \x3d new cljs.core.IndexedSeq(G__28001__a,0,null);\n} \nreturn G__28000__delegate.call(this,args);};\nG__28000.cljs$lang$maxFixedArity \x3d 0;\nG__28000.cljs$lang$applyTo \x3d (function (arglist__28002){\nvar args \x3d cljs.core.seq(arglist__28002);\nreturn G__28000__delegate(args);\n});\nG__28000.cljs$core$IFn$_invoke$arity$variadic \x3d G__28000__delegate;\nreturn G__28000;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.fluid.js", true , "goog.provide(\x27sketches.nature_of_code.forces.fluid\x27);\nsketches.nature_of_code.forces.fluid.setup \x3d (function sketches$nature_of_code$forces$fluid$setup(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((1) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(i * (50)),(i * (50))], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((quil.core.width() / (50))));\n});\nsketches.nature_of_code.forces.fluid.compute_position \x3d (function sketches$nature_of_code$forces$fluid$compute_position(p__27838){\nvar map__27842 \x3d p__27838;\nvar map__27842__$1 \x3d cljs.core.__destructure_map(map__27842);\nvar mover \x3d map__27842__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27842__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27842__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27842__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2);\n});\nsketches.nature_of_code.forces.fluid.liquid \x3d (function sketches$nature_of_code$forces$fluid$liquid(x,y,w,h,c){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [w,h], null),new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079),c], null);\n});\nsketches.nature_of_code.forces.fluid.gravity \x3d (function sketches$nature_of_code$forces$fluid$gravity(p__27854){\nvar map__27855 \x3d p__27854;\nvar map__27855__$1 \x3d cljs.core.__destructure_map(map__27855);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27855__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(0),(0.1 * mass)],null));\n});\nsketches.nature_of_code.forces.fluid.drag \x3d (function sketches$nature_of_code$forces$fluid$drag(mover,liquid){\nvar map__27876 \x3d mover;\nvar map__27876__$1 \x3d cljs.core.__destructure_map(map__27876);\nvar vec__27877 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27876__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27877,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27877,(1),null);\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27876__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar map__27880 \x3d liquid;\nvar map__27880__$1 \x3d cljs.core.__destructure_map(map__27880);\nvar c \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27880__$1,new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27880__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar speed \x3d sketches.vector.mag(velocity);\nif((y \x3e cljs.core.second(location__$1))){\nreturn sketches.vector.mult(sketches.vector.normalize(sketches.vector.mult(velocity,(-1))),((c * speed) * speed));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null);\n}\n});\nsketches.nature_of_code.forces.fluid.update_mover \x3d (function sketches$nature_of_code$forces$fluid$update_mover(mover){\nreturn sketches.mover.keep_inside(sketches.nature_of_code.forces.fluid.compute_position(sketches.mover.apply_force(sketches.mover.apply_force(mover,sketches.nature_of_code.forces.fluid.gravity(mover)),sketches.nature_of_code.forces.fluid.drag(mover,sketches.nature_of_code.forces.fluid.liquid((0),(quil.core.height() / (2)),quil.core.width(),(quil.core.height() / (2)),(1))))));\n});\nsketches.nature_of_code.forces.fluid.update_state \x3d (function sketches$nature_of_code$forces$fluid$update_state(movers){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.fluid.update_mover,movers);\n});\nsketches.nature_of_code.forces.fluid.draw \x3d (function sketches$nature_of_code$forces$fluid$draw(movers){\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((50),(100),(255));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(quil.core.height() / (2)),quil.core.width(),(quil.core.height() / (2)));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((255),(0),(255));\n\nvar seq__27903 \x3d cljs.core.seq(movers);\nvar chunk__27904 \x3d null;\nvar count__27905 \x3d (0);\nvar i__27906 \x3d (0);\nwhile(true){\nif((i__27906 \x3c count__27905)){\nvar map__27937 \x3d chunk__27904.cljs$core$IIndexed$_nth$arity$2(null,i__27906);\nvar map__27937__$1 \x3d cljs.core.__destructure_map(map__27937);\nvar vec__27938 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27937__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27938,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27938,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27937__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27937__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28244 \x3d seq__27903;\nvar G__28245 \x3d chunk__27904;\nvar G__28246 \x3d count__27905;\nvar G__28247 \x3d (i__27906 + (1));\nseq__27903 \x3d G__28244;\nchunk__27904 \x3d G__28245;\ncount__27905 \x3d G__28246;\ni__27906 \x3d G__28247;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27903);\nif(temp__5804__auto__){\nvar seq__27903__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27903__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27903__$1);\nvar G__28252 \x3d cljs.core.chunk_rest(seq__27903__$1);\nvar G__28253 \x3d c__5568__auto__;\nvar G__28254 \x3d cljs.core.count(c__5568__auto__);\nvar G__28255 \x3d (0);\nseq__27903 \x3d G__28252;\nchunk__27904 \x3d G__28253;\ncount__27905 \x3d G__28254;\ni__27906 \x3d G__28255;\ncontinue;\n} else {\nvar map__27947 \x3d cljs.core.first(seq__27903__$1);\nvar map__27947__$1 \x3d cljs.core.__destructure_map(map__27947);\nvar vec__27948 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27947__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27948,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27948,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27947__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27947__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28265 \x3d cljs.core.next(seq__27903__$1);\nvar G__28266 \x3d null;\nvar G__28267 \x3d (0);\nvar G__28268 \x3d (0);\nseq__27903 \x3d G__28265;\nchunk__27904 \x3d G__28266;\ncount__27905 \x3d G__28267;\ni__27906 \x3d G__28268;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.fluid.run \x3d (function sketches$nature_of_code$forces$fluid$run(host){\nsketches.nature_of_code.forces.fluid.fluid \x3d (function sketches$nature_of_code$forces$fluid$run_$_fluid(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28277__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28277 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28280__i \x3d 0, G__28280__a \x3d new Array(arguments.length - 0);\nwhile (G__28280__i \x3c G__28280__a.length) {G__28280__a[G__28280__i] \x3d arguments[G__28280__i + 0]; ++G__28280__i;}\n args \x3d new cljs.core.IndexedSeq(G__28280__a,0,null);\n} \nreturn G__28277__delegate.call(this,args);};\nG__28277.cljs$lang$maxFixedArity \x3d 0;\nG__28277.cljs$lang$applyTo \x3d (function (arglist__28281){\nvar args \x3d cljs.core.seq(arglist__28281);\nreturn G__28277__delegate(args);\n});\nG__28277.cljs$core$IFn$_invoke$arity$variadic \x3d G__28277__delegate;\nreturn G__28277;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.fluid.update_state))?(function() { \nvar G__28285__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.fluid.update_state,args);\n};\nvar G__28285 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28287__i \x3d 0, G__28287__a \x3d new Array(arguments.length - 0);\nwhile (G__28287__i \x3c G__28287__a.length) {G__28287__a[G__28287__i] \x3d arguments[G__28287__i + 0]; ++G__28287__i;}\n args \x3d new cljs.core.IndexedSeq(G__28287__a,0,null);\n} \nreturn G__28285__delegate.call(this,args);};\nG__28285.cljs$lang$maxFixedArity \x3d 0;\nG__28285.cljs$lang$applyTo \x3d (function (arglist__28289){\nvar args \x3d cljs.core.seq(arglist__28289);\nreturn G__28285__delegate(args);\n});\nG__28285.cljs$core$IFn$_invoke$arity$variadic \x3d G__28285__delegate;\nreturn G__28285;\n})()\n:sketches.nature_of_code.forces.fluid.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.fluid.setup))?(function() { \nvar G__28295__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.fluid.setup,args);\n};\nvar G__28295 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28297__i \x3d 0, G__28297__a \x3d new Array(arguments.length - 0);\nwhile (G__28297__i \x3c G__28297__a.length) {G__28297__a[G__28297__i] \x3d arguments[G__28297__i + 0]; ++G__28297__i;}\n args \x3d new cljs.core.IndexedSeq(G__28297__a,0,null);\n} \nreturn G__28295__delegate.call(this,args);};\nG__28295.cljs$lang$maxFixedArity \x3d 0;\nG__28295.cljs$lang$applyTo \x3d (function (arglist__28299){\nvar args \x3d cljs.core.seq(arglist__28299);\nreturn G__28295__delegate(args);\n});\nG__28295.cljs$core$IFn$_invoke$arity$variadic \x3d G__28295__delegate;\nreturn G__28295;\n})()\n:sketches.nature_of_code.forces.fluid.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.fluid.draw))?(function() { \nvar G__28300__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.fluid.draw,args);\n};\nvar G__28300 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28301__i \x3d 0, G__28301__a \x3d new Array(arguments.length - 0);\nwhile (G__28301__i \x3c G__28301__a.length) {G__28301__a[G__28301__i] \x3d arguments[G__28301__i + 0]; ++G__28301__i;}\n args \x3d new cljs.core.IndexedSeq(G__28301__a,0,null);\n} \nreturn G__28300__delegate.call(this,args);};\nG__28300.cljs$lang$maxFixedArity \x3d 0;\nG__28300.cljs$lang$applyTo \x3d (function (arglist__28302){\nvar args \x3d cljs.core.seq(arglist__28302);\nreturn G__28300__delegate(args);\n});\nG__28300.cljs$core$IFn$_invoke$arity$variadic \x3d G__28300__delegate;\nreturn G__28300;\n})()\n:sketches.nature_of_code.forces.fluid.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.fluid.fluid\x27, sketches.nature_of_code.forces.fluid.fluid);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.fluid.fluid,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28309__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28309 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28310__i \x3d 0, G__28310__a \x3d new Array(arguments.length - 0);\nwhile (G__28310__i \x3c G__28310__a.length) {G__28310__a[G__28310__i] \x3d arguments[G__28310__i + 0]; ++G__28310__i;}\n args \x3d new cljs.core.IndexedSeq(G__28310__a,0,null);\n} \nreturn G__28309__delegate.call(this,args);};\nG__28309.cljs$lang$maxFixedArity \x3d 0;\nG__28309.cljs$lang$applyTo \x3d (function (arglist__28312){\nvar args \x3d cljs.core.seq(arglist__28312);\nreturn G__28309__delegate(args);\n});\nG__28309.cljs$core$IFn$_invoke$arity$variadic \x3d G__28309__delegate;\nreturn G__28309;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.force_push.js", true , "goog.provide(\x27sketches.nature_of_code.forces.force_push\x27);\nsketches.nature_of_code.forces.force_push.create_mover \x3d (function sketches$nature_of_code$forces$force_push$create_mover(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),quil.core.random.cljs$core$IFn$_invoke$arity$2((10),(40))], null);\n});\nsketches.nature_of_code.forces.force_push.setup \x3d (function sketches$nature_of_code$forces$force_push$setup(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.create_mover,cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(20)));\n});\nsketches.nature_of_code.forces.force_push.push_back \x3d (function sketches$nature_of_code$forces$force_push$push_back(p__27857){\nvar map__27858 \x3d p__27857;\nvar map__27858__$1 \x3d cljs.core.__destructure_map(map__27858);\nvar mover \x3d map__27858__$1;\nvar vec__27866 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27858__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27866,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27866,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?(-1):(((x \x3c (0)))?(1):(0)\n)),(((y \x3e quil.core.height()))?(-1):(((y \x3c (0)))?(1):(0)\n))], null);\n});\nsketches.nature_of_code.forces.force_push.update_mover \x3d (function sketches$nature_of_code$forces$force_push$update_mover(p__27885){\nvar map__27886 \x3d p__27885;\nvar map__27886__$1 \x3d cljs.core.__destructure_map(map__27886);\nvar mover \x3d map__27886__$1;\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27886__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.03,(0)], null);\nvar gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.5], null);\nreturn sketches.mover.update_mover(mover,sketches.vector.add.cljs$core$IFn$_invoke$arity$variadic(sketches.vector.div(gravity,mass),sketches.vector.div(wind,mass),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sketches.vector.div(sketches.nature_of_code.forces.force_push.push_back(mover),mass)], 0)));\n});\nsketches.nature_of_code.forces.force_push.update_state \x3d (function sketches$nature_of_code$forces$force_push$update_state(state){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.update_mover,state);\n});\nsketches.nature_of_code.forces.force_push.draw_mover \x3d (function sketches$nature_of_code$forces$force_push$draw_mover(p__27891){\nvar map__27896 \x3d p__27891;\nvar map__27896__$1 \x3d cljs.core.__destructure_map(map__27896);\nvar vec__27897 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27896__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27897,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27897,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27896__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nreturn quil.core.ellipse(x,y,mass,mass);\n});\nsketches.nature_of_code.forces.force_push.draw \x3d (function sketches$nature_of_code$forces$force_push$draw(state){\nquil.core.clear();\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.draw_mover,state));\n});\nsketches.nature_of_code.forces.force_push.run \x3d (function sketches$nature_of_code$forces$force_push$run(host){\nsketches.nature_of_code.forces.force_push.force_push \x3d (function sketches$nature_of_code$forces$force_push$run_$_force_push(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27969__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27969 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27970__i \x3d 0, G__27970__a \x3d new Array(arguments.length - 0);\nwhile (G__27970__i \x3c G__27970__a.length) {G__27970__a[G__27970__i] \x3d arguments[G__27970__i + 0]; ++G__27970__i;}\n args \x3d new cljs.core.IndexedSeq(G__27970__a,0,null);\n} \nreturn G__27969__delegate.call(this,args);};\nG__27969.cljs$lang$maxFixedArity \x3d 0;\nG__27969.cljs$lang$applyTo \x3d (function (arglist__27971){\nvar args \x3d cljs.core.seq(arglist__27971);\nreturn G__27969__delegate(args);\n});\nG__27969.cljs$core$IFn$_invoke$arity$variadic \x3d G__27969__delegate;\nreturn G__27969;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.force_push.update_state))?(function() { \nvar G__27973__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.update_state,args);\n};\nvar G__27973 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27976__i \x3d 0, G__27976__a \x3d new Array(arguments.length - 0);\nwhile (G__27976__i \x3c G__27976__a.length) {G__27976__a[G__27976__i] \x3d arguments[G__27976__i + 0]; ++G__27976__i;}\n args \x3d new cljs.core.IndexedSeq(G__27976__a,0,null);\n} \nreturn G__27973__delegate.call(this,args);};\nG__27973.cljs$lang$maxFixedArity \x3d 0;\nG__27973.cljs$lang$applyTo \x3d (function (arglist__27977){\nvar args \x3d cljs.core.seq(arglist__27977);\nreturn G__27973__delegate(args);\n});\nG__27973.cljs$core$IFn$_invoke$arity$variadic \x3d G__27973__delegate;\nreturn G__27973;\n})()\n:sketches.nature_of_code.forces.force_push.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.force_push.setup))?(function() { \nvar G__27980__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.setup,args);\n};\nvar G__27980 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27982__i \x3d 0, G__27982__a \x3d new Array(arguments.length - 0);\nwhile (G__27982__i \x3c G__27982__a.length) {G__27982__a[G__27982__i] \x3d arguments[G__27982__i + 0]; ++G__27982__i;}\n args \x3d new cljs.core.IndexedSeq(G__27982__a,0,null);\n} \nreturn G__27980__delegate.call(this,args);};\nG__27980.cljs$lang$maxFixedArity \x3d 0;\nG__27980.cljs$lang$applyTo \x3d (function (arglist__27983){\nvar args \x3d cljs.core.seq(arglist__27983);\nreturn G__27980__delegate(args);\n});\nG__27980.cljs$core$IFn$_invoke$arity$variadic \x3d G__27980__delegate;\nreturn G__27980;\n})()\n:sketches.nature_of_code.forces.force_push.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.force_push.draw))?(function() { \nvar G__27991__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.force_push.draw,args);\n};\nvar G__27991 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__27992__i \x3d 0, G__27992__a \x3d new Array(arguments.length - 0);\nwhile (G__27992__i \x3c G__27992__a.length) {G__27992__a[G__27992__i] \x3d arguments[G__27992__i + 0]; ++G__27992__i;}\n args \x3d new cljs.core.IndexedSeq(G__27992__a,0,null);\n} \nreturn G__27991__delegate.call(this,args);};\nG__27991.cljs$lang$maxFixedArity \x3d 0;\nG__27991.cljs$lang$applyTo \x3d (function (arglist__27995){\nvar args \x3d cljs.core.seq(arglist__27995);\nreturn G__27991__delegate(args);\n});\nG__27991.cljs$core$IFn$_invoke$arity$variadic \x3d G__27991__delegate;\nreturn G__27991;\n})()\n:sketches.nature_of_code.forces.force_push.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.force_push.force_push\x27, sketches.nature_of_code.forces.force_push.force_push);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.force_push.force_push,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__27998__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__27998 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28003__i \x3d 0, G__28003__a \x3d new Array(arguments.length - 0);\nwhile (G__28003__i \x3c G__28003__a.length) {G__28003__a[G__28003__i] \x3d arguments[G__28003__i + 0]; ++G__28003__i;}\n args \x3d new cljs.core.IndexedSeq(G__28003__a,0,null);\n} \nreturn G__27998__delegate.call(this,args);};\nG__27998.cljs$lang$maxFixedArity \x3d 0;\nG__27998.cljs$lang$applyTo \x3d (function (arglist__28004){\nvar args \x3d cljs.core.seq(arglist__28004);\nreturn G__27998__delegate(args);\n});\nG__27998.cljs$core$IFn$_invoke$arity$variadic \x3d G__27998__delegate;\nreturn G__27998;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.frictions.js", true , "goog.provide(\x27sketches.nature_of_code.forces.frictions\x27);\nsketches.nature_of_code.forces.frictions.setup \x3d (function sketches$nature_of_code$forces$frictions$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (mover){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((1) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((50)))),new cljs.core.Keyword(null,\x22friction-areas\x22,\x22friction-areas\x22,-838235475),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (i){\nvar width \x3d (quil.core.width() / (5));\nvar colors \x3d new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0),(255)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(255),(0)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(255),(255),(0)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(255),(255)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(255),(0),(0)], null)], null);\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),(i * width),new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),width,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),cljs.core.get.cljs$core$IFn$_invoke$arity$2(colors,i),new cljs.core.Keyword(null,\x22friction\x22,\x22friction\x22,-1603603910),quil.core.random.cljs$core$IFn$_invoke$arity$2(0.01,0.2)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((5)))], null);\n});\nsketches.nature_of_code.forces.frictions.gravity \x3d (function sketches$nature_of_code$forces$frictions$gravity(p__28024){\nvar map__28025 \x3d p__28024;\nvar map__28025__$1 \x3d cljs.core.__destructure_map(map__28025);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28025__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(0),(0.1 * mass)],null));\n});\nsketches.nature_of_code.forces.frictions.compute_friction \x3d (function sketches$nature_of_code$forces$frictions$compute_friction(friction,p__28026){\nvar map__28027 \x3d p__28026;\nvar map__28027__$1 \x3d cljs.core.__destructure_map(map__28027);\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28027__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nreturn sketches.vector.mult(sketches.vector.normalize(sketches.vector.mult(velocity,(-1))),(function (){var or__5045__auto__ \x3d friction;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn 0.01;\n}\n})());\n});\nsketches.nature_of_code.forces.frictions.compute_position \x3d (function sketches$nature_of_code$forces$frictions$compute_position(p__28028){\nvar map__28029 \x3d p__28028;\nvar map__28029__$1 \x3d cljs.core.__destructure_map(map__28029);\nvar mover \x3d map__28029__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28029__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28029__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28029__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(location__$1,velocity__$1);\nvar acceleration__$1 \x3d sketches.vector.mult(acceleration,(0));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),acceleration__$1);\n});\nsketches.nature_of_code.forces.frictions.update_mover \x3d (function sketches$nature_of_code$forces$frictions$update_mover(mover,friction){\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,(0)], null);\nreturn sketches.mover.check_edges(sketches.nature_of_code.forces.frictions.compute_position(sketches.mover.apply_force(sketches.mover.apply_force(sketches.mover.apply_force(mover,wind),sketches.nature_of_code.forces.frictions.gravity(mover)),sketches.nature_of_code.forces.frictions.compute_friction(friction,mover))));\n});\nsketches.nature_of_code.forces.frictions.update_state \x3d (function sketches$nature_of_code$forces$frictions$update_state(p__28045){\nvar map__28046 \x3d p__28045;\nvar map__28046__$1 \x3d cljs.core.__destructure_map(map__28046);\nvar state \x3d map__28046__$1;\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28046__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nvar friction_areas \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28046__$1,new cljs.core.Keyword(null,\x22friction-areas\x22,\x22friction-areas\x22,-838235475));\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (mover){\nvar friction \x3d new cljs.core.Keyword(null,\x22friction\x22,\x22friction\x22,-1603603910).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__28044_SHARP_){\nreturn (new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(p1__28044_SHARP_) \x3c cljs.core.first(new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(mover)));\n}),cljs.core.reverse(friction_areas))));\nreturn sketches.nature_of_code.forces.frictions.update_mover(mover,friction);\n}),movers)),new cljs.core.Keyword(null,\x22friction-areas\x22,\x22friction-areas\x22,-838235475),friction_areas], null);\n});\nsketches.nature_of_code.forces.frictions.draw_friction_area \x3d (function sketches$nature_of_code$forces$frictions$draw_friction_area(p__28047){\nvar map__28048 \x3d p__28047;\nvar map__28048__$1 \x3d cljs.core.__destructure_map(map__28048);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28048__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar width \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28048__$1,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28048__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\nvar friction \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28048__$1,new cljs.core.Keyword(null,\x22friction\x22,\x22friction\x22,-1603603910));\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,color);\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4(x,(0),width,quil.core.height());\n});\nsketches.nature_of_code.forces.frictions.draw \x3d (function sketches$nature_of_code$forces$frictions$draw(p__28051){\nvar map__28052 \x3d p__28051;\nvar map__28052__$1 \x3d cljs.core.__destructure_map(map__28052);\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28052__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nvar friction_areas \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28052__$1,new cljs.core.Keyword(null,\x22friction-areas\x22,\x22friction-areas\x22,-838235475));\nquil.core.clear();\n\nvar seq__28053_28321 \x3d cljs.core.seq(friction_areas);\nvar chunk__28054_28322 \x3d null;\nvar count__28055_28323 \x3d (0);\nvar i__28056_28324 \x3d (0);\nwhile(true){\nif((i__28056_28324 \x3c count__28055_28323)){\nvar friction_area_28325 \x3d chunk__28054_28322.cljs$core$IIndexed$_nth$arity$2(null,i__28056_28324);\nsketches.nature_of_code.forces.frictions.draw_friction_area(friction_area_28325);\n\n\nvar G__28326 \x3d seq__28053_28321;\nvar G__28327 \x3d chunk__28054_28322;\nvar G__28328 \x3d count__28055_28323;\nvar G__28329 \x3d (i__28056_28324 + (1));\nseq__28053_28321 \x3d G__28326;\nchunk__28054_28322 \x3d G__28327;\ncount__28055_28323 \x3d G__28328;\ni__28056_28324 \x3d G__28329;\ncontinue;\n} else {\nvar temp__5804__auto___28333 \x3d cljs.core.seq(seq__28053_28321);\nif(temp__5804__auto___28333){\nvar seq__28053_28334__$1 \x3d temp__5804__auto___28333;\nif(cljs.core.chunked_seq_QMARK_(seq__28053_28334__$1)){\nvar c__5568__auto___28335 \x3d cljs.core.chunk_first(seq__28053_28334__$1);\nvar G__28336 \x3d cljs.core.chunk_rest(seq__28053_28334__$1);\nvar G__28337 \x3d c__5568__auto___28335;\nvar G__28338 \x3d cljs.core.count(c__5568__auto___28335);\nvar G__28339 \x3d (0);\nseq__28053_28321 \x3d G__28336;\nchunk__28054_28322 \x3d G__28337;\ncount__28055_28323 \x3d G__28338;\ni__28056_28324 \x3d G__28339;\ncontinue;\n} else {\nvar friction_area_28340 \x3d cljs.core.first(seq__28053_28334__$1);\nsketches.nature_of_code.forces.frictions.draw_friction_area(friction_area_28340);\n\n\nvar G__28341 \x3d cljs.core.next(seq__28053_28334__$1);\nvar G__28342 \x3d null;\nvar G__28343 \x3d (0);\nvar G__28344 \x3d (0);\nseq__28053_28321 \x3d G__28341;\nchunk__28054_28322 \x3d G__28342;\ncount__28055_28323 \x3d G__28343;\ni__28056_28324 \x3d G__28344;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((255),(0),(255));\n\nvar seq__28067 \x3d cljs.core.seq(movers);\nvar chunk__28068 \x3d null;\nvar count__28069 \x3d (0);\nvar i__28070 \x3d (0);\nwhile(true){\nif((i__28070 \x3c count__28069)){\nvar map__28093 \x3d chunk__28068.cljs$core$IIndexed$_nth$arity$2(null,i__28070);\nvar map__28093__$1 \x3d cljs.core.__destructure_map(map__28093);\nvar vec__28095 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28093__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28095,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28095,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28093__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28365 \x3d seq__28067;\nvar G__28366 \x3d chunk__28068;\nvar G__28367 \x3d count__28069;\nvar G__28368 \x3d (i__28070 + (1));\nseq__28067 \x3d G__28365;\nchunk__28068 \x3d G__28366;\ncount__28069 \x3d G__28367;\ni__28070 \x3d G__28368;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28067);\nif(temp__5804__auto__){\nvar seq__28067__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28067__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28067__$1);\nvar G__28369 \x3d cljs.core.chunk_rest(seq__28067__$1);\nvar G__28370 \x3d c__5568__auto__;\nvar G__28371 \x3d cljs.core.count(c__5568__auto__);\nvar G__28372 \x3d (0);\nseq__28067 \x3d G__28369;\nchunk__28068 \x3d G__28370;\ncount__28069 \x3d G__28371;\ni__28070 \x3d G__28372;\ncontinue;\n} else {\nvar map__28103 \x3d cljs.core.first(seq__28067__$1);\nvar map__28103__$1 \x3d cljs.core.__destructure_map(map__28103);\nvar vec__28104 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28103__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28104,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28104,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28103__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28381 \x3d cljs.core.next(seq__28067__$1);\nvar G__28382 \x3d null;\nvar G__28383 \x3d (0);\nvar G__28384 \x3d (0);\nseq__28067 \x3d G__28381;\nchunk__28068 \x3d G__28382;\ncount__28069 \x3d G__28383;\ni__28070 \x3d G__28384;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.frictions.run \x3d (function sketches$nature_of_code$forces$frictions$run(host){\nsketches.nature_of_code.forces.frictions.frictions \x3d (function sketches$nature_of_code$forces$frictions$run_$_frictions(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28434__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28434 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28435__i \x3d 0, G__28435__a \x3d new Array(arguments.length - 0);\nwhile (G__28435__i \x3c G__28435__a.length) {G__28435__a[G__28435__i] \x3d arguments[G__28435__i + 0]; ++G__28435__i;}\n args \x3d new cljs.core.IndexedSeq(G__28435__a,0,null);\n} \nreturn G__28434__delegate.call(this,args);};\nG__28434.cljs$lang$maxFixedArity \x3d 0;\nG__28434.cljs$lang$applyTo \x3d (function (arglist__28436){\nvar args \x3d cljs.core.seq(arglist__28436);\nreturn G__28434__delegate(args);\n});\nG__28434.cljs$core$IFn$_invoke$arity$variadic \x3d G__28434__delegate;\nreturn G__28434;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.frictions.update_state))?(function() { \nvar G__28437__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.frictions.update_state,args);\n};\nvar G__28437 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28438__i \x3d 0, G__28438__a \x3d new Array(arguments.length - 0);\nwhile (G__28438__i \x3c G__28438__a.length) {G__28438__a[G__28438__i] \x3d arguments[G__28438__i + 0]; ++G__28438__i;}\n args \x3d new cljs.core.IndexedSeq(G__28438__a,0,null);\n} \nreturn G__28437__delegate.call(this,args);};\nG__28437.cljs$lang$maxFixedArity \x3d 0;\nG__28437.cljs$lang$applyTo \x3d (function (arglist__28439){\nvar args \x3d cljs.core.seq(arglist__28439);\nreturn G__28437__delegate(args);\n});\nG__28437.cljs$core$IFn$_invoke$arity$variadic \x3d G__28437__delegate;\nreturn G__28437;\n})()\n:sketches.nature_of_code.forces.frictions.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.frictions.setup))?(function() { \nvar G__28440__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.frictions.setup,args);\n};\nvar G__28440 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28441__i \x3d 0, G__28441__a \x3d new Array(arguments.length - 0);\nwhile (G__28441__i \x3c G__28441__a.length) {G__28441__a[G__28441__i] \x3d arguments[G__28441__i + 0]; ++G__28441__i;}\n args \x3d new cljs.core.IndexedSeq(G__28441__a,0,null);\n} \nreturn G__28440__delegate.call(this,args);};\nG__28440.cljs$lang$maxFixedArity \x3d 0;\nG__28440.cljs$lang$applyTo \x3d (function (arglist__28442){\nvar args \x3d cljs.core.seq(arglist__28442);\nreturn G__28440__delegate(args);\n});\nG__28440.cljs$core$IFn$_invoke$arity$variadic \x3d G__28440__delegate;\nreturn G__28440;\n})()\n:sketches.nature_of_code.forces.frictions.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.frictions.draw))?(function() { \nvar G__28443__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.frictions.draw,args);\n};\nvar G__28443 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28444__i \x3d 0, G__28444__a \x3d new Array(arguments.length - 0);\nwhile (G__28444__i \x3c G__28444__a.length) {G__28444__a[G__28444__i] \x3d arguments[G__28444__i + 0]; ++G__28444__i;}\n args \x3d new cljs.core.IndexedSeq(G__28444__a,0,null);\n} \nreturn G__28443__delegate.call(this,args);};\nG__28443.cljs$lang$maxFixedArity \x3d 0;\nG__28443.cljs$lang$applyTo \x3d (function (arglist__28445){\nvar args \x3d cljs.core.seq(arglist__28445);\nreturn G__28443__delegate(args);\n});\nG__28443.cljs$core$IFn$_invoke$arity$variadic \x3d G__28443__delegate;\nreturn G__28443;\n})()\n:sketches.nature_of_code.forces.frictions.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.frictions.frictions\x27, sketches.nature_of_code.forces.frictions.frictions);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.frictions.frictions,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28446__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28446 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28447__i \x3d 0, G__28447__a \x3d new Array(arguments.length - 0);\nwhile (G__28447__i \x3c G__28447__a.length) {G__28447__a[G__28447__i] \x3d arguments[G__28447__i + 0]; ++G__28447__i;}\n args \x3d new cljs.core.IndexedSeq(G__28447__a,0,null);\n} \nreturn G__28446__delegate.call(this,args);};\nG__28446.cljs$lang$maxFixedArity \x3d 0;\nG__28446.cljs$lang$applyTo \x3d (function (arglist__28448){\nvar args \x3d cljs.core.seq(arglist__28448);\nreturn G__28446__delegate(args);\n});\nG__28446.cljs$core$IFn$_invoke$arity$variadic \x3d G__28446__delegate;\nreturn G__28446;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.invisible_attractors.js", true , "goog.provide(\x27sketches.nature_of_code.forces.invisible_attractors\x27);\nsketches.nature_of_code.forces.invisible_attractors.compute_position \x3d (function sketches$nature_of_code$forces$invisible_attractors$compute_position(p__28042){\nvar map__28043 \x3d p__28042;\nvar map__28043__$1 \x3d cljs.core.__destructure_map(map__28043);\nvar mover \x3d map__28043__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28043__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28043__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28043__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2);\n});\nsketches.nature_of_code.forces.invisible_attractors.setup \x3d (function sketches$nature_of_code$forces$invisible_attractors$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((1) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rand_int(quil.core.width()),cljs.core.rand_int(quil.core.height())], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(10))),new cljs.core.Keyword(null,\x22attractors\x22,\x22attractors\x22,464325791),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),cljs.core.rand_int((20)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rand_int(quil.core.width()),cljs.core.rand_int(quil.core.height())], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(5)))], null);\n});\nsketches.nature_of_code.forces.invisible_attractors.attract \x3d (function sketches$nature_of_code$forces$invisible_attractors$attract(mover,attractor){\nvar map__28049 \x3d attractor;\nvar map__28049__$1 \x3d cljs.core.__destructure_map(map__28049);\nvar loc1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28049__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar map__28050 \x3d mover;\nvar map__28050__$1 \x3d cljs.core.__destructure_map(map__28050);\nvar loc2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28050__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vectorBetween \x3d sketches.vector.sub(loc1,loc2);\nvar distanceBetween \x3d quil.core.constrain(sketches.vector.mag(vectorBetween),5.0,25.0);\nvar G \x3d 0.4;\nvar strength \x3d (((G * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(attractor)) * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(mover)) / (distanceBetween * distanceBetween));\nreturn sketches.vector.mult(sketches.vector.normalize(vectorBetween),strength);\n});\nsketches.nature_of_code.forces.invisible_attractors.update_mover \x3d (function sketches$nature_of_code$forces$invisible_attractors$update_mover(attractors,mover){\nreturn sketches.nature_of_code.forces.invisible_attractors.compute_position(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28057_SHARP_,p2__28058_SHARP_){\nreturn sketches.mover.apply_force(mover,sketches.nature_of_code.forces.invisible_attractors.attract(p1__28057_SHARP_,p2__28058_SHARP_));\n}),mover,attractors));\n});\nsketches.nature_of_code.forces.invisible_attractors.update_state \x3d (function sketches$nature_of_code$forces$invisible_attractors$update_state(p__28059){\nvar map__28060 \x3d p__28059;\nvar map__28060__$1 \x3d cljs.core.__destructure_map(map__28060);\nvar state \x3d map__28060__$1;\nvar attractors \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28060__$1,new cljs.core.Keyword(null,\x22attractors\x22,\x22attractors\x22,464325791));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.map,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.invisible_attractors.update_mover,attractors)));\n});\nsketches.nature_of_code.forces.invisible_attractors.draw \x3d (function sketches$nature_of_code$forces$invisible_attractors$draw(p__28061){\nvar map__28062 \x3d p__28061;\nvar map__28062__$1 \x3d cljs.core.__destructure_map(map__28062);\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28062__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28063 \x3d cljs.core.seq(movers);\nvar chunk__28064 \x3d null;\nvar count__28065 \x3d (0);\nvar i__28066 \x3d (0);\nwhile(true){\nif((i__28066 \x3c count__28065)){\nvar map__28083 \x3d chunk__28064.cljs$core$IIndexed$_nth$arity$2(null,i__28066);\nvar map__28083__$1 \x3d cljs.core.__destructure_map(map__28083);\nvar vec__28088 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28083__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28088,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28088,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28083__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28228 \x3d seq__28063;\nvar G__28229 \x3d chunk__28064;\nvar G__28230 \x3d count__28065;\nvar G__28231 \x3d (i__28066 + (1));\nseq__28063 \x3d G__28228;\nchunk__28064 \x3d G__28229;\ncount__28065 \x3d G__28230;\ni__28066 \x3d G__28231;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28063);\nif(temp__5804__auto__){\nvar seq__28063__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28063__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28063__$1);\nvar G__28232 \x3d cljs.core.chunk_rest(seq__28063__$1);\nvar G__28233 \x3d c__5568__auto__;\nvar G__28234 \x3d cljs.core.count(c__5568__auto__);\nvar G__28235 \x3d (0);\nseq__28063 \x3d G__28232;\nchunk__28064 \x3d G__28233;\ncount__28065 \x3d G__28234;\ni__28066 \x3d G__28235;\ncontinue;\n} else {\nvar map__28099 \x3d cljs.core.first(seq__28063__$1);\nvar map__28099__$1 \x3d cljs.core.__destructure_map(map__28099);\nvar vec__28100 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28099__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28100,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28100,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28099__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28256 \x3d cljs.core.next(seq__28063__$1);\nvar G__28257 \x3d null;\nvar G__28258 \x3d (0);\nvar G__28259 \x3d (0);\nseq__28063 \x3d G__28256;\nchunk__28064 \x3d G__28257;\ncount__28065 \x3d G__28258;\ni__28066 \x3d G__28259;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.invisible_attractors.run \x3d (function sketches$nature_of_code$forces$invisible_attractors$run(host){\nsketches.nature_of_code.forces.invisible_attractors.invisible_attractors \x3d (function sketches$nature_of_code$forces$invisible_attractors$run_$_invisible_attractors(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28274__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28274 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28282__i \x3d 0, G__28282__a \x3d new Array(arguments.length - 0);\nwhile (G__28282__i \x3c G__28282__a.length) {G__28282__a[G__28282__i] \x3d arguments[G__28282__i + 0]; ++G__28282__i;}\n args \x3d new cljs.core.IndexedSeq(G__28282__a,0,null);\n} \nreturn G__28274__delegate.call(this,args);};\nG__28274.cljs$lang$maxFixedArity \x3d 0;\nG__28274.cljs$lang$applyTo \x3d (function (arglist__28283){\nvar args \x3d cljs.core.seq(arglist__28283);\nreturn G__28274__delegate(args);\n});\nG__28274.cljs$core$IFn$_invoke$arity$variadic \x3d G__28274__delegate;\nreturn G__28274;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.invisible_attractors.update_state))?(function() { \nvar G__28303__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.invisible_attractors.update_state,args);\n};\nvar G__28303 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28306__i \x3d 0, G__28306__a \x3d new Array(arguments.length - 0);\nwhile (G__28306__i \x3c G__28306__a.length) {G__28306__a[G__28306__i] \x3d arguments[G__28306__i + 0]; ++G__28306__i;}\n args \x3d new cljs.core.IndexedSeq(G__28306__a,0,null);\n} \nreturn G__28303__delegate.call(this,args);};\nG__28303.cljs$lang$maxFixedArity \x3d 0;\nG__28303.cljs$lang$applyTo \x3d (function (arglist__28308){\nvar args \x3d cljs.core.seq(arglist__28308);\nreturn G__28303__delegate(args);\n});\nG__28303.cljs$core$IFn$_invoke$arity$variadic \x3d G__28303__delegate;\nreturn G__28303;\n})()\n:sketches.nature_of_code.forces.invisible_attractors.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.invisible_attractors.setup))?(function() { \nvar G__28311__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.invisible_attractors.setup,args);\n};\nvar G__28311 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28313__i \x3d 0, G__28313__a \x3d new Array(arguments.length - 0);\nwhile (G__28313__i \x3c G__28313__a.length) {G__28313__a[G__28313__i] \x3d arguments[G__28313__i + 0]; ++G__28313__i;}\n args \x3d new cljs.core.IndexedSeq(G__28313__a,0,null);\n} \nreturn G__28311__delegate.call(this,args);};\nG__28311.cljs$lang$maxFixedArity \x3d 0;\nG__28311.cljs$lang$applyTo \x3d (function (arglist__28314){\nvar args \x3d cljs.core.seq(arglist__28314);\nreturn G__28311__delegate(args);\n});\nG__28311.cljs$core$IFn$_invoke$arity$variadic \x3d G__28311__delegate;\nreturn G__28311;\n})()\n:sketches.nature_of_code.forces.invisible_attractors.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.invisible_attractors.draw))?(function() { \nvar G__28315__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.invisible_attractors.draw,args);\n};\nvar G__28315 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28316__i \x3d 0, G__28316__a \x3d new Array(arguments.length - 0);\nwhile (G__28316__i \x3c G__28316__a.length) {G__28316__a[G__28316__i] \x3d arguments[G__28316__i + 0]; ++G__28316__i;}\n args \x3d new cljs.core.IndexedSeq(G__28316__a,0,null);\n} \nreturn G__28315__delegate.call(this,args);};\nG__28315.cljs$lang$maxFixedArity \x3d 0;\nG__28315.cljs$lang$applyTo \x3d (function (arglist__28317){\nvar args \x3d cljs.core.seq(arglist__28317);\nreturn G__28315__delegate(args);\n});\nG__28315.cljs$core$IFn$_invoke$arity$variadic \x3d G__28315__delegate;\nreturn G__28315;\n})()\n:sketches.nature_of_code.forces.invisible_attractors.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.invisible_attractors.invisible_attractors\x27, sketches.nature_of_code.forces.invisible_attractors.invisible_attractors);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.invisible_attractors.invisible_attractors,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28318__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28318 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28319__i \x3d 0, G__28319__a \x3d new Array(arguments.length - 0);\nwhile (G__28319__i \x3c G__28319__a.length) {G__28319__a[G__28319__i] \x3d arguments[G__28319__i + 0]; ++G__28319__i;}\n args \x3d new cljs.core.IndexedSeq(G__28319__a,0,null);\n} \nreturn G__28318__delegate.call(this,args);};\nG__28318.cljs$lang$maxFixedArity \x3d 0;\nG__28318.cljs$lang$applyTo \x3d (function (arglist__28320){\nvar args \x3d cljs.core.seq(arglist__28320);\nreturn G__28318__delegate(args);\n});\nG__28318.cljs$core$IFn$_invoke$arity$variadic \x3d G__28318__delegate;\nreturn G__28318;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.own_force.js", true , "goog.provide(\x27sketches.nature_of_code.forces.own_force\x27);\nsketches.nature_of_code.forces.own_force.compute_position \x3d (function sketches$nature_of_code$forces$own_force$compute_position(p__28092){\nvar map__28094 \x3d p__28092;\nvar map__28094__$1 \x3d cljs.core.__destructure_map(map__28094);\nvar mover \x3d map__28094__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28094__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28094__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28094__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2);\n});\nsketches.nature_of_code.forces.own_force.setup \x3d (function sketches$nature_of_code$forces$own_force$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((1) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rand_int((500)),cljs.core.rand_int((500))], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(10))),new cljs.core.Keyword(null,\x22attractors\x22,\x22attractors\x22,464325791),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),cljs.core.rand_int((20)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rand_int((500)),cljs.core.rand_int((500))], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(5)))], null);\n});\nsketches.nature_of_code.forces.own_force.attract \x3d (function sketches$nature_of_code$forces$own_force$attract(mover,attractor){\nvar map__28117 \x3d attractor;\nvar map__28117__$1 \x3d cljs.core.__destructure_map(map__28117);\nvar loc1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28117__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar map__28118 \x3d mover;\nvar map__28118__$1 \x3d cljs.core.__destructure_map(map__28118);\nvar loc2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28118__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vectorBetween \x3d sketches.vector.sub(loc1,loc2);\nvar distanceBetween \x3d quil.core.constrain(sketches.vector.mag(vectorBetween),5.0,25.0);\nvar G \x3d 0.4;\nvar strength \x3d ((distanceBetween * distanceBetween) / ((G * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(attractor)) * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(mover)));\nreturn sketches.vector.mult(sketches.vector.normalize(vectorBetween),strength);\n});\nsketches.nature_of_code.forces.own_force.update_mover \x3d (function sketches$nature_of_code$forces$own_force$update_mover(attractors,mover){\nreturn sketches.nature_of_code.forces.own_force.compute_position(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28125_SHARP_,p2__28126_SHARP_){\nreturn sketches.mover.apply_force(p1__28125_SHARP_,sketches.nature_of_code.forces.own_force.attract(p1__28125_SHARP_,p2__28126_SHARP_));\n}),mover,attractors));\n});\nsketches.nature_of_code.forces.own_force.update_state \x3d (function sketches$nature_of_code$forces$own_force$update_state(p__28133){\nvar map__28138 \x3d p__28133;\nvar map__28138__$1 \x3d cljs.core.__destructure_map(map__28138);\nvar state \x3d map__28138__$1;\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28138__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nvar attractors \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28138__$1,new cljs.core.Keyword(null,\x22attractors\x22,\x22attractors\x22,464325791));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.map,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.own_force.update_mover,attractors)));\n});\nsketches.nature_of_code.forces.own_force.draw \x3d (function sketches$nature_of_code$forces$own_force$draw(p__28139){\nvar map__28142 \x3d p__28139;\nvar map__28142__$1 \x3d cljs.core.__destructure_map(map__28142);\nvar attractors \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28142__$1,new cljs.core.Keyword(null,\x22attractors\x22,\x22attractors\x22,464325791));\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28142__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28143_28455 \x3d cljs.core.seq(movers);\nvar chunk__28144_28456 \x3d null;\nvar count__28145_28457 \x3d (0);\nvar i__28146_28458 \x3d (0);\nwhile(true){\nif((i__28146_28458 \x3c count__28145_28457)){\nvar map__28171_28462 \x3d chunk__28144_28456.cljs$core$IIndexed$_nth$arity$2(null,i__28146_28458);\nvar map__28171_28463__$1 \x3d cljs.core.__destructure_map(map__28171_28462);\nvar vec__28172_28464 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28171_28463__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x_28465 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28172_28464,(0),null);\nvar y_28466 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28172_28464,(1),null);\nvar mass_28467 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28171_28463__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x_28465,y_28466,mass_28467,mass_28467);\n\n\nvar G__28469 \x3d seq__28143_28455;\nvar G__28470 \x3d chunk__28144_28456;\nvar G__28471 \x3d count__28145_28457;\nvar G__28472 \x3d (i__28146_28458 + (1));\nseq__28143_28455 \x3d G__28469;\nchunk__28144_28456 \x3d G__28470;\ncount__28145_28457 \x3d G__28471;\ni__28146_28458 \x3d G__28472;\ncontinue;\n} else {\nvar temp__5804__auto___28473 \x3d cljs.core.seq(seq__28143_28455);\nif(temp__5804__auto___28473){\nvar seq__28143_28474__$1 \x3d temp__5804__auto___28473;\nif(cljs.core.chunked_seq_QMARK_(seq__28143_28474__$1)){\nvar c__5568__auto___28475 \x3d cljs.core.chunk_first(seq__28143_28474__$1);\nvar G__28476 \x3d cljs.core.chunk_rest(seq__28143_28474__$1);\nvar G__28477 \x3d c__5568__auto___28475;\nvar G__28478 \x3d cljs.core.count(c__5568__auto___28475);\nvar G__28479 \x3d (0);\nseq__28143_28455 \x3d G__28476;\nchunk__28144_28456 \x3d G__28477;\ncount__28145_28457 \x3d G__28478;\ni__28146_28458 \x3d G__28479;\ncontinue;\n} else {\nvar map__28175_28480 \x3d cljs.core.first(seq__28143_28474__$1);\nvar map__28175_28481__$1 \x3d cljs.core.__destructure_map(map__28175_28480);\nvar vec__28176_28482 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28175_28481__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x_28483 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28176_28482,(0),null);\nvar y_28484 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28176_28482,(1),null);\nvar mass_28485 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28175_28481__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x_28483,y_28484,mass_28485,mass_28485);\n\n\nvar G__28486 \x3d cljs.core.next(seq__28143_28474__$1);\nvar G__28487 \x3d null;\nvar G__28488 \x3d (0);\nvar G__28489 \x3d (0);\nseq__28143_28455 \x3d G__28486;\nchunk__28144_28456 \x3d G__28487;\ncount__28145_28457 \x3d G__28488;\ni__28146_28458 \x3d G__28489;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar seq__28180 \x3d cljs.core.seq(attractors);\nvar chunk__28181 \x3d null;\nvar count__28182 \x3d (0);\nvar i__28183 \x3d (0);\nwhile(true){\nif((i__28183 \x3c count__28182)){\nvar map__28202 \x3d chunk__28181.cljs$core$IIndexed$_nth$arity$2(null,i__28183);\nvar map__28202__$1 \x3d cljs.core.__destructure_map(map__28202);\nvar vec__28203 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28202__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28203,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28203,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28202__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(x,y,mass,mass);\n\n\nvar G__28490 \x3d seq__28180;\nvar G__28491 \x3d chunk__28181;\nvar G__28492 \x3d count__28182;\nvar G__28493 \x3d (i__28183 + (1));\nseq__28180 \x3d G__28490;\nchunk__28181 \x3d G__28491;\ncount__28182 \x3d G__28492;\ni__28183 \x3d G__28493;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28180);\nif(temp__5804__auto__){\nvar seq__28180__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28180__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28180__$1);\nvar G__28494 \x3d cljs.core.chunk_rest(seq__28180__$1);\nvar G__28495 \x3d c__5568__auto__;\nvar G__28496 \x3d cljs.core.count(c__5568__auto__);\nvar G__28497 \x3d (0);\nseq__28180 \x3d G__28494;\nchunk__28181 \x3d G__28495;\ncount__28182 \x3d G__28496;\ni__28183 \x3d G__28497;\ncontinue;\n} else {\nvar map__28210 \x3d cljs.core.first(seq__28180__$1);\nvar map__28210__$1 \x3d cljs.core.__destructure_map(map__28210);\nvar vec__28211 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28210__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28211,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28211,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28210__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(x,y,mass,mass);\n\n\nvar G__28498 \x3d cljs.core.next(seq__28180__$1);\nvar G__28499 \x3d null;\nvar G__28500 \x3d (0);\nvar G__28501 \x3d (0);\nseq__28180 \x3d G__28498;\nchunk__28181 \x3d G__28499;\ncount__28182 \x3d G__28500;\ni__28183 \x3d G__28501;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.own_force.run \x3d (function sketches$nature_of_code$forces$own_force$run(host){\nsketches.nature_of_code.forces.own_force.own_force \x3d (function sketches$nature_of_code$forces$own_force$run_$_own_force(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28504__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28504 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28506__i \x3d 0, G__28506__a \x3d new Array(arguments.length - 0);\nwhile (G__28506__i \x3c G__28506__a.length) {G__28506__a[G__28506__i] \x3d arguments[G__28506__i + 0]; ++G__28506__i;}\n args \x3d new cljs.core.IndexedSeq(G__28506__a,0,null);\n} \nreturn G__28504__delegate.call(this,args);};\nG__28504.cljs$lang$maxFixedArity \x3d 0;\nG__28504.cljs$lang$applyTo \x3d (function (arglist__28507){\nvar args \x3d cljs.core.seq(arglist__28507);\nreturn G__28504__delegate(args);\n});\nG__28504.cljs$core$IFn$_invoke$arity$variadic \x3d G__28504__delegate;\nreturn G__28504;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.own_force.update_state))?(function() { \nvar G__28510__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.own_force.update_state,args);\n};\nvar G__28510 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28511__i \x3d 0, G__28511__a \x3d new Array(arguments.length - 0);\nwhile (G__28511__i \x3c G__28511__a.length) {G__28511__a[G__28511__i] \x3d arguments[G__28511__i + 0]; ++G__28511__i;}\n args \x3d new cljs.core.IndexedSeq(G__28511__a,0,null);\n} \nreturn G__28510__delegate.call(this,args);};\nG__28510.cljs$lang$maxFixedArity \x3d 0;\nG__28510.cljs$lang$applyTo \x3d (function (arglist__28512){\nvar args \x3d cljs.core.seq(arglist__28512);\nreturn G__28510__delegate(args);\n});\nG__28510.cljs$core$IFn$_invoke$arity$variadic \x3d G__28510__delegate;\nreturn G__28510;\n})()\n:sketches.nature_of_code.forces.own_force.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.own_force.setup))?(function() { \nvar G__28513__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.own_force.setup,args);\n};\nvar G__28513 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28514__i \x3d 0, G__28514__a \x3d new Array(arguments.length - 0);\nwhile (G__28514__i \x3c G__28514__a.length) {G__28514__a[G__28514__i] \x3d arguments[G__28514__i + 0]; ++G__28514__i;}\n args \x3d new cljs.core.IndexedSeq(G__28514__a,0,null);\n} \nreturn G__28513__delegate.call(this,args);};\nG__28513.cljs$lang$maxFixedArity \x3d 0;\nG__28513.cljs$lang$applyTo \x3d (function (arglist__28515){\nvar args \x3d cljs.core.seq(arglist__28515);\nreturn G__28513__delegate(args);\n});\nG__28513.cljs$core$IFn$_invoke$arity$variadic \x3d G__28513__delegate;\nreturn G__28513;\n})()\n:sketches.nature_of_code.forces.own_force.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.own_force.draw))?(function() { \nvar G__28516__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.own_force.draw,args);\n};\nvar G__28516 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28517__i \x3d 0, G__28517__a \x3d new Array(arguments.length - 0);\nwhile (G__28517__i \x3c G__28517__a.length) {G__28517__a[G__28517__i] \x3d arguments[G__28517__i + 0]; ++G__28517__i;}\n args \x3d new cljs.core.IndexedSeq(G__28517__a,0,null);\n} \nreturn G__28516__delegate.call(this,args);};\nG__28516.cljs$lang$maxFixedArity \x3d 0;\nG__28516.cljs$lang$applyTo \x3d (function (arglist__28518){\nvar args \x3d cljs.core.seq(arglist__28518);\nreturn G__28516__delegate(args);\n});\nG__28516.cljs$core$IFn$_invoke$arity$variadic \x3d G__28516__delegate;\nreturn G__28516;\n})()\n:sketches.nature_of_code.forces.own_force.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.own_force.own_force\x27, sketches.nature_of_code.forces.own_force.own_force);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.own_force.own_force,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28522__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28522 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28523__i \x3d 0, G__28523__a \x3d new Array(arguments.length - 0);\nwhile (G__28523__i \x3c G__28523__a.length) {G__28523__a[G__28523__i] \x3d arguments[G__28523__i + 0]; ++G__28523__i;}\n args \x3d new cljs.core.IndexedSeq(G__28523__a,0,null);\n} \nreturn G__28522__delegate.call(this,args);};\nG__28522.cljs$lang$maxFixedArity \x3d 0;\nG__28522.cljs$lang$applyTo \x3d (function (arglist__28524){\nvar args \x3d cljs.core.seq(arglist__28524);\nreturn G__28522__delegate(args);\n});\nG__28522.cljs$core$IFn$_invoke$arity$variadic \x3d G__28522__delegate;\nreturn G__28522;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.repulse_mouse.js", true , "goog.provide(\x27sketches.nature_of_code.forces.repulse_mouse\x27);\nsketches.nature_of_code.forces.repulse_mouse.compute_position \x3d (function sketches$nature_of_code$forces$repulse_mouse$compute_position(p__28091){\nvar map__28098 \x3d p__28091;\nvar map__28098__$1 \x3d cljs.core.__destructure_map(map__28098);\nvar mover \x3d map__28098__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28098__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28098__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28098__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2);\n});\nsketches.nature_of_code.forces.repulse_mouse.attract \x3d (function sketches$nature_of_code$forces$repulse_mouse$attract(mover,attractor){\nvar map__28119 \x3d attractor;\nvar map__28119__$1 \x3d cljs.core.__destructure_map(map__28119);\nvar loc1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28119__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar map__28120 \x3d mover;\nvar map__28120__$1 \x3d cljs.core.__destructure_map(map__28120);\nvar loc2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28120__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vectorBetween \x3d sketches.vector.sub(loc1,loc2);\nvar distanceBetween \x3d quil.core.constrain(sketches.vector.mag(vectorBetween),5.0,25.0);\nvar G \x3d 0.4;\nvar strength \x3d (((G * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(attractor)) * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(mover)) / (distanceBetween * distanceBetween));\nreturn sketches.vector.mult(sketches.vector.normalize(vectorBetween),strength);\n});\nsketches.nature_of_code.forces.repulse_mouse.repulse \x3d (function sketches$nature_of_code$forces$repulse_mouse$repulse(mover,attractor){\nvar map__28131 \x3d attractor;\nvar map__28131__$1 \x3d cljs.core.__destructure_map(map__28131);\nvar loc1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28131__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar map__28132 \x3d mover;\nvar map__28132__$1 \x3d cljs.core.__destructure_map(map__28132);\nvar loc2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28132__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar vectorBetween \x3d sketches.vector.sub(loc1,loc2);\nvar distanceBetween \x3d quil.core.constrain(sketches.vector.mag(vectorBetween),5.0,25.0);\nvar G \x3d 1.0E-4;\nvar strength \x3d (((G * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(attractor)) * new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046).cljs$core$IFn$_invoke$arity$1(mover)) / (distanceBetween * distanceBetween));\nreturn sketches.vector.mult(sketches.vector.mult(sketches.vector.normalize(vectorBetween),strength),(-1));\n});\nsketches.nature_of_code.forces.repulse_mouse.setup \x3d (function sketches$nature_of_code$forces$repulse_mouse$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((10) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rand_int((500)),cljs.core.rand_int((500))], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((0),(10)))], null);\n});\nsketches.nature_of_code.forces.repulse_mouse.update_mover \x3d (function sketches$nature_of_code$forces$repulse_mouse$update_mover(movers,mover){\nvar mouse \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),(100),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.mouse_x(),quil.core.mouse_y()], null)], null);\nreturn sketches.nature_of_code.forces.repulse_mouse.compute_position(sketches.mover.apply_force(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28155_SHARP_,p2__28156_SHARP_){\nreturn sketches.mover.apply_force(p1__28155_SHARP_,sketches.nature_of_code.forces.repulse_mouse.repulse(p1__28155_SHARP_,p2__28156_SHARP_));\n}),mover,movers),sketches.nature_of_code.forces.repulse_mouse.attract(mover,mouse)));\n});\nsketches.nature_of_code.forces.repulse_mouse.update_state \x3d (function sketches$nature_of_code$forces$repulse_mouse$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),(function (movers){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28170_SHARP_){\nreturn sketches.nature_of_code.forces.repulse_mouse.update_mover(movers,p1__28170_SHARP_);\n}),movers);\n}));\n});\nsketches.nature_of_code.forces.repulse_mouse.draw \x3d (function sketches$nature_of_code$forces$repulse_mouse$draw(p__28184){\nvar map__28186 \x3d p__28184;\nvar map__28186__$1 \x3d cljs.core.__destructure_map(map__28186);\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28186__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28190 \x3d cljs.core.seq(movers);\nvar chunk__28191 \x3d null;\nvar count__28192 \x3d (0);\nvar i__28193 \x3d (0);\nwhile(true){\nif((i__28193 \x3c count__28192)){\nvar map__28214 \x3d chunk__28191.cljs$core$IIndexed$_nth$arity$2(null,i__28193);\nvar map__28214__$1 \x3d cljs.core.__destructure_map(map__28214);\nvar vec__28215 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28214__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28215,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28215,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28214__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28236 \x3d seq__28190;\nvar G__28237 \x3d chunk__28191;\nvar G__28238 \x3d count__28192;\nvar G__28239 \x3d (i__28193 + (1));\nseq__28190 \x3d G__28236;\nchunk__28191 \x3d G__28237;\ncount__28192 \x3d G__28238;\ni__28193 \x3d G__28239;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28190);\nif(temp__5804__auto__){\nvar seq__28190__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28190__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28190__$1);\nvar G__28240 \x3d cljs.core.chunk_rest(seq__28190__$1);\nvar G__28241 \x3d c__5568__auto__;\nvar G__28242 \x3d cljs.core.count(c__5568__auto__);\nvar G__28243 \x3d (0);\nseq__28190 \x3d G__28240;\nchunk__28191 \x3d G__28241;\ncount__28192 \x3d G__28242;\ni__28193 \x3d G__28243;\ncontinue;\n} else {\nvar map__28218 \x3d cljs.core.first(seq__28190__$1);\nvar map__28218__$1 \x3d cljs.core.__destructure_map(map__28218);\nvar vec__28219 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28218__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28219,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28219,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28218__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.ellipse(x,y,mass,mass);\n\n\nvar G__28248 \x3d cljs.core.next(seq__28190__$1);\nvar G__28249 \x3d null;\nvar G__28250 \x3d (0);\nvar G__28251 \x3d (0);\nseq__28190 \x3d G__28248;\nchunk__28191 \x3d G__28249;\ncount__28192 \x3d G__28250;\ni__28193 \x3d G__28251;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.repulse_mouse.run \x3d (function sketches$nature_of_code$forces$repulse_mouse$run(host){\nsketches.nature_of_code.forces.repulse_mouse.repulse_mouse \x3d (function sketches$nature_of_code$forces$repulse_mouse$run_$_repulse_mouse(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28264__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28264 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28269__i \x3d 0, G__28269__a \x3d new Array(arguments.length - 0);\nwhile (G__28269__i \x3c G__28269__a.length) {G__28269__a[G__28269__i] \x3d arguments[G__28269__i + 0]; ++G__28269__i;}\n args \x3d new cljs.core.IndexedSeq(G__28269__a,0,null);\n} \nreturn G__28264__delegate.call(this,args);};\nG__28264.cljs$lang$maxFixedArity \x3d 0;\nG__28264.cljs$lang$applyTo \x3d (function (arglist__28275){\nvar args \x3d cljs.core.seq(arglist__28275);\nreturn G__28264__delegate(args);\n});\nG__28264.cljs$core$IFn$_invoke$arity$variadic \x3d G__28264__delegate;\nreturn G__28264;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.repulse_mouse.update_state))?(function() { \nvar G__28276__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.repulse_mouse.update_state,args);\n};\nvar G__28276 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28278__i \x3d 0, G__28278__a \x3d new Array(arguments.length - 0);\nwhile (G__28278__i \x3c G__28278__a.length) {G__28278__a[G__28278__i] \x3d arguments[G__28278__i + 0]; ++G__28278__i;}\n args \x3d new cljs.core.IndexedSeq(G__28278__a,0,null);\n} \nreturn G__28276__delegate.call(this,args);};\nG__28276.cljs$lang$maxFixedArity \x3d 0;\nG__28276.cljs$lang$applyTo \x3d (function (arglist__28279){\nvar args \x3d cljs.core.seq(arglist__28279);\nreturn G__28276__delegate(args);\n});\nG__28276.cljs$core$IFn$_invoke$arity$variadic \x3d G__28276__delegate;\nreturn G__28276;\n})()\n:sketches.nature_of_code.forces.repulse_mouse.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.repulse_mouse.setup))?(function() { \nvar G__28284__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.repulse_mouse.setup,args);\n};\nvar G__28284 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28286__i \x3d 0, G__28286__a \x3d new Array(arguments.length - 0);\nwhile (G__28286__i \x3c G__28286__a.length) {G__28286__a[G__28286__i] \x3d arguments[G__28286__i + 0]; ++G__28286__i;}\n args \x3d new cljs.core.IndexedSeq(G__28286__a,0,null);\n} \nreturn G__28284__delegate.call(this,args);};\nG__28284.cljs$lang$maxFixedArity \x3d 0;\nG__28284.cljs$lang$applyTo \x3d (function (arglist__28288){\nvar args \x3d cljs.core.seq(arglist__28288);\nreturn G__28284__delegate(args);\n});\nG__28284.cljs$core$IFn$_invoke$arity$variadic \x3d G__28284__delegate;\nreturn G__28284;\n})()\n:sketches.nature_of_code.forces.repulse_mouse.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.repulse_mouse.draw))?(function() { \nvar G__28294__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.repulse_mouse.draw,args);\n};\nvar G__28294 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28296__i \x3d 0, G__28296__a \x3d new Array(arguments.length - 0);\nwhile (G__28296__i \x3c G__28296__a.length) {G__28296__a[G__28296__i] \x3d arguments[G__28296__i + 0]; ++G__28296__i;}\n args \x3d new cljs.core.IndexedSeq(G__28296__a,0,null);\n} \nreturn G__28294__delegate.call(this,args);};\nG__28294.cljs$lang$maxFixedArity \x3d 0;\nG__28294.cljs$lang$applyTo \x3d (function (arglist__28298){\nvar args \x3d cljs.core.seq(arglist__28298);\nreturn G__28294__delegate(args);\n});\nG__28294.cljs$core$IFn$_invoke$arity$variadic \x3d G__28294__delegate;\nreturn G__28294;\n})()\n:sketches.nature_of_code.forces.repulse_mouse.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.repulse_mouse.repulse_mouse\x27, sketches.nature_of_code.forces.repulse_mouse.repulse_mouse);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.repulse_mouse.repulse_mouse,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28304__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28304 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28305__i \x3d 0, G__28305__a \x3d new Array(arguments.length - 0);\nwhile (G__28305__i \x3c G__28305__a.length) {G__28305__a[G__28305__i] \x3d arguments[G__28305__i + 0]; ++G__28305__i;}\n args \x3d new cljs.core.IndexedSeq(G__28305__a,0,null);\n} \nreturn G__28304__delegate.call(this,args);};\nG__28304.cljs$lang$maxFixedArity \x3d 0;\nG__28304.cljs$lang$applyTo \x3d (function (arglist__28307){\nvar args \x3d cljs.core.seq(arglist__28307);\nreturn G__28304__delegate(args);\n});\nG__28304.cljs$core$IFn$_invoke$arity$variadic \x3d G__28304__delegate;\nreturn G__28304;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.surface_area.js", true , "goog.provide(\x27sketches.nature_of_code.forces.surface_area\x27);\nsketches.nature_of_code.forces.surface_area.setup \x3d (function sketches$nature_of_code$forces$surface_area$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),((1) + cljs.core.rand_int((50))),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(i * (50)),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((50))),new cljs.core.Keyword(null,\x22liquid\x22,\x22liquid\x22,1322031275),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(quil.core.height() / (2))], null),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.width(),(quil.core.height() / (2))], null),new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079),0.1], null)], null);\n});\nsketches.nature_of_code.forces.surface_area.draw \x3d (function sketches$nature_of_code$forces$surface_area$draw(p__28107){\nvar map__28108 \x3d p__28107;\nvar map__28108__$1 \x3d cljs.core.__destructure_map(map__28108);\nvar movers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28108__$1,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044));\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((50),(100),(255));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(quil.core.height() / (2)),quil.core.width(),(quil.core.height() / (2)));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((255),(0),(255));\n\nvar seq__28109 \x3d cljs.core.seq(movers);\nvar chunk__28110 \x3d null;\nvar count__28111 \x3d (0);\nvar i__28112 \x3d (0);\nwhile(true){\nif((i__28112 \x3c count__28111)){\nvar map__28127 \x3d chunk__28110.cljs$core$IIndexed$_nth$arity$2(null,i__28112);\nvar map__28127__$1 \x3d cljs.core.__destructure_map(map__28127);\nvar vec__28128 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28127__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28128,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28128,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28127__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(x,(y - mass),mass,mass);\n\n\nvar G__28260 \x3d seq__28109;\nvar G__28261 \x3d chunk__28110;\nvar G__28262 \x3d count__28111;\nvar G__28263 \x3d (i__28112 + (1));\nseq__28109 \x3d G__28260;\nchunk__28110 \x3d G__28261;\ncount__28111 \x3d G__28262;\ni__28112 \x3d G__28263;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28109);\nif(temp__5804__auto__){\nvar seq__28109__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28109__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28109__$1);\nvar G__28270 \x3d cljs.core.chunk_rest(seq__28109__$1);\nvar G__28271 \x3d c__5568__auto__;\nvar G__28272 \x3d cljs.core.count(c__5568__auto__);\nvar G__28273 \x3d (0);\nseq__28109 \x3d G__28270;\nchunk__28110 \x3d G__28271;\ncount__28111 \x3d G__28272;\ni__28112 \x3d G__28273;\ncontinue;\n} else {\nvar map__28134 \x3d cljs.core.first(seq__28109__$1);\nvar map__28134__$1 \x3d cljs.core.__destructure_map(map__28134);\nvar vec__28135 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28134__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28135,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28135,(1),null);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28134__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(x,(y - mass),mass,mass);\n\n\nvar G__28290 \x3d cljs.core.next(seq__28109__$1);\nvar G__28291 \x3d null;\nvar G__28292 \x3d (0);\nvar G__28293 \x3d (0);\nseq__28109 \x3d G__28290;\nchunk__28110 \x3d G__28291;\ncount__28111 \x3d G__28292;\ni__28112 \x3d G__28293;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.forces.surface_area.compute_position \x3d (function sketches$nature_of_code$forces$surface_area$compute_position(p__28140){\nvar map__28141 \x3d p__28140;\nvar map__28141__$1 \x3d cljs.core.__destructure_map(map__28141);\nvar mover \x3d map__28141__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28141__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28141__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28141__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(mover,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2);\n});\nsketches.nature_of_code.forces.surface_area.gravity \x3d (function sketches$nature_of_code$forces$surface_area$gravity(p__28150){\nvar map__28157 \x3d p__28150;\nvar map__28157__$1 \x3d cljs.core.__destructure_map(map__28157);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28157__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0.1 * mass)], null);\n});\nsketches.nature_of_code.forces.surface_area.drag \x3d (function sketches$nature_of_code$forces$surface_area$drag(p__28163,p__28164){\nvar map__28165 \x3d p__28163;\nvar map__28165__$1 \x3d cljs.core.__destructure_map(map__28165);\nvar vec__28166 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28165__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28166,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28166,(1),null);\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28165__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28165__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar map__28169 \x3d p__28164;\nvar map__28169__$1 \x3d cljs.core.__destructure_map(map__28169);\nvar c \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28169__$1,new cljs.core.Keyword(null,\x22c\x22,\x22c\x22,-1763192079));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28169__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar speed \x3d sketches.vector.mag(velocity);\nvar drag_magnitude \x3d ((c * speed) * speed);\nvar A \x3d mass;\nif((y \x3e cljs.core.second(location__$1))){\nreturn sketches.vector.mult(sketches.vector.mult(sketches.vector.normalize(sketches.vector.mult(velocity,(-1))),drag_magnitude),A);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null);\n}\n});\nsketches.nature_of_code.forces.surface_area.update_mover \x3d (function sketches$nature_of_code$forces$surface_area$update_mover(liquid,mover){\nreturn sketches.mover.keep_inside(sketches.nature_of_code.forces.surface_area.compute_position(sketches.mover.apply_force(sketches.mover.apply_force(mover,sketches.nature_of_code.forces.surface_area.gravity(mover)),sketches.nature_of_code.forces.surface_area.drag(mover,liquid))));\n});\nsketches.nature_of_code.forces.surface_area.update_state \x3d (function sketches$nature_of_code$forces$surface_area$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22movers\x22,\x22movers\x22,-1149810044),(function (p1__28179_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.surface_area.update_mover,new cljs.core.Keyword(null,\x22liquid\x22,\x22liquid\x22,1322031275).cljs$core$IFn$_invoke$arity$1(state)),p1__28179_SHARP_);\n}));\n});\nsketches.nature_of_code.forces.surface_area.run \x3d (function sketches$nature_of_code$forces$surface_area$run(host){\nsketches.nature_of_code.forces.surface_area.surface_area \x3d (function sketches$nature_of_code$forces$surface_area$run_$_surface_area(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28330__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28330 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28331__i \x3d 0, G__28331__a \x3d new Array(arguments.length - 0);\nwhile (G__28331__i \x3c G__28331__a.length) {G__28331__a[G__28331__i] \x3d arguments[G__28331__i + 0]; ++G__28331__i;}\n args \x3d new cljs.core.IndexedSeq(G__28331__a,0,null);\n} \nreturn G__28330__delegate.call(this,args);};\nG__28330.cljs$lang$maxFixedArity \x3d 0;\nG__28330.cljs$lang$applyTo \x3d (function (arglist__28332){\nvar args \x3d cljs.core.seq(arglist__28332);\nreturn G__28330__delegate(args);\n});\nG__28330.cljs$core$IFn$_invoke$arity$variadic \x3d G__28330__delegate;\nreturn G__28330;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.surface_area.update_state))?(function() { \nvar G__28345__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.surface_area.update_state,args);\n};\nvar G__28345 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28346__i \x3d 0, G__28346__a \x3d new Array(arguments.length - 0);\nwhile (G__28346__i \x3c G__28346__a.length) {G__28346__a[G__28346__i] \x3d arguments[G__28346__i + 0]; ++G__28346__i;}\n args \x3d new cljs.core.IndexedSeq(G__28346__a,0,null);\n} \nreturn G__28345__delegate.call(this,args);};\nG__28345.cljs$lang$maxFixedArity \x3d 0;\nG__28345.cljs$lang$applyTo \x3d (function (arglist__28347){\nvar args \x3d cljs.core.seq(arglist__28347);\nreturn G__28345__delegate(args);\n});\nG__28345.cljs$core$IFn$_invoke$arity$variadic \x3d G__28345__delegate;\nreturn G__28345;\n})()\n:sketches.nature_of_code.forces.surface_area.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.surface_area.setup))?(function() { \nvar G__28359__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.surface_area.setup,args);\n};\nvar G__28359 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28360__i \x3d 0, G__28360__a \x3d new Array(arguments.length - 0);\nwhile (G__28360__i \x3c G__28360__a.length) {G__28360__a[G__28360__i] \x3d arguments[G__28360__i + 0]; ++G__28360__i;}\n args \x3d new cljs.core.IndexedSeq(G__28360__a,0,null);\n} \nreturn G__28359__delegate.call(this,args);};\nG__28359.cljs$lang$maxFixedArity \x3d 0;\nG__28359.cljs$lang$applyTo \x3d (function (arglist__28361){\nvar args \x3d cljs.core.seq(arglist__28361);\nreturn G__28359__delegate(args);\n});\nG__28359.cljs$core$IFn$_invoke$arity$variadic \x3d G__28359__delegate;\nreturn G__28359;\n})()\n:sketches.nature_of_code.forces.surface_area.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.forces.surface_area.draw))?(function() { \nvar G__28362__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.forces.surface_area.draw,args);\n};\nvar G__28362 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28363__i \x3d 0, G__28363__a \x3d new Array(arguments.length - 0);\nwhile (G__28363__i \x3c G__28363__a.length) {G__28363__a[G__28363__i] \x3d arguments[G__28363__i + 0]; ++G__28363__i;}\n args \x3d new cljs.core.IndexedSeq(G__28363__a,0,null);\n} \nreturn G__28362__delegate.call(this,args);};\nG__28362.cljs$lang$maxFixedArity \x3d 0;\nG__28362.cljs$lang$applyTo \x3d (function (arglist__28364){\nvar args \x3d cljs.core.seq(arglist__28364);\nreturn G__28362__delegate(args);\n});\nG__28362.cljs$core$IFn$_invoke$arity$variadic \x3d G__28362__delegate;\nreturn G__28362;\n})()\n:sketches.nature_of_code.forces.surface_area.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.forces.surface_area.surface_area\x27, sketches.nature_of_code.forces.surface_area.surface_area);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.forces.surface_area.surface_area,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28373__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28373 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28378__i \x3d 0, G__28378__a \x3d new Array(arguments.length - 0);\nwhile (G__28378__i \x3c G__28378__a.length) {G__28378__a[G__28378__i] \x3d arguments[G__28378__i + 0]; ++G__28378__i;}\n args \x3d new cljs.core.IndexedSeq(G__28378__a,0,null);\n} \nreturn G__28373__delegate.call(this,args);};\nG__28373.cljs$lang$maxFixedArity \x3d 0;\nG__28373.cljs$lang$applyTo \x3d (function (arglist__28379){\nvar args \x3d cljs.core.seq(arglist__28379);\nreturn G__28373__delegate(args);\n});\nG__28373.cljs$core$IFn$_invoke$arity$variadic \x3d G__28373__delegate;\nreturn G__28373;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.forces.core.js", true , "goog.provide(\x27sketches.nature_of_code.forces.core\x27);\nsketches.nature_of_code.forces.core.main \x3d (function sketches$nature_of_code$forces$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Forces\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Balloon\x22,\x22Exercise 2.1\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise1\x22,sketches.nature_of_code.forces.balloon.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Force Push\x22,\x22Exercise 2.3\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise3\x22,sketches.nature_of_code.forces.force_push.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Frictions\x22,\x22Exercise 2.4\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise4\x22,sketches.nature_of_code.forces.frictions.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Fluid\x22,\x22Exercise 2.5\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise5\x22,sketches.nature_of_code.forces.fluid.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Surface Area\x22,\x22Exercise 2.6\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise6\x22,sketches.nature_of_code.forces.surface_area.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Invisible Attractors\x22,\x22Exercise 2.8\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise8\x22,sketches.nature_of_code.forces.invisible_attractors.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Own Force\x22,\x22Exercise 2.9\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise9\x22,sketches.nature_of_code.forces.own_force.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Repulse Mouse\x22,\x22Exercise 2.10\x22,\x22https://natureofcode.com/book/chapter-2-forces#chapter02_exercise10\x22,sketches.nature_of_code.forces.repulse_mouse.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.vectors.bouncing_ball.js", true , "goog.provide(\x27sketches.nature_of_code.vectors.bouncing_ball\x27);\nsketches.nature_of_code.vectors.bouncing_ball.location \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183)],[(0),(0),(0)]));\nsketches.nature_of_code.vectors.bouncing_ball.velocity \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183)],[1.5,1.5,3.5]));\nsketches.nature_of_code.vectors.bouncing_ball.add \x3d (function sketches$nature_of_code$vectors$bouncing_ball$add(v1,v2){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183)],[(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(v1) + new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(v2)),(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(v1) + new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(v2)),(new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183).cljs$core$IFn$_invoke$arity$1(v1) + new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183).cljs$core$IFn$_invoke$arity$1(v2))]);\n});\nsketches.nature_of_code.vectors.bouncing_ball.setup \x3d (function sketches$nature_of_code$vectors$bouncing_ball$setup(){\nreturn quil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n});\nsketches.nature_of_code.vectors.bouncing_ball.draw \x3d (function sketches$nature_of_code$vectors$bouncing_ball$draw(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((127));\n\nquil.core.no_fill();\n\nquil.core.rotate_x(quil.core.THIRD_PI);\n\nquil.core.rotate_z(0.1);\n\nvar location__$1 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.bouncing_ball.location,(function (p1__28540_SHARP_){\nreturn sketches.nature_of_code.vectors.bouncing_ball.add(p1__28540_SHARP_,cljs.core.deref(sketches.nature_of_code.vectors.bouncing_ball.velocity));\n}));\nvar velocity \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.bouncing_ball.velocity,(function (p__28557){\nvar map__28563 \x3d p__28557;\nvar map__28563__$1 \x3d cljs.core.__destructure_map(map__28563);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28563__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28563__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nvar z \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28563__$1,new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183)],[(((((new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(location__$1) \x3e (125))) || ((new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(location__$1) \x3c (-125)))))?(x * (-1)):x),(((((new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(location__$1) \x3e (90))) || ((new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(location__$1) \x3c (-125)))))?(y * (-1)):y),(((((new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183).cljs$core$IFn$_invoke$arity$1(location__$1) \x3e (90))) || ((new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183).cljs$core$IFn$_invoke$arity$1(location__$1) \x3c (-125)))))?(z * (-1)):z)]);\n}));\nquil.core.box.cljs$core$IFn$_invoke$arity$1((250));\n\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(location__$1),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(location__$1),new cljs.core.Keyword(null,\x22z\x22,\x22z\x22,-789527183).cljs$core$IFn$_invoke$arity$1(location__$1));\n\nquil.core.sphere((40));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.vectors.bouncing_ball.run \x3d (function sketches$nature_of_code$vectors$bouncing_ball$run(host){\nsketches.nature_of_code.vectors.bouncing_ball.bouncing_ball \x3d (function sketches$nature_of_code$vectors$bouncing_ball$run_$_bouncing_ball(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28592__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28592 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28612__i \x3d 0, G__28612__a \x3d new Array(arguments.length - 0);\nwhile (G__28612__i \x3c G__28612__a.length) {G__28612__a[G__28612__i] \x3d arguments[G__28612__i + 0]; ++G__28612__i;}\n args \x3d new cljs.core.IndexedSeq(G__28612__a,0,null);\n} \nreturn G__28592__delegate.call(this,args);};\nG__28592.cljs$lang$maxFixedArity \x3d 0;\nG__28592.cljs$lang$applyTo \x3d (function (arglist__28657){\nvar args \x3d cljs.core.seq(arglist__28657);\nreturn G__28592__delegate(args);\n});\nG__28592.cljs$core$IFn$_invoke$arity$variadic \x3d G__28592__delegate;\nreturn G__28592;\n})()\n:host),new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(500),(500)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.bouncing_ball.setup))?(function() { \nvar G__28753__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.bouncing_ball.setup,args);\n};\nvar G__28753 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28756__i \x3d 0, G__28756__a \x3d new Array(arguments.length - 0);\nwhile (G__28756__i \x3c G__28756__a.length) {G__28756__a[G__28756__i] \x3d arguments[G__28756__i + 0]; ++G__28756__i;}\n args \x3d new cljs.core.IndexedSeq(G__28756__a,0,null);\n} \nreturn G__28753__delegate.call(this,args);};\nG__28753.cljs$lang$maxFixedArity \x3d 0;\nG__28753.cljs$lang$applyTo \x3d (function (arglist__28757){\nvar args \x3d cljs.core.seq(arglist__28757);\nreturn G__28753__delegate(args);\n});\nG__28753.cljs$core$IFn$_invoke$arity$variadic \x3d G__28753__delegate;\nreturn G__28753;\n})()\n:sketches.nature_of_code.vectors.bouncing_ball.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.bouncing_ball.draw))?(function() { \nvar G__28766__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.bouncing_ball.draw,args);\n};\nvar G__28766 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28767__i \x3d 0, G__28767__a \x3d new Array(arguments.length - 0);\nwhile (G__28767__i \x3c G__28767__a.length) {G__28767__a[G__28767__i] \x3d arguments[G__28767__i + 0]; ++G__28767__i;}\n args \x3d new cljs.core.IndexedSeq(G__28767__a,0,null);\n} \nreturn G__28766__delegate.call(this,args);};\nG__28766.cljs$lang$maxFixedArity \x3d 0;\nG__28766.cljs$lang$applyTo \x3d (function (arglist__28768){\nvar args \x3d cljs.core.seq(arglist__28768);\nreturn G__28766__delegate(args);\n});\nG__28766.cljs$core$IFn$_invoke$arity$variadic \x3d G__28766__delegate;\nreturn G__28766;\n})()\n:sketches.nature_of_code.vectors.bouncing_ball.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.vectors.bouncing_ball.bouncing_ball\x27, sketches.nature_of_code.vectors.bouncing_ball.bouncing_ball);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.vectors.bouncing_ball.bouncing_ball,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28780__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28780 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28785__i \x3d 0, G__28785__a \x3d new Array(arguments.length - 0);\nwhile (G__28785__i \x3c G__28785__a.length) {G__28785__a[G__28785__i] \x3d arguments[G__28785__i + 0]; ++G__28785__i;}\n args \x3d new cljs.core.IndexedSeq(G__28785__a,0,null);\n} \nreturn G__28780__delegate.call(this,args);};\nG__28780.cljs$lang$maxFixedArity \x3d 0;\nG__28780.cljs$lang$applyTo \x3d (function (arglist__28787){\nvar args \x3d cljs.core.seq(arglist__28787);\nreturn G__28780__delegate(args);\n});\nG__28780.cljs$core$IFn$_invoke$arity$variadic \x3d G__28780__delegate;\nreturn G__28780;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.vectors.car.js", true , "goog.provide(\x27sketches.nature_of_code.vectors.car\x27);\nsketches.nature_of_code.vectors.car.setup \x3d (function sketches$nature_of_code$vectors$car$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.ellipse_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(150),(150)], null)], null);\n});\nsketches.nature_of_code.vectors.car.move_through \x3d (function sketches$nature_of_code$vectors$car$move_through(p__28525){\nvar map__28526 \x3d p__28525;\nvar map__28526__$1 \x3d cljs.core.__destructure_map(map__28526);\nvar vehicle \x3d map__28526__$1;\nvar vec__28527 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28526__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28527,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28527,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(vehicle,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?(0):(((x \x3c (0)))?quil.core.width():x\n)),(((y \x3e quil.core.height()))?(0):(((y \x3c (0)))?quil.core.height():y\n))], null));\n});\nsketches.nature_of_code.vectors.car.update_state \x3d (function sketches$nature_of_code$vectors$car$update_state(p__28537){\nvar map__28538 \x3d p__28537;\nvar map__28538__$1 \x3d cljs.core.__destructure_map(map__28538);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28538__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28538__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28538__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nreturn sketches.nature_of_code.vectors.car.move_through(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),acceleration,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),sketches.vector.limit(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration),(10)),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration),location__$1)], null));\n});\nsketches.nature_of_code.vectors.car.draw \x3d (function sketches$nature_of_code$vectors$car$draw(p__28545){\nvar map__28548 \x3d p__28545;\nvar map__28548__$1 \x3d cljs.core.__destructure_map(map__28548);\nvar vec__28549 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28548__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28549,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28549,(1),null);\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn quil.core.ellipse(x,y,(16),(16));\n});\nsketches.nature_of_code.vectors.car.on_key_down \x3d (function sketches$nature_of_code$vectors$car$on_key_down(state,ev){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(ev),new cljs.core.Keyword(null,\x22up\x22,\x22up\x22,-269712113))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),sketches.vector.add,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.001], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(ev),new cljs.core.Keyword(null,\x22down\x22,\x22down\x22,1565245570))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),sketches.vector.add,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.001], null));\n} else {\nreturn state;\n\n}\n}\n});\nsketches.nature_of_code.vectors.car.run \x3d (function sketches$nature_of_code$vectors$car$run(host){\nsketches.nature_of_code.vectors.car.car_sketch \x3d (function sketches$nature_of_code$vectors$car$run_$_car_sketch(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28593__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28593 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28613__i \x3d 0, G__28613__a \x3d new Array(arguments.length - 0);\nwhile (G__28613__i \x3c G__28613__a.length) {G__28613__a[G__28613__i] \x3d arguments[G__28613__i + 0]; ++G__28613__i;}\n args \x3d new cljs.core.IndexedSeq(G__28613__a,0,null);\n} \nreturn G__28593__delegate.call(this,args);};\nG__28593.cljs$lang$maxFixedArity \x3d 0;\nG__28593.cljs$lang$applyTo \x3d (function (arglist__28656){\nvar args \x3d cljs.core.seq(arglist__28656);\nreturn G__28593__delegate(args);\n});\nG__28593.cljs$core$IFn$_invoke$arity$variadic \x3d G__28593__delegate;\nreturn G__28593;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.car.update_state))?(function() { \nvar G__28697__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.car.update_state,args);\n};\nvar G__28697 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28698__i \x3d 0, G__28698__a \x3d new Array(arguments.length - 0);\nwhile (G__28698__i \x3c G__28698__a.length) {G__28698__a[G__28698__i] \x3d arguments[G__28698__i + 0]; ++G__28698__i;}\n args \x3d new cljs.core.IndexedSeq(G__28698__a,0,null);\n} \nreturn G__28697__delegate.call(this,args);};\nG__28697.cljs$lang$maxFixedArity \x3d 0;\nG__28697.cljs$lang$applyTo \x3d (function (arglist__28706){\nvar args \x3d cljs.core.seq(arglist__28706);\nreturn G__28697__delegate(args);\n});\nG__28697.cljs$core$IFn$_invoke$arity$variadic \x3d G__28697__delegate;\nreturn G__28697;\n})()\n:sketches.nature_of_code.vectors.car.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.car.setup))?(function() { \nvar G__28710__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.car.setup,args);\n};\nvar G__28710 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28713__i \x3d 0, G__28713__a \x3d new Array(arguments.length - 0);\nwhile (G__28713__i \x3c G__28713__a.length) {G__28713__a[G__28713__i] \x3d arguments[G__28713__i + 0]; ++G__28713__i;}\n args \x3d new cljs.core.IndexedSeq(G__28713__a,0,null);\n} \nreturn G__28710__delegate.call(this,args);};\nG__28710.cljs$lang$maxFixedArity \x3d 0;\nG__28710.cljs$lang$applyTo \x3d (function (arglist__28714){\nvar args \x3d cljs.core.seq(arglist__28714);\nreturn G__28710__delegate(args);\n});\nG__28710.cljs$core$IFn$_invoke$arity$variadic \x3d G__28710__delegate;\nreturn G__28710;\n})()\n:sketches.nature_of_code.vectors.car.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.car.on_key_down))?(function() { \nvar G__28718__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.car.on_key_down,args);\n};\nvar G__28718 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28720__i \x3d 0, G__28720__a \x3d new Array(arguments.length - 0);\nwhile (G__28720__i \x3c G__28720__a.length) {G__28720__a[G__28720__i] \x3d arguments[G__28720__i + 0]; ++G__28720__i;}\n args \x3d new cljs.core.IndexedSeq(G__28720__a,0,null);\n} \nreturn G__28718__delegate.call(this,args);};\nG__28718.cljs$lang$maxFixedArity \x3d 0;\nG__28718.cljs$lang$applyTo \x3d (function (arglist__28722){\nvar args \x3d cljs.core.seq(arglist__28722);\nreturn G__28718__delegate(args);\n});\nG__28718.cljs$core$IFn$_invoke$arity$variadic \x3d G__28718__delegate;\nreturn G__28718;\n})()\n:sketches.nature_of_code.vectors.car.on_key_down),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.car.draw))?(function() { \nvar G__28727__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.car.draw,args);\n};\nvar G__28727 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28728__i \x3d 0, G__28728__a \x3d new Array(arguments.length - 0);\nwhile (G__28728__i \x3c G__28728__a.length) {G__28728__a[G__28728__i] \x3d arguments[G__28728__i + 0]; ++G__28728__i;}\n args \x3d new cljs.core.IndexedSeq(G__28728__a,0,null);\n} \nreturn G__28727__delegate.call(this,args);};\nG__28727.cljs$lang$maxFixedArity \x3d 0;\nG__28727.cljs$lang$applyTo \x3d (function (arglist__28729){\nvar args \x3d cljs.core.seq(arglist__28729);\nreturn G__28727__delegate(args);\n});\nG__28727.cljs$core$IFn$_invoke$arity$variadic \x3d G__28727__delegate;\nreturn G__28727;\n})()\n:sketches.nature_of_code.vectors.car.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.vectors.car.car_sketch\x27, sketches.nature_of_code.vectors.car.car_sketch);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.vectors.car.car_sketch,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28735__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28735 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28736__i \x3d 0, G__28736__a \x3d new Array(arguments.length - 0);\nwhile (G__28736__i \x3c G__28736__a.length) {G__28736__a[G__28736__i] \x3d arguments[G__28736__i + 0]; ++G__28736__i;}\n args \x3d new cljs.core.IndexedSeq(G__28736__a,0,null);\n} \nreturn G__28735__delegate.call(this,args);};\nG__28735.cljs$lang$maxFixedArity \x3d 0;\nG__28735.cljs$lang$applyTo \x3d (function (arglist__28738){\nvar args \x3d cljs.core.seq(arglist__28738);\nreturn G__28735__delegate(args);\n});\nG__28735.cljs$core$IFn$_invoke$arity$variadic \x3d G__28735__delegate;\nreturn G__28735;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.vectors.mouse_acceleration.js", true , "goog.provide(\x27sketches.nature_of_code.vectors.mouse_acceleration\x27);\nsketches.nature_of_code.vectors.mouse_acceleration.setup \x3d (function sketches$nature_of_code$vectors$mouse_acceleration$setup(){\nquil.core.ellipse_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)], null);\n});\nsketches.nature_of_code.vectors.mouse_acceleration.update_state \x3d (function sketches$nature_of_code$vectors$mouse_acceleration$update_state(p__28531){\nvar map__28536 \x3d p__28531;\nvar map__28536__$1 \x3d cljs.core.__destructure_map(map__28536);\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28536__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28536__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar distance \x3d sketches.vector.sub(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.mouse_x(),quil.core.mouse_y()], null),location__$1);\nvar acceleration \x3d sketches.vector.mult(sketches.vector.normalize(distance),(0.001 * sketches.vector.mag(distance)));\nvar velocity__$1 \x3d sketches.vector.limit(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,velocity),(5));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),acceleration,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(location__$1,velocity__$1)], null);\n});\nsketches.nature_of_code.vectors.mouse_acceleration.draw \x3d (function sketches$nature_of_code$vectors$mouse_acceleration$draw(p__28547){\nvar map__28552 \x3d p__28547;\nvar map__28552__$1 \x3d cljs.core.__destructure_map(map__28552);\nvar vec__28553 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28552__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28553,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28553,(1),null);\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((32),(32));\n\nreturn quil.core.ellipse(x,y,(32),(32));\n});\nsketches.nature_of_code.vectors.mouse_acceleration.run \x3d (function sketches$nature_of_code$vectors$mouse_acceleration$run(host){\nsketches.nature_of_code.vectors.mouse_acceleration.mouse_acceleration \x3d (function sketches$nature_of_code$vectors$mouse_acceleration$run_$_mouse_acceleration(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28594__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28594 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28614__i \x3d 0, G__28614__a \x3d new Array(arguments.length - 0);\nwhile (G__28614__i \x3c G__28614__a.length) {G__28614__a[G__28614__i] \x3d arguments[G__28614__i + 0]; ++G__28614__i;}\n args \x3d new cljs.core.IndexedSeq(G__28614__a,0,null);\n} \nreturn G__28594__delegate.call(this,args);};\nG__28594.cljs$lang$maxFixedArity \x3d 0;\nG__28594.cljs$lang$applyTo \x3d (function (arglist__28654){\nvar args \x3d cljs.core.seq(arglist__28654);\nreturn G__28594__delegate(args);\n});\nG__28594.cljs$core$IFn$_invoke$arity$variadic \x3d G__28594__delegate;\nreturn G__28594;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.mouse_acceleration.update_state))?(function() { \nvar G__28692__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.mouse_acceleration.update_state,args);\n};\nvar G__28692 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28700__i \x3d 0, G__28700__a \x3d new Array(arguments.length - 0);\nwhile (G__28700__i \x3c G__28700__a.length) {G__28700__a[G__28700__i] \x3d arguments[G__28700__i + 0]; ++G__28700__i;}\n args \x3d new cljs.core.IndexedSeq(G__28700__a,0,null);\n} \nreturn G__28692__delegate.call(this,args);};\nG__28692.cljs$lang$maxFixedArity \x3d 0;\nG__28692.cljs$lang$applyTo \x3d (function (arglist__28701){\nvar args \x3d cljs.core.seq(arglist__28701);\nreturn G__28692__delegate(args);\n});\nG__28692.cljs$core$IFn$_invoke$arity$variadic \x3d G__28692__delegate;\nreturn G__28692;\n})()\n:sketches.nature_of_code.vectors.mouse_acceleration.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.mouse_acceleration.setup))?(function() { \nvar G__28702__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.mouse_acceleration.setup,args);\n};\nvar G__28702 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28704__i \x3d 0, G__28704__a \x3d new Array(arguments.length - 0);\nwhile (G__28704__i \x3c G__28704__a.length) {G__28704__a[G__28704__i] \x3d arguments[G__28704__i + 0]; ++G__28704__i;}\n args \x3d new cljs.core.IndexedSeq(G__28704__a,0,null);\n} \nreturn G__28702__delegate.call(this,args);};\nG__28702.cljs$lang$maxFixedArity \x3d 0;\nG__28702.cljs$lang$applyTo \x3d (function (arglist__28705){\nvar args \x3d cljs.core.seq(arglist__28705);\nreturn G__28702__delegate(args);\n});\nG__28702.cljs$core$IFn$_invoke$arity$variadic \x3d G__28702__delegate;\nreturn G__28702;\n})()\n:sketches.nature_of_code.vectors.mouse_acceleration.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.mouse_acceleration.draw))?(function() { \nvar G__28707__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.mouse_acceleration.draw,args);\n};\nvar G__28707 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28709__i \x3d 0, G__28709__a \x3d new Array(arguments.length - 0);\nwhile (G__28709__i \x3c G__28709__a.length) {G__28709__a[G__28709__i] \x3d arguments[G__28709__i + 0]; ++G__28709__i;}\n args \x3d new cljs.core.IndexedSeq(G__28709__a,0,null);\n} \nreturn G__28707__delegate.call(this,args);};\nG__28707.cljs$lang$maxFixedArity \x3d 0;\nG__28707.cljs$lang$applyTo \x3d (function (arglist__28712){\nvar args \x3d cljs.core.seq(arglist__28712);\nreturn G__28707__delegate(args);\n});\nG__28707.cljs$core$IFn$_invoke$arity$variadic \x3d G__28707__delegate;\nreturn G__28707;\n})()\n:sketches.nature_of_code.vectors.mouse_acceleration.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.vectors.mouse_acceleration.mouse_acceleration\x27, sketches.nature_of_code.vectors.mouse_acceleration.mouse_acceleration);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.vectors.mouse_acceleration.mouse_acceleration,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28719__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28719 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28723__i \x3d 0, G__28723__a \x3d new Array(arguments.length - 0);\nwhile (G__28723__i \x3c G__28723__a.length) {G__28723__a[G__28723__i] \x3d arguments[G__28723__i + 0]; ++G__28723__i;}\n args \x3d new cljs.core.IndexedSeq(G__28723__a,0,null);\n} \nreturn G__28719__delegate.call(this,args);};\nG__28719.cljs$lang$maxFixedArity \x3d 0;\nG__28719.cljs$lang$applyTo \x3d (function (arglist__28724){\nvar args \x3d cljs.core.seq(arglist__28724);\nreturn G__28719__delegate(args);\n});\nG__28719.cljs$core$IFn$_invoke$arity$variadic \x3d G__28719__delegate;\nreturn G__28719;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.vectors.noise_car.js", true , "goog.provide(\x27sketches.nature_of_code.vectors.noise_car\x27);\nsketches.nature_of_code.vectors.noise_car.setup \x3d (function sketches$nature_of_code$vectors$noise_car$setup(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.ellipse_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(150),(150)], null),new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395),0.0,new cljs.core.Keyword(null,\x22yoff\x22,\x22yoff\x22,1556630335),0.0], null);\n});\nsketches.nature_of_code.vectors.noise_car.move_through \x3d (function sketches$nature_of_code$vectors$noise_car$move_through(p__28530){\nvar map__28532 \x3d p__28530;\nvar map__28532__$1 \x3d cljs.core.__destructure_map(map__28532);\nvar vehicle \x3d map__28532__$1;\nvar vec__28533 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28532__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28533,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28533,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(vehicle,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(((x \x3e quil.core.width()))?(0):(((x \x3c (0)))?quil.core.width():x\n)),(((y \x3e quil.core.height()))?(0):(((y \x3c (0)))?quil.core.height():y\n))], null));\n});\nsketches.nature_of_code.vectors.noise_car.update_state \x3d (function sketches$nature_of_code$vectors$noise_car$update_state(p__28542){\nvar map__28543 \x3d p__28542;\nvar map__28543__$1 \x3d cljs.core.__destructure_map(map__28543);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28543__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28543__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28543__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar xoff \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28543__$1,new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395));\nvar yoff \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28543__$1,new cljs.core.Keyword(null,\x22yoff\x22,\x22yoff\x22,1556630335));\nreturn sketches.nature_of_code.vectors.noise_car.move_through((function (){var acceleration__$1 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(xoff,yoff),(0),(1),-0.01,0.01)], null);\nvar velocity__$1 \x3d sketches.vector.limit(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration__$1),(10));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),acceleration__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,acceleration__$1),location__$1),new cljs.core.Keyword(null,\x22xoff\x22,\x22xoff\x22,-648027395),(xoff + 1.0E-4),new cljs.core.Keyword(null,\x22yoff\x22,\x22yoff\x22,1556630335),(yoff + 1.0E-4)], null);\n})());\n});\nsketches.nature_of_code.vectors.noise_car.draw \x3d (function sketches$nature_of_code$vectors$noise_car$draw(p__28556){\nvar map__28558 \x3d p__28556;\nvar map__28558__$1 \x3d cljs.core.__destructure_map(map__28558);\nvar vec__28559 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28558__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28559,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28559,(1),null);\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn quil.core.ellipse(x,y,(16),(16));\n});\nsketches.nature_of_code.vectors.noise_car.run \x3d (function sketches$nature_of_code$vectors$noise_car$run(host){\nsketches.nature_of_code.vectors.noise_car.car_sketch \x3d (function sketches$nature_of_code$vectors$noise_car$run_$_car_sketch(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28591__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28591 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28623__i \x3d 0, G__28623__a \x3d new Array(arguments.length - 0);\nwhile (G__28623__i \x3c G__28623__a.length) {G__28623__a[G__28623__i] \x3d arguments[G__28623__i + 0]; ++G__28623__i;}\n args \x3d new cljs.core.IndexedSeq(G__28623__a,0,null);\n} \nreturn G__28591__delegate.call(this,args);};\nG__28591.cljs$lang$maxFixedArity \x3d 0;\nG__28591.cljs$lang$applyTo \x3d (function (arglist__28653){\nvar args \x3d cljs.core.seq(arglist__28653);\nreturn G__28591__delegate(args);\n});\nG__28591.cljs$core$IFn$_invoke$arity$variadic \x3d G__28591__delegate;\nreturn G__28591;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.noise_car.update_state))?(function() { \nvar G__28691__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.noise_car.update_state,args);\n};\nvar G__28691 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28708__i \x3d 0, G__28708__a \x3d new Array(arguments.length - 0);\nwhile (G__28708__i \x3c G__28708__a.length) {G__28708__a[G__28708__i] \x3d arguments[G__28708__i + 0]; ++G__28708__i;}\n args \x3d new cljs.core.IndexedSeq(G__28708__a,0,null);\n} \nreturn G__28691__delegate.call(this,args);};\nG__28691.cljs$lang$maxFixedArity \x3d 0;\nG__28691.cljs$lang$applyTo \x3d (function (arglist__28711){\nvar args \x3d cljs.core.seq(arglist__28711);\nreturn G__28691__delegate(args);\n});\nG__28691.cljs$core$IFn$_invoke$arity$variadic \x3d G__28691__delegate;\nreturn G__28691;\n})()\n:sketches.nature_of_code.vectors.noise_car.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.noise_car.setup))?(function() { \nvar G__28715__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.noise_car.setup,args);\n};\nvar G__28715 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28716__i \x3d 0, G__28716__a \x3d new Array(arguments.length - 0);\nwhile (G__28716__i \x3c G__28716__a.length) {G__28716__a[G__28716__i] \x3d arguments[G__28716__i + 0]; ++G__28716__i;}\n args \x3d new cljs.core.IndexedSeq(G__28716__a,0,null);\n} \nreturn G__28715__delegate.call(this,args);};\nG__28715.cljs$lang$maxFixedArity \x3d 0;\nG__28715.cljs$lang$applyTo \x3d (function (arglist__28717){\nvar args \x3d cljs.core.seq(arglist__28717);\nreturn G__28715__delegate(args);\n});\nG__28715.cljs$core$IFn$_invoke$arity$variadic \x3d G__28715__delegate;\nreturn G__28715;\n})()\n:sketches.nature_of_code.vectors.noise_car.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.vectors.noise_car.draw))?(function() { \nvar G__28721__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.vectors.noise_car.draw,args);\n};\nvar G__28721 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28725__i \x3d 0, G__28725__a \x3d new Array(arguments.length - 0);\nwhile (G__28725__i \x3c G__28725__a.length) {G__28725__a[G__28725__i] \x3d arguments[G__28725__i + 0]; ++G__28725__i;}\n args \x3d new cljs.core.IndexedSeq(G__28725__a,0,null);\n} \nreturn G__28721__delegate.call(this,args);};\nG__28721.cljs$lang$maxFixedArity \x3d 0;\nG__28721.cljs$lang$applyTo \x3d (function (arglist__28726){\nvar args \x3d cljs.core.seq(arglist__28726);\nreturn G__28721__delegate(args);\n});\nG__28721.cljs$core$IFn$_invoke$arity$variadic \x3d G__28721__delegate;\nreturn G__28721;\n})()\n:sketches.nature_of_code.vectors.noise_car.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.vectors.noise_car.car_sketch\x27, sketches.nature_of_code.vectors.noise_car.car_sketch);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.vectors.noise_car.car_sketch,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28730__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28730 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28731__i \x3d 0, G__28731__a \x3d new Array(arguments.length - 0);\nwhile (G__28731__i \x3c G__28731__a.length) {G__28731__a[G__28731__i] \x3d arguments[G__28731__i + 0]; ++G__28731__i;}\n args \x3d new cljs.core.IndexedSeq(G__28731__a,0,null);\n} \nreturn G__28730__delegate.call(this,args);};\nG__28730.cljs$lang$maxFixedArity \x3d 0;\nG__28730.cljs$lang$applyTo \x3d (function (arglist__28732){\nvar args \x3d cljs.core.seq(arglist__28732);\nreturn G__28730__delegate(args);\n});\nG__28730.cljs$core$IFn$_invoke$arity$variadic \x3d G__28730__delegate;\nreturn G__28730;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.vectors.core.js", true , "goog.provide(\x27sketches.nature_of_code.vectors.core\x27);\nsketches.nature_of_code.vectors.core.main \x3d (function sketches$nature_of_code$vectors$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Vectors\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Bouncing Ball\x22,\x22Exercise 1.3\x22,\x22https://natureofcode.com/book/chapter-1-vectors#chapter01_exercise3\x22,sketches.nature_of_code.vectors.bouncing_ball.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Car\x22,\x22Exercise 1.5\x22,\x22https://natureofcode.com/book/chapter-1-vectors#chapter01_exercise5\x22,sketches.nature_of_code.vectors.car.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Noise Car\x22,\x22Exercise 1.6\x22,\x22https://natureofcode.com/book/chapter-1-vectors#chapter01_exercise6\x22,sketches.nature_of_code.vectors.noise_car.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Mouse Acceleration\x22,\x22Exercise 1.8\x22,\x22https://natureofcode.com/book/chapter-1-vectors#chapter01_exercise8\x22,sketches.nature_of_code.vectors.mouse_acceleration.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.asteroids_with_particles.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.asteroids_with_particles\x27);\nsketches.nature_of_code.particle_systems.asteroids_with_particles.setup_particle \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$setup_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1))], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),0.0,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),0.1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),0.0], null);\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.setup \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22spaceship\x22,\x22spaceship\x22,371842471),sketches.mover.create_mover((50),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null)),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY], null);\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.is_dead \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$is_dead(p__28539){\nvar map__28541 \x3d p__28539;\nvar map__28541__$1 \x3d cljs.core.__destructure_map(map__28541);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28541__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.update_particle \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$update_particle(p__28544){\nvar map__28546 \x3d p__28544;\nvar map__28546__$1 \x3d cljs.core.__destructure_map(map__28546);\nvar particle \x3d map__28546__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar aVelocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641));\nvar aAcceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28546__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nvar lifespan__$1 \x3d (lifespan - 2.0);\nvar aVelocity__$1 \x3d (aVelocity + aAcceleration);\nvar angle__$1 \x3d (aVelocity__$1 + angle);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),lifespan__$1),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),aVelocity__$1),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(aVelocity__$1 + angle__$1)),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0));\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.apply_force \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$apply_force(particle,force){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),(function (p1__28562_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__28562_SHARP_,force);\n}));\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.add_particle \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$add_particle(p__28566,particles){\nvar map__28567 \x3d p__28566;\nvar map__28567__$1 \x3d cljs.core.__destructure_map(map__28567);\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28567__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d quil.core.key_pressed_QMARK_();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(quil.core.key_as_keyword(),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.nature_of_code.particle_systems.asteroids_with_particles.setup_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((40) * quil.core.cos((angle + quil.core.PI))),((40) * quil.core.sin((angle + quil.core.PI)))], null)));\n} else {\nreturn particles;\n}\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.update_state \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$update_state(p__28578){\nvar map__28579 \x3d p__28578;\nvar map__28579__$1 \x3d cljs.core.__destructure_map(map__28579);\nvar state \x3d map__28579__$1;\nvar spaceship \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28579__$1,new cljs.core.Keyword(null,\x22spaceship\x22,\x22spaceship\x22,371842471));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28574_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.asteroids_with_particles.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.nature_of_code.particle_systems.asteroids_with_particles.update_particle(sketches.nature_of_code.particle_systems.asteroids_with_particles.apply_force(particle,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.05 * quil.core.cos((new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254).cljs$core$IFn$_invoke$arity$1(spaceship) + quil.core.PI))),(0.05 * quil.core.sin((new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254).cljs$core$IFn$_invoke$arity$1(spaceship) + quil.core.PI)))], null)));\n}),sketches.nature_of_code.particle_systems.asteroids_with_particles.add_particle(spaceship,p1__28574_SHARP_)));\n})),new cljs.core.Keyword(null,\x22spaceship\x22,\x22spaceship\x22,371842471),(function (p1__28575_SHARP_){\nreturn sketches.mover.compute_position(sketches.mover.move_through(sketches.mover.apply_force(p1__28575_SHARP_,sketches.vector.mult(new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355).cljs$core$IFn$_invoke$arity$1(p1__28575_SHARP_),-0.2))));\n}));\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw_spaceship \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$draw_spaceship(p__28580){\nvar map__28582 \x3d p__28580;\nvar map__28582__$1 \x3d cljs.core.__destructure_map(map__28582);\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28582__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.triangle((mass / (2)),(0),(- (mass / (2))),(- (mass / (2))),(- (mass / (2))),(mass / (2)));\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4(((- (mass / (2))) - (2)),(5),(5),(5));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4(((- (mass / (2))) - (2)),(-5),(5),(5));\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw_particle \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$draw_particle(p__28586){\nvar map__28587 \x3d p__28586;\nvar map__28587__$1 \x3d cljs.core.__destructure_map(map__28587);\nvar particle \x3d map__28587__$1;\nvar vec__28588 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28587__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28588,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28588,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28587__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28587__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nvar stroke__24569__auto___28626 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),lifespan], null);\nvar previous_stroke__24570__auto___28627 \x3d quil.core.current_stroke();\nif(cljs.core.sequential_QMARK_(stroke__24569__auto___28626)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.stroke,stroke__24569__auto___28626);\n} else {\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(stroke__24569__auto___28626);\n\n}\n\nvar return_val__24571__auto___28628 \x3d (function (){var fill__24561__auto__ \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(127),(0),(0),lifespan], null);\nvar previous_fill__24562__auto__ \x3d quil.core.current_fill();\nif(cljs.core.sequential_QMARK_(fill__24561__auto__)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,fill__24561__auto__);\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(fill__24561__auto__);\n\n}\n\nvar return_val__24563__auto__ \x3d quil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\nif((previous_fill__24562__auto__ \x3d\x3d null)){\nquil.core.no_fill();\n} else {\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(previous_fill__24562__auto__);\n}\n\nreturn return_val__24563__auto__;\n})();\nif((previous_stroke__24570__auto___28627 \x3d\x3d null)){\nquil.core.no_stroke();\n} else {\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1(previous_stroke__24570__auto___28627);\n}\n\n\nquil.core.pop_matrix();\n\nreturn particle;\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$draw(p__28595){\nvar map__28596 \x3d p__28595;\nvar map__28596__$1 \x3d cljs.core.__destructure_map(map__28596);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28596__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar spaceship \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28596__$1,new cljs.core.Keyword(null,\x22spaceship\x22,\x22spaceship\x22,371842471));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((126));\n\nquil.core.stroke_weight((2));\n\nvar map__28597 \x3d spaceship;\nvar map__28597__$1 \x3d cljs.core.__destructure_map(map__28597);\nvar vec__28598 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28597__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28598,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28598,(1),null);\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28597__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nvar seq__28601_28629 \x3d cljs.core.seq(particles);\nvar chunk__28602_28630 \x3d null;\nvar count__28603_28631 \x3d (0);\nvar i__28604_28632 \x3d (0);\nwhile(true){\nif((i__28604_28632 \x3c count__28603_28631)){\nvar particle_28633 \x3d chunk__28602_28630.cljs$core$IIndexed$_nth$arity$2(null,i__28604_28632);\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw_particle(particle_28633);\n\n\nvar G__28634 \x3d seq__28601_28629;\nvar G__28635 \x3d chunk__28602_28630;\nvar G__28636 \x3d count__28603_28631;\nvar G__28637 \x3d (i__28604_28632 + (1));\nseq__28601_28629 \x3d G__28634;\nchunk__28602_28630 \x3d G__28635;\ncount__28603_28631 \x3d G__28636;\ni__28604_28632 \x3d G__28637;\ncontinue;\n} else {\nvar temp__5804__auto___28638 \x3d cljs.core.seq(seq__28601_28629);\nif(temp__5804__auto___28638){\nvar seq__28601_28639__$1 \x3d temp__5804__auto___28638;\nif(cljs.core.chunked_seq_QMARK_(seq__28601_28639__$1)){\nvar c__5568__auto___28640 \x3d cljs.core.chunk_first(seq__28601_28639__$1);\nvar G__28641 \x3d cljs.core.chunk_rest(seq__28601_28639__$1);\nvar G__28642 \x3d c__5568__auto___28640;\nvar G__28643 \x3d cljs.core.count(c__5568__auto___28640);\nvar G__28644 \x3d (0);\nseq__28601_28629 \x3d G__28641;\nchunk__28602_28630 \x3d G__28642;\ncount__28603_28631 \x3d G__28643;\ni__28604_28632 \x3d G__28644;\ncontinue;\n} else {\nvar particle_28645 \x3d cljs.core.first(seq__28601_28639__$1);\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw_particle(particle_28645);\n\n\nvar G__28646 \x3d cljs.core.next(seq__28601_28639__$1);\nvar G__28647 \x3d null;\nvar G__28648 \x3d (0);\nvar G__28649 \x3d (0);\nseq__28601_28629 \x3d G__28646;\nchunk__28602_28630 \x3d G__28647;\ncount__28603_28631 \x3d G__28648;\ni__28604_28632 \x3d G__28649;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.pop_matrix();\n\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nsketches.nature_of_code.particle_systems.asteroids_with_particles.draw_spaceship(spaceship);\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.key_pressed \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$key_pressed(state,p__28606){\nvar map__28607 \x3d p__28606;\nvar map__28607__$1 \x3d cljs.core.__destructure_map(map__28607);\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28607__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22spaceship\x22,\x22spaceship\x22,371842471),(function (p1__28605_SHARP_){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22a\x22,\x22a\x22,-2123407586))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(p1__28605_SHARP_,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(function (angle){\nreturn cljs.core.mod((angle + 0.2),quil.core.TWO_PI);\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(p1__28605_SHARP_,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(function (angle){\nreturn cljs.core.mod((angle - 0.2),quil.core.TWO_PI);\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__28605_SHARP_,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.cos(new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254).cljs$core$IFn$_invoke$arity$1(p1__28605_SHARP_)),quil.core.sin(new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254).cljs$core$IFn$_invoke$arity$1(p1__28605_SHARP_))], null));\n} else {\nreturn p1__28605_SHARP_;\n\n}\n}\n}\n}));\n});\nsketches.nature_of_code.particle_systems.asteroids_with_particles.run \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$run(host){\nsketches.nature_of_code.particle_systems.asteroids_with_particles.asteroids_with_particles \x3d (function sketches$nature_of_code$particle_systems$asteroids_with_particles$run_$_asteroids_with_particles(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28650__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28650 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28651__i \x3d 0, G__28651__a \x3d new Array(arguments.length - 0);\nwhile (G__28651__i \x3c G__28651__a.length) {G__28651__a[G__28651__i] \x3d arguments[G__28651__i + 0]; ++G__28651__i;}\n args \x3d new cljs.core.IndexedSeq(G__28651__a,0,null);\n} \nreturn G__28650__delegate.call(this,args);};\nG__28650.cljs$lang$maxFixedArity \x3d 0;\nG__28650.cljs$lang$applyTo \x3d (function (arglist__28652){\nvar args \x3d cljs.core.seq(arglist__28652);\nreturn G__28650__delegate(args);\n});\nG__28650.cljs$core$IFn$_invoke$arity$variadic \x3d G__28650__delegate;\nreturn G__28650;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.asteroids_with_particles.update_state))?(function() { \nvar G__28695__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.asteroids_with_particles.update_state,args);\n};\nvar G__28695 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28696__i \x3d 0, G__28696__a \x3d new Array(arguments.length - 0);\nwhile (G__28696__i \x3c G__28696__a.length) {G__28696__a[G__28696__i] \x3d arguments[G__28696__i + 0]; ++G__28696__i;}\n args \x3d new cljs.core.IndexedSeq(G__28696__a,0,null);\n} \nreturn G__28695__delegate.call(this,args);};\nG__28695.cljs$lang$maxFixedArity \x3d 0;\nG__28695.cljs$lang$applyTo \x3d (function (arglist__28703){\nvar args \x3d cljs.core.seq(arglist__28703);\nreturn G__28695__delegate(args);\n});\nG__28695.cljs$core$IFn$_invoke$arity$variadic \x3d G__28695__delegate;\nreturn G__28695;\n})()\n:sketches.nature_of_code.particle_systems.asteroids_with_particles.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.asteroids_with_particles.setup))?(function() { \nvar G__28734__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.asteroids_with_particles.setup,args);\n};\nvar G__28734 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28737__i \x3d 0, G__28737__a \x3d new Array(arguments.length - 0);\nwhile (G__28737__i \x3c G__28737__a.length) {G__28737__a[G__28737__i] \x3d arguments[G__28737__i + 0]; ++G__28737__i;}\n args \x3d new cljs.core.IndexedSeq(G__28737__a,0,null);\n} \nreturn G__28734__delegate.call(this,args);};\nG__28734.cljs$lang$maxFixedArity \x3d 0;\nG__28734.cljs$lang$applyTo \x3d (function (arglist__28739){\nvar args \x3d cljs.core.seq(arglist__28739);\nreturn G__28734__delegate(args);\n});\nG__28734.cljs$core$IFn$_invoke$arity$variadic \x3d G__28734__delegate;\nreturn G__28734;\n})()\n:sketches.nature_of_code.particle_systems.asteroids_with_particles.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22key-pressed\x22,\x22key-pressed\x22,-757100364),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.asteroids_with_particles.key_pressed))?(function() { \nvar G__28740__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.asteroids_with_particles.key_pressed,args);\n};\nvar G__28740 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28741__i \x3d 0, G__28741__a \x3d new Array(arguments.length - 0);\nwhile (G__28741__i \x3c G__28741__a.length) {G__28741__a[G__28741__i] \x3d arguments[G__28741__i + 0]; ++G__28741__i;}\n args \x3d new cljs.core.IndexedSeq(G__28741__a,0,null);\n} \nreturn G__28740__delegate.call(this,args);};\nG__28740.cljs$lang$maxFixedArity \x3d 0;\nG__28740.cljs$lang$applyTo \x3d (function (arglist__28743){\nvar args \x3d cljs.core.seq(arglist__28743);\nreturn G__28740__delegate(args);\n});\nG__28740.cljs$core$IFn$_invoke$arity$variadic \x3d G__28740__delegate;\nreturn G__28740;\n})()\n:sketches.nature_of_code.particle_systems.asteroids_with_particles.key_pressed),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.asteroids_with_particles.draw))?(function() { \nvar G__28752__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.asteroids_with_particles.draw,args);\n};\nvar G__28752 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28754__i \x3d 0, G__28754__a \x3d new Array(arguments.length - 0);\nwhile (G__28754__i \x3c G__28754__a.length) {G__28754__a[G__28754__i] \x3d arguments[G__28754__i + 0]; ++G__28754__i;}\n args \x3d new cljs.core.IndexedSeq(G__28754__a,0,null);\n} \nreturn G__28752__delegate.call(this,args);};\nG__28752.cljs$lang$maxFixedArity \x3d 0;\nG__28752.cljs$lang$applyTo \x3d (function (arglist__28755){\nvar args \x3d cljs.core.seq(arglist__28755);\nreturn G__28752__delegate(args);\n});\nG__28752.cljs$core$IFn$_invoke$arity$variadic \x3d G__28752__delegate;\nreturn G__28752;\n})()\n:sketches.nature_of_code.particle_systems.asteroids_with_particles.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.asteroids_with_particles.asteroids_with_particles\x27, sketches.nature_of_code.particle_systems.asteroids_with_particles.asteroids_with_particles);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.asteroids_with_particles.asteroids_with_particles,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28773__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28773 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28778__i \x3d 0, G__28778__a \x3d new Array(arguments.length - 0);\nwhile (G__28778__i \x3c G__28778__a.length) {G__28778__a[G__28778__i] \x3d arguments[G__28778__i + 0]; ++G__28778__i;}\n args \x3d new cljs.core.IndexedSeq(G__28778__a,0,null);\n} \nreturn G__28773__delegate.call(this,args);};\nG__28773.cljs$lang$maxFixedArity \x3d 0;\nG__28773.cljs$lang$applyTo \x3d (function (arglist__28779){\nvar args \x3d cljs.core.seq(arglist__28779);\nreturn G__28773__delegate(args);\n});\nG__28773.cljs$core$IFn$_invoke$arity$variadic \x3d G__28773__delegate;\nreturn G__28773;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.dynamic_origin.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.dynamic_origin\x27);\nsketches.nature_of_code.particle_systems.dynamic_origin.create_particle \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$create_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1))], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),0.0,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),0.1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),0.0], null);\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.update_particle \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$update_particle(p__28564){\nvar map__28565 \x3d p__28564;\nvar map__28565__$1 \x3d cljs.core.__destructure_map(map__28565);\nvar particle \x3d map__28565__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar aVelocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641));\nvar aAcceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28565__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nvar lifespan__$1 \x3d (lifespan - 2.0);\nvar aVelocity__$1 \x3d (aVelocity + aAcceleration);\nvar angle__$1 \x3d (aVelocity__$1 + angle);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),lifespan__$1),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),aVelocity__$1),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(aVelocity__$1 + angle__$1)),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0));\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.apply_force \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$apply_force(particle,force){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),(function (p1__28568_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__28568_SHARP_,force);\n}));\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.display \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$display(p__28569){\nvar map__28570 \x3d p__28569;\nvar map__28570__$1 \x3d cljs.core.__destructure_map(map__28570);\nvar particle \x3d map__28570__$1;\nvar vec__28571 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28570__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28571,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28571,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28570__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28570__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$4((127),(0),(0),lifespan);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nquil.core.pop_matrix();\n\nreturn particle;\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.is_dead \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$is_dead(p__28576){\nvar map__28577 \x3d p__28576;\nvar map__28577__$1 \x3d cljs.core.__destructure_map(map__28577);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28577__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.setup \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$setup(){\nreturn cljs.core.List.EMPTY;\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.update_state \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$update_state(particles){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.dynamic_origin.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.nature_of_code.particle_systems.dynamic_origin.apply_force(sketches.nature_of_code.particle_systems.dynamic_origin.update_particle(particle),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.1], null));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.nature_of_code.particle_systems.dynamic_origin.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.mouse_x(),quil.core.mouse_y()], null)))));\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.draw \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$draw(particles){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28581 \x3d cljs.core.seq(particles);\nvar chunk__28583 \x3d null;\nvar count__28584 \x3d (0);\nvar i__28585 \x3d (0);\nwhile(true){\nif((i__28585 \x3c count__28584)){\nvar particle \x3d chunk__28583.cljs$core$IIndexed$_nth$arity$2(null,i__28585);\nsketches.nature_of_code.particle_systems.dynamic_origin.display(particle);\n\n\nvar G__28608 \x3d seq__28581;\nvar G__28609 \x3d chunk__28583;\nvar G__28610 \x3d count__28584;\nvar G__28611 \x3d (i__28585 + (1));\nseq__28581 \x3d G__28608;\nchunk__28583 \x3d G__28609;\ncount__28584 \x3d G__28610;\ni__28585 \x3d G__28611;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28581);\nif(temp__5804__auto__){\nvar seq__28581__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28581__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28581__$1);\nvar G__28615 \x3d cljs.core.chunk_rest(seq__28581__$1);\nvar G__28616 \x3d c__5568__auto__;\nvar G__28617 \x3d cljs.core.count(c__5568__auto__);\nvar G__28618 \x3d (0);\nseq__28581 \x3d G__28615;\nchunk__28583 \x3d G__28616;\ncount__28584 \x3d G__28617;\ni__28585 \x3d G__28618;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28581__$1);\nsketches.nature_of_code.particle_systems.dynamic_origin.display(particle);\n\n\nvar G__28619 \x3d cljs.core.next(seq__28581__$1);\nvar G__28620 \x3d null;\nvar G__28621 \x3d (0);\nvar G__28622 \x3d (0);\nseq__28581 \x3d G__28619;\nchunk__28583 \x3d G__28620;\ncount__28584 \x3d G__28621;\ni__28585 \x3d G__28622;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.dynamic_origin.run \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$run(host){\nsketches.nature_of_code.particle_systems.dynamic_origin.dynamic_origin \x3d (function sketches$nature_of_code$particle_systems$dynamic_origin$run_$_dynamic_origin(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28624__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28624 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28625__i \x3d 0, G__28625__a \x3d new Array(arguments.length - 0);\nwhile (G__28625__i \x3c G__28625__a.length) {G__28625__a[G__28625__i] \x3d arguments[G__28625__i + 0]; ++G__28625__i;}\n args \x3d new cljs.core.IndexedSeq(G__28625__a,0,null);\n} \nreturn G__28624__delegate.call(this,args);};\nG__28624.cljs$lang$maxFixedArity \x3d 0;\nG__28624.cljs$lang$applyTo \x3d (function (arglist__28655){\nvar args \x3d cljs.core.seq(arglist__28655);\nreturn G__28624__delegate(args);\n});\nG__28624.cljs$core$IFn$_invoke$arity$variadic \x3d G__28624__delegate;\nreturn G__28624;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.dynamic_origin.update_state))?(function() { \nvar G__28693__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.dynamic_origin.update_state,args);\n};\nvar G__28693 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28694__i \x3d 0, G__28694__a \x3d new Array(arguments.length - 0);\nwhile (G__28694__i \x3c G__28694__a.length) {G__28694__a[G__28694__i] \x3d arguments[G__28694__i + 0]; ++G__28694__i;}\n args \x3d new cljs.core.IndexedSeq(G__28694__a,0,null);\n} \nreturn G__28693__delegate.call(this,args);};\nG__28693.cljs$lang$maxFixedArity \x3d 0;\nG__28693.cljs$lang$applyTo \x3d (function (arglist__28699){\nvar args \x3d cljs.core.seq(arglist__28699);\nreturn G__28693__delegate(args);\n});\nG__28693.cljs$core$IFn$_invoke$arity$variadic \x3d G__28693__delegate;\nreturn G__28693;\n})()\n:sketches.nature_of_code.particle_systems.dynamic_origin.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.dynamic_origin.setup))?(function() { \nvar G__28733__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.dynamic_origin.setup,args);\n};\nvar G__28733 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28742__i \x3d 0, G__28742__a \x3d new Array(arguments.length - 0);\nwhile (G__28742__i \x3c G__28742__a.length) {G__28742__a[G__28742__i] \x3d arguments[G__28742__i + 0]; ++G__28742__i;}\n args \x3d new cljs.core.IndexedSeq(G__28742__a,0,null);\n} \nreturn G__28733__delegate.call(this,args);};\nG__28733.cljs$lang$maxFixedArity \x3d 0;\nG__28733.cljs$lang$applyTo \x3d (function (arglist__28744){\nvar args \x3d cljs.core.seq(arglist__28744);\nreturn G__28733__delegate(args);\n});\nG__28733.cljs$core$IFn$_invoke$arity$variadic \x3d G__28733__delegate;\nreturn G__28733;\n})()\n:sketches.nature_of_code.particle_systems.dynamic_origin.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.dynamic_origin.draw))?(function() { \nvar G__28745__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.dynamic_origin.draw,args);\n};\nvar G__28745 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28750__i \x3d 0, G__28750__a \x3d new Array(arguments.length - 0);\nwhile (G__28750__i \x3c G__28750__a.length) {G__28750__a[G__28750__i] \x3d arguments[G__28750__i + 0]; ++G__28750__i;}\n args \x3d new cljs.core.IndexedSeq(G__28750__a,0,null);\n} \nreturn G__28745__delegate.call(this,args);};\nG__28745.cljs$lang$maxFixedArity \x3d 0;\nG__28745.cljs$lang$applyTo \x3d (function (arglist__28751){\nvar args \x3d cljs.core.seq(arglist__28751);\nreturn G__28745__delegate(args);\n});\nG__28745.cljs$core$IFn$_invoke$arity$variadic \x3d G__28745__delegate;\nreturn G__28745;\n})()\n:sketches.nature_of_code.particle_systems.dynamic_origin.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.dynamic_origin.dynamic_origin\x27, sketches.nature_of_code.particle_systems.dynamic_origin.dynamic_origin);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.dynamic_origin.dynamic_origin,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28799__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28799 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28818__i \x3d 0, G__28818__a \x3d new Array(arguments.length - 0);\nwhile (G__28818__i \x3c G__28818__a.length) {G__28818__a[G__28818__i] \x3d arguments[G__28818__i + 0]; ++G__28818__i;}\n args \x3d new cljs.core.IndexedSeq(G__28818__a,0,null);\n} \nreturn G__28799__delegate.call(this,args);};\nG__28799.cljs$lang$maxFixedArity \x3d 0;\nG__28799.cljs$lang$applyTo \x3d (function (arglist__28819){\nvar args \x3d cljs.core.seq(arglist__28819);\nreturn G__28799__delegate(args);\n});\nG__28799.cljs$core$IFn$_invoke$arity$variadic \x3d G__28799__delegate;\nreturn G__28799;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.fire.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.fire\x27);\nsketches.nature_of_code.particle_systems.fire.setup \x3d (function sketches$nature_of_code$particle_systems$fire$setup(){\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(150),(200)], null)], null);\n});\nsketches.nature_of_code.particle_systems.fire.create_particle \x3d (function sketches$nature_of_code$particle_systems$fire$create_particle(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((10),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.3),((quil.core.random_gaussian() * 0.4) - 1.0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0], 0));\n});\nsketches.nature_of_code.particle_systems.fire.is_dead \x3d (function sketches$nature_of_code$particle_systems$fire$is_dead(p__28658){\nvar map__28660 \x3d p__28658;\nvar map__28660__$1 \x3d cljs.core.__destructure_map(map__28660);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28660__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.fire.update_lifespan \x3d (function sketches$nature_of_code$particle_systems$fire$update_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.fire.update_state \x3d (function sketches$nature_of_code$particle_systems$fire$update_state(ps){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(ps,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28664_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28664_SHARP_,sketches.nature_of_code.particle_systems.fire.create_particle(new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps)));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28665_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28665_SHARP_,sketches.nature_of_code.particle_systems.fire.create_particle(new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps)));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28666_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire.update_lifespan,sketches.mover.update_mover),p1__28666_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28667_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire.is_dead,p1__28667_SHARP_);\n}));\n});\nsketches.nature_of_code.particle_systems.fire.draw_particle \x3d (function sketches$nature_of_code$particle_systems$fire$draw_particle(p__28669){\nvar map__28670 \x3d p__28669;\nvar map__28670__$1 \x3d cljs.core.__destructure_map(map__28670);\nvar vec__28671 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28670__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28671,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28671,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28670__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22rgb\x22,\x22rgb\x22,1432123467));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(quil.core.color.cljs$core$IFn$_invoke$arity$4((255),(24),(0),lifespan));\n\nreturn quil.core.ellipse(x,y,quil.core.map_range(lifespan,(0),(255),(0),(24)),quil.core.map_range(lifespan,(0),(255),(0),(24)));\n});\nsketches.nature_of_code.particle_systems.fire.draw \x3d (function sketches$nature_of_code$particle_systems$fire$draw(p__28680){\nvar map__28682 \x3d p__28680;\nvar map__28682__$1 \x3d cljs.core.__destructure_map(map__28682);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28682__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((0));\n\nvar seq__28683 \x3d cljs.core.seq(particles);\nvar chunk__28684 \x3d null;\nvar count__28685 \x3d (0);\nvar i__28686 \x3d (0);\nwhile(true){\nif((i__28686 \x3c count__28685)){\nvar particle \x3d chunk__28684.cljs$core$IIndexed$_nth$arity$2(null,i__28686);\nsketches.nature_of_code.particle_systems.fire.draw_particle(particle);\n\n\nvar G__28762 \x3d seq__28683;\nvar G__28763 \x3d chunk__28684;\nvar G__28764 \x3d count__28685;\nvar G__28765 \x3d (i__28686 + (1));\nseq__28683 \x3d G__28762;\nchunk__28684 \x3d G__28763;\ncount__28685 \x3d G__28764;\ni__28686 \x3d G__28765;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28683);\nif(temp__5804__auto__){\nvar seq__28683__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28683__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28683__$1);\nvar G__28774 \x3d cljs.core.chunk_rest(seq__28683__$1);\nvar G__28775 \x3d c__5568__auto__;\nvar G__28776 \x3d cljs.core.count(c__5568__auto__);\nvar G__28777 \x3d (0);\nseq__28683 \x3d G__28774;\nchunk__28684 \x3d G__28775;\ncount__28685 \x3d G__28776;\ni__28686 \x3d G__28777;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28683__$1);\nsketches.nature_of_code.particle_systems.fire.draw_particle(particle);\n\n\nvar G__28781 \x3d cljs.core.next(seq__28683__$1);\nvar G__28782 \x3d null;\nvar G__28783 \x3d (0);\nvar G__28784 \x3d (0);\nseq__28683 \x3d G__28781;\nchunk__28684 \x3d G__28782;\ncount__28685 \x3d G__28783;\ni__28686 \x3d G__28784;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.fire.run \x3d (function sketches$nature_of_code$particle_systems$fire$run(host){\nsketches.nature_of_code.particle_systems.fire.fire \x3d (function sketches$nature_of_code$particle_systems$fire$run_$_fire(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28792__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28792 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28794__i \x3d 0, G__28794__a \x3d new Array(arguments.length - 0);\nwhile (G__28794__i \x3c G__28794__a.length) {G__28794__a[G__28794__i] \x3d arguments[G__28794__i + 0]; ++G__28794__i;}\n args \x3d new cljs.core.IndexedSeq(G__28794__a,0,null);\n} \nreturn G__28792__delegate.call(this,args);};\nG__28792.cljs$lang$maxFixedArity \x3d 0;\nG__28792.cljs$lang$applyTo \x3d (function (arglist__28795){\nvar args \x3d cljs.core.seq(arglist__28795);\nreturn G__28792__delegate(args);\n});\nG__28792.cljs$core$IFn$_invoke$arity$variadic \x3d G__28792__delegate;\nreturn G__28792;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire.update_state))?(function() { \nvar G__28797__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire.update_state,args);\n};\nvar G__28797 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28803__i \x3d 0, G__28803__a \x3d new Array(arguments.length - 0);\nwhile (G__28803__i \x3c G__28803__a.length) {G__28803__a[G__28803__i] \x3d arguments[G__28803__i + 0]; ++G__28803__i;}\n args \x3d new cljs.core.IndexedSeq(G__28803__a,0,null);\n} \nreturn G__28797__delegate.call(this,args);};\nG__28797.cljs$lang$maxFixedArity \x3d 0;\nG__28797.cljs$lang$applyTo \x3d (function (arglist__28805){\nvar args \x3d cljs.core.seq(arglist__28805);\nreturn G__28797__delegate(args);\n});\nG__28797.cljs$core$IFn$_invoke$arity$variadic \x3d G__28797__delegate;\nreturn G__28797;\n})()\n:sketches.nature_of_code.particle_systems.fire.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire.setup))?(function() { \nvar G__28809__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire.setup,args);\n};\nvar G__28809 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28810__i \x3d 0, G__28810__a \x3d new Array(arguments.length - 0);\nwhile (G__28810__i \x3c G__28810__a.length) {G__28810__a[G__28810__i] \x3d arguments[G__28810__i + 0]; ++G__28810__i;}\n args \x3d new cljs.core.IndexedSeq(G__28810__a,0,null);\n} \nreturn G__28809__delegate.call(this,args);};\nG__28809.cljs$lang$maxFixedArity \x3d 0;\nG__28809.cljs$lang$applyTo \x3d (function (arglist__28811){\nvar args \x3d cljs.core.seq(arglist__28811);\nreturn G__28809__delegate(args);\n});\nG__28809.cljs$core$IFn$_invoke$arity$variadic \x3d G__28809__delegate;\nreturn G__28809;\n})()\n:sketches.nature_of_code.particle_systems.fire.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire.draw))?(function() { \nvar G__28812__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire.draw,args);\n};\nvar G__28812 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28813__i \x3d 0, G__28813__a \x3d new Array(arguments.length - 0);\nwhile (G__28813__i \x3c G__28813__a.length) {G__28813__a[G__28813__i] \x3d arguments[G__28813__i + 0]; ++G__28813__i;}\n args \x3d new cljs.core.IndexedSeq(G__28813__a,0,null);\n} \nreturn G__28812__delegate.call(this,args);};\nG__28812.cljs$lang$maxFixedArity \x3d 0;\nG__28812.cljs$lang$applyTo \x3d (function (arglist__28814){\nvar args \x3d cljs.core.seq(arglist__28814);\nreturn G__28812__delegate(args);\n});\nG__28812.cljs$core$IFn$_invoke$arity$variadic \x3d G__28812__delegate;\nreturn G__28812;\n})()\n:sketches.nature_of_code.particle_systems.fire.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.fire.fire\x27, sketches.nature_of_code.particle_systems.fire.fire);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.fire.fire,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28815__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28815 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28816__i \x3d 0, G__28816__a \x3d new Array(arguments.length - 0);\nwhile (G__28816__i \x3c G__28816__a.length) {G__28816__a[G__28816__i] \x3d arguments[G__28816__i + 0]; ++G__28816__i;}\n args \x3d new cljs.core.IndexedSeq(G__28816__a,0,null);\n} \nreturn G__28815__delegate.call(this,args);};\nG__28815.cljs$lang$maxFixedArity \x3d 0;\nG__28815.cljs$lang$applyTo \x3d (function (arglist__28817){\nvar args \x3d cljs.core.seq(arglist__28817);\nreturn G__28815__delegate(args);\n});\nG__28815.cljs$core$IFn$_invoke$arity$variadic \x3d G__28815__delegate;\nreturn G__28815;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.fire_blend.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.fire_blend\x27);\nsketches.nature_of_code.particle_systems.fire_blend.setup \x3d (function sketches$nature_of_code$particle_systems$fire_blend$setup(){\nquil.core.image_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),quil.core.load_image(\x22images/texture-white.png\x22)], null);\n});\nsketches.nature_of_code.particle_systems.fire_blend.create_texture \x3d (function sketches$nature_of_code$particle_systems$fire_blend$create_texture(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((10),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.8),(quil.core.random_gaussian() - 1.0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0], 0));\n});\nsketches.nature_of_code.particle_systems.fire_blend.is_dead \x3d (function sketches$nature_of_code$particle_systems$fire_blend$is_dead(p__28659){\nvar map__28661 \x3d p__28659;\nvar map__28661__$1 \x3d cljs.core.__destructure_map(map__28661);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28661__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.fire_blend.apply_force \x3d (function sketches$nature_of_code$particle_systems$fire_blend$apply_force(force,p__28662){\nvar map__28663 \x3d p__28662;\nvar map__28663__$1 \x3d cljs.core.__destructure_map(map__28663);\nvar particle \x3d map__28663__$1;\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28663__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28663__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,sketches.vector.div(force,mass)));\n});\nsketches.nature_of_code.particle_systems.fire_blend.dec_lifespan \x3d (function sketches$nature_of_code$particle_systems$fire_blend$dec_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.fire_blend.update_state \x3d (function sketches$nature_of_code$particle_systems$fire_blend$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28668_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_blend.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.mover.compute_position,sketches.nature_of_code.particle_systems.fire_blend.dec_lifespan),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28668_SHARP_,sketches.nature_of_code.particle_systems.fire_blend.create_texture(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(100)], null)))));\n}));\n});\nsketches.nature_of_code.particle_systems.fire_blend.draw_particle \x3d (function sketches$nature_of_code$particle_systems$fire_blend$draw_particle(p__28674,image){\nvar map__28675 \x3d p__28674;\nvar map__28675__$1 \x3d cljs.core.__destructure_map(map__28675);\nvar vec__28676 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28675__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28676,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28676,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28675__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.tint.cljs$core$IFn$_invoke$arity$3(lifespan,(255),(255));\n\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$5(image,x,y,quil.core.map_range(lifespan,(255),(0),(100),(0)),quil.core.map_range(lifespan,(255),(0),(100),(0)));\n});\nsketches.nature_of_code.particle_systems.fire_blend.draw \x3d (function sketches$nature_of_code$particle_systems$fire_blend$draw(p__28679){\nvar map__28681 \x3d p__28679;\nvar map__28681__$1 \x3d cljs.core.__destructure_map(map__28681);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28681__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar image \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28681__$1,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096));\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22exclusion\x22,\x22exclusion\x22,531897910));\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nvar seq__28687 \x3d cljs.core.seq(particles);\nvar chunk__28688 \x3d null;\nvar count__28689 \x3d (0);\nvar i__28690 \x3d (0);\nwhile(true){\nif((i__28690 \x3c count__28689)){\nvar particle \x3d chunk__28688.cljs$core$IIndexed$_nth$arity$2(null,i__28690);\nsketches.nature_of_code.particle_systems.fire_blend.draw_particle(particle,image);\n\n\nvar G__28746 \x3d seq__28687;\nvar G__28747 \x3d chunk__28688;\nvar G__28748 \x3d count__28689;\nvar G__28749 \x3d (i__28690 + (1));\nseq__28687 \x3d G__28746;\nchunk__28688 \x3d G__28747;\ncount__28689 \x3d G__28748;\ni__28690 \x3d G__28749;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28687);\nif(temp__5804__auto__){\nvar seq__28687__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28687__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28687__$1);\nvar G__28758 \x3d cljs.core.chunk_rest(seq__28687__$1);\nvar G__28759 \x3d c__5568__auto__;\nvar G__28760 \x3d cljs.core.count(c__5568__auto__);\nvar G__28761 \x3d (0);\nseq__28687 \x3d G__28758;\nchunk__28688 \x3d G__28759;\ncount__28689 \x3d G__28760;\ni__28690 \x3d G__28761;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28687__$1);\nsketches.nature_of_code.particle_systems.fire_blend.draw_particle(particle,image);\n\n\nvar G__28769 \x3d cljs.core.next(seq__28687__$1);\nvar G__28770 \x3d null;\nvar G__28771 \x3d (0);\nvar G__28772 \x3d (0);\nseq__28687 \x3d G__28769;\nchunk__28688 \x3d G__28770;\ncount__28689 \x3d G__28771;\ni__28690 \x3d G__28772;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.fire_blend.run \x3d (function sketches$nature_of_code$particle_systems$fire_blend$run(host){\nsketches.nature_of_code.particle_systems.fire_blend.fire_blend \x3d (function sketches$nature_of_code$particle_systems$fire_blend$run_$_fire_blend(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28786__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28786 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28788__i \x3d 0, G__28788__a \x3d new Array(arguments.length - 0);\nwhile (G__28788__i \x3c G__28788__a.length) {G__28788__a[G__28788__i] \x3d arguments[G__28788__i + 0]; ++G__28788__i;}\n args \x3d new cljs.core.IndexedSeq(G__28788__a,0,null);\n} \nreturn G__28786__delegate.call(this,args);};\nG__28786.cljs$lang$maxFixedArity \x3d 0;\nG__28786.cljs$lang$applyTo \x3d (function (arglist__28789){\nvar args \x3d cljs.core.seq(arglist__28789);\nreturn G__28786__delegate(args);\n});\nG__28786.cljs$core$IFn$_invoke$arity$variadic \x3d G__28786__delegate;\nreturn G__28786;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_blend.update_state))?(function() { \nvar G__28790__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_blend.update_state,args);\n};\nvar G__28790 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28791__i \x3d 0, G__28791__a \x3d new Array(arguments.length - 0);\nwhile (G__28791__i \x3c G__28791__a.length) {G__28791__a[G__28791__i] \x3d arguments[G__28791__i + 0]; ++G__28791__i;}\n args \x3d new cljs.core.IndexedSeq(G__28791__a,0,null);\n} \nreturn G__28790__delegate.call(this,args);};\nG__28790.cljs$lang$maxFixedArity \x3d 0;\nG__28790.cljs$lang$applyTo \x3d (function (arglist__28793){\nvar args \x3d cljs.core.seq(arglist__28793);\nreturn G__28790__delegate(args);\n});\nG__28790.cljs$core$IFn$_invoke$arity$variadic \x3d G__28790__delegate;\nreturn G__28790;\n})()\n:sketches.nature_of_code.particle_systems.fire_blend.update_state),new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_blend.setup))?(function() { \nvar G__28796__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_blend.setup,args);\n};\nvar G__28796 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28798__i \x3d 0, G__28798__a \x3d new Array(arguments.length - 0);\nwhile (G__28798__i \x3c G__28798__a.length) {G__28798__a[G__28798__i] \x3d arguments[G__28798__i + 0]; ++G__28798__i;}\n args \x3d new cljs.core.IndexedSeq(G__28798__a,0,null);\n} \nreturn G__28796__delegate.call(this,args);};\nG__28796.cljs$lang$maxFixedArity \x3d 0;\nG__28796.cljs$lang$applyTo \x3d (function (arglist__28800){\nvar args \x3d cljs.core.seq(arglist__28800);\nreturn G__28796__delegate(args);\n});\nG__28796.cljs$core$IFn$_invoke$arity$variadic \x3d G__28796__delegate;\nreturn G__28796;\n})()\n:sketches.nature_of_code.particle_systems.fire_blend.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_blend.draw))?(function() { \nvar G__28801__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_blend.draw,args);\n};\nvar G__28801 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28802__i \x3d 0, G__28802__a \x3d new Array(arguments.length - 0);\nwhile (G__28802__i \x3c G__28802__a.length) {G__28802__a[G__28802__i] \x3d arguments[G__28802__i + 0]; ++G__28802__i;}\n args \x3d new cljs.core.IndexedSeq(G__28802__a,0,null);\n} \nreturn G__28801__delegate.call(this,args);};\nG__28801.cljs$lang$maxFixedArity \x3d 0;\nG__28801.cljs$lang$applyTo \x3d (function (arglist__28804){\nvar args \x3d cljs.core.seq(arglist__28804);\nreturn G__28801__delegate(args);\n});\nG__28801.cljs$core$IFn$_invoke$arity$variadic \x3d G__28801__delegate;\nreturn G__28801;\n})()\n:sketches.nature_of_code.particle_systems.fire_blend.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.fire_blend.fire_blend\x27, sketches.nature_of_code.particle_systems.fire_blend.fire_blend);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.fire_blend.fire_blend,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28806__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28806 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28807__i \x3d 0, G__28807__a \x3d new Array(arguments.length - 0);\nwhile (G__28807__i \x3c G__28807__a.length) {G__28807__a[G__28807__i] \x3d arguments[G__28807__i + 0]; ++G__28807__i;}\n args \x3d new cljs.core.IndexedSeq(G__28807__a,0,null);\n} \nreturn G__28806__delegate.call(this,args);};\nG__28806.cljs$lang$maxFixedArity \x3d 0;\nG__28806.cljs$lang$applyTo \x3d (function (arglist__28808){\nvar args \x3d cljs.core.seq(arglist__28808);\nreturn G__28806__delegate(args);\n});\nG__28806.cljs$core$IFn$_invoke$arity$variadic \x3d G__28806__delegate;\nreturn G__28806;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.fire_rainbow.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.fire_rainbow\x27);\nsketches.nature_of_code.particle_systems.fire_rainbow.setup \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$setup(){\nquil.core.image_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),quil.core.load_image(\x22images/texture-white.png\x22)], null);\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.create_texture \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$create_texture(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((10),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.8),(quil.core.random_gaussian() - 1.0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0], 0));\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.is_dead \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$is_dead(p__28870){\nvar map__28872 \x3d p__28870;\nvar map__28872__$1 \x3d cljs.core.__destructure_map(map__28872);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28872__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.apply_force \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$apply_force(force,p__28875){\nvar map__28876 \x3d p__28875;\nvar map__28876__$1 \x3d cljs.core.__destructure_map(map__28876);\nvar particle \x3d map__28876__$1;\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28876__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28876__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,sketches.vector.div(force,mass)));\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.dec_lifespan \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$dec_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.update_state \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28882_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_rainbow.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.mover.compute_position,sketches.nature_of_code.particle_systems.fire_rainbow.dec_lifespan),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28882_SHARP_,sketches.nature_of_code.particle_systems.fire_rainbow.create_texture(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(100)], null)))));\n}));\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.draw_particle \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$draw_particle(p__28918,image){\nvar map__28924 \x3d p__28918;\nvar map__28924__$1 \x3d cljs.core.__destructure_map(map__28924);\nvar vec__28925 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28924__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28925,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28925,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28924__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.tint.cljs$core$IFn$_invoke$arity$3(lifespan,(255),(255));\n\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$5(image,x,y,quil.core.map_range(lifespan,(255),(0),(100),(0)),quil.core.map_range(lifespan,(255),(0),(100),(0)));\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.draw \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$draw(p__28928){\nvar map__28929 \x3d p__28928;\nvar map__28929__$1 \x3d cljs.core.__destructure_map(map__28929);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28929__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar image \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28929__$1,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096));\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nvar seq__28967 \x3d cljs.core.seq(particles);\nvar chunk__28968 \x3d null;\nvar count__28969 \x3d (0);\nvar i__28970 \x3d (0);\nwhile(true){\nif((i__28970 \x3c count__28969)){\nvar particle \x3d chunk__28968.cljs$core$IIndexed$_nth$arity$2(null,i__28970);\nsketches.nature_of_code.particle_systems.fire_rainbow.draw_particle(particle,image);\n\n\nvar G__29013 \x3d seq__28967;\nvar G__29014 \x3d chunk__28968;\nvar G__29015 \x3d count__28969;\nvar G__29016 \x3d (i__28970 + (1));\nseq__28967 \x3d G__29013;\nchunk__28968 \x3d G__29014;\ncount__28969 \x3d G__29015;\ni__28970 \x3d G__29016;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28967);\nif(temp__5804__auto__){\nvar seq__28967__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28967__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28967__$1);\nvar G__29017 \x3d cljs.core.chunk_rest(seq__28967__$1);\nvar G__29018 \x3d c__5568__auto__;\nvar G__29019 \x3d cljs.core.count(c__5568__auto__);\nvar G__29020 \x3d (0);\nseq__28967 \x3d G__29017;\nchunk__28968 \x3d G__29018;\ncount__28969 \x3d G__29019;\ni__28970 \x3d G__29020;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28967__$1);\nsketches.nature_of_code.particle_systems.fire_rainbow.draw_particle(particle,image);\n\n\nvar G__29021 \x3d cljs.core.next(seq__28967__$1);\nvar G__29022 \x3d null;\nvar G__29023 \x3d (0);\nvar G__29024 \x3d (0);\nseq__28967 \x3d G__29021;\nchunk__28968 \x3d G__29022;\ncount__28969 \x3d G__29023;\ni__28970 \x3d G__29024;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.fire_rainbow.run \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$run(host){\nsketches.nature_of_code.particle_systems.fire_rainbow.rainbow_fire \x3d (function sketches$nature_of_code$particle_systems$fire_rainbow$run_$_rainbow_fire(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29025__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29025 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29026__i \x3d 0, G__29026__a \x3d new Array(arguments.length - 0);\nwhile (G__29026__i \x3c G__29026__a.length) {G__29026__a[G__29026__i] \x3d arguments[G__29026__i + 0]; ++G__29026__i;}\n args \x3d new cljs.core.IndexedSeq(G__29026__a,0,null);\n} \nreturn G__29025__delegate.call(this,args);};\nG__29025.cljs$lang$maxFixedArity \x3d 0;\nG__29025.cljs$lang$applyTo \x3d (function (arglist__29027){\nvar args \x3d cljs.core.seq(arglist__29027);\nreturn G__29025__delegate(args);\n});\nG__29025.cljs$core$IFn$_invoke$arity$variadic \x3d G__29025__delegate;\nreturn G__29025;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_rainbow.update_state))?(function() { \nvar G__29028__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_rainbow.update_state,args);\n};\nvar G__29028 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29029__i \x3d 0, G__29029__a \x3d new Array(arguments.length - 0);\nwhile (G__29029__i \x3c G__29029__a.length) {G__29029__a[G__29029__i] \x3d arguments[G__29029__i + 0]; ++G__29029__i;}\n args \x3d new cljs.core.IndexedSeq(G__29029__a,0,null);\n} \nreturn G__29028__delegate.call(this,args);};\nG__29028.cljs$lang$maxFixedArity \x3d 0;\nG__29028.cljs$lang$applyTo \x3d (function (arglist__29030){\nvar args \x3d cljs.core.seq(arglist__29030);\nreturn G__29028__delegate(args);\n});\nG__29028.cljs$core$IFn$_invoke$arity$variadic \x3d G__29028__delegate;\nreturn G__29028;\n})()\n:sketches.nature_of_code.particle_systems.fire_rainbow.update_state),new cljs.core.Keyword(null,\x22renderer\x22,\x22renderer\x22,336841071),new cljs.core.Keyword(null,\x22p3d\x22,\x22p3d\x22,-850380194),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_rainbow.setup))?(function() { \nvar G__29031__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_rainbow.setup,args);\n};\nvar G__29031 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29032__i \x3d 0, G__29032__a \x3d new Array(arguments.length - 0);\nwhile (G__29032__i \x3c G__29032__a.length) {G__29032__a[G__29032__i] \x3d arguments[G__29032__i + 0]; ++G__29032__i;}\n args \x3d new cljs.core.IndexedSeq(G__29032__a,0,null);\n} \nreturn G__29031__delegate.call(this,args);};\nG__29031.cljs$lang$maxFixedArity \x3d 0;\nG__29031.cljs$lang$applyTo \x3d (function (arglist__29033){\nvar args \x3d cljs.core.seq(arglist__29033);\nreturn G__29031__delegate(args);\n});\nG__29031.cljs$core$IFn$_invoke$arity$variadic \x3d G__29031__delegate;\nreturn G__29031;\n})()\n:sketches.nature_of_code.particle_systems.fire_rainbow.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.fire_rainbow.draw))?(function() { \nvar G__29034__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.fire_rainbow.draw,args);\n};\nvar G__29034 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29035__i \x3d 0, G__29035__a \x3d new Array(arguments.length - 0);\nwhile (G__29035__i \x3c G__29035__a.length) {G__29035__a[G__29035__i] \x3d arguments[G__29035__i + 0]; ++G__29035__i;}\n args \x3d new cljs.core.IndexedSeq(G__29035__a,0,null);\n} \nreturn G__29034__delegate.call(this,args);};\nG__29034.cljs$lang$maxFixedArity \x3d 0;\nG__29034.cljs$lang$applyTo \x3d (function (arglist__29036){\nvar args \x3d cljs.core.seq(arglist__29036);\nreturn G__29034__delegate(args);\n});\nG__29034.cljs$core$IFn$_invoke$arity$variadic \x3d G__29034__delegate;\nreturn G__29034;\n})()\n:sketches.nature_of_code.particle_systems.fire_rainbow.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.fire_rainbow.rainbow_fire\x27, sketches.nature_of_code.particle_systems.fire_rainbow.rainbow_fire);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.fire_rainbow.rainbow_fire,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29037__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29037 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29038__i \x3d 0, G__29038__a \x3d new Array(arguments.length - 0);\nwhile (G__29038__i \x3c G__29038__a.length) {G__29038__a[G__29038__i] \x3d arguments[G__29038__i + 0]; ++G__29038__i;}\n args \x3d new cljs.core.IndexedSeq(G__29038__a,0,null);\n} \nreturn G__29037__delegate.call(this,args);};\nG__29037.cljs$lang$maxFixedArity \x3d 0;\nG__29037.cljs$lang$applyTo \x3d (function (arglist__29039){\nvar args \x3d cljs.core.seq(arglist__29039);\nreturn G__29037__delegate(args);\n});\nG__29037.cljs$core$IFn$_invoke$arity$variadic \x3d G__29037__delegate;\nreturn G__29037;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.mixed_particles.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.mixed_particles\x27);\nsketches.nature_of_code.particle_systems.mixed_particles.setup \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null)], null);\n});\nsketches.nature_of_code.particle_systems.mixed_particles.create_particle \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$create_particle(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(sketches.mover.create_mover((100),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (2))], null)),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.05], null)),new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),0.1),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255));\n});\nsketches.nature_of_code.particle_systems.mixed_particles.create_confetti \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$create_confetti(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(sketches.nature_of_code.particle_systems.mixed_particles.create_particle(location),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145));\n});\nif((typeof sketches !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.mixed_particles !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.mixed_particles.draw_particle !\x3d\x3d \x27undefined\x27)){\n} else {\nsketches.nature_of_code.particle_systems.mixed_particles.draw_particle \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__28844 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__28844.cljs$core$IFn$_invoke$arity$0 ? fexpr__28844.cljs$core$IFn$_invoke$arity$0() : fexpr__28844.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sketches.nature-of-code.particle-systems.mixed-particles\x22,\x22draw-particle\x22),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\nsketches.nature_of_code.particle_systems.mixed_particles.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145),(function (p__28874){\nvar map__28877 \x3d p__28874;\nvar map__28877__$1 \x3d cljs.core.__destructure_map(map__28877);\nvar particle \x3d map__28877__$1;\nvar vec__28878 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28877__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28878,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28878,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28877__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28877__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((175),lifespan);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nquil.core.pop_matrix();\n\nreturn particle;\n}));\nsketches.nature_of_code.particle_systems.mixed_particles.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (p__28889){\nvar map__28890 \x3d p__28889;\nvar map__28890__$1 \x3d cljs.core.__destructure_map(map__28890);\nvar particle \x3d map__28890__$1;\nvar vec__28891 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28890__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28891,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28891,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28890__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.ellipse(x,y,(8),(8));\n\nreturn particle;\n}));\nsketches.nature_of_code.particle_systems.mixed_particles.is_dead \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$is_dead(p__29040){\nvar map__29097 \x3d p__29040;\nvar map__29097__$1 \x3d cljs.core.__destructure_map(map__29097);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29097__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.mixed_particles.decrease_lifespan \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$decrease_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.mixed_particles.update_state \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$update_state(p__29119){\nvar map__29120 \x3d p__29119;\nvar map__29120__$1 \x3d cljs.core.__destructure_map(map__29120);\nvar ps \x3d map__29120__$1;\nvar origin \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29120__$1,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(ps,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29109_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__29109_SHARP_,(((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3e 0.5))?sketches.nature_of_code.particle_systems.mixed_particles.create_particle(origin):sketches.nature_of_code.particle_systems.mixed_particles.create_confetti(origin)));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29110_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.mover.compute_position,sketches.nature_of_code.particle_systems.mixed_particles.decrease_lifespan),p1__29110_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29111_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.mixed_particles.is_dead,p1__29111_SHARP_);\n}));\n});\nsketches.nature_of_code.particle_systems.mixed_particles.draw \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$draw(p__29130){\nvar map__29131 \x3d p__29130;\nvar map__29131__$1 \x3d cljs.core.__destructure_map(map__29131);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29131__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__29132 \x3d cljs.core.seq(particles);\nvar chunk__29133 \x3d null;\nvar count__29134 \x3d (0);\nvar i__29135 \x3d (0);\nwhile(true){\nif((i__29135 \x3c count__29134)){\nvar particle \x3d chunk__29133.cljs$core$IIndexed$_nth$arity$2(null,i__29135);\nsketches.nature_of_code.particle_systems.mixed_particles.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29156 \x3d seq__29132;\nvar G__29157 \x3d chunk__29133;\nvar G__29158 \x3d count__29134;\nvar G__29159 \x3d (i__29135 + (1));\nseq__29132 \x3d G__29156;\nchunk__29133 \x3d G__29157;\ncount__29134 \x3d G__29158;\ni__29135 \x3d G__29159;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__29132);\nif(temp__5804__auto__){\nvar seq__29132__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__29132__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__29132__$1);\nvar G__29160 \x3d cljs.core.chunk_rest(seq__29132__$1);\nvar G__29161 \x3d c__5568__auto__;\nvar G__29162 \x3d cljs.core.count(c__5568__auto__);\nvar G__29163 \x3d (0);\nseq__29132 \x3d G__29160;\nchunk__29133 \x3d G__29161;\ncount__29134 \x3d G__29162;\ni__29135 \x3d G__29163;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__29132__$1);\nsketches.nature_of_code.particle_systems.mixed_particles.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29164 \x3d cljs.core.next(seq__29132__$1);\nvar G__29165 \x3d null;\nvar G__29166 \x3d (0);\nvar G__29167 \x3d (0);\nseq__29132 \x3d G__29164;\nchunk__29133 \x3d G__29165;\ncount__29134 \x3d G__29166;\ni__29135 \x3d G__29167;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.mixed_particles.run \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$run(host){\nsketches.nature_of_code.particle_systems.mixed_particles.mixed_particles \x3d (function sketches$nature_of_code$particle_systems$mixed_particles$run_$_mixed_particles(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29168__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29168 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29169__i \x3d 0, G__29169__a \x3d new Array(arguments.length - 0);\nwhile (G__29169__i \x3c G__29169__a.length) {G__29169__a[G__29169__i] \x3d arguments[G__29169__i + 0]; ++G__29169__i;}\n args \x3d new cljs.core.IndexedSeq(G__29169__a,0,null);\n} \nreturn G__29168__delegate.call(this,args);};\nG__29168.cljs$lang$maxFixedArity \x3d 0;\nG__29168.cljs$lang$applyTo \x3d (function (arglist__29170){\nvar args \x3d cljs.core.seq(arglist__29170);\nreturn G__29168__delegate(args);\n});\nG__29168.cljs$core$IFn$_invoke$arity$variadic \x3d G__29168__delegate;\nreturn G__29168;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.mixed_particles.update_state))?(function() { \nvar G__29171__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.mixed_particles.update_state,args);\n};\nvar G__29171 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29172__i \x3d 0, G__29172__a \x3d new Array(arguments.length - 0);\nwhile (G__29172__i \x3c G__29172__a.length) {G__29172__a[G__29172__i] \x3d arguments[G__29172__i + 0]; ++G__29172__i;}\n args \x3d new cljs.core.IndexedSeq(G__29172__a,0,null);\n} \nreturn G__29171__delegate.call(this,args);};\nG__29171.cljs$lang$maxFixedArity \x3d 0;\nG__29171.cljs$lang$applyTo \x3d (function (arglist__29173){\nvar args \x3d cljs.core.seq(arglist__29173);\nreturn G__29171__delegate(args);\n});\nG__29171.cljs$core$IFn$_invoke$arity$variadic \x3d G__29171__delegate;\nreturn G__29171;\n})()\n:sketches.nature_of_code.particle_systems.mixed_particles.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.mixed_particles.setup))?(function() { \nvar G__29174__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.mixed_particles.setup,args);\n};\nvar G__29174 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29176__i \x3d 0, G__29176__a \x3d new Array(arguments.length - 0);\nwhile (G__29176__i \x3c G__29176__a.length) {G__29176__a[G__29176__i] \x3d arguments[G__29176__i + 0]; ++G__29176__i;}\n args \x3d new cljs.core.IndexedSeq(G__29176__a,0,null);\n} \nreturn G__29174__delegate.call(this,args);};\nG__29174.cljs$lang$maxFixedArity \x3d 0;\nG__29174.cljs$lang$applyTo \x3d (function (arglist__29177){\nvar args \x3d cljs.core.seq(arglist__29177);\nreturn G__29174__delegate(args);\n});\nG__29174.cljs$core$IFn$_invoke$arity$variadic \x3d G__29174__delegate;\nreturn G__29174;\n})()\n:sketches.nature_of_code.particle_systems.mixed_particles.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.mixed_particles.draw))?(function() { \nvar G__29178__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.mixed_particles.draw,args);\n};\nvar G__29178 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29179__i \x3d 0, G__29179__a \x3d new Array(arguments.length - 0);\nwhile (G__29179__i \x3c G__29179__a.length) {G__29179__a[G__29179__i] \x3d arguments[G__29179__i + 0]; ++G__29179__i;}\n args \x3d new cljs.core.IndexedSeq(G__29179__a,0,null);\n} \nreturn G__29178__delegate.call(this,args);};\nG__29178.cljs$lang$maxFixedArity \x3d 0;\nG__29178.cljs$lang$applyTo \x3d (function (arglist__29180){\nvar args \x3d cljs.core.seq(arglist__29180);\nreturn G__29178__delegate(args);\n});\nG__29178.cljs$core$IFn$_invoke$arity$variadic \x3d G__29178__delegate;\nreturn G__29178;\n})()\n:sketches.nature_of_code.particle_systems.mixed_particles.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.mixed_particles.mixed_particles\x27, sketches.nature_of_code.particle_systems.mixed_particles.mixed_particles);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.mixed_particles.mixed_particles,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29181__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29181 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29182__i \x3d 0, G__29182__a \x3d new Array(arguments.length - 0);\nwhile (G__29182__i \x3c G__29182__a.length) {G__29182__a[G__29182__i] \x3d arguments[G__29182__i + 0]; ++G__29182__i;}\n args \x3d new cljs.core.IndexedSeq(G__29182__a,0,null);\n} \nreturn G__29181__delegate.call(this,args);};\nG__29181.cljs$lang$maxFixedArity \x3d 0;\nG__29181.cljs$lang$applyTo \x3d (function (arglist__29183){\nvar args \x3d cljs.core.seq(arglist__29183);\nreturn G__29181__delegate(args);\n});\nG__29181.cljs$core$IFn$_invoke$arity$variadic \x3d G__29181__delegate;\nreturn G__29181;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.particle_force.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.particle_force\x27);\nsketches.nature_of_code.particle_systems.particle_force.create_particle \x3d (function sketches$nature_of_code$particle_systems$particle_force$create_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (2))], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.05], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0], null);\n});\nsketches.nature_of_code.particle_systems.particle_force.update_particle \x3d (function sketches$nature_of_code$particle_systems$particle_force$update_particle(p__28860){\nvar map__28861 \x3d p__28860;\nvar map__28861__$1 \x3d cljs.core.__destructure_map(map__28861);\nvar particle \x3d map__28861__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28861__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28861__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28861__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28861__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nvar lifespan__$1 \x3d (lifespan - 2.0);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),lifespan__$1);\n});\nsketches.nature_of_code.particle_systems.particle_force.apply_force \x3d (function sketches$nature_of_code$particle_systems$particle_force$apply_force(particle,force){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),(function (p1__28864_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__28864_SHARP_,force);\n}));\n});\nsketches.nature_of_code.particle_systems.particle_force.display \x3d (function sketches$nature_of_code$particle_systems$particle_force$display(p__28865){\nvar map__28866 \x3d p__28865;\nvar map__28866__$1 \x3d cljs.core.__destructure_map(map__28866);\nvar vec__28867 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28866__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28867,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28867,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28866__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nreturn quil.core.ellipse(x,y,(8),(8));\n});\nsketches.nature_of_code.particle_systems.particle_force.is_dead \x3d (function sketches$nature_of_code$particle_systems$particle_force$is_dead(p__28871){\nvar map__28873 \x3d p__28871;\nvar map__28873__$1 \x3d cljs.core.__destructure_map(map__28873);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28873__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.particle_force.setup \x3d (function sketches$nature_of_code$particle_systems$particle_force$setup(){\nreturn sketches.nature_of_code.particle_systems.particle_force.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n});\nsketches.nature_of_code.particle_systems.particle_force.update_state \x3d (function sketches$nature_of_code$particle_systems$particle_force$update_state(particle){\nif(sketches.nature_of_code.particle_systems.particle_force.is_dead(particle)){\nreturn sketches.nature_of_code.particle_systems.particle_force.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n} else {\nreturn sketches.nature_of_code.particle_systems.particle_force.update_particle(sketches.nature_of_code.particle_systems.particle_force.apply_force(particle,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [-0.01,0.01], null)));\n}\n});\nsketches.nature_of_code.particle_systems.particle_force.draw \x3d (function sketches$nature_of_code$particle_systems$particle_force$draw(particle){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nreturn sketches.nature_of_code.particle_systems.particle_force.display(particle);\n});\nsketches.nature_of_code.particle_systems.particle_force.run \x3d (function sketches$nature_of_code$particle_systems$particle_force$run(host){\nsketches.nature_of_code.particle_systems.particle_force.particle_force \x3d (function sketches$nature_of_code$particle_systems$particle_force$run_$_particle_force(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28978__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28978 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28979__i \x3d 0, G__28979__a \x3d new Array(arguments.length - 0);\nwhile (G__28979__i \x3c G__28979__a.length) {G__28979__a[G__28979__i] \x3d arguments[G__28979__i + 0]; ++G__28979__i;}\n args \x3d new cljs.core.IndexedSeq(G__28979__a,0,null);\n} \nreturn G__28978__delegate.call(this,args);};\nG__28978.cljs$lang$maxFixedArity \x3d 0;\nG__28978.cljs$lang$applyTo \x3d (function (arglist__28981){\nvar args \x3d cljs.core.seq(arglist__28981);\nreturn G__28978__delegate(args);\n});\nG__28978.cljs$core$IFn$_invoke$arity$variadic \x3d G__28978__delegate;\nreturn G__28978;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particle_force.update_state))?(function() { \nvar G__28984__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particle_force.update_state,args);\n};\nvar G__28984 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28985__i \x3d 0, G__28985__a \x3d new Array(arguments.length - 0);\nwhile (G__28985__i \x3c G__28985__a.length) {G__28985__a[G__28985__i] \x3d arguments[G__28985__i + 0]; ++G__28985__i;}\n args \x3d new cljs.core.IndexedSeq(G__28985__a,0,null);\n} \nreturn G__28984__delegate.call(this,args);};\nG__28984.cljs$lang$maxFixedArity \x3d 0;\nG__28984.cljs$lang$applyTo \x3d (function (arglist__28986){\nvar args \x3d cljs.core.seq(arglist__28986);\nreturn G__28984__delegate(args);\n});\nG__28984.cljs$core$IFn$_invoke$arity$variadic \x3d G__28984__delegate;\nreturn G__28984;\n})()\n:sketches.nature_of_code.particle_systems.particle_force.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particle_force.setup))?(function() { \nvar G__28988__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particle_force.setup,args);\n};\nvar G__28988 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28991__i \x3d 0, G__28991__a \x3d new Array(arguments.length - 0);\nwhile (G__28991__i \x3c G__28991__a.length) {G__28991__a[G__28991__i] \x3d arguments[G__28991__i + 0]; ++G__28991__i;}\n args \x3d new cljs.core.IndexedSeq(G__28991__a,0,null);\n} \nreturn G__28988__delegate.call(this,args);};\nG__28988.cljs$lang$maxFixedArity \x3d 0;\nG__28988.cljs$lang$applyTo \x3d (function (arglist__28992){\nvar args \x3d cljs.core.seq(arglist__28992);\nreturn G__28988__delegate(args);\n});\nG__28988.cljs$core$IFn$_invoke$arity$variadic \x3d G__28988__delegate;\nreturn G__28988;\n})()\n:sketches.nature_of_code.particle_systems.particle_force.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particle_force.draw))?(function() { \nvar G__28993__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particle_force.draw,args);\n};\nvar G__28993 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28995__i \x3d 0, G__28995__a \x3d new Array(arguments.length - 0);\nwhile (G__28995__i \x3c G__28995__a.length) {G__28995__a[G__28995__i] \x3d arguments[G__28995__i + 0]; ++G__28995__i;}\n args \x3d new cljs.core.IndexedSeq(G__28995__a,0,null);\n} \nreturn G__28993__delegate.call(this,args);};\nG__28993.cljs$lang$maxFixedArity \x3d 0;\nG__28993.cljs$lang$applyTo \x3d (function (arglist__28996){\nvar args \x3d cljs.core.seq(arglist__28996);\nreturn G__28993__delegate(args);\n});\nG__28993.cljs$core$IFn$_invoke$arity$variadic \x3d G__28993__delegate;\nreturn G__28993;\n})()\n:sketches.nature_of_code.particle_systems.particle_force.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.particle_force.particle_force\x27, sketches.nature_of_code.particle_systems.particle_force.particle_force);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.particle_force.particle_force,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28999__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28999 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29000__i \x3d 0, G__29000__a \x3d new Array(arguments.length - 0);\nwhile (G__29000__i \x3c G__29000__a.length) {G__29000__a[G__29000__i] \x3d arguments[G__29000__i + 0]; ++G__29000__i;}\n args \x3d new cljs.core.IndexedSeq(G__29000__a,0,null);\n} \nreturn G__28999__delegate.call(this,args);};\nG__28999.cljs$lang$maxFixedArity \x3d 0;\nG__28999.cljs$lang$applyTo \x3d (function (arglist__29004){\nvar args \x3d cljs.core.seq(arglist__29004);\nreturn G__28999__delegate(args);\n});\nG__28999.cljs$core$IFn$_invoke$arity$variadic \x3d G__28999__delegate;\nreturn G__28999;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.particles_on_click.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.particles_on_click\x27);\nsketches.nature_of_code.particle_systems.particles_on_click.create_particle \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$create_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1))], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),0.0,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),0.1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),0.0], null);\n});\nsketches.nature_of_code.particle_systems.particles_on_click.setup \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$setup(){\nreturn cljs.core.List.EMPTY;\n});\nsketches.nature_of_code.particle_systems.particles_on_click.update_particle \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$update_particle(p__28862){\nvar map__28863 \x3d p__28862;\nvar map__28863__$1 \x3d cljs.core.__destructure_map(map__28863);\nvar particle \x3d map__28863__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar aVelocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641));\nvar aAcceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28863__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nvar lifespan__$1 \x3d (lifespan - 2.0);\nvar aVelocity__$1 \x3d (aVelocity + aAcceleration);\nvar angle__$1 \x3d (aVelocity__$1 + angle);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),lifespan__$1),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),aVelocity__$1),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(aVelocity__$1 + angle__$1)),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0));\n});\nsketches.nature_of_code.particle_systems.particles_on_click.is_dead \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$is_dead(p__28881){\nvar map__28883 \x3d p__28881;\nvar map__28883__$1 \x3d cljs.core.__destructure_map(map__28883);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28883__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.particles_on_click.update_particle_system \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$update_particle_system(p__28884){\nvar map__28885 \x3d p__28884;\nvar map__28885__$1 \x3d cljs.core.__destructure_map(map__28885);\nvar particle_system \x3d map__28885__$1;\nvar vec__28886 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28885__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28886,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28886,(1),null);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28885__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28885__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(particle_system,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),(count - (1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (){var particles__$1 \x3d (((count \x3e (1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.nature_of_code.particle_systems.particles_on_click.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null))):particles);\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.update_particle,particles__$1));\n})()], 0));\n});\nsketches.nature_of_code.particle_systems.particles_on_click.create_particle_system \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$create_particle_system(x,y,count){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null),new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),count,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.PersistentVector.EMPTY], null);\n});\nsketches.nature_of_code.particle_systems.particles_on_click.update_state \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$update_state(particle_systems){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.update_particle_system,particle_systems);\n});\nsketches.nature_of_code.particle_systems.particles_on_click.draw_particle \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$draw_particle(p__28900){\nvar map__28901 \x3d p__28900;\nvar map__28901__$1 \x3d cljs.core.__destructure_map(map__28901);\nvar vec__28902 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28901__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28902,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28902,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28901__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28901__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$4((127),(0),(0),lifespan);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nreturn quil.core.pop_matrix();\n});\nsketches.nature_of_code.particle_systems.particles_on_click.draw \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$draw(particle_systems){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28910 \x3d cljs.core.seq(particle_systems);\nvar chunk__28911 \x3d null;\nvar count__28912 \x3d (0);\nvar i__28913 \x3d (0);\nwhile(true){\nif((i__28913 \x3c count__28912)){\nvar particle_system \x3d chunk__28911.cljs$core$IIndexed$_nth$arity$2(null,i__28913);\nvar seq__29005_29043 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788).cljs$core$IFn$_invoke$arity$1(particle_system));\nvar chunk__29006_29044 \x3d null;\nvar count__29007_29045 \x3d (0);\nvar i__29008_29046 \x3d (0);\nwhile(true){\nif((i__29008_29046 \x3c count__29007_29045)){\nvar particle_29047 \x3d chunk__29006_29044.cljs$core$IIndexed$_nth$arity$2(null,i__29008_29046);\nsketches.nature_of_code.particle_systems.particles_on_click.draw_particle(particle_29047);\n\n\nvar G__29048 \x3d seq__29005_29043;\nvar G__29049 \x3d chunk__29006_29044;\nvar G__29050 \x3d count__29007_29045;\nvar G__29051 \x3d (i__29008_29046 + (1));\nseq__29005_29043 \x3d G__29048;\nchunk__29006_29044 \x3d G__29049;\ncount__29007_29045 \x3d G__29050;\ni__29008_29046 \x3d G__29051;\ncontinue;\n} else {\nvar temp__5804__auto___29052 \x3d cljs.core.seq(seq__29005_29043);\nif(temp__5804__auto___29052){\nvar seq__29005_29053__$1 \x3d temp__5804__auto___29052;\nif(cljs.core.chunked_seq_QMARK_(seq__29005_29053__$1)){\nvar c__5568__auto___29054 \x3d cljs.core.chunk_first(seq__29005_29053__$1);\nvar G__29055 \x3d cljs.core.chunk_rest(seq__29005_29053__$1);\nvar G__29056 \x3d c__5568__auto___29054;\nvar G__29057 \x3d cljs.core.count(c__5568__auto___29054);\nvar G__29058 \x3d (0);\nseq__29005_29043 \x3d G__29055;\nchunk__29006_29044 \x3d G__29056;\ncount__29007_29045 \x3d G__29057;\ni__29008_29046 \x3d G__29058;\ncontinue;\n} else {\nvar particle_29059 \x3d cljs.core.first(seq__29005_29053__$1);\nsketches.nature_of_code.particle_systems.particles_on_click.draw_particle(particle_29059);\n\n\nvar G__29060 \x3d cljs.core.next(seq__29005_29053__$1);\nvar G__29061 \x3d null;\nvar G__29062 \x3d (0);\nvar G__29063 \x3d (0);\nseq__29005_29043 \x3d G__29060;\nchunk__29006_29044 \x3d G__29061;\ncount__29007_29045 \x3d G__29062;\ni__29008_29046 \x3d G__29063;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__29064 \x3d seq__28910;\nvar G__29065 \x3d chunk__28911;\nvar G__29066 \x3d count__28912;\nvar G__29067 \x3d (i__28913 + (1));\nseq__28910 \x3d G__29064;\nchunk__28911 \x3d G__29065;\ncount__28912 \x3d G__29066;\ni__28913 \x3d G__29067;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28910);\nif(temp__5804__auto__){\nvar seq__28910__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28910__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28910__$1);\nvar G__29068 \x3d cljs.core.chunk_rest(seq__28910__$1);\nvar G__29069 \x3d c__5568__auto__;\nvar G__29070 \x3d cljs.core.count(c__5568__auto__);\nvar G__29071 \x3d (0);\nseq__28910 \x3d G__29068;\nchunk__28911 \x3d G__29069;\ncount__28912 \x3d G__29070;\ni__28913 \x3d G__29071;\ncontinue;\n} else {\nvar particle_system \x3d cljs.core.first(seq__28910__$1);\nvar seq__29009_29072 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788).cljs$core$IFn$_invoke$arity$1(particle_system));\nvar chunk__29010_29073 \x3d null;\nvar count__29011_29074 \x3d (0);\nvar i__29012_29075 \x3d (0);\nwhile(true){\nif((i__29012_29075 \x3c count__29011_29074)){\nvar particle_29076 \x3d chunk__29010_29073.cljs$core$IIndexed$_nth$arity$2(null,i__29012_29075);\nsketches.nature_of_code.particle_systems.particles_on_click.draw_particle(particle_29076);\n\n\nvar G__29077 \x3d seq__29009_29072;\nvar G__29078 \x3d chunk__29010_29073;\nvar G__29079 \x3d count__29011_29074;\nvar G__29080 \x3d (i__29012_29075 + (1));\nseq__29009_29072 \x3d G__29077;\nchunk__29010_29073 \x3d G__29078;\ncount__29011_29074 \x3d G__29079;\ni__29012_29075 \x3d G__29080;\ncontinue;\n} else {\nvar temp__5804__auto___29081__$1 \x3d cljs.core.seq(seq__29009_29072);\nif(temp__5804__auto___29081__$1){\nvar seq__29009_29082__$1 \x3d temp__5804__auto___29081__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__29009_29082__$1)){\nvar c__5568__auto___29083 \x3d cljs.core.chunk_first(seq__29009_29082__$1);\nvar G__29084 \x3d cljs.core.chunk_rest(seq__29009_29082__$1);\nvar G__29085 \x3d c__5568__auto___29083;\nvar G__29086 \x3d cljs.core.count(c__5568__auto___29083);\nvar G__29087 \x3d (0);\nseq__29009_29072 \x3d G__29084;\nchunk__29010_29073 \x3d G__29085;\ncount__29011_29074 \x3d G__29086;\ni__29012_29075 \x3d G__29087;\ncontinue;\n} else {\nvar particle_29088 \x3d cljs.core.first(seq__29009_29082__$1);\nsketches.nature_of_code.particle_systems.particles_on_click.draw_particle(particle_29088);\n\n\nvar G__29089 \x3d cljs.core.next(seq__29009_29082__$1);\nvar G__29090 \x3d null;\nvar G__29091 \x3d (0);\nvar G__29092 \x3d (0);\nseq__29009_29072 \x3d G__29089;\nchunk__29010_29073 \x3d G__29090;\ncount__29011_29074 \x3d G__29091;\ni__29012_29075 \x3d G__29092;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__29093 \x3d cljs.core.next(seq__28910__$1);\nvar G__29094 \x3d null;\nvar G__29095 \x3d (0);\nvar G__29096 \x3d (0);\nseq__28910 \x3d G__29093;\nchunk__28911 \x3d G__29094;\ncount__28912 \x3d G__29095;\ni__28913 \x3d G__29096;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.particles_on_click.mouse_pressed \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$mouse_pressed(state,p__29041){\nvar map__29042 \x3d p__29041;\nvar map__29042__$1 \x3d cljs.core.__destructure_map(map__29042);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29042__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29042__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(state,sketches.nature_of_code.particle_systems.particles_on_click.create_particle_system(x,y,(50)));\n});\nsketches.nature_of_code.particle_systems.particles_on_click.run \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$run(host){\nsketches.nature_of_code.particle_systems.particles_on_click.particles_on_click \x3d (function sketches$nature_of_code$particle_systems$particles_on_click$run_$_particles_on_click(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29099__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29099 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29100__i \x3d 0, G__29100__a \x3d new Array(arguments.length - 0);\nwhile (G__29100__i \x3c G__29100__a.length) {G__29100__a[G__29100__i] \x3d arguments[G__29100__i + 0]; ++G__29100__i;}\n args \x3d new cljs.core.IndexedSeq(G__29100__a,0,null);\n} \nreturn G__29099__delegate.call(this,args);};\nG__29099.cljs$lang$maxFixedArity \x3d 0;\nG__29099.cljs$lang$applyTo \x3d (function (arglist__29102){\nvar args \x3d cljs.core.seq(arglist__29102);\nreturn G__29099__delegate(args);\n});\nG__29099.cljs$core$IFn$_invoke$arity$variadic \x3d G__29099__delegate;\nreturn G__29099;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_on_click.update_state))?(function() { \nvar G__29103__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.update_state,args);\n};\nvar G__29103 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29104__i \x3d 0, G__29104__a \x3d new Array(arguments.length - 0);\nwhile (G__29104__i \x3c G__29104__a.length) {G__29104__a[G__29104__i] \x3d arguments[G__29104__i + 0]; ++G__29104__i;}\n args \x3d new cljs.core.IndexedSeq(G__29104__a,0,null);\n} \nreturn G__29103__delegate.call(this,args);};\nG__29103.cljs$lang$maxFixedArity \x3d 0;\nG__29103.cljs$lang$applyTo \x3d (function (arglist__29105){\nvar args \x3d cljs.core.seq(arglist__29105);\nreturn G__29103__delegate(args);\n});\nG__29103.cljs$core$IFn$_invoke$arity$variadic \x3d G__29103__delegate;\nreturn G__29103;\n})()\n:sketches.nature_of_code.particle_systems.particles_on_click.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_on_click.setup))?(function() { \nvar G__29106__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.setup,args);\n};\nvar G__29106 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29107__i \x3d 0, G__29107__a \x3d new Array(arguments.length - 0);\nwhile (G__29107__i \x3c G__29107__a.length) {G__29107__a[G__29107__i] \x3d arguments[G__29107__i + 0]; ++G__29107__i;}\n args \x3d new cljs.core.IndexedSeq(G__29107__a,0,null);\n} \nreturn G__29106__delegate.call(this,args);};\nG__29106.cljs$lang$maxFixedArity \x3d 0;\nG__29106.cljs$lang$applyTo \x3d (function (arglist__29108){\nvar args \x3d cljs.core.seq(arglist__29108);\nreturn G__29106__delegate(args);\n});\nG__29106.cljs$core$IFn$_invoke$arity$variadic \x3d G__29106__delegate;\nreturn G__29106;\n})()\n:sketches.nature_of_code.particle_systems.particles_on_click.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_on_click.mouse_pressed))?(function() { \nvar G__29112__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.mouse_pressed,args);\n};\nvar G__29112 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29113__i \x3d 0, G__29113__a \x3d new Array(arguments.length - 0);\nwhile (G__29113__i \x3c G__29113__a.length) {G__29113__a[G__29113__i] \x3d arguments[G__29113__i + 0]; ++G__29113__i;}\n args \x3d new cljs.core.IndexedSeq(G__29113__a,0,null);\n} \nreturn G__29112__delegate.call(this,args);};\nG__29112.cljs$lang$maxFixedArity \x3d 0;\nG__29112.cljs$lang$applyTo \x3d (function (arglist__29114){\nvar args \x3d cljs.core.seq(arglist__29114);\nreturn G__29112__delegate(args);\n});\nG__29112.cljs$core$IFn$_invoke$arity$variadic \x3d G__29112__delegate;\nreturn G__29112;\n})()\n:sketches.nature_of_code.particle_systems.particles_on_click.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_on_click.draw))?(function() { \nvar G__29116__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_on_click.draw,args);\n};\nvar G__29116 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29117__i \x3d 0, G__29117__a \x3d new Array(arguments.length - 0);\nwhile (G__29117__i \x3c G__29117__a.length) {G__29117__a[G__29117__i] \x3d arguments[G__29117__i + 0]; ++G__29117__i;}\n args \x3d new cljs.core.IndexedSeq(G__29117__a,0,null);\n} \nreturn G__29116__delegate.call(this,args);};\nG__29116.cljs$lang$maxFixedArity \x3d 0;\nG__29116.cljs$lang$applyTo \x3d (function (arglist__29118){\nvar args \x3d cljs.core.seq(arglist__29118);\nreturn G__29116__delegate(args);\n});\nG__29116.cljs$core$IFn$_invoke$arity$variadic \x3d G__29116__delegate;\nreturn G__29116;\n})()\n:sketches.nature_of_code.particle_systems.particles_on_click.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.particles_on_click.particles_on_click\x27, sketches.nature_of_code.particle_systems.particles_on_click.particles_on_click);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.particles_on_click.particles_on_click,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29121__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29121 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29122__i \x3d 0, G__29122__a \x3d new Array(arguments.length - 0);\nwhile (G__29122__i \x3c G__29122__a.length) {G__29122__a[G__29122__i] \x3d arguments[G__29122__i + 0]; ++G__29122__i;}\n args \x3d new cljs.core.IndexedSeq(G__29122__a,0,null);\n} \nreturn G__29121__delegate.call(this,args);};\nG__29121.cljs$lang$maxFixedArity \x3d 0;\nG__29121.cljs$lang$applyTo \x3d (function (arglist__29123){\nvar args \x3d cljs.core.seq(arglist__29123);\nreturn G__29121__delegate(args);\n});\nG__29121.cljs$core$IFn$_invoke$arity$variadic \x3d G__29121__delegate;\nreturn G__29121;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.particles_repel.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.particles_repel\x27);\nsketches.nature_of_code.particle_systems.particles_repel.gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.3], null);\nsketches.nature_of_code.particle_systems.particles_repel.setup \x3d (function sketches$nature_of_code$particle_systems$particles_repel$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null)], null);\n});\nsketches.nature_of_code.particle_systems.particles_repel.create_particle \x3d (function sketches$nature_of_code$particle_systems$particles_repel$create_particle(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((20),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (2))], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0], 0));\n});\nsketches.nature_of_code.particle_systems.particles_repel.create_confetti \x3d (function sketches$nature_of_code$particle_systems$particles_repel$create_confetti(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.nature_of_code.particle_systems.particles_repel.create_particle(location),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),0.1], 0));\n});\nsketches.nature_of_code.particle_systems.particles_repel.is_dead \x3d (function sketches$nature_of_code$particle_systems$particles_repel$is_dead(p__29098){\nvar map__29101 \x3d p__29098;\nvar map__29101__$1 \x3d cljs.core.__destructure_map(map__29101);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29101__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.particles_repel.decrease_lifespan \x3d (function sketches$nature_of_code$particle_systems$particles_repel$decrease_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.particles_repel.repel \x3d (function sketches$nature_of_code$particle_systems$particles_repel$repel(p__29115,particle){\nvar map__29124 \x3d p__29115;\nvar map__29124__$1 \x3d cljs.core.__destructure_map(map__29124);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29124__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29124__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar dir \x3d sketches.vector.sub(location__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(particle));\nvar d \x3d quil.core.constrain(sketches.vector.mag(dir),(5),(100));\nvar force \x3d (((-1) * mass) / (d * d));\nreturn sketches.vector.mult(sketches.vector.normalize(dir),force);\n});\nsketches.nature_of_code.particle_systems.particles_repel.update_state \x3d (function sketches$nature_of_code$particle_systems$particles_repel$update_state(ps){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(ps,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29125_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (particle__$1,repeller){\nreturn sketches.mover.apply_force(particle__$1,sketches.nature_of_code.particle_systems.particles_repel.repel(repeller,particle__$1));\n}),particle,p1__29125_SHARP_);\n}),p1__29125_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29126_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__29126_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2((((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3e 0.5))?sketches.nature_of_code.particle_systems.particles_repel.create_particle:sketches.nature_of_code.particle_systems.particles_repel.create_confetti),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps),null,(1),null))));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29127_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.mover.apply_force(particle,sketches.nature_of_code.particle_systems.particles_repel.gravity);\n}),p1__29127_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29128_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_repel.decrease_lifespan,sketches.mover.compute_position),p1__29128_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29129_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_repel.is_dead,p1__29129_SHARP_);\n}));\n});\nif((typeof sketches !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.particles_repel !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.particles_repel.draw_particle !\x3d\x3d \x27undefined\x27)){\n} else {\nsketches.nature_of_code.particle_systems.particles_repel.draw_particle \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__29146 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__29146.cljs$core$IFn$_invoke$arity$0 ? fexpr__29146.cljs$core$IFn$_invoke$arity$0() : fexpr__29146.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sketches.nature-of-code.particle-systems.particles-repel\x22,\x22draw-particle\x22),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\nsketches.nature_of_code.particle_systems.particles_repel.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145),(function (p__29147){\nvar map__29148 \x3d p__29147;\nvar map__29148__$1 \x3d cljs.core.__destructure_map(map__29148);\nvar particle \x3d map__29148__$1;\nvar vec__29149 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29148__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29149,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29149,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29148__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29148__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((175),lifespan);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nquil.core.pop_matrix();\n\nreturn particle;\n}));\nsketches.nature_of_code.particle_systems.particles_repel.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (p__29153){\nvar map__29155 \x3d p__29153;\nvar map__29155__$1 \x3d cljs.core.__destructure_map(map__29155);\nvar particle \x3d map__29155__$1;\nvar vec__29205 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29155__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29205,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29205,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29155__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.ellipse(x,y,(8),(8));\n\nreturn particle;\n}));\nsketches.nature_of_code.particle_systems.particles_repel.draw \x3d (function sketches$nature_of_code$particle_systems$particles_repel$draw(p__29235){\nvar map__29236 \x3d p__29235;\nvar map__29236__$1 \x3d cljs.core.__destructure_map(map__29236);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29236__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__29246 \x3d cljs.core.seq(particles);\nvar chunk__29247 \x3d null;\nvar count__29248 \x3d (0);\nvar i__29249 \x3d (0);\nwhile(true){\nif((i__29249 \x3c count__29248)){\nvar particle \x3d chunk__29247.cljs$core$IIndexed$_nth$arity$2(null,i__29249);\nsketches.nature_of_code.particle_systems.particles_repel.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29276 \x3d seq__29246;\nvar G__29277 \x3d chunk__29247;\nvar G__29278 \x3d count__29248;\nvar G__29279 \x3d (i__29249 + (1));\nseq__29246 \x3d G__29276;\nchunk__29247 \x3d G__29277;\ncount__29248 \x3d G__29278;\ni__29249 \x3d G__29279;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__29246);\nif(temp__5804__auto__){\nvar seq__29246__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__29246__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__29246__$1);\nvar G__29280 \x3d cljs.core.chunk_rest(seq__29246__$1);\nvar G__29281 \x3d c__5568__auto__;\nvar G__29282 \x3d cljs.core.count(c__5568__auto__);\nvar G__29283 \x3d (0);\nseq__29246 \x3d G__29280;\nchunk__29247 \x3d G__29281;\ncount__29248 \x3d G__29282;\ni__29249 \x3d G__29283;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__29246__$1);\nsketches.nature_of_code.particle_systems.particles_repel.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29284 \x3d cljs.core.next(seq__29246__$1);\nvar G__29285 \x3d null;\nvar G__29286 \x3d (0);\nvar G__29287 \x3d (0);\nseq__29246 \x3d G__29284;\nchunk__29247 \x3d G__29285;\ncount__29248 \x3d G__29286;\ni__29249 \x3d G__29287;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.particles_repel.run \x3d (function sketches$nature_of_code$particle_systems$particles_repel$run(host){\nsketches.nature_of_code.particle_systems.particles_repel.particles_repel \x3d (function sketches$nature_of_code$particle_systems$particles_repel$run_$_particles_repel(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29288__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29288 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29289__i \x3d 0, G__29289__a \x3d new Array(arguments.length - 0);\nwhile (G__29289__i \x3c G__29289__a.length) {G__29289__a[G__29289__i] \x3d arguments[G__29289__i + 0]; ++G__29289__i;}\n args \x3d new cljs.core.IndexedSeq(G__29289__a,0,null);\n} \nreturn G__29288__delegate.call(this,args);};\nG__29288.cljs$lang$maxFixedArity \x3d 0;\nG__29288.cljs$lang$applyTo \x3d (function (arglist__29290){\nvar args \x3d cljs.core.seq(arglist__29290);\nreturn G__29288__delegate(args);\n});\nG__29288.cljs$core$IFn$_invoke$arity$variadic \x3d G__29288__delegate;\nreturn G__29288;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_repel.update_state))?(function() { \nvar G__29291__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_repel.update_state,args);\n};\nvar G__29291 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29292__i \x3d 0, G__29292__a \x3d new Array(arguments.length - 0);\nwhile (G__29292__i \x3c G__29292__a.length) {G__29292__a[G__29292__i] \x3d arguments[G__29292__i + 0]; ++G__29292__i;}\n args \x3d new cljs.core.IndexedSeq(G__29292__a,0,null);\n} \nreturn G__29291__delegate.call(this,args);};\nG__29291.cljs$lang$maxFixedArity \x3d 0;\nG__29291.cljs$lang$applyTo \x3d (function (arglist__29293){\nvar args \x3d cljs.core.seq(arglist__29293);\nreturn G__29291__delegate(args);\n});\nG__29291.cljs$core$IFn$_invoke$arity$variadic \x3d G__29291__delegate;\nreturn G__29291;\n})()\n:sketches.nature_of_code.particle_systems.particles_repel.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_repel.setup))?(function() { \nvar G__29295__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_repel.setup,args);\n};\nvar G__29295 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29299__i \x3d 0, G__29299__a \x3d new Array(arguments.length - 0);\nwhile (G__29299__i \x3c G__29299__a.length) {G__29299__a[G__29299__i] \x3d arguments[G__29299__i + 0]; ++G__29299__i;}\n args \x3d new cljs.core.IndexedSeq(G__29299__a,0,null);\n} \nreturn G__29295__delegate.call(this,args);};\nG__29295.cljs$lang$maxFixedArity \x3d 0;\nG__29295.cljs$lang$applyTo \x3d (function (arglist__29300){\nvar args \x3d cljs.core.seq(arglist__29300);\nreturn G__29295__delegate(args);\n});\nG__29295.cljs$core$IFn$_invoke$arity$variadic \x3d G__29295__delegate;\nreturn G__29295;\n})()\n:sketches.nature_of_code.particle_systems.particles_repel.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_repel.draw))?(function() { \nvar G__29311__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_repel.draw,args);\n};\nvar G__29311 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29312__i \x3d 0, G__29312__a \x3d new Array(arguments.length - 0);\nwhile (G__29312__i \x3c G__29312__a.length) {G__29312__a[G__29312__i] \x3d arguments[G__29312__i + 0]; ++G__29312__i;}\n args \x3d new cljs.core.IndexedSeq(G__29312__a,0,null);\n} \nreturn G__29311__delegate.call(this,args);};\nG__29311.cljs$lang$maxFixedArity \x3d 0;\nG__29311.cljs$lang$applyTo \x3d (function (arglist__29313){\nvar args \x3d cljs.core.seq(arglist__29313);\nreturn G__29311__delegate(args);\n});\nG__29311.cljs$core$IFn$_invoke$arity$variadic \x3d G__29311__delegate;\nreturn G__29311;\n})()\n:sketches.nature_of_code.particle_systems.particles_repel.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.particles_repel.particles_repel\x27, sketches.nature_of_code.particle_systems.particles_repel.particles_repel);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.particles_repel.particles_repel,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29319__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29319 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29320__i \x3d 0, G__29320__a \x3d new Array(arguments.length - 0);\nwhile (G__29320__i \x3c G__29320__a.length) {G__29320__a[G__29320__i] \x3d arguments[G__29320__i + 0]; ++G__29320__i;}\n args \x3d new cljs.core.IndexedSeq(G__29320__a,0,null);\n} \nreturn G__29319__delegate.call(this,args);};\nG__29319.cljs$lang$maxFixedArity \x3d 0;\nG__29319.cljs$lang$applyTo \x3d (function (arglist__29321){\nvar args \x3d cljs.core.seq(arglist__29321);\nreturn G__29319__delegate(args);\n});\nG__29319.cljs$core$IFn$_invoke$arity$variadic \x3d G__29319__delegate;\nreturn G__29319;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.particles_with_images.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.particles_with_images\x27);\nsketches.nature_of_code.particle_systems.particles_with_images.create_particle \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$create_particle(location,images){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((10),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random_gaussian(),(quil.core.random_gaussian() - 1.0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),(10),new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),cljs.core.rand_nth(images)], 0));\n});\nsketches.nature_of_code.particle_systems.particles_with_images.setup \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$setup(){\nquil.core.frame_rate((30));\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22images\x22,\x22images\x22,1757475080),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.load_image(\x22images/sojka.jpg\x22),quil.core.load_image(\x22images/fcb.jpg\x22),quil.core.load_image(\x22images/emacs.png\x22)], null),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null)], null);\n});\nsketches.nature_of_code.particle_systems.particles_with_images.draw_particle \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$draw_particle(p__28822){\nvar map__28823 \x3d p__28822;\nvar map__28823__$1 \x3d cljs.core.__destructure_map(map__28823);\nvar vec__28824 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28823__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28824,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28824,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28823__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar image \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28823__$1,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096));\nquil.core.image_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.tint.cljs$core$IFn$_invoke$arity$2((255),lifespan);\n\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$5(image,x,y,(80),(80));\n});\nsketches.nature_of_code.particle_systems.particles_with_images.is_dead \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$is_dead(p__28830){\nvar map__28831 \x3d p__28830;\nvar map__28831__$1 \x3d cljs.core.__destructure_map(map__28831);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28831__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.particles_with_images.dec_lifespan \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$dec_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dec,cljs.core.dec,cljs.core.dec,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.dec,cljs.core.dec], 0)));\n});\nsketches.nature_of_code.particle_systems.particles_with_images.update_state \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$update_state(p__28838){\nvar map__28839 \x3d p__28838;\nvar map__28839__$1 \x3d cljs.core.__destructure_map(map__28839);\nvar ps \x3d map__28839__$1;\nvar images \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28839__$1,new cljs.core.Keyword(null,\x22images\x22,\x22images\x22,1757475080));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(ps,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28834_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28834_SHARP_,sketches.nature_of_code.particle_systems.particles_with_images.create_particle(new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps),images));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28835_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.mover.compute_position,sketches.nature_of_code.particle_systems.particles_with_images.dec_lifespan),p1__28835_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28836_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_images.is_dead,p1__28836_SHARP_);\n}));\n});\nsketches.nature_of_code.particle_systems.particles_with_images.draw \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$draw(p__28845){\nvar map__28847 \x3d p__28845;\nvar map__28847__$1 \x3d cljs.core.__destructure_map(map__28847);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28847__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28849 \x3d cljs.core.seq(particles);\nvar chunk__28850 \x3d null;\nvar count__28851 \x3d (0);\nvar i__28852 \x3d (0);\nwhile(true){\nif((i__28852 \x3c count__28851)){\nvar particle \x3d chunk__28850.cljs$core$IIndexed$_nth$arity$2(null,i__28852);\nsketches.nature_of_code.particle_systems.particles_with_images.draw_particle(particle);\n\n\nvar G__28930 \x3d seq__28849;\nvar G__28931 \x3d chunk__28850;\nvar G__28932 \x3d count__28851;\nvar G__28933 \x3d (i__28852 + (1));\nseq__28849 \x3d G__28930;\nchunk__28850 \x3d G__28931;\ncount__28851 \x3d G__28932;\ni__28852 \x3d G__28933;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28849);\nif(temp__5804__auto__){\nvar seq__28849__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28849__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28849__$1);\nvar G__28936 \x3d cljs.core.chunk_rest(seq__28849__$1);\nvar G__28937 \x3d c__5568__auto__;\nvar G__28938 \x3d cljs.core.count(c__5568__auto__);\nvar G__28939 \x3d (0);\nseq__28849 \x3d G__28936;\nchunk__28850 \x3d G__28937;\ncount__28851 \x3d G__28938;\ni__28852 \x3d G__28939;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28849__$1);\nsketches.nature_of_code.particle_systems.particles_with_images.draw_particle(particle);\n\n\nvar G__28944 \x3d cljs.core.next(seq__28849__$1);\nvar G__28945 \x3d null;\nvar G__28946 \x3d (0);\nvar G__28947 \x3d (0);\nseq__28849 \x3d G__28944;\nchunk__28850 \x3d G__28945;\ncount__28851 \x3d G__28946;\ni__28852 \x3d G__28947;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.particles_with_images.run \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$run(host){\nsketches.nature_of_code.particle_systems.particles_with_images.particles_with_images \x3d (function sketches$nature_of_code$particle_systems$particles_with_images$run_$_particles_with_images(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28948__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28948 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28949__i \x3d 0, G__28949__a \x3d new Array(arguments.length - 0);\nwhile (G__28949__i \x3c G__28949__a.length) {G__28949__a[G__28949__i] \x3d arguments[G__28949__i + 0]; ++G__28949__i;}\n args \x3d new cljs.core.IndexedSeq(G__28949__a,0,null);\n} \nreturn G__28948__delegate.call(this,args);};\nG__28948.cljs$lang$maxFixedArity \x3d 0;\nG__28948.cljs$lang$applyTo \x3d (function (arglist__28950){\nvar args \x3d cljs.core.seq(arglist__28950);\nreturn G__28948__delegate(args);\n});\nG__28948.cljs$core$IFn$_invoke$arity$variadic \x3d G__28948__delegate;\nreturn G__28948;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_images.update_state))?(function() { \nvar G__28951__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_images.update_state,args);\n};\nvar G__28951 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28952__i \x3d 0, G__28952__a \x3d new Array(arguments.length - 0);\nwhile (G__28952__i \x3c G__28952__a.length) {G__28952__a[G__28952__i] \x3d arguments[G__28952__i + 0]; ++G__28952__i;}\n args \x3d new cljs.core.IndexedSeq(G__28952__a,0,null);\n} \nreturn G__28951__delegate.call(this,args);};\nG__28951.cljs$lang$maxFixedArity \x3d 0;\nG__28951.cljs$lang$applyTo \x3d (function (arglist__28953){\nvar args \x3d cljs.core.seq(arglist__28953);\nreturn G__28951__delegate(args);\n});\nG__28951.cljs$core$IFn$_invoke$arity$variadic \x3d G__28951__delegate;\nreturn G__28951;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_images.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_images.setup))?(function() { \nvar G__28954__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_images.setup,args);\n};\nvar G__28954 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28955__i \x3d 0, G__28955__a \x3d new Array(arguments.length - 0);\nwhile (G__28955__i \x3c G__28955__a.length) {G__28955__a[G__28955__i] \x3d arguments[G__28955__i + 0]; ++G__28955__i;}\n args \x3d new cljs.core.IndexedSeq(G__28955__a,0,null);\n} \nreturn G__28954__delegate.call(this,args);};\nG__28954.cljs$lang$maxFixedArity \x3d 0;\nG__28954.cljs$lang$applyTo \x3d (function (arglist__28956){\nvar args \x3d cljs.core.seq(arglist__28956);\nreturn G__28954__delegate(args);\n});\nG__28954.cljs$core$IFn$_invoke$arity$variadic \x3d G__28954__delegate;\nreturn G__28954;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_images.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_images.draw))?(function() { \nvar G__28957__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_images.draw,args);\n};\nvar G__28957 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28958__i \x3d 0, G__28958__a \x3d new Array(arguments.length - 0);\nwhile (G__28958__i \x3c G__28958__a.length) {G__28958__a[G__28958__i] \x3d arguments[G__28958__i + 0]; ++G__28958__i;}\n args \x3d new cljs.core.IndexedSeq(G__28958__a,0,null);\n} \nreturn G__28957__delegate.call(this,args);};\nG__28957.cljs$lang$maxFixedArity \x3d 0;\nG__28957.cljs$lang$applyTo \x3d (function (arglist__28959){\nvar args \x3d cljs.core.seq(arglist__28959);\nreturn G__28957__delegate(args);\n});\nG__28957.cljs$core$IFn$_invoke$arity$variadic \x3d G__28957__delegate;\nreturn G__28957;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_images.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.particles_with_images.particles_with_images\x27, sketches.nature_of_code.particle_systems.particles_with_images.particles_with_images);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.particles_with_images.particles_with_images,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28964__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28964 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28965__i \x3d 0, G__28965__a \x3d new Array(arguments.length - 0);\nwhile (G__28965__i \x3c G__28965__a.length) {G__28965__a[G__28965__i] \x3d arguments[G__28965__i + 0]; ++G__28965__i;}\n args \x3d new cljs.core.IndexedSeq(G__28965__a,0,null);\n} \nreturn G__28964__delegate.call(this,args);};\nG__28964.cljs$lang$maxFixedArity \x3d 0;\nG__28964.cljs$lang$applyTo \x3d (function (arglist__28966){\nvar args \x3d cljs.core.seq(arglist__28966);\nreturn G__28964__delegate(args);\n});\nG__28964.cljs$core$IFn$_invoke$arity$variadic \x3d G__28964__delegate;\nreturn G__28964;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.particles_with_repellers.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.particles_with_repellers\x27);\nsketches.nature_of_code.particle_systems.particles_with_repellers.gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.3], null);\nsketches.nature_of_code.particle_systems.particles_with_repellers.setup \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particle-system\x22,\x22particle-system\x22,-1732428768),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null)], null),new cljs.core.Keyword(null,\x22repellers\x22,\x22repellers\x22,-1206687456),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((quil.core.width() / (2)) + (50)),((quil.core.height() / (2)) - (20))], null),new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),(10),new cljs.core.Keyword(null,\x22strength\x22,\x22strength\x22,-415606478),(100)], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),((quil.core.height() / (2)) + (100))], null),new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),(10),new cljs.core.Keyword(null,\x22strength\x22,\x22strength\x22,-415606478),(100)], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((quil.core.width() / (2)) - (50)),((quil.core.height() / (2)) + (80))], null),new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),(10),new cljs.core.Keyword(null,\x22strength\x22,\x22strength\x22,-415606478),(100)], null)], null)], null);\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.create_particle \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$create_particle(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sketches.mover.create_mover((20),location),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (2))], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22a-acceleration\x22,\x22a-acceleration\x22,1247008296),0.1], 0));\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.create_confetti \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$create_confetti(location){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(sketches.nature_of_code.particle_systems.particles_with_repellers.create_particle(location),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145));\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.is_dead \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$is_dead(p__28828){\nvar map__28829 \x3d p__28828;\nvar map__28829__$1 \x3d cljs.core.__destructure_map(map__28829);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28829__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.repel \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$repel(p__28832,particle){\nvar map__28833 \x3d p__28832;\nvar map__28833__$1 \x3d cljs.core.__destructure_map(map__28833);\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28833__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar strength \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28833__$1,new cljs.core.Keyword(null,\x22strength\x22,\x22strength\x22,-415606478));\nvar dir \x3d sketches.vector.sub(location__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(particle));\nvar d \x3d quil.core.constrain(sketches.vector.mag(dir),(5),(100));\nvar force \x3d (((-1) * strength) / (d * d));\nreturn sketches.vector.mult(sketches.vector.normalize(dir),force);\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.decrease_lifespan \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$decrease_lifespan(particle){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.dec,cljs.core.dec));\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.update_state \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$update_state(p__28858){\nvar map__28859 \x3d p__28858;\nvar map__28859__$1 \x3d cljs.core.__destructure_map(map__28859);\nvar state \x3d map__28859__$1;\nvar repellers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28859__$1,new cljs.core.Keyword(null,\x22repellers\x22,\x22repellers\x22,-1206687456));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particle-system\x22,\x22particle-system\x22,-1732428768),(function (ps){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(ps,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28853_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28853_SHARP_,(((quil.core.random.cljs$core$IFn$_invoke$arity$1((1)) \x3e 0.5))?sketches.nature_of_code.particle_systems.particles_with_repellers.create_particle(new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps)):sketches.nature_of_code.particle_systems.particles_with_repellers.create_confetti(new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088).cljs$core$IFn$_invoke$arity$1(ps))));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28854_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (particle__$1,repeller){\nreturn sketches.mover.apply_force(particle__$1,sketches.nature_of_code.particle_systems.particles_with_repellers.repel(repeller,particle__$1));\n}),particle,repellers);\n}),p1__28854_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28855_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.mover.apply_force(particle,sketches.nature_of_code.particle_systems.particles_with_repellers.gravity);\n}),p1__28855_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28856_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_repellers.decrease_lifespan,sketches.mover.compute_position),p1__28856_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__28857_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_repellers.is_dead,p1__28857_SHARP_);\n}));\n}));\n});\nif((typeof sketches !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.particles_with_repellers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle !\x3d\x3d \x27undefined\x27)){\n} else {\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__28894 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__28894.cljs$core$IFn$_invoke$arity$0 ? fexpr__28894.cljs$core$IFn$_invoke$arity$0() : fexpr__28894.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sketches.nature-of-code.particle-systems.particles-with-repellers\x22,\x22draw-particle\x22),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22confetti\x22,\x22confetti\x22,-717634145),(function (p__28895){\nvar map__28896 \x3d p__28895;\nvar map__28896__$1 \x3d cljs.core.__destructure_map(map__28896);\nvar vec__28897 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28896__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28897,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28897,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28896__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28896__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((175),lifespan);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.push_matrix();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nreturn quil.core.pop_matrix();\n}));\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (p__28905){\nvar map__28906 \x3d p__28905;\nvar map__28906__$1 \x3d cljs.core.__destructure_map(map__28906);\nvar vec__28907 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28906__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28907,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28907,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28906__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nreturn quil.core.ellipse(x,y,(8),(8));\n}));\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_repeller \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$draw_repeller(p__28919){\nvar map__28920 \x3d p__28919;\nvar map__28920__$1 \x3d cljs.core.__destructure_map(map__28920);\nvar vec__28921 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28920__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28921,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28921,(1),null);\nvar r \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28920__$1,new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190));\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((127));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((127));\n\nreturn quil.core.ellipse(x,y,(r * (2)),(r * (2)));\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$draw(p__28934){\nvar map__28935 \x3d p__28934;\nvar map__28935__$1 \x3d cljs.core.__destructure_map(map__28935);\nvar repellers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28935__$1,new cljs.core.Keyword(null,\x22repellers\x22,\x22repellers\x22,-1206687456));\nvar particle_system \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28935__$1,new cljs.core.Keyword(null,\x22particle-system\x22,\x22particle-system\x22,-1732428768));\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__28940_29184 \x3d cljs.core.seq(repellers);\nvar chunk__28941_29185 \x3d null;\nvar count__28942_29186 \x3d (0);\nvar i__28943_29187 \x3d (0);\nwhile(true){\nif((i__28943_29187 \x3c count__28942_29186)){\nvar repeller_29188 \x3d chunk__28941_29185.cljs$core$IIndexed$_nth$arity$2(null,i__28943_29187);\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_repeller(repeller_29188);\n\n\nvar G__29189 \x3d seq__28940_29184;\nvar G__29190 \x3d chunk__28941_29185;\nvar G__29191 \x3d count__28942_29186;\nvar G__29192 \x3d (i__28943_29187 + (1));\nseq__28940_29184 \x3d G__29189;\nchunk__28941_29185 \x3d G__29190;\ncount__28942_29186 \x3d G__29191;\ni__28943_29187 \x3d G__29192;\ncontinue;\n} else {\nvar temp__5804__auto___29193 \x3d cljs.core.seq(seq__28940_29184);\nif(temp__5804__auto___29193){\nvar seq__28940_29194__$1 \x3d temp__5804__auto___29193;\nif(cljs.core.chunked_seq_QMARK_(seq__28940_29194__$1)){\nvar c__5568__auto___29195 \x3d cljs.core.chunk_first(seq__28940_29194__$1);\nvar G__29196 \x3d cljs.core.chunk_rest(seq__28940_29194__$1);\nvar G__29197 \x3d c__5568__auto___29195;\nvar G__29198 \x3d cljs.core.count(c__5568__auto___29195);\nvar G__29199 \x3d (0);\nseq__28940_29184 \x3d G__29196;\nchunk__28941_29185 \x3d G__29197;\ncount__28942_29186 \x3d G__29198;\ni__28943_29187 \x3d G__29199;\ncontinue;\n} else {\nvar repeller_29200 \x3d cljs.core.first(seq__28940_29194__$1);\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_repeller(repeller_29200);\n\n\nvar G__29201 \x3d cljs.core.next(seq__28940_29194__$1);\nvar G__29202 \x3d null;\nvar G__29203 \x3d (0);\nvar G__29204 \x3d (0);\nseq__28940_29184 \x3d G__29201;\nchunk__28941_29185 \x3d G__29202;\ncount__28942_29186 \x3d G__29203;\ni__28943_29187 \x3d G__29204;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar seq__28972 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788).cljs$core$IFn$_invoke$arity$1(particle_system));\nvar chunk__28973 \x3d null;\nvar count__28974 \x3d (0);\nvar i__28975 \x3d (0);\nwhile(true){\nif((i__28975 \x3c count__28974)){\nvar particle \x3d chunk__28973.cljs$core$IIndexed$_nth$arity$2(null,i__28975);\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29208 \x3d seq__28972;\nvar G__29209 \x3d chunk__28973;\nvar G__29210 \x3d count__28974;\nvar G__29211 \x3d (i__28975 + (1));\nseq__28972 \x3d G__29208;\nchunk__28973 \x3d G__29209;\ncount__28974 \x3d G__29210;\ni__28975 \x3d G__29211;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__28972);\nif(temp__5804__auto__){\nvar seq__28972__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28972__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__28972__$1);\nvar G__29212 \x3d cljs.core.chunk_rest(seq__28972__$1);\nvar G__29213 \x3d c__5568__auto__;\nvar G__29214 \x3d cljs.core.count(c__5568__auto__);\nvar G__29215 \x3d (0);\nseq__28972 \x3d G__29212;\nchunk__28973 \x3d G__29213;\ncount__28974 \x3d G__29214;\ni__28975 \x3d G__29215;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__28972__$1);\nsketches.nature_of_code.particle_systems.particles_with_repellers.draw_particle.cljs$core$IFn$_invoke$arity$1(particle);\n\n\nvar G__29216 \x3d cljs.core.next(seq__28972__$1);\nvar G__29217 \x3d null;\nvar G__29218 \x3d (0);\nvar G__29219 \x3d (0);\nseq__28972 \x3d G__29216;\nchunk__28973 \x3d G__29217;\ncount__28974 \x3d G__29218;\ni__28975 \x3d G__29219;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.particles_with_repellers.run \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$run(host){\nsketches.nature_of_code.particle_systems.particles_with_repellers.particles_with_repellers \x3d (function sketches$nature_of_code$particle_systems$particles_with_repellers$run_$_particles_with_repellers(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29220__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29220 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29221__i \x3d 0, G__29221__a \x3d new Array(arguments.length - 0);\nwhile (G__29221__i \x3c G__29221__a.length) {G__29221__a[G__29221__i] \x3d arguments[G__29221__i + 0]; ++G__29221__i;}\n args \x3d new cljs.core.IndexedSeq(G__29221__a,0,null);\n} \nreturn G__29220__delegate.call(this,args);};\nG__29220.cljs$lang$maxFixedArity \x3d 0;\nG__29220.cljs$lang$applyTo \x3d (function (arglist__29222){\nvar args \x3d cljs.core.seq(arglist__29222);\nreturn G__29220__delegate(args);\n});\nG__29220.cljs$core$IFn$_invoke$arity$variadic \x3d G__29220__delegate;\nreturn G__29220;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_repellers.update_state))?(function() { \nvar G__29223__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_repellers.update_state,args);\n};\nvar G__29223 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29224__i \x3d 0, G__29224__a \x3d new Array(arguments.length - 0);\nwhile (G__29224__i \x3c G__29224__a.length) {G__29224__a[G__29224__i] \x3d arguments[G__29224__i + 0]; ++G__29224__i;}\n args \x3d new cljs.core.IndexedSeq(G__29224__a,0,null);\n} \nreturn G__29223__delegate.call(this,args);};\nG__29223.cljs$lang$maxFixedArity \x3d 0;\nG__29223.cljs$lang$applyTo \x3d (function (arglist__29225){\nvar args \x3d cljs.core.seq(arglist__29225);\nreturn G__29223__delegate(args);\n});\nG__29223.cljs$core$IFn$_invoke$arity$variadic \x3d G__29223__delegate;\nreturn G__29223;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_repellers.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_repellers.setup))?(function() { \nvar G__29226__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_repellers.setup,args);\n};\nvar G__29226 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29227__i \x3d 0, G__29227__a \x3d new Array(arguments.length - 0);\nwhile (G__29227__i \x3c G__29227__a.length) {G__29227__a[G__29227__i] \x3d arguments[G__29227__i + 0]; ++G__29227__i;}\n args \x3d new cljs.core.IndexedSeq(G__29227__a,0,null);\n} \nreturn G__29226__delegate.call(this,args);};\nG__29226.cljs$lang$maxFixedArity \x3d 0;\nG__29226.cljs$lang$applyTo \x3d (function (arglist__29228){\nvar args \x3d cljs.core.seq(arglist__29228);\nreturn G__29226__delegate(args);\n});\nG__29226.cljs$core$IFn$_invoke$arity$variadic \x3d G__29226__delegate;\nreturn G__29226;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_repellers.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.particles_with_repellers.draw))?(function() { \nvar G__29229__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.particles_with_repellers.draw,args);\n};\nvar G__29229 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29230__i \x3d 0, G__29230__a \x3d new Array(arguments.length - 0);\nwhile (G__29230__i \x3c G__29230__a.length) {G__29230__a[G__29230__i] \x3d arguments[G__29230__i + 0]; ++G__29230__i;}\n args \x3d new cljs.core.IndexedSeq(G__29230__a,0,null);\n} \nreturn G__29229__delegate.call(this,args);};\nG__29229.cljs$lang$maxFixedArity \x3d 0;\nG__29229.cljs$lang$applyTo \x3d (function (arglist__29231){\nvar args \x3d cljs.core.seq(arglist__29231);\nreturn G__29229__delegate(args);\n});\nG__29229.cljs$core$IFn$_invoke$arity$variadic \x3d G__29229__delegate;\nreturn G__29229;\n})()\n:sketches.nature_of_code.particle_systems.particles_with_repellers.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.particles_with_repellers.particles_with_repellers\x27, sketches.nature_of_code.particle_systems.particles_with_repellers.particles_with_repellers);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.particles_with_repellers.particles_with_repellers,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29232__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29232 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29233__i \x3d 0, G__29233__a \x3d new Array(arguments.length - 0);\nwhile (G__29233__i \x3c G__29233__a.length) {G__29233__a[G__29233__i] \x3d arguments[G__29233__i + 0]; ++G__29233__i;}\n args \x3d new cljs.core.IndexedSeq(G__29233__a,0,null);\n} \nreturn G__29232__delegate.call(this,args);};\nG__29232.cljs$lang$maxFixedArity \x3d 0;\nG__29232.cljs$lang$applyTo \x3d (function (arglist__29234){\nvar args \x3d cljs.core.seq(arglist__29234);\nreturn G__29232__delegate(args);\n});\nG__29232.cljs$core$IFn$_invoke$arity$variadic \x3d G__29232__delegate;\nreturn G__29232;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.rotating_particle.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.rotating_particle\x27);\nsketches.nature_of_code.particle_systems.rotating_particle.create_particle \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$create_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (1)),(cljs.core.rand.cljs$core$IFn$_invoke$arity$1((2)) - (2))], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),0.05], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),0.0,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),0.1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),0.0], null);\n});\nsketches.nature_of_code.particle_systems.rotating_particle.update_particle \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$update_particle(p__28820){\nvar map__28821 \x3d p__28820;\nvar map__28821__$1 \x3d cljs.core.__destructure_map(map__28821);\nvar particle \x3d map__28821__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar aVelocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641));\nvar aAcceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28821__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nvar lifespan__$1 \x3d (lifespan - 2.0);\nvar aVelocity__$1 \x3d (aVelocity + aAcceleration);\nvar angle__$1 \x3d (aVelocity__$1 + angle);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),lifespan__$1),new cljs.core.Keyword(null,\x22aVelocity\x22,\x22aVelocity\x22,-1217861641),aVelocity__$1),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),(aVelocity__$1 + angle__$1)),new cljs.core.Keyword(null,\x22aAcceleration\x22,\x22aAcceleration\x22,1543690599),(0));\n});\nsketches.nature_of_code.particle_systems.rotating_particle.apply_force \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$apply_force(particle,force){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),(function (p1__28827_SHARP_){\nreturn sketches.vector.add.cljs$core$IFn$_invoke$arity$2(p1__28827_SHARP_,force);\n}));\n});\nsketches.nature_of_code.particle_systems.rotating_particle.draw_particle \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$draw_particle(p__28837){\nvar map__28840 \x3d p__28837;\nvar map__28840__$1 \x3d cljs.core.__destructure_map(map__28840);\nvar particle \x3d map__28840__$1;\nvar vec__28841 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28840__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28841,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28841,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28840__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28840__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.stroke.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((0),lifespan);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),(8),(8));\n\nquil.core.pop_matrix();\n\nreturn particle;\n});\nsketches.nature_of_code.particle_systems.rotating_particle.is_dead \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$is_dead(p__28846){\nvar map__28848 \x3d p__28846;\nvar map__28848__$1 \x3d cljs.core.__destructure_map(map__28848);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28848__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.rotating_particle.setup \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$setup(){\nreturn sketches.nature_of_code.particle_systems.rotating_particle.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n});\nsketches.nature_of_code.particle_systems.rotating_particle.update_state \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$update_state(particle){\nif(sketches.nature_of_code.particle_systems.rotating_particle.is_dead(particle)){\nreturn sketches.nature_of_code.particle_systems.rotating_particle.create_particle(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n} else {\nreturn sketches.nature_of_code.particle_systems.rotating_particle.update_particle(sketches.nature_of_code.particle_systems.rotating_particle.apply_force(particle,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [0.1,(0)], null)));\n}\n});\nsketches.nature_of_code.particle_systems.rotating_particle.draw \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$draw(particle){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nreturn sketches.nature_of_code.particle_systems.rotating_particle.draw_particle(particle);\n});\nsketches.nature_of_code.particle_systems.rotating_particle.run \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$run(host){\nsketches.nature_of_code.particle_systems.rotating_particle.rotating_particle \x3d (function sketches$nature_of_code$particle_systems$rotating_particle$run_$_rotating_particle(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__28971__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__28971 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28976__i \x3d 0, G__28976__a \x3d new Array(arguments.length - 0);\nwhile (G__28976__i \x3c G__28976__a.length) {G__28976__a[G__28976__i] \x3d arguments[G__28976__i + 0]; ++G__28976__i;}\n args \x3d new cljs.core.IndexedSeq(G__28976__a,0,null);\n} \nreturn G__28971__delegate.call(this,args);};\nG__28971.cljs$lang$maxFixedArity \x3d 0;\nG__28971.cljs$lang$applyTo \x3d (function (arglist__28977){\nvar args \x3d cljs.core.seq(arglist__28977);\nreturn G__28971__delegate(args);\n});\nG__28971.cljs$core$IFn$_invoke$arity$variadic \x3d G__28971__delegate;\nreturn G__28971;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.rotating_particle.update_state))?(function() { \nvar G__28980__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.rotating_particle.update_state,args);\n};\nvar G__28980 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28982__i \x3d 0, G__28982__a \x3d new Array(arguments.length - 0);\nwhile (G__28982__i \x3c G__28982__a.length) {G__28982__a[G__28982__i] \x3d arguments[G__28982__i + 0]; ++G__28982__i;}\n args \x3d new cljs.core.IndexedSeq(G__28982__a,0,null);\n} \nreturn G__28980__delegate.call(this,args);};\nG__28980.cljs$lang$maxFixedArity \x3d 0;\nG__28980.cljs$lang$applyTo \x3d (function (arglist__28983){\nvar args \x3d cljs.core.seq(arglist__28983);\nreturn G__28980__delegate(args);\n});\nG__28980.cljs$core$IFn$_invoke$arity$variadic \x3d G__28980__delegate;\nreturn G__28980;\n})()\n:sketches.nature_of_code.particle_systems.rotating_particle.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.rotating_particle.setup))?(function() { \nvar G__28987__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.rotating_particle.setup,args);\n};\nvar G__28987 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28989__i \x3d 0, G__28989__a \x3d new Array(arguments.length - 0);\nwhile (G__28989__i \x3c G__28989__a.length) {G__28989__a[G__28989__i] \x3d arguments[G__28989__i + 0]; ++G__28989__i;}\n args \x3d new cljs.core.IndexedSeq(G__28989__a,0,null);\n} \nreturn G__28987__delegate.call(this,args);};\nG__28987.cljs$lang$maxFixedArity \x3d 0;\nG__28987.cljs$lang$applyTo \x3d (function (arglist__28990){\nvar args \x3d cljs.core.seq(arglist__28990);\nreturn G__28987__delegate(args);\n});\nG__28987.cljs$core$IFn$_invoke$arity$variadic \x3d G__28987__delegate;\nreturn G__28987;\n})()\n:sketches.nature_of_code.particle_systems.rotating_particle.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.rotating_particle.draw))?(function() { \nvar G__28994__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.rotating_particle.draw,args);\n};\nvar G__28994 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28997__i \x3d 0, G__28997__a \x3d new Array(arguments.length - 0);\nwhile (G__28997__i \x3c G__28997__a.length) {G__28997__a[G__28997__i] \x3d arguments[G__28997__i + 0]; ++G__28997__i;}\n args \x3d new cljs.core.IndexedSeq(G__28997__a,0,null);\n} \nreturn G__28994__delegate.call(this,args);};\nG__28994.cljs$lang$maxFixedArity \x3d 0;\nG__28994.cljs$lang$applyTo \x3d (function (arglist__28998){\nvar args \x3d cljs.core.seq(arglist__28998);\nreturn G__28994__delegate(args);\n});\nG__28994.cljs$core$IFn$_invoke$arity$variadic \x3d G__28994__delegate;\nreturn G__28994;\n})()\n:sketches.nature_of_code.particle_systems.rotating_particle.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.rotating_particle.rotating_particle\x27, sketches.nature_of_code.particle_systems.rotating_particle.rotating_particle);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.rotating_particle.rotating_particle,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29001__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29001 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29002__i \x3d 0, G__29002__a \x3d new Array(arguments.length - 0);\nwhile (G__29002__i \x3c G__29002__a.length) {G__29002__a[G__29002__i] \x3d arguments[G__29002__i + 0]; ++G__29002__i;}\n args \x3d new cljs.core.IndexedSeq(G__29002__a,0,null);\n} \nreturn G__29001__delegate.call(this,args);};\nG__29001.cljs$lang$maxFixedArity \x3d 0;\nG__29001.cljs$lang$applyTo \x3d (function (arglist__29003){\nvar args \x3d cljs.core.seq(arglist__29003);\nreturn G__29001__delegate(args);\n});\nG__29001.cljs$core$IFn$_invoke$arity$variadic \x3d G__29001__delegate;\nreturn G__29001;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.shutter_in_pieces.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.shutter_in_pieces\x27);\nsketches.nature_of_code.particle_systems.shutter_in_pieces.setup \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$setup(){\nquil.core.no_stroke();\n\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__29136){\nvar vec__29137 \x3d p__29136;\nvar x0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29137,(0),null);\nvar y0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29137,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (){var iter__5523__auto__ \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$setup_$_iter__29140(s__29141){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29141__$1 \x3d s__29141;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__29141__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar x \x3d cljs.core.first(xs__6360__auto__);\nvar iterys__5519__auto__ \x3d ((function (s__29141__$1,x,xs__6360__auto__,temp__5804__auto__,vec__29137,x0,y0){\nreturn (function sketches$nature_of_code$particle_systems$shutter_in_pieces$setup_$_iter__29140_$_iter__29142(s__29143){\nreturn (new cljs.core.LazySeq(null,((function (s__29141__$1,x,xs__6360__auto__,temp__5804__auto__,vec__29137,x0,y0){\nreturn (function (){\nvar s__29143__$1 \x3d s__29143;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__29143__$1);\nif(temp__5804__auto____$1){\nvar s__29143__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__29143__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__29143__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__29145 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__29144 \x3d (0);\nwhile(true){\nif((i__29144 \x3c size__5522__auto__)){\nvar y \x3d cljs.core._nth(c__5521__auto__,i__29144);\ncljs.core.chunk_append(b__29145,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(sketches.mover.create_mover((10),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x0 + x),(y0 + y)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)));\n\nvar G__29343 \x3d (i__29144 + (1));\ni__29144 \x3d G__29343;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29145),sketches$nature_of_code$particle_systems$shutter_in_pieces$setup_$_iter__29140_$_iter__29142(cljs.core.chunk_rest(s__29143__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29145),null);\n}\n} else {\nvar y \x3d cljs.core.first(s__29143__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(sketches.mover.create_mover((10),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x0 + x),(y0 + y)], null)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)),sketches$nature_of_code$particle_systems$shutter_in_pieces$setup_$_iter__29140_$_iter__29142(cljs.core.rest(s__29143__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__29141__$1,x,xs__6360__auto__,temp__5804__auto__,vec__29137,x0,y0))\n,null,null));\n});})(s__29141__$1,x,xs__6360__auto__,temp__5804__auto__,vec__29137,x0,y0))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(100),(10))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$nature_of_code$particle_systems$shutter_in_pieces$setup_$_iter__29140(cljs.core.rest(s__29141__$1)));\n} else {\nvar G__29344 \x3d cljs.core.rest(s__29141__$1);\ns__29141__$1 \x3d G__29344;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(100),(10)));\n})(),new cljs.core.Keyword(null,\x22exploding\x22,\x22exploding\x22,282565919),false], null);\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,y){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$3((50),(quil.core.width() - (50)),((quil.core.width() - (50)) / (2))),cljs.core.range.cljs$core$IFn$_invoke$arity$3((50),(quil.core.height() - (50)),((quil.core.height() - (50)) / (2)))));\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.is_dead \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$is_dead(p__29154){\nvar map__29175 \x3d p__29154;\nvar map__29175__$1 \x3d cljs.core.__destructure_map(map__29175);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29175__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.compute_explosion_force \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$compute_explosion_force(particle,particles){\nvar vec__29237 \x3d new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(cljs.core.first(particles));\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29237,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29237,(1),null);\nvar vec__29240 \x3d new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(cljs.core.last(particles));\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29240,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29240,(1),null);\nvar mid \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x1 + ((x2 - x1) / (2))),(y1 + ((y2 - y1) / (2)))], null);\nvar vec__29243 \x3d sketches.vector.mult(sketches.vector.normalize(sketches.vector.sub(new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(particle),mid)),(50));\nvar d1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29243,(0),null);\nvar d2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29243,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [d1,d2], null);\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.update_particle_system \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$update_particle_system(p__29251){\nvar map__29252 \x3d p__29251;\nvar map__29252__$1 \x3d cljs.core.__destructure_map(map__29252);\nvar particle_system \x3d map__29252__$1;\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29252__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar exploding \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29252__$1,new cljs.core.Keyword(null,\x22exploding\x22,\x22exploding\x22,282565919));\nif(cljs.core.truth_(exploding)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle_system,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.is_dead,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.mover.compute_position(cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec));\n}),particles)));\n} else {\nreturn particle_system;\n}\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.update_state \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$update_state(particle_systems){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.update_particle_system,particle_systems);\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw_particle \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$draw_particle(p__29256){\nvar map__29257 \x3d p__29256;\nvar map__29257__$1 \x3d cljs.core.__destructure_map(map__29257);\nvar particle \x3d map__29257__$1;\nvar vec__29259 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29257__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29259,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29259,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29257__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29257__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29257__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nquil.core.push_matrix();\n\nquil.core.rect_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2(x,y);\n\nquil.core.rotate.cljs$core$IFn$_invoke$arity$1(angle);\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$4((127),(0),(0),lifespan);\n\nquil.core.rect.cljs$core$IFn$_invoke$arity$4((0),(0),mass,mass);\n\nquil.core.pop_matrix();\n\nreturn particle;\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$draw(particle_systems){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nvar seq__29264 \x3d cljs.core.seq(particle_systems);\nvar chunk__29265 \x3d null;\nvar count__29266 \x3d (0);\nvar i__29267 \x3d (0);\nwhile(true){\nif((i__29267 \x3c count__29266)){\nvar particle_system \x3d chunk__29265.cljs$core$IIndexed$_nth$arity$2(null,i__29267);\nvar seq__29303_29345 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788).cljs$core$IFn$_invoke$arity$1(particle_system));\nvar chunk__29304_29346 \x3d null;\nvar count__29305_29347 \x3d (0);\nvar i__29306_29348 \x3d (0);\nwhile(true){\nif((i__29306_29348 \x3c count__29305_29347)){\nvar particle_29349 \x3d chunk__29304_29346.cljs$core$IIndexed$_nth$arity$2(null,i__29306_29348);\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw_particle(particle_29349);\n\n\nvar G__29350 \x3d seq__29303_29345;\nvar G__29351 \x3d chunk__29304_29346;\nvar G__29352 \x3d count__29305_29347;\nvar G__29353 \x3d (i__29306_29348 + (1));\nseq__29303_29345 \x3d G__29350;\nchunk__29304_29346 \x3d G__29351;\ncount__29305_29347 \x3d G__29352;\ni__29306_29348 \x3d G__29353;\ncontinue;\n} else {\nvar temp__5804__auto___29354 \x3d cljs.core.seq(seq__29303_29345);\nif(temp__5804__auto___29354){\nvar seq__29303_29355__$1 \x3d temp__5804__auto___29354;\nif(cljs.core.chunked_seq_QMARK_(seq__29303_29355__$1)){\nvar c__5568__auto___29356 \x3d cljs.core.chunk_first(seq__29303_29355__$1);\nvar G__29357 \x3d cljs.core.chunk_rest(seq__29303_29355__$1);\nvar G__29358 \x3d c__5568__auto___29356;\nvar G__29359 \x3d cljs.core.count(c__5568__auto___29356);\nvar G__29360 \x3d (0);\nseq__29303_29345 \x3d G__29357;\nchunk__29304_29346 \x3d G__29358;\ncount__29305_29347 \x3d G__29359;\ni__29306_29348 \x3d G__29360;\ncontinue;\n} else {\nvar particle_29361 \x3d cljs.core.first(seq__29303_29355__$1);\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw_particle(particle_29361);\n\n\nvar G__29362 \x3d cljs.core.next(seq__29303_29355__$1);\nvar G__29363 \x3d null;\nvar G__29364 \x3d (0);\nvar G__29365 \x3d (0);\nseq__29303_29345 \x3d G__29362;\nchunk__29304_29346 \x3d G__29363;\ncount__29305_29347 \x3d G__29364;\ni__29306_29348 \x3d G__29365;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__29366 \x3d seq__29264;\nvar G__29367 \x3d chunk__29265;\nvar G__29368 \x3d count__29266;\nvar G__29369 \x3d (i__29267 + (1));\nseq__29264 \x3d G__29366;\nchunk__29265 \x3d G__29367;\ncount__29266 \x3d G__29368;\ni__29267 \x3d G__29369;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__29264);\nif(temp__5804__auto__){\nvar seq__29264__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__29264__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__29264__$1);\nvar G__29371 \x3d cljs.core.chunk_rest(seq__29264__$1);\nvar G__29372 \x3d c__5568__auto__;\nvar G__29373 \x3d cljs.core.count(c__5568__auto__);\nvar G__29374 \x3d (0);\nseq__29264 \x3d G__29371;\nchunk__29265 \x3d G__29372;\ncount__29266 \x3d G__29373;\ni__29267 \x3d G__29374;\ncontinue;\n} else {\nvar particle_system \x3d cljs.core.first(seq__29264__$1);\nvar seq__29307_29375 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788).cljs$core$IFn$_invoke$arity$1(particle_system));\nvar chunk__29308_29376 \x3d null;\nvar count__29309_29377 \x3d (0);\nvar i__29310_29378 \x3d (0);\nwhile(true){\nif((i__29310_29378 \x3c count__29309_29377)){\nvar particle_29379 \x3d chunk__29308_29376.cljs$core$IIndexed$_nth$arity$2(null,i__29310_29378);\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw_particle(particle_29379);\n\n\nvar G__29380 \x3d seq__29307_29375;\nvar G__29381 \x3d chunk__29308_29376;\nvar G__29382 \x3d count__29309_29377;\nvar G__29383 \x3d (i__29310_29378 + (1));\nseq__29307_29375 \x3d G__29380;\nchunk__29308_29376 \x3d G__29381;\ncount__29309_29377 \x3d G__29382;\ni__29310_29378 \x3d G__29383;\ncontinue;\n} else {\nvar temp__5804__auto___29384__$1 \x3d cljs.core.seq(seq__29307_29375);\nif(temp__5804__auto___29384__$1){\nvar seq__29307_29385__$1 \x3d temp__5804__auto___29384__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__29307_29385__$1)){\nvar c__5568__auto___29386 \x3d cljs.core.chunk_first(seq__29307_29385__$1);\nvar G__29387 \x3d cljs.core.chunk_rest(seq__29307_29385__$1);\nvar G__29388 \x3d c__5568__auto___29386;\nvar G__29389 \x3d cljs.core.count(c__5568__auto___29386);\nvar G__29390 \x3d (0);\nseq__29307_29375 \x3d G__29387;\nchunk__29308_29376 \x3d G__29388;\ncount__29309_29377 \x3d G__29389;\ni__29310_29378 \x3d G__29390;\ncontinue;\n} else {\nvar particle_29391 \x3d cljs.core.first(seq__29307_29385__$1);\nsketches.nature_of_code.particle_systems.shutter_in_pieces.draw_particle(particle_29391);\n\n\nvar G__29393 \x3d cljs.core.next(seq__29307_29385__$1);\nvar G__29394 \x3d null;\nvar G__29395 \x3d (0);\nvar G__29396 \x3d (0);\nseq__29307_29375 \x3d G__29393;\nchunk__29308_29376 \x3d G__29394;\ncount__29309_29377 \x3d G__29395;\ni__29310_29378 \x3d G__29396;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__29397 \x3d cljs.core.next(seq__29264__$1);\nvar G__29398 \x3d null;\nvar G__29399 \x3d (0);\nvar G__29400 \x3d (0);\nseq__29264 \x3d G__29397;\nchunk__29265 \x3d G__29398;\ncount__29266 \x3d G__29399;\ni__29267 \x3d G__29400;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.is_particle_system_clicked \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$is_particle_system_clicked(p__29322,x,y){\nvar map__29323 \x3d p__29322;\nvar map__29323__$1 \x3d cljs.core.__destructure_map(map__29323);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29323__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar vec__29324 \x3d new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(cljs.core.first(particles));\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29324,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29324,(1),null);\nvar vec__29327 \x3d new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388).cljs$core$IFn$_invoke$arity$1(cljs.core.last(particles));\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29327,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29327,(1),null);\nreturn (((x \x3e x1)) \x26\x26 ((((y \x3e y1)) \x26\x26 ((((x \x3c x2)) \x26\x26 ((y \x3c y2)))))));\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.mouse_pressed \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$mouse_pressed(particle_systems,p__29333){\nvar map__29334 \x3d p__29333;\nvar map__29334__$1 \x3d cljs.core.__destructure_map(map__29334);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29334__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29334__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle_system){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(particle_system,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__29332_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (particle){\nreturn sketches.mover.apply_force(particle,sketches.nature_of_code.particle_systems.shutter_in_pieces.compute_explosion_force(particle,p1__29332_SHARP_));\n}),p1__29332_SHARP_);\n})),new cljs.core.Keyword(null,\x22exploding\x22,\x22exploding\x22,282565919),(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22exploding\x22,\x22exploding\x22,282565919).cljs$core$IFn$_invoke$arity$1(particle_system);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn sketches.nature_of_code.particle_systems.shutter_in_pieces.is_particle_system_clicked(particle_system,x,y);\n}\n})());\n}),particle_systems);\n});\nsketches.nature_of_code.particle_systems.shutter_in_pieces.run \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$run(host){\nsketches.nature_of_code.particle_systems.shutter_in_pieces.shutter_in_pieces \x3d (function sketches$nature_of_code$particle_systems$shutter_in_pieces$run_$_shutter_in_pieces(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29404__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29404 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29405__i \x3d 0, G__29405__a \x3d new Array(arguments.length - 0);\nwhile (G__29405__i \x3c G__29405__a.length) {G__29405__a[G__29405__i] \x3d arguments[G__29405__i + 0]; ++G__29405__i;}\n args \x3d new cljs.core.IndexedSeq(G__29405__a,0,null);\n} \nreturn G__29404__delegate.call(this,args);};\nG__29404.cljs$lang$maxFixedArity \x3d 0;\nG__29404.cljs$lang$applyTo \x3d (function (arglist__29406){\nvar args \x3d cljs.core.seq(arglist__29406);\nreturn G__29404__delegate(args);\n});\nG__29404.cljs$core$IFn$_invoke$arity$variadic \x3d G__29404__delegate;\nreturn G__29404;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.shutter_in_pieces.update_state))?(function() { \nvar G__29410__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.update_state,args);\n};\nvar G__29410 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29411__i \x3d 0, G__29411__a \x3d new Array(arguments.length - 0);\nwhile (G__29411__i \x3c G__29411__a.length) {G__29411__a[G__29411__i] \x3d arguments[G__29411__i + 0]; ++G__29411__i;}\n args \x3d new cljs.core.IndexedSeq(G__29411__a,0,null);\n} \nreturn G__29410__delegate.call(this,args);};\nG__29410.cljs$lang$maxFixedArity \x3d 0;\nG__29410.cljs$lang$applyTo \x3d (function (arglist__29414){\nvar args \x3d cljs.core.seq(arglist__29414);\nreturn G__29410__delegate(args);\n});\nG__29410.cljs$core$IFn$_invoke$arity$variadic \x3d G__29410__delegate;\nreturn G__29410;\n})()\n:sketches.nature_of_code.particle_systems.shutter_in_pieces.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.shutter_in_pieces.setup))?(function() { \nvar G__29415__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.setup,args);\n};\nvar G__29415 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29417__i \x3d 0, G__29417__a \x3d new Array(arguments.length - 0);\nwhile (G__29417__i \x3c G__29417__a.length) {G__29417__a[G__29417__i] \x3d arguments[G__29417__i + 0]; ++G__29417__i;}\n args \x3d new cljs.core.IndexedSeq(G__29417__a,0,null);\n} \nreturn G__29415__delegate.call(this,args);};\nG__29415.cljs$lang$maxFixedArity \x3d 0;\nG__29415.cljs$lang$applyTo \x3d (function (arglist__29418){\nvar args \x3d cljs.core.seq(arglist__29418);\nreturn G__29415__delegate(args);\n});\nG__29415.cljs$core$IFn$_invoke$arity$variadic \x3d G__29415__delegate;\nreturn G__29415;\n})()\n:sketches.nature_of_code.particle_systems.shutter_in_pieces.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.shutter_in_pieces.mouse_pressed))?(function() { \nvar G__29419__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.mouse_pressed,args);\n};\nvar G__29419 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29420__i \x3d 0, G__29420__a \x3d new Array(arguments.length - 0);\nwhile (G__29420__i \x3c G__29420__a.length) {G__29420__a[G__29420__i] \x3d arguments[G__29420__i + 0]; ++G__29420__i;}\n args \x3d new cljs.core.IndexedSeq(G__29420__a,0,null);\n} \nreturn G__29419__delegate.call(this,args);};\nG__29419.cljs$lang$maxFixedArity \x3d 0;\nG__29419.cljs$lang$applyTo \x3d (function (arglist__29421){\nvar args \x3d cljs.core.seq(arglist__29421);\nreturn G__29419__delegate(args);\n});\nG__29419.cljs$core$IFn$_invoke$arity$variadic \x3d G__29419__delegate;\nreturn G__29419;\n})()\n:sketches.nature_of_code.particle_systems.shutter_in_pieces.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.particle_systems.shutter_in_pieces.draw))?(function() { \nvar G__29422__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.particle_systems.shutter_in_pieces.draw,args);\n};\nvar G__29422 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29423__i \x3d 0, G__29423__a \x3d new Array(arguments.length - 0);\nwhile (G__29423__i \x3c G__29423__a.length) {G__29423__a[G__29423__i] \x3d arguments[G__29423__i + 0]; ++G__29423__i;}\n args \x3d new cljs.core.IndexedSeq(G__29423__a,0,null);\n} \nreturn G__29422__delegate.call(this,args);};\nG__29422.cljs$lang$maxFixedArity \x3d 0;\nG__29422.cljs$lang$applyTo \x3d (function (arglist__29425){\nvar args \x3d cljs.core.seq(arglist__29425);\nreturn G__29422__delegate(args);\n});\nG__29422.cljs$core$IFn$_invoke$arity$variadic \x3d G__29422__delegate;\nreturn G__29422;\n})()\n:sketches.nature_of_code.particle_systems.shutter_in_pieces.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.particle_systems.shutter_in_pieces.shutter_in_pieces\x27, sketches.nature_of_code.particle_systems.shutter_in_pieces.shutter_in_pieces);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.particle_systems.shutter_in_pieces.shutter_in_pieces,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__29429__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__29429 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__29430__i \x3d 0, G__29430__a \x3d new Array(arguments.length - 0);\nwhile (G__29430__i \x3c G__29430__a.length) {G__29430__a[G__29430__i] \x3d arguments[G__29430__i + 0]; ++G__29430__i;}\n args \x3d new cljs.core.IndexedSeq(G__29430__a,0,null);\n} \nreturn G__29429__delegate.call(this,args);};\nG__29429.cljs$lang$maxFixedArity \x3d 0;\nG__29429.cljs$lang$applyTo \x3d (function (arglist__29431){\nvar args \x3d cljs.core.seq(arglist__29431);\nreturn G__29429__delegate(args);\n});\nG__29429.cljs$core$IFn$_invoke$arity$variadic \x3d G__29429__delegate;\nreturn G__29429;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.particle_systems.core.js", true , "goog.provide(\x27sketches.nature_of_code.particle_systems.core\x27);\nsketches.nature_of_code.particle_systems.core.main \x3d (function sketches$nature_of_code$particle_systems$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Particle Systems\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Particle Force\x22,\x22Exercise 4.1\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise1\x22,sketches.nature_of_code.particle_systems.particle_force.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Rotating Particle\x22,\x22Exercise 4.2\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise2\x22,sketches.nature_of_code.particle_systems.rotating_particle.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Dynamic Origin\x22,\x22Exercise 4.3\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise3\x22,sketches.nature_of_code.particle_systems.dynamic_origin.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Asteroids with Particles\x22,\x22Exercise 4.4\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise4\x22,sketches.nature_of_code.particle_systems.asteroids_with_particles.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Particles on Click\x22,\x22Exercise 4.5\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise5\x22,sketches.nature_of_code.particle_systems.particles_on_click.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Shutter in Pieces\x22,\x22Exercise 4.6\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise6\x22,sketches.nature_of_code.particle_systems.shutter_in_pieces.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Mixed Particles\x22,\x22Exercise 4.8\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise8\x22,sketches.nature_of_code.particle_systems.mixed_particles.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Particles with Repellers\x22,\x22Exercise 4.9\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise9\x22,sketches.nature_of_code.particle_systems.particles_with_repellers.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Particles repel\x22,\x22Exercise 4.10\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise10\x22,sketches.nature_of_code.particle_systems.particles_repel.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Fire\x22,\x22Exercise 4.11\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise11\x22,sketches.nature_of_code.particle_systems.fire.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Particle with Images\x22,\x22Exercise 4.12\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise12\x22,sketches.nature_of_code.particle_systems.particles_with_images.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Rainbow Fire\x22,\x22Exercise 4.13\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise13\x22,sketches.nature_of_code.particle_systems.fire_rainbow.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Fire Blend\x22,\x22Exercise 4.14\x22,\x22https://natureofcode.com/book/chapter-4-particle-systems#chapter04_exercise14\x22,sketches.nature_of_code.particle_systems.fire_blend.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("module$node_modules$matter_js$build$matter.js", true , "shadow$provide.module$node_modules$matter_js$build$matter\x3dfunction(global$jscomp$0,require,module,exports){(function(f){\x22object\x22\x3d\x3d\x3dtypeof exports\x26\x26\x22undefined\x22!\x3d\x3dtypeof module?module.exports\x3df():\x22function\x22\x3d\x3d\x3dtypeof define\x26\x26define.amd?define([],f):(\x22undefined\x22!\x3d\x3dtypeof window?window:\x22undefined\x22!\x3d\x3dtypeof global$jscomp$0?global$jscomp$0:\x22undefined\x22!\x3d\x3dtypeof self?self:this).Matter\x3df()})(function(){return function(){function r$jscomp$0(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c\x3d\x22function\x22\x3d\x3dtypeof require\x26\x26\nrequire;if(!f\x26\x26c)return c(i,!0);if(u)return u(i,!0);f\x3dError(\x22Cannot find module \x27\x22+i+\x22\x27\x22);throw f.code\x3d\x22MODULE_NOT_FOUND\x22,f;}f\x3dn[i]\x3d{exports:{}};e[i][0].call(f.exports,function(r){return o(e[i][1][r]||r)},f,f.exports,r$jscomp$0,e,n,t)}return n[i].exports}for(var u\x3d\x22function\x22\x3d\x3dtypeof require\x26\x26require,i$jscomp$0\x3d0;i$jscomp$0\x3ct.length;i$jscomp$0++)o(t[i$jscomp$0]);return o}return r$jscomp$0}()({1:[function(_dereq_,module,exports){var Body\x3d{};module.exports\x3dBody;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),\nVector\x3d_dereq_(\x22../geometry/Vector\x22),Sleeping\x3d_dereq_(\x22../core/Sleeping\x22);_dereq_(\x22../render/Render\x22);var Common\x3d_dereq_(\x22../core/Common\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Axes\x3d_dereq_(\x22../geometry/Axes\x22);(function(){Body._inertiaScale\x3d4;Body._nextCollidingGroupId\x3d1;Body._nextNonCollidingGroupId\x3d-1;Body._nextCategory\x3d1;Body.create\x3dfunction(options){var defaults\x3d{id:Common.nextId(),type:\x22body\x22,label:\x22Body\x22,parts:[],plugin:{},angle:0,vertices:Vertices.fromPath(\x22L 0 0 L 40 0 L 40 40 L 0 40\x22),position:{x:0,\ny:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,render:{visible:!0,opacity:1,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0},lineWidth:0}};defaults\x3dCommon.extend(defaults,\noptions);options\x3doptions||{};Body.set(defaults,{bounds:defaults.bounds||Bounds.create(defaults.vertices),positionPrev:defaults.positionPrev||Vector.clone(defaults.position),anglePrev:defaults.anglePrev||defaults.angle,vertices:defaults.vertices,parts:defaults.parts||[defaults],isStatic:defaults.isStatic,isSleeping:defaults.isSleeping,parent:defaults.parent||defaults});Vertices.rotate(defaults.vertices,defaults.angle,defaults.position);Axes.rotate(defaults.axes,defaults.angle);Bounds.update(defaults.bounds,\ndefaults.vertices,defaults.velocity);Body.set(defaults,{axes:options.axes||defaults.axes,area:options.area||defaults.area,mass:options.mass||defaults.mass,inertia:options.inertia||defaults.inertia});options\x3ddefaults.isStatic?\x22#2e2b44\x22:Common.choose([\x22#006BA6\x22,\x22#0496FF\x22,\x22#FFBC42\x22,\x22#D81159\x22,\x22#8F2D56\x22]);defaults.render.fillStyle\x3ddefaults.render.fillStyle||options;defaults.render.strokeStyle\x3ddefaults.render.strokeStyle||\x22#000\x22;defaults.render.sprite.xOffset+\x3d-(defaults.bounds.min.x-defaults.position.x)/\n(defaults.bounds.max.x-defaults.bounds.min.x);defaults.render.sprite.yOffset+\x3d-(defaults.bounds.min.y-defaults.position.y)/(defaults.bounds.max.y-defaults.bounds.min.y);return defaults};Body.nextGroup\x3dfunction(isNonColliding){return isNonColliding?Body._nextNonCollidingGroupId--:Body._nextCollidingGroupId++};Body.nextCategory\x3dfunction(){Body._nextCategory\x3c\x3c\x3d1;return Body._nextCategory};Body.set\x3dfunction(body,settings,value){if(\x22string\x22\x3d\x3d\x3dtypeof settings){var property\x3dsettings;settings\x3d{};settings[property]\x3d\nvalue}for(property in settings)if(value\x3dsettings[property],settings.hasOwnProperty(property))switch(property){case \x22isStatic\x22:Body.setStatic(body,value);break;case \x22isSleeping\x22:Sleeping.set(body,value);break;case \x22mass\x22:Body.setMass(body,value);break;case \x22density\x22:Body.setDensity(body,value);break;case \x22inertia\x22:Body.setInertia(body,value);break;case \x22vertices\x22:Body.setVertices(body,value);break;case \x22position\x22:Body.setPosition(body,value);break;case \x22angle\x22:Body.setAngle(body,value);break;case \x22velocity\x22:Body.setVelocity(body,\nvalue);break;case \x22angularVelocity\x22:Body.setAngularVelocity(body,value);break;case \x22parts\x22:Body.setParts(body,value);break;default:body[property]\x3dvalue}};Body.setStatic\x3dfunction(body,isStatic){for(var i\x3d0;i\x3cbody.parts.length;i++){var part\x3dbody.parts[i];(part.isStatic\x3disStatic)?(part._original\x3d{restitution:part.restitution,friction:part.friction,mass:part.mass,inertia:part.inertia,density:part.density,inverseMass:part.inverseMass,inverseInertia:part.inverseInertia},part.restitution\x3d0,part.friction\x3d\n1,part.mass\x3dpart.inertia\x3dpart.density\x3dInfinity,part.inverseMass\x3dpart.inverseInertia\x3d0,part.positionPrev.x\x3dpart.position.x,part.positionPrev.y\x3dpart.position.y,part.anglePrev\x3dpart.angle,part.angularVelocity\x3d0,part.speed\x3d0,part.angularSpeed\x3d0,part.motion\x3d0):part._original\x26\x26(part.restitution\x3dpart._original.restitution,part.friction\x3dpart._original.friction,part.mass\x3dpart._original.mass,part.inertia\x3dpart._original.inertia,part.density\x3dpart._original.density,part.inverseMass\x3dpart._original.inverseMass,part.inverseInertia\x3d\npart._original.inverseInertia,delete part._original)}};Body.setMass\x3dfunction(body,mass){body.inertia\x3dbody.inertia/(body.mass/6)*(mass/6);body.inverseInertia\x3d1/body.inertia;body.mass\x3dmass;body.inverseMass\x3d1/body.mass;body.density\x3dbody.mass/body.area};Body.setDensity\x3dfunction(body,density){Body.setMass(body,density*body.area);body.density\x3ddensity};Body.setInertia\x3dfunction(body,inertia){body.inertia\x3dinertia;body.inverseInertia\x3d1/body.inertia};Body.setVertices\x3dfunction(body,vertices){body.vertices\x3dvertices[0].body\x3d\x3d\x3d\nbody?vertices:Vertices.create(vertices,body);body.axes\x3dAxes.fromVertices(body.vertices);body.area\x3dVertices.area(body.vertices);Body.setMass(body,body.density*body.area);vertices\x3dVertices.centre(body.vertices);Vertices.translate(body.vertices,vertices,-1);Body.setInertia(body,Body._inertiaScale*Vertices.inertia(body.vertices,body.mass));Vertices.translate(body.vertices,body.position);Bounds.update(body.bounds,body.vertices,body.velocity)};Body.setParts\x3dfunction(body,parts,autoHull){var i;parts\x3dparts.slice(0);\nbody.parts.length\x3d0;body.parts.push(body);body.parent\x3dbody;for(i\x3d0;i\x3cparts.length;i++){var part\x3dparts[i];part!\x3d\x3dbody\x26\x26(part.parent\x3dbody,body.parts.push(part))}if(1!\x3d\x3dbody.parts.length){if(\x22undefined\x22!\x3d\x3dtypeof autoHull?autoHull:1){autoHull\x3d[];for(i\x3d0;i\x3cparts.length;i++)autoHull\x3dautoHull.concat(parts[i].vertices);Vertices.clockwiseSort(autoHull);parts\x3dVertices.hull(autoHull);i\x3dVertices.centre(parts);Body.setVertices(body,parts);Vertices.translate(body.vertices,i)}parts\x3dBody._totalProperties(body);body.area\x3d\nparts.area;body.parent\x3dbody;body.position.x\x3dparts.centre.x;body.position.y\x3dparts.centre.y;body.positionPrev.x\x3dparts.centre.x;body.positionPrev.y\x3dparts.centre.y;Body.setMass(body,parts.mass);Body.setInertia(body,parts.inertia);Body.setPosition(body,parts.centre)}};Body.setPosition\x3dfunction(body,position){position\x3dVector.sub(position,body.position);body.positionPrev.x+\x3dposition.x;body.positionPrev.y+\x3dposition.y;for(var i\x3d0;i\x3cbody.parts.length;i++){var part\x3dbody.parts[i];part.position.x+\x3dposition.x;\npart.position.y+\x3dposition.y;Vertices.translate(part.vertices,position);Bounds.update(part.bounds,part.vertices,body.velocity)}};Body.setAngle\x3dfunction(body,angle){angle-\x3dbody.angle;body.anglePrev+\x3dangle;for(var i\x3d0;i\x3cbody.parts.length;i++){var part\x3dbody.parts[i];part.angle+\x3dangle;Vertices.rotate(part.vertices,angle,body.position);Axes.rotate(part.axes,angle);Bounds.update(part.bounds,part.vertices,body.velocity);0\x3ci\x26\x26Vector.rotateAbout(part.position,angle,body.position,part.position)}};Body.setVelocity\x3d\nfunction(body,velocity){body.positionPrev.x\x3dbody.position.x-velocity.x;body.positionPrev.y\x3dbody.position.y-velocity.y;body.velocity.x\x3dvelocity.x;body.velocity.y\x3dvelocity.y;body.speed\x3dVector.magnitude(body.velocity)};Body.setAngularVelocity\x3dfunction(body,velocity){body.anglePrev\x3dbody.angle-velocity;body.angularVelocity\x3dvelocity;body.angularSpeed\x3dMath.abs(body.angularVelocity)};Body.translate\x3dfunction(body,translation){Body.setPosition(body,Vector.add(body.position,translation))};Body.rotate\x3dfunction(body,\nrotation,point){if(point){var cos\x3dMath.cos(rotation),sin\x3dMath.sin(rotation),dx\x3dbody.position.x-point.x,dy\x3dbody.position.y-point.y;Body.setPosition(body,{x:point.x+(dx*cos-dy*sin),y:point.y+(dx*sin+dy*cos)})}Body.setAngle(body,body.angle+rotation)};Body.scale\x3dfunction(body,scaleX,scaleY,point){var totalArea\x3d0,totalInertia\x3d0;point\x3dpoint||body.position;for(var i\x3d0;i\x3cbody.parts.length;i++){var part\x3dbody.parts[i];Vertices.scale(part.vertices,scaleX,scaleY,point);part.axes\x3dAxes.fromVertices(part.vertices);\npart.area\x3dVertices.area(part.vertices);Body.setMass(part,body.density*part.area);Vertices.translate(part.vertices,{x:-part.position.x,y:-part.position.y});Body.setInertia(part,Body._inertiaScale*Vertices.inertia(part.vertices,part.mass));Vertices.translate(part.vertices,{x:part.position.x,y:part.position.y});0\x3ci\x26\x26(totalArea+\x3dpart.area,totalInertia+\x3dpart.inertia);part.position.x\x3dpoint.x+(part.position.x-point.x)*scaleX;part.position.y\x3dpoint.y+(part.position.y-point.y)*scaleY;Bounds.update(part.bounds,\npart.vertices,body.velocity)}1\x3cbody.parts.length\x26\x26(body.area\x3dtotalArea,body.isStatic||(Body.setMass(body,body.density*totalArea),Body.setInertia(body,totalInertia)));body.circleRadius\x26\x26(body.circleRadius\x3dscaleX\x3d\x3d\x3dscaleY?body.circleRadius*scaleX:null)};Body.update\x3dfunction(body,deltaTime,timeScale,correction){deltaTime\x3dMath.pow(deltaTime*timeScale*body.timeScale,2);timeScale\x3d1-body.frictionAir*timeScale*body.timeScale;var velocityPrevY\x3dbody.position.y-body.positionPrev.y;body.velocity.x\x3d(body.position.x-\nbody.positionPrev.x)*timeScale*correction+body.force.x/body.mass*deltaTime;body.velocity.y\x3dvelocityPrevY*timeScale*correction+body.force.y/body.mass*deltaTime;body.positionPrev.x\x3dbody.position.x;body.positionPrev.y\x3dbody.position.y;body.position.x+\x3dbody.velocity.x;body.position.y+\x3dbody.velocity.y;body.angularVelocity\x3d(body.angle-body.anglePrev)*timeScale*correction+body.torque/body.inertia*deltaTime;body.anglePrev\x3dbody.angle;body.angle+\x3dbody.angularVelocity;body.speed\x3dVector.magnitude(body.velocity);\nbody.angularSpeed\x3dMath.abs(body.angularVelocity);for(correction\x3d0;correction\x3cbody.parts.length;correction++)deltaTime\x3dbody.parts[correction],Vertices.translate(deltaTime.vertices,body.velocity),0\x3ccorrection\x26\x26(deltaTime.position.x+\x3dbody.velocity.x,deltaTime.position.y+\x3dbody.velocity.y),0!\x3d\x3dbody.angularVelocity\x26\x26(Vertices.rotate(deltaTime.vertices,body.angularVelocity,body.position),Axes.rotate(deltaTime.axes,body.angularVelocity),0\x3ccorrection\x26\x26Vector.rotateAbout(deltaTime.position,body.angularVelocity,\nbody.position,deltaTime.position)),Bounds.update(deltaTime.bounds,deltaTime.vertices,body.velocity)};Body.applyForce\x3dfunction(body,position,force){body.force.x+\x3dforce.x;body.force.y+\x3dforce.y;body.torque+\x3d(position.x-body.position.x)*force.y-(position.y-body.position.y)*force.x};Body._totalProperties\x3dfunction(body){for(var properties\x3d{mass:0,area:0,inertia:0,centre:{x:0,y:0}},i\x3d1\x3d\x3d\x3dbody.parts.length?0:1;i\x3cbody.parts.length;i++){var part\x3dbody.parts[i],mass\x3dInfinity!\x3d\x3dpart.mass?part.mass:1;properties.mass+\x3d\nmass;properties.area+\x3dpart.area;properties.inertia+\x3dpart.inertia;properties.centre\x3dVector.add(properties.centre,Vector.mult(part.position,mass))}properties.centre\x3dVector.div(properties.centre,properties.mass);return properties}})()},{\x22../core/Common\x22:14,\x22../core/Sleeping\x22:22,\x22../geometry/Axes\x22:25,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29,\x22../render/Render\x22:31}],2:[function(_dereq_,module,exports){var Composite\x3d{};module.exports\x3dComposite;var Events\x3d_dereq_(\x22../core/Events\x22),\nCommon\x3d_dereq_(\x22../core/Common\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Body\x3d_dereq_(\x22./Body\x22);(function(){Composite.create\x3dfunction(options){return Common.extend({id:Common.nextId(),type:\x22composite\x22,parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:\x22Composite\x22,plugin:{}},options)};Composite.setModified\x3dfunction(composite,isModified,updateParents,updateChildren){composite.isModified\x3disModified;updateParents\x26\x26composite.parent\x26\x26Composite.setModified(composite.parent,isModified,updateParents,\nupdateChildren);if(updateChildren)for(var i\x3d0;i\x3ccomposite.composites.length;i++)Composite.setModified(composite.composites[i],isModified,updateParents,updateChildren)};Composite.add\x3dfunction(composite,object){var objects\x3d[].concat(object);Events.trigger(composite,\x22beforeAdd\x22,{object});for(var i\x3d0;i\x3cobjects.length;i++){var obj\x3dobjects[i];switch(obj.type){case \x22body\x22:if(obj.parent!\x3d\x3dobj){Common.warn(\x22Composite.add: skipped adding a compound body part (you must add its parent instead)\x22);break}Composite.addBody(composite,\nobj);break;case \x22constraint\x22:Composite.addConstraint(composite,obj);break;case \x22composite\x22:Composite.addComposite(composite,obj);break;case \x22mouseConstraint\x22:Composite.addConstraint(composite,obj.constraint)}}Events.trigger(composite,\x22afterAdd\x22,{object});return composite};Composite.remove\x3dfunction(composite,object,deep){var objects\x3d[].concat(object);Events.trigger(composite,\x22beforeRemove\x22,{object});for(var i\x3d0;i\x3cobjects.length;i++){var obj\x3dobjects[i];switch(obj.type){case \x22body\x22:Composite.removeBody(composite,\nobj,deep);break;case \x22constraint\x22:Composite.removeConstraint(composite,obj,deep);break;case \x22composite\x22:Composite.removeComposite(composite,obj,deep);break;case \x22mouseConstraint\x22:Composite.removeConstraint(composite,obj.constraint)}}Events.trigger(composite,\x22afterRemove\x22,{object});return composite};Composite.addComposite\x3dfunction(compositeA,compositeB){compositeA.composites.push(compositeB);compositeB.parent\x3dcompositeA;Composite.setModified(compositeA,!0,!0,!1);return compositeA};Composite.removeComposite\x3d\nfunction(compositeA,compositeB,deep){var position\x3dCommon.indexOf(compositeA.composites,compositeB);-1!\x3d\x3dposition\x26\x26(Composite.removeCompositeAt(compositeA,position),Composite.setModified(compositeA,!0,!0,!1));if(deep)for(deep\x3d0;deep\x3ccompositeA.composites.length;deep++)Composite.removeComposite(compositeA.composites[deep],compositeB,!0);return compositeA};Composite.removeCompositeAt\x3dfunction(composite,position){composite.composites.splice(position,1);Composite.setModified(composite,!0,!0,!1);return composite};\nComposite.addBody\x3dfunction(composite,body){composite.bodies.push(body);Composite.setModified(composite,!0,!0,!1);return composite};Composite.removeBody\x3dfunction(composite,body,deep){var position\x3dCommon.indexOf(composite.bodies,body);-1!\x3d\x3dposition\x26\x26(Composite.removeBodyAt(composite,position),Composite.setModified(composite,!0,!0,!1));if(deep)for(deep\x3d0;deep\x3ccomposite.composites.length;deep++)Composite.removeBody(composite.composites[deep],body,!0);return composite};Composite.removeBodyAt\x3dfunction(composite,\nposition){composite.bodies.splice(position,1);Composite.setModified(composite,!0,!0,!1);return composite};Composite.addConstraint\x3dfunction(composite,constraint){composite.constraints.push(constraint);Composite.setModified(composite,!0,!0,!1);return composite};Composite.removeConstraint\x3dfunction(composite,constraint,deep){var position\x3dCommon.indexOf(composite.constraints,constraint);-1!\x3d\x3dposition\x26\x26Composite.removeConstraintAt(composite,position);if(deep)for(deep\x3d0;deep\x3ccomposite.composites.length;deep++)Composite.removeConstraint(composite.composites[deep],\nconstraint,!0);return composite};Composite.removeConstraintAt\x3dfunction(composite,position){composite.constraints.splice(position,1);Composite.setModified(composite,!0,!0,!1);return composite};Composite.clear\x3dfunction(composite,keepStatic,deep){if(deep)for(deep\x3d0;deep\x3ccomposite.composites.length;deep++)Composite.clear(composite.composites[deep],keepStatic,!0);keepStatic?composite.bodies\x3dcomposite.bodies.filter(function(body){return body.isStatic}):composite.bodies.length\x3d0;composite.constraints.length\x3d\n0;composite.composites.length\x3d0;Composite.setModified(composite,!0,!0,!1);return composite};Composite.allBodies\x3dfunction(composite){for(var bodies\x3d[].concat(composite.bodies),i\x3d0;i\x3ccomposite.composites.length;i++)bodies\x3dbodies.concat(Composite.allBodies(composite.composites[i]));return bodies};Composite.allConstraints\x3dfunction(composite){for(var constraints\x3d[].concat(composite.constraints),i\x3d0;i\x3ccomposite.composites.length;i++)constraints\x3dconstraints.concat(Composite.allConstraints(composite.composites[i]));\nreturn constraints};Composite.allComposites\x3dfunction(composite){for(var composites\x3d[].concat(composite.composites),i\x3d0;i\x3ccomposite.composites.length;i++)composites\x3dcomposites.concat(Composite.allComposites(composite.composites[i]));return composites};Composite.get\x3dfunction(composite,id,type){switch(type){case \x22body\x22:var objects\x3dComposite.allBodies(composite);break;case \x22constraint\x22:objects\x3dComposite.allConstraints(composite);break;case \x22composite\x22:objects\x3dComposite.allComposites(composite).concat(composite)}if(!objects)return null;\ncomposite\x3dobjects.filter(function(object){return object.id.toString()\x3d\x3d\x3did.toString()});return 0\x3d\x3d\x3dcomposite.length?null:composite[0]};Composite.move\x3dfunction(compositeA,objects,compositeB){Composite.remove(compositeA,objects);Composite.add(compositeB,objects);return compositeA};Composite.rebase\x3dfunction(composite){for(var objects\x3dComposite.allBodies(composite).concat(Composite.allConstraints(composite)).concat(Composite.allComposites(composite)),i\x3d0;i\x3cobjects.length;i++)objects[i].id\x3dCommon.nextId();\nComposite.setModified(composite,!0,!0,!1);return composite};Composite.translate\x3dfunction(composite,translation,recursive){recursive\x3drecursive?Composite.allBodies(composite):composite.bodies;for(var i\x3d0;i\x3crecursive.length;i++)Body.translate(recursive[i],translation);Composite.setModified(composite,!0,!0,!1);return composite};Composite.rotate\x3dfunction(composite,rotation,point,recursive){var cos\x3dMath.cos(rotation),sin\x3dMath.sin(rotation);recursive\x3drecursive?Composite.allBodies(composite):composite.bodies;\nfor(var i\x3d0;i\x3crecursive.length;i++){var body\x3drecursive[i],dx\x3dbody.position.x-point.x,dy\x3dbody.position.y-point.y;Body.setPosition(body,{x:point.x+(dx*cos-dy*sin),y:point.y+(dx*sin+dy*cos)});Body.rotate(body,rotation)}Composite.setModified(composite,!0,!0,!1);return composite};Composite.scale\x3dfunction(composite,scaleX,scaleY,point,recursive){recursive\x3drecursive?Composite.allBodies(composite):composite.bodies;for(var i\x3d0;i\x3crecursive.length;i++){var body\x3drecursive[i];Body.setPosition(body,{x:point.x+\n(body.position.x-point.x)*scaleX,y:point.y+(body.position.y-point.y)*scaleY});Body.scale(body,scaleX,scaleY)}Composite.setModified(composite,!0,!0,!1);return composite};Composite.bounds\x3dfunction(composite){composite\x3dComposite.allBodies(composite);for(var vertices\x3d[],i\x3d0;i\x3ccomposite.length;i+\x3d1){var body\x3dcomposite[i];vertices.push(body.bounds.min,body.bounds.max)}return Bounds.create(vertices)}})()},{\x22../core/Common\x22:14,\x22../core/Events\x22:16,\x22../geometry/Bounds\x22:26,\x22./Body\x22:1}],3:[function(_dereq_,module,\nexports){var World\x3d{};module.exports\x3dWorld;var Composite\x3d_dereq_(\x22./Composite\x22);_dereq_(\x22../constraint/Constraint\x22);var Common\x3d_dereq_(\x22../core/Common\x22);(function(){World.create\x3dfunction(options){var composite\x3dComposite.create();return Common.extend(composite,{label:\x22World\x22,gravity:{x:0,y:1,scale:.001},bounds:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}}},options)}})()},{\x22../constraint/Constraint\x22:12,\x22../core/Common\x22:14,\x22./Composite\x22:2}],4:[function(_dereq_,module,exports){var Contact\x3d\n{};module.exports\x3dContact;(function(){Contact.create\x3dfunction(vertex){return{id:Contact.id(vertex),vertex,normalImpulse:0,tangentImpulse:0}};Contact.id\x3dfunction(vertex){return vertex.body.id+\x22_\x22+vertex.index}})()},{}],5:[function(_dereq_,module,exports){var Detector\x3d{};module.exports\x3dDetector;var SAT\x3d_dereq_(\x22./SAT\x22),Pair\x3d_dereq_(\x22./Pair\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22);(function(){Detector.collisions\x3dfunction(broadphasePairs,engine){var collisions\x3d[];engine\x3dengine.pairs.table;for(var i\x3d0;i\x3c\nbroadphasePairs.length;i++){var bodyA\x3dbroadphasePairs[i][0],bodyB\x3dbroadphasePairs[i][1];if((!bodyA.isStatic\x26\x26!bodyA.isSleeping||!bodyB.isStatic\x26\x26!bodyB.isSleeping)\x26\x26Detector.canCollide(bodyA.collisionFilter,bodyB.collisionFilter)\x26\x26Bounds.overlaps(bodyA.bounds,bodyB.bounds))for(var j\x3d1\x3cbodyA.parts.length?1:0;j\x3cbodyA.parts.length;j++)for(var partA\x3dbodyA.parts[j],k\x3d1\x3cbodyB.parts.length?1:0;k\x3cbodyB.parts.length;k++){var partB\x3dbodyB.parts[k];if(partA\x3d\x3d\x3dbodyA\x26\x26partB\x3d\x3d\x3dbodyB||Bounds.overlaps(partA.bounds,\npartB.bounds)){var pairId\x3dPair.id(partA,partB);pairId\x3dengine[pairId];partB\x3dSAT.collides(partA,partB,pairId\x26\x26pairId.isActive?pairId.collision:null);partB.collided\x26\x26collisions.push(partB)}}}return collisions};Detector.canCollide\x3dfunction(filterA,filterB){return filterA.group\x3d\x3d\x3dfilterB.group\x26\x260!\x3d\x3dfilterA.group?0\x3cfilterA.group:0!\x3d\x3d(filterA.mask\x26filterB.category)\x26\x260!\x3d\x3d(filterB.mask\x26filterA.category)}})()},{\x22../geometry/Bounds\x22:26,\x22./Pair\x22:7,\x22./SAT\x22:11}],6:[function(_dereq_,module,exports){var Grid\x3d{};\nmodule.exports\x3dGrid;var Pair\x3d_dereq_(\x22./Pair\x22),Detector\x3d_dereq_(\x22./Detector\x22),Common\x3d_dereq_(\x22../core/Common\x22);(function(){Grid.create\x3dfunction(options){return Common.extend({controller:Grid,detector:Detector.collisions,buckets:{},pairs:{},pairsList:[],bucketWidth:48,bucketHeight:48},options)};Grid.update\x3dfunction(grid,bodies,engine,forceUpdate){var row,world\x3dengine.world,buckets\x3dgrid.buckets;var col\x3d!1;for(engine\x3d0;engine\x3cbodies.length;engine++){var body\x3dbodies[engine];if(!(body.isSleeping\x26\x26!forceUpdate||\nbody.bounds.max.x\x3cworld.bounds.min.x||body.bounds.min.x\x3eworld.bounds.max.x||body.bounds.max.y\x3cworld.bounds.min.y||body.bounds.min.y\x3eworld.bounds.max.y)){var newRegion\x3dGrid._getRegion(grid,body);if(!body.region||newRegion.id!\x3d\x3dbody.region.id||forceUpdate){if(!body.region||forceUpdate)body.region\x3dnewRegion;var union\x3dGrid._regionUnion(newRegion,body.region);for(col\x3dunion.startCol;col\x3c\x3dunion.endCol;col++)for(row\x3dunion.startRow;row\x3c\x3dunion.endRow;row++){var bucketId\x3dGrid._getBucketId(col,row);var bucket\x3d\nbuckets[bucketId];var isInsideNewRegion\x3dcol\x3e\x3dnewRegion.startCol\x26\x26col\x3c\x3dnewRegion.endCol\x26\x26row\x3e\x3dnewRegion.startRow\x26\x26row\x3c\x3dnewRegion.endRow,isInsideOldRegion\x3dcol\x3e\x3dbody.region.startCol\x26\x26col\x3c\x3dbody.region.endCol\x26\x26row\x3e\x3dbody.region.startRow\x26\x26row\x3c\x3dbody.region.endRow;!isInsideNewRegion\x26\x26isInsideOldRegion\x26\x26isInsideOldRegion\x26\x26bucket\x26\x26Grid._bucketRemoveBody(grid,bucket,body);if(body.region\x3d\x3d\x3dnewRegion||isInsideNewRegion\x26\x26!isInsideOldRegion||forceUpdate)bucket||\x3dGrid._createBucket(buckets,bucketId),Grid._bucketAddBody(grid,\nbucket,body)}body.region\x3dnewRegion;col\x3d!0}}}col\x26\x26(grid.pairsList\x3dGrid._createActivePairsList(grid))};Grid.clear\x3dfunction(grid){grid.buckets\x3d{};grid.pairs\x3d{};grid.pairsList\x3d[]};Grid._regionUnion\x3dfunction(regionA,regionB){return Grid._createRegion(Math.min(regionA.startCol,regionB.startCol),Math.max(regionA.endCol,regionB.endCol),Math.min(regionA.startRow,regionB.startRow),Math.max(regionA.endRow,regionB.endRow))};Grid._getRegion\x3dfunction(grid,body){body\x3dbody.bounds;return Grid._createRegion(Math.floor(body.min.x/\ngrid.bucketWidth),Math.floor(body.max.x/grid.bucketWidth),Math.floor(body.min.y/grid.bucketHeight),Math.floor(body.max.y/grid.bucketHeight))};Grid._createRegion\x3dfunction(startCol,endCol,startRow,endRow){return{id:startCol+\x22,\x22+endCol+\x22,\x22+startRow+\x22,\x22+endRow,startCol,endCol,startRow,endRow}};Grid._getBucketId\x3dfunction(column,row){return\x22C\x22+column+\x22R\x22+row};Grid._createBucket\x3dfunction(buckets,bucketId){return buckets[bucketId]\x3d[]};Grid._bucketAddBody\x3dfunction(grid,bucket,body){for(var i\x3d0;i\x3cbucket.length;i++){var bodyB\x3d\nbucket[i];if(!(body.id\x3d\x3d\x3dbodyB.id||body.isStatic\x26\x26bodyB.isStatic)){var pairId\x3dPair.id(body,bodyB),pair\x3dgrid.pairs[pairId];pair?pair[2]+\x3d1:grid.pairs[pairId]\x3d[body,bodyB,1]}}bucket.push(body)};Grid._bucketRemoveBody\x3dfunction(grid,bucket,body){bucket.splice(Common.indexOf(bucket,body),1);for(var i\x3d0;i\x3cbucket.length;i++){var pairId\x3dPair.id(body,bucket[i]);(pairId\x3dgrid.pairs[pairId])\x26\x26--pairId[2]}};Grid._createActivePairsList\x3dfunction(grid){var pairs\x3d[];var pairKeys\x3dCommon.keys(grid.pairs);for(var k\x3d\n0;k\x3cpairKeys.length;k++){var pair\x3dgrid.pairs[pairKeys[k]];0\x3cpair[2]?pairs.push(pair):delete grid.pairs[pairKeys[k]]}return pairs}})()},{\x22../core/Common\x22:14,\x22./Detector\x22:5,\x22./Pair\x22:7}],7:[function(_dereq_,module,exports){var Pair\x3d{};module.exports\x3dPair;var Contact\x3d_dereq_(\x22./Contact\x22);(function(){Pair.create\x3dfunction(collision,timestamp){var bodyA\x3dcollision.bodyA,bodyB\x3dcollision.bodyB,parentA\x3dcollision.parentA,parentB\x3dcollision.parentB;bodyA\x3d{id:Pair.id(bodyA,bodyB),bodyA,bodyB,contacts:{},activeContacts:[],\nseparation:0,isActive:!0,isSensor:bodyA.isSensor||bodyB.isSensor,timeCreated:timestamp,timeUpdated:timestamp,inverseMass:parentA.inverseMass+parentB.inverseMass,friction:Math.min(parentA.friction,parentB.friction),frictionStatic:Math.max(parentA.frictionStatic,parentB.frictionStatic),restitution:Math.max(parentA.restitution,parentB.restitution),slop:Math.max(parentA.slop,parentB.slop)};Pair.update(bodyA,collision,timestamp);return bodyA};Pair.update\x3dfunction(pair,collision,timestamp){var contacts\x3d\npair.contacts,supports\x3dcollision.supports,activeContacts\x3dpair.activeContacts,parentA\x3dcollision.parentA,parentB\x3dcollision.parentB;pair.collision\x3dcollision;pair.inverseMass\x3dparentA.inverseMass+parentB.inverseMass;pair.friction\x3dMath.min(parentA.friction,parentB.friction);pair.frictionStatic\x3dMath.max(parentA.frictionStatic,parentB.frictionStatic);pair.restitution\x3dMath.max(parentA.restitution,parentB.restitution);pair.slop\x3dMath.max(parentA.slop,parentB.slop);activeContacts.length\x3d0;if(collision.collided){for(parentA\x3d\n0;parentA\x3csupports.length;parentA++){parentB\x3dsupports[parentA];var contactId\x3dContact.id(parentB),contact\x3dcontacts[contactId];contact?activeContacts.push(contact):activeContacts.push(contacts[contactId]\x3dContact.create(parentB))}pair.separation\x3dcollision.depth;Pair.setActive(pair,!0,timestamp)}else!0\x3d\x3d\x3dpair.isActive\x26\x26Pair.setActive(pair,!1,timestamp)};Pair.setActive\x3dfunction(pair,isActive,timestamp){isActive?(pair.isActive\x3d!0,pair.timeUpdated\x3dtimestamp):(pair.isActive\x3d!1,pair.activeContacts.length\x3d\n0)};Pair.id\x3dfunction(bodyA,bodyB){return bodyA.id\x3cbodyB.id?\x22A\x22+bodyA.id+\x22B\x22+bodyB.id:\x22A\x22+bodyB.id+\x22B\x22+bodyA.id}})()},{\x22./Contact\x22:4}],8:[function(_dereq_,module,exports){var Pairs\x3d{};module.exports\x3dPairs;var Pair\x3d_dereq_(\x22./Pair\x22),Common\x3d_dereq_(\x22../core/Common\x22);(function(){Pairs._pairMaxIdleLife\x3d1E3;Pairs.create\x3dfunction(options){return Common.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},options)};Pairs.update\x3dfunction(pairs,collisions,timestamp){var pairsList\x3d\npairs.list,pairsTable\x3dpairs.table,collisionStart\x3dpairs.collisionStart,collisionEnd\x3dpairs.collisionEnd;pairs\x3dpairs.collisionActive;var activePairIds\x3d[],pair,i;collisionStart.length\x3d0;collisionEnd.length\x3d0;for(i\x3dpairs.length\x3d0;i\x3ccollisions.length;i++){var collision\x3dcollisions[i];if(collision.collided){var pairId\x3dPair.id(collision.bodyA,collision.bodyB);activePairIds.push(pairId);(pair\x3dpairsTable[pairId])?(pair.isActive?pairs.push(pair):collisionStart.push(pair),Pair.update(pair,collision,timestamp)):\n(pair\x3dPair.create(collision,timestamp),pairsTable[pairId]\x3dpair,collisionStart.push(pair),pairsList.push(pair))}}for(i\x3d0;i\x3cpairsList.length;i++)pair\x3dpairsList[i],pair.isActive\x26\x26-1\x3d\x3d\x3dCommon.indexOf(activePairIds,pair.id)\x26\x26(Pair.setActive(pair,!1,timestamp),collisionEnd.push(pair))};Pairs.removeOld\x3dfunction(pairs,timestamp){var pairsList\x3dpairs.list;pairs\x3dpairs.table;var indexesToRemove\x3d[],i;for(i\x3d0;i\x3cpairsList.length;i++){var pair\x3dpairsList[i];var collision\x3dpair.collision;collision.bodyA.isSleeping||\ncollision.bodyB.isSleeping?pair.timeUpdated\x3dtimestamp:timestamp-pair.timeUpdated\x3ePairs._pairMaxIdleLife\x26\x26indexesToRemove.push(i)}for(i\x3d0;i\x3cindexesToRemove.length;i++)timestamp\x3dindexesToRemove[i]-i,pair\x3dpairsList[timestamp],delete pairs[pair.id],pairsList.splice(timestamp,1)};Pairs.clear\x3dfunction(pairs){pairs.table\x3d{};pairs.list.length\x3d0;pairs.collisionStart.length\x3d0;pairs.collisionActive.length\x3d0;pairs.collisionEnd.length\x3d0;return pairs}})()},{\x22../core/Common\x22:14,\x22./Pair\x22:7}],9:[function(_dereq_,\nmodule,exports){var Query\x3d{};module.exports\x3dQuery;var Vector\x3d_dereq_(\x22../geometry/Vector\x22),SAT\x3d_dereq_(\x22./SAT\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Bodies\x3d_dereq_(\x22../factory/Bodies\x22),Vertices\x3d_dereq_(\x22../geometry/Vertices\x22);(function(){Query.collides\x3dfunction(body,bodies){for(var collisions\x3d[],i\x3d0;i\x3cbodies.length;i++){var bodyA\x3dbodies[i];if(Bounds.overlaps(bodyA.bounds,body.bounds))for(var j\x3d1\x3d\x3d\x3dbodyA.parts.length?0:1;j\x3cbodyA.parts.length;j++){var part\x3dbodyA.parts[j];if(Bounds.overlaps(part.bounds,\nbody.bounds)\x26\x26(part\x3dSAT.collides(part,body),part.collided)){collisions.push(part);break}}}return collisions};Query.ray\x3dfunction(bodies,startPoint,endPoint,rayWidth){rayWidth\x3drayWidth||1E-100;var rayAngle\x3dVector.angle(startPoint,endPoint),rayLength\x3dVector.magnitude(Vector.sub(startPoint,endPoint));startPoint\x3dBodies.rectangle(.5*(endPoint.x+startPoint.x),.5*(endPoint.y+startPoint.y),rayLength,rayWidth,{angle:rayAngle});bodies\x3dQuery.collides(startPoint,bodies);for(startPoint\x3d0;startPoint\x3cbodies.length;startPoint+\x3d\n1)endPoint\x3dbodies[startPoint],endPoint.body\x3dendPoint.bodyB\x3dendPoint.bodyA;return bodies};Query.region\x3dfunction(bodies,bounds,outside){for(var result\x3d[],i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i],overlaps\x3dBounds.overlaps(body.bounds,bounds);(overlaps\x26\x26!outside||!overlaps\x26\x26outside)\x26\x26result.push(body)}return result};Query.point\x3dfunction(bodies,point){for(var result\x3d[],i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];if(Bounds.contains(body.bounds,point))for(var j\x3d1\x3d\x3d\x3dbody.parts.length?0:1;j\x3cbody.parts.length;j++){var part\x3d\nbody.parts[j];if(Bounds.contains(part.bounds,point)\x26\x26Vertices.contains(part.vertices,point)){result.push(body);break}}}return result}})()},{\x22../factory/Bodies\x22:23,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29,\x22./SAT\x22:11}],10:[function(_dereq_,module,exports){var Resolver\x3d{};module.exports\x3dResolver;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22),Common\x3d_dereq_(\x22../core/Common\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22);(function(){Resolver._restingThresh\x3d\n4;Resolver._restingThreshTangent\x3d6;Resolver._positionDampen\x3d.9;Resolver._positionWarming\x3d.8;Resolver._frictionNormalMultiplier\x3d5;Resolver.preSolvePosition\x3dfunction(pairs){var i;for(i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive){var activeCount\x3dpair.activeContacts.length;pair.collision.parentA.totalContacts+\x3dactiveCount;pair.collision.parentB.totalContacts+\x3dactiveCount}}};Resolver.solvePosition\x3dfunction(pairs,timeScale){var i;var positionImpulse\x3dVector._temp[0];var tempB\x3dVector._temp[1],\ntempC\x3dVector._temp[2],tempD\x3dVector._temp[3];for(i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive\x26\x26!pair.isSensor){var collision\x3dpair.collision;var bodyA\x3dcollision.parentA;var bodyB\x3dcollision.parentB;var normal\x3dcollision.normal;bodyA\x3dVector.sub(Vector.add(bodyB.positionImpulse,bodyB.position,positionImpulse),Vector.add(bodyA.positionImpulse,Vector.sub(bodyB.position,collision.penetration,tempB),tempC),tempD);pair.separation\x3dVector.dot(normal,bodyA)}}for(i\x3d0;i\x3cpairs.length;i++)if(pair\x3dpairs[i],\npair.isActive\x26\x26!pair.isSensor){collision\x3dpair.collision;bodyA\x3dcollision.parentA;bodyB\x3dcollision.parentB;normal\x3dcollision.normal;positionImpulse\x3d(pair.separation-pair.slop)*timeScale;if(bodyA.isStatic||bodyB.isStatic)positionImpulse*\x3d2;bodyA.isStatic||bodyA.isSleeping||(pair\x3dResolver._positionDampen/bodyA.totalContacts,bodyA.positionImpulse.x+\x3dnormal.x*positionImpulse*pair,bodyA.positionImpulse.y+\x3dnormal.y*positionImpulse*pair);bodyB.isStatic||bodyB.isSleeping||(pair\x3dResolver._positionDampen/bodyB.totalContacts,\nbodyB.positionImpulse.x-\x3dnormal.x*positionImpulse*pair,bodyB.positionImpulse.y-\x3dnormal.y*positionImpulse*pair)}};Resolver.postSolvePosition\x3dfunction(bodies){for(var i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];body.totalContacts\x3d0;if(0!\x3d\x3dbody.positionImpulse.x||0!\x3d\x3dbody.positionImpulse.y){for(var j\x3d0;j\x3cbody.parts.length;j++){var part\x3dbody.parts[j];Vertices.translate(part.vertices,body.positionImpulse);Bounds.update(part.bounds,part.vertices,body.velocity);part.position.x+\x3dbody.positionImpulse.x;part.position.y+\x3d\nbody.positionImpulse.y}body.positionPrev.x+\x3dbody.positionImpulse.x;body.positionPrev.y+\x3dbody.positionImpulse.y;0\x3eVector.dot(body.positionImpulse,body.velocity)?(body.positionImpulse.x\x3d0,body.positionImpulse.y\x3d0):(body.positionImpulse.x*\x3dResolver._positionWarming,body.positionImpulse.y*\x3dResolver._positionWarming)}}};Resolver.preSolveVelocity\x3dfunction(pairs){var i,impulse\x3dVector._temp[0],tempA\x3dVector._temp[1];for(i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive\x26\x26!pair.isSensor){var contacts\x3d\npair.activeContacts;var j\x3dpair.collision;pair\x3dj.parentA;var bodyB\x3dj.parentB;var normal\x3dj.normal;var tangent\x3dj.tangent;for(j\x3d0;j\x3ccontacts.length;j++){var contact\x3dcontacts[j];var contactVertex\x3dcontact.vertex;var normalImpulse\x3dcontact.normalImpulse;contact\x3dcontact.tangentImpulse;if(0!\x3d\x3dnormalImpulse||0!\x3d\x3dcontact)impulse.x\x3dnormal.x*normalImpulse+tangent.x*contact,impulse.y\x3dnormal.y*normalImpulse+tangent.y*contact,pair.isStatic||pair.isSleeping||(normalImpulse\x3dVector.sub(contactVertex,pair.position,tempA),\npair.positionPrev.x+\x3dimpulse.x*pair.inverseMass,pair.positionPrev.y+\x3dimpulse.y*pair.inverseMass,pair.anglePrev+\x3dVector.cross(normalImpulse,impulse)*pair.inverseInertia),bodyB.isStatic||bodyB.isSleeping||(normalImpulse\x3dVector.sub(contactVertex,bodyB.position,tempA),bodyB.positionPrev.x-\x3dimpulse.x*bodyB.inverseMass,bodyB.positionPrev.y-\x3dimpulse.y*bodyB.inverseMass,bodyB.anglePrev-\x3dVector.cross(normalImpulse,impulse)*bodyB.inverseInertia)}}}};Resolver.solveVelocity\x3dfunction(pairs,timeScale){timeScale*\x3d\ntimeScale;for(var impulse\x3dVector._temp[0],tempA\x3dVector._temp[1],tempB\x3dVector._temp[2],tempC\x3dVector._temp[3],tempD\x3dVector._temp[4],tempE\x3dVector._temp[5],i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive\x26\x26!pair.isSensor){var collision\x3dpair.collision,bodyA\x3dcollision.parentA,bodyB\x3dcollision.parentB,normal\x3dcollision.normal;collision\x3dcollision.tangent;var contacts\x3dpair.activeContacts,contactShare\x3d1/contacts.length;bodyA.velocity.x\x3dbodyA.position.x-bodyA.positionPrev.x;bodyA.velocity.y\x3dbodyA.position.y-\nbodyA.positionPrev.y;bodyB.velocity.x\x3dbodyB.position.x-bodyB.positionPrev.x;bodyB.velocity.y\x3dbodyB.position.y-bodyB.positionPrev.y;bodyA.angularVelocity\x3dbodyA.angle-bodyA.anglePrev;bodyB.angularVelocity\x3dbodyB.angle-bodyB.anglePrev;for(var j\x3d0;j\x3ccontacts.length;j++){var contact\x3dcontacts[j],contactVertex\x3dcontact.vertex,offsetA\x3dVector.sub(contactVertex,bodyA.position,tempA);contactVertex\x3dVector.sub(contactVertex,bodyB.position,tempB);var velocityPointA\x3dVector.add(bodyA.velocity,Vector.mult(Vector.perp(offsetA),\nbodyA.angularVelocity),tempC),velocityPointB\x3dVector.add(bodyB.velocity,Vector.mult(Vector.perp(contactVertex),bodyB.angularVelocity),tempD);velocityPointA\x3dVector.sub(velocityPointA,velocityPointB,tempE);var normalVelocity\x3dVector.dot(normal,velocityPointA),tangentVelocity\x3dVector.dot(collision,velocityPointA),tangentSpeed\x3dMath.abs(tangentVelocity),tangentVelocityDirection\x3dCommon.sign(tangentVelocity);velocityPointA\x3d(1+pair.restitution)*normalVelocity;var normalForce\x3dCommon.clamp(pair.separation+normalVelocity,\n0,1)*Resolver._frictionNormalMultiplier;velocityPointB\x3dtangentVelocity;var maxFriction\x3dInfinity;tangentSpeed\x3epair.friction*pair.frictionStatic*normalForce*timeScale\x26\x26(maxFriction\x3dtangentSpeed,velocityPointB\x3dCommon.clamp(pair.friction*tangentVelocityDirection*timeScale,-maxFriction,maxFriction));tangentSpeed\x3dVector.cross(offsetA,normal);tangentVelocityDirection\x3dVector.cross(contactVertex,normal);tangentSpeed\x3dcontactShare/(bodyA.inverseMass+bodyB.inverseMass+bodyA.inverseInertia*tangentSpeed*tangentSpeed+\nbodyB.inverseInertia*tangentVelocityDirection*tangentVelocityDirection);velocityPointA*\x3dtangentSpeed;velocityPointB*\x3dtangentSpeed;0\x3enormalVelocity\x26\x26normalVelocity*normalVelocity\x3eResolver._restingThresh*timeScale?contact.normalImpulse\x3d0:(normalVelocity\x3dcontact.normalImpulse,contact.normalImpulse\x3dMath.min(contact.normalImpulse+velocityPointA,0),velocityPointA\x3dcontact.normalImpulse-normalVelocity);tangentVelocity*tangentVelocity\x3eResolver._restingThreshTangent*timeScale?contact.tangentImpulse\x3d0:(normalVelocity\x3d\ncontact.tangentImpulse,contact.tangentImpulse\x3dCommon.clamp(contact.tangentImpulse+velocityPointB,-maxFriction,maxFriction),velocityPointB\x3dcontact.tangentImpulse-normalVelocity);impulse.x\x3dnormal.x*velocityPointA+collision.x*velocityPointB;impulse.y\x3dnormal.y*velocityPointA+collision.y*velocityPointB;bodyA.isStatic||bodyA.isSleeping||(bodyA.positionPrev.x+\x3dimpulse.x*bodyA.inverseMass,bodyA.positionPrev.y+\x3dimpulse.y*bodyA.inverseMass,bodyA.anglePrev+\x3dVector.cross(offsetA,impulse)*bodyA.inverseInertia);\nbodyB.isStatic||bodyB.isSleeping||(bodyB.positionPrev.x-\x3dimpulse.x*bodyB.inverseMass,bodyB.positionPrev.y-\x3dimpulse.y*bodyB.inverseMass,bodyB.anglePrev-\x3dVector.cross(contactVertex,impulse)*bodyB.inverseInertia)}}}}})()},{\x22../core/Common\x22:14,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29}],11:[function(_dereq_,module,exports){var SAT\x3d{};module.exports\x3dSAT;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22);(function(){SAT.collides\x3dfunction(bodyA,\nbodyB,previousCollision){var overlapBA\x3d!1;if(previousCollision){var collision\x3dbodyA.parent;overlapBA\x3dbodyB.parent;collision\x3dcollision.speed*collision.speed+collision.angularSpeed*collision.angularSpeed+overlapBA.speed*overlapBA.speed+overlapBA.angularSpeed*overlapBA.angularSpeed;overlapBA\x3dpreviousCollision\x26\x26previousCollision.collided\x26\x26.2\x3ecollision;collision\x3dpreviousCollision}else collision\x3d{collided:!1,bodyA,bodyB};if(previousCollision\x26\x26overlapBA){if(overlapBA\x3dcollision.axisBody,previousCollision\x3d\nSAT._overlapAxes(overlapBA.vertices,(overlapBA\x3d\x3d\x3dbodyA?bodyB:bodyA).vertices,[overlapBA.axes[previousCollision.axisNumber]]),collision.reused\x3d!0,0\x3e\x3dpreviousCollision.overlap)return collision.collided\x3d!1,collision}else{previousCollision\x3dSAT._overlapAxes(bodyA.vertices,bodyB.vertices,bodyA.axes);if(0\x3e\x3dpreviousCollision.overlap)return collision.collided\x3d!1,collision;overlapBA\x3dSAT._overlapAxes(bodyB.vertices,bodyA.vertices,bodyB.axes);if(0\x3e\x3doverlapBA.overlap)return collision.collided\x3d!1,collision;previousCollision.overlap\x3c\noverlapBA.overlap?collision.axisBody\x3dbodyA:(previousCollision\x3doverlapBA,collision.axisBody\x3dbodyB);collision.axisNumber\x3dpreviousCollision.axisNumber}collision.bodyA\x3dbodyA.id\x3cbodyB.id?bodyA:bodyB;collision.bodyB\x3dbodyA.id\x3cbodyB.id?bodyB:bodyA;collision.collided\x3d!0;collision.depth\x3dpreviousCollision.overlap;collision.parentA\x3dcollision.bodyA.parent;collision.parentB\x3dcollision.bodyB.parent;bodyA\x3dcollision.bodyA;bodyB\x3dcollision.bodyB;0\x3eVector.dot(previousCollision.axis,Vector.sub(bodyB.position,bodyA.position))?\ncollision.normal\x3d{x:previousCollision.axis.x,y:previousCollision.axis.y}:collision.normal\x3d{x:-previousCollision.axis.x,y:-previousCollision.axis.y};collision.tangent\x3dVector.perp(collision.normal);collision.penetration\x3dcollision.penetration||{};collision.penetration.x\x3dcollision.normal.x*collision.depth;collision.penetration.y\x3dcollision.normal.y*collision.depth;previousCollision\x3dSAT._findSupports(bodyA,bodyB,collision.normal);overlapBA\x3d[];Vertices.contains(bodyA.vertices,previousCollision[0])\x26\x26overlapBA.push(previousCollision[0]);\nVertices.contains(bodyA.vertices,previousCollision[1])\x26\x26overlapBA.push(previousCollision[1]);2\x3eoverlapBA.length\x26\x26(bodyA\x3dSAT._findSupports(bodyB,bodyA,Vector.neg(collision.normal)),Vertices.contains(bodyB.vertices,bodyA[0])\x26\x26overlapBA.push(bodyA[0]),2\x3eoverlapBA.length\x26\x26Vertices.contains(bodyB.vertices,bodyA[1])\x26\x26overlapBA.push(bodyA[1]));1\x3eoverlapBA.length\x26\x26(overlapBA\x3d[previousCollision[0]]);collision.supports\x3doverlapBA;return collision};SAT._overlapAxes\x3dfunction(verticesA,verticesB,axes){for(var projectionA\x3d\nVector._temp[0],projectionB\x3dVector._temp[1],result\x3d{overlap:Number.MAX_VALUE},overlap,axis,i\x3d0;i\x3caxes.length;i++){axis\x3daxes[i];SAT._projectToAxis(projectionA,verticesA,axis);SAT._projectToAxis(projectionB,verticesB,axis);overlap\x3dMath.min(projectionA.max-projectionB.min,projectionB.max-projectionA.min);if(0\x3e\x3doverlap){result.overlap\x3doverlap;break}overlap\x3cresult.overlap\x26\x26(result.overlap\x3doverlap,result.axis\x3daxis,result.axisNumber\x3di)}return result};SAT._projectToAxis\x3dfunction(projection,vertices,axis){for(var min\x3d\nVector.dot(vertices[0],axis),max\x3dmin,i\x3d1;i\x3cvertices.length;i+\x3d1){var dot\x3dVector.dot(vertices[i],axis);dot\x3emax?max\x3ddot:dot\x3cmin\x26\x26(min\x3ddot)}projection.min\x3dmin;projection.max\x3dmax};SAT._findSupports\x3dfunction(bodyA,bodyB,normal){var nearestDistance\x3dNumber.MAX_VALUE,vertexToBody\x3dVector._temp[0];bodyB\x3dbodyB.vertices;bodyA\x3dbodyA.position;var vertexB;for(vertexB\x3d0;vertexB\x3cbodyB.length;vertexB++){var vertex\x3dbodyB[vertexB];vertexToBody.x\x3dvertex.x-bodyA.x;vertexToBody.y\x3dvertex.y-bodyA.y;var distance\x3d-Vector.dot(normal,\nvertexToBody);if(distance\x3cnearestDistance){nearestDistance\x3ddistance;var vertexA\x3dvertex}}vertex\x3dbodyB[0\x3c\x3dvertexA.index-1?vertexA.index-1:bodyB.length-1];vertexToBody.x\x3dvertex.x-bodyA.x;vertexToBody.y\x3dvertex.y-bodyA.y;nearestDistance\x3d-Vector.dot(normal,vertexToBody);vertexB\x3dvertex;vertex\x3dbodyB[(vertexA.index+1)%bodyB.length];vertexToBody.x\x3dvertex.x-bodyA.x;vertexToBody.y\x3dvertex.y-bodyA.y;distance\x3d-Vector.dot(normal,vertexToBody);distance\x3cnearestDistance\x26\x26(vertexB\x3dvertex);return[vertexA,vertexB]}})()},\n{\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29}],12:[function(_dereq_,module,exports){var Constraint\x3d{};module.exports\x3dConstraint;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22),Sleeping\x3d_dereq_(\x22../core/Sleeping\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Axes\x3d_dereq_(\x22../geometry/Axes\x22),Common\x3d_dereq_(\x22../core/Common\x22);(function(){Constraint._warming\x3d.4;Constraint._torqueDampen\x3d1;Constraint._minLength\x3d1E-6;Constraint.create\x3dfunction(options){options.bodyA\x26\x26!options.pointA\x26\x26\n(options.pointA\x3d{x:0,y:0});options.bodyB\x26\x26!options.pointB\x26\x26(options.pointB\x3d{x:0,y:0});var initialPointA\x3doptions.bodyA?Vector.add(options.bodyA.position,options.pointA):options.pointA,initialPointB\x3doptions.bodyB?Vector.add(options.bodyB.position,options.pointB):options.pointB;initialPointA\x3dVector.magnitude(Vector.sub(initialPointA,initialPointB));options.length\x3d\x22undefined\x22!\x3d\x3dtypeof options.length?options.length:initialPointA;options.id\x3doptions.id||Common.nextId();options.label\x3doptions.label||\x22Constraint\x22;\noptions.type\x3d\x22constraint\x22;options.stiffness\x3doptions.stiffness||(0\x3coptions.length?1:.7);options.damping\x3doptions.damping||0;options.angularStiffness\x3doptions.angularStiffness||0;options.angleA\x3doptions.bodyA?options.bodyA.angle:options.angleA;options.angleB\x3doptions.bodyB?options.bodyB.angle:options.angleB;options.plugin\x3d{};initialPointA\x3d{visible:!0,lineWidth:2,strokeStyle:\x22#ffffff\x22,type:\x22line\x22,anchors:!0};0\x3d\x3d\x3doptions.length\x26\x26.1\x3coptions.stiffness?(initialPointA.type\x3d\x22pin\x22,initialPointA.anchors\x3d!1):.9\x3e\noptions.stiffness\x26\x26(initialPointA.type\x3d\x22spring\x22);options.render\x3dCommon.extend(initialPointA,options.render);return options};Constraint.preSolveAll\x3dfunction(bodies){for(var i\x3d0;i\x3cbodies.length;i+\x3d1){var body\x3dbodies[i],impulse\x3dbody.constraintImpulse;body.isStatic||0\x3d\x3d\x3dimpulse.x\x26\x260\x3d\x3d\x3dimpulse.y\x26\x260\x3d\x3d\x3dimpulse.angle||(body.position.x+\x3dimpulse.x,body.position.y+\x3dimpulse.y,body.angle+\x3dimpulse.angle)}};Constraint.solveAll\x3dfunction(constraints,timeScale){for(var i\x3d0;i\x3cconstraints.length;i+\x3d1){var constraint\x3d\nconstraints[i],fixedA\x3d!constraint.bodyA||constraint.bodyA\x26\x26constraint.bodyA.isStatic;constraint\x3d!constraint.bodyB||constraint.bodyB\x26\x26constraint.bodyB.isStatic;(fixedA||constraint)\x26\x26Constraint.solve(constraints[i],timeScale)}for(i\x3d0;i\x3cconstraints.length;i+\x3d1)constraint\x3dconstraints[i],fixedA\x3d!constraint.bodyA||constraint.bodyA\x26\x26constraint.bodyA.isStatic,constraint\x3d!constraint.bodyB||constraint.bodyB\x26\x26constraint.bodyB.isStatic,fixedA||constraint||Constraint.solve(constraints[i],timeScale)};Constraint.solve\x3d\nfunction(constraint,timeScale){var bodyA\x3dconstraint.bodyA,bodyB\x3dconstraint.bodyB,pointA\x3dconstraint.pointA,pointB\x3dconstraint.pointB;if(bodyA||bodyB){bodyA\x26\x26!bodyA.isStatic\x26\x26(Vector.rotate(pointA,bodyA.angle-constraint.angleA,pointA),constraint.angleA\x3dbodyA.angle);bodyB\x26\x26!bodyB.isStatic\x26\x26(Vector.rotate(pointB,bodyB.angle-constraint.angleB,pointB),constraint.angleB\x3dbodyB.angle);var pointAWorld\x3dpointA,pointBWorld\x3dpointB;bodyA\x26\x26(pointAWorld\x3dVector.add(bodyA.position,pointA));bodyB\x26\x26(pointBWorld\x3dVector.add(bodyB.position,\npointB));if(pointAWorld\x26\x26pointBWorld){var delta\x3dVector.sub(pointAWorld,pointBWorld),currentLength\x3dVector.magnitude(delta);currentLength\x3cConstraint._minLength\x26\x26(currentLength\x3dConstraint._minLength);timeScale\x3dVector.mult(delta,(currentLength-constraint.length)/currentLength*(1\x3econstraint.stiffness?constraint.stiffness*timeScale:constraint.stiffness));pointAWorld\x3d(bodyA?bodyA.inverseMass:0)+(bodyB?bodyB.inverseMass:0);pointBWorld\x3dpointAWorld+((bodyA?bodyA.inverseInertia:0)+(bodyB?bodyB.inverseInertia:\n0));if(constraint.damping){var normalVelocity\x3dVector.create();var normal\x3dVector.div(delta,currentLength);normalVelocity\x3dVector.sub(bodyB\x26\x26Vector.sub(bodyB.position,bodyB.positionPrev)||normalVelocity,bodyA\x26\x26Vector.sub(bodyA.position,bodyA.positionPrev)||normalVelocity);normalVelocity\x3dVector.dot(normal,normalVelocity)}bodyA\x26\x26!bodyA.isStatic\x26\x26(delta\x3dbodyA.inverseMass/pointAWorld,bodyA.constraintImpulse.x-\x3dtimeScale.x*delta,bodyA.constraintImpulse.y-\x3dtimeScale.y*delta,bodyA.position.x-\x3dtimeScale.x*delta,\nbodyA.position.y-\x3dtimeScale.y*delta,constraint.damping\x26\x26(bodyA.positionPrev.x-\x3dconstraint.damping*normal.x*normalVelocity*delta,bodyA.positionPrev.y-\x3dconstraint.damping*normal.y*normalVelocity*delta),pointA\x3dVector.cross(pointA,timeScale)/pointBWorld*Constraint._torqueDampen*bodyA.inverseInertia*(1-constraint.angularStiffness),bodyA.constraintImpulse.angle-\x3dpointA,bodyA.angle-\x3dpointA);bodyB\x26\x26!bodyB.isStatic\x26\x26(delta\x3dbodyB.inverseMass/pointAWorld,bodyB.constraintImpulse.x+\x3dtimeScale.x*delta,bodyB.constraintImpulse.y+\x3d\ntimeScale.y*delta,bodyB.position.x+\x3dtimeScale.x*delta,bodyB.position.y+\x3dtimeScale.y*delta,constraint.damping\x26\x26(bodyB.positionPrev.x+\x3dconstraint.damping*normal.x*normalVelocity*delta,bodyB.positionPrev.y+\x3dconstraint.damping*normal.y*normalVelocity*delta),pointA\x3dVector.cross(pointB,timeScale)/pointBWorld*Constraint._torqueDampen*bodyB.inverseInertia*(1-constraint.angularStiffness),bodyB.constraintImpulse.angle+\x3dpointA,bodyB.angle+\x3dpointA)}}};Constraint.postSolveAll\x3dfunction(bodies){for(var i\x3d0;i\x3cbodies.length;i++){var body\x3d\nbodies[i],impulse\x3dbody.constraintImpulse;if(!(body.isStatic||0\x3d\x3d\x3dimpulse.x\x26\x260\x3d\x3d\x3dimpulse.y\x26\x260\x3d\x3d\x3dimpulse.angle)){Sleeping.set(body,!1);for(var j\x3d0;j\x3cbody.parts.length;j++){var part\x3dbody.parts[j];Vertices.translate(part.vertices,impulse);0\x3cj\x26\x26(part.position.x+\x3dimpulse.x,part.position.y+\x3dimpulse.y);0!\x3d\x3dimpulse.angle\x26\x26(Vertices.rotate(part.vertices,impulse.angle,body.position),Axes.rotate(part.axes,impulse.angle),0\x3cj\x26\x26Vector.rotateAbout(part.position,impulse.angle,body.position,part.position));Bounds.update(part.bounds,\npart.vertices,body.velocity)}impulse.angle*\x3dConstraint._warming;impulse.x*\x3dConstraint._warming;impulse.y*\x3dConstraint._warming}}}})()},{\x22../core/Common\x22:14,\x22../core/Sleeping\x22:22,\x22../geometry/Axes\x22:25,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29}],13:[function(_dereq_,module,exports){var MouseConstraint\x3d{};module.exports\x3dMouseConstraint;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),Sleeping\x3d_dereq_(\x22../core/Sleeping\x22),Mouse\x3d_dereq_(\x22../core/Mouse\x22),Events\x3d_dereq_(\x22../core/Events\x22),\nDetector\x3d_dereq_(\x22../collision/Detector\x22),Constraint\x3d_dereq_(\x22./Constraint\x22),Composite\x3d_dereq_(\x22../body/Composite\x22),Common\x3d_dereq_(\x22../core/Common\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22);(function(){MouseConstraint.create\x3dfunction(engine,options){var mouse\x3d(engine?engine.mouse:null)||(options?options.mouse:null);mouse||(engine\x26\x26engine.render\x26\x26engine.render.canvas?mouse\x3dMouse.create(engine.render.canvas):options\x26\x26options.element?mouse\x3dMouse.create(options.element):(mouse\x3dMouse.create(),Common.warn(\x22MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected\x22)));\nvar constraint\x3dConstraint.create({label:\x22Mouse Constraint\x22,pointA:mouse.position,pointB:{x:0,y:0},length:.01,stiffness:.1,angularStiffness:1,render:{strokeStyle:\x22#90EE90\x22,lineWidth:3}}),mouseConstraint\x3dCommon.extend({type:\x22mouseConstraint\x22,mouse,element:null,body:null,constraint,collisionFilter:{category:1,mask:4294967295,group:0}},options);Events.on(engine,\x22beforeUpdate\x22,function(){var allBodies\x3dComposite.allBodies(engine.world);MouseConstraint.update(mouseConstraint,allBodies);MouseConstraint._triggerEvents(mouseConstraint)});\nreturn mouseConstraint};MouseConstraint.update\x3dfunction(mouseConstraint,bodies){var mouse\x3dmouseConstraint.mouse,constraint\x3dmouseConstraint.constraint,body\x3dmouseConstraint.body;if(0\x3d\x3d\x3dmouse.button)if(constraint.bodyB)Sleeping.set(constraint.bodyB,!1),constraint.pointA\x3dmouse.position;else for(var i\x3d0;i\x3cbodies.length;i++){if(body\x3dbodies[i],Bounds.contains(body.bounds,mouse.position)\x26\x26Detector.canCollide(body.collisionFilter,mouseConstraint.collisionFilter))for(var j\x3d1\x3cbody.parts.length?1:0;j\x3cbody.parts.length;j++)if(Vertices.contains(body.parts[j].vertices,\nmouse.position)){constraint.pointA\x3dmouse.position;constraint.bodyB\x3dmouseConstraint.body\x3dbody;constraint.pointB\x3d{x:mouse.position.x-body.position.x,y:mouse.position.y-body.position.y};constraint.angleB\x3dbody.angle;Sleeping.set(body,!1);Events.trigger(mouseConstraint,\x22startdrag\x22,{mouse,body});break}}else constraint.bodyB\x3dmouseConstraint.body\x3dnull,constraint.pointB\x3dnull,body\x26\x26Events.trigger(mouseConstraint,\x22enddrag\x22,{mouse,body})};MouseConstraint._triggerEvents\x3dfunction(mouseConstraint){var mouse\x3dmouseConstraint.mouse,\nmouseEvents\x3dmouse.sourceEvents;mouseEvents.mousemove\x26\x26Events.trigger(mouseConstraint,\x22mousemove\x22,{mouse});mouseEvents.mousedown\x26\x26Events.trigger(mouseConstraint,\x22mousedown\x22,{mouse});mouseEvents.mouseup\x26\x26Events.trigger(mouseConstraint,\x22mouseup\x22,{mouse});Mouse.clearSourceEvents(mouse)}})()},{\x22../body/Composite\x22:2,\x22../collision/Detector\x22:5,\x22../core/Common\x22:14,\x22../core/Events\x22:16,\x22../core/Mouse\x22:19,\x22../core/Sleeping\x22:22,\x22../geometry/Bounds\x22:26,\x22../geometry/Vertices\x22:29,\x22./Constraint\x22:12}],14:[function(_dereq_,\nmodule,exports){(function(global){var Common\x3d{};module.exports\x3dCommon;(function(){Common._nextId\x3d0;Common._seed\x3d0;Common._nowStartTime\x3d+new Date;Common.extend\x3dfunction(obj,deep){if(\x22boolean\x22\x3d\x3d\x3dtypeof deep){var argsStart\x3d2;var deepClone\x3ddeep}else argsStart\x3d1,deepClone\x3d!0;for(;argsStart\x3carguments.length;argsStart++){var source\x3darguments[argsStart];if(source)for(var prop in source)deepClone\x26\x26source[prop]\x26\x26source[prop].constructor\x3d\x3d\x3dObject?obj[prop]\x26\x26obj[prop].constructor!\x3d\x3dObject?obj[prop]\x3dsource[prop]:\n(obj[prop]\x3dobj[prop]||{},Common.extend(obj[prop],deepClone,source[prop])):obj[prop]\x3dsource[prop]}return obj};Common.clone\x3dfunction(obj,deep){return Common.extend({},deep,obj)};Common.keys\x3dfunction(obj){if(Object.keys)return Object.keys(obj);var keys\x3d[],key;for(key in obj)keys.push(key);return keys};Common.values\x3dfunction(obj){var values\x3d[];if(Object.keys){for(var keys\x3dObject.keys(obj),i\x3d0;i\x3ckeys.length;i++)values.push(obj[keys[i]]);return values}for(keys in obj)values.push(obj[keys]);return values};\nCommon.get\x3dfunction(obj,path,begin,end){path\x3dpath.split(\x22.\x22).slice(begin,end);for(begin\x3d0;begin\x3cpath.length;begin+\x3d1)obj\x3dobj[path[begin]];return obj};Common.set\x3dfunction(obj,path,val,begin,end){begin\x3dpath.split(\x22.\x22).slice(begin,end);return Common.get(obj,path,0,-1)[begin[begin.length-1]]\x3dval};Common.shuffle\x3dfunction(array){for(var i\x3darray.length-1;0\x3ci;i--){var j\x3dMath.floor(Common.random()*(i+1)),temp\x3darray[i];array[i]\x3darray[j];array[j]\x3dtemp}return array};Common.choose\x3dfunction(choices){return choices[Math.floor(Common.random()*\nchoices.length)]};Common.isElement\x3dfunction(obj){return\x22undefined\x22!\x3d\x3dtypeof HTMLElement?obj instanceof HTMLElement:!!(obj\x26\x26obj.nodeType\x26\x26obj.nodeName)};Common.isArray\x3dfunction(obj){return\x22[object Array]\x22\x3d\x3d\x3dObject.prototype.toString.call(obj)};Common.isFunction\x3dfunction(obj){return\x22function\x22\x3d\x3d\x3dtypeof obj};Common.isPlainObject\x3dfunction(obj){return\x22object\x22\x3d\x3d\x3dtypeof obj\x26\x26obj.constructor\x3d\x3d\x3dObject};Common.isString\x3dfunction(obj){return\x22[object String]\x22\x3d\x3d\x3dtoString.call(obj)};Common.clamp\x3dfunction(value,min,\nmax){return value\x3cmin?min:value\x3emax?max:value};Common.sign\x3dfunction(value){return 0\x3evalue?-1:1};Common.now\x3dfunction(){if(window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return new Date-Common._nowStartTime};Common.random\x3dfunction(min,max){min\x3d\x22undefined\x22!\x3d\x3dtypeof min?min:0;Common._seed\x3d(9301*Common._seed+49297)%233280;return min+Common._seed/233280*((\x22undefined\x22!\x3d\x3dtypeof max?max:1)-min)};Common.colorToNumber\x3d\nfunction(colorString){colorString\x3dcolorString.replace(\x22#\x22,\x22\x22);3\x3d\x3dcolorString.length\x26\x26(colorString\x3dcolorString.charAt(0)+colorString.charAt(0)+colorString.charAt(1)+colorString.charAt(1)+colorString.charAt(2)+colorString.charAt(2));return parseInt(colorString,16)};Common.logLevel\x3d1;Common.log\x3dfunction(){console\x26\x260\x3cCommon.logLevel\x26\x263\x3e\x3dCommon.logLevel\x26\x26console.log.apply(console,[\x22matter-js:\x22].concat(Array.prototype.slice.call(arguments)))};Common.info\x3dfunction(){console\x26\x260\x3cCommon.logLevel\x26\x262\x3e\x3dCommon.logLevel\x26\x26\nconsole.info.apply(console,[\x22matter-js:\x22].concat(Array.prototype.slice.call(arguments)))};Common.warn\x3dfunction(){console\x26\x260\x3cCommon.logLevel\x26\x263\x3e\x3dCommon.logLevel\x26\x26console.warn.apply(console,[\x22matter-js:\x22].concat(Array.prototype.slice.call(arguments)))};Common.nextId\x3dfunction(){return Common._nextId++};Common.indexOf\x3dfunction(haystack,needle){if(haystack.indexOf)return haystack.indexOf(needle);for(var i\x3d0;i\x3chaystack.length;i++)if(haystack[i]\x3d\x3d\x3dneedle)return i;return-1};Common.map\x3dfunction(list,func){if(list.map)return list.map(func);\nfor(var mapped\x3d[],i\x3d0;i\x3clist.length;i+\x3d1)mapped.push(func(list[i]));return mapped};Common.topologicalSort\x3dfunction(graph){var result\x3d[],visited\x3d[],temp\x3d[],node;for(node in graph)visited[node]||temp[node]||Common._topologicalSort(node,visited,temp,graph,result);return result};Common._topologicalSort\x3dfunction(node,visited,temp,graph,result){var neighbors\x3dgraph[node]||[];temp[node]\x3d!0;for(var i\x3d0;i\x3cneighbors.length;i+\x3d1){var neighbor\x3dneighbors[i];temp[neighbor]||visited[neighbor]||Common._topologicalSort(neighbor,\nvisited,temp,graph,result)}temp[node]\x3d!1;visited[node]\x3d!0;result.push(node)};Common.chain\x3dfunction(){for(var funcs\x3d[],i$jscomp$0\x3d0;i$jscomp$0\x3carguments.length;i$jscomp$0+\x3d1){var func\x3darguments[i$jscomp$0];func._chained?funcs.push.apply(funcs,func._chained):funcs.push(func)}i$jscomp$0\x3dfunction(){for(var lastResult,args\x3dArray(arguments.length),i\x3d0,l\x3darguments.length;i\x3cl;i++)args[i]\x3darguments[i];for(i\x3d0;i\x3cfuncs.length;i+\x3d1)l\x3dfuncs[i].apply(lastResult,args),\x22undefined\x22!\x3d\x3dtypeof l\x26\x26(lastResult\x3dl);return lastResult};\ni$jscomp$0._chained\x3dfuncs;return i$jscomp$0};Common.chainPathBefore\x3dfunction(base,path,func){return Common.set(base,path,Common.chain(func,Common.get(base,path)))};Common.chainPathAfter\x3dfunction(base,path,func){return Common.set(base,path,Common.chain(Common.get(base,path),func))};Common._requireGlobal\x3dfunction(globalName,moduleName){return(\x22undefined\x22!\x3d\x3dtypeof window?window[globalName]:\x22undefined\x22!\x3d\x3dtypeof global?global[globalName]:null)||_dereq_(moduleName)}})()}).call(this,\x22undefined\x22!\x3d\x3dtypeof global$jscomp$0?\nglobal$jscomp$0:\x22undefined\x22!\x3d\x3dtypeof self?self:\x22undefined\x22!\x3d\x3dtypeof window?window:{})},{}],15:[function(_dereq_,module,exports){var Engine\x3d{};module.exports\x3dEngine;var World\x3d_dereq_(\x22../body/World\x22),Sleeping\x3d_dereq_(\x22./Sleeping\x22),Resolver\x3d_dereq_(\x22../collision/Resolver\x22),Render\x3d_dereq_(\x22../render/Render\x22),Pairs\x3d_dereq_(\x22../collision/Pairs\x22);_dereq_(\x22./Metrics\x22);var Grid\x3d_dereq_(\x22../collision/Grid\x22),Events\x3d_dereq_(\x22./Events\x22),Composite\x3d_dereq_(\x22../body/Composite\x22),Constraint\x3d_dereq_(\x22../constraint/Constraint\x22),\nCommon\x3d_dereq_(\x22./Common\x22),Body\x3d_dereq_(\x22../body/Body\x22);(function(){Engine.create\x3dfunction(element,options){options\x3dCommon.isElement(element)?options:element;element\x3dCommon.isElement(element)?element:null;options\x3doptions||{};(element||options.render)\x26\x26Common.warn(\x22Engine.create: engine.render is deprecated (see docs)\x22);var engine\x3dCommon.extend({positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},timing:{timestamp:0,timeScale:1},broadphase:{controller:Grid}},\noptions);if(element||engine.render)engine.render\x3dCommon.extend({element,controller:Render},engine.render);engine.render\x26\x26engine.render.controller\x26\x26(engine.render\x3dengine.render.controller.create(engine.render));engine.render\x26\x26(engine.render.engine\x3dengine);engine.world\x3doptions.world||World.create(engine.world);engine.pairs\x3dPairs.create();engine.broadphase\x3dengine.broadphase.controller.create(engine.broadphase);engine.metrics\x3dengine.metrics||{extended:!1};return engine};Engine.update\x3dfunction(engine,\ndelta,correction){delta\x3ddelta||1E3/60;correction\x3dcorrection||1;var world\x3dengine.world,timing\x3dengine.timing,broadphase\x3dengine.broadphase;timing.timestamp+\x3ddelta*timing.timeScale;var event\x3d{timestamp:timing.timestamp};Events.trigger(engine,\x22beforeUpdate\x22,event);var allBodies\x3dComposite.allBodies(world),allConstraints\x3dComposite.allConstraints(world);engine.enableSleeping\x26\x26Sleeping.update(allBodies,timing.timeScale);Engine._bodiesApplyGravity(allBodies,world.gravity);Engine._bodiesUpdate(allBodies,delta,\ntiming.timeScale,correction,world.bounds);Constraint.preSolveAll(allBodies);for(delta\x3d0;delta\x3cengine.constraintIterations;delta++)Constraint.solveAll(allConstraints,timing.timeScale);Constraint.postSolveAll(allBodies);broadphase.controller?(world.isModified\x26\x26broadphase.controller.clear(broadphase),broadphase.controller.update(broadphase,allBodies,engine,world.isModified),delta\x3dbroadphase.pairsList):delta\x3dallBodies;world.isModified\x26\x26Composite.setModified(world,!1,!1,!0);broadphase\x3dbroadphase.detector(delta,\nengine);world\x3dengine.pairs;delta\x3dtiming.timestamp;Pairs.update(world,broadphase,delta);Pairs.removeOld(world,delta);engine.enableSleeping\x26\x26Sleeping.afterCollisions(world.list,timing.timeScale);0\x3cworld.collisionStart.length\x26\x26Events.trigger(engine,\x22collisionStart\x22,{pairs:world.collisionStart});Resolver.preSolvePosition(world.list);for(delta\x3d0;delta\x3cengine.positionIterations;delta++)Resolver.solvePosition(world.list,timing.timeScale);Resolver.postSolvePosition(allBodies);Constraint.preSolveAll(allBodies);\nfor(delta\x3d0;delta\x3cengine.constraintIterations;delta++)Constraint.solveAll(allConstraints,timing.timeScale);Constraint.postSolveAll(allBodies);Resolver.preSolveVelocity(world.list);for(delta\x3d0;delta\x3cengine.velocityIterations;delta++)Resolver.solveVelocity(world.list,timing.timeScale);0\x3cworld.collisionActive.length\x26\x26Events.trigger(engine,\x22collisionActive\x22,{pairs:world.collisionActive});0\x3cworld.collisionEnd.length\x26\x26Events.trigger(engine,\x22collisionEnd\x22,{pairs:world.collisionEnd});Engine._bodiesClearForces(allBodies);\nEvents.trigger(engine,\x22afterUpdate\x22,event);return engine};Engine.merge\x3dfunction(engineA,engineB){Common.extend(engineA,engineB);if(engineB.world)for(engineA.world\x3dengineB.world,Engine.clear(engineA),engineA\x3dComposite.allBodies(engineA.world),engineB\x3d0;engineB\x3cengineA.length;engineB++){var body\x3dengineA[engineB];Sleeping.set(body,!1);body.id\x3dCommon.nextId()}};Engine.clear\x3dfunction(engine){var world\x3dengine.world;Pairs.clear(engine.pairs);var broadphase\x3dengine.broadphase;broadphase.controller\x26\x26(world\x3d\nComposite.allBodies(world),broadphase.controller.clear(broadphase),broadphase.controller.update(broadphase,world,engine,!0))};Engine._bodiesClearForces\x3dfunction(bodies){for(var i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];body.force.x\x3d0;body.force.y\x3d0;body.torque\x3d0}};Engine._bodiesApplyGravity\x3dfunction(bodies,gravity){var gravityScale\x3d\x22undefined\x22!\x3d\x3dtypeof gravity.scale?gravity.scale:.001;if((0!\x3d\x3dgravity.x||0!\x3d\x3dgravity.y)\x26\x260!\x3d\x3dgravityScale)for(var i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];body.isStatic||\nbody.isSleeping||(body.force.y+\x3dbody.mass*gravity.y*gravityScale,body.force.x+\x3dbody.mass*gravity.x*gravityScale)}};Engine._bodiesUpdate\x3dfunction(bodies,deltaTime,timeScale,correction,worldBounds){for(worldBounds\x3d0;worldBounds\x3cbodies.length;worldBounds++){var body\x3dbodies[worldBounds];body.isStatic||body.isSleeping||Body.update(body,deltaTime,timeScale,correction)}}})()},{\x22../body/Body\x22:1,\x22../body/Composite\x22:2,\x22../body/World\x22:3,\x22../collision/Grid\x22:6,\x22../collision/Pairs\x22:8,\x22../collision/Resolver\x22:10,\n\x22../constraint/Constraint\x22:12,\x22../render/Render\x22:31,\x22./Common\x22:14,\x22./Events\x22:16,\x22./Metrics\x22:18,\x22./Sleeping\x22:22}],16:[function(_dereq_,module,exports){var Events\x3d{};module.exports\x3dEvents;var Common\x3d_dereq_(\x22./Common\x22);(function(){Events.on\x3dfunction(object,eventNames,callback){eventNames\x3deventNames.split(\x22 \x22);for(var name,i\x3d0;i\x3ceventNames.length;i++)name\x3deventNames[i],object.events\x3dobject.events||{},object.events[name]\x3dobject.events[name]||[],object.events[name].push(callback);return callback};Events.off\x3d\nfunction(object,eventNames,callback){if(eventNames){\x22function\x22\x3d\x3d\x3dtypeof eventNames\x26\x26(callback\x3deventNames,eventNames\x3dCommon.keys(object.events).join(\x22 \x22));eventNames\x3deventNames.split(\x22 \x22);for(var i\x3d0;i\x3ceventNames.length;i++){var callbacks\x3dobject.events[eventNames[i]],newCallbacks\x3d[];if(callback\x26\x26callbacks)for(var j\x3d0;j\x3ccallbacks.length;j++)callbacks[j]!\x3d\x3dcallback\x26\x26newCallbacks.push(callbacks[j]);object.events[eventNames[i]]\x3dnewCallbacks}}else object.events\x3d{}};Events.trigger\x3dfunction(object,eventNames,\nevent){var callbacks;if(object.events){event||\x3d{};eventNames\x3deventNames.split(\x22 \x22);for(var i\x3d0;i\x3ceventNames.length;i++){var name\x3deventNames[i];if(callbacks\x3dobject.events[name]){var eventClone\x3dCommon.clone(event,!1);eventClone.name\x3dname;eventClone.source\x3dobject;for(name\x3d0;name\x3ccallbacks.length;name++)callbacks[name].apply(object,[eventClone])}}}}})()},{\x22./Common\x22:14}],17:[function(_dereq_,module,exports){var Matter\x3d{};module.exports\x3dMatter;var Plugin\x3d_dereq_(\x22./Plugin\x22),Common\x3d_dereq_(\x22./Common\x22);\n(function(){Matter.name\x3d\x22matter-js\x22;Matter.version\x3d\x220.14.2\x22;Matter.uses\x3d[];Matter.used\x3d[];Matter.use\x3dfunction(){Plugin.use(Matter,Array.prototype.slice.call(arguments))};Matter.before\x3dfunction(path,func){path\x3dpath.replace(/^Matter./,\x22\x22);return Common.chainPathBefore(Matter,path,func)};Matter.after\x3dfunction(path,func){path\x3dpath.replace(/^Matter./,\x22\x22);return Common.chainPathAfter(Matter,path,func)}})()},{\x22./Common\x22:14,\x22./Plugin\x22:20}],18:[function(_dereq_,module,exports){},{\x22../body/Composite\x22:2,\x22./Common\x22:14}],\n19:[function(_dereq_,module,exports){var Mouse\x3d{};module.exports\x3dMouse;var Common\x3d_dereq_(\x22../core/Common\x22);(function(){Mouse.create\x3dfunction(element){var mouse\x3d{};element||Common.log(\x22Mouse.create: element was undefined, defaulting to document.body\x22,\x22warn\x22);mouse.element\x3delement||document.body;mouse.absolute\x3d{x:0,y:0};mouse.position\x3d{x:0,y:0};mouse.mousedownPosition\x3d{x:0,y:0};mouse.mouseupPosition\x3d{x:0,y:0};mouse.offset\x3d{x:0,y:0};mouse.scale\x3d{x:1,y:1};mouse.wheelDelta\x3d0;mouse.button\x3d-1;mouse.pixelRatio\x3d\nmouse.element.getAttribute(\x22data-pixel-ratio\x22)||1;mouse.sourceEvents\x3d{mousemove:null,mousedown:null,mouseup:null,mousewheel:null};mouse.mousemove\x3dfunction(event){var position\x3dMouse._getRelativeMousePosition(event,mouse.element,mouse.pixelRatio);event.changedTouches\x26\x26(mouse.button\x3d0,event.preventDefault());mouse.absolute.x\x3dposition.x;mouse.absolute.y\x3dposition.y;mouse.position.x\x3dmouse.absolute.x*mouse.scale.x+mouse.offset.x;mouse.position.y\x3dmouse.absolute.y*mouse.scale.y+mouse.offset.y;mouse.sourceEvents.mousemove\x3d\nevent};mouse.mousedown\x3dfunction(event){var position\x3dMouse._getRelativeMousePosition(event,mouse.element,mouse.pixelRatio);event.changedTouches?(mouse.button\x3d0,event.preventDefault()):mouse.button\x3devent.button;mouse.absolute.x\x3dposition.x;mouse.absolute.y\x3dposition.y;mouse.position.x\x3dmouse.absolute.x*mouse.scale.x+mouse.offset.x;mouse.position.y\x3dmouse.absolute.y*mouse.scale.y+mouse.offset.y;mouse.mousedownPosition.x\x3dmouse.position.x;mouse.mousedownPosition.y\x3dmouse.position.y;mouse.sourceEvents.mousedown\x3d\nevent};mouse.mouseup\x3dfunction(event){var position\x3dMouse._getRelativeMousePosition(event,mouse.element,mouse.pixelRatio);event.changedTouches\x26\x26event.preventDefault();mouse.button\x3d-1;mouse.absolute.x\x3dposition.x;mouse.absolute.y\x3dposition.y;mouse.position.x\x3dmouse.absolute.x*mouse.scale.x+mouse.offset.x;mouse.position.y\x3dmouse.absolute.y*mouse.scale.y+mouse.offset.y;mouse.mouseupPosition.x\x3dmouse.position.x;mouse.mouseupPosition.y\x3dmouse.position.y;mouse.sourceEvents.mouseup\x3devent};mouse.mousewheel\x3dfunction(event){mouse.wheelDelta\x3d\nMath.max(-1,Math.min(1,event.wheelDelta||-event.detail));event.preventDefault()};Mouse.setElement(mouse,mouse.element);return mouse};Mouse.setElement\x3dfunction(mouse,element){mouse.element\x3delement;element.addEventListener(\x22mousemove\x22,mouse.mousemove);element.addEventListener(\x22mousedown\x22,mouse.mousedown);element.addEventListener(\x22mouseup\x22,mouse.mouseup);element.addEventListener(\x22mousewheel\x22,mouse.mousewheel);element.addEventListener(\x22DOMMouseScroll\x22,mouse.mousewheel);element.addEventListener(\x22touchmove\x22,\nmouse.mousemove);element.addEventListener(\x22touchstart\x22,mouse.mousedown);element.addEventListener(\x22touchend\x22,mouse.mouseup)};Mouse.clearSourceEvents\x3dfunction(mouse){mouse.sourceEvents.mousemove\x3dnull;mouse.sourceEvents.mousedown\x3dnull;mouse.sourceEvents.mouseup\x3dnull;mouse.sourceEvents.mousewheel\x3dnull;mouse.wheelDelta\x3d0};Mouse.setOffset\x3dfunction(mouse,offset){mouse.offset.x\x3doffset.x;mouse.offset.y\x3doffset.y;mouse.position.x\x3dmouse.absolute.x*mouse.scale.x+mouse.offset.x;mouse.position.y\x3dmouse.absolute.y*\nmouse.scale.y+mouse.offset.y};Mouse.setScale\x3dfunction(mouse,scale){mouse.scale.x\x3dscale.x;mouse.scale.y\x3dscale.y;mouse.position.x\x3dmouse.absolute.x*mouse.scale.x+mouse.offset.x;mouse.position.y\x3dmouse.absolute.y*mouse.scale.y+mouse.offset.y};Mouse._getRelativeMousePosition\x3dfunction(event,element,pixelRatio){var elementBounds\x3delement.getBoundingClientRect(),rootNode\x3ddocument.documentElement||document.body.parentNode||document.body,scrollX\x3dvoid 0!\x3d\x3dwindow.pageXOffset?window.pageXOffset:rootNode.scrollLeft;\nrootNode\x3dvoid 0!\x3d\x3dwindow.pageYOffset?window.pageYOffset:rootNode.scrollTop;var touches\x3devent.changedTouches;touches?(scrollX\x3dtouches[0].pageX-elementBounds.left-scrollX,event\x3dtouches[0].pageY-elementBounds.top-rootNode):(scrollX\x3devent.pageX-elementBounds.left-scrollX,event\x3devent.pageY-elementBounds.top-rootNode);return{x:scrollX/(element.clientWidth/(element.width||element.clientWidth)*pixelRatio),y:event/(element.clientHeight/(element.height||element.clientHeight)*pixelRatio)}}})()},{\x22../core/Common\x22:14}],\n20:[function(_dereq_,module$jscomp$0,exports){var Plugin\x3d{};module$jscomp$0.exports\x3dPlugin;var Common\x3d_dereq_(\x22./Common\x22);(function(){Plugin._registry\x3d{};Plugin.register\x3dfunction(plugin){Plugin.isPlugin(plugin)||Common.warn(\x22Plugin.register:\x22,Plugin.toString(plugin),\x22does not implement all required fields.\x22);if(plugin.name in Plugin._registry){var registered\x3dPlugin._registry[plugin.name],pluginVersion\x3dPlugin.versionParse(plugin.version).number,registeredVersion\x3dPlugin.versionParse(registered.version).number;\npluginVersion\x3eregisteredVersion?(Common.warn(\x22Plugin.register:\x22,Plugin.toString(registered),\x22was upgraded to\x22,Plugin.toString(plugin)),Plugin._registry[plugin.name]\x3dplugin):pluginVersion\x3cregisteredVersion?Common.warn(\x22Plugin.register:\x22,Plugin.toString(registered),\x22can not be downgraded to\x22,Plugin.toString(plugin)):plugin!\x3d\x3dregistered\x26\x26Common.warn(\x22Plugin.register:\x22,Plugin.toString(plugin),\x22is already registered to different plugin object\x22)}else Plugin._registry[plugin.name]\x3dplugin;return plugin};\nPlugin.resolve\x3dfunction(dependency){return Plugin._registry[Plugin.dependencyParse(dependency).name]};Plugin.toString\x3dfunction(plugin){return\x22string\x22\x3d\x3d\x3dtypeof plugin?plugin:(plugin.name||\x22anonymous\x22)+\x22@\x22+(plugin.version||plugin.range||\x220.0.0\x22)};Plugin.isPlugin\x3dfunction(obj){return obj\x26\x26obj.name\x26\x26obj.version\x26\x26obj.install};Plugin.isUsed\x3dfunction(module,name){return-1\x3cmodule.used.indexOf(name)};Plugin.isFor\x3dfunction(plugin,module){var parsed\x3dplugin.for\x26\x26Plugin.dependencyParse(plugin.for);return!plugin.for||\nmodule.name\x3d\x3d\x3dparsed.name\x26\x26Plugin.versionSatisfies(module.version,parsed.range)};Plugin.use\x3dfunction(module,plugins){module.uses\x3d(module.uses||[]).concat(plugins||[]);if(0\x3d\x3d\x3dmodule.uses.length)Common.warn(\x22Plugin.use:\x22,Plugin.toString(module),\x22does not specify any dependencies to install.\x22);else{plugins\x3dPlugin.dependencies(module);plugins\x3dCommon.topologicalSort(plugins);for(var status\x3d[],i\x3d0;i\x3cplugins.length;i+\x3d1)if(plugins[i]!\x3d\x3dmodule.name){var plugin\x3dPlugin.resolve(plugins[i]);plugin?Plugin.isUsed(module,\nplugin.name)||(Plugin.isFor(plugin,module)||(Common.warn(\x22Plugin.use:\x22,Plugin.toString(plugin),\x22is for\x22,plugin.for,\x22but installed on\x22,Plugin.toString(module)+\x22.\x22),plugin._warned\x3d!0),plugin.install?plugin.install(module):(Common.warn(\x22Plugin.use:\x22,Plugin.toString(plugin),\x22does not specify an install function.\x22),plugin._warned\x3d!0),plugin._warned?(status.push(\x22\\ud83d\\udd36 \x22+Plugin.toString(plugin)),delete plugin._warned):status.push(\x22\u2705 \x22+Plugin.toString(plugin)),module.used.push(plugin.name)):status.push(\x22\u274c \x22+\nplugins[i])}0\x3cstatus.length\x26\x26Common.info(status.join(\x22 \x22))}};Plugin.dependencies\x3dfunction(module,tracked){var parsedBase\x3dPlugin.dependencyParse(module),name\x3dparsedBase.name;tracked\x3dtracked||{};if(!(name in tracked)){module\x3dPlugin.resolve(module)||module;tracked[name]\x3dCommon.map(module.uses||[],function(dependency){Plugin.isPlugin(dependency)\x26\x26Plugin.register(dependency);var parsed\x3dPlugin.dependencyParse(dependency),resolved\x3dPlugin.resolve(dependency);resolved\x26\x26!Plugin.versionSatisfies(resolved.version,\nparsed.range)?(Common.warn(\x22Plugin.dependencies:\x22,Plugin.toString(resolved),\x22does not satisfy\x22,Plugin.toString(parsed),\x22used by\x22,Plugin.toString(parsedBase)+\x22.\x22),resolved._warned\x3d!0,module._warned\x3d!0):resolved||(Common.warn(\x22Plugin.dependencies:\x22,Plugin.toString(dependency),\x22used by\x22,Plugin.toString(parsedBase),\x22could not be resolved.\x22),module._warned\x3d!0);return parsed.name});for(var i\x3d0;i\x3ctracked[name].length;i+\x3d1)Plugin.dependencies(tracked[name][i],tracked);return tracked}};Plugin.dependencyParse\x3d\nfunction(dependency){return Common.isString(dependency)?(/^[\\w-]+(@(\\*|[\\^~]?\\d+\\.\\d+\\.\\d+(-[0-9A-Za-z-]+)?))?$/.test(dependency)||Common.warn(\x22Plugin.dependencyParse:\x22,dependency,\x22is not a valid dependency string.\x22),{name:dependency.split(\x22@\x22)[0],range:dependency.split(\x22@\x22)[1]||\x22*\x22}):{name:dependency.name,range:dependency.range||dependency.version}};Plugin.versionParse\x3dfunction(range){/^\\*|[\\^~]?\\d+\\.\\d+\\.\\d+(-[0-9A-Za-z-]+)?$/.test(range)||Common.warn(\x22Plugin.versionParse:\x22,range,\x22is not a valid version or range.\x22);\nvar identifiers\x3drange.split(\x22-\x22);range\x3didentifiers[0];var isRange\x3disNaN(Number(range[0])),version\x3disRange?range.substr(1):range,parts\x3dCommon.map(version.split(\x22.\x22),function(part){return Number(part)});return{isRange,version,range,operator:isRange?range[0]:\x22\x22,parts,prerelease:identifiers[1],number:1E8*parts[0]+1E4*parts[1]+parts[2]}};Plugin.versionSatisfies\x3dfunction(version,range){range\x3drange||\x22*\x22;var rangeParsed\x3dPlugin.versionParse(range),rangeParts\x3drangeParsed.parts,versionParsed\x3dPlugin.versionParse(version),\nversionParts\x3dversionParsed.parts;if(rangeParsed.isRange){if(\x22*\x22\x3d\x3d\x3drangeParsed.operator||\x22*\x22\x3d\x3d\x3dversion)return!0;if(\x22~\x22\x3d\x3d\x3drangeParsed.operator)return versionParts[0]\x3d\x3d\x3drangeParts[0]\x26\x26versionParts[1]\x3d\x3d\x3drangeParts[1]\x26\x26versionParts[2]\x3e\x3drangeParts[2];if(\x22^\x22\x3d\x3d\x3drangeParsed.operator)return 0\x3crangeParts[0]?versionParts[0]\x3d\x3d\x3drangeParts[0]\x26\x26versionParsed.number\x3e\x3drangeParsed.number:0\x3crangeParts[1]?versionParts[1]\x3d\x3d\x3drangeParts[1]\x26\x26versionParts[2]\x3e\x3drangeParts[2]:versionParts[2]\x3d\x3d\x3drangeParts[2]}return version\x3d\x3d\x3d\nrange||\x22*\x22\x3d\x3d\x3dversion}})()},{\x22./Common\x22:14}],21:[function(_dereq_,module,exports){var Runner\x3d{};module.exports\x3dRunner;var Events\x3d_dereq_(\x22./Events\x22),Engine\x3d_dereq_(\x22./Engine\x22),Common\x3d_dereq_(\x22./Common\x22);(function(){if(\x22undefined\x22!\x3d\x3dtypeof window){var _requestAnimationFrame\x3dwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame;var _cancelAnimationFrame\x3dwindow.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||\nwindow.msCancelAnimationFrame}if(!_requestAnimationFrame){var _frameTimeout;_requestAnimationFrame\x3dfunction(callback){_frameTimeout\x3dsetTimeout(function(){callback(Common.now())},1E3/60)};_cancelAnimationFrame\x3dfunction(){clearTimeout(_frameTimeout)}}Runner.create\x3dfunction(options){options\x3dCommon.extend({fps:60,correction:1,deltaSampleSize:60,counterTimestamp:0,frameCounter:0,deltaHistory:[],timePrev:null,timeScalePrev:1,frameRequestId:null,isFixed:!1,enabled:!0},options);options.delta\x3doptions.delta||\n1E3/options.fps;options.deltaMin\x3doptions.deltaMin||1E3/options.fps;options.deltaMax\x3doptions.deltaMax||1E3/(.5*options.fps);options.fps\x3d1E3/options.delta;return options};Runner.run\x3dfunction(runner,engine){\x22undefined\x22!\x3d\x3dtypeof runner.positionIterations\x26\x26(engine\x3drunner,runner\x3dRunner.create());(function render(time){runner.frameRequestId\x3d_requestAnimationFrame(render);time\x26\x26runner.enabled\x26\x26Runner.tick(runner,engine,time)})();return runner};Runner.tick\x3dfunction(runner,engine,time){var timing\x3dengine.timing,\ncorrection\x3d1,event\x3d{timestamp:timing.timestamp};Events.trigger(runner,\x22beforeTick\x22,event);Events.trigger(engine,\x22beforeTick\x22,event);if(runner.isFixed)var delta\x3drunner.delta;else delta\x3dtime-runner.timePrev||runner.delta,runner.timePrev\x3dtime,runner.deltaHistory.push(delta),runner.deltaHistory\x3drunner.deltaHistory.slice(-runner.deltaSampleSize),delta\x3dMath.min.apply(null,runner.deltaHistory),delta\x3ddelta\x3crunner.deltaMin?runner.deltaMin:delta,delta\x3ddelta\x3erunner.deltaMax?runner.deltaMax:delta,correction\x3d\ndelta/runner.delta,runner.delta\x3ddelta;0!\x3d\x3drunner.timeScalePrev\x26\x26(correction*\x3dtiming.timeScale/runner.timeScalePrev);0\x3d\x3d\x3dtiming.timeScale\x26\x26(correction\x3d0);runner.timeScalePrev\x3dtiming.timeScale;runner.correction\x3dcorrection;runner.frameCounter+\x3d1;1E3\x3c\x3dtime-runner.counterTimestamp\x26\x26(runner.fps\x3d(time-runner.counterTimestamp)/1E3*runner.frameCounter,runner.counterTimestamp\x3dtime,runner.frameCounter\x3d0);Events.trigger(runner,\x22tick\x22,event);Events.trigger(engine,\x22tick\x22,event);engine.world.isModified\x26\x26engine.render\x26\x26\nengine.render.controller\x26\x26engine.render.controller.clear\x26\x26engine.render.controller.clear(engine.render);Events.trigger(runner,\x22beforeUpdate\x22,event);Engine.update(engine,delta,correction);Events.trigger(runner,\x22afterUpdate\x22,event);engine.render\x26\x26engine.render.controller\x26\x26(Events.trigger(runner,\x22beforeRender\x22,event),Events.trigger(engine,\x22beforeRender\x22,event),engine.render.controller.world(engine.render),Events.trigger(runner,\x22afterRender\x22,event),Events.trigger(engine,\x22afterRender\x22,event));Events.trigger(runner,\n\x22afterTick\x22,event);Events.trigger(engine,\x22afterTick\x22,event)};Runner.stop\x3dfunction(runner){_cancelAnimationFrame(runner.frameRequestId)};Runner.start\x3dfunction(runner,engine){Runner.run(runner,engine)}})()},{\x22./Common\x22:14,\x22./Engine\x22:15,\x22./Events\x22:16}],22:[function(_dereq_,module,exports){var Sleeping\x3d{};module.exports\x3dSleeping;var Events\x3d_dereq_(\x22./Events\x22);(function(){Sleeping._motionWakeThreshold\x3d.18;Sleeping._motionSleepThreshold\x3d.08;Sleeping._minBias\x3d.9;Sleeping.update\x3dfunction(bodies,timeScale){timeScale*\x3d\ntimeScale*timeScale;for(var i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i],motion\x3dbody.speed*body.speed+body.angularSpeed*body.angularSpeed;0!\x3d\x3dbody.force.x||0!\x3d\x3dbody.force.y?Sleeping.set(body,!1):(body.motion\x3dSleeping._minBias*Math.min(body.motion,motion)+(1-Sleeping._minBias)*Math.max(body.motion,motion),0\x3cbody.sleepThreshold\x26\x26body.motion\x3cSleeping._motionSleepThreshold*timeScale?(body.sleepCounter+\x3d1,body.sleepCounter\x3e\x3dbody.sleepThreshold\x26\x26Sleeping.set(body,!0)):0\x3cbody.sleepCounter\x26\x26--body.sleepCounter)}};\nSleeping.afterCollisions\x3dfunction(pairs,timeScale){timeScale*\x3dtimeScale*timeScale;for(var i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive){var collision\x3dpair.collision;pair\x3dcollision.bodyA.parent;var bodyB\x3dcollision.bodyB.parent;pair.isSleeping\x26\x26bodyB.isSleeping||pair.isStatic||bodyB.isStatic||!pair.isSleeping\x26\x26!bodyB.isSleeping||(collision\x3dpair.isSleeping\x26\x26!pair.isStatic?pair:bodyB,pair\x3dcollision\x3d\x3d\x3dpair?bodyB:pair,!collision.isStatic\x26\x26pair.motion\x3eSleeping._motionWakeThreshold*timeScale\x26\x26\nSleeping.set(collision,!1))}}};Sleeping.set\x3dfunction(body,isSleeping){var wasSleeping\x3dbody.isSleeping;isSleeping?(body.isSleeping\x3d!0,body.sleepCounter\x3dbody.sleepThreshold,body.positionImpulse.x\x3d0,body.positionImpulse.y\x3d0,body.positionPrev.x\x3dbody.position.x,body.positionPrev.y\x3dbody.position.y,body.anglePrev\x3dbody.angle,body.speed\x3d0,body.angularSpeed\x3d0,body.motion\x3d0,wasSleeping||Events.trigger(body,\x22sleepStart\x22)):(body.isSleeping\x3d!1,body.sleepCounter\x3d0,wasSleeping\x26\x26Events.trigger(body,\x22sleepEnd\x22))}})()},\n{\x22./Events\x22:16}],23:[function(_dereq_,module,exports){var Bodies\x3d{};module.exports\x3dBodies;var Vertices\x3d_dereq_(\x22../geometry/Vertices\x22),Common\x3d_dereq_(\x22../core/Common\x22),Body\x3d_dereq_(\x22../body/Body\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22),decomp;(function(){Bodies.rectangle\x3dfunction(x,y,width,height,options){options\x3doptions||{};x\x3d{label:\x22Rectangle Body\x22,position:{x,y},vertices:Vertices.fromPath(\x22L 0 0 L \x22+width+\x22 0 L \x22+width+\x22 \x22+height+\x22 L 0 \x22+height)};options.chamfer\x26\x26\n(y\x3doptions.chamfer,x.vertices\x3dVertices.chamfer(x.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete options.chamfer);return Body.create(Common.extend({},x,options))};Bodies.trapezoid\x3dfunction(x,y,width,height,slope,options){options\x3doptions||{};slope*\x3d.5;var x1\x3dwidth*slope;width\x3dx1+(1-2*slope)*width;var x3\x3dwidth+x1;x\x3d{label:\x22Trapezoid Body\x22,position:{x,y},vertices:Vertices.fromPath(.5\x3eslope?\x22L 0 0 L \x22+x1+\x22 \x22+-height+\x22 L \x22+width+\x22 \x22+-height+\x22 L \x22+x3+\x22 0\x22:\x22L 0 0 L \x22+width+\x22 \x22+-height+\x22 L \x22+\nx3+\x22 0\x22)};options.chamfer\x26\x26(y\x3doptions.chamfer,x.vertices\x3dVertices.chamfer(x.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete options.chamfer);return Body.create(Common.extend({},x,options))};Bodies.circle\x3dfunction(x,y,radius,options,maxSides){options\x3doptions||{};var circle\x3d{label:\x22Circle Body\x22,circleRadius:radius};maxSides\x3dMath.ceil(Math.max(10,Math.min(maxSides||25,radius)));1\x3d\x3d\x3dmaxSides%2\x26\x26(maxSides+\x3d1);return Bodies.polygon(x,y,maxSides,radius,Common.extend({},circle,options))};Bodies.polygon\x3d\nfunction(x,y,sides,radius,options){options\x3doptions||{};if(3\x3esides)return Bodies.circle(x,y,radius,options);for(var theta\x3d2*Math.PI/sides,path\x3d\x22\x22,offset\x3d.5*theta,i\x3d0;i\x3csides;i+\x3d1){var angle\x3doffset+i*theta,yy\x3dMath.sin(angle)*radius;path+\x3d\x22L \x22+(Math.cos(angle)*radius).toFixed(3)+\x22 \x22+yy.toFixed(3)+\x22 \x22}x\x3d{label:\x22Polygon Body\x22,position:{x,y},vertices:Vertices.fromPath(path)};options.chamfer\x26\x26(y\x3doptions.chamfer,x.vertices\x3dVertices.chamfer(x.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete options.chamfer);\nreturn Body.create(Common.extend({},x,options))};Bodies.fromVertices\x3dfunction(x,y,vertexSets,options,flagInternal,removeCollinear,minimumArea){decomp||\x3dCommon._requireGlobal(\x22decomp\x22,\x22poly-decomp\x22);var isConvex,v;options\x3doptions||{};var parts\x3d[];flagInternal\x3d\x22undefined\x22!\x3d\x3dtypeof flagInternal?flagInternal:!1;removeCollinear\x3d\x22undefined\x22!\x3d\x3dtypeof removeCollinear?removeCollinear:.01;minimumArea\x3d\x22undefined\x22!\x3d\x3dtypeof minimumArea?minimumArea:10;decomp||Common.warn(\x22Bodies.fromVertices: poly-decomp.js required. Could not decompose vertices. Fallback to convex hull.\x22);\nCommon.isArray(vertexSets[0])||(vertexSets\x3d[vertexSets]);for(v\x3d0;v\x3cvertexSets.length;v+\x3d1){var vertices$jscomp$0\x3dvertexSets[v];if((isConvex\x3dVertices.isConvex(vertices$jscomp$0))||!decomp)vertices$jscomp$0\x3disConvex?Vertices.clockwiseSort(vertices$jscomp$0):Vertices.hull(vertices$jscomp$0),parts.push({position:{x,y},vertices:vertices$jscomp$0});else for(isConvex\x3dvertices$jscomp$0.map(function(vertex){return[vertex.x,vertex.y]}),decomp.makeCCW(isConvex),!1!\x3d\x3dremoveCollinear\x26\x26decomp.removeCollinearPoints(isConvex,\nremoveCollinear),vertices$jscomp$0\x3ddecomp.quickDecomp(isConvex),isConvex\x3d0;isConvex\x3cvertices$jscomp$0.length;isConvex++){var chunkVertices\x3dvertices$jscomp$0[isConvex].map(function(vertices){return{x:vertices[0],y:vertices[1]}});0\x3cminimumArea\x26\x26Vertices.area(chunkVertices)\x3cminimumArea||parts.push({position:Vertices.centre(chunkVertices),vertices:chunkVertices})}}for(isConvex\x3d0;isConvex\x3cparts.length;isConvex++)parts[isConvex]\x3dBody.create(Common.extend(parts[isConvex],options));if(flagInternal)for(isConvex\x3d\n0;isConvex\x3cparts.length;isConvex++)for(minimumArea\x3dparts[isConvex],vertexSets\x3disConvex+1;vertexSets\x3cparts.length;vertexSets++)if(v\x3dparts[vertexSets],Bounds.overlaps(minimumArea.bounds,v.bounds))for(vertices$jscomp$0\x3dminimumArea.vertices,chunkVertices\x3dv.vertices,flagInternal\x3d0;flagInternal\x3cminimumArea.vertices.length;flagInternal++)for(removeCollinear\x3d0;removeCollinear\x3cv.vertices.length;removeCollinear++){var da\x3dVector.magnitudeSquared(Vector.sub(vertices$jscomp$0[(flagInternal+1)%vertices$jscomp$0.length],\nchunkVertices[removeCollinear])),db\x3dVector.magnitudeSquared(Vector.sub(vertices$jscomp$0[flagInternal],chunkVertices[(removeCollinear+1)%chunkVertices.length]));5\x3eda\x26\x265\x3edb\x26\x26(vertices$jscomp$0[flagInternal].isInternal\x3d!0,chunkVertices[removeCollinear].isInternal\x3d!0)}return 1\x3cparts.length?(options\x3dBody.create(Common.extend({parts:parts.slice(0)},options)),Body.setPosition(options,{x,y}),options):parts[0]}})()},{\x22../body/Body\x22:1,\x22../core/Common\x22:14,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29}],\n24:[function(_dereq_,module,exports){var Composites\x3d{};module.exports\x3dComposites;var Composite\x3d_dereq_(\x22../body/Composite\x22),Constraint\x3d_dereq_(\x22../constraint/Constraint\x22),Common\x3d_dereq_(\x22../core/Common\x22),Body\x3d_dereq_(\x22../body/Body\x22),Bodies\x3d_dereq_(\x22./Bodies\x22);(function(){Composites.stack\x3dfunction(xx,yy,columns,rows,columnGap,rowGap,callback){for(var stack\x3dComposite.create({label:\x22Stack\x22}),x\x3dxx,lastBody,i\x3d0,row\x3d0;row\x3crows;row++){for(var maxHeight\x3d0,column\x3d0;column\x3ccolumns;column++){var body\x3dcallback(x,\nyy,column,row,lastBody,i);body?(x\x3dbody.bounds.max.y-body.bounds.min.y,lastBody\x3dbody.bounds.max.x-body.bounds.min.x,x\x3emaxHeight\x26\x26(maxHeight\x3dx),Body.translate(body,{x:.5*lastBody,y:.5*x}),x\x3dbody.bounds.max.x+columnGap,Composite.addBody(stack,body),lastBody\x3dbody,i+\x3d1):x+\x3dcolumnGap}yy+\x3dmaxHeight+rowGap;x\x3dxx}return stack};Composites.chain\x3dfunction(composite,xOffsetA,yOffsetA,xOffsetB,yOffsetB,options){for(var bodies\x3dcomposite.bodies,i\x3d1;i\x3cbodies.length;i++){var bodyA\x3dbodies[i-1],bodyB\x3dbodies[i];bodyA\x3d\nCommon.extend({bodyA,pointA:{x:(bodyA.bounds.max.x-bodyA.bounds.min.x)*xOffsetA,y:(bodyA.bounds.max.y-bodyA.bounds.min.y)*yOffsetA},bodyB,pointB:{x:(bodyB.bounds.max.x-bodyB.bounds.min.x)*xOffsetB,y:(bodyB.bounds.max.y-bodyB.bounds.min.y)*yOffsetB}},options);Composite.addConstraint(composite,Constraint.create(bodyA))}composite.label+\x3d\x22 Chain\x22;return composite};Composites.mesh\x3dfunction(composite,columns,rows,crossBrace,options){var bodies\x3dcomposite.bodies,row,col;for(row\x3d0;row\x3crows;row++){for(col\x3d\n1;col\x3ccolumns;col++){var bodyA\x3dbodies[col-1+row*columns];var bodyB\x3dbodies[col+row*columns];Composite.addConstraint(composite,Constraint.create(Common.extend({bodyA,bodyB},options)))}if(0\x3crow)for(col\x3d0;col\x3ccolumns;col++)bodyA\x3dbodies[col+(row-1)*columns],bodyB\x3dbodies[col+row*columns],Composite.addConstraint(composite,Constraint.create(Common.extend({bodyA,bodyB},options))),crossBrace\x26\x260\x3ccol\x26\x26(bodyA\x3dbodies[col-1+(row-1)*columns],Composite.addConstraint(composite,Constraint.create(Common.extend({bodyA,\nbodyB},options)))),crossBrace\x26\x26col\x3ccolumns-1\x26\x26(bodyA\x3dbodies[col+1+(row-1)*columns],Composite.addConstraint(composite,Constraint.create(Common.extend({bodyA,bodyB},options))))}composite.label+\x3d\x22 Mesh\x22;return composite};Composites.pyramid\x3dfunction(xx,yy,columns,rows,columnGap,rowGap,callback){return Composites.stack(xx,yy,columns,rows,columnGap,rowGap,function(x,y,column,row,lastBody,i){var actualRows\x3dMath.min(rows,Math.ceil(columns/2));x\x3dlastBody?lastBody.bounds.max.x-lastBody.bounds.min.x:0;if(!(row\x3e\nactualRows||(row\x3dactualRows-row,actualRows\x3dcolumns-1-row,column\x3crow||column\x3eactualRows)))return 1\x3d\x3d\x3di\x26\x26Body.translate(lastBody,{x:(column+(1\x3d\x3d\x3dcolumns%2?1:-1))*x,y:0}),callback(xx+(lastBody?column*x:0)+column*columnGap,y,column,row,lastBody,i)})};Composites.newtonsCradle\x3dfunction(xx,yy,number,size,length){for(var newtonsCradle\x3dComposite.create({label:\x22Newtons Cradle\x22}),i\x3d0;i\x3cnumber;i++){var circle\x3dBodies.circle(xx+1.9*i*size,yy+length,size,{inertia:Infinity,restitution:1,friction:0,frictionAir:1E-4,\nslop:1}),constraint\x3dConstraint.create({pointA:{x:xx+1.9*i*size,y:yy},bodyB:circle});Composite.addBody(newtonsCradle,circle);Composite.addConstraint(newtonsCradle,constraint)}return newtonsCradle};Composites.car\x3dfunction(xx,yy,width,height,wheelSize){var group\x3dBody.nextGroup(!0),wheelAOffset\x3d.5*-width+20,wheelBOffset\x3d.5*width-20,car\x3dComposite.create({label:\x22Car\x22});width\x3dBodies.rectangle(xx,yy,width,height,{collisionFilter:{group},chamfer:{radius:.5*height},density:2E-4});height\x3dBodies.circle(xx+wheelAOffset,\nyy+0,wheelSize,{collisionFilter:{group},friction:.8});xx\x3dBodies.circle(xx+wheelBOffset,yy+0,wheelSize,{collisionFilter:{group},friction:.8});wheelAOffset\x3dConstraint.create({bodyB:width,pointB:{x:wheelAOffset,y:0},bodyA:height,stiffness:1,length:0});wheelBOffset\x3dConstraint.create({bodyB:width,pointB:{x:wheelBOffset,y:0},bodyA:xx,stiffness:1,length:0});Composite.addBody(car,width);Composite.addBody(car,height);Composite.addBody(car,xx);Composite.addConstraint(car,wheelAOffset);Composite.addConstraint(car,\nwheelBOffset);return car};Composites.softBody\x3dfunction(xx,yy,columns,rows,columnGap,rowGap,crossBrace,particleRadius,particleOptions,constraintOptions){particleOptions\x3dCommon.extend({inertia:Infinity},particleOptions);constraintOptions\x3dCommon.extend({stiffness:.2,render:{type:\x22line\x22,anchors:!1}},constraintOptions);xx\x3dComposites.stack(xx,yy,columns,rows,columnGap,rowGap,function(x,y){return Bodies.circle(x,y,particleRadius,particleOptions)});Composites.mesh(xx,columns,rows,crossBrace,constraintOptions);\nxx.label\x3d\x22Soft Body\x22;return xx}})()},{\x22../body/Body\x22:1,\x22../body/Composite\x22:2,\x22../constraint/Constraint\x22:12,\x22../core/Common\x22:14,\x22./Bodies\x22:23}],25:[function(_dereq_,module,exports){var Axes\x3d{};module.exports\x3dAxes;var Vector\x3d_dereq_(\x22../geometry/Vector\x22),Common\x3d_dereq_(\x22../core/Common\x22);(function(){Axes.fromVertices\x3dfunction(vertices){for(var axes\x3d{},i\x3d0;i\x3cvertices.length;i++){var j\x3d(i+1)%vertices.length;j\x3dVector.normalise({x:vertices[j].y-vertices[i].y,y:vertices[i].x-vertices[j].x});var gradient\x3d\n0\x3d\x3d\x3dj.y?Infinity:j.x/j.y;gradient\x3dgradient.toFixed(3).toString();axes[gradient]\x3dj}return Common.values(axes)};Axes.rotate\x3dfunction(axes,angle){if(0!\x3d\x3dangle){var cos\x3dMath.cos(angle);angle\x3dMath.sin(angle);for(var i\x3d0;i\x3caxes.length;i++){var axis\x3daxes[i];var xx\x3daxis.x*cos-axis.y*angle;axis.y\x3daxis.x*angle+axis.y*cos;axis.x\x3dxx}}}})()},{\x22../core/Common\x22:14,\x22../geometry/Vector\x22:28}],26:[function(_dereq_,module,exports){var Bounds\x3d{};module.exports\x3dBounds;(function(){Bounds.create\x3dfunction(vertices){var bounds\x3d\n{min:{x:0,y:0},max:{x:0,y:0}};vertices\x26\x26Bounds.update(bounds,vertices);return bounds};Bounds.update\x3dfunction(bounds,vertices,velocity){bounds.min.x\x3dInfinity;bounds.max.x\x3d-Infinity;bounds.min.y\x3dInfinity;bounds.max.y\x3d-Infinity;for(var i\x3d0;i\x3cvertices.length;i++){var vertex\x3dvertices[i];vertex.x\x3ebounds.max.x\x26\x26(bounds.max.x\x3dvertex.x);vertex.x\x3cbounds.min.x\x26\x26(bounds.min.x\x3dvertex.x);vertex.y\x3ebounds.max.y\x26\x26(bounds.max.y\x3dvertex.y);vertex.y\x3cbounds.min.y\x26\x26(bounds.min.y\x3dvertex.y)}velocity\x26\x26(0\x3cvelocity.x?bounds.max.x+\x3d\nvelocity.x:bounds.min.x+\x3dvelocity.x,0\x3cvelocity.y?bounds.max.y+\x3dvelocity.y:bounds.min.y+\x3dvelocity.y)};Bounds.contains\x3dfunction(bounds,point){return point.x\x3e\x3dbounds.min.x\x26\x26point.x\x3c\x3dbounds.max.x\x26\x26point.y\x3e\x3dbounds.min.y\x26\x26point.y\x3c\x3dbounds.max.y};Bounds.overlaps\x3dfunction(boundsA,boundsB){return boundsA.min.x\x3c\x3dboundsB.max.x\x26\x26boundsA.max.x\x3e\x3dboundsB.min.x\x26\x26boundsA.max.y\x3e\x3dboundsB.min.y\x26\x26boundsA.min.y\x3c\x3dboundsB.max.y};Bounds.translate\x3dfunction(bounds,vector){bounds.min.x+\x3dvector.x;bounds.max.x+\x3dvector.x;bounds.min.y+\x3d\nvector.y;bounds.max.y+\x3dvector.y};Bounds.shift\x3dfunction(bounds,position){var deltaX\x3dbounds.max.x-bounds.min.x,deltaY\x3dbounds.max.y-bounds.min.y;bounds.min.x\x3dposition.x;bounds.max.x\x3dposition.x+deltaX;bounds.min.y\x3dposition.y;bounds.max.y\x3dposition.y+deltaY}})()},{}],27:[function(_dereq_,module,exports){var Svg\x3d{};module.exports\x3dSvg;_dereq_(\x22../geometry/Bounds\x22);var Common\x3d_dereq_(\x22../core/Common\x22);(function(){Svg.pathToVertices\x3dfunction(path,sampleLength){\x22undefined\x22\x3d\x3d\x3dtypeof window||\x22SVGPathSeg\x22in window||\nCommon.warn(\x22Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.\x22);var i,segmentsQueue,lastPoint,points\x3d[],lx,ly,length\x3d0,x\x3d0,y\x3d0;sampleLength\x3dsampleLength||15;var addPoint\x3dfunction(px,py,pathSegType){pathSegType\x3d1\x3d\x3d\x3dpathSegType%2\x26\x261\x3cpathSegType;if(!lastPoint||px!\x3dlastPoint.x||py!\x3dlastPoint.y){lastPoint\x26\x26pathSegType?(lx\x3dlastPoint.x,ly\x3dlastPoint.y):ly\x3dlx\x3d0;var point\x3d{x:lx+px,y:ly+py};if(pathSegType||!lastPoint)lastPoint\x3dpoint;points.push(point);x\x3dlx+px;y\x3dly+py}},addSegmentPoint\x3dfunction(segment){var segType\x3d\nsegment.pathSegTypeAsLetter.toUpperCase();if(\x22Z\x22!\x3d\x3dsegType){switch(segType){case \x22M\x22:case \x22L\x22:case \x22T\x22:case \x22C\x22:case \x22S\x22:case \x22Q\x22:x\x3dsegment.x;y\x3dsegment.y;break;case \x22H\x22:x\x3dsegment.x;break;case \x22V\x22:y\x3dsegment.y}addPoint(x,y,segment.pathSegType)}};Svg._svgPathToAbsolute(path);var total\x3dpath.getTotalLength();var segments\x3d[];for(i\x3d0;i\x3cpath.pathSegList.numberOfItems;i+\x3d1)segments.push(path.pathSegList.getItem(i));for(segmentsQueue\x3dsegments.concat();length\x3ctotal;){i\x3dpath.getPathSegAtLength(length);i\x3dsegments[i];\nif(i!\x3dlastSegment){for(;segmentsQueue.length\x26\x26segmentsQueue[0]!\x3di;)addSegmentPoint(segmentsQueue.shift());var lastSegment\x3di}switch(i.pathSegTypeAsLetter.toUpperCase()){case \x22C\x22:case \x22T\x22:case \x22S\x22:case \x22Q\x22:case \x22A\x22:i\x3dpath.getPointAtLength(length),addPoint(i.x,i.y,0)}length+\x3dsampleLength}i\x3d0;for(path\x3dsegmentsQueue.length;i\x3cpath;++i)addSegmentPoint(segmentsQueue[i]);return points};Svg._svgPathToAbsolute\x3dfunction(path){for(var x0,y0,x1,y1,x2,y2,segs\x3dpath.pathSegList,x\x3d0,y\x3d0,len\x3dsegs.numberOfItems,i\x3d0;i\x3c\nlen;++i){var seg\x3dsegs.getItem(i),segType\x3dseg.pathSegTypeAsLetter;if(/[MLHVCSQTA]/.test(segType))\x22x\x22in seg\x26\x26(x\x3dseg.x),\x22y\x22in seg\x26\x26(y\x3dseg.y);else switch(\x22x1\x22in seg\x26\x26(x1\x3dx+seg.x1),\x22x2\x22in seg\x26\x26(x2\x3dx+seg.x2),\x22y1\x22in seg\x26\x26(y1\x3dy+seg.y1),\x22y2\x22in seg\x26\x26(y2\x3dy+seg.y2),\x22x\x22in seg\x26\x26(x+\x3dseg.x),\x22y\x22in seg\x26\x26(y+\x3dseg.y),segType){case \x22m\x22:segs.replaceItem(path.createSVGPathSegMovetoAbs(x,y),i);break;case \x22l\x22:segs.replaceItem(path.createSVGPathSegLinetoAbs(x,y),i);break;case \x22h\x22:segs.replaceItem(path.createSVGPathSegLinetoHorizontalAbs(x),\ni);break;case \x22v\x22:segs.replaceItem(path.createSVGPathSegLinetoVerticalAbs(y),i);break;case \x22c\x22:segs.replaceItem(path.createSVGPathSegCurvetoCubicAbs(x,y,x1,y1,x2,y2),i);break;case \x22s\x22:segs.replaceItem(path.createSVGPathSegCurvetoCubicSmoothAbs(x,y,x2,y2),i);break;case \x22q\x22:segs.replaceItem(path.createSVGPathSegCurvetoQuadraticAbs(x,y,x1,y1),i);break;case \x22t\x22:segs.replaceItem(path.createSVGPathSegCurvetoQuadraticSmoothAbs(x,y),i);break;case \x22a\x22:segs.replaceItem(path.createSVGPathSegArcAbs(x,y,seg.r1,\nseg.r2,seg.angle,seg.largeArcFlag,seg.sweepFlag),i);break;case \x22z\x22:case \x22Z\x22:x\x3dx0,y\x3dy0}if(\x22M\x22\x3d\x3dsegType||\x22m\x22\x3d\x3dsegType)x0\x3dx,y0\x3dy}}})()},{\x22../core/Common\x22:14,\x22../geometry/Bounds\x22:26}],28:[function(_dereq_,module,exports){var Vector\x3d{};module.exports\x3dVector;(function(){Vector.create\x3dfunction(x,y){return{x:x||0,y:y||0}};Vector.clone\x3dfunction(vector){return{x:vector.x,y:vector.y}};Vector.magnitude\x3dfunction(vector){return Math.sqrt(vector.x*vector.x+vector.y*vector.y)};Vector.magnitudeSquared\x3dfunction(vector){return vector.x*\nvector.x+vector.y*vector.y};Vector.rotate\x3dfunction(vector,angle,output){var cos\x3dMath.cos(angle);angle\x3dMath.sin(angle);output||\x3d{};var x\x3dvector.x*cos-vector.y*angle;output.y\x3dvector.x*angle+vector.y*cos;output.x\x3dx;return output};Vector.rotateAbout\x3dfunction(vector,angle,point,output){var cos\x3dMath.cos(angle);angle\x3dMath.sin(angle);output||\x3d{};var x\x3dpoint.x+((vector.x-point.x)*cos-(vector.y-point.y)*angle);output.y\x3dpoint.y+((vector.x-point.x)*angle+(vector.y-point.y)*cos);output.x\x3dx;return output};Vector.normalise\x3d\nfunction(vector){var magnitude\x3dVector.magnitude(vector);return 0\x3d\x3d\x3dmagnitude?{x:0,y:0}:{x:vector.x/magnitude,y:vector.y/magnitude}};Vector.dot\x3dfunction(vectorA,vectorB){return vectorA.x*vectorB.x+vectorA.y*vectorB.y};Vector.cross\x3dfunction(vectorA,vectorB){return vectorA.x*vectorB.y-vectorA.y*vectorB.x};Vector.cross3\x3dfunction(vectorA,vectorB,vectorC){return(vectorB.x-vectorA.x)*(vectorC.y-vectorA.y)-(vectorB.y-vectorA.y)*(vectorC.x-vectorA.x)};Vector.add\x3dfunction(vectorA,vectorB,output){output||\x3d{};\noutput.x\x3dvectorA.x+vectorB.x;output.y\x3dvectorA.y+vectorB.y;return output};Vector.sub\x3dfunction(vectorA,vectorB,output){output||\x3d{};output.x\x3dvectorA.x-vectorB.x;output.y\x3dvectorA.y-vectorB.y;return output};Vector.mult\x3dfunction(vector,scalar){return{x:vector.x*scalar,y:vector.y*scalar}};Vector.div\x3dfunction(vector,scalar){return{x:vector.x/scalar,y:vector.y/scalar}};Vector.perp\x3dfunction(vector,negate){negate\x3d!0\x3d\x3d\x3dnegate?-1:1;return{x:negate*-vector.y,y:negate*vector.x}};Vector.neg\x3dfunction(vector){return{x:-vector.x,\ny:-vector.y}};Vector.angle\x3dfunction(vectorA,vectorB){return Math.atan2(vectorB.y-vectorA.y,vectorB.x-vectorA.x)};Vector._temp\x3d[Vector.create(),Vector.create(),Vector.create(),Vector.create(),Vector.create(),Vector.create()]})()},{}],29:[function(_dereq_,module,exports){var Vertices\x3d{};module.exports\x3dVertices;var Vector\x3d_dereq_(\x22../geometry/Vector\x22),Common\x3d_dereq_(\x22../core/Common\x22);(function(){Vertices.create\x3dfunction(points,body){for(var vertices\x3d[],i\x3d0;i\x3cpoints.length;i++){var point\x3dpoints[i];vertices.push({x:point.x,\ny:point.y,index:i,body,isInternal:!1})}return vertices};Vertices.fromPath\x3dfunction(path,body){var points\x3d[];path.replace(/L?\\s*([\\-\\d\\.e]+)[\\s,]*([\\-\\d\\.e]+)*/ig,function(match,x,y){points.push({x:parseFloat(x),y:parseFloat(y)})});return Vertices.create(points,body)};Vertices.centre\x3dfunction(vertices){for(var area\x3dVertices.area(vertices,!0),centre\x3d{x:0,y:0},cross,j,i\x3d0;i\x3cvertices.length;i++)j\x3d(i+1)%vertices.length,cross\x3dVector.cross(vertices[i],vertices[j]),cross\x3dVector.mult(Vector.add(vertices[i],\nvertices[j]),cross),centre\x3dVector.add(centre,cross);return Vector.div(centre,6*area)};Vertices.mean\x3dfunction(vertices){for(var average\x3d{x:0,y:0},i\x3d0;i\x3cvertices.length;i++)average.x+\x3dvertices[i].x,average.y+\x3dvertices[i].y;return Vector.div(average,vertices.length)};Vertices.area\x3dfunction(vertices,signed){for(var area\x3d0,j\x3dvertices.length-1,i\x3d0;i\x3cvertices.length;i++)area+\x3d(vertices[j].x-vertices[i].x)*(vertices[j].y+vertices[i].y),j\x3di;return signed?area/2:Math.abs(area)/2};Vertices.inertia\x3dfunction(vertices,\nmass){for(var numerator\x3d0,denominator\x3d0,cross,j,n\x3d0;n\x3cvertices.length;n++)j\x3d(n+1)%vertices.length,cross\x3dMath.abs(Vector.cross(vertices[j],vertices[n])),numerator+\x3dcross*(Vector.dot(vertices[j],vertices[j])+Vector.dot(vertices[j],vertices[n])+Vector.dot(vertices[n],vertices[n])),denominator+\x3dcross;return mass/6*(numerator/denominator)};Vertices.translate\x3dfunction(vertices,vector,scalar){var i;if(scalar)for(i\x3d0;i\x3cvertices.length;i++)vertices[i].x+\x3dvector.x*scalar,vertices[i].y+\x3dvector.y*scalar;else for(i\x3d\n0;i\x3cvertices.length;i++)vertices[i].x+\x3dvector.x,vertices[i].y+\x3dvector.y;return vertices};Vertices.rotate\x3dfunction(vertices,angle,point){if(0!\x3d\x3dangle){var cos\x3dMath.cos(angle);angle\x3dMath.sin(angle);for(var i\x3d0;i\x3cvertices.length;i++){var vertice\x3dvertices[i],dx\x3dvertice.x-point.x,dy\x3dvertice.y-point.y;vertice.x\x3dpoint.x+(dx*cos-dy*angle);vertice.y\x3dpoint.y+(dx*angle+dy*cos)}return vertices}};Vertices.contains\x3dfunction(vertices,point){for(var i\x3d0;i\x3cvertices.length;i++){var vertice\x3dvertices[i],nextVertice\x3d\nvertices[(i+1)%vertices.length];if(0\x3c(point.x-vertice.x)*(nextVertice.y-vertice.y)+(point.y-vertice.y)*(vertice.x-nextVertice.x))return!1}return!0};Vertices.scale\x3dfunction(vertices,scaleX,scaleY,point){if(1\x3d\x3d\x3dscaleX\x26\x261\x3d\x3d\x3dscaleY)return vertices;point\x3dpoint||Vertices.centre(vertices);for(var vertex,i\x3d0;i\x3cvertices.length;i++)vertex\x3dvertices[i],vertex\x3dVector.sub(vertex,point),vertices[i].x\x3dpoint.x+vertex.x*scaleX,vertices[i].y\x3dpoint.y+vertex.y*scaleY;return vertices};Vertices.chamfer\x3dfunction(vertices,\nradius,quality,qualityMin,qualityMax){radius\x3d\x22number\x22\x3d\x3d\x3dtypeof radius?[radius]:radius||[8];quality\x3d\x22undefined\x22!\x3d\x3dtypeof quality?quality:-1;qualityMin\x3dqualityMin||2;qualityMax\x3dqualityMax||14;for(var newVertices\x3d[],i\x3d0;i\x3cvertices.length;i++){var prevVertex\x3dvertices[0\x3c\x3di-1?i-1:vertices.length-1],vertex\x3dvertices[i],nextVertex\x3dvertices[(i+1)%vertices.length],currentRadius\x3dradius[i\x3cradius.length?i:radius.length-1];if(0\x3d\x3d\x3dcurrentRadius)newVertices.push(vertex);else{prevVertex\x3dVector.normalise({x:vertex.y-\nprevVertex.y,y:prevVertex.x-vertex.x});var nextNormal\x3dVector.normalise({x:nextVertex.y-vertex.y,y:vertex.x-nextVertex.x}),diagonalRadius\x3dMath.sqrt(2*Math.pow(currentRadius,2));nextVertex\x3dVector.mult(Common.clone(prevVertex),currentRadius);var midNormal\x3dVector.normalise(Vector.mult(Vector.add(prevVertex,nextNormal),.5));vertex\x3dVector.sub(vertex,Vector.mult(midNormal,diagonalRadius));diagonalRadius\x3dquality;-1\x3d\x3d\x3dquality\x26\x26(diagonalRadius\x3d1.75*Math.pow(currentRadius,.32));diagonalRadius\x3dCommon.clamp(diagonalRadius,\nqualityMin,qualityMax);1\x3d\x3d\x3ddiagonalRadius%2\x26\x26(diagonalRadius+\x3d1);currentRadius\x3dMath.acos(Vector.dot(prevVertex,nextNormal))/diagonalRadius;for(prevVertex\x3d0;prevVertex\x3cdiagonalRadius;prevVertex++)newVertices.push(Vector.add(Vector.rotate(nextVertex,currentRadius*prevVertex),vertex))}}return newVertices};Vertices.clockwiseSort\x3dfunction(vertices){var centre\x3dVertices.mean(vertices);vertices.sort(function(vertexA,vertexB){return Vector.angle(centre,vertexA)-Vector.angle(centre,vertexB)});return vertices};\nVertices.isConvex\x3dfunction(vertices){var flag\x3d0,n\x3dvertices.length,i;if(3\x3en)return null;for(i\x3d0;i\x3cn;i++){var j\x3d(i+1)%n;var k\x3d(i+2)%n;var z\x3d(vertices[j].x-vertices[i].x)*(vertices[k].y-vertices[j].y);z-\x3d(vertices[j].y-vertices[i].y)*(vertices[k].x-vertices[j].x);0\x3ez?flag|\x3d1:0\x3cz\x26\x26(flag|\x3d2);if(3\x3d\x3d\x3dflag)return!1}return 0!\x3d\x3dflag?!0:null};Vertices.hull\x3dfunction(vertices){var upper\x3d[],lower\x3d[],vertex,i;vertices\x3dvertices.slice(0);vertices.sort(function(vertexA,vertexB){var dx\x3dvertexA.x-vertexB.x;return 0!\x3d\x3d\ndx?dx:vertexA.y-vertexB.y});for(i\x3d0;i\x3cvertices.length;i+\x3d1){for(vertex\x3dvertices[i];2\x3c\x3dlower.length\x26\x260\x3e\x3dVector.cross3(lower[lower.length-2],lower[lower.length-1],vertex);)lower.pop();lower.push(vertex)}for(i\x3dvertices.length-1;0\x3c\x3di;--i){for(vertex\x3dvertices[i];2\x3c\x3dupper.length\x26\x260\x3e\x3dVector.cross3(upper[upper.length-2],upper[upper.length-1],vertex);)upper.pop();upper.push(vertex)}upper.pop();lower.pop();return upper.concat(lower)}})()},{\x22../core/Common\x22:14,\x22../geometry/Vector\x22:28}],30:[function(_dereq_,\nmodule,exports){module\x3dmodule.exports\x3d_dereq_(\x22../core/Matter\x22);module.Body\x3d_dereq_(\x22../body/Body\x22);module.Composite\x3d_dereq_(\x22../body/Composite\x22);module.World\x3d_dereq_(\x22../body/World\x22);module.Contact\x3d_dereq_(\x22../collision/Contact\x22);module.Detector\x3d_dereq_(\x22../collision/Detector\x22);module.Grid\x3d_dereq_(\x22../collision/Grid\x22);module.Pairs\x3d_dereq_(\x22../collision/Pairs\x22);module.Pair\x3d_dereq_(\x22../collision/Pair\x22);module.Query\x3d_dereq_(\x22../collision/Query\x22);module.Resolver\x3d_dereq_(\x22../collision/Resolver\x22);module.SAT\x3d\n_dereq_(\x22../collision/SAT\x22);module.Constraint\x3d_dereq_(\x22../constraint/Constraint\x22);module.MouseConstraint\x3d_dereq_(\x22../constraint/MouseConstraint\x22);module.Common\x3d_dereq_(\x22../core/Common\x22);module.Engine\x3d_dereq_(\x22../core/Engine\x22);module.Events\x3d_dereq_(\x22../core/Events\x22);module.Mouse\x3d_dereq_(\x22../core/Mouse\x22);module.Runner\x3d_dereq_(\x22../core/Runner\x22);module.Sleeping\x3d_dereq_(\x22../core/Sleeping\x22);module.Plugin\x3d_dereq_(\x22../core/Plugin\x22);module.Bodies\x3d_dereq_(\x22../factory/Bodies\x22);module.Composites\x3d_dereq_(\x22../factory/Composites\x22);\nmodule.Axes\x3d_dereq_(\x22../geometry/Axes\x22);module.Bounds\x3d_dereq_(\x22../geometry/Bounds\x22);module.Svg\x3d_dereq_(\x22../geometry/Svg\x22);module.Vector\x3d_dereq_(\x22../geometry/Vector\x22);module.Vertices\x3d_dereq_(\x22../geometry/Vertices\x22);module.Render\x3d_dereq_(\x22../render/Render\x22);module.RenderPixi\x3d_dereq_(\x22../render/RenderPixi\x22);module.World.add\x3dmodule.Composite.add;module.World.remove\x3dmodule.Composite.remove;module.World.addComposite\x3dmodule.Composite.addComposite;module.World.addBody\x3dmodule.Composite.addBody;module.World.addConstraint\x3d\nmodule.Composite.addConstraint;module.World.clear\x3dmodule.Composite.clear;module.Engine.run\x3dmodule.Runner.run},{\x22../body/Body\x22:1,\x22../body/Composite\x22:2,\x22../body/World\x22:3,\x22../collision/Contact\x22:4,\x22../collision/Detector\x22:5,\x22../collision/Grid\x22:6,\x22../collision/Pair\x22:7,\x22../collision/Pairs\x22:8,\x22../collision/Query\x22:9,\x22../collision/Resolver\x22:10,\x22../collision/SAT\x22:11,\x22../constraint/Constraint\x22:12,\x22../constraint/MouseConstraint\x22:13,\x22../core/Common\x22:14,\x22../core/Engine\x22:15,\x22../core/Events\x22:16,\x22../core/Matter\x22:17,\n\x22../core/Metrics\x22:18,\x22../core/Mouse\x22:19,\x22../core/Plugin\x22:20,\x22../core/Runner\x22:21,\x22../core/Sleeping\x22:22,\x22../factory/Bodies\x22:23,\x22../factory/Composites\x22:24,\x22../geometry/Axes\x22:25,\x22../geometry/Bounds\x22:26,\x22../geometry/Svg\x22:27,\x22../geometry/Vector\x22:28,\x22../geometry/Vertices\x22:29,\x22../render/Render\x22:31,\x22../render/RenderPixi\x22:32}],31:[function(_dereq_,module,exports){var Render\x3d{};module.exports\x3dRender;var Common\x3d_dereq_(\x22../core/Common\x22),Composite\x3d_dereq_(\x22../body/Composite\x22),Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),\nEvents\x3d_dereq_(\x22../core/Events\x22),Grid\x3d_dereq_(\x22../collision/Grid\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22),Mouse\x3d_dereq_(\x22../core/Mouse\x22);(function(){if(\x22undefined\x22!\x3d\x3dtypeof window){var _requestAnimationFrame\x3dwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(function(){callback(Common.now())},1E3/60)};var _cancelAnimationFrame\x3dwindow.cancelAnimationFrame||window.mozCancelAnimationFrame||\nwindow.webkitCancelAnimationFrame||window.msCancelAnimationFrame}Render.create\x3dfunction(options){var render\x3dCommon.extend({controller:Render,engine:null,element:null,canvas:null,mouse:null,frameRequestId:null,options:{width:800,height:600,pixelRatio:1,background:\x22#18181d\x22,wireframeBackground:\x22#0f0f13\x22,hasBounds:!!options.bounds,enabled:!0,wireframes:!0,showSleeping:!0,showDebug:!1,showBroadphase:!1,showBounds:!1,showVelocity:!1,showCollisions:!1,showSeparations:!1,showAxes:!1,showPositions:!1,showAngleIndicator:!1,\nshowIds:!1,showShadows:!1,showVertexNumbers:!1,showConvexHulls:!1,showInternalEdges:!1,showMousePosition:!1}},options);render.canvas\x26\x26(render.canvas.width\x3drender.options.width||render.canvas.width,render.canvas.height\x3drender.options.height||render.canvas.height);render.mouse\x3doptions.mouse;render.engine\x3doptions.engine;render.canvas\x3drender.canvas||_createCanvas(render.options.width,render.options.height);render.context\x3drender.canvas.getContext(\x222d\x22);render.textures\x3d{};render.bounds\x3drender.bounds||{min:{x:0,\ny:0},max:{x:render.canvas.width,y:render.canvas.height}};1!\x3d\x3drender.options.pixelRatio\x26\x26Render.setPixelRatio(render,render.options.pixelRatio);Common.isElement(render.element)?render.element.appendChild(render.canvas):render.canvas.parentNode||Common.log(\x22Render.create: options.element was undefined, render.canvas was created but not appended\x22,\x22warn\x22);return render};Render.run\x3dfunction(render){(function loop(time){render.frameRequestId\x3d_requestAnimationFrame(loop);Render.world(render)})()};Render.stop\x3d\nfunction(render){_cancelAnimationFrame(render.frameRequestId)};Render.setPixelRatio\x3dfunction(render,pixelRatio){var options\x3drender.options,canvas\x3drender.canvas;\x22auto\x22\x3d\x3d\x3dpixelRatio\x26\x26(pixelRatio\x3dcanvas.getContext(\x222d\x22),pixelRatio\x3d(window.devicePixelRatio||1)/(pixelRatio.webkitBackingStorePixelRatio||pixelRatio.mozBackingStorePixelRatio||pixelRatio.msBackingStorePixelRatio||pixelRatio.oBackingStorePixelRatio||pixelRatio.backingStorePixelRatio||1));options.pixelRatio\x3dpixelRatio;canvas.setAttribute(\x22data-pixel-ratio\x22,\npixelRatio);canvas.width\x3doptions.width*pixelRatio;canvas.height\x3doptions.height*pixelRatio;canvas.style.width\x3doptions.width+\x22px\x22;canvas.style.height\x3doptions.height+\x22px\x22;render.context.scale(pixelRatio,pixelRatio)};Render.lookAt\x3dfunction(render,objects,padding,center){center\x3d\x22undefined\x22!\x3d\x3dtypeof center?center:!0;objects\x3dCommon.isArray(objects)?objects:[objects];padding\x3dpadding||{x:0,y:0};for(var JSCompiler_object_inline_x_50\x3dInfinity,JSCompiler_object_inline_y_51\x3dInfinity,JSCompiler_object_inline_x_52\x3d\n-Infinity,JSCompiler_object_inline_y_53\x3d-Infinity,i\x3d0;i\x3cobjects.length;i+\x3d1){var object\x3dobjects[i],min\x3dobject.bounds?object.bounds.min:object.min||object.position||object;object\x3dobject.bounds?object.bounds.max:object.max||object.position||object;min\x26\x26object\x26\x26(min.x\x3cJSCompiler_object_inline_x_50\x26\x26(JSCompiler_object_inline_x_50\x3dmin.x),object.x\x3eJSCompiler_object_inline_x_52\x26\x26(JSCompiler_object_inline_x_52\x3dobject.x),min.y\x3cJSCompiler_object_inline_y_51\x26\x26(JSCompiler_object_inline_y_51\x3dmin.y),object.y\x3eJSCompiler_object_inline_y_53\x26\x26\n(JSCompiler_object_inline_y_53\x3dobject.y))}objects\x3dJSCompiler_object_inline_x_52-JSCompiler_object_inline_x_50+2*padding.x;JSCompiler_object_inline_y_53\x3dJSCompiler_object_inline_y_53-JSCompiler_object_inline_y_51+2*padding.y;JSCompiler_object_inline_x_52\x3drender.canvas.width/render.canvas.height;i\x3dobjects/JSCompiler_object_inline_y_53;object\x3dmin\x3d1;i\x3eJSCompiler_object_inline_x_52?object\x3di/JSCompiler_object_inline_x_52:min\x3dJSCompiler_object_inline_x_52/i;render.options.hasBounds\x3d!0;render.bounds.min.x\x3d\nJSCompiler_object_inline_x_50;render.bounds.max.x\x3dJSCompiler_object_inline_x_50+objects*min;render.bounds.min.y\x3dJSCompiler_object_inline_y_51;render.bounds.max.y\x3dJSCompiler_object_inline_y_51+JSCompiler_object_inline_y_53*object;center\x26\x26(render.bounds.min.x+\x3d.5*objects-objects*min*.5,render.bounds.max.x+\x3d.5*objects-objects*min*.5,render.bounds.min.y+\x3d.5*JSCompiler_object_inline_y_53-JSCompiler_object_inline_y_53*object*.5,render.bounds.max.y+\x3d.5*JSCompiler_object_inline_y_53-JSCompiler_object_inline_y_53*\nobject*.5);render.bounds.min.x-\x3dpadding.x;render.bounds.max.x-\x3dpadding.x;render.bounds.min.y-\x3dpadding.y;render.bounds.max.y-\x3dpadding.y;render.mouse\x26\x26(Mouse.setScale(render.mouse,{x:(render.bounds.max.x-render.bounds.min.x)/render.canvas.width,y:(render.bounds.max.y-render.bounds.min.y)/render.canvas.height}),Mouse.setOffset(render.mouse,render.bounds.min))};Render.startViewTransform\x3dfunction(render){render.context.scale(1/((render.bounds.max.x-render.bounds.min.x)/render.options.width),1/((render.bounds.max.y-\nrender.bounds.min.y)/render.options.height));render.context.translate(-render.bounds.min.x,-render.bounds.min.y)};Render.endViewTransform\x3dfunction(render){render.context.setTransform(render.options.pixelRatio,0,0,render.options.pixelRatio,0,0)};Render.world\x3dfunction(render){var engine\x3drender.engine,world\x3dengine.world,canvas\x3drender.canvas,context\x3drender.context,options\x3drender.options,allBodies\x3dComposite.allBodies(world);world\x3dComposite.allConstraints(world);var background\x3doptions.wireframes?options.wireframeBackground:\noptions.background,bodies\x3d[],constraints\x3d[],event\x3d{timestamp:engine.timing.timestamp};Events.trigger(render,\x22beforeRender\x22,event);if(render.currentBackground!\x3d\x3dbackground){var cssBackground\x3dbackground;/(jpg|gif|png)$/.test(background)\x26\x26(cssBackground\x3d\x22url(\x22+background+\x22)\x22);render.canvas.style.background\x3dcssBackground;render.canvas.style.backgroundSize\x3d\x22contain\x22;render.currentBackground\x3dbackground}context.globalCompositeOperation\x3d\x22source-in\x22;context.fillStyle\x3d\x22transparent\x22;context.fillRect(0,0,canvas.width,\ncanvas.height);context.globalCompositeOperation\x3d\x22source-over\x22;if(options.hasBounds){for(canvas\x3d0;canvas\x3callBodies.length;canvas++)background\x3dallBodies[canvas],Bounds.overlaps(background.bounds,render.bounds)\x26\x26bodies.push(background);for(canvas\x3d0;canvas\x3cworld.length;canvas++){allBodies\x3dworld[canvas];background\x3dallBodies.bodyA;cssBackground\x3dallBodies.bodyB;var pointAWorld\x3dallBodies.pointA,pointBWorld\x3dallBodies.pointB;background\x26\x26(pointAWorld\x3dVector.add(background.position,allBodies.pointA));cssBackground\x26\x26\n(pointBWorld\x3dVector.add(cssBackground.position,allBodies.pointB));pointAWorld\x26\x26pointBWorld\x26\x26(Bounds.contains(render.bounds,pointAWorld)||Bounds.contains(render.bounds,pointBWorld))\x26\x26constraints.push(allBodies)}Render.startViewTransform(render);render.mouse\x26\x26(Mouse.setScale(render.mouse,{x:(render.bounds.max.x-render.bounds.min.x)/render.canvas.width,y:(render.bounds.max.y-render.bounds.min.y)/render.canvas.height}),Mouse.setOffset(render.mouse,render.bounds.min))}else constraints\x3dworld,bodies\x3dallBodies;\n!options.wireframes||engine.enableSleeping\x26\x26options.showSleeping?Render.bodies(render,bodies,context):(options.showConvexHulls\x26\x26Render.bodyConvexHulls(render,bodies,context),Render.bodyWireframes(render,bodies,context));options.showBounds\x26\x26Render.bodyBounds(render,bodies,context);(options.showAxes||options.showAngleIndicator)\x26\x26Render.bodyAxes(render,bodies,context);options.showPositions\x26\x26Render.bodyPositions(render,bodies,context);options.showVelocity\x26\x26Render.bodyVelocity(render,bodies,context);options.showIds\x26\x26\nRender.bodyIds(render,bodies,context);options.showSeparations\x26\x26Render.separations(render,engine.pairs.list,context);options.showCollisions\x26\x26Render.collisions(render,engine.pairs.list,context);options.showVertexNumbers\x26\x26Render.vertexNumbers(render,bodies,context);options.showMousePosition\x26\x26Render.mousePosition(render,render.mouse,context);Render.constraints(constraints,context);options.showBroadphase\x26\x26engine.broadphase.controller\x3d\x3d\x3dGrid\x26\x26Render.grid(render,engine.broadphase,context);options.showDebug\x26\x26\nRender.debug(render,context);options.hasBounds\x26\x26Render.endViewTransform(render);Events.trigger(render,\x22afterRender\x22,event)};Render.debug\x3dfunction(render,context){var engine\x3drender.engine,metrics\x3dengine.metrics,options\x3drender.options;Composite.allBodies(engine.world);if(500\x3c\x3dengine.timing.timestamp-(render.debugTimestamp||0)){var text\x3d\x22\x22;metrics.timing\x26\x26(text+\x3d\x22fps: \x22+Math.round(metrics.timing.fps)+\x22 \x22);render.debugString\x3dtext;render.debugTimestamp\x3dengine.timing.timestamp}if(render.debugString)for(context.font\x3d\n\x2212px Arial\x22,context.fillStyle\x3doptions.wireframes?\x22rgba(255,255,255,0.5)\x22:\x22rgba(0,0,0,0.5)\x22,render\x3drender.debugString.split(\x22\\n\x22),engine\x3d0;engine\x3crender.length;engine++)context.fillText(render[engine],50,50+18*engine)};Render.constraints\x3dfunction(constraints,context){for(var i\x3d0;i\x3cconstraints.length;i++){var constraint\x3dconstraints[i];if(constraint.render.visible\x26\x26constraint.pointA\x26\x26constraint.pointB){var bodyA\x3dconstraint.bodyA,bodyB\x3dconstraint.bodyB;bodyA\x3dbodyA?Vector.add(bodyA.position,constraint.pointA):\nconstraint.pointA;if(\x22pin\x22\x3d\x3d\x3dconstraint.render.type)context.beginPath(),context.arc(bodyA.x,bodyA.y,3,0,2*Math.PI),context.closePath();else{var end\x3dbodyB?Vector.add(bodyB.position,constraint.pointB):constraint.pointB;context.beginPath();context.moveTo(bodyA.x,bodyA.y);if(\x22spring\x22\x3d\x3d\x3dconstraint.render.type){bodyB\x3dVector.sub(end,bodyA);for(var normal\x3dVector.perp(Vector.normalise(bodyB)),coils\x3dMath.ceil(Common.clamp(constraint.length/5,12,20)),offset,j\x3d1;j\x3ccoils;j+\x3d1)offset\x3d0\x3d\x3d\x3dj%2?1:-1,context.lineTo(bodyA.x+\nj/coils*bodyB.x+normal.x*offset*4,bodyA.y+j/coils*bodyB.y+normal.y*offset*4)}context.lineTo(end.x,end.y)}constraint.render.lineWidth\x26\x26(context.lineWidth\x3dconstraint.render.lineWidth,context.strokeStyle\x3dconstraint.render.strokeStyle,context.stroke());constraint.render.anchors\x26\x26(context.fillStyle\x3dconstraint.render.strokeStyle,context.beginPath(),context.arc(bodyA.x,bodyA.y,3,0,2*Math.PI),context.arc(end.x,end.y,3,0,2*Math.PI),context.closePath(),context.fill())}}};Render.bodyShadows\x3dfunction(render,\nbodies,context){for(var i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];if(body.render.visible){if(body.circleRadius)context.beginPath(),context.arc(body.position.x,body.position.y,body.circleRadius,0,2*Math.PI);else{context.beginPath();context.moveTo(body.vertices[0].x,body.vertices[0].y);for(var j\x3d1;j\x3cbody.vertices.length;j++)context.lineTo(body.vertices[j].x,body.vertices[j].y)}context.closePath();j\x3dbody.position.x-.5*render.options.width;body\x3dbody.position.y-.2*render.options.height;var distance\x3d\nMath.abs(j)+Math.abs(body);context.shadowColor\x3d\x22rgba(0,0,0,0.15)\x22;context.shadowOffsetX\x3d.05*j;context.shadowOffsetY\x3d.05*body;context.shadowBlur\x3d1+12*Math.min(1,distance/1E3);context.fill();context.shadowColor\x3dnull;context.shadowOffsetX\x3dnull;context.shadowOffsetY\x3dnull;context.shadowBlur\x3dnull}}};Render.bodies\x3dfunction(render,bodies,context){var options\x3drender.options,showInternalEdges\x3doptions.showInternalEdges||!options.wireframes,i,k;for(i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];if(body.render.visible)for(k\x3d\n1\x3cbody.parts.length?1:0;k\x3cbody.parts.length;k++){var part\x3dbody.parts[k];if(part.render.visible){options.showSleeping\x26\x26body.isSleeping?context.globalAlpha\x3d.5*part.render.opacity:1!\x3d\x3dpart.render.opacity\x26\x26(context.globalAlpha\x3dpart.render.opacity);if(part.render.sprite\x26\x26part.render.sprite.texture\x26\x26!options.wireframes){var sprite\x3dpart.render.sprite;var texture\x3dsprite.texture;var image\x3drender.textures[texture];image||(image\x3drender.textures[texture]\x3dnew Image,image.src\x3dtexture);texture\x3dimage;context.translate(part.position.x,\npart.position.y);context.rotate(part.angle);context.drawImage(texture,texture.width*-sprite.xOffset*sprite.xScale,texture.height*-sprite.yOffset*sprite.yScale,texture.width*sprite.xScale,texture.height*sprite.yScale);context.rotate(-part.angle);context.translate(-part.position.x,-part.position.y)}else{if(part.circleRadius)context.beginPath(),context.arc(part.position.x,part.position.y,part.circleRadius,0,2*Math.PI);else{context.beginPath();context.moveTo(part.vertices[0].x,part.vertices[0].y);for(sprite\x3d\n1;sprite\x3cpart.vertices.length;sprite++)!part.vertices[sprite-1].isInternal||showInternalEdges?context.lineTo(part.vertices[sprite].x,part.vertices[sprite].y):context.moveTo(part.vertices[sprite].x,part.vertices[sprite].y),part.vertices[sprite].isInternal\x26\x26!showInternalEdges\x26\x26context.moveTo(part.vertices[(sprite+1)%part.vertices.length].x,part.vertices[(sprite+1)%part.vertices.length].y);context.lineTo(part.vertices[0].x,part.vertices[0].y);context.closePath()}options.wireframes?(context.lineWidth\x3d\n1,context.strokeStyle\x3d\x22#bbb\x22,context.stroke()):(context.fillStyle\x3dpart.render.fillStyle,part.render.lineWidth\x26\x26(context.lineWidth\x3dpart.render.lineWidth,context.strokeStyle\x3dpart.render.strokeStyle,context.stroke()),context.fill())}context.globalAlpha\x3d1}}}};Render.bodyWireframes\x3dfunction(render,bodies,context){render\x3drender.options.showInternalEdges;var i,j,k;context.beginPath();for(i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];if(body.render.visible)for(k\x3d1\x3cbody.parts.length?1:0;k\x3cbody.parts.length;k++){var part\x3d\nbody.parts[k];context.moveTo(part.vertices[0].x,part.vertices[0].y);for(j\x3d1;j\x3cpart.vertices.length;j++)!part.vertices[j-1].isInternal||render?context.lineTo(part.vertices[j].x,part.vertices[j].y):context.moveTo(part.vertices[j].x,part.vertices[j].y),part.vertices[j].isInternal\x26\x26!render\x26\x26context.moveTo(part.vertices[(j+1)%part.vertices.length].x,part.vertices[(j+1)%part.vertices.length].y);context.lineTo(part.vertices[0].x,part.vertices[0].y)}}context.lineWidth\x3d1;context.strokeStyle\x3d\x22#bbb\x22;context.stroke()};\nRender.bodyConvexHulls\x3dfunction(render,bodies,context){var i,j;context.beginPath();for(i\x3d0;i\x3cbodies.length;i++)if(render\x3dbodies[i],render.render.visible\x26\x261!\x3d\x3drender.parts.length){context.moveTo(render.vertices[0].x,render.vertices[0].y);for(j\x3d1;j\x3crender.vertices.length;j++)context.lineTo(render.vertices[j].x,render.vertices[j].y);context.lineTo(render.vertices[0].x,render.vertices[0].y)}context.lineWidth\x3d1;context.strokeStyle\x3d\x22rgba(255,255,255,0.2)\x22;context.stroke()};Render.vertexNumbers\x3dfunction(render,\nbodies,context){var j,k;for(render\x3d0;render\x3cbodies.length;render++){var parts\x3dbodies[render].parts;for(k\x3d1\x3cparts.length?1:0;k\x3cparts.length;k++){var part\x3dparts[k];for(j\x3d0;j\x3cpart.vertices.length;j++)context.fillStyle\x3d\x22rgba(255,255,255,0.2)\x22,context.fillText(render+\x22_\x22+j,part.position.x+.8*(part.vertices[j].x-part.position.x),part.position.y+.8*(part.vertices[j].y-part.position.y))}}};Render.mousePosition\x3dfunction(render,mouse,context){context.fillStyle\x3d\x22rgba(255,255,255,0.8)\x22;context.fillText(mouse.position.x+\n\x22 \x22+mouse.position.y,mouse.position.x+5,mouse.position.y-5)};Render.bodyBounds\x3dfunction(render,bodies,context){render\x3drender.options;context.beginPath();for(var i\x3d0;i\x3cbodies.length;i++)if(bodies[i].render.visible)for(var parts\x3dbodies[i].parts,j\x3d1\x3cparts.length?1:0;j\x3cparts.length;j++){var part\x3dparts[j];context.rect(part.bounds.min.x,part.bounds.min.y,part.bounds.max.x-part.bounds.min.x,part.bounds.max.y-part.bounds.min.y)}context.strokeStyle\x3drender.wireframes?\x22rgba(255,255,255,0.08)\x22:\x22rgba(0,0,0,0.1)\x22;\ncontext.lineWidth\x3d1;context.stroke()};Render.bodyAxes\x3dfunction(render,bodies,context){render\x3drender.options;var i,j,k;context.beginPath();for(i\x3d0;i\x3cbodies.length;i++){var part\x3dbodies[i];var parts\x3dpart.parts;if(part.render.visible)if(render.showAxes)for(j\x3d1\x3cparts.length?1:0;j\x3cparts.length;j++)for(part\x3dparts[j],k\x3d0;k\x3cpart.axes.length;k++){var axis\x3dpart.axes[k];context.moveTo(part.position.x,part.position.y);context.lineTo(part.position.x+20*axis.x,part.position.y+20*axis.y)}else for(j\x3d1\x3cparts.length?\n1:0;j\x3cparts.length;j++)for(part\x3dparts[j],k\x3d0;k\x3cpart.axes.length;k++)context.moveTo(part.position.x,part.position.y),context.lineTo((part.vertices[0].x+part.vertices[part.vertices.length-1].x)/2,(part.vertices[0].y+part.vertices[part.vertices.length-1].y)/2)}render.wireframes?(context.strokeStyle\x3d\x22indianred\x22,context.lineWidth\x3d1):(context.strokeStyle\x3d\x22rgba(255, 255, 255, 0.4)\x22,context.globalCompositeOperation\x3d\x22overlay\x22,context.lineWidth\x3d2);context.stroke();context.globalCompositeOperation\x3d\x22source-over\x22};\nRender.bodyPositions\x3dfunction(render,bodies,context){render\x3drender.options;var i,k;context.beginPath();for(i\x3d0;i\x3cbodies.length;i++){var body\x3dbodies[i];if(body.render.visible)for(k\x3d0;k\x3cbody.parts.length;k++){var part\x3dbody.parts[k];context.arc(part.position.x,part.position.y,3,0,2*Math.PI,!1);context.closePath()}}context.fillStyle\x3drender.wireframes?\x22indianred\x22:\x22rgba(0,0,0,0.5)\x22;context.fill();context.beginPath();for(i\x3d0;i\x3cbodies.length;i++)body\x3dbodies[i],body.render.visible\x26\x26(context.arc(body.positionPrev.x,\nbody.positionPrev.y,2,0,2*Math.PI,!1),context.closePath());context.fillStyle\x3d\x22rgba(255,165,0,0.8)\x22;context.fill()};Render.bodyVelocity\x3dfunction(render,bodies,context){context.beginPath();for(render\x3d0;render\x3cbodies.length;render++){var body\x3dbodies[render];body.render.visible\x26\x26(context.moveTo(body.position.x,body.position.y),context.lineTo(body.position.x+2*(body.position.x-body.positionPrev.x),body.position.y+2*(body.position.y-body.positionPrev.y)))}context.lineWidth\x3d3;context.strokeStyle\x3d\x22cornflowerblue\x22;\ncontext.stroke()};Render.bodyIds\x3dfunction(render,bodies,context){var j;for(render\x3d0;render\x3cbodies.length;render++)if(bodies[render].render.visible){var parts\x3dbodies[render].parts;for(j\x3d1\x3cparts.length?1:0;j\x3cparts.length;j++){var part\x3dparts[j];context.font\x3d\x2212px Arial\x22;context.fillStyle\x3d\x22rgba(255,255,255,0.5)\x22;context.fillText(part.id,part.position.x+10,part.position.y-10)}}};Render.collisions\x3dfunction(render,pairs,context){render\x3drender.options;var collision,i;context.beginPath();for(i\x3d0;i\x3cpairs.length;i++){var pair\x3d\npairs[i];if(pair.isActive)for(collision\x3d0;collision\x3cpair.activeContacts.length;collision++){var vertex\x3dpair.activeContacts[collision].vertex;context.rect(vertex.x-1.5,vertex.y-1.5,3.5,3.5)}}context.fillStyle\x3drender.wireframes?\x22rgba(255,255,255,0.7)\x22:\x22orange\x22;context.fill();context.beginPath();for(i\x3d0;i\x3cpairs.length;i++)if(pair\x3dpairs[i],pair.isActive\x26\x26(collision\x3dpair.collision,0\x3cpair.activeContacts.length)){vertex\x3dpair.activeContacts[0].vertex.x;var normalPosY\x3dpair.activeContacts[0].vertex.y;2\x3d\x3d\x3dpair.activeContacts.length\x26\x26\n(vertex\x3d(pair.activeContacts[0].vertex.x+pair.activeContacts[1].vertex.x)/2,normalPosY\x3d(pair.activeContacts[0].vertex.y+pair.activeContacts[1].vertex.y)/2);collision.bodyB\x3d\x3d\x3dcollision.supports[0].body||!0\x3d\x3d\x3dcollision.bodyA.isStatic?context.moveTo(vertex-8*collision.normal.x,normalPosY-8*collision.normal.y):context.moveTo(vertex+8*collision.normal.x,normalPosY+8*collision.normal.y);context.lineTo(vertex,normalPosY)}context.strokeStyle\x3drender.wireframes?\x22rgba(255,165,0,0.7)\x22:\x22orange\x22;context.lineWidth\x3d\n1;context.stroke()};Render.separations\x3dfunction(render,pairs,context){render\x3drender.options;var i;context.beginPath();for(i\x3d0;i\x3cpairs.length;i++){var pair\x3dpairs[i];if(pair.isActive){pair\x3dpair.collision;var bodyA\x3dpair.bodyA;var bodyB\x3dpair.bodyB;var k\x3d1;bodyB.isStatic||bodyA.isStatic||(k\x3d.5);bodyB.isStatic\x26\x26(k\x3d0);context.moveTo(bodyB.position.x,bodyB.position.y);context.lineTo(bodyB.position.x-pair.penetration.x*k,bodyB.position.y-pair.penetration.y*k);k\x3d1;bodyB.isStatic||bodyA.isStatic||(k\x3d.5);bodyA.isStatic\x26\x26\n(k\x3d0);context.moveTo(bodyA.position.x,bodyA.position.y);context.lineTo(bodyA.position.x+pair.penetration.x*k,bodyA.position.y+pair.penetration.y*k)}}context.strokeStyle\x3drender.wireframes?\x22rgba(255,165,0,0.5)\x22:\x22orange\x22;context.stroke()};Render.grid\x3dfunction(render,grid,context){context.strokeStyle\x3drender.options.wireframes?\x22rgba(255,180,0,0.1)\x22:\x22rgba(255,180,0,0.5)\x22;context.beginPath();render\x3dCommon.keys(grid.buckets);for(var i\x3d0;i\x3crender.length;i++){var bucketId\x3drender[i];2\x3egrid.buckets[bucketId].length||\n(bucketId\x3dbucketId.split(/C|R/),context.rect(.5+parseInt(bucketId[1],10)*grid.bucketWidth,.5+parseInt(bucketId[2],10)*grid.bucketHeight,grid.bucketWidth,grid.bucketHeight))}context.lineWidth\x3d1;context.stroke()};Render.inspector\x3dfunction(inspector,context){var selected\x3dinspector.selected,render\x3dinspector.render,options\x3drender.options;options.hasBounds\x26\x26(context.scale(1/((render.bounds.max.x-render.bounds.min.x)/render.options.width),1/((render.bounds.max.y-render.bounds.min.y)/render.options.height)),\ncontext.translate(-render.bounds.min.x,-render.bounds.min.y));for(render\x3d0;render\x3cselected.length;render++){var bounds\x3dselected[render].data;context.translate(.5,.5);context.lineWidth\x3d1;context.strokeStyle\x3d\x22rgba(255,165,0,0.9)\x22;context.setLineDash([1,2]);switch(bounds.type){case \x22body\x22:bounds\x3dbounds.bounds;context.beginPath();context.rect(Math.floor(bounds.min.x-3),Math.floor(bounds.min.y-3),Math.floor(bounds.max.x-bounds.min.x+6),Math.floor(bounds.max.y-bounds.min.y+6));context.closePath();context.stroke();\nbreak;case \x22constraint\x22:var point\x3dbounds.pointA;bounds.bodyA\x26\x26(point\x3dbounds.pointB);context.beginPath();context.arc(point.x,point.y,10,0,2*Math.PI);context.closePath();context.stroke()}context.setLineDash([]);context.translate(-.5,-.5)}null!\x3d\x3dinspector.selectStart\x26\x26(context.translate(.5,.5),context.lineWidth\x3d1,context.strokeStyle\x3d\x22rgba(255,165,0,0.6)\x22,context.fillStyle\x3d\x22rgba(255,165,0,0.1)\x22,bounds\x3dinspector.selectBounds,context.beginPath(),context.rect(Math.floor(bounds.min.x),Math.floor(bounds.min.y),\nMath.floor(bounds.max.x-bounds.min.x),Math.floor(bounds.max.y-bounds.min.y)),context.closePath(),context.stroke(),context.fill(),context.translate(-.5,-.5));options.hasBounds\x26\x26context.setTransform(1,0,0,1,0,0)};var _createCanvas\x3dfunction(width,height){var canvas\x3ddocument.createElement(\x22canvas\x22);canvas.width\x3dwidth;canvas.height\x3dheight;canvas.oncontextmenu\x3dfunction(){return!1};canvas.onselectstart\x3dfunction(){return!1};return canvas}})()},{\x22../body/Composite\x22:2,\x22../collision/Grid\x22:6,\x22../core/Common\x22:14,\n\x22../core/Events\x22:16,\x22../core/Mouse\x22:19,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28}],32:[function(_dereq_,module,exports){var RenderPixi\x3d{};module.exports\x3dRenderPixi;var Bounds\x3d_dereq_(\x22../geometry/Bounds\x22),Composite\x3d_dereq_(\x22../body/Composite\x22),Common\x3d_dereq_(\x22../core/Common\x22),Events\x3d_dereq_(\x22../core/Events\x22),Vector\x3d_dereq_(\x22../geometry/Vector\x22);(function(){if(\x22undefined\x22!\x3d\x3dtypeof window){var _requestAnimationFrame\x3dwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||\nwindow.msRequestAnimationFrame||function(callback){window.setTimeout(function(){callback(Common.now())},1E3/60)};var _cancelAnimationFrame\x3dwindow.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame}RenderPixi.create\x3dfunction(options){Common.warn(\x22RenderPixi.create: Matter.RenderPixi is deprecated (see docs)\x22);var render\x3dCommon.extend({controller:RenderPixi,engine:null,element:null,frameRequestId:null,canvas:null,renderer:null,container:null,\nspriteContainer:null,pixiOptions:null,options:{width:800,height:600,background:\x22#fafafa\x22,wireframeBackground:\x22#222\x22,hasBounds:!1,enabled:!0,wireframes:!0,showSleeping:!0,showDebug:!1,showBroadphase:!1,showBounds:!1,showVelocity:!1,showCollisions:!1,showAxes:!1,showPositions:!1,showAngleIndicator:!1,showIds:!1,showShadows:!1}},options),transparent\x3d!render.options.wireframes\x26\x26\x22transparent\x22\x3d\x3d\x3drender.options.background;render.pixiOptions\x3drender.pixiOptions||{view:render.canvas,transparent,antialias:!0,\nbackgroundColor:options.background};render.mouse\x3doptions.mouse;render.engine\x3doptions.engine;render.renderer\x3drender.renderer||new PIXI.WebGLRenderer(render.options.width,render.options.height,render.pixiOptions);render.container\x3drender.container||new PIXI.Container;render.spriteContainer\x3drender.spriteContainer||new PIXI.Container;render.canvas\x3drender.canvas||render.renderer.view;render.bounds\x3drender.bounds||{min:{x:0,y:0},max:{x:render.options.width,y:render.options.height}};Events.on(render.engine,\n\x22beforeUpdate\x22,function(){RenderPixi.clear(render)});render.textures\x3d{};render.sprites\x3d{};render.primitives\x3d{};render.container.addChild(render.spriteContainer);Common.isElement(render.element)?render.element.appendChild(render.canvas):Common.warn(\x27No \x22render.element\x22 passed, \x22render.canvas\x22 was not inserted into document.\x27);render.canvas.oncontextmenu\x3dfunction(){return!1};render.canvas.onselectstart\x3dfunction(){return!1};return render};RenderPixi.run\x3dfunction(render){(function loop(time){render.frameRequestId\x3d\n_requestAnimationFrame(loop);RenderPixi.world(render)})()};RenderPixi.stop\x3dfunction(render){_cancelAnimationFrame(render.frameRequestId)};RenderPixi.clear\x3dfunction(render){for(var container\x3drender.container,spriteContainer\x3drender.spriteContainer;container.children[0];)container.removeChild(container.children[0]);for(;spriteContainer.children[0];)spriteContainer.removeChild(spriteContainer.children[0]);spriteContainer\x3drender.sprites[\x22bg-0\x22];render.textures\x3d{};render.sprites\x3d{};render.primitives\x3d{};\n(render.sprites[\x22bg-0\x22]\x3dspriteContainer)\x26\x26container.addChildAt(spriteContainer,0);render.container.addChild(render.spriteContainer);render.currentBackground\x3dnull;container.scale.set(1,1);container.position.set(0,0)};RenderPixi.setBackground\x3dfunction(render,background){if(render.currentBackground!\x3d\x3dbackground){var isColor\x3dbackground.indexOf\x26\x26-1!\x3d\x3dbackground.indexOf(\x22#\x22),bgSprite\x3drender.sprites[\x22bg-0\x22];isColor?(isColor\x3dCommon.colorToNumber(background),render.renderer.backgroundColor\x3disColor,bgSprite\x26\x26\nrender.container.removeChild(bgSprite)):bgSprite||(bgSprite\x3d_getTexture(render,background),bgSprite\x3drender.sprites[\x22bg-0\x22]\x3dnew PIXI.Sprite(bgSprite),bgSprite.position.x\x3d0,bgSprite.position.y\x3d0,render.container.addChildAt(bgSprite,0));render.currentBackground\x3dbackground}};RenderPixi.world\x3dfunction(render){var world\x3drender.engine.world,renderer\x3drender.renderer,container\x3drender.container,options\x3drender.options,bodies\x3dComposite.allBodies(world);world\x3dComposite.allConstraints(world);var constraints\x3d[];\noptions.wireframes?RenderPixi.setBackground(render,options.wireframeBackground):RenderPixi.setBackground(render,options.background);var boundsScaleX\x3d(render.bounds.max.x-render.bounds.min.x)/render.options.width,boundsScaleY\x3d(render.bounds.max.y-render.bounds.min.y)/render.options.height;if(options.hasBounds){for(options\x3d0;options\x3cbodies.length;options++){var body\x3dbodies[options];body.render.sprite.visible\x3dBounds.overlaps(body.bounds,render.bounds)}for(options\x3d0;options\x3cworld.length;options++){body\x3d\nworld[options];var bodyA\x3dbody.bodyA,bodyB\x3dbody.bodyB,pointAWorld\x3dbody.pointA,pointBWorld\x3dbody.pointB;bodyA\x26\x26(pointAWorld\x3dVector.add(bodyA.position,body.pointA));bodyB\x26\x26(pointBWorld\x3dVector.add(bodyB.position,body.pointB));pointAWorld\x26\x26pointBWorld\x26\x26(Bounds.contains(render.bounds,pointAWorld)||Bounds.contains(render.bounds,pointBWorld))\x26\x26constraints.push(body)}container.scale.set(1/boundsScaleX,1/boundsScaleY);container.position.set(1/boundsScaleX*-render.bounds.min.x,1/boundsScaleY*-render.bounds.min.y)}else constraints\x3d\nworld;for(options\x3d0;options\x3cbodies.length;options++)RenderPixi.body(render,bodies[options]);for(options\x3d0;options\x3cconstraints.length;options++)RenderPixi.constraint(render,constraints[options]);renderer.render(container)};RenderPixi.constraint\x3dfunction(render,constraint){var bodyA\x3dconstraint.bodyA,bodyB\x3dconstraint.bodyB,pointA\x3dconstraint.pointA,pointB\x3dconstraint.pointB,container\x3drender.container,constraintRender\x3dconstraint.render,primitiveId\x3d\x22c-\x22+constraint.id,primitive\x3drender.primitives[primitiveId];\nprimitive||\x3drender.primitives[primitiveId]\x3dnew PIXI.Graphics;constraintRender.visible\x26\x26constraint.pointA\x26\x26constraint.pointB?(-1\x3d\x3d\x3dCommon.indexOf(container.children,primitive)\x26\x26container.addChild(primitive),primitive.clear(),primitive.beginFill(0,0),primitive.lineStyle(constraintRender.lineWidth,Common.colorToNumber(constraintRender.strokeStyle),1),bodyA?primitive.moveTo(bodyA.position.x+pointA.x,bodyA.position.y+pointA.y):primitive.moveTo(pointA.x,pointA.y),bodyB?primitive.lineTo(bodyB.position.x+\npointB.x,bodyB.position.y+pointB.y):primitive.lineTo(pointB.x,pointB.y),primitive.endFill()):primitive.clear()};RenderPixi.body\x3dfunction(render,body){var bodyRender\x3dbody.render;if(bodyRender.visible)if(bodyRender.sprite\x26\x26bodyRender.sprite.texture){var spriteId\x3d\x22b-\x22+body.id,sprite\x3drender.sprites[spriteId],spriteContainer\x3drender.spriteContainer;sprite||(sprite\x3drender.sprites,render\x3d_getTexture(render,body.render.sprite.texture),render\x3dnew PIXI.Sprite(render),render.anchor.x\x3dbody.render.sprite.xOffset,\nrender.anchor.y\x3dbody.render.sprite.yOffset,sprite\x3dsprite[spriteId]\x3drender);-1\x3d\x3d\x3dCommon.indexOf(spriteContainer.children,sprite)\x26\x26spriteContainer.addChild(sprite);sprite.position.x\x3dbody.position.x;sprite.position.y\x3dbody.position.y;sprite.rotation\x3dbody.angle;sprite.scale.x\x3dbodyRender.sprite.xScale||1;sprite.scale.y\x3dbodyRender.sprite.yScale||1}else{bodyRender\x3d\x22b-\x22+body.id;spriteContainer\x3drender.primitives[bodyRender];spriteId\x3drender.container;if(!spriteContainer){spriteContainer\x3drender.primitives;sprite\x3d\nbody.render;render\x3drender.options;var primitive\x3dnew PIXI.Graphics,fillStyle\x3dCommon.colorToNumber(sprite.fillStyle),strokeStyle\x3dCommon.colorToNumber(sprite.strokeStyle),strokeStyleIndicator\x3dCommon.colorToNumber(sprite.strokeStyle),strokeStyleWireframe\x3dCommon.colorToNumber(\x22#bbb\x22),strokeStyleWireframeIndicator\x3dCommon.colorToNumber(\x22#CD5C5C\x22);primitive.clear();for(var k\x3d1\x3cbody.parts.length?1:0;k\x3cbody.parts.length;k++){var part\x3dbody.parts[k];render.wireframes?(primitive.beginFill(0,0),primitive.lineStyle(1,\nstrokeStyleWireframe,1)):(primitive.beginFill(fillStyle,1),primitive.lineStyle(sprite.lineWidth,strokeStyle,1));primitive.moveTo(part.vertices[0].x-body.position.x,part.vertices[0].y-body.position.y);for(var j\x3d1;j\x3cpart.vertices.length;j++)primitive.lineTo(part.vertices[j].x-body.position.x,part.vertices[j].y-body.position.y);primitive.lineTo(part.vertices[0].x-body.position.x,part.vertices[0].y-body.position.y);primitive.endFill();if(render.showAngleIndicator||render.showAxes)primitive.beginFill(0,\n0),render.wireframes?primitive.lineStyle(1,strokeStyleWireframeIndicator,1):primitive.lineStyle(1,strokeStyleIndicator),primitive.moveTo(part.position.x-body.position.x,part.position.y-body.position.y),primitive.lineTo((part.vertices[0].x+part.vertices[part.vertices.length-1].x)/2-body.position.x,(part.vertices[0].y+part.vertices[part.vertices.length-1].y)/2-body.position.y),primitive.endFill()}spriteContainer\x3dspriteContainer[bodyRender]\x3dprimitive;spriteContainer.initialAngle\x3dbody.angle}-1\x3d\x3d\x3dCommon.indexOf(spriteId.children,\nspriteContainer)\x26\x26spriteId.addChild(spriteContainer);spriteContainer.position.x\x3dbody.position.x;spriteContainer.position.y\x3dbody.position.y;spriteContainer.rotation\x3dbody.angle-spriteContainer.initialAngle}};var _getTexture\x3dfunction(render,imagePath){var texture\x3drender.textures[imagePath];texture||\x3drender.textures[imagePath]\x3dPIXI.Texture.fromImage(imagePath);return texture}})()},{\x22../body/Composite\x22:2,\x22../core/Common\x22:14,\x22../core/Events\x22:16,\x22../geometry/Bounds\x22:26,\x22../geometry/Vector\x22:28}]},{},[30])(30)})}"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.physics_library.matter.js", true , "goog.provide(\x27sketches.nature_of_code.physics_library.matter\x27);\nvar module$node_modules$matter_js$build$matter\x3dshadow.js.require(\x22module$node_modules$matter_js$build$matter\x22, {});\nsketches.nature_of_code.physics_library.matter.bodies \x3d module$node_modules$matter_js$build$matter.Bodies;\nsketches.nature_of_code.physics_library.matter.world \x3d module$node_modules$matter_js$build$matter.World;\nsketches.nature_of_code.physics_library.matter.rect \x3d (function sketches$nature_of_code$physics_library$matter$rect(var_args){\nvar G__22734 \x3d arguments.length;\nswitch (G__22734) {\ncase 4:\nreturn sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,width,height){\nreturn sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$5(x,y,width,height,null);\n}));\n\n(sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$5 \x3d (function (x,y,width,height,params){\nreturn sketches.nature_of_code.physics_library.matter.bodies.rectangle(x,y,width,height,cljs.core.clj__GT_js(params));\n}));\n\n(sketches.nature_of_code.physics_library.matter.rect.cljs$lang$maxFixedArity \x3d 5);\n\nsketches.nature_of_code.physics_library.matter.circle \x3d (function sketches$nature_of_code$physics_library$matter$circle(var_args){\nvar G__22736 \x3d arguments.length;\nswitch (G__22736) {\ncase 4:\nreturn sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,y,width,height){\nreturn sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$5(x,y,width,height,null);\n}));\n\n(sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$5 \x3d (function (x,y,width,height,params){\nreturn sketches.nature_of_code.physics_library.matter.bodies.circle(x,y,width,height,cljs.core.clj__GT_js(params));\n}));\n\n(sketches.nature_of_code.physics_library.matter.circle.cljs$lang$maxFixedArity \x3d 5);\n\nsketches.nature_of_code.physics_library.matter.add \x3d (function sketches$nature_of_code$physics_library$matter$add(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22761 \x3d arguments.length;\nvar i__5770__auto___22762 \x3d (0);\nwhile(true){\nif((i__5770__auto___22762 \x3c len__5769__auto___22761)){\nargs__5775__auto__.push((arguments[i__5770__auto___22762]));\n\nvar G__22763 \x3d (i__5770__auto___22762 + (1));\ni__5770__auto___22762 \x3d G__22763;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (engine,composites){\nsketches.nature_of_code.physics_library.matter.world.add(engine.world,cljs.core.clj__GT_js(composites));\n\nreturn engine;\n}));\n\n(sketches.nature_of_code.physics_library.matter.add.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sketches.nature_of_code.physics_library.matter.add.cljs$lang$applyTo \x3d (function (seq22737){\nvar G__22738 \x3d cljs.core.first(seq22737);\nvar seq22737__$1 \x3d cljs.core.next(seq22737);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__22738,seq22737__$1);\n}));\n\nsketches.nature_of_code.physics_library.matter.update_engine \x3d (function sketches$nature_of_code$physics_library$matter$update_engine(engine){\nreturn module$node_modules$matter_js$build$matter.Engine.update(engine,((1000) / (30)));\n});\nsketches.nature_of_code.physics_library.matter.render \x3d (function sketches$nature_of_code$physics_library$matter$render(engine){\nquil.core.clear();\n\nvar seq__22739 \x3d cljs.core.seq(module$node_modules$matter_js$build$matter.Composite.allBodies(engine.world));\nvar chunk__22740 \x3d null;\nvar count__22741 \x3d (0);\nvar i__22742 \x3d (0);\nwhile(true){\nif((i__22742 \x3c count__22741)){\nvar body \x3d chunk__22740.cljs$core$IIndexed$_nth$arity$2(null,i__22742);\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nvar seq__22751_22767 \x3d cljs.core.seq(body.vertices);\nvar chunk__22752_22768 \x3d null;\nvar count__22753_22769 \x3d (0);\nvar i__22754_22770 \x3d (0);\nwhile(true){\nif((i__22754_22770 \x3c count__22753_22769)){\nvar vert_22771 \x3d chunk__22752_22768.cljs$core$IIndexed$_nth$arity$2(null,i__22754_22770);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vert_22771.x,vert_22771.y);\n\n\nvar G__22772 \x3d seq__22751_22767;\nvar G__22773 \x3d chunk__22752_22768;\nvar G__22774 \x3d count__22753_22769;\nvar G__22775 \x3d (i__22754_22770 + (1));\nseq__22751_22767 \x3d G__22772;\nchunk__22752_22768 \x3d G__22773;\ncount__22753_22769 \x3d G__22774;\ni__22754_22770 \x3d G__22775;\ncontinue;\n} else {\nvar temp__5804__auto___22776 \x3d cljs.core.seq(seq__22751_22767);\nif(temp__5804__auto___22776){\nvar seq__22751_22777__$1 \x3d temp__5804__auto___22776;\nif(cljs.core.chunked_seq_QMARK_(seq__22751_22777__$1)){\nvar c__5568__auto___22778 \x3d cljs.core.chunk_first(seq__22751_22777__$1);\nvar G__22779 \x3d cljs.core.chunk_rest(seq__22751_22777__$1);\nvar G__22780 \x3d c__5568__auto___22778;\nvar G__22781 \x3d cljs.core.count(c__5568__auto___22778);\nvar G__22782 \x3d (0);\nseq__22751_22767 \x3d G__22779;\nchunk__22752_22768 \x3d G__22780;\ncount__22753_22769 \x3d G__22781;\ni__22754_22770 \x3d G__22782;\ncontinue;\n} else {\nvar vert_22783 \x3d cljs.core.first(seq__22751_22777__$1);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vert_22783.x,vert_22783.y);\n\n\nvar G__22784 \x3d cljs.core.next(seq__22751_22777__$1);\nvar G__22785 \x3d null;\nvar G__22786 \x3d (0);\nvar G__22787 \x3d (0);\nseq__22751_22767 \x3d G__22784;\nchunk__22752_22768 \x3d G__22785;\ncount__22753_22769 \x3d G__22786;\ni__22754_22770 \x3d G__22787;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.end_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22close\x22,\x22close\x22,1835149582));\n\n\nvar G__22788 \x3d seq__22739;\nvar G__22789 \x3d chunk__22740;\nvar G__22790 \x3d count__22741;\nvar G__22791 \x3d (i__22742 + (1));\nseq__22739 \x3d G__22788;\nchunk__22740 \x3d G__22789;\ncount__22741 \x3d G__22790;\ni__22742 \x3d G__22791;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22739);\nif(temp__5804__auto__){\nvar seq__22739__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22739__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22739__$1);\nvar G__22792 \x3d cljs.core.chunk_rest(seq__22739__$1);\nvar G__22793 \x3d c__5568__auto__;\nvar G__22794 \x3d cljs.core.count(c__5568__auto__);\nvar G__22795 \x3d (0);\nseq__22739 \x3d G__22792;\nchunk__22740 \x3d G__22793;\ncount__22741 \x3d G__22794;\ni__22742 \x3d G__22795;\ncontinue;\n} else {\nvar body \x3d cljs.core.first(seq__22739__$1);\nquil.core.begin_shape.cljs$core$IFn$_invoke$arity$0();\n\nvar seq__22755_22796 \x3d cljs.core.seq(body.vertices);\nvar chunk__22756_22797 \x3d null;\nvar count__22757_22798 \x3d (0);\nvar i__22758_22799 \x3d (0);\nwhile(true){\nif((i__22758_22799 \x3c count__22757_22798)){\nvar vert_22800 \x3d chunk__22756_22797.cljs$core$IIndexed$_nth$arity$2(null,i__22758_22799);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vert_22800.x,vert_22800.y);\n\n\nvar G__22801 \x3d seq__22755_22796;\nvar G__22802 \x3d chunk__22756_22797;\nvar G__22803 \x3d count__22757_22798;\nvar G__22804 \x3d (i__22758_22799 + (1));\nseq__22755_22796 \x3d G__22801;\nchunk__22756_22797 \x3d G__22802;\ncount__22757_22798 \x3d G__22803;\ni__22758_22799 \x3d G__22804;\ncontinue;\n} else {\nvar temp__5804__auto___22805__$1 \x3d cljs.core.seq(seq__22755_22796);\nif(temp__5804__auto___22805__$1){\nvar seq__22755_22806__$1 \x3d temp__5804__auto___22805__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__22755_22806__$1)){\nvar c__5568__auto___22807 \x3d cljs.core.chunk_first(seq__22755_22806__$1);\nvar G__22808 \x3d cljs.core.chunk_rest(seq__22755_22806__$1);\nvar G__22809 \x3d c__5568__auto___22807;\nvar G__22810 \x3d cljs.core.count(c__5568__auto___22807);\nvar G__22811 \x3d (0);\nseq__22755_22796 \x3d G__22808;\nchunk__22756_22797 \x3d G__22809;\ncount__22757_22798 \x3d G__22810;\ni__22758_22799 \x3d G__22811;\ncontinue;\n} else {\nvar vert_22812 \x3d cljs.core.first(seq__22755_22806__$1);\nquil.core.vertex.cljs$core$IFn$_invoke$arity$2(vert_22812.x,vert_22812.y);\n\n\nvar G__22813 \x3d cljs.core.next(seq__22755_22806__$1);\nvar G__22814 \x3d null;\nvar G__22815 \x3d (0);\nvar G__22816 \x3d (0);\nseq__22755_22796 \x3d G__22813;\nchunk__22756_22797 \x3d G__22814;\ncount__22757_22798 \x3d G__22815;\ni__22758_22799 \x3d G__22816;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.end_shape.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22close\x22,\x22close\x22,1835149582));\n\n\nvar G__22817 \x3d cljs.core.next(seq__22739__$1);\nvar G__22818 \x3d null;\nvar G__22819 \x3d (0);\nvar G__22820 \x3d (0);\nseq__22739 \x3d G__22817;\nchunk__22740 \x3d G__22818;\ncount__22741 \x3d G__22819;\ni__22742 \x3d G__22820;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.physics_library.box_shapes.js", true , "goog.provide(\x27sketches.nature_of_code.physics_library.box_shapes\x27);\nvar module$node_modules$matter_js$build$matter\x3dshadow.js.require(\x22module$node_modules$matter_js$build$matter\x22, {});\nsketches.nature_of_code.physics_library.box_shapes.setup \x3d (function sketches$nature_of_code$physics_library$box_shapes$setup(){\nquil.core.frame_rate((30));\n\nvar engine \x3d module$node_modules$matter_js$build$matter.Engine.create();\nvar ground \x3d sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$5((150),(300),(300),(60),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22isStatic\x22,\x22isStatic\x22,1002568003),true], null));\nreturn sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic(engine,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ground], 0));\n});\nsketches.nature_of_code.physics_library.box_shapes.update_state \x3d (function sketches$nature_of_code$physics_library$box_shapes$update_state(engine){\nreturn sketches.nature_of_code.physics_library.matter.update_engine(engine);\n});\nsketches.nature_of_code.physics_library.box_shapes.draw \x3d (function sketches$nature_of_code$physics_library$box_shapes$draw(engine){\nreturn sketches.nature_of_code.physics_library.matter.render(engine);\n});\nsketches.nature_of_code.physics_library.box_shapes.mouse_pressed \x3d (function sketches$nature_of_code$physics_library$box_shapes$mouse_pressed(engine,p__22822){\nvar map__22823 \x3d p__22822;\nvar map__22823__$1 \x3d cljs.core.__destructure_map(map__22823);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22823__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22823__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic(engine,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$4(x,y,(20),(20))], 0));\n});\nsketches.nature_of_code.physics_library.box_shapes.run \x3d (function sketches$nature_of_code$physics_library$box_shapes$run(host){\nsketches.nature_of_code.physics_library.box_shapes.box_shapes \x3d (function sketches$nature_of_code$physics_library$box_shapes$run_$_box_shapes(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__22832__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__22832 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22833__i \x3d 0, G__22833__a \x3d new Array(arguments.length - 0);\nwhile (G__22833__i \x3c G__22833__a.length) {G__22833__a[G__22833__i] \x3d arguments[G__22833__i + 0]; ++G__22833__i;}\n args \x3d new cljs.core.IndexedSeq(G__22833__a,0,null);\n} \nreturn G__22832__delegate.call(this,args);};\nG__22832.cljs$lang$maxFixedArity \x3d 0;\nG__22832.cljs$lang$applyTo \x3d (function (arglist__22834){\nvar args \x3d cljs.core.seq(arglist__22834);\nreturn G__22832__delegate(args);\n});\nG__22832.cljs$core$IFn$_invoke$arity$variadic \x3d G__22832__delegate;\nreturn G__22832;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.box_shapes.update_state))?(function() { \nvar G__22835__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.box_shapes.update_state,args);\n};\nvar G__22835 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22836__i \x3d 0, G__22836__a \x3d new Array(arguments.length - 0);\nwhile (G__22836__i \x3c G__22836__a.length) {G__22836__a[G__22836__i] \x3d arguments[G__22836__i + 0]; ++G__22836__i;}\n args \x3d new cljs.core.IndexedSeq(G__22836__a,0,null);\n} \nreturn G__22835__delegate.call(this,args);};\nG__22835.cljs$lang$maxFixedArity \x3d 0;\nG__22835.cljs$lang$applyTo \x3d (function (arglist__22837){\nvar args \x3d cljs.core.seq(arglist__22837);\nreturn G__22835__delegate(args);\n});\nG__22835.cljs$core$IFn$_invoke$arity$variadic \x3d G__22835__delegate;\nreturn G__22835;\n})()\n:sketches.nature_of_code.physics_library.box_shapes.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.box_shapes.setup))?(function() { \nvar G__22838__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.box_shapes.setup,args);\n};\nvar G__22838 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22839__i \x3d 0, G__22839__a \x3d new Array(arguments.length - 0);\nwhile (G__22839__i \x3c G__22839__a.length) {G__22839__a[G__22839__i] \x3d arguments[G__22839__i + 0]; ++G__22839__i;}\n args \x3d new cljs.core.IndexedSeq(G__22839__a,0,null);\n} \nreturn G__22838__delegate.call(this,args);};\nG__22838.cljs$lang$maxFixedArity \x3d 0;\nG__22838.cljs$lang$applyTo \x3d (function (arglist__22840){\nvar args \x3d cljs.core.seq(arglist__22840);\nreturn G__22838__delegate(args);\n});\nG__22838.cljs$core$IFn$_invoke$arity$variadic \x3d G__22838__delegate;\nreturn G__22838;\n})()\n:sketches.nature_of_code.physics_library.box_shapes.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.box_shapes.mouse_pressed))?(function() { \nvar G__22841__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.box_shapes.mouse_pressed,args);\n};\nvar G__22841 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22842__i \x3d 0, G__22842__a \x3d new Array(arguments.length - 0);\nwhile (G__22842__i \x3c G__22842__a.length) {G__22842__a[G__22842__i] \x3d arguments[G__22842__i + 0]; ++G__22842__i;}\n args \x3d new cljs.core.IndexedSeq(G__22842__a,0,null);\n} \nreturn G__22841__delegate.call(this,args);};\nG__22841.cljs$lang$maxFixedArity \x3d 0;\nG__22841.cljs$lang$applyTo \x3d (function (arglist__22843){\nvar args \x3d cljs.core.seq(arglist__22843);\nreturn G__22841__delegate(args);\n});\nG__22841.cljs$core$IFn$_invoke$arity$variadic \x3d G__22841__delegate;\nreturn G__22841;\n})()\n:sketches.nature_of_code.physics_library.box_shapes.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.box_shapes.draw))?(function() { \nvar G__22844__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.box_shapes.draw,args);\n};\nvar G__22844 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22845__i \x3d 0, G__22845__a \x3d new Array(arguments.length - 0);\nwhile (G__22845__i \x3c G__22845__a.length) {G__22845__a[G__22845__i] \x3d arguments[G__22845__i + 0]; ++G__22845__i;}\n args \x3d new cljs.core.IndexedSeq(G__22845__a,0,null);\n} \nreturn G__22844__delegate.call(this,args);};\nG__22844.cljs$lang$maxFixedArity \x3d 0;\nG__22844.cljs$lang$applyTo \x3d (function (arglist__22846){\nvar args \x3d cljs.core.seq(arglist__22846);\nreturn G__22844__delegate(args);\n});\nG__22844.cljs$core$IFn$_invoke$arity$variadic \x3d G__22844__delegate;\nreturn G__22844;\n})()\n:sketches.nature_of_code.physics_library.box_shapes.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.physics_library.box_shapes.box_shapes\x27, sketches.nature_of_code.physics_library.box_shapes.box_shapes);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__16576__16577__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__16576__16577__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.physics_library.box_shapes.box_shapes,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__22847__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__22847 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22848__i \x3d 0, G__22848__a \x3d new Array(arguments.length - 0);\nwhile (G__22848__i \x3c G__22848__a.length) {G__22848__a[G__22848__i] \x3d arguments[G__22848__i + 0]; ++G__22848__i;}\n args \x3d new cljs.core.IndexedSeq(G__22848__a,0,null);\n} \nreturn G__22847__delegate.call(this,args);};\nG__22847.cljs$lang$maxFixedArity \x3d 0;\nG__22847.cljs$lang$applyTo \x3d (function (arglist__22849){\nvar args \x3d cljs.core.seq(arglist__22849);\nreturn G__22847__delegate(args);\n});\nG__22847.cljs$core$IFn$_invoke$arity$variadic \x3d G__22847__delegate;\nreturn G__22847;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.physics_library.circular_shapes.js", true , "goog.provide(\x27sketches.nature_of_code.physics_library.circular_shapes\x27);\nvar module$node_modules$matter_js$build$matter\x3dshadow.js.require(\x22module$node_modules$matter_js$build$matter\x22, {});\nsketches.nature_of_code.physics_library.circular_shapes.setup \x3d (function sketches$nature_of_code$physics_library$circular_shapes$setup(){\nquil.core.frame_rate((30));\n\nvar engine \x3d module$node_modules$matter_js$build$matter.Engine.create();\nvar ground \x3d sketches.nature_of_code.physics_library.matter.rect.cljs$core$IFn$_invoke$arity$5((150),(300),(300),(60),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22isStatic\x22,\x22isStatic\x22,1002568003),true], null));\nreturn sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic(engine,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ground], 0));\n});\nsketches.nature_of_code.physics_library.circular_shapes.update_state \x3d (function sketches$nature_of_code$physics_library$circular_shapes$update_state(engine){\nreturn sketches.nature_of_code.physics_library.matter.update_engine(engine);\n});\nsketches.nature_of_code.physics_library.circular_shapes.draw \x3d (function sketches$nature_of_code$physics_library$circular_shapes$draw(engine){\nreturn sketches.nature_of_code.physics_library.matter.render(engine);\n});\nsketches.nature_of_code.physics_library.circular_shapes.mouse_pressed \x3d (function sketches$nature_of_code$physics_library$circular_shapes$mouse_pressed(engine,p__22918){\nvar map__22919 \x3d p__22918;\nvar map__22919__$1 \x3d cljs.core.__destructure_map(map__22919);\nvar x \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22919__$1,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185));\nvar y \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22919__$1,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776));\nreturn sketches.nature_of_code.physics_library.matter.add.cljs$core$IFn$_invoke$arity$variadic(engine,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sketches.nature_of_code.physics_library.matter.circle.cljs$core$IFn$_invoke$arity$4(x,y,(20),(20))], 0));\n});\nsketches.nature_of_code.physics_library.circular_shapes.run \x3d (function sketches$nature_of_code$physics_library$circular_shapes$run(host){\nsketches.nature_of_code.physics_library.circular_shapes.circular_shapes \x3d (function sketches$nature_of_code$physics_library$circular_shapes$run_$_circular_shapes(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__22920__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__22920 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22921__i \x3d 0, G__22921__a \x3d new Array(arguments.length - 0);\nwhile (G__22921__i \x3c G__22921__a.length) {G__22921__a[G__22921__i] \x3d arguments[G__22921__i + 0]; ++G__22921__i;}\n args \x3d new cljs.core.IndexedSeq(G__22921__a,0,null);\n} \nreturn G__22920__delegate.call(this,args);};\nG__22920.cljs$lang$maxFixedArity \x3d 0;\nG__22920.cljs$lang$applyTo \x3d (function (arglist__22922){\nvar args \x3d cljs.core.seq(arglist__22922);\nreturn G__22920__delegate(args);\n});\nG__22920.cljs$core$IFn$_invoke$arity$variadic \x3d G__22920__delegate;\nreturn G__22920;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.circular_shapes.update_state))?(function() { \nvar G__22923__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.circular_shapes.update_state,args);\n};\nvar G__22923 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22924__i \x3d 0, G__22924__a \x3d new Array(arguments.length - 0);\nwhile (G__22924__i \x3c G__22924__a.length) {G__22924__a[G__22924__i] \x3d arguments[G__22924__i + 0]; ++G__22924__i;}\n args \x3d new cljs.core.IndexedSeq(G__22924__a,0,null);\n} \nreturn G__22923__delegate.call(this,args);};\nG__22923.cljs$lang$maxFixedArity \x3d 0;\nG__22923.cljs$lang$applyTo \x3d (function (arglist__22925){\nvar args \x3d cljs.core.seq(arglist__22925);\nreturn G__22923__delegate(args);\n});\nG__22923.cljs$core$IFn$_invoke$arity$variadic \x3d G__22923__delegate;\nreturn G__22923;\n})()\n:sketches.nature_of_code.physics_library.circular_shapes.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.circular_shapes.setup))?(function() { \nvar G__22926__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.circular_shapes.setup,args);\n};\nvar G__22926 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22927__i \x3d 0, G__22927__a \x3d new Array(arguments.length - 0);\nwhile (G__22927__i \x3c G__22927__a.length) {G__22927__a[G__22927__i] \x3d arguments[G__22927__i + 0]; ++G__22927__i;}\n args \x3d new cljs.core.IndexedSeq(G__22927__a,0,null);\n} \nreturn G__22926__delegate.call(this,args);};\nG__22926.cljs$lang$maxFixedArity \x3d 0;\nG__22926.cljs$lang$applyTo \x3d (function (arglist__22928){\nvar args \x3d cljs.core.seq(arglist__22928);\nreturn G__22926__delegate(args);\n});\nG__22926.cljs$core$IFn$_invoke$arity$variadic \x3d G__22926__delegate;\nreturn G__22926;\n})()\n:sketches.nature_of_code.physics_library.circular_shapes.setup),new cljs.core.Keyword(null,\x22mouse-pressed\x22,\x22mouse-pressed\x22,736955536),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.circular_shapes.mouse_pressed))?(function() { \nvar G__22929__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.circular_shapes.mouse_pressed,args);\n};\nvar G__22929 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22930__i \x3d 0, G__22930__a \x3d new Array(arguments.length - 0);\nwhile (G__22930__i \x3c G__22930__a.length) {G__22930__a[G__22930__i] \x3d arguments[G__22930__i + 0]; ++G__22930__i;}\n args \x3d new cljs.core.IndexedSeq(G__22930__a,0,null);\n} \nreturn G__22929__delegate.call(this,args);};\nG__22929.cljs$lang$maxFixedArity \x3d 0;\nG__22929.cljs$lang$applyTo \x3d (function (arglist__22931){\nvar args \x3d cljs.core.seq(arglist__22931);\nreturn G__22929__delegate(args);\n});\nG__22929.cljs$core$IFn$_invoke$arity$variadic \x3d G__22929__delegate;\nreturn G__22929;\n})()\n:sketches.nature_of_code.physics_library.circular_shapes.mouse_pressed),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.physics_library.circular_shapes.draw))?(function() { \nvar G__22932__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.physics_library.circular_shapes.draw,args);\n};\nvar G__22932 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22933__i \x3d 0, G__22933__a \x3d new Array(arguments.length - 0);\nwhile (G__22933__i \x3c G__22933__a.length) {G__22933__a[G__22933__i] \x3d arguments[G__22933__i + 0]; ++G__22933__i;}\n args \x3d new cljs.core.IndexedSeq(G__22933__a,0,null);\n} \nreturn G__22932__delegate.call(this,args);};\nG__22932.cljs$lang$maxFixedArity \x3d 0;\nG__22932.cljs$lang$applyTo \x3d (function (arglist__22934){\nvar args \x3d cljs.core.seq(arglist__22934);\nreturn G__22932__delegate(args);\n});\nG__22932.cljs$core$IFn$_invoke$arity$variadic \x3d G__22932__delegate;\nreturn G__22932;\n})()\n:sketches.nature_of_code.physics_library.circular_shapes.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.physics_library.circular_shapes.circular_shapes\x27, sketches.nature_of_code.physics_library.circular_shapes.circular_shapes);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__16576__16577__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__16576__16577__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.physics_library.circular_shapes.circular_shapes,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__22935__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__22935 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__22936__i \x3d 0, G__22936__a \x3d new Array(arguments.length - 0);\nwhile (G__22936__i \x3c G__22936__a.length) {G__22936__a[G__22936__i] \x3d arguments[G__22936__i + 0]; ++G__22936__i;}\n args \x3d new cljs.core.IndexedSeq(G__22936__a,0,null);\n} \nreturn G__22935__delegate.call(this,args);};\nG__22935.cljs$lang$maxFixedArity \x3d 0;\nG__22935.cljs$lang$applyTo \x3d (function (arglist__22937){\nvar args \x3d cljs.core.seq(arglist__22937);\nreturn G__22935__delegate(args);\n});\nG__22935.cljs$core$IFn$_invoke$arity$variadic \x3d G__22935__delegate;\nreturn G__22935;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.physics_library.core.js", true , "goog.provide(\x27sketches.nature_of_code.physics_library.core\x27);\nsketches.nature_of_code.physics_library.core.main \x3d (function sketches$nature_of_code$physics_library$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Physics Libraries\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Circular Shapes\x22,\x22Exercise 5.1\x22,\x22https://natureofcode.com/book/chapter-5-physics-libraries/#chapter05_exercise1\x22,sketches.nature_of_code.physics_library.circular_shapes.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Box Shapes\x22,\x22Exercise 5.2\x22,\x22https://natureofcode.com/book/chapter-5-physics-libraries/#chapter05_exercise2\x22,sketches.nature_of_code.physics_library.box_shapes.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.fractals.koch_curve.js", true , "goog.provide(\x27sketches.nature_of_code.fractals.koch_curve\x27);\nsketches.nature_of_code.fractals.koch_curve.setup_koch_line \x3d (function sketches$nature_of_code$fractals$koch_curve$setup_koch_line(a,b){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981),a,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958),b], null);\n});\nsketches.nature_of_code.fractals.koch_curve.update_koch_line \x3d (function sketches$nature_of_code$fractals$koch_curve$update_koch_line(lines){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (lines__$1,p__30407){\nvar map__30408 \x3d p__30407;\nvar map__30408__$1 \x3d cljs.core.__destructure_map(map__30408);\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30408__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar end \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30408__$1,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958));\nvar a \x3d start;\nvar b \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(start,sketches.vector.div(sketches.vector.sub(end,start),(3)));\nvar c \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(b,sketches.vector.rotate(sketches.vector.div(sketches.vector.sub(end,start),(3)),(- quil.core.radians((60)))));\nvar d \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(start,sketches.vector.mult(sketches.vector.sub(end,start),((2) / (3))));\nvar e \x3d end;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines__$1,sketches.nature_of_code.fractals.koch_curve.setup_koch_line(a,b)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(b,c)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(c,d)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(d,e));\n}),cljs.core.PersistentVector.EMPTY,lines);\n});\nsketches.nature_of_code.fractals.koch_curve.setup \x3d (function sketches$nature_of_code$fractals$koch_curve$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.fractals.koch_curve.setup_koch_line(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(200)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(700),(200)], null))], null)], null);\n});\nsketches.nature_of_code.fractals.koch_curve.n_times \x3d (function sketches$nature_of_code$fractals$koch_curve$n_times(n,f){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,f));\n});\nsketches.nature_of_code.fractals.koch_curve.update_state \x3d (function sketches$nature_of_code$fractals$koch_curve$update_state(state){\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((200));\n\nvar times \x3d quil.core.map_range(quil.core.mouse_x(),(0),quil.core.width(),(0),(6));\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781),(function (){var G__30423 \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.fractals.koch_curve.setup_koch_line(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.3 * quil.core.width()),(quil.core.height() / (2))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.5 * quil.core.width()),(quil.core.height() / (4))], null)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.5 * quil.core.width()),(quil.core.height() / (4))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.7 * quil.core.width()),(quil.core.height() / (2))], null)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.7 * quil.core.width()),(quil.core.height() / (2))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.5 * quil.core.width()),(quil.core.height() * ((3) / (4)))], null)),sketches.nature_of_code.fractals.koch_curve.setup_koch_line(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.5 * quil.core.width()),(quil.core.height() * ((3) / (4)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0.3 * quil.core.width()),(quil.core.height() / (2))], null))], null);\nvar fexpr__30422 \x3d sketches.nature_of_code.fractals.koch_curve.n_times(times,sketches.nature_of_code.fractals.koch_curve.update_koch_line);\nreturn (fexpr__30422.cljs$core$IFn$_invoke$arity$1 ? fexpr__30422.cljs$core$IFn$_invoke$arity$1(G__30423) : fexpr__30422.call(null,G__30423));\n})()], null);\n});\nsketches.nature_of_code.fractals.koch_curve.draw_koch_line \x3d (function sketches$nature_of_code$fractals$koch_curve$draw_koch_line(p__30438){\nvar map__30439 \x3d p__30438;\nvar map__30439__$1 \x3d cljs.core.__destructure_map(map__30439);\nvar vec__30440 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30439__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30440,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30440,(1),null);\nvar vec__30443 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30439__$1,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958));\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30443,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30443,(1),null);\nquil.core.stroke.cljs$core$IFn$_invoke$arity$1((0));\n\nreturn quil.core.line.cljs$core$IFn$_invoke$arity$4(x1,y1,x2,y2);\n});\nsketches.nature_of_code.fractals.koch_curve.draw \x3d (function sketches$nature_of_code$fractals$koch_curve$draw(p__30461){\nvar map__30462 \x3d p__30461;\nvar map__30462__$1 \x3d cljs.core.__destructure_map(map__30462);\nvar lines \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30462__$1,new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781));\nvar seq__30463 \x3d cljs.core.seq(lines);\nvar chunk__30464 \x3d null;\nvar count__30465 \x3d (0);\nvar i__30466 \x3d (0);\nwhile(true){\nif((i__30466 \x3c count__30465)){\nvar koch_line \x3d chunk__30464.cljs$core$IIndexed$_nth$arity$2(null,i__30466);\nsketches.nature_of_code.fractals.koch_curve.draw_koch_line(koch_line);\n\n\nvar G__30496 \x3d seq__30463;\nvar G__30497 \x3d chunk__30464;\nvar G__30498 \x3d count__30465;\nvar G__30499 \x3d (i__30466 + (1));\nseq__30463 \x3d G__30496;\nchunk__30464 \x3d G__30497;\ncount__30465 \x3d G__30498;\ni__30466 \x3d G__30499;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__30463);\nif(temp__5804__auto__){\nvar seq__30463__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__30463__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__30463__$1);\nvar G__30502 \x3d cljs.core.chunk_rest(seq__30463__$1);\nvar G__30503 \x3d c__5568__auto__;\nvar G__30504 \x3d cljs.core.count(c__5568__auto__);\nvar G__30505 \x3d (0);\nseq__30463 \x3d G__30502;\nchunk__30464 \x3d G__30503;\ncount__30465 \x3d G__30504;\ni__30466 \x3d G__30505;\ncontinue;\n} else {\nvar koch_line \x3d cljs.core.first(seq__30463__$1);\nsketches.nature_of_code.fractals.koch_curve.draw_koch_line(koch_line);\n\n\nvar G__30506 \x3d cljs.core.next(seq__30463__$1);\nvar G__30507 \x3d null;\nvar G__30508 \x3d (0);\nvar G__30509 \x3d (0);\nseq__30463 \x3d G__30506;\nchunk__30464 \x3d G__30507;\ncount__30465 \x3d G__30508;\ni__30466 \x3d G__30509;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.nature_of_code.fractals.koch_curve.run \x3d (function sketches$nature_of_code$fractals$koch_curve$run(host){\nsketches.nature_of_code.fractals.koch_curve.koch_curve \x3d (function sketches$nature_of_code$fractals$koch_curve$run_$_koch_curve(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30510__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30510 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30511__i \x3d 0, G__30511__a \x3d new Array(arguments.length - 0);\nwhile (G__30511__i \x3c G__30511__a.length) {G__30511__a[G__30511__i] \x3d arguments[G__30511__i + 0]; ++G__30511__i;}\n args \x3d new cljs.core.IndexedSeq(G__30511__a,0,null);\n} \nreturn G__30510__delegate.call(this,args);};\nG__30510.cljs$lang$maxFixedArity \x3d 0;\nG__30510.cljs$lang$applyTo \x3d (function (arglist__30512){\nvar args \x3d cljs.core.seq(arglist__30512);\nreturn G__30510__delegate(args);\n});\nG__30510.cljs$core$IFn$_invoke$arity$variadic \x3d G__30510__delegate;\nreturn G__30510;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.koch_curve.update_state))?(function() { \nvar G__30513__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.koch_curve.update_state,args);\n};\nvar G__30513 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30514__i \x3d 0, G__30514__a \x3d new Array(arguments.length - 0);\nwhile (G__30514__i \x3c G__30514__a.length) {G__30514__a[G__30514__i] \x3d arguments[G__30514__i + 0]; ++G__30514__i;}\n args \x3d new cljs.core.IndexedSeq(G__30514__a,0,null);\n} \nreturn G__30513__delegate.call(this,args);};\nG__30513.cljs$lang$maxFixedArity \x3d 0;\nG__30513.cljs$lang$applyTo \x3d (function (arglist__30515){\nvar args \x3d cljs.core.seq(arglist__30515);\nreturn G__30513__delegate(args);\n});\nG__30513.cljs$core$IFn$_invoke$arity$variadic \x3d G__30513__delegate;\nreturn G__30513;\n})()\n:sketches.nature_of_code.fractals.koch_curve.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.koch_curve.setup))?(function() { \nvar G__30516__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.koch_curve.setup,args);\n};\nvar G__30516 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30517__i \x3d 0, G__30517__a \x3d new Array(arguments.length - 0);\nwhile (G__30517__i \x3c G__30517__a.length) {G__30517__a[G__30517__i] \x3d arguments[G__30517__i + 0]; ++G__30517__i;}\n args \x3d new cljs.core.IndexedSeq(G__30517__a,0,null);\n} \nreturn G__30516__delegate.call(this,args);};\nG__30516.cljs$lang$maxFixedArity \x3d 0;\nG__30516.cljs$lang$applyTo \x3d (function (arglist__30518){\nvar args \x3d cljs.core.seq(arglist__30518);\nreturn G__30516__delegate(args);\n});\nG__30516.cljs$core$IFn$_invoke$arity$variadic \x3d G__30516__delegate;\nreturn G__30516;\n})()\n:sketches.nature_of_code.fractals.koch_curve.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.koch_curve.draw))?(function() { \nvar G__30519__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.koch_curve.draw,args);\n};\nvar G__30519 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30520__i \x3d 0, G__30520__a \x3d new Array(arguments.length - 0);\nwhile (G__30520__i \x3c G__30520__a.length) {G__30520__a[G__30520__i] \x3d arguments[G__30520__i + 0]; ++G__30520__i;}\n args \x3d new cljs.core.IndexedSeq(G__30520__a,0,null);\n} \nreturn G__30519__delegate.call(this,args);};\nG__30519.cljs$lang$maxFixedArity \x3d 0;\nG__30519.cljs$lang$applyTo \x3d (function (arglist__30521){\nvar args \x3d cljs.core.seq(arglist__30521);\nreturn G__30519__delegate(args);\n});\nG__30519.cljs$core$IFn$_invoke$arity$variadic \x3d G__30519__delegate;\nreturn G__30519;\n})()\n:sketches.nature_of_code.fractals.koch_curve.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.fractals.koch_curve.koch_curve\x27, sketches.nature_of_code.fractals.koch_curve.koch_curve);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.fractals.koch_curve.koch_curve,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30522__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30522 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30523__i \x3d 0, G__30523__a \x3d new Array(arguments.length - 0);\nwhile (G__30523__i \x3c G__30523__a.length) {G__30523__a[G__30523__i] \x3d arguments[G__30523__i + 0]; ++G__30523__i;}\n args \x3d new cljs.core.IndexedSeq(G__30523__a,0,null);\n} \nreturn G__30522__delegate.call(this,args);};\nG__30522.cljs$lang$maxFixedArity \x3d 0;\nG__30522.cljs$lang$applyTo \x3d (function (arglist__30524){\nvar args \x3d cljs.core.seq(arglist__30524);\nreturn G__30522__delegate(args);\n});\nG__30522.cljs$core$IFn$_invoke$arity$variadic \x3d G__30522__delegate;\nreturn G__30522;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.fractals.own_cantor.js", true , "goog.provide(\x27sketches.nature_of_code.fractals.own_cantor\x27);\nsketches.nature_of_code.fractals.own_cantor.draw_circle \x3d (function sketches$nature_of_code$fractals$own_cantor$draw_circle(x,y,r){\nquil.core.ellipse(x,y,r,r);\n\nquil.core.ellipse((x + (r / (2))),y,(r / (2)),(r / (2)));\n\nreturn quil.core.ellipse((x - (r / (2))),y,(r / (2)),(r / (2)));\n});\nsketches.nature_of_code.fractals.own_cantor.cantor \x3d (function sketches$nature_of_code$fractals$own_cantor$cantor(x,y,l){\nif((l \x3e\x3d (1))){\nsketches.nature_of_code.fractals.own_cantor.draw_circle(x,y,l);\n\nvar y2 \x3d (y + (20));\nvar G__30409_30472 \x3d x;\nvar G__30410_30473 \x3d y2;\nvar G__30411_30474 \x3d (l / (3));\n(sketches.nature_of_code.fractals.own_cantor.cantor.cljs$core$IFn$_invoke$arity$3 ? sketches.nature_of_code.fractals.own_cantor.cantor.cljs$core$IFn$_invoke$arity$3(G__30409_30472,G__30410_30473,G__30411_30474) : sketches.nature_of_code.fractals.own_cantor.cantor.call(null,G__30409_30472,G__30410_30473,G__30411_30474));\n\nvar G__30412 \x3d (x + (l * ((2) / (3))));\nvar G__30413 \x3d y2;\nvar G__30414 \x3d (l / (3));\nreturn (sketches.nature_of_code.fractals.own_cantor.cantor.cljs$core$IFn$_invoke$arity$3 ? sketches.nature_of_code.fractals.own_cantor.cantor.cljs$core$IFn$_invoke$arity$3(G__30412,G__30413,G__30414) : sketches.nature_of_code.fractals.own_cantor.cantor.call(null,G__30412,G__30413,G__30414));\n} else {\nreturn null;\n}\n});\nsketches.nature_of_code.fractals.own_cantor.draw \x3d (function sketches$nature_of_code$fractals$own_cantor$draw(state){\nquil.core.clear();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((0),(quil.core.height() / (2)));\n\nquil.core.background.cljs$core$IFn$_invoke$arity$1((255));\n\nquil.core.stroke_weight((5));\n\nreturn sketches.nature_of_code.fractals.own_cantor.cantor((20),(20),(quil.core.width() / (1)));\n});\nsketches.nature_of_code.fractals.own_cantor.run \x3d (function sketches$nature_of_code$fractals$own_cantor$run(host){\nsketches.nature_of_code.fractals.own_cantor.own_cantor \x3d (function sketches$nature_of_code$fractals$own_cantor$run_$_own_cantor(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30475__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30475 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30477__i \x3d 0, G__30477__a \x3d new Array(arguments.length - 0);\nwhile (G__30477__i \x3c G__30477__a.length) {G__30477__a[G__30477__i] \x3d arguments[G__30477__i + 0]; ++G__30477__i;}\n args \x3d new cljs.core.IndexedSeq(G__30477__a,0,null);\n} \nreturn G__30475__delegate.call(this,args);};\nG__30475.cljs$lang$maxFixedArity \x3d 0;\nG__30475.cljs$lang$applyTo \x3d (function (arglist__30479){\nvar args \x3d cljs.core.seq(arglist__30479);\nreturn G__30475__delegate(args);\n});\nG__30475.cljs$core$IFn$_invoke$arity$variadic \x3d G__30475__delegate;\nreturn G__30475;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.own_cantor.draw))?(function() { \nvar G__30485__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.own_cantor.draw,args);\n};\nvar G__30485 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30488__i \x3d 0, G__30488__a \x3d new Array(arguments.length - 0);\nwhile (G__30488__i \x3c G__30488__a.length) {G__30488__a[G__30488__i] \x3d arguments[G__30488__i + 0]; ++G__30488__i;}\n args \x3d new cljs.core.IndexedSeq(G__30488__a,0,null);\n} \nreturn G__30485__delegate.call(this,args);};\nG__30485.cljs$lang$maxFixedArity \x3d 0;\nG__30485.cljs$lang$applyTo \x3d (function (arglist__30489){\nvar args \x3d cljs.core.seq(arglist__30489);\nreturn G__30485__delegate(args);\n});\nG__30485.cljs$core$IFn$_invoke$arity$variadic \x3d G__30485__delegate;\nreturn G__30485;\n})()\n:sketches.nature_of_code.fractals.own_cantor.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.fractals.own_cantor.own_cantor\x27, sketches.nature_of_code.fractals.own_cantor.own_cantor);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.fractals.own_cantor.own_cantor,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30490__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30490 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30492__i \x3d 0, G__30492__a \x3d new Array(arguments.length - 0);\nwhile (G__30492__i \x3c G__30492__a.length) {G__30492__a[G__30492__i] \x3d arguments[G__30492__i + 0]; ++G__30492__i;}\n args \x3d new cljs.core.IndexedSeq(G__30492__a,0,null);\n} \nreturn G__30490__delegate.call(this,args);};\nG__30490.cljs$lang$maxFixedArity \x3d 0;\nG__30490.cljs$lang$applyTo \x3d (function (arglist__30493){\nvar args \x3d cljs.core.seq(arglist__30493);\nreturn G__30490__delegate(args);\n});\nG__30490.cljs$core$IFn$_invoke$arity$variadic \x3d G__30490__delegate;\nreturn G__30490;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.fractals.sierpinski.js", true , "goog.provide(\x27sketches.nature_of_code.fractals.sierpinski\x27);\nsketches.nature_of_code.fractals.sierpinski.compute_triangles \x3d (function sketches$nature_of_code$fractals$sierpinski$compute_triangles(v1,v2,v3){\nvar vec__30397 \x3d sketches.vector.mult(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(v1,v2),0.5);\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30397,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30397,(1),null);\nvar vec__30400 \x3d sketches.vector.mult(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(v1,v3),0.5);\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30400,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30400,(1),null);\nvar vec__30403 \x3d sketches.vector.mult(sketches.vector.add.cljs$core$IFn$_invoke$arity$2(v3,v2),0.5);\nvar x3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30403,(0),null);\nvar y3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30403,(1),null);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [v1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x1,y1], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x2,y2], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x1,y1], null),v2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x3,y3], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x2,y2], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x3,y3], null),v3], null)], null);\n});\nsketches.nature_of_code.fractals.sierpinski.do_sierpinski \x3d (function sketches$nature_of_code$fractals$sierpinski$do_sierpinski(init_triangle,step){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(step,(0))){\nreturn init_triangle;\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__30415_SHARP_){\nvar G__30420 \x3d p1__30415_SHARP_;\nvar G__30421 \x3d (step - (1));\nreturn (sketches.nature_of_code.fractals.sierpinski.do_sierpinski.cljs$core$IFn$_invoke$arity$2 ? sketches.nature_of_code.fractals.sierpinski.do_sierpinski.cljs$core$IFn$_invoke$arity$2(G__30420,G__30421) : sketches.nature_of_code.fractals.sierpinski.do_sierpinski.call(null,G__30420,G__30421));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.sierpinski.compute_triangles,init_triangle)], 0));\n}\n});\nsketches.nature_of_code.fractals.sierpinski.sierpinski \x3d (function sketches$nature_of_code$fractals$sierpinski$sierpinski(init_triangle,step){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((3),sketches.nature_of_code.fractals.sierpinski.do_sierpinski(init_triangle,step));\n});\nsketches.nature_of_code.fractals.sierpinski.draw \x3d (function sketches$nature_of_code$fractals$sierpinski$draw(){\nquil.core.background.cljs$core$IFn$_invoke$arity$1((200));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$2((-50),(-50));\n\nvar step \x3d quil.core.round(quil.core.map_range(quil.core.mouse_x(),(0),quil.core.width(),(0),(5)));\nvar vec__30429 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(100),(280)], null);\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30429,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30429,(1),null);\nvar vec__30432 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(200),(120)], null);\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30432,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30432,(1),null);\nvar vec__30435 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(280)], null);\nvar x3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30435,(0),null);\nvar y3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30435,(1),null);\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__30446){\nvar vec__30447 \x3d p__30446;\nvar vec__30450 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30447,(0),null);\nvar x1__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30450,(0),null);\nvar y1__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30450,(1),null);\nvar vec__30453 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30447,(1),null);\nvar x2__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30453,(0),null);\nvar y2__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30453,(1),null);\nvar vec__30456 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30447,(2),null);\nvar x3__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30456,(0),null);\nvar y3__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30456,(1),null);\nreturn quil.core.triangle(x1__$1,y1__$1,x2__$1,y2__$1,x3__$1,y3__$1);\n}),sketches.nature_of_code.fractals.sierpinski.sierpinski(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x1,y1], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x2,y2], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x3,y3], null)], null),step)));\n});\nsketches.nature_of_code.fractals.sierpinski.setup \x3d (function sketches$nature_of_code$fractals$sierpinski$setup(){\nreturn quil.core.frame_rate((5));\n});\nsketches.nature_of_code.fractals.sierpinski.run \x3d (function sketches$nature_of_code$fractals$sierpinski$run(host){\nsketches.nature_of_code.fractals.sierpinski.sierpinski_sketch \x3d (function sketches$nature_of_code$fractals$sierpinski$run_$_sierpinski_sketch(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30476__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30476 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30478__i \x3d 0, G__30478__a \x3d new Array(arguments.length - 0);\nwhile (G__30478__i \x3c G__30478__a.length) {G__30478__a[G__30478__i] \x3d arguments[G__30478__i + 0]; ++G__30478__i;}\n args \x3d new cljs.core.IndexedSeq(G__30478__a,0,null);\n} \nreturn G__30476__delegate.call(this,args);};\nG__30476.cljs$lang$maxFixedArity \x3d 0;\nG__30476.cljs$lang$applyTo \x3d (function (arglist__30480){\nvar args \x3d cljs.core.seq(arglist__30480);\nreturn G__30476__delegate(args);\n});\nG__30476.cljs$core$IFn$_invoke$arity$variadic \x3d G__30476__delegate;\nreturn G__30476;\n})()\n:host),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.sierpinski.setup))?(function() { \nvar G__30481__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.sierpinski.setup,args);\n};\nvar G__30481 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30482__i \x3d 0, G__30482__a \x3d new Array(arguments.length - 0);\nwhile (G__30482__i \x3c G__30482__a.length) {G__30482__a[G__30482__i] \x3d arguments[G__30482__i + 0]; ++G__30482__i;}\n args \x3d new cljs.core.IndexedSeq(G__30482__a,0,null);\n} \nreturn G__30481__delegate.call(this,args);};\nG__30481.cljs$lang$maxFixedArity \x3d 0;\nG__30481.cljs$lang$applyTo \x3d (function (arglist__30483){\nvar args \x3d cljs.core.seq(arglist__30483);\nreturn G__30481__delegate(args);\n});\nG__30481.cljs$core$IFn$_invoke$arity$variadic \x3d G__30481__delegate;\nreturn G__30481;\n})()\n:sketches.nature_of_code.fractals.sierpinski.setup),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.nature_of_code.fractals.sierpinski.draw))?(function() { \nvar G__30484__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.nature_of_code.fractals.sierpinski.draw,args);\n};\nvar G__30484 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30486__i \x3d 0, G__30486__a \x3d new Array(arguments.length - 0);\nwhile (G__30486__i \x3c G__30486__a.length) {G__30486__a[G__30486__i] \x3d arguments[G__30486__i + 0]; ++G__30486__i;}\n args \x3d new cljs.core.IndexedSeq(G__30486__a,0,null);\n} \nreturn G__30484__delegate.call(this,args);};\nG__30484.cljs$lang$maxFixedArity \x3d 0;\nG__30484.cljs$lang$applyTo \x3d (function (arglist__30487){\nvar args \x3d cljs.core.seq(arglist__30487);\nreturn G__30484__delegate(args);\n});\nG__30484.cljs$core$IFn$_invoke$arity$variadic \x3d G__30484__delegate;\nreturn G__30484;\n})()\n:sketches.nature_of_code.fractals.sierpinski.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.nature_of_code.fractals.sierpinski.sierpinski_sketch\x27, sketches.nature_of_code.fractals.sierpinski.sierpinski_sketch);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.nature_of_code.fractals.sierpinski.sierpinski_sketch,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30491__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30491 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30494__i \x3d 0, G__30494__a \x3d new Array(arguments.length - 0);\nwhile (G__30494__i \x3c G__30494__a.length) {G__30494__a[G__30494__i] \x3d arguments[G__30494__i + 0]; ++G__30494__i;}\n args \x3d new cljs.core.IndexedSeq(G__30494__a,0,null);\n} \nreturn G__30491__delegate.call(this,args);};\nG__30491.cljs$lang$maxFixedArity \x3d 0;\nG__30491.cljs$lang$applyTo \x3d (function (arglist__30495){\nvar args \x3d cljs.core.seq(arglist__30495);\nreturn G__30491__delegate(args);\n});\nG__30491.cljs$core$IFn$_invoke$arity$variadic \x3d G__30491__delegate;\nreturn G__30491;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.fractals.core.js", true , "goog.provide(\x27sketches.nature_of_code.fractals.core\x27);\nsketches.nature_of_code.fractals.core.main \x3d (function sketches$nature_of_code$fractals$core$main(){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h3.tracked.tc.tl-ns\x22,\x22h3.tracked.tc.tl-ns\x22,-1619585291),\x22Fractals\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Own Cantor\x22,\x22Exercise 8.1\x22,\x22https://natureofcode.com/book/chapter-8-fractals/#chapter08_exercise1\x22,sketches.nature_of_code.fractals.own_cantor.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Koch Curve\x22,\x22Exercise 8.2\x22,\x22https://natureofcode.com/book/chapter-8-fractals/#chapter08_exercise2\x22,sketches.nature_of_code.fractals.koch_curve.run], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.exercise_card,\x22Sierpinski\x22,\x22Exercise 8.5\x22,\x22https://natureofcode.com/book/chapter-8-fractals/#chapter08_exercise5\x22,sketches.nature_of_code.fractals.sierpinski.run], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.nature_of_code.core.js", true , "goog.provide(\x27sketches.nature_of_code.core\x27);\nsketches.nature_of_code.core.main \x3d (function sketches$nature_of_code$core$main(){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.section,\x22Nature of Code\x22,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),\x22Exercises of \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://twitter.com/shiffman\x22], null),\x22Daniel Shiffman\x27s\x22], null),\x22 \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://natureofcode.com/\x22], null),\x22Nature of Code\x22], null),\x22 implemented in ClojureScript.\x22], null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.introduction.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.vectors.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.forces.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.oscillation.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.particle_systems.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.physics_library.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.cellular_automata.core.main], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.fractals.core.main], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.fire_ball.js", true , "goog.provide(\x27sketches.rac_sketches.fire_ball\x27);\nsketches.rac_sketches.fire_ball.setup \x3d (function sketches$rac_sketches$fire_ball$setup(){\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY], null);\n});\nsketches.rac_sketches.fire_ball.update_particle \x3d (function sketches$rac_sketches$fire_ball$update_particle(particle){\nvar gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.01),((quil.core.random_gaussian() - 0.8) * 0.02)], null);\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.1,0.1),(0)], null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(sketches.mover.update_mover(particle,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(gravity,wind)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec);\n});\nsketches.rac_sketches.fire_ball.create_particle \x3d (function sketches$rac_sketches$fire_ball$create_particle(){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() * 0.8)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)], null);\n});\nsketches.rac_sketches.fire_ball.update_state \x3d (function sketches$rac_sketches$fire_ball$update_state(p__30533){\nvar map__30534 \x3d p__30533;\nvar map__30534__$1 \x3d cljs.core.__destructure_map(map__30534);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30534__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_ball.update_particle,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__30536){\nvar map__30544 \x3d p__30536;\nvar map__30544__$1 \x3d cljs.core.__destructure_map(map__30544);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30544__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3e\x3d (0));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.rac_sketches.fire_ball.create_particle())))], null);\n});\nsketches.rac_sketches.fire_ball.draw_particle \x3d (function sketches$rac_sketches$fire_ball$draw_particle(p__30546){\nvar map__30547 \x3d p__30546;\nvar map__30547__$1 \x3d cljs.core.__destructure_map(map__30547);\nvar vec__30548 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30547__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30548,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30548,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30547__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar blue \x3d quil.core.color.cljs$core$IFn$_invoke$arity$4((255),(127),(64),lifespan);\nvar red \x3d quil.core.color.cljs$core$IFn$_invoke$arity$2((0),(0));\nvar n__5636__auto__ \x3d (6);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c n__5636__auto__)){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(quil.core.lerp_color(red,blue,(i / (5))));\n\nquil.core.ellipse(x,y,((lifespan * ((256) / (i + (1)))) / (255)),((lifespan * ((256) / (i + (1)))) / (255)));\n\nvar G__30582 \x3d (i + (1));\ni \x3d G__30582;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nsketches.rac_sketches.fire_ball.draw \x3d (function sketches$rac_sketches$fire_ball$draw(p__30552){\nvar map__30553 \x3d p__30552;\nvar map__30553__$1 \x3d cljs.core.__destructure_map(map__30553);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30553__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.clear();\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_ball.draw_particle,particles));\n});\nsketches.rac_sketches.fire_ball.run \x3d (function sketches$rac_sketches$fire_ball$run(host){\nsketches.rac_sketches.fire_ball.particles \x3d (function sketches$rac_sketches$fire_ball$run_$_particles(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30584__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30584 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30585__i \x3d 0, G__30585__a \x3d new Array(arguments.length - 0);\nwhile (G__30585__i \x3c G__30585__a.length) {G__30585__a[G__30585__i] \x3d arguments[G__30585__i + 0]; ++G__30585__i;}\n args \x3d new cljs.core.IndexedSeq(G__30585__a,0,null);\n} \nreturn G__30584__delegate.call(this,args);};\nG__30584.cljs$lang$maxFixedArity \x3d 0;\nG__30584.cljs$lang$applyTo \x3d (function (arglist__30586){\nvar args \x3d cljs.core.seq(arglist__30586);\nreturn G__30584__delegate(args);\n});\nG__30584.cljs$core$IFn$_invoke$arity$variadic \x3d G__30584__delegate;\nreturn G__30584;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_ball.update_state))?(function() { \nvar G__30587__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_ball.update_state,args);\n};\nvar G__30587 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30588__i \x3d 0, G__30588__a \x3d new Array(arguments.length - 0);\nwhile (G__30588__i \x3c G__30588__a.length) {G__30588__a[G__30588__i] \x3d arguments[G__30588__i + 0]; ++G__30588__i;}\n args \x3d new cljs.core.IndexedSeq(G__30588__a,0,null);\n} \nreturn G__30587__delegate.call(this,args);};\nG__30587.cljs$lang$maxFixedArity \x3d 0;\nG__30587.cljs$lang$applyTo \x3d (function (arglist__30589){\nvar args \x3d cljs.core.seq(arglist__30589);\nreturn G__30587__delegate(args);\n});\nG__30587.cljs$core$IFn$_invoke$arity$variadic \x3d G__30587__delegate;\nreturn G__30587;\n})()\n:sketches.rac_sketches.fire_ball.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_ball.setup))?(function() { \nvar G__30590__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_ball.setup,args);\n};\nvar G__30590 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30591__i \x3d 0, G__30591__a \x3d new Array(arguments.length - 0);\nwhile (G__30591__i \x3c G__30591__a.length) {G__30591__a[G__30591__i] \x3d arguments[G__30591__i + 0]; ++G__30591__i;}\n args \x3d new cljs.core.IndexedSeq(G__30591__a,0,null);\n} \nreturn G__30590__delegate.call(this,args);};\nG__30590.cljs$lang$maxFixedArity \x3d 0;\nG__30590.cljs$lang$applyTo \x3d (function (arglist__30592){\nvar args \x3d cljs.core.seq(arglist__30592);\nreturn G__30590__delegate(args);\n});\nG__30590.cljs$core$IFn$_invoke$arity$variadic \x3d G__30590__delegate;\nreturn G__30590;\n})()\n:sketches.rac_sketches.fire_ball.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_ball.draw))?(function() { \nvar G__30593__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_ball.draw,args);\n};\nvar G__30593 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30594__i \x3d 0, G__30594__a \x3d new Array(arguments.length - 0);\nwhile (G__30594__i \x3c G__30594__a.length) {G__30594__a[G__30594__i] \x3d arguments[G__30594__i + 0]; ++G__30594__i;}\n args \x3d new cljs.core.IndexedSeq(G__30594__a,0,null);\n} \nreturn G__30593__delegate.call(this,args);};\nG__30593.cljs$lang$maxFixedArity \x3d 0;\nG__30593.cljs$lang$applyTo \x3d (function (arglist__30595){\nvar args \x3d cljs.core.seq(arglist__30595);\nreturn G__30593__delegate(args);\n});\nG__30593.cljs$core$IFn$_invoke$arity$variadic \x3d G__30593__delegate;\nreturn G__30593;\n})()\n:sketches.rac_sketches.fire_ball.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.fire_ball.particles\x27, sketches.rac_sketches.fire_ball.particles);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.fire_ball.particles,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30610__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30610 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30611__i \x3d 0, G__30611__a \x3d new Array(arguments.length - 0);\nwhile (G__30611__i \x3c G__30611__a.length) {G__30611__a[G__30611__i] \x3d arguments[G__30611__i + 0]; ++G__30611__i;}\n args \x3d new cljs.core.IndexedSeq(G__30611__a,0,null);\n} \nreturn G__30610__delegate.call(this,args);};\nG__30610.cljs$lang$maxFixedArity \x3d 0;\nG__30610.cljs$lang$applyTo \x3d (function (arglist__30612){\nvar args \x3d cljs.core.seq(arglist__30612);\nreturn G__30610__delegate(args);\n});\nG__30610.cljs$core$IFn$_invoke$arity$variadic \x3d G__30610__delegate;\nreturn G__30610;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.fire_texture.js", true , "goog.provide(\x27sketches.rac_sketches.fire_texture\x27);\nsketches.rac_sketches.fire_texture.setup \x3d (function sketches$rac_sketches$fire_texture$setup(){\nquil.core.no_stroke();\n\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nquil.core.image_mode(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() * 0.6)], null),new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096),quil.core.load_image(\x22images/texture.png\x22)], null);\n});\nsketches.rac_sketches.fire_texture.create_particle \x3d (function sketches$rac_sketches$fire_texture$create_particle(location){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.3),((quil.core.random_gaussian() * 0.4) - 1.0)], null),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),255.0,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046),(10)], null);\n});\nsketches.rac_sketches.fire_texture.is_dead \x3d (function sketches$rac_sketches$fire_texture$is_dead(p__30615){\nvar map__30616 \x3d p__30615;\nvar map__30616__$1 \x3d cljs.core.__destructure_map(map__30616);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30616__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3c 0.0);\n});\nsketches.rac_sketches.fire_texture.apply_force \x3d (function sketches$rac_sketches$fire_texture$apply_force(force,p__30620){\nvar map__30621 \x3d p__30620;\nvar map__30621__$1 \x3d cljs.core.__destructure_map(map__30621);\nvar particle \x3d map__30621__$1;\nvar mass \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30621__$1,new cljs.core.Keyword(null,\x22mass\x22,\x22mass\x22,-2138950046));\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30621__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),sketches.vector.add.cljs$core$IFn$_invoke$arity$2(acceleration,sketches.vector.div(force,mass)));\n});\nsketches.rac_sketches.fire_texture.update_particle \x3d (function sketches$rac_sketches$fire_texture$update_particle(p__30623){\nvar map__30624 \x3d p__30623;\nvar map__30624__$1 \x3d cljs.core.__destructure_map(map__30624);\nvar particle \x3d map__30624__$1;\nvar acceleration \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30624__$1,new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421));\nvar velocity \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30624__$1,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30624__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30624__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar velocity__$1 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity,acceleration);\nvar location__$2 \x3d sketches.vector.add.cljs$core$IFn$_invoke$arity$2(velocity__$1,location__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),velocity__$1),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),location__$2),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(lifespan - 2.0)),new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null));\n});\nsketches.rac_sketches.fire_texture.update_state \x3d (function sketches$rac_sketches$fire_texture$update_state(p__30629){\nvar map__30630 \x3d p__30629;\nvar map__30630__$1 \x3d cljs.core.__destructure_map(map__30630);\nvar state \x3d map__30630__$1;\nvar origin \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30630__$1,new cljs.core.Keyword(null,\x22origin\x22,\x22origin\x22,1037372088));\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.map_range(quil.core.mouse_x(),0.0,quil.core.width(),-0.3,0.3),quil.core.map_range(quil.core.mouse_y(),0.0,quil.core.height(),-0.3,0.3)], null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__30625_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__30625_SHARP_,sketches.rac_sketches.fire_texture.create_particle(origin));\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__30626_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.apply_force,wind),p1__30626_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__30627_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.update_particle,p1__30627_SHARP_);\n})),new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),(function (p1__30628_SHARP_){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.is_dead,p1__30628_SHARP_);\n}));\n});\nsketches.rac_sketches.fire_texture.draw_particle \x3d (function sketches$rac_sketches$fire_texture$draw_particle(p__30632,image){\nvar map__30633 \x3d p__30632;\nvar map__30633__$1 \x3d cljs.core.__destructure_map(map__30633);\nvar particle \x3d map__30633__$1;\nvar vec__30634 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30633__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30634,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30634,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30633__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.background.cljs$core$IFn$_invoke$arity$3((0),(0),(0));\n\nquil.core.tint.cljs$core$IFn$_invoke$arity$4((255),(127),(64),lifespan);\n\nif(cljs.core.truth_(quil.core.loaded_QMARK_(image))){\nreturn quil.core.image.cljs$core$IFn$_invoke$arity$3(image,x,y);\n} else {\nreturn null;\n}\n});\nsketches.rac_sketches.fire_texture.draw \x3d (function sketches$rac_sketches$fire_texture$draw(p__30638){\nvar map__30639 \x3d p__30638;\nvar map__30639__$1 \x3d cljs.core.__destructure_map(map__30639);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30639__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar image \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30639__$1,new cljs.core.Keyword(null,\x22image\x22,\x22image\x22,-58725096));\nquil.core.clear();\n\nvar seq__30640 \x3d cljs.core.seq(particles);\nvar chunk__30641 \x3d null;\nvar count__30642 \x3d (0);\nvar i__30643 \x3d (0);\nwhile(true){\nif((i__30643 \x3c count__30642)){\nvar particle \x3d chunk__30641.cljs$core$IIndexed$_nth$arity$2(null,i__30643);\nsketches.rac_sketches.fire_texture.draw_particle(particle,image);\n\n\nvar G__30714 \x3d seq__30640;\nvar G__30715 \x3d chunk__30641;\nvar G__30716 \x3d count__30642;\nvar G__30717 \x3d (i__30643 + (1));\nseq__30640 \x3d G__30714;\nchunk__30641 \x3d G__30715;\ncount__30642 \x3d G__30716;\ni__30643 \x3d G__30717;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__30640);\nif(temp__5804__auto__){\nvar seq__30640__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__30640__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__30640__$1);\nvar G__30724 \x3d cljs.core.chunk_rest(seq__30640__$1);\nvar G__30725 \x3d c__5568__auto__;\nvar G__30726 \x3d cljs.core.count(c__5568__auto__);\nvar G__30727 \x3d (0);\nseq__30640 \x3d G__30724;\nchunk__30641 \x3d G__30725;\ncount__30642 \x3d G__30726;\ni__30643 \x3d G__30727;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__30640__$1);\nsketches.rac_sketches.fire_texture.draw_particle(particle,image);\n\n\nvar G__30728 \x3d cljs.core.next(seq__30640__$1);\nvar G__30729 \x3d null;\nvar G__30730 \x3d (0);\nvar G__30731 \x3d (0);\nseq__30640 \x3d G__30728;\nchunk__30641 \x3d G__30729;\ncount__30642 \x3d G__30730;\ni__30643 \x3d G__30731;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.rac_sketches.fire_texture.run \x3d (function sketches$rac_sketches$fire_texture$run(host){\nsketches.rac_sketches.fire_texture.fire_texture \x3d (function sketches$rac_sketches$fire_texture$run_$_fire_texture(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30740__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30740 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30741__i \x3d 0, G__30741__a \x3d new Array(arguments.length - 0);\nwhile (G__30741__i \x3c G__30741__a.length) {G__30741__a[G__30741__i] \x3d arguments[G__30741__i + 0]; ++G__30741__i;}\n args \x3d new cljs.core.IndexedSeq(G__30741__a,0,null);\n} \nreturn G__30740__delegate.call(this,args);};\nG__30740.cljs$lang$maxFixedArity \x3d 0;\nG__30740.cljs$lang$applyTo \x3d (function (arglist__30746){\nvar args \x3d cljs.core.seq(arglist__30746);\nreturn G__30740__delegate(args);\n});\nG__30740.cljs$core$IFn$_invoke$arity$variadic \x3d G__30740__delegate;\nreturn G__30740;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_texture.update_state))?(function() { \nvar G__30749__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.update_state,args);\n};\nvar G__30749 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30752__i \x3d 0, G__30752__a \x3d new Array(arguments.length - 0);\nwhile (G__30752__i \x3c G__30752__a.length) {G__30752__a[G__30752__i] \x3d arguments[G__30752__i + 0]; ++G__30752__i;}\n args \x3d new cljs.core.IndexedSeq(G__30752__a,0,null);\n} \nreturn G__30749__delegate.call(this,args);};\nG__30749.cljs$lang$maxFixedArity \x3d 0;\nG__30749.cljs$lang$applyTo \x3d (function (arglist__30753){\nvar args \x3d cljs.core.seq(arglist__30753);\nreturn G__30749__delegate(args);\n});\nG__30749.cljs$core$IFn$_invoke$arity$variadic \x3d G__30749__delegate;\nreturn G__30749;\n})()\n:sketches.rac_sketches.fire_texture.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_texture.setup))?(function() { \nvar G__30761__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.setup,args);\n};\nvar G__30761 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30763__i \x3d 0, G__30763__a \x3d new Array(arguments.length - 0);\nwhile (G__30763__i \x3c G__30763__a.length) {G__30763__a[G__30763__i] \x3d arguments[G__30763__i + 0]; ++G__30763__i;}\n args \x3d new cljs.core.IndexedSeq(G__30763__a,0,null);\n} \nreturn G__30761__delegate.call(this,args);};\nG__30761.cljs$lang$maxFixedArity \x3d 0;\nG__30761.cljs$lang$applyTo \x3d (function (arglist__30765){\nvar args \x3d cljs.core.seq(arglist__30765);\nreturn G__30761__delegate(args);\n});\nG__30761.cljs$core$IFn$_invoke$arity$variadic \x3d G__30761__delegate;\nreturn G__30761;\n})()\n:sketches.rac_sketches.fire_texture.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.fire_texture.draw))?(function() { \nvar G__30771__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.fire_texture.draw,args);\n};\nvar G__30771 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30773__i \x3d 0, G__30773__a \x3d new Array(arguments.length - 0);\nwhile (G__30773__i \x3c G__30773__a.length) {G__30773__a[G__30773__i] \x3d arguments[G__30773__i + 0]; ++G__30773__i;}\n args \x3d new cljs.core.IndexedSeq(G__30773__a,0,null);\n} \nreturn G__30771__delegate.call(this,args);};\nG__30771.cljs$lang$maxFixedArity \x3d 0;\nG__30771.cljs$lang$applyTo \x3d (function (arglist__30774){\nvar args \x3d cljs.core.seq(arglist__30774);\nreturn G__30771__delegate(args);\n});\nG__30771.cljs$core$IFn$_invoke$arity$variadic \x3d G__30771__delegate;\nreturn G__30771;\n})()\n:sketches.rac_sketches.fire_texture.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.fire_texture.fire_texture\x27, sketches.rac_sketches.fire_texture.fire_texture);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.fire_texture.fire_texture,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30817__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30817 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30819__i \x3d 0, G__30819__a \x3d new Array(arguments.length - 0);\nwhile (G__30819__i \x3c G__30819__a.length) {G__30819__a[G__30819__i] \x3d arguments[G__30819__i + 0]; ++G__30819__i;}\n args \x3d new cljs.core.IndexedSeq(G__30819__a,0,null);\n} \nreturn G__30817__delegate.call(this,args);};\nG__30817.cljs$lang$maxFixedArity \x3d 0;\nG__30817.cljs$lang$applyTo \x3d (function (arglist__30820){\nvar args \x3d cljs.core.seq(arglist__30820);\nreturn G__30817__delegate(args);\n});\nG__30817.cljs$core$IFn$_invoke$arity$variadic \x3d G__30817__delegate;\nreturn G__30817;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.flowers.js", true , "goog.provide(\x27sketches.rac_sketches.flowers\x27);\nsketches.rac_sketches.flowers.setup \x3d (function sketches$rac_sketches$flowers$setup(){\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nquil.core.frame_rate((2));\n\nreturn (1);\n});\nsketches.rac_sketches.flowers.constrain_petal_counts \x3d (function sketches$rac_sketches$flowers$constrain_petal_counts(petal_count){\nif((petal_count \x3c (20))){\nreturn petal_count;\n} else {\nreturn (0);\n}\n});\nsketches.rac_sketches.flowers.update_state \x3d (function sketches$rac_sketches$flowers$update_state(petal_count){\nreturn sketches.rac_sketches.flowers.constrain_petal_counts((petal_count + (1)));\n});\nsketches.rac_sketches.flowers.draw \x3d (function sketches$rac_sketches$flowers$draw(petal_count){\nquil.core.clear();\n\nquil.core.translate.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(255)),(100),(255));\n\nvar seq__30701_30742 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.TWO_PI,(quil.core.TWO_PI / petal_count)));\nvar chunk__30702_30743 \x3d null;\nvar count__30703_30744 \x3d (0);\nvar i__30704_30745 \x3d (0);\nwhile(true){\nif((i__30704_30745 \x3c count__30703_30744)){\nvar angle_30748 \x3d chunk__30702_30743.cljs$core$IIndexed$_nth$arity$2(null,i__30704_30745);\nvar tr__24583__auto___30750 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle_30748], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto___30750);\n\nquil.core.bezier.cljs$core$IFn$_invoke$arity$8((0),(0),(-50),(-100),(50),(-100),(0),(0));\n}finally {quil.core.pop_matrix();\n}\n\nvar G__30754 \x3d seq__30701_30742;\nvar G__30755 \x3d chunk__30702_30743;\nvar G__30756 \x3d count__30703_30744;\nvar G__30757 \x3d (i__30704_30745 + (1));\nseq__30701_30742 \x3d G__30754;\nchunk__30702_30743 \x3d G__30755;\ncount__30703_30744 \x3d G__30756;\ni__30704_30745 \x3d G__30757;\ncontinue;\n} else {\nvar temp__5804__auto___30758 \x3d cljs.core.seq(seq__30701_30742);\nif(temp__5804__auto___30758){\nvar seq__30701_30762__$1 \x3d temp__5804__auto___30758;\nif(cljs.core.chunked_seq_QMARK_(seq__30701_30762__$1)){\nvar c__5568__auto___30764 \x3d cljs.core.chunk_first(seq__30701_30762__$1);\nvar G__30766 \x3d cljs.core.chunk_rest(seq__30701_30762__$1);\nvar G__30767 \x3d c__5568__auto___30764;\nvar G__30768 \x3d cljs.core.count(c__5568__auto___30764);\nvar G__30769 \x3d (0);\nseq__30701_30742 \x3d G__30766;\nchunk__30702_30743 \x3d G__30767;\ncount__30703_30744 \x3d G__30768;\ni__30704_30745 \x3d G__30769;\ncontinue;\n} else {\nvar angle_30770 \x3d cljs.core.first(seq__30701_30762__$1);\nvar tr__24583__auto___30772 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle_30770], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto___30772);\n\nquil.core.bezier.cljs$core$IFn$_invoke$arity$8((0),(0),(-50),(-100),(50),(-100),(0),(0));\n}finally {quil.core.pop_matrix();\n}\n\nvar G__30775 \x3d cljs.core.next(seq__30701_30762__$1);\nvar G__30776 \x3d null;\nvar G__30777 \x3d (0);\nvar G__30778 \x3d (0);\nseq__30701_30742 \x3d G__30775;\nchunk__30702_30743 \x3d G__30776;\ncount__30703_30744 \x3d G__30777;\ni__30704_30745 \x3d G__30778;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.random.cljs$core$IFn$_invoke$arity$2((0),(255)),(100),(255));\n\nvar seq__30709_30779 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.TWO_PI,(quil.core.TWO_PI / petal_count)));\nvar chunk__30710_30780 \x3d null;\nvar count__30711_30781 \x3d (0);\nvar i__30712_30782 \x3d (0);\nwhile(true){\nif((i__30712_30782 \x3c count__30711_30781)){\nvar angle_30791 \x3d chunk__30710_30780.cljs$core$IIndexed$_nth$arity$2(null,i__30712_30782);\nvar tr__24583__auto___30792 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle_30791], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto___30792);\n\nquil.core.bezier.cljs$core$IFn$_invoke$arity$8((0),(0),(-25),(-50),(25),(-50),(0),(0));\n}finally {quil.core.pop_matrix();\n}\n\nvar G__30796 \x3d seq__30709_30779;\nvar G__30797 \x3d chunk__30710_30780;\nvar G__30798 \x3d count__30711_30781;\nvar G__30799 \x3d (i__30712_30782 + (1));\nseq__30709_30779 \x3d G__30796;\nchunk__30710_30780 \x3d G__30797;\ncount__30711_30781 \x3d G__30798;\ni__30712_30782 \x3d G__30799;\ncontinue;\n} else {\nvar temp__5804__auto___30808 \x3d cljs.core.seq(seq__30709_30779);\nif(temp__5804__auto___30808){\nvar seq__30709_30809__$1 \x3d temp__5804__auto___30808;\nif(cljs.core.chunked_seq_QMARK_(seq__30709_30809__$1)){\nvar c__5568__auto___30812 \x3d cljs.core.chunk_first(seq__30709_30809__$1);\nvar G__30813 \x3d cljs.core.chunk_rest(seq__30709_30809__$1);\nvar G__30814 \x3d c__5568__auto___30812;\nvar G__30815 \x3d cljs.core.count(c__5568__auto___30812);\nvar G__30816 \x3d (0);\nseq__30709_30779 \x3d G__30813;\nchunk__30710_30780 \x3d G__30814;\ncount__30711_30781 \x3d G__30815;\ni__30712_30782 \x3d G__30816;\ncontinue;\n} else {\nvar angle_30818 \x3d cljs.core.first(seq__30709_30809__$1);\nvar tr__24583__auto___30821 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle_30818], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto___30821);\n\nquil.core.bezier.cljs$core$IFn$_invoke$arity$8((0),(0),(-25),(-50),(25),(-50),(0),(0));\n}finally {quil.core.pop_matrix();\n}\n\nvar G__30822 \x3d cljs.core.next(seq__30709_30809__$1);\nvar G__30823 \x3d null;\nvar G__30824 \x3d (0);\nvar G__30825 \x3d (0);\nseq__30709_30779 \x3d G__30822;\nchunk__30710_30780 \x3d G__30823;\ncount__30711_30781 \x3d G__30824;\ni__30712_30782 \x3d G__30825;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$3((200),(100),(100));\n\nreturn quil.core.ellipse((0),(0),(20),(20));\n});\nsketches.rac_sketches.flowers.run \x3d (function sketches$rac_sketches$flowers$run(host){\nsketches.rac_sketches.flowers.flowers \x3d (function sketches$rac_sketches$flowers$run_$_flowers(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30826__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30826 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30827__i \x3d 0, G__30827__a \x3d new Array(arguments.length - 0);\nwhile (G__30827__i \x3c G__30827__a.length) {G__30827__a[G__30827__i] \x3d arguments[G__30827__i + 0]; ++G__30827__i;}\n args \x3d new cljs.core.IndexedSeq(G__30827__a,0,null);\n} \nreturn G__30826__delegate.call(this,args);};\nG__30826.cljs$lang$maxFixedArity \x3d 0;\nG__30826.cljs$lang$applyTo \x3d (function (arglist__30828){\nvar args \x3d cljs.core.seq(arglist__30828);\nreturn G__30826__delegate(args);\n});\nG__30826.cljs$core$IFn$_invoke$arity$variadic \x3d G__30826__delegate;\nreturn G__30826;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.flowers.update_state))?(function() { \nvar G__30833__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.flowers.update_state,args);\n};\nvar G__30833 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30834__i \x3d 0, G__30834__a \x3d new Array(arguments.length - 0);\nwhile (G__30834__i \x3c G__30834__a.length) {G__30834__a[G__30834__i] \x3d arguments[G__30834__i + 0]; ++G__30834__i;}\n args \x3d new cljs.core.IndexedSeq(G__30834__a,0,null);\n} \nreturn G__30833__delegate.call(this,args);};\nG__30833.cljs$lang$maxFixedArity \x3d 0;\nG__30833.cljs$lang$applyTo \x3d (function (arglist__30835){\nvar args \x3d cljs.core.seq(arglist__30835);\nreturn G__30833__delegate(args);\n});\nG__30833.cljs$core$IFn$_invoke$arity$variadic \x3d G__30833__delegate;\nreturn G__30833;\n})()\n:sketches.rac_sketches.flowers.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.flowers.setup))?(function() { \nvar G__30839__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.flowers.setup,args);\n};\nvar G__30839 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30840__i \x3d 0, G__30840__a \x3d new Array(arguments.length - 0);\nwhile (G__30840__i \x3c G__30840__a.length) {G__30840__a[G__30840__i] \x3d arguments[G__30840__i + 0]; ++G__30840__i;}\n args \x3d new cljs.core.IndexedSeq(G__30840__a,0,null);\n} \nreturn G__30839__delegate.call(this,args);};\nG__30839.cljs$lang$maxFixedArity \x3d 0;\nG__30839.cljs$lang$applyTo \x3d (function (arglist__30841){\nvar args \x3d cljs.core.seq(arglist__30841);\nreturn G__30839__delegate(args);\n});\nG__30839.cljs$core$IFn$_invoke$arity$variadic \x3d G__30839__delegate;\nreturn G__30839;\n})()\n:sketches.rac_sketches.flowers.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.flowers.draw))?(function() { \nvar G__30844__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.flowers.draw,args);\n};\nvar G__30844 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30849__i \x3d 0, G__30849__a \x3d new Array(arguments.length - 0);\nwhile (G__30849__i \x3c G__30849__a.length) {G__30849__a[G__30849__i] \x3d arguments[G__30849__i + 0]; ++G__30849__i;}\n args \x3d new cljs.core.IndexedSeq(G__30849__a,0,null);\n} \nreturn G__30844__delegate.call(this,args);};\nG__30844.cljs$lang$maxFixedArity \x3d 0;\nG__30844.cljs$lang$applyTo \x3d (function (arglist__30850){\nvar args \x3d cljs.core.seq(arglist__30850);\nreturn G__30844__delegate(args);\n});\nG__30844.cljs$core$IFn$_invoke$arity$variadic \x3d G__30844__delegate;\nreturn G__30844;\n})()\n:sketches.rac_sketches.flowers.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.flowers.flowers\x27, sketches.rac_sketches.flowers.flowers);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.flowers.flowers,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30853__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30853 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30854__i \x3d 0, G__30854__a \x3d new Array(arguments.length - 0);\nwhile (G__30854__i \x3c G__30854__a.length) {G__30854__a[G__30854__i] \x3d arguments[G__30854__i + 0]; ++G__30854__i;}\n args \x3d new cljs.core.IndexedSeq(G__30854__a,0,null);\n} \nreturn G__30853__delegate.call(this,args);};\nG__30853.cljs$lang$maxFixedArity \x3d 0;\nG__30853.cljs$lang$applyTo \x3d (function (arglist__30857){\nvar args \x3d cljs.core.seq(arglist__30857);\nreturn G__30853__delegate(args);\n});\nG__30853.cljs$core$IFn$_invoke$arity$variadic \x3d G__30853__delegate;\nreturn G__30853;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.heart_of_clojure.js", true , "goog.provide(\x27sketches.rac_sketches.heart_of_clojure\x27);\nsketches.rac_sketches.heart_of_clojure.setup_particle \x3d (function sketches$rac_sketches$heart_of_clojure$setup_particle(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),(quil.core.height() / (2))], null),new cljs.core.Keyword(null,\x22speed\x22,\x22speed\x22,1257663751),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)], null);\n});\nsketches.rac_sketches.heart_of_clojure.setup \x3d (function sketches$rac_sketches$heart_of_clojure$setup(){\nquil.core.no_stroke();\n\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nreturn cljs.core.List.EMPTY;\n});\nsketches.rac_sketches.heart_of_clojure.v_add \x3d (function sketches$rac_sketches$heart_of_clojure$v_add(p__30783,p__30784){\nvar vec__30785 \x3d p__30783;\nvar x1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30785,(0),null);\nvar y1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30785,(1),null);\nvar vec__30788 \x3d p__30784;\nvar x2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30788,(0),null);\nvar y2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30788,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x1 + x2),(y1 + y2)], null);\n});\nsketches.rac_sketches.heart_of_clojure.update_particle \x3d (function sketches$rac_sketches$heart_of_clojure$update_particle(p__30800){\nvar map__30801 \x3d p__30800;\nvar map__30801__$1 \x3d cljs.core.__destructure_map(map__30801);\nvar particle \x3d map__30801__$1;\nvar speed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30801__$1,new cljs.core.Keyword(null,\x22speed\x22,\x22speed\x22,1257663751));\nvar location__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30801__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar acc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.8,0.8),quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.8,0.8)], null);\nvar new_speed \x3d sketches.rac_sketches.heart_of_clojure.v_add(acc,speed);\nvar new_location \x3d sketches.rac_sketches.heart_of_clojure.v_add(location__$1,new_speed);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(particle,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new_location),new cljs.core.Keyword(null,\x22speed\x22,\x22speed\x22,1257663751),new_speed),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec);\n});\nsketches.rac_sketches.heart_of_clojure.update_state \x3d (function sketches$rac_sketches$heart_of_clojure$update_state(state){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__30807_SHARP_){\nreturn (new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879).cljs$core$IFn$_invoke$arity$1(p1__30807_SHARP_) \x3e (0));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.heart_of_clojure.update_particle,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(state,cljs.core.comp.cljs$core$IFn$_invoke$arity$1(sketches.rac_sketches.heart_of_clojure.setup_particle()))));\n});\nsketches.rac_sketches.heart_of_clojure.draw_particle \x3d (function sketches$rac_sketches$heart_of_clojure$draw_particle(p__30842){\nvar map__30845 \x3d p__30842;\nvar map__30845__$1 \x3d cljs.core.__destructure_map(map__30845);\nvar vec__30846 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30845__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30846,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30846,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30845__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.fill.cljs$core$IFn$_invoke$arity$4(quil.core.map_range(lifespan,(127),(20),(127),(50)),(255),(100),lifespan);\n\nreturn quil.core.ellipse(x,y,quil.core.map_range(lifespan,(0),(255),(0),quil.core.map_range(quil.core.sin((lifespan / (3))),(0),(1),(0),(150))),quil.core.map_range(lifespan,(0),(255),(0),quil.core.map_range(quil.core.sin(lifespan),(0),(1),(0),(150))));\n});\nsketches.rac_sketches.heart_of_clojure.draw \x3d (function sketches$rac_sketches$heart_of_clojure$draw(state){\nquil.core.clear();\n\nquil.core.background.cljs$core$IFn$_invoke$arity$3((200),(127),(0));\n\nvar seq__30861 \x3d cljs.core.seq(state);\nvar chunk__30862 \x3d null;\nvar count__30863 \x3d (0);\nvar i__30864 \x3d (0);\nwhile(true){\nif((i__30864 \x3c count__30863)){\nvar particle \x3d chunk__30862.cljs$core$IIndexed$_nth$arity$2(null,i__30864);\nsketches.rac_sketches.heart_of_clojure.draw_particle(particle);\n\n\nvar G__30906 \x3d seq__30861;\nvar G__30907 \x3d chunk__30862;\nvar G__30908 \x3d count__30863;\nvar G__30909 \x3d (i__30864 + (1));\nseq__30861 \x3d G__30906;\nchunk__30862 \x3d G__30907;\ncount__30863 \x3d G__30908;\ni__30864 \x3d G__30909;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__30861);\nif(temp__5804__auto__){\nvar seq__30861__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__30861__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__30861__$1);\nvar G__30910 \x3d cljs.core.chunk_rest(seq__30861__$1);\nvar G__30911 \x3d c__5568__auto__;\nvar G__30912 \x3d cljs.core.count(c__5568__auto__);\nvar G__30913 \x3d (0);\nseq__30861 \x3d G__30910;\nchunk__30862 \x3d G__30911;\ncount__30863 \x3d G__30912;\ni__30864 \x3d G__30913;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__30861__$1);\nsketches.rac_sketches.heart_of_clojure.draw_particle(particle);\n\n\nvar G__30914 \x3d cljs.core.next(seq__30861__$1);\nvar G__30915 \x3d null;\nvar G__30916 \x3d (0);\nvar G__30917 \x3d (0);\nseq__30861 \x3d G__30914;\nchunk__30862 \x3d G__30915;\ncount__30863 \x3d G__30916;\ni__30864 \x3d G__30917;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.rac_sketches.heart_of_clojure.run \x3d (function sketches$rac_sketches$heart_of_clojure$run(host){\nsketches.rac_sketches.heart_of_clojure.heart_of_clojure \x3d (function sketches$rac_sketches$heart_of_clojure$run_$_heart_of_clojure(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30920__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30920 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30921__i \x3d 0, G__30921__a \x3d new Array(arguments.length - 0);\nwhile (G__30921__i \x3c G__30921__a.length) {G__30921__a[G__30921__i] \x3d arguments[G__30921__i + 0]; ++G__30921__i;}\n args \x3d new cljs.core.IndexedSeq(G__30921__a,0,null);\n} \nreturn G__30920__delegate.call(this,args);};\nG__30920.cljs$lang$maxFixedArity \x3d 0;\nG__30920.cljs$lang$applyTo \x3d (function (arglist__30922){\nvar args \x3d cljs.core.seq(arglist__30922);\nreturn G__30920__delegate(args);\n});\nG__30920.cljs$core$IFn$_invoke$arity$variadic \x3d G__30920__delegate;\nreturn G__30920;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.heart_of_clojure.update_state))?(function() { \nvar G__30923__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.heart_of_clojure.update_state,args);\n};\nvar G__30923 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30924__i \x3d 0, G__30924__a \x3d new Array(arguments.length - 0);\nwhile (G__30924__i \x3c G__30924__a.length) {G__30924__a[G__30924__i] \x3d arguments[G__30924__i + 0]; ++G__30924__i;}\n args \x3d new cljs.core.IndexedSeq(G__30924__a,0,null);\n} \nreturn G__30923__delegate.call(this,args);};\nG__30923.cljs$lang$maxFixedArity \x3d 0;\nG__30923.cljs$lang$applyTo \x3d (function (arglist__30925){\nvar args \x3d cljs.core.seq(arglist__30925);\nreturn G__30923__delegate(args);\n});\nG__30923.cljs$core$IFn$_invoke$arity$variadic \x3d G__30923__delegate;\nreturn G__30923;\n})()\n:sketches.rac_sketches.heart_of_clojure.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.heart_of_clojure.setup))?(function() { \nvar G__30926__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.heart_of_clojure.setup,args);\n};\nvar G__30926 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30927__i \x3d 0, G__30927__a \x3d new Array(arguments.length - 0);\nwhile (G__30927__i \x3c G__30927__a.length) {G__30927__a[G__30927__i] \x3d arguments[G__30927__i + 0]; ++G__30927__i;}\n args \x3d new cljs.core.IndexedSeq(G__30927__a,0,null);\n} \nreturn G__30926__delegate.call(this,args);};\nG__30926.cljs$lang$maxFixedArity \x3d 0;\nG__30926.cljs$lang$applyTo \x3d (function (arglist__30928){\nvar args \x3d cljs.core.seq(arglist__30928);\nreturn G__30926__delegate(args);\n});\nG__30926.cljs$core$IFn$_invoke$arity$variadic \x3d G__30926__delegate;\nreturn G__30926;\n})()\n:sketches.rac_sketches.heart_of_clojure.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.heart_of_clojure.draw))?(function() { \nvar G__30929__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.heart_of_clojure.draw,args);\n};\nvar G__30929 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30930__i \x3d 0, G__30930__a \x3d new Array(arguments.length - 0);\nwhile (G__30930__i \x3c G__30930__a.length) {G__30930__a[G__30930__i] \x3d arguments[G__30930__i + 0]; ++G__30930__i;}\n args \x3d new cljs.core.IndexedSeq(G__30930__a,0,null);\n} \nreturn G__30929__delegate.call(this,args);};\nG__30929.cljs$lang$maxFixedArity \x3d 0;\nG__30929.cljs$lang$applyTo \x3d (function (arglist__30931){\nvar args \x3d cljs.core.seq(arglist__30931);\nreturn G__30929__delegate(args);\n});\nG__30929.cljs$core$IFn$_invoke$arity$variadic \x3d G__30929__delegate;\nreturn G__30929;\n})()\n:sketches.rac_sketches.heart_of_clojure.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.heart_of_clojure.heart_of_clojure\x27, sketches.rac_sketches.heart_of_clojure.heart_of_clojure);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.heart_of_clojure.heart_of_clojure,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__30932__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__30932 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30933__i \x3d 0, G__30933__a \x3d new Array(arguments.length - 0);\nwhile (G__30933__i \x3c G__30933__a.length) {G__30933__a[G__30933__i] \x3d arguments[G__30933__i + 0]; ++G__30933__i;}\n args \x3d new cljs.core.IndexedSeq(G__30933__a,0,null);\n} \nreturn G__30932__delegate.call(this,args);};\nG__30932.cljs$lang$maxFixedArity \x3d 0;\nG__30932.cljs$lang$applyTo \x3d (function (arglist__30934){\nvar args \x3d cljs.core.seq(arglist__30934);\nreturn G__30932__delegate(args);\n});\nG__30932.cljs$core$IFn$_invoke$arity$variadic \x3d G__30932__delegate;\nreturn G__30932;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.inferno.js", true , "goog.provide(\x27sketches.rac_sketches.inferno\x27);\nsketches.rac_sketches.inferno.setup \x3d (function sketches$rac_sketches$inferno$setup(){\nquil.core.blend_mode(new cljs.core.Keyword(null,\x22add\x22,\x22add\x22,235287739));\n\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY], null);\n});\nsketches.rac_sketches.inferno.update_particle \x3d (function sketches$rac_sketches$inferno$update_particle(particle){\nvar gravity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.random_gaussian() * 0.01),((quil.core.random_gaussian() - 0.8) * 0.02)], null);\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.1,0.1),(0)], null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(sketches.mover.update_mover(particle,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(gravity,wind)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec);\n});\nsketches.rac_sketches.inferno.create_particle \x3d (function sketches$rac_sketches$inferno$create_particle(){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),quil.core.height()], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)], null);\n});\nsketches.rac_sketches.inferno.update_state \x3d (function sketches$rac_sketches$inferno$update_state(p__30960){\nvar map__30962 \x3d p__30960;\nvar map__30962__$1 \x3d cljs.core.__destructure_map(map__30962);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30962__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.inferno.update_particle,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__30966){\nvar map__30967 \x3d p__30966;\nvar map__30967__$1 \x3d cljs.core.__destructure_map(map__30967);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30967__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3e\x3d (0));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.rac_sketches.inferno.create_particle())))], null);\n});\nsketches.rac_sketches.inferno.draw_particle \x3d (function sketches$rac_sketches$inferno$draw_particle(p__30978){\nvar map__30983 \x3d p__30978;\nvar map__30983__$1 \x3d cljs.core.__destructure_map(map__30983);\nvar vec__30984 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30983__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30984,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30984,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30983__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar blue \x3d quil.core.color.cljs$core$IFn$_invoke$arity$4((255),(127),(64),lifespan);\nvar red \x3d quil.core.color.cljs$core$IFn$_invoke$arity$2((0),(0));\nvar n__5636__auto__ \x3d (6);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c n__5636__auto__)){\nquil.core.fill.cljs$core$IFn$_invoke$arity$1(quil.core.lerp_color(red,blue,(i / (5))));\n\nquil.core.ellipse(x,y,(((255) * ((64) / (i + (1)))) / lifespan),(((255) * ((64) / (i + (1)))) / lifespan));\n\nvar G__31035 \x3d (i + (1));\ni \x3d G__31035;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nsketches.rac_sketches.inferno.draw \x3d (function sketches$rac_sketches$inferno$draw(p__30998){\nvar map__30999 \x3d p__30998;\nvar map__30999__$1 \x3d cljs.core.__destructure_map(map__30999);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__30999__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nquil.core.clear();\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.inferno.draw_particle,particles));\n});\nsketches.rac_sketches.inferno.run \x3d (function sketches$rac_sketches$inferno$run(host){\nsketches.rac_sketches.inferno.inferno \x3d (function sketches$rac_sketches$inferno$run_$_inferno(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31036__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31036 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31037__i \x3d 0, G__31037__a \x3d new Array(arguments.length - 0);\nwhile (G__31037__i \x3c G__31037__a.length) {G__31037__a[G__31037__i] \x3d arguments[G__31037__i + 0]; ++G__31037__i;}\n args \x3d new cljs.core.IndexedSeq(G__31037__a,0,null);\n} \nreturn G__31036__delegate.call(this,args);};\nG__31036.cljs$lang$maxFixedArity \x3d 0;\nG__31036.cljs$lang$applyTo \x3d (function (arglist__31038){\nvar args \x3d cljs.core.seq(arglist__31038);\nreturn G__31036__delegate(args);\n});\nG__31036.cljs$core$IFn$_invoke$arity$variadic \x3d G__31036__delegate;\nreturn G__31036;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.inferno.update_state))?(function() { \nvar G__31039__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.inferno.update_state,args);\n};\nvar G__31039 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31041__i \x3d 0, G__31041__a \x3d new Array(arguments.length - 0);\nwhile (G__31041__i \x3c G__31041__a.length) {G__31041__a[G__31041__i] \x3d arguments[G__31041__i + 0]; ++G__31041__i;}\n args \x3d new cljs.core.IndexedSeq(G__31041__a,0,null);\n} \nreturn G__31039__delegate.call(this,args);};\nG__31039.cljs$lang$maxFixedArity \x3d 0;\nG__31039.cljs$lang$applyTo \x3d (function (arglist__31042){\nvar args \x3d cljs.core.seq(arglist__31042);\nreturn G__31039__delegate(args);\n});\nG__31039.cljs$core$IFn$_invoke$arity$variadic \x3d G__31039__delegate;\nreturn G__31039;\n})()\n:sketches.rac_sketches.inferno.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.inferno.setup))?(function() { \nvar G__31043__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.inferno.setup,args);\n};\nvar G__31043 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31044__i \x3d 0, G__31044__a \x3d new Array(arguments.length - 0);\nwhile (G__31044__i \x3c G__31044__a.length) {G__31044__a[G__31044__i] \x3d arguments[G__31044__i + 0]; ++G__31044__i;}\n args \x3d new cljs.core.IndexedSeq(G__31044__a,0,null);\n} \nreturn G__31043__delegate.call(this,args);};\nG__31043.cljs$lang$maxFixedArity \x3d 0;\nG__31043.cljs$lang$applyTo \x3d (function (arglist__31045){\nvar args \x3d cljs.core.seq(arglist__31045);\nreturn G__31043__delegate(args);\n});\nG__31043.cljs$core$IFn$_invoke$arity$variadic \x3d G__31043__delegate;\nreturn G__31043;\n})()\n:sketches.rac_sketches.inferno.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.inferno.draw))?(function() { \nvar G__31046__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.inferno.draw,args);\n};\nvar G__31046 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31049__i \x3d 0, G__31049__a \x3d new Array(arguments.length - 0);\nwhile (G__31049__i \x3c G__31049__a.length) {G__31049__a[G__31049__i] \x3d arguments[G__31049__i + 0]; ++G__31049__i;}\n args \x3d new cljs.core.IndexedSeq(G__31049__a,0,null);\n} \nreturn G__31046__delegate.call(this,args);};\nG__31046.cljs$lang$maxFixedArity \x3d 0;\nG__31046.cljs$lang$applyTo \x3d (function (arglist__31050){\nvar args \x3d cljs.core.seq(arglist__31050);\nreturn G__31046__delegate(args);\n});\nG__31046.cljs$core$IFn$_invoke$arity$variadic \x3d G__31046__delegate;\nreturn G__31046;\n})()\n:sketches.rac_sketches.inferno.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.inferno.inferno\x27, sketches.rac_sketches.inferno.inferno);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.inferno.inferno,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31051__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31051 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31052__i \x3d 0, G__31052__a \x3d new Array(arguments.length - 0);\nwhile (G__31052__i \x3c G__31052__a.length) {G__31052__a[G__31052__i] \x3d arguments[G__31052__i + 0]; ++G__31052__i;}\n args \x3d new cljs.core.IndexedSeq(G__31052__a,0,null);\n} \nreturn G__31051__delegate.call(this,args);};\nG__31051.cljs$lang$maxFixedArity \x3d 0;\nG__31051.cljs$lang$applyTo \x3d (function (arglist__31053){\nvar args \x3d cljs.core.seq(arglist__31053);\nreturn G__31051__delegate(args);\n});\nG__31051.cljs$core$IFn$_invoke$arity$variadic \x3d G__31051__delegate;\nreturn G__31051;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.noise_colors.js", true , "goog.provide(\x27sketches.rac_sketches.noise_colors\x27);\nvar module$node_modules$nice_color_palettes$100_json\x3dshadow.js.require(\x22module$node_modules$nice_color_palettes$100_json\x22, {});\nsketches.rac_sketches.noise_colors.palettes \x3d cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(module$node_modules$nice_color_palettes$100_json);\nsketches.rac_sketches.noise_colors.pick_random \x3d (function sketches$rac_sketches$noise_colors$pick_random(list){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(list,cljs.core.rand_int((cljs.core.count(list) - (1))));\n});\nsketches.rac_sketches.noise_colors.pick_random_palette \x3d (function sketches$rac_sketches$noise_colors$pick_random_palette(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30953_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (s){\nreturn quil.core.unhex(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,s));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(p1__30953_SHARP_)));\n}),sketches.rac_sketches.noise_colors.pick_random(sketches.rac_sketches.noise_colors.palettes));\n});\nsketches.rac_sketches.noise_colors.setup \x3d (function sketches$rac_sketches$noise_colors$setup(){\nquil.core.no_stroke();\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsl\x22,\x22hsl\x22,-1282948596));\n\nvar w \x3d (10);\nvar seed \x3d quil.core.random.cljs$core$IFn$_invoke$arity$1((300));\nvar palette \x3d sketches.rac_sketches.noise_colors.pick_random_palette();\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function sketches$rac_sketches$noise_colors$setup_$_iter__30969(s__30970){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__30970__$1 \x3d s__30970;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__30970__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar vec__30980 \x3d cljs.core.first(xs__6360__auto__);\nvar row \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30980,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30980,(1),null);\nvar iterys__5519__auto__ \x3d ((function (s__30970__$1,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette){\nreturn (function sketches$rac_sketches$noise_colors$setup_$_iter__30969_$_iter__30971(s__30972){\nreturn (new cljs.core.LazySeq(null,((function (s__30970__$1,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette){\nreturn (function (){\nvar s__30972__$1 \x3d s__30972;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__30972__$1);\nif(temp__5804__auto____$1){\nvar s__30972__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__30972__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__30972__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__30974 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__30973 \x3d (0);\nwhile(true){\nif((i__30973 \x3c size__5522__auto__)){\nvar vec__30991 \x3d cljs.core._nth(c__5521__auto__,i__30973);\nvar cell \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30991,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30991,(1),null);\nvar nx \x3d (seed + (row / w));\nvar ny \x3d (seed + (cell / w));\ncljs.core.chunk_append(b__30974,(function (){var color \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(palette,quil.core.round(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(0),(cljs.core.count(palette) - (1)))));\nvar pos_noise \x3d quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(-20),(30));\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(color,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(127)], null)));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((pos_noise + x),(pos_noise + y),quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(10),(20)),quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(10),(20)));\n})());\n\nvar G__31068 \x3d (i__30973 + (1));\ni__30973 \x3d G__31068;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30974),sketches$rac_sketches$noise_colors$setup_$_iter__30969_$_iter__30971(cljs.core.chunk_rest(s__30972__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30974),null);\n}\n} else {\nvar vec__31004 \x3d cljs.core.first(s__30972__$2);\nvar cell \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31004,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31004,(1),null);\nvar nx \x3d (seed + (row / w));\nvar ny \x3d (seed + (cell / w));\nreturn cljs.core.cons((function (){var color \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(palette,quil.core.round(quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(0),(cljs.core.count(palette) - (1)))));\nvar pos_noise \x3d quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(-20),(30));\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(color,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(127)], null)));\n\nreturn quil.core.rect.cljs$core$IFn$_invoke$arity$4((pos_noise + x),(pos_noise + y),quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(10),(20)),quil.core.map_range(quil.core.noise.cljs$core$IFn$_invoke$arity$2(nx,ny),(0),(1),(10),(20)));\n})(),sketches$rac_sketches$noise_colors$setup_$_iter__30969_$_iter__30971(cljs.core.rest(s__30972__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__30970__$1,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette))\n,null,null));\n});})(s__30970__$1,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(((function (s__30970__$1,iterys__5519__auto__,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette){\nreturn (function (p1__30958_SHARP_,p2__30959_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__30958_SHARP_,(p2__30959_SHARP_ * (10))],null));\n});})(s__30970__$1,iterys__5519__auto__,vec__30980,row,x,xs__6360__auto__,temp__5804__auto__,w,seed,palette))\n,cljs.core.range.cljs$core$IFn$_invoke$arity$1((quil.core.height() / w)))));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,sketches$rac_sketches$noise_colors$setup_$_iter__30969(cljs.core.rest(s__30970__$1)));\n} else {\nvar G__31101 \x3d cljs.core.rest(s__30970__$1);\ns__30970__$1 \x3d G__31101;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (p1__30956_SHARP_,p2__30957_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__30956_SHARP_,(p2__30957_SHARP_ * (10))],null));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1((quil.core.width() / w))));\n})());\n});\nsketches.rac_sketches.noise_colors.update_state \x3d (function sketches$rac_sketches$noise_colors$update_state(){\nreturn null;\n});\nsketches.rac_sketches.noise_colors.draw \x3d (function sketches$rac_sketches$noise_colors$draw(){\nreturn null;\n});\nsketches.rac_sketches.noise_colors.run \x3d (function sketches$rac_sketches$noise_colors$run(host){\nsketches.rac_sketches.noise_colors.no453 \x3d (function sketches$rac_sketches$noise_colors$run_$_no453(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31105__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31105 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31106__i \x3d 0, G__31106__a \x3d new Array(arguments.length - 0);\nwhile (G__31106__i \x3c G__31106__a.length) {G__31106__a[G__31106__i] \x3d arguments[G__31106__i + 0]; ++G__31106__i;}\n args \x3d new cljs.core.IndexedSeq(G__31106__a,0,null);\n} \nreturn G__31105__delegate.call(this,args);};\nG__31105.cljs$lang$maxFixedArity \x3d 0;\nG__31105.cljs$lang$applyTo \x3d (function (arglist__31107){\nvar args \x3d cljs.core.seq(arglist__31107);\nreturn G__31105__delegate(args);\n});\nG__31105.cljs$core$IFn$_invoke$arity$variadic \x3d G__31105__delegate;\nreturn G__31105;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.noise_colors.update_state))?(function() { \nvar G__31109__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.noise_colors.update_state,args);\n};\nvar G__31109 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31110__i \x3d 0, G__31110__a \x3d new Array(arguments.length - 0);\nwhile (G__31110__i \x3c G__31110__a.length) {G__31110__a[G__31110__i] \x3d arguments[G__31110__i + 0]; ++G__31110__i;}\n args \x3d new cljs.core.IndexedSeq(G__31110__a,0,null);\n} \nreturn G__31109__delegate.call(this,args);};\nG__31109.cljs$lang$maxFixedArity \x3d 0;\nG__31109.cljs$lang$applyTo \x3d (function (arglist__31112){\nvar args \x3d cljs.core.seq(arglist__31112);\nreturn G__31109__delegate(args);\n});\nG__31109.cljs$core$IFn$_invoke$arity$variadic \x3d G__31109__delegate;\nreturn G__31109;\n})()\n:sketches.rac_sketches.noise_colors.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.noise_colors.setup))?(function() { \nvar G__31115__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.noise_colors.setup,args);\n};\nvar G__31115 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31116__i \x3d 0, G__31116__a \x3d new Array(arguments.length - 0);\nwhile (G__31116__i \x3c G__31116__a.length) {G__31116__a[G__31116__i] \x3d arguments[G__31116__i + 0]; ++G__31116__i;}\n args \x3d new cljs.core.IndexedSeq(G__31116__a,0,null);\n} \nreturn G__31115__delegate.call(this,args);};\nG__31115.cljs$lang$maxFixedArity \x3d 0;\nG__31115.cljs$lang$applyTo \x3d (function (arglist__31117){\nvar args \x3d cljs.core.seq(arglist__31117);\nreturn G__31115__delegate(args);\n});\nG__31115.cljs$core$IFn$_invoke$arity$variadic \x3d G__31115__delegate;\nreturn G__31115;\n})()\n:sketches.rac_sketches.noise_colors.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.noise_colors.draw))?(function() { \nvar G__31118__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.noise_colors.draw,args);\n};\nvar G__31118 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31119__i \x3d 0, G__31119__a \x3d new Array(arguments.length - 0);\nwhile (G__31119__i \x3c G__31119__a.length) {G__31119__a[G__31119__i] \x3d arguments[G__31119__i + 0]; ++G__31119__i;}\n args \x3d new cljs.core.IndexedSeq(G__31119__a,0,null);\n} \nreturn G__31118__delegate.call(this,args);};\nG__31118.cljs$lang$maxFixedArity \x3d 0;\nG__31118.cljs$lang$applyTo \x3d (function (arglist__31120){\nvar args \x3d cljs.core.seq(arglist__31120);\nreturn G__31118__delegate(args);\n});\nG__31118.cljs$core$IFn$_invoke$arity$variadic \x3d G__31118__delegate;\nreturn G__31118;\n})()\n:sketches.rac_sketches.noise_colors.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.noise_colors.no453\x27, sketches.rac_sketches.noise_colors.no453);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.noise_colors.no453,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31121__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31121 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31122__i \x3d 0, G__31122__a \x3d new Array(arguments.length - 0);\nwhile (G__31122__i \x3c G__31122__a.length) {G__31122__a[G__31122__i] \x3d arguments[G__31122__i + 0]; ++G__31122__i;}\n args \x3d new cljs.core.IndexedSeq(G__31122__a,0,null);\n} \nreturn G__31121__delegate.call(this,args);};\nG__31121.cljs$lang$maxFixedArity \x3d 0;\nG__31121.cljs$lang$applyTo \x3d (function (arglist__31123){\nvar args \x3d cljs.core.seq(arglist__31123);\nreturn G__31121__delegate(args);\n});\nG__31121.cljs$core$IFn$_invoke$arity$variadic \x3d G__31121__delegate;\nreturn G__31121;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.particle_party.js", true , "goog.provide(\x27sketches.rac_sketches.particle_party\x27);\nvar module$node_modules$nice_color_palettes$100_json\x3dshadow.js.require(\x22module$node_modules$nice_color_palettes$100_json\x22, {});\nsketches.rac_sketches.particle_party.palettes \x3d cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(module$node_modules$nice_color_palettes$100_json);\nsketches.rac_sketches.particle_party.pick_random \x3d (function sketches$rac_sketches$particle_party$pick_random(list){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(list,cljs.core.rand_int((cljs.core.count(list) - (1))));\n});\nsketches.rac_sketches.particle_party.pick_random_palette \x3d (function sketches$rac_sketches$particle_party$pick_random_palette(){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30995_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (s){\nreturn quil.core.unhex(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,s));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(p1__30995_SHARP_)));\n}),sketches.rac_sketches.particle_party.pick_random(sketches.rac_sketches.particle_party.palettes));\n});\nsketches.rac_sketches.particle_party.create_particle \x3d (function sketches$rac_sketches$particle_party$create_particle(color){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),quil.core.height()], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),color], null);\n});\nsketches.rac_sketches.particle_party.setup \x3d (function sketches$rac_sketches$particle_party$setup(){\nquil.core.no_stroke();\n\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22colors\x22,\x22colors\x22,1157174732),sketches.rac_sketches.particle_party.pick_random_palette()], null);\n});\nsketches.rac_sketches.particle_party.update_particle \x3d (function sketches$rac_sketches$particle_party$update_particle(particle){\nvar levity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.05], null);\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.4,0.4),(0)], null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(sketches.mover.update_mover(particle,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(levity,wind)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec);\n});\nsketches.rac_sketches.particle_party.update_state \x3d (function sketches$rac_sketches$particle_party$update_state(p__31009){\nvar map__31010 \x3d p__31009;\nvar map__31010__$1 \x3d cljs.core.__destructure_map(map__31010);\nvar state \x3d map__31010__$1;\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31010__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar colors \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31010__$1,new cljs.core.Keyword(null,\x22colors\x22,\x22colors\x22,1157174732));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod(quil.core.frame_count(),(500)),(0)))?cljs.core.List.EMPTY:cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.particle_party.update_particle,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31013){\nvar map__31014 \x3d p__31013;\nvar map__31014__$1 \x3d cljs.core.__destructure_map(map__31014);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31014__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3e\x3d (0));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.rac_sketches.particle_party.create_particle(cljs.core.rand_nth(colors)))))));\n});\nsketches.rac_sketches.particle_party.draw_particle \x3d (function sketches$rac_sketches$particle_party$draw_particle(p__31019){\nvar map__31020 \x3d p__31019;\nvar map__31020__$1 \x3d cljs.core.__destructure_map(map__31020);\nvar vec__31021 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31020__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31021,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31021,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31020__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nvar color \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31020__$1,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173));\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.fill,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(color,lifespan));\n\nreturn quil.core.ellipse(x,y,quil.core.map_range(lifespan,(0),(255),(0),(32)),quil.core.map_range(lifespan,(0),(255),(0),(32)));\n});\nsketches.rac_sketches.particle_party.draw \x3d (function sketches$rac_sketches$particle_party$draw(p__31024){\nvar map__31025 \x3d p__31024;\nvar map__31025__$1 \x3d cljs.core.__destructure_map(map__31025);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31025__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nvar colors \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31025__$1,new cljs.core.Keyword(null,\x22colors\x22,\x22colors\x22,1157174732));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod(quil.core.frame_count(),(500)),(0))){\nquil.core.clear();\n} else {\n}\n\nvar seq__31029 \x3d cljs.core.seq(particles);\nvar chunk__31030 \x3d null;\nvar count__31031 \x3d (0);\nvar i__31032 \x3d (0);\nwhile(true){\nif((i__31032 \x3c count__31031)){\nvar particle \x3d chunk__31030.cljs$core$IIndexed$_nth$arity$2(null,i__31032);\nsketches.rac_sketches.particle_party.draw_particle(particle);\n\n\nvar G__31069 \x3d seq__31029;\nvar G__31070 \x3d chunk__31030;\nvar G__31071 \x3d count__31031;\nvar G__31072 \x3d (i__31032 + (1));\nseq__31029 \x3d G__31069;\nchunk__31030 \x3d G__31070;\ncount__31031 \x3d G__31071;\ni__31032 \x3d G__31072;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31029);\nif(temp__5804__auto__){\nvar seq__31029__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31029__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__31029__$1);\nvar G__31073 \x3d cljs.core.chunk_rest(seq__31029__$1);\nvar G__31074 \x3d c__5568__auto__;\nvar G__31075 \x3d cljs.core.count(c__5568__auto__);\nvar G__31076 \x3d (0);\nseq__31029 \x3d G__31073;\nchunk__31030 \x3d G__31074;\ncount__31031 \x3d G__31075;\ni__31032 \x3d G__31076;\ncontinue;\n} else {\nvar particle \x3d cljs.core.first(seq__31029__$1);\nsketches.rac_sketches.particle_party.draw_particle(particle);\n\n\nvar G__31078 \x3d cljs.core.next(seq__31029__$1);\nvar G__31079 \x3d null;\nvar G__31080 \x3d (0);\nvar G__31081 \x3d (0);\nseq__31029 \x3d G__31078;\nchunk__31030 \x3d G__31079;\ncount__31031 \x3d G__31080;\ni__31032 \x3d G__31081;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.rac_sketches.particle_party.run \x3d (function sketches$rac_sketches$particle_party$run(host){\nsketches.rac_sketches.particle_party.reverse_roots \x3d (function sketches$rac_sketches$particle_party$run_$_reverse_roots(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31083__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31083 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31085__i \x3d 0, G__31085__a \x3d new Array(arguments.length - 0);\nwhile (G__31085__i \x3c G__31085__a.length) {G__31085__a[G__31085__i] \x3d arguments[G__31085__i + 0]; ++G__31085__i;}\n args \x3d new cljs.core.IndexedSeq(G__31085__a,0,null);\n} \nreturn G__31083__delegate.call(this,args);};\nG__31083.cljs$lang$maxFixedArity \x3d 0;\nG__31083.cljs$lang$applyTo \x3d (function (arglist__31087){\nvar args \x3d cljs.core.seq(arglist__31087);\nreturn G__31083__delegate(args);\n});\nG__31083.cljs$core$IFn$_invoke$arity$variadic \x3d G__31083__delegate;\nreturn G__31083;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.particle_party.update_state))?(function() { \nvar G__31088__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.particle_party.update_state,args);\n};\nvar G__31088 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31089__i \x3d 0, G__31089__a \x3d new Array(arguments.length - 0);\nwhile (G__31089__i \x3c G__31089__a.length) {G__31089__a[G__31089__i] \x3d arguments[G__31089__i + 0]; ++G__31089__i;}\n args \x3d new cljs.core.IndexedSeq(G__31089__a,0,null);\n} \nreturn G__31088__delegate.call(this,args);};\nG__31088.cljs$lang$maxFixedArity \x3d 0;\nG__31088.cljs$lang$applyTo \x3d (function (arglist__31090){\nvar args \x3d cljs.core.seq(arglist__31090);\nreturn G__31088__delegate(args);\n});\nG__31088.cljs$core$IFn$_invoke$arity$variadic \x3d G__31088__delegate;\nreturn G__31088;\n})()\n:sketches.rac_sketches.particle_party.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.particle_party.setup))?(function() { \nvar G__31091__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.particle_party.setup,args);\n};\nvar G__31091 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31092__i \x3d 0, G__31092__a \x3d new Array(arguments.length - 0);\nwhile (G__31092__i \x3c G__31092__a.length) {G__31092__a[G__31092__i] \x3d arguments[G__31092__i + 0]; ++G__31092__i;}\n args \x3d new cljs.core.IndexedSeq(G__31092__a,0,null);\n} \nreturn G__31091__delegate.call(this,args);};\nG__31091.cljs$lang$maxFixedArity \x3d 0;\nG__31091.cljs$lang$applyTo \x3d (function (arglist__31093){\nvar args \x3d cljs.core.seq(arglist__31093);\nreturn G__31091__delegate(args);\n});\nG__31091.cljs$core$IFn$_invoke$arity$variadic \x3d G__31091__delegate;\nreturn G__31091;\n})()\n:sketches.rac_sketches.particle_party.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.particle_party.draw))?(function() { \nvar G__31094__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.particle_party.draw,args);\n};\nvar G__31094 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31095__i \x3d 0, G__31095__a \x3d new Array(arguments.length - 0);\nwhile (G__31095__i \x3c G__31095__a.length) {G__31095__a[G__31095__i] \x3d arguments[G__31095__i + 0]; ++G__31095__i;}\n args \x3d new cljs.core.IndexedSeq(G__31095__a,0,null);\n} \nreturn G__31094__delegate.call(this,args);};\nG__31094.cljs$lang$maxFixedArity \x3d 0;\nG__31094.cljs$lang$applyTo \x3d (function (arglist__31096){\nvar args \x3d cljs.core.seq(arglist__31096);\nreturn G__31094__delegate(args);\n});\nG__31094.cljs$core$IFn$_invoke$arity$variadic \x3d G__31094__delegate;\nreturn G__31094;\n})()\n:sketches.rac_sketches.particle_party.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.particle_party.reverse_roots\x27, sketches.rac_sketches.particle_party.reverse_roots);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.particle_party.reverse_roots,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31098__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31098 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31099__i \x3d 0, G__31099__a \x3d new Array(arguments.length - 0);\nwhile (G__31099__i \x3c G__31099__a.length) {G__31099__a[G__31099__i] \x3d arguments[G__31099__i + 0]; ++G__31099__i;}\n args \x3d new cljs.core.IndexedSeq(G__31099__a,0,null);\n} \nreturn G__31098__delegate.call(this,args);};\nG__31098.cljs$lang$maxFixedArity \x3d 0;\nG__31098.cljs$lang$applyTo \x3d (function (arglist__31100){\nvar args \x3d cljs.core.seq(arglist__31100);\nreturn G__31098__delegate(args);\n});\nG__31098.cljs$core$IFn$_invoke$arity$variadic \x3d G__31098__delegate;\nreturn G__31098;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.rainbow_circles.js", true , "goog.provide(\x27sketches.rac_sketches.rainbow_circles\x27);\nsketches.rac_sketches.rainbow_circles.setup \x3d (function sketches$rac_sketches$rainbow_circles$setup(){\nquil.core.text_align.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22center\x22,\x22center\x22,-748944368));\n\nquil.core.color_mode.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22hsb\x22,\x22hsb\x22,-753472031));\n\nquil.core.no_stroke();\n\nreturn (0);\n});\nsketches.rac_sketches.rainbow_circles.update_state \x3d (function sketches$rac_sketches$rainbow_circles$update_state(state){\nreturn cljs.core.mod((0.02 + state),quil.core.PI);\n});\nsketches.rac_sketches.rainbow_circles.draw \x3d (function sketches$rac_sketches$rainbow_circles$draw(state){\nquil.core.background.cljs$core$IFn$_invoke$arity$3((0),(0),(255));\n\nquil.core.fill.cljs$core$IFn$_invoke$arity$1((0));\n\nvar step \x3d (quil.core.width() / (25));\nvar seq__31177 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(quil.core.width() + step),step));\nvar chunk__31182 \x3d null;\nvar count__31183 \x3d (0);\nvar i__31184 \x3d (0);\nwhile(true){\nif((i__31184 \x3c count__31183)){\nvar x \x3d chunk__31182.cljs$core$IIndexed$_nth$arity$2(null,i__31184);\nvar seq__31185_31441 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(quil.core.height() + step),step));\nvar chunk__31186_31442 \x3d null;\nvar count__31187_31443 \x3d (0);\nvar i__31188_31444 \x3d (0);\nwhile(true){\nif((i__31188_31444 \x3c count__31187_31443)){\nvar y_31445 \x3d chunk__31186_31442.cljs$core$IIndexed$_nth$arity$2(null,i__31188_31444);\nvar even_x_31446 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((x / step),(2)),(0));\nvar even_y_31447 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((y_31445 / step),(2)),(0));\nvar pulse_31448 \x3d (step * ((((even_x_31446) \x26\x26 (even_y_31447)))?quil.core.sin(state):(((((!(even_x_31446))) \x26\x26 (even_y_31447)))?quil.core.cos(state):((((even_x_31446) \x26\x26 ((!(even_y_31447)))))?quil.core.cos(state):(((((!(even_x_31446))) \x26\x26 ((!(even_y_31447)))))?quil.core.sin(state):null)))));\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(x,(0),(quil.core.width() + step),(0),(255)),(255),(200));\n\nquil.core.ellipse(x,y_31445,(((2) * pulse_31448) * quil.core.sin(state)),(((2) * pulse_31448) * quil.core.sin(state)));\n\n\nvar G__31451 \x3d seq__31185_31441;\nvar G__31452 \x3d chunk__31186_31442;\nvar G__31453 \x3d count__31187_31443;\nvar G__31454 \x3d (i__31188_31444 + (1));\nseq__31185_31441 \x3d G__31451;\nchunk__31186_31442 \x3d G__31452;\ncount__31187_31443 \x3d G__31453;\ni__31188_31444 \x3d G__31454;\ncontinue;\n} else {\nvar temp__5804__auto___31455 \x3d cljs.core.seq(seq__31185_31441);\nif(temp__5804__auto___31455){\nvar seq__31185_31456__$1 \x3d temp__5804__auto___31455;\nif(cljs.core.chunked_seq_QMARK_(seq__31185_31456__$1)){\nvar c__5568__auto___31457 \x3d cljs.core.chunk_first(seq__31185_31456__$1);\nvar G__31458 \x3d cljs.core.chunk_rest(seq__31185_31456__$1);\nvar G__31459 \x3d c__5568__auto___31457;\nvar G__31460 \x3d cljs.core.count(c__5568__auto___31457);\nvar G__31461 \x3d (0);\nseq__31185_31441 \x3d G__31458;\nchunk__31186_31442 \x3d G__31459;\ncount__31187_31443 \x3d G__31460;\ni__31188_31444 \x3d G__31461;\ncontinue;\n} else {\nvar y_31462 \x3d cljs.core.first(seq__31185_31456__$1);\nvar even_x_31463 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((x / step),(2)),(0));\nvar even_y_31464 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((y_31462 / step),(2)),(0));\nvar pulse_31465 \x3d (step * ((((even_x_31463) \x26\x26 (even_y_31464)))?quil.core.sin(state):(((((!(even_x_31463))) \x26\x26 (even_y_31464)))?quil.core.cos(state):((((even_x_31463) \x26\x26 ((!(even_y_31464)))))?quil.core.cos(state):(((((!(even_x_31463))) \x26\x26 ((!(even_y_31464)))))?quil.core.sin(state):null)))));\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(x,(0),(quil.core.width() + step),(0),(255)),(255),(200));\n\nquil.core.ellipse(x,y_31462,(((2) * pulse_31465) * quil.core.sin(state)),(((2) * pulse_31465) * quil.core.sin(state)));\n\n\nvar G__31466 \x3d cljs.core.next(seq__31185_31456__$1);\nvar G__31467 \x3d null;\nvar G__31468 \x3d (0);\nvar G__31469 \x3d (0);\nseq__31185_31441 \x3d G__31466;\nchunk__31186_31442 \x3d G__31467;\ncount__31187_31443 \x3d G__31468;\ni__31188_31444 \x3d G__31469;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__31470 \x3d seq__31177;\nvar G__31471 \x3d chunk__31182;\nvar G__31472 \x3d count__31183;\nvar G__31473 \x3d (i__31184 + (1));\nseq__31177 \x3d G__31470;\nchunk__31182 \x3d G__31471;\ncount__31183 \x3d G__31472;\ni__31184 \x3d G__31473;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31177);\nif(temp__5804__auto__){\nvar seq__31177__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31177__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__31177__$1);\nvar G__31474 \x3d cljs.core.chunk_rest(seq__31177__$1);\nvar G__31475 \x3d c__5568__auto__;\nvar G__31476 \x3d cljs.core.count(c__5568__auto__);\nvar G__31477 \x3d (0);\nseq__31177 \x3d G__31474;\nchunk__31182 \x3d G__31475;\ncount__31183 \x3d G__31476;\ni__31184 \x3d G__31477;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__31177__$1);\nvar seq__31178_31478 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),(quil.core.height() + step),step));\nvar chunk__31179_31479 \x3d null;\nvar count__31180_31480 \x3d (0);\nvar i__31181_31481 \x3d (0);\nwhile(true){\nif((i__31181_31481 \x3c count__31180_31480)){\nvar y_31482 \x3d chunk__31179_31479.cljs$core$IIndexed$_nth$arity$2(null,i__31181_31481);\nvar even_x_31483 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((x / step),(2)),(0));\nvar even_y_31484 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((y_31482 / step),(2)),(0));\nvar pulse_31485 \x3d (step * ((((even_x_31483) \x26\x26 (even_y_31484)))?quil.core.sin(state):(((((!(even_x_31483))) \x26\x26 (even_y_31484)))?quil.core.cos(state):((((even_x_31483) \x26\x26 ((!(even_y_31484)))))?quil.core.cos(state):(((((!(even_x_31483))) \x26\x26 ((!(even_y_31484)))))?quil.core.sin(state):null)))));\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(x,(0),(quil.core.width() + step),(0),(255)),(255),(200));\n\nquil.core.ellipse(x,y_31482,(((2) * pulse_31485) * quil.core.sin(state)),(((2) * pulse_31485) * quil.core.sin(state)));\n\n\nvar G__31486 \x3d seq__31178_31478;\nvar G__31487 \x3d chunk__31179_31479;\nvar G__31488 \x3d count__31180_31480;\nvar G__31489 \x3d (i__31181_31481 + (1));\nseq__31178_31478 \x3d G__31486;\nchunk__31179_31479 \x3d G__31487;\ncount__31180_31480 \x3d G__31488;\ni__31181_31481 \x3d G__31489;\ncontinue;\n} else {\nvar temp__5804__auto___31490__$1 \x3d cljs.core.seq(seq__31178_31478);\nif(temp__5804__auto___31490__$1){\nvar seq__31178_31491__$1 \x3d temp__5804__auto___31490__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__31178_31491__$1)){\nvar c__5568__auto___31492 \x3d cljs.core.chunk_first(seq__31178_31491__$1);\nvar G__31493 \x3d cljs.core.chunk_rest(seq__31178_31491__$1);\nvar G__31494 \x3d c__5568__auto___31492;\nvar G__31495 \x3d cljs.core.count(c__5568__auto___31492);\nvar G__31496 \x3d (0);\nseq__31178_31478 \x3d G__31493;\nchunk__31179_31479 \x3d G__31494;\ncount__31180_31480 \x3d G__31495;\ni__31181_31481 \x3d G__31496;\ncontinue;\n} else {\nvar y_31497 \x3d cljs.core.first(seq__31178_31491__$1);\nvar even_x_31498 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((x / step),(2)),(0));\nvar even_y_31499 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod((y_31497 / step),(2)),(0));\nvar pulse_31500 \x3d (step * ((((even_x_31498) \x26\x26 (even_y_31499)))?quil.core.sin(state):(((((!(even_x_31498))) \x26\x26 (even_y_31499)))?quil.core.cos(state):((((even_x_31498) \x26\x26 ((!(even_y_31499)))))?quil.core.cos(state):(((((!(even_x_31498))) \x26\x26 ((!(even_y_31499)))))?quil.core.sin(state):null)))));\nquil.core.fill.cljs$core$IFn$_invoke$arity$3(quil.core.map_range(x,(0),(quil.core.width() + step),(0),(255)),(255),(200));\n\nquil.core.ellipse(x,y_31497,(((2) * pulse_31500) * quil.core.sin(state)),(((2) * pulse_31500) * quil.core.sin(state)));\n\n\nvar G__31501 \x3d cljs.core.next(seq__31178_31491__$1);\nvar G__31502 \x3d null;\nvar G__31503 \x3d (0);\nvar G__31504 \x3d (0);\nseq__31178_31478 \x3d G__31501;\nchunk__31179_31479 \x3d G__31502;\ncount__31180_31480 \x3d G__31503;\ni__31181_31481 \x3d G__31504;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__31505 \x3d cljs.core.next(seq__31177__$1);\nvar G__31506 \x3d null;\nvar G__31507 \x3d (0);\nvar G__31508 \x3d (0);\nseq__31177 \x3d G__31505;\nchunk__31182 \x3d G__31506;\ncount__31183 \x3d G__31507;\ni__31184 \x3d G__31508;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.rac_sketches.rainbow_circles.run \x3d (function sketches$rac_sketches$rainbow_circles$run(host){\nsketches.rac_sketches.rainbow_circles.rainbow_circles \x3d (function sketches$rac_sketches$rainbow_circles$run_$_rainbow_circles(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31509__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31509 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31510__i \x3d 0, G__31510__a \x3d new Array(arguments.length - 0);\nwhile (G__31510__i \x3c G__31510__a.length) {G__31510__a[G__31510__i] \x3d arguments[G__31510__i + 0]; ++G__31510__i;}\n args \x3d new cljs.core.IndexedSeq(G__31510__a,0,null);\n} \nreturn G__31509__delegate.call(this,args);};\nG__31509.cljs$lang$maxFixedArity \x3d 0;\nG__31509.cljs$lang$applyTo \x3d (function (arglist__31511){\nvar args \x3d cljs.core.seq(arglist__31511);\nreturn G__31509__delegate(args);\n});\nG__31509.cljs$core$IFn$_invoke$arity$variadic \x3d G__31509__delegate;\nreturn G__31509;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.rainbow_circles.update_state))?(function() { \nvar G__31512__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rainbow_circles.update_state,args);\n};\nvar G__31512 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31513__i \x3d 0, G__31513__a \x3d new Array(arguments.length - 0);\nwhile (G__31513__i \x3c G__31513__a.length) {G__31513__a[G__31513__i] \x3d arguments[G__31513__i + 0]; ++G__31513__i;}\n args \x3d new cljs.core.IndexedSeq(G__31513__a,0,null);\n} \nreturn G__31512__delegate.call(this,args);};\nG__31512.cljs$lang$maxFixedArity \x3d 0;\nG__31512.cljs$lang$applyTo \x3d (function (arglist__31514){\nvar args \x3d cljs.core.seq(arglist__31514);\nreturn G__31512__delegate(args);\n});\nG__31512.cljs$core$IFn$_invoke$arity$variadic \x3d G__31512__delegate;\nreturn G__31512;\n})()\n:sketches.rac_sketches.rainbow_circles.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.rainbow_circles.setup))?(function() { \nvar G__31515__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rainbow_circles.setup,args);\n};\nvar G__31515 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31516__i \x3d 0, G__31516__a \x3d new Array(arguments.length - 0);\nwhile (G__31516__i \x3c G__31516__a.length) {G__31516__a[G__31516__i] \x3d arguments[G__31516__i + 0]; ++G__31516__i;}\n args \x3d new cljs.core.IndexedSeq(G__31516__a,0,null);\n} \nreturn G__31515__delegate.call(this,args);};\nG__31515.cljs$lang$maxFixedArity \x3d 0;\nG__31515.cljs$lang$applyTo \x3d (function (arglist__31517){\nvar args \x3d cljs.core.seq(arglist__31517);\nreturn G__31515__delegate(args);\n});\nG__31515.cljs$core$IFn$_invoke$arity$variadic \x3d G__31515__delegate;\nreturn G__31515;\n})()\n:sketches.rac_sketches.rainbow_circles.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.rainbow_circles.draw))?(function() { \nvar G__31518__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rainbow_circles.draw,args);\n};\nvar G__31518 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31519__i \x3d 0, G__31519__a \x3d new Array(arguments.length - 0);\nwhile (G__31519__i \x3c G__31519__a.length) {G__31519__a[G__31519__i] \x3d arguments[G__31519__i + 0]; ++G__31519__i;}\n args \x3d new cljs.core.IndexedSeq(G__31519__a,0,null);\n} \nreturn G__31518__delegate.call(this,args);};\nG__31518.cljs$lang$maxFixedArity \x3d 0;\nG__31518.cljs$lang$applyTo \x3d (function (arglist__31520){\nvar args \x3d cljs.core.seq(arglist__31520);\nreturn G__31518__delegate(args);\n});\nG__31518.cljs$core$IFn$_invoke$arity$variadic \x3d G__31518__delegate;\nreturn G__31518;\n})()\n:sketches.rac_sketches.rainbow_circles.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.rainbow_circles.rainbow_circles\x27, sketches.rac_sketches.rainbow_circles.rainbow_circles);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.rainbow_circles.rainbow_circles,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31521__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31521 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31522__i \x3d 0, G__31522__a \x3d new Array(arguments.length - 0);\nwhile (G__31522__i \x3c G__31522__a.length) {G__31522__a[G__31522__i] \x3d arguments[G__31522__i + 0]; ++G__31522__i;}\n args \x3d new cljs.core.IndexedSeq(G__31522__a,0,null);\n} \nreturn G__31521__delegate.call(this,args);};\nG__31521.cljs$lang$maxFixedArity \x3d 0;\nG__31521.cljs$lang$applyTo \x3d (function (arglist__31523){\nvar args \x3d cljs.core.seq(arglist__31523);\nreturn G__31521__delegate(args);\n});\nG__31521.cljs$core$IFn$_invoke$arity$variadic \x3d G__31521__delegate;\nreturn G__31521;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.reverse_roots.js", true , "goog.provide(\x27sketches.rac_sketches.reverse_roots\x27);\nsketches.rac_sketches.reverse_roots.create_particle \x3d (function sketches$rac_sketches$reverse_roots$create_particle(){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22acceleration\x22,\x22acceleration\x22,-1213888421),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22velocity\x22,\x22velocity\x22,-581524355),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(0)], null),new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(quil.core.width() / (2)),quil.core.height()], null),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),(255)], null);\n});\nsketches.rac_sketches.reverse_roots.setup \x3d (function sketches$rac_sketches$reverse_roots$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY], null);\n});\nsketches.rac_sketches.reverse_roots.update_particle \x3d (function sketches$rac_sketches$reverse_roots$update_particle(particle){\nvar levity \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),-0.01], null);\nvar wind \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.core.random.cljs$core$IFn$_invoke$arity$2(-0.1,0.1),(0)], null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(sketches.mover.update_mover(particle,sketches.vector.add.cljs$core$IFn$_invoke$arity$2(levity,wind)),new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879),cljs.core.dec);\n});\nsketches.rac_sketches.reverse_roots.update_state \x3d (function sketches$rac_sketches$reverse_roots$update_state(p__31193){\nvar map__31194 \x3d p__31193;\nvar map__31194__$1 \x3d cljs.core.__destructure_map(map__31194);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31194__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod(quil.core.frame_count(),(500)),(0))){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.List.EMPTY], null);\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788),cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.reverse_roots.update_particle,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31196){\nvar map__31197 \x3d p__31196;\nvar map__31197__$1 \x3d cljs.core.__destructure_map(map__31197);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31197__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nreturn (lifespan \x3e\x3d (0));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(particles,sketches.rac_sketches.reverse_roots.create_particle())))], null);\n}\n});\nsketches.rac_sketches.reverse_roots.draw_particle \x3d (function sketches$rac_sketches$reverse_roots$draw_particle(p__31208){\nvar map__31209 \x3d p__31208;\nvar map__31209__$1 \x3d cljs.core.__destructure_map(map__31209);\nvar vec__31210 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31209__$1,new cljs.core.Keyword(null,\x22location\x22,\x22location\x22,1815599388));\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31210,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31210,(1),null);\nvar lifespan \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31209__$1,new cljs.core.Keyword(null,\x22lifespan\x22,\x22lifespan\x22,-1506671879));\nquil.core.fill.cljs$core$IFn$_invoke$arity$2((255),lifespan);\n\nreturn quil.core.ellipse(x,y,quil.core.map_range(lifespan,(0),(255),(0),(32)),quil.core.map_range(lifespan,(0),(255),(0),(32)));\n});\nsketches.rac_sketches.reverse_roots.draw \x3d (function sketches$rac_sketches$reverse_roots$draw(p__31217){\nvar map__31218 \x3d p__31217;\nvar map__31218__$1 \x3d cljs.core.__destructure_map(map__31218);\nvar particles \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31218__$1,new cljs.core.Keyword(null,\x22particles\x22,\x22particles\x22,801881788));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.mod(quil.core.frame_count(),(500)),(0))){\nquil.core.clear();\n} else {\n}\n\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.reverse_roots.draw_particle,particles));\n});\nsketches.rac_sketches.reverse_roots.run \x3d (function sketches$rac_sketches$reverse_roots$run(host){\nsketches.rac_sketches.reverse_roots.reverse_roots \x3d (function sketches$rac_sketches$reverse_roots$run_$_reverse_roots(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31239__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31239 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31240__i \x3d 0, G__31240__a \x3d new Array(arguments.length - 0);\nwhile (G__31240__i \x3c G__31240__a.length) {G__31240__a[G__31240__i] \x3d arguments[G__31240__i + 0]; ++G__31240__i;}\n args \x3d new cljs.core.IndexedSeq(G__31240__a,0,null);\n} \nreturn G__31239__delegate.call(this,args);};\nG__31239.cljs$lang$maxFixedArity \x3d 0;\nG__31239.cljs$lang$applyTo \x3d (function (arglist__31241){\nvar args \x3d cljs.core.seq(arglist__31241);\nreturn G__31239__delegate(args);\n});\nG__31239.cljs$core$IFn$_invoke$arity$variadic \x3d G__31239__delegate;\nreturn G__31239;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.reverse_roots.update_state))?(function() { \nvar G__31242__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.reverse_roots.update_state,args);\n};\nvar G__31242 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31243__i \x3d 0, G__31243__a \x3d new Array(arguments.length - 0);\nwhile (G__31243__i \x3c G__31243__a.length) {G__31243__a[G__31243__i] \x3d arguments[G__31243__i + 0]; ++G__31243__i;}\n args \x3d new cljs.core.IndexedSeq(G__31243__a,0,null);\n} \nreturn G__31242__delegate.call(this,args);};\nG__31242.cljs$lang$maxFixedArity \x3d 0;\nG__31242.cljs$lang$applyTo \x3d (function (arglist__31244){\nvar args \x3d cljs.core.seq(arglist__31244);\nreturn G__31242__delegate(args);\n});\nG__31242.cljs$core$IFn$_invoke$arity$variadic \x3d G__31242__delegate;\nreturn G__31242;\n})()\n:sketches.rac_sketches.reverse_roots.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.reverse_roots.setup))?(function() { \nvar G__31245__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.reverse_roots.setup,args);\n};\nvar G__31245 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31246__i \x3d 0, G__31246__a \x3d new Array(arguments.length - 0);\nwhile (G__31246__i \x3c G__31246__a.length) {G__31246__a[G__31246__i] \x3d arguments[G__31246__i + 0]; ++G__31246__i;}\n args \x3d new cljs.core.IndexedSeq(G__31246__a,0,null);\n} \nreturn G__31245__delegate.call(this,args);};\nG__31245.cljs$lang$maxFixedArity \x3d 0;\nG__31245.cljs$lang$applyTo \x3d (function (arglist__31247){\nvar args \x3d cljs.core.seq(arglist__31247);\nreturn G__31245__delegate(args);\n});\nG__31245.cljs$core$IFn$_invoke$arity$variadic \x3d G__31245__delegate;\nreturn G__31245;\n})()\n:sketches.rac_sketches.reverse_roots.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.reverse_roots.draw))?(function() { \nvar G__31248__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.reverse_roots.draw,args);\n};\nvar G__31248 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31249__i \x3d 0, G__31249__a \x3d new Array(arguments.length - 0);\nwhile (G__31249__i \x3c G__31249__a.length) {G__31249__a[G__31249__i] \x3d arguments[G__31249__i + 0]; ++G__31249__i;}\n args \x3d new cljs.core.IndexedSeq(G__31249__a,0,null);\n} \nreturn G__31248__delegate.call(this,args);};\nG__31248.cljs$lang$maxFixedArity \x3d 0;\nG__31248.cljs$lang$applyTo \x3d (function (arglist__31250){\nvar args \x3d cljs.core.seq(arglist__31250);\nreturn G__31248__delegate(args);\n});\nG__31248.cljs$core$IFn$_invoke$arity$variadic \x3d G__31248__delegate;\nreturn G__31248;\n})()\n:sketches.rac_sketches.reverse_roots.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.reverse_roots.reverse_roots\x27, sketches.rac_sketches.reverse_roots.reverse_roots);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.reverse_roots.reverse_roots,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31251__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31251 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31252__i \x3d 0, G__31252__a \x3d new Array(arguments.length - 0);\nwhile (G__31252__i \x3c G__31252__a.length) {G__31252__a[G__31252__i] \x3d arguments[G__31252__i + 0]; ++G__31252__i;}\n args \x3d new cljs.core.IndexedSeq(G__31252__a,0,null);\n} \nreturn G__31251__delegate.call(this,args);};\nG__31251.cljs$lang$maxFixedArity \x3d 0;\nG__31251.cljs$lang$applyTo \x3d (function (arglist__31253){\nvar args \x3d cljs.core.seq(arglist__31253);\nreturn G__31251__delegate(args);\n});\nG__31251.cljs$core$IFn$_invoke$arity$variadic \x3d G__31251__delegate;\nreturn G__31251;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.rotating_angles.js", true , "goog.provide(\x27sketches.rac_sketches.rotating_angles\x27);\nsketches.rac_sketches.rotating_angles.setup \x3d (function sketches$rac_sketches$rotating_angles$setup(){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22angle-lights-0\x22,\x22angle-lights-0\x22,896367695),(0),new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254),quil.core.random.cljs$core$IFn$_invoke$arity$2((0),quil.core.TWO_PI)], null);\n});\nsketches.rac_sketches.rotating_angles.update_state \x3d (function sketches$rac_sketches$rotating_angles$update_state(state){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22angle-lights-0\x22,\x22angle-lights-0\x22,896367695),(function (angle){\nreturn cljs.core.mod((angle + 0.04),(100000));\n}));\n});\nsketches.rac_sketches.rotating_angles.draw_beams \x3d (function sketches$rac_sketches$rotating_angles$draw_beams(p__31200,r,angles,angle){\nvar vec__31201 \x3d p__31200;\nvar x0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31201,(0),null);\nvar y0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31201,(1),null);\nvar tr__24577__auto__ \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x0,y0], null);\nquil.core.push_matrix();\n\ntry{quil.core.translate.cljs$core$IFn$_invoke$arity$1(tr__24577__auto__);\n\nvar tr__24583__auto__ \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [angle], null);\nquil.core.push_matrix();\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(quil.core.rotate,tr__24583__auto__);\n\nvar seq__31204 \x3d cljs.core.seq(angles);\nvar chunk__31205 \x3d null;\nvar count__31206 \x3d (0);\nvar i__31207 \x3d (0);\nwhile(true){\nif((i__31207 \x3c count__31206)){\nvar angle__$1 \x3d chunk__31205.cljs$core$IIndexed$_nth$arity$2(null,i__31207);\nvar x1_31346 \x3d (r * Math.cos(angle__$1));\nvar y1_31347 \x3d (r * Math.sin(angle__$1));\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x1_31346,y1_31347);\n\n\nvar G__31348 \x3d seq__31204;\nvar G__31349 \x3d chunk__31205;\nvar G__31350 \x3d count__31206;\nvar G__31351 \x3d (i__31207 + (1));\nseq__31204 \x3d G__31348;\nchunk__31205 \x3d G__31349;\ncount__31206 \x3d G__31350;\ni__31207 \x3d G__31351;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31204);\nif(temp__5804__auto__){\nvar seq__31204__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31204__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__31204__$1);\nvar G__31352 \x3d cljs.core.chunk_rest(seq__31204__$1);\nvar G__31353 \x3d c__5568__auto__;\nvar G__31354 \x3d cljs.core.count(c__5568__auto__);\nvar G__31355 \x3d (0);\nseq__31204 \x3d G__31352;\nchunk__31205 \x3d G__31353;\ncount__31206 \x3d G__31354;\ni__31207 \x3d G__31355;\ncontinue;\n} else {\nvar angle__$1 \x3d cljs.core.first(seq__31204__$1);\nvar x1_31356 \x3d (r * Math.cos(angle__$1));\nvar y1_31357 \x3d (r * Math.sin(angle__$1));\nquil.core.line.cljs$core$IFn$_invoke$arity$4((0),(0),x1_31356,y1_31357);\n\n\nvar G__31358 \x3d cljs.core.next(seq__31204__$1);\nvar G__31359 \x3d null;\nvar G__31360 \x3d (0);\nvar G__31361 \x3d (0);\nseq__31204 \x3d G__31358;\nchunk__31205 \x3d G__31359;\ncount__31206 \x3d G__31360;\ni__31207 \x3d G__31361;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}finally {quil.core.pop_matrix();\n}}finally {quil.core.pop_matrix();\n}});\nsketches.rac_sketches.rotating_angles.x \x3d (function sketches$rac_sketches$rotating_angles$x(proportion){\nreturn (quil.core.width() * (proportion / (100)));\n});\nsketches.rac_sketches.rotating_angles.y \x3d (function sketches$rac_sketches$rotating_angles$y(proportion){\nreturn (quil.core.height() * (proportion / (100)));\n});\nsketches.rac_sketches.rotating_angles.oscillate_value \x3d (function sketches$rac_sketches$rotating_angles$oscillate_value(value,from,to){\nreturn quil.core.map_range(quil.core.sin(value),(-1),(1),from,to);\n});\nsketches.rac_sketches.rotating_angles.draw \x3d (function sketches$rac_sketches$rotating_angles$draw(p__31223){\nvar map__31225 \x3d p__31223;\nvar map__31225__$1 \x3d cljs.core.__destructure_map(map__31225);\nvar angle_lights_0 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31225__$1,new cljs.core.Keyword(null,\x22angle-lights-0\x22,\x22angle-lights-0\x22,896367695));\nvar angle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31225__$1,new cljs.core.Keyword(null,\x22angle\x22,\x22angle\x22,1622094254));\nquil.core.clear();\n\nvar seq__31226 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),(20)));\nvar chunk__31231 \x3d null;\nvar count__31232 \x3d (0);\nvar i__31233 \x3d (0);\nwhile(true){\nif((i__31233 \x3c count__31232)){\nvar x0 \x3d chunk__31231.cljs$core$IIndexed$_nth$arity$2(null,i__31233);\nvar seq__31234_31362 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),(20)));\nvar chunk__31235_31363 \x3d null;\nvar count__31236_31364 \x3d (0);\nvar i__31237_31365 \x3d (0);\nwhile(true){\nif((i__31237_31365 \x3c count__31236_31364)){\nvar y0_31366 \x3d chunk__31235_31363.cljs$core$IIndexed$_nth$arity$2(null,i__31237_31365);\nsketches.rac_sketches.rotating_angles.draw_beams(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.rotating_angles.x(x0),sketches.rac_sketches.rotating_angles.y(y0_31366)], null),(quil.core.width() / (5)),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),angle,quil.core.QUARTER_PI),sketches.rac_sketches.rotating_angles.oscillate_value(quil.core.sin(angle_lights_0),(0),quil.core.QUARTER_PI));\n\n\nvar G__31367 \x3d seq__31234_31362;\nvar G__31368 \x3d chunk__31235_31363;\nvar G__31369 \x3d count__31236_31364;\nvar G__31370 \x3d (i__31237_31365 + (1));\nseq__31234_31362 \x3d G__31367;\nchunk__31235_31363 \x3d G__31368;\ncount__31236_31364 \x3d G__31369;\ni__31237_31365 \x3d G__31370;\ncontinue;\n} else {\nvar temp__5804__auto___31371 \x3d cljs.core.seq(seq__31234_31362);\nif(temp__5804__auto___31371){\nvar seq__31234_31372__$1 \x3d temp__5804__auto___31371;\nif(cljs.core.chunked_seq_QMARK_(seq__31234_31372__$1)){\nvar c__5568__auto___31373 \x3d cljs.core.chunk_first(seq__31234_31372__$1);\nvar G__31374 \x3d cljs.core.chunk_rest(seq__31234_31372__$1);\nvar G__31375 \x3d c__5568__auto___31373;\nvar G__31376 \x3d cljs.core.count(c__5568__auto___31373);\nvar G__31377 \x3d (0);\nseq__31234_31362 \x3d G__31374;\nchunk__31235_31363 \x3d G__31375;\ncount__31236_31364 \x3d G__31376;\ni__31237_31365 \x3d G__31377;\ncontinue;\n} else {\nvar y0_31378 \x3d cljs.core.first(seq__31234_31372__$1);\nsketches.rac_sketches.rotating_angles.draw_beams(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.rotating_angles.x(x0),sketches.rac_sketches.rotating_angles.y(y0_31378)], null),(quil.core.width() / (5)),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),angle,quil.core.QUARTER_PI),sketches.rac_sketches.rotating_angles.oscillate_value(quil.core.sin(angle_lights_0),(0),quil.core.QUARTER_PI));\n\n\nvar G__31379 \x3d cljs.core.next(seq__31234_31372__$1);\nvar G__31380 \x3d null;\nvar G__31381 \x3d (0);\nvar G__31382 \x3d (0);\nseq__31234_31362 \x3d G__31379;\nchunk__31235_31363 \x3d G__31380;\ncount__31236_31364 \x3d G__31381;\ni__31237_31365 \x3d G__31382;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__31383 \x3d seq__31226;\nvar G__31384 \x3d chunk__31231;\nvar G__31385 \x3d count__31232;\nvar G__31386 \x3d (i__31233 + (1));\nseq__31226 \x3d G__31383;\nchunk__31231 \x3d G__31384;\ncount__31232 \x3d G__31385;\ni__31233 \x3d G__31386;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__31226);\nif(temp__5804__auto__){\nvar seq__31226__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31226__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__31226__$1);\nvar G__31387 \x3d cljs.core.chunk_rest(seq__31226__$1);\nvar G__31388 \x3d c__5568__auto__;\nvar G__31389 \x3d cljs.core.count(c__5568__auto__);\nvar G__31390 \x3d (0);\nseq__31226 \x3d G__31387;\nchunk__31231 \x3d G__31388;\ncount__31232 \x3d G__31389;\ni__31233 \x3d G__31390;\ncontinue;\n} else {\nvar x0 \x3d cljs.core.first(seq__31226__$1);\nvar seq__31227_31391 \x3d cljs.core.seq(cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),quil.core.width(),(20)));\nvar chunk__31228_31392 \x3d null;\nvar count__31229_31393 \x3d (0);\nvar i__31230_31394 \x3d (0);\nwhile(true){\nif((i__31230_31394 \x3c count__31229_31393)){\nvar y0_31395 \x3d chunk__31228_31392.cljs$core$IIndexed$_nth$arity$2(null,i__31230_31394);\nsketches.rac_sketches.rotating_angles.draw_beams(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.rotating_angles.x(x0),sketches.rac_sketches.rotating_angles.y(y0_31395)], null),(quil.core.width() / (5)),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),angle,quil.core.QUARTER_PI),sketches.rac_sketches.rotating_angles.oscillate_value(quil.core.sin(angle_lights_0),(0),quil.core.QUARTER_PI));\n\n\nvar G__31399 \x3d seq__31227_31391;\nvar G__31400 \x3d chunk__31228_31392;\nvar G__31401 \x3d count__31229_31393;\nvar G__31402 \x3d (i__31230_31394 + (1));\nseq__31227_31391 \x3d G__31399;\nchunk__31228_31392 \x3d G__31400;\ncount__31229_31393 \x3d G__31401;\ni__31230_31394 \x3d G__31402;\ncontinue;\n} else {\nvar temp__5804__auto___31403__$1 \x3d cljs.core.seq(seq__31227_31391);\nif(temp__5804__auto___31403__$1){\nvar seq__31227_31404__$1 \x3d temp__5804__auto___31403__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__31227_31404__$1)){\nvar c__5568__auto___31405 \x3d cljs.core.chunk_first(seq__31227_31404__$1);\nvar G__31406 \x3d cljs.core.chunk_rest(seq__31227_31404__$1);\nvar G__31407 \x3d c__5568__auto___31405;\nvar G__31408 \x3d cljs.core.count(c__5568__auto___31405);\nvar G__31409 \x3d (0);\nseq__31227_31391 \x3d G__31406;\nchunk__31228_31392 \x3d G__31407;\ncount__31229_31393 \x3d G__31408;\ni__31230_31394 \x3d G__31409;\ncontinue;\n} else {\nvar y0_31410 \x3d cljs.core.first(seq__31227_31404__$1);\nsketches.rac_sketches.rotating_angles.draw_beams(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.rotating_angles.x(x0),sketches.rac_sketches.rotating_angles.y(y0_31410)], null),(quil.core.width() / (5)),cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),angle,quil.core.QUARTER_PI),sketches.rac_sketches.rotating_angles.oscillate_value(quil.core.sin(angle_lights_0),(0),quil.core.QUARTER_PI));\n\n\nvar G__31411 \x3d cljs.core.next(seq__31227_31404__$1);\nvar G__31412 \x3d null;\nvar G__31413 \x3d (0);\nvar G__31414 \x3d (0);\nseq__31227_31391 \x3d G__31411;\nchunk__31228_31392 \x3d G__31412;\ncount__31229_31393 \x3d G__31413;\ni__31230_31394 \x3d G__31414;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar G__31415 \x3d cljs.core.next(seq__31226__$1);\nvar G__31416 \x3d null;\nvar G__31417 \x3d (0);\nvar G__31418 \x3d (0);\nseq__31226 \x3d G__31415;\nchunk__31231 \x3d G__31416;\ncount__31232 \x3d G__31417;\ni__31233 \x3d G__31418;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsketches.rac_sketches.rotating_angles.run \x3d (function sketches$rac_sketches$rotating_angles$run(host){\nsketches.rac_sketches.rotating_angles.lights \x3d (function sketches$rac_sketches$rotating_angles$run_$_lights(){\nreturn quil.sketch.sketch.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31420__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31420 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31421__i \x3d 0, G__31421__a \x3d new Array(arguments.length - 0);\nwhile (G__31421__i \x3c G__31421__a.length) {G__31421__a[G__31421__i] \x3d arguments[G__31421__i + 0]; ++G__31421__i;}\n args \x3d new cljs.core.IndexedSeq(G__31421__a,0,null);\n} \nreturn G__31420__delegate.call(this,args);};\nG__31420.cljs$lang$maxFixedArity \x3d 0;\nG__31420.cljs$lang$applyTo \x3d (function (arglist__31423){\nvar args \x3d cljs.core.seq(arglist__31423);\nreturn G__31420__delegate(args);\n});\nG__31420.cljs$core$IFn$_invoke$arity$variadic \x3d G__31420__delegate;\nreturn G__31420;\n})()\n:host),new cljs.core.Keyword(null,\x22update\x22,\x22update\x22,1045576396),((cljs.core.fn_QMARK_(sketches.rac_sketches.rotating_angles.update_state))?(function() { \nvar G__31424__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rotating_angles.update_state,args);\n};\nvar G__31424 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31426__i \x3d 0, G__31426__a \x3d new Array(arguments.length - 0);\nwhile (G__31426__i \x3c G__31426__a.length) {G__31426__a[G__31426__i] \x3d arguments[G__31426__i + 0]; ++G__31426__i;}\n args \x3d new cljs.core.IndexedSeq(G__31426__a,0,null);\n} \nreturn G__31424__delegate.call(this,args);};\nG__31424.cljs$lang$maxFixedArity \x3d 0;\nG__31424.cljs$lang$applyTo \x3d (function (arglist__31427){\nvar args \x3d cljs.core.seq(arglist__31427);\nreturn G__31424__delegate(args);\n});\nG__31424.cljs$core$IFn$_invoke$arity$variadic \x3d G__31424__delegate;\nreturn G__31424;\n})()\n:sketches.rac_sketches.rotating_angles.update_state),new cljs.core.Keyword(null,\x22size\x22,\x22size\x22,1098693007),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(300),(300)], null),new cljs.core.Keyword(null,\x22setup\x22,\x22setup\x22,1987730512),((cljs.core.fn_QMARK_(sketches.rac_sketches.rotating_angles.setup))?(function() { \nvar G__31428__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rotating_angles.setup,args);\n};\nvar G__31428 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31429__i \x3d 0, G__31429__a \x3d new Array(arguments.length - 0);\nwhile (G__31429__i \x3c G__31429__a.length) {G__31429__a[G__31429__i] \x3d arguments[G__31429__i + 0]; ++G__31429__i;}\n args \x3d new cljs.core.IndexedSeq(G__31429__a,0,null);\n} \nreturn G__31428__delegate.call(this,args);};\nG__31428.cljs$lang$maxFixedArity \x3d 0;\nG__31428.cljs$lang$applyTo \x3d (function (arglist__31430){\nvar args \x3d cljs.core.seq(arglist__31430);\nreturn G__31428__delegate(args);\n});\nG__31428.cljs$core$IFn$_invoke$arity$variadic \x3d G__31428__delegate;\nreturn G__31428;\n})()\n:sketches.rac_sketches.rotating_angles.setup),new cljs.core.Keyword(null,\x22middleware\x22,\x22middleware\x22,1462115504),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [quil.middleware.fun_mode], null),new cljs.core.Keyword(null,\x22draw\x22,\x22draw\x22,1358331674),((cljs.core.fn_QMARK_(sketches.rac_sketches.rotating_angles.draw))?(function() { \nvar G__31433__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sketches.rac_sketches.rotating_angles.draw,args);\n};\nvar G__31433 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31434__i \x3d 0, G__31434__a \x3d new Array(arguments.length - 0);\nwhile (G__31434__i \x3c G__31434__a.length) {G__31434__a[G__31434__i] \x3d arguments[G__31434__i + 0]; ++G__31434__i;}\n args \x3d new cljs.core.IndexedSeq(G__31434__a,0,null);\n} \nreturn G__31433__delegate.call(this,args);};\nG__31433.cljs$lang$maxFixedArity \x3d 0;\nG__31433.cljs$lang$applyTo \x3d (function (arglist__31435){\nvar args \x3d cljs.core.seq(arglist__31435);\nreturn G__31433__delegate(args);\n});\nG__31433.cljs$core$IFn$_invoke$arity$variadic \x3d G__31433__delegate;\nreturn G__31433;\n})()\n:sketches.rac_sketches.rotating_angles.draw)], 0));\n});\ngoog.exportSymbol(\x27sketches.rac_sketches.rotating_angles.lights\x27, sketches.rac_sketches.rotating_angles.lights);\n\nif(cljs.core.truth_(cljs.core.some((function (p1__22942__22943__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22no-start\x22,\x22no-start\x22,1381488856),p1__22942__22943__auto__);\n}),null))){\nreturn null;\n} else {\nreturn quil.sketch.add_sketch_to_init_list(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),sketches.rac_sketches.rotating_angles.lights,new cljs.core.Keyword(null,\x22host-id\x22,\x22host-id\x22,742376279),((cljs.core.fn_QMARK_(host))?(function() { \nvar G__31436__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(host,args);\n};\nvar G__31436 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31437__i \x3d 0, G__31437__a \x3d new Array(arguments.length - 0);\nwhile (G__31437__i \x3c G__31437__a.length) {G__31437__a[G__31437__i] \x3d arguments[G__31437__i + 0]; ++G__31437__i;}\n args \x3d new cljs.core.IndexedSeq(G__31437__a,0,null);\n} \nreturn G__31436__delegate.call(this,args);};\nG__31436.cljs$lang$maxFixedArity \x3d 0;\nG__31436.cljs$lang$applyTo \x3d (function (arglist__31438){\nvar args \x3d cljs.core.seq(arglist__31438);\nreturn G__31436__delegate(args);\n});\nG__31436.cljs$core$IFn$_invoke$arity$variadic \x3d G__31436__delegate;\nreturn G__31436;\n})()\n:host)], null));\n}\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.text_snake.js", true , "goog.provide(\x27sketches.rac_sketches.text_snake\x27);\nsketches.rac_sketches.text_snake.run \x3d (function sketches$rac_sketches$text_snake$run(host){\nreturn null;\n});\n"); +SHADOW_ENV.evalLoad("sketches.rac_sketches.core.js", true , "goog.provide(\x27sketches.rac_sketches.core\x27);\nsketches.rac_sketches.core.rac_card \x3d (function sketches$rac_sketches$core$rac_card(title,run_sketch,run_immediately){\nreturn (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.card,title,\x22\x22,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.sketch,title,run_sketch,run_immediately], null)], null);\n});\n});\nsketches.rac_sketches.core.main \x3d (function sketches$rac_sketches$core$main(){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.components.cards_container,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22\x3c\x3e\x22,\x22\x3c\x3e\x22,1280186386),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Text Snake\x22,sketches.rac_sketches.text_snake.run,true], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Noise Colors\x22,sketches.rac_sketches.noise_colors.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Heart of Clojure\x22,sketches.rac_sketches.heart_of_clojure.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Inferno\x22,sketches.rac_sketches.inferno.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Reverse Roots\x22,sketches.rac_sketches.reverse_roots.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Fire Ball\x22,sketches.rac_sketches.fire_ball.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Fire Texture\x22,sketches.rac_sketches.fire_texture.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Flower\x22,sketches.rac_sketches.flowers.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Rainbow Circles\x22,sketches.rac_sketches.rainbow_circles.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Oscillating Angles\x22,sketches.rac_sketches.rotating_angles.run], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.rac_card,\x22Particle Party\x22,sketches.rac_sketches.particle_party.run], null)], null)], null)], null)], null);\n});\n"); +SHADOW_ENV.evalLoad("sketches.core.js", true , "goog.provide(\x27sketches.core\x27);\nsketches.core.app \x3d (function sketches$core$app(){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22main.sans-serif.pa4.white.mw9.center\x22,\x22main.sans-serif.pa4.white.mw9.center\x22,1188242487),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5.tc.tl-ns\x22,\x22div.mb5.tc.tl-ns\x22,62526519),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22h1\x22,\x22h1\x22,-1896887462),\x22Sketches by \x22,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22a.pointer.bb.link.white\x22,\x22a.pointer.bb.link.white\x22,623660468),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22href\x22,\x22href\x22,-793805698),\x22https://twitter.com/rollacaster\x22], null),\x22@rollacaster\x22], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5\x22,\x22div.mb5\x22,389573155),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.rac_sketches.core.main], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5\x22,\x22div.mb5\x22,389573155),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.generative_desgin.core.main], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5\x22,\x22div.mb5\x22,389573155),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.creative_coding.core.main], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5\x22,\x22div.mb5\x22,389573155),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.generative_artistry.core.main], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div.mb5\x22,\x22div.mb5\x22,389573155),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [sketches.nature_of_code.core.main], null)], null)], null);\n});\nreagent.dom.render.cljs$core$IFn$_invoke$arity$2(sketches.core.app,document.getElementById(\x22app\x22));\n"); +SHADOW_ENV.evalLoad("shadow.module.main.append.js", false , "\nshadow.cljs.devtools.client.env.module_loaded(\x27main\x27);\n"); \ No newline at end of file diff --git a/public/js/manifest.edn b/public/js/manifest.edn new file mode 100644 index 0000000..89355e2 --- /dev/null +++ b/public/js/manifest.edn @@ -0,0 +1 @@ +[{:module-id :main, :name :main, :output-name "main.js", :entries [devtools.preload shadow.cljs.devtools.client.browser shadow.cljs.devtools.client.env sketches.core], :depends-on nil, :sources ["goog/base.js" "goog/debug/error.js" "goog/dom/nodetype.js" "goog/asserts/asserts.js" "goog/reflect/reflect.js" "goog/math/long.js" "goog/math/integer.js" "goog/dom/asserts.js" "goog/functions/functions.js" "goog/string/typedstring.js" "goog/string/const.js" "goog/i18n/bidi.js" "goog/html/trustedtypes.js" "goog/html/safescript.js" "goog/fs/url.js" "goog/fs/blob.js" "goog/html/trustedresourceurl.js" "goog/string/internal.js" "goog/html/safeurl.js" "goog/html/safestyle.js" "goog/object/object.js" "goog/html/safestylesheet.js" "goog/dom/htmlelement.js" "goog/dom/tagname.js" "goog/array/array.js" "goog/labs/useragent/useragent.js" "goog/labs/useragent/util.js" "goog/labs/useragent/browser.js" "goog/dom/tags.js" "goog/html/safehtml.js" "goog/html/uncheckedconversions.js" "goog/dom/safe.js" "goog/string/string.js" "goog/collections/maps.js" "goog/structs/structs.js" "goog/uri/utils.js" "goog/uri/uri.js" "goog/string/stringbuffer.js" "cljs/core.cljs" "devtools/defaults.cljs" "devtools/prefs.cljs" "devtools/context.cljs" "clojure/string.cljs" "cljs/stacktrace.cljc" "devtools/hints.cljs" "goog/labs/useragent/engine.js" "goog/labs/useragent/platform.js" "goog/useragent/useragent.js" "clojure/set.cljs" "clojure/data.cljs" "devtools/version.cljs" "cljs/pprint.cljs" "devtools/util.cljs" "devtools/format.cljs" "devtools/protocols.cljs" "devtools/reporter.cljs" "clojure/walk.cljs" "devtools/munging.cljs" "devtools/formatters/helpers.cljs" "devtools/formatters/state.cljs" "devtools/formatters/templating.cljs" "devtools/formatters/printing.cljs" "devtools/formatters/markup.cljs" "devtools/formatters/budgeting.cljs" "devtools/formatters/core.cljs" "devtools/formatters.cljs" "goog/debug/entrypointregistry.js" "goog/dom/browserfeature.js" "goog/math/math.js" "goog/math/coordinate.js" "goog/math/size.js" "goog/dom/dom.js" "goog/async/nexttick.js" "devtools/async.cljs" "devtools/toolbox.cljs" "devtools/core.cljs" "devtools/preload.cljs" "goog/useragent/product.js" "shadow/json.cljs" "cljs/tools/reader/impl/utils.cljs" "cljs/tools/reader/reader_types.cljs" "cljs/tools/reader/impl/inspect.cljs" "cljs/tools/reader/impl/errors.cljs" "cljs/tools/reader/impl/commons.cljs" "cljs/tools/reader.cljs" "shadow/cljs/devtools/client/env.cljs" "shadow/cljs/devtools/client/console.cljs" "goog/dom/inputtype.js" "goog/collections/iters.js" "goog/debug/errorcontext.js" "goog/debug/debug.js" "goog/iter/iter.js" "goog/iter/es6.js" "goog/structs/map.js" "goog/window/window.js" "goog/dom/forms.js" "goog/dom/classlist.js" "goog/dom/vendor.js" "goog/math/box.js" "goog/math/irect.js" "goog/math/rect.js" "goog/disposable/idisposable.js" "goog/disposable/dispose.js" "goog/disposable/disposeall.js" "goog/disposable/disposable.js" "goog/events/eventid.js" "goog/events/event.js" "goog/style/style.js" "goog/style/transition.js" "cljs/core/async/impl/protocols.cljs" "cljs/core/async/impl/buffers.cljs" "cljs/core/async/impl/dispatch.cljs" "cljs/core/async/impl/channels.cljs" "cljs/core/async/impl/timers.cljs" "cljs/core/async/impl/ioc_helpers.cljs" "cljs/core/async.cljs" "shadow/dom.cljs" "shadow/util.cljs" "shadow/object.cljs" "shadow/animate.cljs" "com/cognitect/transit/util.js" "com/cognitect/transit/delimiters.js" "com/cognitect/transit/caching.js" "com/cognitect/transit/eq.js" "com/cognitect/transit/types.js" "com/cognitect/transit/impl/decoder.js" "com/cognitect/transit/impl/reader.js" "com/cognitect/transit/handlers.js" "com/cognitect/transit/impl/writer.js" "com/cognitect/transit.js" "cognitect/transit.cljs" "shadow/remote/runtime/api.cljc" "clojure/core/protocols.cljs" "clojure/datafy.cljs" "shadow/remote/runtime/writer.cljs" "shadow/remote/runtime/shared.cljc" "shadow/remote/runtime/cljs/js_builtins.cljs" "cljs/spec/gen/alpha.cljs" "cljs/spec/alpha.cljs" "goog/string/stringformat.js" "cljs/repl.cljs" "shadow/remote/runtime/obj_support.cljc" "shadow/remote/runtime/tap_support.cljc" "shadow/remote/runtime/eval_support.cljs" "shadow/cljs/devtools/client/shared.cljs" "shadow/cljs/devtools/client/hud.cljs" "shadow/cljs/devtools/client/websocket.cljs" "shadow/cljs/devtools/client/browser.cljs" "shadow/js.js" "node_modules/react/cjs/react.development.js" "node_modules/react/index.js" "node_modules/scheduler/cjs/scheduler.development.js" "node_modules/scheduler/index.js" "node_modules/react-dom/cjs/react-dom.development.js" "node_modules/react-dom/index.js" "reagent/debug.cljs" "reagent/impl/util.cljs" "reagent/impl/batching.cljs" "reagent/impl/protocols.cljs" "reagent/ratom.cljs" "reagent/impl/component.cljs" "reagent/impl/input.cljs" "reagent/impl/template.cljs" "reagent/dom.cljs" "sketches/icons.cljs" "node_modules/p5/lib/p5.min.js" "cljsjs/p5.cljs" "quil/util.cljc" "quil/middlewares/deprecated_options.cljc" "goog/events/browserfeature.js" "goog/events/eventtype.js" "goog/events/browserevent.js" "goog/events/eventlike.js" "goog/events/listenablekey.js" "goog/events/listenable.js" "goog/events/listener.js" "goog/events/listenermap.js" "goog/debug/errorhandler.js" "goog/events/eventtarget.js" "goog/events/eventhandler.js" "goog/events/eventwrapper.js" "goog/events/events.js" "quil/sketch.cljs" "quil/core.cljc" "reagent/core.cljs" "sketches/components.cljs" "quil/middlewares/fun_mode.cljc" "quil/middlewares/navigation_3d.cljc" "quil/middlewares/navigation_2d.cljc" "quil/middleware.cljc" "node_modules/nice-color-palettes/100.json" "sketches/creative_coding/print_art.cljs" "node_modules/bezier-easing/src/index.js" "sketches/creative_coding/webgl.cljs" "sketches/creative_coding/core.cljs" "sketches/generative_artistry/circle_packing.cljs" "sketches/generative_artistry/cubic_disarray.cljs" "sketches/generative_artistry/hypnotic_squares.cljs" "sketches/generative_artistry/joy_division.cljs" "sketches/generative_artistry/piet_mondarin.cljs" "sketches/generative_artistry/tiled_lines.cljs" "sketches/generative_artistry/triangular_mesh.cljs" "sketches/generative_artistry/un_deux_trois.cljs" "sketches/generative_artistry/core.cljs" "sketches/generative_desgin/P_01/P_1_0_01.cljs" "sketches/generative_desgin/P_01/P_1_1_1_01.cljs" "sketches/generative_desgin/P_01/P_1_1_2_01.cljs" "sketches/generative_desgin/P_01/P_1_2_1_01.cljs" "sketches/generative_desgin/P_01/P_1_2_3_01.cljs" "sketches/generative_desgin/P_02/P_2_0_01.cljs" "sketches/generative_desgin/P_02/P_2_1_1_01.cljs" "sketches/generative_desgin/P_02/P_2_1_2_01.cljs" "sketches/generative_desgin/P_02/P_2_1_3_01.cljs" "sketches/generative_desgin/P_02/P_2_1_4_01.cljs" "sketches/generative_desgin/P_02/P_2_1_5_01.cljs" "sketches/generative_desgin/P_02/P_2_2_1_01.cljs" "sketches/generative_desgin/P_02/P_2_2_3_01.cljs" "sketches/generative_desgin/P_02/P_2_2_4_01.cljs" "sketches/generative_desgin/P_02/P_2_2_5_01.cljs" "sketches/vector.cljc" "sketches/generative_desgin/P_02/P_2_2_6_01.cljs" "sketches/generative_desgin/P_02/P_2_3_1_01.cljs" "sketches/generative_desgin/P_02/P_2_3_3_01.cljs" "sketches/generative_desgin/P_02/P_2_3_4_01.cljs" "sketches/generative_desgin/P_02/P_2_3_6_01.cljs" "sketches/generative_desgin/P_02/P_2_3_7_01.cljs" "sketches/generative_desgin/P_03/P_3_0_01.cljs" "sketches/generative_desgin/P_03/P_3_1_2_01.cljs" "sketches/generative_desgin/P_03/P_3_1_3_01.cljs" "sketches/generative_desgin/P_03/P_3_1_4_01.cljs" "sketches/generative_desgin/core.cljs" "sketches/nature_of_code/introduction/noise_animate.cljs" "sketches/nature_of_code/introduction/noise_detail.cljs" "sketches/nature_of_code/introduction/noise_terrain.cljs" "sketches/nature_of_code/introduction/paint_splatter.cljs" "sketches/nature_of_code/introduction/random_walk.cljs" "sketches/nature_of_code/introduction/random_walk_custom_step.cljs" "sketches/nature_of_code/introduction/random_walk_dynamic.cljs" "sketches/nature_of_code/introduction/random_walk_gaussian.cljs" "sketches/nature_of_code/introduction/random_walk_noise.cljs" "sketches/nature_of_code/introduction/core.cljs" "sketches/nature_of_code/oscillation/angular_oscilliate.cljs" "sketches/mover.cljs" "sketches/nature_of_code/oscillation/asteroids.cljs" "sketches/nature_of_code/oscillation/bob.cljs" "sketches/nature_of_code/oscillation/cannon.cljs" "sketches/nature_of_code/oscillation/combined_wave.cljs" "sketches/nature_of_code/oscillation/custom_waves.cljs" "sketches/nature_of_code/oscillation/insect.cljs" "sketches/nature_of_code/oscillation/multi_pendulum.cljs" "sketches/nature_of_code/oscillation/multi_springs.cljs" "sketches/nature_of_code/oscillation/perlin_wave.cljs" "sketches/nature_of_code/oscillation/rotate_baton.cljs" "sketches/nature_of_code/oscillation/spiral.cljs" "sketches/nature_of_code/oscillation/vehicle.cljs" "sketches/nature_of_code/oscillation/core.cljs" "sketches/nature_of_code/cellular_automata/game_of_life.cljs" "sketches/nature_of_code/cellular_automata/random_cellular_automaton.cljs" "sketches/nature_of_code/cellular_automata/core.cljs" "sketches/nature_of_code/forces/balloon.cljs" "sketches/nature_of_code/forces/fluid.cljs" "sketches/nature_of_code/forces/force_push.cljs" "sketches/nature_of_code/forces/frictions.cljs" "sketches/nature_of_code/forces/invisible_attractors.cljs" "sketches/nature_of_code/forces/own_force.cljs" "sketches/nature_of_code/forces/repulse_mouse.cljs" "sketches/nature_of_code/forces/surface_area.cljs" "sketches/nature_of_code/forces/core.cljs" "sketches/nature_of_code/vectors/bouncing_ball.cljs" "sketches/nature_of_code/vectors/car.cljs" "sketches/nature_of_code/vectors/mouse_acceleration.cljs" "sketches/nature_of_code/vectors/noise_car.cljs" "sketches/nature_of_code/vectors/core.cljs" "sketches/nature_of_code/particle_systems/asteroids_with_particles.cljs" "sketches/nature_of_code/particle_systems/dynamic_origin.cljs" "sketches/nature_of_code/particle_systems/fire.cljs" "sketches/nature_of_code/particle_systems/fire_blend.cljs" "sketches/nature_of_code/particle_systems/fire_rainbow.cljs" "sketches/nature_of_code/particle_systems/mixed_particles.cljs" "sketches/nature_of_code/particle_systems/particle_force.cljs" "sketches/nature_of_code/particle_systems/particles_on_click.cljs" "sketches/nature_of_code/particle_systems/particles_repel.cljs" "sketches/nature_of_code/particle_systems/particles_with_images.cljs" "sketches/nature_of_code/particle_systems/particles_with_repellers.cljs" "sketches/nature_of_code/particle_systems/rotating_particle.cljs" "sketches/nature_of_code/particle_systems/shutter_in_pieces.cljs" "sketches/nature_of_code/particle_systems/core.cljs" "node_modules/matter-js/build/matter.js" "sketches/nature_of_code/physics_library/matter.cljs" "sketches/nature_of_code/physics_library/box_shapes.cljs" "sketches/nature_of_code/physics_library/circular_shapes.cljs" "sketches/nature_of_code/physics_library/core.cljs" "sketches/nature_of_code/fractals/koch_curve.cljs" "sketches/nature_of_code/fractals/own_cantor.cljs" "sketches/nature_of_code/fractals/sierpinski.cljs" "sketches/nature_of_code/fractals/core.cljs" "sketches/nature_of_code/core.cljs" "sketches/rac_sketches/fire_ball.cljs" "sketches/rac_sketches/fire_texture.cljs" "sketches/rac_sketches/flowers.cljs" "sketches/rac_sketches/heart_of_clojure.cljs" "sketches/rac_sketches/inferno.cljs" "sketches/rac_sketches/noise_colors.cljs" "sketches/rac_sketches/particle_party.cljs" "sketches/rac_sketches/rainbow_circles.cljs" "sketches/rac_sketches/reverse_roots.cljs" "sketches/rac_sketches/rotating_angles.cljs" "sketches/rac_sketches/text_snake.cljs" "sketches/rac_sketches/core.cljs" "sketches/core.cljs" "shadow/module/main/append.js"]}] \ No newline at end of file diff --git a/shadow-cljs.edn b/shadow-cljs.edn new file mode 100644 index 0000000..c1bf731 --- /dev/null +++ b/shadow-cljs.edn @@ -0,0 +1,20 @@ +{:nrepl {:port 9200} + :dev-http {9201 "public"} + :source-paths + ["src"] + + :dependencies + [[reagent "1.1.1"] + [com.bhauman/figwheel-main "0.2.3"] + [reagent "0.10.0"] + [quil "3.1.0"] + [thi.ng/geom "1.0.0-RC4"] + [thi.ng/math "0.3.0"] + [thi.ng/color "1.4.0"]] + + :builds + {:app {:target :browser + :output-dir "public/js" + :asset-path "/js" + :compiler-options {:output-feature-set :es-next} + :modules {:main {:entries [sketches.core]}}}}} diff --git a/src/sketches/core.clj b/src/sketches/core.clj index 7e9122b..22546a6 100644 --- a/src/sketches/core.clj +++ b/src/sketches/core.clj @@ -20,5 +20,3 @@ (axidraw/raise-pen) (axidraw/lower-pen) (def file-name "temp/sketch.svg")) - - diff --git a/src/sketches/generative_desgin/P_03/P_3_1_4_01.cljs b/src/sketches/generative_desgin/P_03/P_3_1_4_01.cljs index bba1edf..1e668fc 100644 --- a/src/sketches/generative_desgin/P_03/P_3_1_4_01.cljs +++ b/src/sketches/generative_desgin/P_03/P_3_1_4_01.cljs @@ -24,15 +24,15 @@ (doseq [item (.-items treemap)] (q/fill 255) (q/stroke 0) - (q/rect (.-x item) (.-y item) (.-w item) (.-h item)) + (q/rect ^js (.-x item) ^js (.-y item) ^js (.-w item) ^js (.-h item)) (let [word (.-data item) text-width (q/text-width word) max-font-size (/ (* 100 (* (.-w item) 0.9)) text-width) - font-size (js/Math.min max-font-size (* (.-h item) 0.9))] + font-size (js/Math.min max-font-size (* ^js (.-h item) 0.9))] (q/text-size font-size) (q/fill 0) (q/no-stroke) - (q/text word (+ (.-x item) (/ (.-w item) 2)) (+ (.-y item) (* (.-h item) 0.8))))) + (q/text word (+ ^js (.-x item) (/ ^js (.-w item) 2)) (+ ^js (.-y item) (* ^js (.-h item) 0.8))))) (q/no-loop)) (defn run [host] diff --git a/src/sketches/nature_of_code/physics_library/box_shapes.cljs b/src/sketches/nature_of_code/physics_library/box_shapes.cljs index c7cd5ed..e958b37 100644 --- a/src/sketches/nature_of_code/physics_library/box_shapes.cljs +++ b/src/sketches/nature_of_code/physics_library/box_shapes.cljs @@ -1,13 +1,12 @@ (ns sketches.nature-of-code.physics-library.box-shapes - (:require matter - [oops.core :refer [ocall oget]] + (:require matter-js [quil.core :as q :include-macros true] [quil.middleware :as md] [sketches.nature-of-code.physics-library.matter :as m])) (defn setup [] (q/frame-rate 30) - (let [engine (ocall (oget matter "Engine") "create") + (let [engine (.create (.-Engine matter-js)) ground (m/rect 150 300 300 60 {:isStatic true})] (m/add engine ground))) diff --git a/src/sketches/nature_of_code/physics_library/circular_shapes.cljs b/src/sketches/nature_of_code/physics_library/circular_shapes.cljs index 5848b58..49aae57 100644 --- a/src/sketches/nature_of_code/physics_library/circular_shapes.cljs +++ b/src/sketches/nature_of_code/physics_library/circular_shapes.cljs @@ -1,13 +1,12 @@ (ns sketches.nature-of-code.physics-library.circular-shapes - (:require matter - [oops.core :refer [ocall oget]] + (:require matter-js [quil.core :as q :include-macros true] [quil.middleware :as md] - [sketches.nature-of-code.physics-library.matter :as m])) + [sketches.nature-of-code.physics-library.matter :as m]))- (defn setup [] (q/frame-rate 30) - (let [engine (ocall (oget matter "Engine") "create") + (let [engine (.create (.-Engine matter-js)) ground (m/rect 150 300 300 60 {:isStatic true})] (m/add engine ground))) diff --git a/src/sketches/nature_of_code/physics_library/matter.cljs b/src/sketches/nature_of_code/physics_library/matter.cljs index b25bad9..4b139a8 100644 --- a/src/sketches/nature_of_code/physics_library/matter.cljs +++ b/src/sketches/nature_of_code/physics_library/matter.cljs @@ -1,34 +1,33 @@ (ns sketches.nature-of-code.physics-library.matter - (:require [matter] - [oops.core :refer [ocall oget]] + (:require [matter-js] [quil.core :as q])) -(def bodies (oget matter "Bodies")) -(def world (oget matter "World")) +(def bodies (.-Bodies matter-js)) +(def world (.-World matter-js)) (defn rect ([x y width height] (rect x y width height nil)) ([x y width height params] - (ocall bodies "rectangle" x y width height (clj->js params)))) + (.rectangle bodies x y width height (clj->js params)))) (defn circle ([x y width height] (circle x y width height nil)) ([x y width height params] - (ocall bodies "circle" x y width height (clj->js params)))) + (.circle bodies x y width height (clj->js params)))) (defn add [engine & composites] - (ocall world "add" (oget engine "world") (clj->js composites)) + (.add world ^js (.-world engine) (clj->js composites)) engine) (defn update-engine [engine] - (ocall (oget matter "Engine") "update" engine (/ 1000 30))) + (.update (.-Engine matter-js) engine (/ 1000 30))) (defn render [engine] (q/clear) - (doseq [body (ocall (oget matter "Composite") "allBodies" (oget engine "world"))] + (doseq [body (.allBodies (.-Composite matter-js) ^js (.-world engine))] (q/begin-shape) - (doseq [vert (oget body "vertices")] - (q/vertex (oget vert "x") (oget vert "y"))) + (doseq [vert (.-vertices body)] + (q/vertex (.-x vert) (.-y vert))) (q/end-shape :close))) diff --git a/src/sketches/rac_sketches/core.cljs b/src/sketches/rac_sketches/core.cljs index f326c8c..6336353 100644 --- a/src/sketches/rac_sketches/core.cljs +++ b/src/sketches/rac_sketches/core.cljs @@ -9,7 +9,8 @@ [sketches.rac-sketches.particle-party :as pp] [sketches.rac-sketches.rainbow-circles :as rc] [sketches.rac-sketches.reverse-roots :as rr] - [sketches.rac-sketches.rotating-angles :as ra])) + [sketches.rac-sketches.rotating-angles :as ra] + [sketches.rac-sketches.text-snake :as ts])) (defn rac-card [title run-sketch run-immediately] (fn [] @@ -24,6 +25,7 @@ [cards-container [:<> #_[rac-card "Margarete Fountain" mf/run true] + [rac-card "Text Snake" ts/run true] [rac-card "Noise Colors" noc/run] [rac-card "Heart of Clojure" hc/run] [rac-card "Inferno" i/run] @@ -34,4 +36,3 @@ [rac-card "Rainbow Circles" rc/run] [rac-card "Oscillating Angles" ra/run ] [rac-card "Particle Party" pp/run]]]]]) - diff --git a/src/sketches/rac_sketches/text_snake.cljs b/src/sketches/rac_sketches/text_snake.cljs new file mode 100644 index 0000000..86bc630 --- /dev/null +++ b/src/sketches/rac_sketches/text_snake.cljs @@ -0,0 +1,3 @@ +(ns sketches.rac-sketches.text-snake) + +(defn run [host]) diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 8452818..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - entry: './src/js/index.js', - output: { - filename: 'index.bundle.js' - } -}